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 : 300623 : pattern4 (rtx x1, machine_mode i1)
57 : : {
58 : 300623 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 300623 : int res ATTRIBUTE_UNUSED;
60 : 300623 : if (!register_operand (operands[0], i1)
61 : 262534 : || GET_MODE (x1) != i1
62 : 262534 : || !register_operand (operands[1], i1)
63 : 425255 : || !general_operand (operands[2], i1))
64 : 176287 : return -1;
65 : : return 0;
66 : : }
67 : :
68 : : int
69 : 1102 : pattern11 (rtx x1)
70 : : {
71 : 1102 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
72 : 1102 : rtx x2, x3, x4;
73 : 1102 : int res ATTRIBUTE_UNUSED;
74 : 1102 : x2 = XEXP (x1, 0);
75 : 1102 : operands[0] = x2;
76 : 1102 : x3 = XEXP (x1, 1);
77 : 1102 : x4 = XEXP (x3, 0);
78 : 1102 : operands[1] = x4;
79 : 1102 : switch (GET_MODE (operands[0]))
80 : : {
81 : 8 : case E_V2QImode:
82 : 8 : if (!memory_operand (operands[0], E_V2QImode)
83 : 0 : || GET_MODE (x3) != E_V2QImode
84 : 8 : || !register_operand (operands[1], E_V2DImode))
85 : 8 : return -1;
86 : : return 0;
87 : :
88 : 11 : case E_V4QImode:
89 : 11 : res = pattern9 (x3,
90 : : E_V4QImode);
91 : 11 : if (res >= 0)
92 : 0 : return res + 1; /* [1, 2] */
93 : : return -1;
94 : :
95 : 11 : case E_V8QImode:
96 : 11 : res = pattern10 (x3);
97 : 11 : if (res >= 0)
98 : 0 : return res + 3; /* [3, 5] */
99 : : return -1;
100 : :
101 : 13 : case E_V4HImode:
102 : 13 : res = pattern9 (x3,
103 : : E_V4HImode);
104 : 13 : if (res >= 0)
105 : 0 : return res + 6; /* [6, 7] */
106 : : return -1;
107 : :
108 : 35 : case E_V2HImode:
109 : 35 : if (!memory_operand (operands[0], E_V2HImode)
110 : 0 : || GET_MODE (x3) != E_V2HImode
111 : 35 : || !register_operand (operands[1], E_V2DImode))
112 : 35 : return -1;
113 : : return 8;
114 : :
115 : 8 : case E_V2SImode:
116 : 8 : if (!memory_operand (operands[0], E_V2SImode)
117 : 0 : || GET_MODE (x3) != E_V2SImode
118 : 8 : || !register_operand (operands[1], E_V2DImode))
119 : 8 : return -1;
120 : : return 9;
121 : :
122 : : default:
123 : : return -1;
124 : : }
125 : : }
126 : :
127 : : int
128 : 80781 : pattern29 (rtx x1)
129 : : {
130 : 80781 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
131 : 80781 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
132 : 80781 : rtx x10;
133 : 80781 : int res ATTRIBUTE_UNUSED;
134 : 80781 : x2 = XEXP (x1, 0);
135 : 80781 : operands[0] = x2;
136 : 80781 : x3 = XEXP (x1, 1);
137 : 80781 : x4 = XEXP (x3, 0);
138 : 80781 : switch (GET_CODE (x4))
139 : : {
140 : 46190 : case REG:
141 : 46190 : case SUBREG:
142 : 46190 : case MEM:
143 : 46190 : operands[1] = x4;
144 : 46190 : switch (GET_MODE (operands[0]))
145 : : {
146 : 92 : case E_V8HImode:
147 : 92 : if (!register_operand (operands[0], E_V8HImode)
148 : 86 : || GET_MODE (x3) != E_V8HImode
149 : 178 : || !vector_operand (operands[1], E_V8HFmode))
150 : 6 : return -1;
151 : : return 0;
152 : :
153 : 30 : case E_V16HImode:
154 : 30 : if (!register_operand (operands[0], E_V16HImode)
155 : 24 : || GET_MODE (x3) != E_V16HImode
156 : 54 : || !vector_operand (operands[1], E_V16HFmode))
157 : 6 : return -1;
158 : : return 1;
159 : :
160 : 30 : case E_V32HImode:
161 : 30 : if (!register_operand (operands[0], E_V32HImode)
162 : 24 : || GET_MODE (x3) != E_V32HImode
163 : 54 : || !vector_operand (operands[1], E_V32HFmode))
164 : 6 : return -1;
165 : : return 2;
166 : :
167 : 507 : case E_V8SImode:
168 : 507 : if (!register_operand (operands[0], E_V8SImode)
169 : 507 : || GET_MODE (x3) != E_V8SImode)
170 : : return -1;
171 : : return 3;
172 : :
173 : 140 : case E_V16SImode:
174 : 140 : if (!register_operand (operands[0], E_V16SImode)
175 : 140 : || GET_MODE (x3) != E_V16SImode)
176 : : return -1;
177 : 94 : switch (GET_MODE (operands[1]))
178 : : {
179 : 34 : case E_V16HFmode:
180 : 34 : if (!vector_operand (operands[1], E_V16HFmode))
181 : : return -1;
182 : : return 4;
183 : :
184 : 60 : case E_V16SFmode:
185 : 60 : if (!vector_operand (operands[1], E_V16SFmode))
186 : : return -1;
187 : : return 5;
188 : :
189 : : default:
190 : : return -1;
191 : : }
192 : :
193 : 221 : case E_V8DImode:
194 : 221 : if (!register_operand (operands[0], E_V8DImode)
195 : 221 : || GET_MODE (x3) != E_V8DImode)
196 : : return -1;
197 : 170 : switch (GET_MODE (operands[1]))
198 : : {
199 : 20 : case E_V8HFmode:
200 : 20 : if (!vector_operand (operands[1], E_V8HFmode))
201 : : return -1;
202 : : return 6;
203 : :
204 : 94 : case E_V8DFmode:
205 : 94 : if (!vector_operand (operands[1], E_V8DFmode))
206 : : return -1;
207 : : return 7;
208 : :
209 : 56 : case E_V8SFmode:
210 : 56 : if (!vector_operand (operands[1], E_V8SFmode))
211 : : return -1;
212 : : return 8;
213 : :
214 : : default:
215 : : return -1;
216 : : }
217 : :
218 : 5988 : case E_V4SImode:
219 : 5988 : if (!register_operand (operands[0], E_V4SImode)
220 : 5988 : || GET_MODE (x3) != E_V4SImode)
221 : : return -1;
222 : : return 9;
223 : :
224 : 144 : case E_V4DImode:
225 : 144 : if (!register_operand (operands[0], E_V4DImode)
226 : 144 : || GET_MODE (x3) != E_V4DImode)
227 : : return -1;
228 : 105 : switch (GET_MODE (operands[1]))
229 : : {
230 : 3 : case E_V4HFmode:
231 : 3 : if (!memory_operand (operands[1], E_V4HFmode))
232 : : return -1;
233 : : return 10;
234 : :
235 : 46 : case E_V4DFmode:
236 : 46 : if (!vector_operand (operands[1], E_V4DFmode))
237 : : return -1;
238 : : return 11;
239 : :
240 : 56 : case E_V4SFmode:
241 : 56 : if (!vector_operand (operands[1], E_V4SFmode))
242 : : return -1;
243 : : return 12;
244 : :
245 : : default:
246 : : return -1;
247 : : }
248 : :
249 : 80 : case E_V2DImode:
250 : 80 : if (!register_operand (operands[0], E_V2DImode)
251 : 80 : || GET_MODE (x3) != E_V2DImode)
252 : : return -1;
253 : 45 : switch (GET_MODE (operands[1]))
254 : : {
255 : 3 : case E_V2HFmode:
256 : 3 : if (!memory_operand (operands[1], E_V2HFmode))
257 : : return -1;
258 : : return 13;
259 : :
260 : 37 : case E_V2DFmode:
261 : 37 : if (!vector_operand (operands[1], E_V2DFmode))
262 : : return -1;
263 : : return 14;
264 : :
265 : : default:
266 : : return -1;
267 : : }
268 : :
269 : : default:
270 : : return -1;
271 : : }
272 : :
273 : 604 : case VEC_SELECT:
274 : 604 : x5 = XEXP (x4, 1);
275 : 604 : if (GET_CODE (x5) != PARALLEL)
276 : : return -1;
277 : 604 : x6 = XEXP (x4, 0);
278 : 604 : operands[1] = x6;
279 : 604 : switch (XVECLEN (x5, 0))
280 : : {
281 : 247 : case 4:
282 : 247 : x7 = XVECEXP (x5, 0, 0);
283 : 247 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
284 : : return -1;
285 : 181 : x8 = XVECEXP (x5, 0, 1);
286 : 181 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
287 : : return -1;
288 : 181 : x9 = XVECEXP (x5, 0, 2);
289 : 181 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
290 : : return -1;
291 : 121 : x10 = XVECEXP (x5, 0, 3);
292 : 121 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
293 : 121 : || GET_MODE (x4) != E_V4HFmode
294 : 218 : || !register_operand (operands[1], E_V8HFmode))
295 : 48 : return -1;
296 : 73 : res = pattern28 (x3);
297 : 73 : if (res >= 0)
298 : 56 : return res + 15; /* [15, 16] */
299 : : return -1;
300 : :
301 : 204 : case 2:
302 : 204 : x7 = XVECEXP (x5, 0, 0);
303 : 204 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
304 : : return -1;
305 : 204 : x8 = XVECEXP (x5, 0, 1);
306 : 204 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
307 : 204 : || !register_operand (operands[0], E_V2DImode)
308 : 360 : || GET_MODE (x3) != E_V2DImode)
309 : 48 : return -1;
310 : 156 : switch (GET_MODE (x4))
311 : : {
312 : 24 : case E_V2HFmode:
313 : 24 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
314 : : return -1;
315 : : return 17;
316 : :
317 : 132 : case E_V2SFmode:
318 : 132 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
319 : : return -1;
320 : : return 18;
321 : :
322 : : default:
323 : : return -1;
324 : : }
325 : :
326 : : default:
327 : : return -1;
328 : : }
329 : :
330 : : default:
331 : : return -1;
332 : : }
333 : : }
334 : :
335 : : int
336 : 20060372 : pattern83 (rtx x1)
337 : : {
338 : 20060372 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
339 : 20060372 : rtx x2, x3;
340 : 20060372 : int res ATTRIBUTE_UNUSED;
341 : 20060372 : x2 = XEXP (x1, 0);
342 : 20060372 : if (GET_CODE (x2) != SUBREG
343 : 381861 : || maybe_ne (SUBREG_BYTE (x2), 0)
344 : 20425749 : || GET_MODE (x2) != E_QImode)
345 : : return -1;
346 : 80539 : x3 = XEXP (x2, 0);
347 : 80539 : switch (GET_CODE (x3))
348 : : {
349 : 20584 : case ASHIFTRT:
350 : 20584 : case LSHIFTRT:
351 : 20584 : case SIGN_EXTRACT:
352 : 20584 : case ZERO_EXTRACT:
353 : 20584 : operands[3] = x3;
354 : 20584 : if (GET_MODE (x1) != E_QImode)
355 : : return -1;
356 : : return 0;
357 : :
358 : : default:
359 : : return -1;
360 : : }
361 : : }
362 : :
363 : : int
364 : 16339 : pattern90 (rtx x1)
365 : : {
366 : 16339 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
367 : 16339 : rtx x2, x3, x4, x5, x6, x7, x8;
368 : 16339 : int res ATTRIBUTE_UNUSED;
369 : 16339 : x2 = XEXP (x1, 0);
370 : 16339 : if (GET_CODE (x2) != ZERO_EXTRACT)
371 : : return -1;
372 : 7 : x3 = XEXP (x2, 1);
373 : 7 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
374 : : return -1;
375 : 7 : x4 = XEXP (x2, 2);
376 : 7 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
377 : : return -1;
378 : 7 : x5 = XEXP (x2, 0);
379 : 7 : operands[0] = x5;
380 : 7 : if (!int248_register_operand (operands[0], E_VOIDmode))
381 : : return -1;
382 : 7 : x6 = XEXP (x1, 1);
383 : 7 : x7 = XEXP (x6, 0);
384 : 7 : x8 = XEXP (x7, 0);
385 : 7 : operands[1] = x8;
386 : 7 : if (!int248_register_operand (operands[1], E_VOIDmode))
387 : : return -1;
388 : 7 : switch (GET_MODE (x2))
389 : : {
390 : 0 : case E_HImode:
391 : 0 : if (GET_MODE (x6) != E_HImode
392 : 0 : || !extract_high_operator (operands[2], E_HImode))
393 : 0 : return -1;
394 : : return 0;
395 : :
396 : 7 : case E_SImode:
397 : 7 : if (GET_MODE (x6) != E_SImode
398 : 7 : || !extract_high_operator (operands[2], E_SImode))
399 : 0 : return -1;
400 : : return 1;
401 : :
402 : 0 : case E_DImode:
403 : 0 : if (GET_MODE (x6) != E_DImode
404 : 0 : || !extract_high_operator (operands[2], E_DImode))
405 : 0 : return -1;
406 : : return 2;
407 : :
408 : : default:
409 : : return -1;
410 : : }
411 : : }
412 : :
413 : : int
414 : 13552 : pattern107 (rtx x1)
415 : : {
416 : 13552 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
417 : 13552 : rtx x2, x3, x4, x5;
418 : 13552 : int res ATTRIBUTE_UNUSED;
419 : 13552 : x2 = XEXP (x1, 0);
420 : 13552 : x3 = XEXP (x2, 0);
421 : 13552 : operands[1] = x3;
422 : 13552 : x4 = XEXP (x1, 2);
423 : 13552 : operands[2] = x4;
424 : 13552 : if (!register_operand (operands[2], E_QImode))
425 : : return -1;
426 : 6640 : x5 = XEXP (x1, 1);
427 : 6640 : if (!rtx_equal_p (x5, operands[0]))
428 : : return -1;
429 : 3719 : switch (GET_MODE (operands[0]))
430 : : {
431 : 248 : case E_V2QImode:
432 : 248 : return pattern104 (x1,
433 : 248 : E_V2QImode); /* [-1, 0] */
434 : :
435 : 516 : case E_V4QImode:
436 : 516 : res = pattern105 (x1,
437 : : E_V4QImode);
438 : 516 : if (res >= 0)
439 : 516 : return res + 1; /* [1, 2] */
440 : : return -1;
441 : :
442 : 811 : case E_V8QImode:
443 : 811 : if (!memory_operand (operands[0], E_V8QImode)
444 : 811 : || GET_MODE (x1) != E_V8QImode
445 : 1622 : || GET_MODE (x2) != E_V8QImode)
446 : : return -1;
447 : 811 : res = pattern106 ();
448 : 811 : if (res >= 0)
449 : 811 : return res + 3; /* [3, 5] */
450 : : return -1;
451 : :
452 : 519 : case E_V4HImode:
453 : 519 : res = pattern105 (x1,
454 : : E_V4HImode);
455 : 519 : if (res >= 0)
456 : 519 : return res + 6; /* [6, 7] */
457 : : return -1;
458 : :
459 : 253 : case E_V2HImode:
460 : 253 : if (pattern104 (x1,
461 : : E_V2HImode) != 0)
462 : : return -1;
463 : : return 8;
464 : :
465 : 237 : case E_V2SImode:
466 : 237 : if (pattern104 (x1,
467 : : E_V2SImode) != 0)
468 : : return -1;
469 : : return 9;
470 : :
471 : : default:
472 : : return -1;
473 : : }
474 : : }
475 : :
476 : : int
477 : 2569 : pattern122 (rtx x1)
478 : : {
479 : 2569 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
480 : 2569 : rtx x2, x3, x4;
481 : 2569 : int res ATTRIBUTE_UNUSED;
482 : 2569 : x2 = XEXP (x1, 1);
483 : 2569 : x3 = XEXP (x2, 0);
484 : 2569 : operands[2] = x3;
485 : 2569 : if (!register_operand (operands[2], E_QImode))
486 : : return -1;
487 : 1699 : x4 = XEXP (x2, 1);
488 : 1699 : operands[3] = x4;
489 : 1699 : if (!const_int_operand (operands[3], E_QImode))
490 : : return -1;
491 : 1699 : switch (GET_MODE (operands[0]))
492 : : {
493 : 1280 : case E_DImode:
494 : 1280 : if (GET_MODE (x1) != E_DImode)
495 : : return -1;
496 : : return 0;
497 : :
498 : 299 : case E_SImode:
499 : 299 : if (!nonimmediate_operand (operands[0], E_SImode)
500 : 299 : || GET_MODE (x1) != E_SImode
501 : 598 : || !nonimmediate_operand (operands[1], E_SImode))
502 : 262 : return -1;
503 : : return 1;
504 : :
505 : : default:
506 : : return -1;
507 : : }
508 : : }
509 : :
510 : : int
511 : 198479 : pattern132 (rtx x1)
512 : : {
513 : 198479 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
514 : 198479 : int res ATTRIBUTE_UNUSED;
515 : 198479 : switch (GET_MODE (operands[0]))
516 : : {
517 : 68571 : case E_SImode:
518 : 68571 : if (!register_operand (operands[0], E_SImode)
519 : 67616 : || GET_MODE (x1) != E_SImode
520 : 136187 : || !nonimmediate_operand (operands[1], E_SImode))
521 : 28133 : return -1;
522 : : return 0;
523 : :
524 : 100195 : case E_DImode:
525 : 100195 : if (!register_operand (operands[0], E_DImode)
526 : 99859 : || GET_MODE (x1) != E_DImode
527 : 200054 : || !nonimmediate_operand (operands[1], E_DImode))
528 : 36301 : return -1;
529 : : return 1;
530 : :
531 : : default:
532 : : return -1;
533 : : }
534 : : }
535 : :
536 : : int
537 : 861 : pattern141 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
538 : : {
539 : 861 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
540 : 861 : rtx x2;
541 : 861 : int res ATTRIBUTE_UNUSED;
542 : 861 : if (!register_operand (operands[0], i1)
543 : 861 : || GET_MODE (x1) != i1)
544 : : return -1;
545 : 767 : x2 = XEXP (x1, 0);
546 : 767 : if (GET_MODE (x2) != i1
547 : 767 : || !vector_operand (operands[1], i3)
548 : 765 : || !nonimm_or_0_operand (operands[2], i1)
549 : 1510 : || !register_operand (operands[3], i2))
550 : 136 : return -1;
551 : : return 0;
552 : : }
553 : :
554 : : int
555 : 7064 : pattern151 (rtx x1)
556 : : {
557 : 7064 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
558 : 7064 : rtx x2, x3, x4, x5, x6;
559 : 7064 : int res ATTRIBUTE_UNUSED;
560 : 7064 : x2 = XEXP (x1, 0);
561 : 7064 : x3 = XEXP (x2, 0);
562 : 7064 : operands[1] = x3;
563 : 7064 : x4 = XEXP (x2, 1);
564 : 7064 : operands[2] = x4;
565 : 7064 : x5 = XEXP (x1, 1);
566 : 7064 : operands[3] = x5;
567 : 7064 : x6 = XEXP (x1, 2);
568 : 7064 : operands[4] = x6;
569 : 7064 : switch (GET_MODE (operands[0]))
570 : : {
571 : 539 : case E_V16SImode:
572 : 539 : return pattern134 (x1,
573 : : E_V16SImode,
574 : 539 : E_HImode); /* [-1, 0] */
575 : :
576 : 648 : case E_V8SImode:
577 : 648 : if (pattern134 (x1,
578 : : E_V8SImode,
579 : : E_QImode) != 0)
580 : : return -1;
581 : : return 1;
582 : :
583 : 356 : case E_V4SImode:
584 : 356 : if (pattern135 (x1,
585 : : E_QImode,
586 : : E_V4SImode) != 0)
587 : : return -1;
588 : : return 2;
589 : :
590 : 1006 : case E_V8DImode:
591 : 1006 : if (pattern134 (x1,
592 : : E_V8DImode,
593 : : E_QImode) != 0)
594 : : return -1;
595 : : return 3;
596 : :
597 : 770 : case E_V4DImode:
598 : 770 : if (pattern134 (x1,
599 : : E_V4DImode,
600 : : E_QImode) != 0)
601 : : return -1;
602 : : return 4;
603 : :
604 : 459 : case E_V2DImode:
605 : 459 : if (pattern134 (x1,
606 : : E_V2DImode,
607 : : E_QImode) != 0)
608 : : return -1;
609 : : return 5;
610 : :
611 : 542 : case E_V64QImode:
612 : 542 : if (pattern134 (x1,
613 : : E_V64QImode,
614 : : E_DImode) != 0)
615 : : return -1;
616 : : return 6;
617 : :
618 : 370 : case E_V16QImode:
619 : 370 : if (pattern134 (x1,
620 : : E_V16QImode,
621 : : E_HImode) != 0)
622 : : return -1;
623 : : return 7;
624 : :
625 : 710 : case E_V32QImode:
626 : 710 : if (pattern134 (x1,
627 : : E_V32QImode,
628 : : E_SImode) != 0)
629 : : return -1;
630 : : return 8;
631 : :
632 : 530 : case E_V32HImode:
633 : 530 : if (pattern134 (x1,
634 : : E_V32HImode,
635 : : E_SImode) != 0)
636 : : return -1;
637 : : return 9;
638 : :
639 : 776 : case E_V16HImode:
640 : 776 : if (pattern134 (x1,
641 : : E_V16HImode,
642 : : E_HImode) != 0)
643 : : return -1;
644 : : return 10;
645 : :
646 : 358 : case E_V8HImode:
647 : 358 : if (pattern135 (x1,
648 : : E_QImode,
649 : : E_V8HImode) != 0)
650 : : return -1;
651 : : return 11;
652 : :
653 : : default:
654 : : return -1;
655 : : }
656 : : }
657 : :
658 : : int
659 : 59616 : pattern163 (rtx x1)
660 : : {
661 : 59616 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
662 : 59616 : rtx x2, x3, x4, x5;
663 : 59616 : int res ATTRIBUTE_UNUSED;
664 : 59616 : x2 = XEXP (x1, 0);
665 : 59616 : operands[0] = x2;
666 : 59616 : x3 = XEXP (x1, 1);
667 : 59616 : x4 = XVECEXP (x3, 0, 0);
668 : 59616 : operands[1] = x4;
669 : 59616 : x5 = XVECEXP (x3, 0, 1);
670 : 59616 : operands[2] = x5;
671 : 59616 : switch (GET_MODE (operands[0]))
672 : : {
673 : 2058 : case E_V64QImode:
674 : 2058 : return pattern158 (x3,
675 : 2058 : E_V64QImode); /* [-1, 0] */
676 : :
677 : 18243 : case E_V32QImode:
678 : 18243 : if (pattern158 (x3,
679 : : E_V32QImode) != 0)
680 : : return -1;
681 : : return 1;
682 : :
683 : 39040 : case E_V16QImode:
684 : 39040 : if (pattern158 (x3,
685 : : E_V16QImode) != 0)
686 : : return -1;
687 : : return 2;
688 : :
689 : : default:
690 : : return -1;
691 : : }
692 : : }
693 : :
694 : : int
695 : 2609 : pattern169 (rtx x1, machine_mode i1, machine_mode i2)
696 : : {
697 : 2609 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
698 : 2609 : int res ATTRIBUTE_UNUSED;
699 : 2609 : if (!register_operand (operands[0], i1)
700 : 2561 : || GET_MODE (x1) != i1
701 : 2561 : || !register_operand (operands[1], i2)
702 : 5004 : || !nonimmediate_operand (operands[2], i2))
703 : 301 : return -1;
704 : : return 0;
705 : : }
706 : :
707 : : int
708 : 532 : pattern172 (rtx x1)
709 : : {
710 : 532 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
711 : 532 : rtx x2, x3, x4, x5;
712 : 532 : int res ATTRIBUTE_UNUSED;
713 : 532 : x2 = XEXP (x1, 0);
714 : 532 : operands[0] = x2;
715 : 532 : x3 = XEXP (x1, 1);
716 : 532 : x4 = XVECEXP (x3, 0, 0);
717 : 532 : operands[1] = x4;
718 : 532 : x5 = XVECEXP (x3, 0, 1);
719 : 532 : operands[2] = x5;
720 : 532 : switch (GET_MODE (operands[0]))
721 : : {
722 : 262 : case E_V32QImode:
723 : 262 : return pattern171 (x3,
724 : : E_V32HFmode,
725 : : E_V64QImode,
726 : 262 : E_V32QImode); /* [-1, 0] */
727 : :
728 : 258 : case E_V16QImode:
729 : 258 : if (pattern171 (x3,
730 : : E_V16HFmode,
731 : : E_V32QImode,
732 : : E_V16QImode) != 0)
733 : : return -1;
734 : : return 1;
735 : :
736 : : default:
737 : : return -1;
738 : : }
739 : : }
740 : :
741 : : int
742 : 1750 : pattern182 (rtx x1)
743 : : {
744 : 1750 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
745 : 1750 : rtx x2, x3, x4, x5, x6;
746 : 1750 : int res ATTRIBUTE_UNUSED;
747 : 1750 : x2 = XEXP (x1, 0);
748 : 1750 : operands[0] = x2;
749 : 1750 : x3 = XEXP (x1, 1);
750 : 1750 : x4 = XVECEXP (x3, 0, 0);
751 : 1750 : operands[1] = x4;
752 : 1750 : x5 = XVECEXP (x3, 0, 1);
753 : 1750 : operands[2] = x5;
754 : 1750 : x6 = XVECEXP (x3, 0, 2);
755 : 1750 : operands[3] = x6;
756 : 1750 : switch (GET_MODE (operands[0]))
757 : : {
758 : 208 : case E_V32HImode:
759 : 208 : return pattern178 (x3,
760 : 208 : E_V32HImode); /* [-1, 0] */
761 : :
762 : 196 : case E_V16SImode:
763 : 196 : if (pattern178 (x3,
764 : : E_V16SImode) != 0)
765 : : return -1;
766 : : return 1;
767 : :
768 : 206 : case E_V8DImode:
769 : 206 : if (pattern178 (x3,
770 : : E_V8DImode) != 0)
771 : : return -1;
772 : : return 2;
773 : :
774 : 194 : case E_V16HImode:
775 : 194 : if (pattern178 (x3,
776 : : E_V16HImode) != 0)
777 : : return -1;
778 : : return 3;
779 : :
780 : 192 : case E_V8SImode:
781 : 192 : if (pattern178 (x3,
782 : : E_V8SImode) != 0)
783 : : return -1;
784 : : return 4;
785 : :
786 : 202 : case E_V4DImode:
787 : 202 : if (pattern178 (x3,
788 : : E_V4DImode) != 0)
789 : : return -1;
790 : : return 5;
791 : :
792 : 182 : case E_V8HImode:
793 : 182 : if (pattern178 (x3,
794 : : E_V8HImode) != 0)
795 : : return -1;
796 : : return 6;
797 : :
798 : 180 : case E_V4SImode:
799 : 180 : if (pattern178 (x3,
800 : : E_V4SImode) != 0)
801 : : return -1;
802 : : return 7;
803 : :
804 : 190 : case E_V2DImode:
805 : 190 : if (pattern178 (x3,
806 : : E_V2DImode) != 0)
807 : : return -1;
808 : : return 8;
809 : :
810 : : default:
811 : : return -1;
812 : : }
813 : : }
814 : :
815 : : int
816 : 804 : pattern195 (rtx x1, machine_mode i1, machine_mode i2)
817 : : {
818 : 804 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
819 : 804 : rtx x2, x3, x4, x5;
820 : 804 : int res ATTRIBUTE_UNUSED;
821 : 804 : if (!register_operand (operands[0], i2)
822 : 804 : || GET_MODE (x1) != i2)
823 : : return -1;
824 : 775 : x2 = XEXP (x1, 0);
825 : 775 : if (GET_MODE (x2) != i2)
826 : : return -1;
827 : 775 : x3 = XEXP (x2, 0);
828 : 775 : if (GET_MODE (x3) != i1
829 : 775 : || !register_operand (operands[1], i2)
830 : 1480 : || !vector_operand (operands[2], i2))
831 : 70 : return -1;
832 : 705 : x4 = XEXP (x1, 1);
833 : 705 : if (GET_MODE (x4) != i2)
834 : : return -1;
835 : 705 : x5 = XEXP (x4, 0);
836 : 705 : if (GET_MODE (x5) != i1)
837 : : return -1;
838 : : return 0;
839 : : }
840 : :
841 : : int
842 : 459861 : pattern200 (rtx x1, rtx_code i1)
843 : : {
844 : 459861 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
845 : 459861 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
846 : 459861 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
847 : 459861 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
848 : 459861 : int res ATTRIBUTE_UNUSED;
849 : 459861 : x2 = XEXP (x1, 0);
850 : 459861 : x3 = XEXP (x2, 0);
851 : 459861 : if (GET_CODE (x3) != VEC_SELECT)
852 : : return -1;
853 : 199062 : x4 = XEXP (x3, 1);
854 : 199062 : if (GET_CODE (x4) != PARALLEL)
855 : : return -1;
856 : 199062 : x5 = XEXP (x1, 1);
857 : 199062 : if (GET_CODE (x5) != i1)
858 : : return -1;
859 : 166268 : x6 = XEXP (x5, 0);
860 : 166268 : if (GET_CODE (x6) != VEC_SELECT)
861 : : return -1;
862 : 166207 : x7 = XEXP (x6, 1);
863 : 166207 : if (GET_CODE (x7) != PARALLEL)
864 : : return -1;
865 : 166207 : x8 = XEXP (x3, 0);
866 : 166207 : operands[1] = x8;
867 : 166207 : x9 = XEXP (x6, 0);
868 : 166207 : operands[2] = x9;
869 : 166207 : switch (XVECLEN (x4, 0))
870 : : {
871 : 6156 : case 8:
872 : 6156 : x10 = XVECEXP (x4, 0, 0);
873 : 6156 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
874 : : return -1;
875 : 6156 : x11 = XVECEXP (x4, 0, 1);
876 : 6156 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
877 : : return -1;
878 : 6012 : x12 = XVECEXP (x4, 0, 2);
879 : 6012 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
880 : : return -1;
881 : 6012 : x13 = XVECEXP (x4, 0, 3);
882 : 6012 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
883 : : return -1;
884 : 6012 : x14 = XVECEXP (x4, 0, 4);
885 : 6012 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
886 : : return -1;
887 : 6012 : x15 = XVECEXP (x4, 0, 5);
888 : 6012 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
889 : : return -1;
890 : 6012 : x16 = XVECEXP (x4, 0, 6);
891 : 6012 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
892 : : return -1;
893 : 6012 : x17 = XVECEXP (x4, 0, 7);
894 : 6012 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
895 : 6012 : || XVECLEN (x7, 0) != 8)
896 : : return -1;
897 : 6012 : x18 = XVECEXP (x7, 0, 0);
898 : 6012 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
899 : : return -1;
900 : 6012 : x19 = XVECEXP (x7, 0, 1);
901 : 6012 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
902 : : return -1;
903 : 6012 : x20 = XVECEXP (x7, 0, 2);
904 : 6012 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
905 : : return -1;
906 : 6012 : x21 = XVECEXP (x7, 0, 3);
907 : 6012 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
908 : : return -1;
909 : 6012 : x22 = XVECEXP (x7, 0, 4);
910 : 6012 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
911 : : return -1;
912 : 6012 : x23 = XVECEXP (x7, 0, 5);
913 : 6012 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
914 : : return -1;
915 : 6012 : x24 = XVECEXP (x7, 0, 6);
916 : 6012 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
917 : : return -1;
918 : 6012 : x25 = XVECEXP (x7, 0, 7);
919 : 6012 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
920 : 6012 : || pattern199 (x1,
921 : : E_V16SImode,
922 : : E_V8SImode,
923 : : E_V8DImode) != 0)
924 : 753 : return -1;
925 : : return 0;
926 : :
927 : 10583 : case 4:
928 : 10583 : x10 = XVECEXP (x4, 0, 0);
929 : 10583 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
930 : : return -1;
931 : 10583 : x11 = XVECEXP (x4, 0, 1);
932 : 10583 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
933 : : return -1;
934 : 10579 : x12 = XVECEXP (x4, 0, 2);
935 : 10579 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
936 : : return -1;
937 : 10579 : x13 = XVECEXP (x4, 0, 3);
938 : 10579 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
939 : 10579 : || XVECLEN (x7, 0) != 4)
940 : : return -1;
941 : 10579 : x18 = XVECEXP (x7, 0, 0);
942 : 10579 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
943 : : return -1;
944 : 10579 : x19 = XVECEXP (x7, 0, 1);
945 : 10579 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
946 : : return -1;
947 : 10579 : x20 = XVECEXP (x7, 0, 2);
948 : 10579 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
949 : : return -1;
950 : 10579 : x21 = XVECEXP (x7, 0, 3);
951 : 10579 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
952 : 10579 : || pattern199 (x1,
953 : : E_V8SImode,
954 : : E_V4SImode,
955 : : E_V4DImode) != 0)
956 : 1948 : return -1;
957 : : return 1;
958 : :
959 : 149460 : case 2:
960 : 149460 : x10 = XVECEXP (x4, 0, 0);
961 : 149460 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
962 : : return -1;
963 : 149371 : x11 = XVECEXP (x4, 0, 1);
964 : 149371 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
965 : 149359 : || XVECLEN (x7, 0) != 2)
966 : : return -1;
967 : 149359 : x18 = XVECEXP (x7, 0, 0);
968 : 149359 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
969 : : return -1;
970 : 149359 : x19 = XVECEXP (x7, 0, 1);
971 : 149359 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
972 : 149359 : || !register_operand (operands[0], E_V2DImode)
973 : 149248 : || GET_MODE (x1) != E_V2DImode
974 : 149248 : || GET_MODE (x2) != E_V2DImode
975 : 149248 : || GET_MODE (x3) != E_V2SImode
976 : 149248 : || !vector_operand (operands[1], E_V4SImode)
977 : 122633 : || GET_MODE (x5) != E_V2DImode
978 : 122633 : || GET_MODE (x6) != E_V2SImode
979 : 271992 : || !vector_operand (operands[2], E_V4SImode))
980 : 41467 : return -1;
981 : : return 2;
982 : :
983 : : default:
984 : : return -1;
985 : : }
986 : : }
987 : :
988 : : int
989 : 113789 : pattern236 (rtx x1)
990 : : {
991 : 113789 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
992 : 113789 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
993 : 113789 : rtx x10, x11, x12, x13, x14, x15;
994 : 113789 : int res ATTRIBUTE_UNUSED;
995 : 113789 : x2 = XVECEXP (x1, 0, 0);
996 : 113789 : x3 = XEXP (x2, 1);
997 : 113789 : if (GET_MODE (x3) != E_CCmode)
998 : : return -1;
999 : 113789 : x4 = XEXP (x3, 0);
1000 : 113789 : if (GET_CODE (x4) != NE)
1001 : : return -1;
1002 : 110857 : x5 = XEXP (x4, 1);
1003 : 110857 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1004 : : return -1;
1005 : 110823 : x6 = XEXP (x3, 1);
1006 : 110823 : if (GET_CODE (x6) != COMPARE
1007 : 110823 : || GET_MODE (x6) != E_CCmode)
1008 : : return -1;
1009 : 110823 : x7 = XEXP (x6, 0);
1010 : 110823 : if (GET_CODE (x7) != MEM
1011 : 110823 : || GET_MODE (x7) != E_BLKmode)
1012 : : return -1;
1013 : 110823 : x8 = XEXP (x6, 1);
1014 : 110823 : if (GET_CODE (x8) != MEM
1015 : 110823 : || GET_MODE (x8) != E_BLKmode)
1016 : : return -1;
1017 : 110823 : x9 = XEXP (x3, 2);
1018 : 110823 : if (GET_CODE (x9) != REG
1019 : 78119 : || REGNO (x9) != 17
1020 : 188942 : || GET_MODE (x9) != E_CCmode)
1021 : : return -1;
1022 : 78119 : x10 = XEXP (x2, 0);
1023 : 78119 : if (GET_CODE (x10) != REG
1024 : 78119 : || REGNO (x10) != 17
1025 : 156238 : || GET_MODE (x10) != E_CCmode)
1026 : : return -1;
1027 : 78119 : x11 = XVECEXP (x1, 0, 1);
1028 : 78119 : if (GET_CODE (x11) != USE)
1029 : : return -1;
1030 : 78119 : x12 = XVECEXP (x1, 0, 2);
1031 : 78119 : if (GET_CODE (x12) != CLOBBER)
1032 : : return -1;
1033 : 78119 : x13 = XVECEXP (x1, 0, 3);
1034 : 78119 : if (GET_CODE (x13) != CLOBBER)
1035 : : return -1;
1036 : 78119 : x14 = XVECEXP (x1, 0, 4);
1037 : 78119 : if (GET_CODE (x14) != CLOBBER)
1038 : : return -1;
1039 : 78119 : x15 = XEXP (x4, 0);
1040 : 78119 : operands[6] = x15;
1041 : 78119 : return 0;
1042 : : }
1043 : :
1044 : : int
1045 : 63705 : pattern256 (rtx x1, int *pnum_clobbers)
1046 : : {
1047 : 63705 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1048 : 63705 : rtx x2, x3, x4, x5;
1049 : 63705 : int res ATTRIBUTE_UNUSED;
1050 : 63705 : if (pnum_clobbers == NULL)
1051 : : return -1;
1052 : 63705 : x2 = XEXP (x1, 1);
1053 : 63705 : x3 = XEXP (x2, 0);
1054 : 63705 : if (GET_MODE (x3) != E_QImode)
1055 : : return -1;
1056 : 241 : x4 = XEXP (x3, 0);
1057 : 241 : if (GET_CODE (x4) != SUBREG
1058 : 160 : || maybe_ne (SUBREG_BYTE (x4), 0)
1059 : 401 : || GET_MODE (x4) != E_QImode)
1060 : : return -1;
1061 : 160 : x5 = XEXP (x4, 0);
1062 : 160 : switch (GET_CODE (x5))
1063 : : {
1064 : 136 : case ASHIFTRT:
1065 : 136 : case LSHIFTRT:
1066 : 136 : case SIGN_EXTRACT:
1067 : 136 : case ZERO_EXTRACT:
1068 : 136 : operands[3] = x5;
1069 : 136 : return pattern255 (x1); /* [-1, 0] */
1070 : :
1071 : : default:
1072 : : return -1;
1073 : : }
1074 : : }
1075 : :
1076 : : int
1077 : 2626181 : pattern273 (rtx x1)
1078 : : {
1079 : 2626181 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1080 : 2626181 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1081 : 2626181 : rtx x10, x11, x12, x13;
1082 : 2626181 : int res ATTRIBUTE_UNUSED;
1083 : 2626181 : x2 = XEXP (x1, 0);
1084 : 2626181 : x3 = XEXP (x2, 0);
1085 : 2626181 : operands[1] = x3;
1086 : 2626181 : x4 = XEXP (x2, 1);
1087 : 2626181 : operands[2] = x4;
1088 : 2626181 : x5 = XEXP (x1, 1);
1089 : 2626181 : switch (XVECLEN (x5, 0))
1090 : : {
1091 : 286427 : case 2:
1092 : 286427 : x6 = XVECEXP (x5, 0, 0);
1093 : 286427 : if (GET_CODE (x6) != CONST_INT)
1094 : : return -1;
1095 : : return 0;
1096 : :
1097 : 574620 : case 8:
1098 : 574620 : x6 = XVECEXP (x5, 0, 0);
1099 : 574620 : if (GET_CODE (x6) != CONST_INT)
1100 : : return -1;
1101 : 574620 : x7 = XVECEXP (x5, 0, 1);
1102 : 574620 : if (GET_CODE (x7) != CONST_INT)
1103 : : return -1;
1104 : 574620 : x8 = XVECEXP (x5, 0, 2);
1105 : 574620 : if (GET_CODE (x8) != CONST_INT)
1106 : : return -1;
1107 : 574620 : x9 = XVECEXP (x5, 0, 3);
1108 : 574620 : if (GET_CODE (x9) != CONST_INT)
1109 : : return -1;
1110 : 574620 : x10 = XVECEXP (x5, 0, 4);
1111 : 574620 : if (GET_CODE (x10) != CONST_INT)
1112 : : return -1;
1113 : 574620 : x11 = XVECEXP (x5, 0, 5);
1114 : 574620 : if (GET_CODE (x11) != CONST_INT)
1115 : : return -1;
1116 : 574620 : x12 = XVECEXP (x5, 0, 6);
1117 : 574620 : if (GET_CODE (x12) != CONST_INT)
1118 : : return -1;
1119 : 574620 : x13 = XVECEXP (x5, 0, 7);
1120 : 574620 : if (GET_CODE (x13) != CONST_INT
1121 : 574620 : || !register_operand (operands[0], E_V8QImode)
1122 : 43771 : || GET_MODE (x1) != E_V8QImode
1123 : 43771 : || GET_MODE (x2) != E_V16QImode
1124 : 43771 : || !register_operand (operands[1], E_V8QImode)
1125 : 617320 : || !register_mmxmem_operand (operands[2], E_V8QImode))
1126 : 536930 : return -1;
1127 : 37690 : switch (XWINT (x6, 0))
1128 : : {
1129 : 8894 : case 4L:
1130 : 8894 : if (XWINT (x7, 0) != 12L
1131 : 7058 : || XWINT (x8, 0) != 5L
1132 : 6954 : || XWINT (x9, 0) != 13L
1133 : 6954 : || XWINT (x10, 0) != 6L
1134 : 6954 : || XWINT (x11, 0) != 14L
1135 : 6954 : || XWINT (x12, 0) != 7L
1136 : 6954 : || XWINT (x13, 0) != 15L)
1137 : : return -1;
1138 : : return 1;
1139 : :
1140 : 14617 : case 0L:
1141 : 14617 : if (XWINT (x7, 0) != 8L
1142 : 8719 : || XWINT (x8, 0) != 1L
1143 : 7950 : || XWINT (x9, 0) != 9L
1144 : 7736 : || XWINT (x10, 0) != 2L
1145 : 7736 : || XWINT (x11, 0) != 10L
1146 : 7736 : || XWINT (x12, 0) != 3L
1147 : 7736 : || XWINT (x13, 0) != 11L)
1148 : : return -1;
1149 : : return 2;
1150 : :
1151 : : default:
1152 : : return -1;
1153 : : }
1154 : :
1155 : 1536475 : case 4:
1156 : 1536475 : x6 = XVECEXP (x5, 0, 0);
1157 : 1536475 : if (GET_CODE (x6) != CONST_INT)
1158 : : return -1;
1159 : 1536475 : x7 = XVECEXP (x5, 0, 1);
1160 : 1536475 : if (GET_CODE (x7) != CONST_INT)
1161 : : return -1;
1162 : 1536475 : x8 = XVECEXP (x5, 0, 2);
1163 : 1536475 : if (GET_CODE (x8) != CONST_INT)
1164 : : return -1;
1165 : 1536475 : x9 = XVECEXP (x5, 0, 3);
1166 : 1536475 : if (GET_CODE (x9) != CONST_INT)
1167 : : return -1;
1168 : 1536475 : switch (XWINT (x6, 0))
1169 : : {
1170 : 277566 : case 2L:
1171 : 277566 : if (XWINT (x7, 0) != 6L
1172 : 121324 : || XWINT (x8, 0) != 3L
1173 : 120293 : || XWINT (x9, 0) != 7L)
1174 : : return -1;
1175 : 120128 : switch (GET_MODE (operands[0]))
1176 : : {
1177 : 4665 : case E_V4QImode:
1178 : 4665 : if (pattern271 (x1,
1179 : : E_V4QImode,
1180 : : E_V8QImode) != 0)
1181 : : return -1;
1182 : : return 3;
1183 : :
1184 : 24157 : case E_V4HImode:
1185 : 24157 : if (pattern272 (x1,
1186 : : E_V4HImode,
1187 : : E_V8HImode) != 0)
1188 : : return -1;
1189 : : return 4;
1190 : :
1191 : : default:
1192 : : return -1;
1193 : : }
1194 : :
1195 : 787379 : case 0L:
1196 : 787379 : if (XWINT (x7, 0) != 4L
1197 : 356378 : || XWINT (x8, 0) != 1L
1198 : 341357 : || XWINT (x9, 0) != 5L)
1199 : : return -1;
1200 : 340761 : switch (GET_MODE (operands[0]))
1201 : : {
1202 : 7073 : case E_V4QImode:
1203 : 7073 : if (pattern271 (x1,
1204 : : E_V4QImode,
1205 : : E_V8QImode) != 0)
1206 : : return -1;
1207 : : return 5;
1208 : :
1209 : 33073 : case E_V4HImode:
1210 : 33073 : if (pattern272 (x1,
1211 : : E_V4HImode,
1212 : : E_V8HImode) != 0)
1213 : : return -1;
1214 : : return 6;
1215 : :
1216 : : default:
1217 : : return -1;
1218 : : }
1219 : :
1220 : : default:
1221 : : return -1;
1222 : : }
1223 : :
1224 : : default:
1225 : : return -1;
1226 : : }
1227 : : }
1228 : :
1229 : : int
1230 : 788 : pattern324 (rtx x1)
1231 : : {
1232 : 788 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1233 : 788 : rtx x2;
1234 : 788 : int res ATTRIBUTE_UNUSED;
1235 : 788 : x2 = XVECEXP (x1, 0, 0);
1236 : 788 : operands[1] = x2;
1237 : 788 : switch (GET_MODE (operands[0]))
1238 : : {
1239 : 132 : case E_V16SFmode:
1240 : 132 : if (!register_operand (operands[0], E_V16SFmode)
1241 : 117 : || GET_MODE (x1) != E_V16SFmode
1242 : 249 : || !nonimmediate_operand (operands[1], E_V16SFmode))
1243 : 19 : return -1;
1244 : : return 0;
1245 : :
1246 : 132 : case E_V8SFmode:
1247 : 132 : if (!register_operand (operands[0], E_V8SFmode)
1248 : 117 : || GET_MODE (x1) != E_V8SFmode
1249 : 249 : || !nonimmediate_operand (operands[1], E_V8SFmode))
1250 : 19 : return -1;
1251 : : return 1;
1252 : :
1253 : 127 : case E_V4SFmode:
1254 : 127 : if (!register_operand (operands[0], E_V4SFmode)
1255 : 115 : || GET_MODE (x1) != E_V4SFmode
1256 : 242 : || !nonimmediate_operand (operands[1], E_V4SFmode))
1257 : 15 : return -1;
1258 : : return 2;
1259 : :
1260 : 135 : case E_V8DFmode:
1261 : 135 : if (!register_operand (operands[0], E_V8DFmode)
1262 : 120 : || GET_MODE (x1) != E_V8DFmode
1263 : 255 : || !nonimmediate_operand (operands[1], E_V8DFmode))
1264 : 20 : return -1;
1265 : : return 3;
1266 : :
1267 : 132 : case E_V4DFmode:
1268 : 132 : if (!register_operand (operands[0], E_V4DFmode)
1269 : 117 : || GET_MODE (x1) != E_V4DFmode
1270 : 249 : || !nonimmediate_operand (operands[1], E_V4DFmode))
1271 : 19 : return -1;
1272 : : return 4;
1273 : :
1274 : 130 : case E_V2DFmode:
1275 : 130 : if (!register_operand (operands[0], E_V2DFmode)
1276 : 118 : || GET_MODE (x1) != E_V2DFmode
1277 : 248 : || !nonimmediate_operand (operands[1], E_V2DFmode))
1278 : 16 : return -1;
1279 : : return 5;
1280 : :
1281 : : default:
1282 : : return -1;
1283 : : }
1284 : : }
1285 : :
1286 : : int
1287 : 680132 : pattern333 (rtx x1)
1288 : : {
1289 : 680132 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1290 : 680132 : rtx x2, x3, x4, x5;
1291 : 680132 : int res ATTRIBUTE_UNUSED;
1292 : 680132 : x2 = XEXP (x1, 0);
1293 : 680132 : x3 = XEXP (x2, 0);
1294 : 680132 : operands[1] = x3;
1295 : 680132 : x4 = XEXP (x2, 1);
1296 : 680132 : operands[2] = x4;
1297 : 680132 : x5 = XEXP (x1, 1);
1298 : 680132 : operands[3] = x5;
1299 : 680132 : switch (GET_MODE (operands[0]))
1300 : : {
1301 : 6010 : case E_V8HImode:
1302 : 6010 : return pattern332 (x1,
1303 : 6010 : E_V8HImode); /* [-1, 0] */
1304 : :
1305 : 4214 : case E_V4SImode:
1306 : 4214 : if (pattern332 (x1,
1307 : : E_V4SImode) != 0)
1308 : : return -1;
1309 : : return 1;
1310 : :
1311 : : default:
1312 : : return -1;
1313 : : }
1314 : : }
1315 : :
1316 : : int
1317 : 56093 : pattern337 (rtx x1, rtx_code i1)
1318 : : {
1319 : 56093 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1320 : 56093 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1321 : 56093 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1322 : 56093 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1323 : 56093 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
1324 : 56093 : rtx x34, x35;
1325 : 56093 : int res ATTRIBUTE_UNUSED;
1326 : 56093 : x2 = XEXP (x1, 0);
1327 : 56093 : x3 = XEXP (x2, 0);
1328 : 56093 : x4 = XEXP (x3, 0);
1329 : 56093 : if (GET_CODE (x4) != VEC_SELECT)
1330 : : return -1;
1331 : 335 : x5 = XEXP (x4, 1);
1332 : 335 : if (GET_CODE (x5) != PARALLEL)
1333 : : return -1;
1334 : 335 : x6 = XEXP (x2, 1);
1335 : 335 : if (GET_CODE (x6) != i1)
1336 : : return -1;
1337 : 252 : x7 = XEXP (x6, 0);
1338 : 252 : if (GET_CODE (x7) != VEC_SELECT)
1339 : : return -1;
1340 : 190 : x8 = XEXP (x7, 1);
1341 : 190 : if (GET_CODE (x8) != PARALLEL)
1342 : : return -1;
1343 : 190 : x9 = XEXP (x1, 1);
1344 : 190 : if (GET_CODE (x9) != PLUS)
1345 : : return -1;
1346 : 190 : x10 = XEXP (x9, 0);
1347 : 190 : if (GET_CODE (x10) != i1)
1348 : : return -1;
1349 : 190 : x11 = XEXP (x10, 0);
1350 : 190 : if (GET_CODE (x11) != VEC_SELECT)
1351 : : return -1;
1352 : 190 : x12 = XEXP (x11, 1);
1353 : 190 : if (GET_CODE (x12) != PARALLEL)
1354 : : return -1;
1355 : 190 : x13 = XEXP (x9, 1);
1356 : 190 : if (GET_CODE (x13) != i1)
1357 : : return -1;
1358 : 190 : x14 = XEXP (x13, 0);
1359 : 190 : if (GET_CODE (x14) != VEC_SELECT)
1360 : : return -1;
1361 : 190 : x15 = XEXP (x14, 1);
1362 : 190 : if (GET_CODE (x15) != PARALLEL)
1363 : : return -1;
1364 : 190 : x16 = XEXP (x4, 0);
1365 : 190 : operands[1] = x16;
1366 : 190 : x17 = XEXP (x7, 0);
1367 : 190 : if (!rtx_equal_p (x17, operands[1]))
1368 : : return -1;
1369 : 190 : x18 = XEXP (x11, 0);
1370 : 190 : if (!rtx_equal_p (x18, operands[1]))
1371 : : return -1;
1372 : 190 : x19 = XEXP (x14, 0);
1373 : 190 : if (!rtx_equal_p (x19, operands[1]))
1374 : : return -1;
1375 : 190 : switch (XVECLEN (x5, 0))
1376 : : {
1377 : 90 : case 4:
1378 : 90 : x20 = XVECEXP (x5, 0, 0);
1379 : 90 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1380 : : return -1;
1381 : 90 : x21 = XVECEXP (x5, 0, 1);
1382 : 90 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1383 : : return -1;
1384 : 90 : x22 = XVECEXP (x5, 0, 2);
1385 : 90 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1386 : : return -1;
1387 : 90 : x23 = XVECEXP (x5, 0, 3);
1388 : 90 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 12]
1389 : 90 : || XVECLEN (x8, 0) != 4)
1390 : : return -1;
1391 : 90 : x24 = XVECEXP (x8, 0, 0);
1392 : 90 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1393 : : return -1;
1394 : 90 : x25 = XVECEXP (x8, 0, 1);
1395 : 90 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
1396 : : return -1;
1397 : 90 : x26 = XVECEXP (x8, 0, 2);
1398 : 90 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
1399 : : return -1;
1400 : 90 : x27 = XVECEXP (x8, 0, 3);
1401 : 90 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 13]
1402 : 90 : || XVECLEN (x12, 0) != 4)
1403 : : return -1;
1404 : 90 : x28 = XVECEXP (x12, 0, 0);
1405 : 90 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1406 : : return -1;
1407 : 90 : x29 = XVECEXP (x12, 0, 1);
1408 : 90 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1409 : : return -1;
1410 : 90 : x30 = XVECEXP (x12, 0, 2);
1411 : 90 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1412 : : return -1;
1413 : 90 : x31 = XVECEXP (x12, 0, 3);
1414 : 90 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1415 : 90 : || XVECLEN (x15, 0) != 4)
1416 : : return -1;
1417 : 90 : x32 = XVECEXP (x15, 0, 0);
1418 : 90 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1419 : : return -1;
1420 : 90 : x33 = XVECEXP (x15, 0, 1);
1421 : 90 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
1422 : : return -1;
1423 : 90 : x34 = XVECEXP (x15, 0, 2);
1424 : 90 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
1425 : : return -1;
1426 : 90 : x35 = XVECEXP (x15, 0, 3);
1427 : 90 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
1428 : 90 : || pattern336 (x1,
1429 : : E_V4QImode,
1430 : : E_V4SImode,
1431 : : E_V16QImode) != 0)
1432 : 4 : return -1;
1433 : : return 0;
1434 : :
1435 : 100 : case 2:
1436 : 100 : x20 = XVECEXP (x5, 0, 0);
1437 : 100 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1438 : : return -1;
1439 : 100 : x21 = XVECEXP (x5, 0, 1);
1440 : 100 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4]
1441 : 100 : || XVECLEN (x8, 0) != 2)
1442 : : return -1;
1443 : 100 : x24 = XVECEXP (x8, 0, 0);
1444 : 100 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1445 : : return -1;
1446 : 100 : x25 = XVECEXP (x8, 0, 1);
1447 : 100 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5]
1448 : 100 : || XVECLEN (x12, 0) != 2)
1449 : : return -1;
1450 : 100 : x28 = XVECEXP (x12, 0, 0);
1451 : 100 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1452 : : return -1;
1453 : 100 : x29 = XVECEXP (x12, 0, 1);
1454 : 100 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1455 : 100 : || XVECLEN (x15, 0) != 2)
1456 : : return -1;
1457 : 100 : x32 = XVECEXP (x15, 0, 0);
1458 : 100 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1459 : : return -1;
1460 : 100 : x33 = XVECEXP (x15, 0, 1);
1461 : 100 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
1462 : 100 : || pattern336 (x1,
1463 : : E_V2HImode,
1464 : : E_V2DImode,
1465 : : E_V8HImode) != 0)
1466 : 4 : return -1;
1467 : : return 1;
1468 : :
1469 : : default:
1470 : : return -1;
1471 : : }
1472 : : }
1473 : :
1474 : : int
1475 : 14656 : pattern377 (rtx x1, int i1)
1476 : : {
1477 : 14656 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1478 : 14656 : rtx x2, x3, x4, x5, x6, x7, x8;
1479 : 14656 : int res ATTRIBUTE_UNUSED;
1480 : 14656 : x2 = XVECEXP (x1, 0, 0);
1481 : 14656 : x3 = XEXP (x2, 1);
1482 : 14656 : x4 = XEXP (x3, 0);
1483 : 14656 : x5 = XEXP (x4, 0);
1484 : 14656 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
1485 : : return -1;
1486 : 665 : x6 = XVECEXP (x1, 0, 1);
1487 : 665 : if (GET_CODE (x6) != CLOBBER)
1488 : : return -1;
1489 : 502 : x7 = XEXP (x6, 0);
1490 : 502 : if (GET_CODE (x7) != REG
1491 : 502 : || REGNO (x7) != 17
1492 : 1004 : || GET_MODE (x7) != E_CCmode)
1493 : : return -1;
1494 : 502 : x8 = XEXP (x2, 0);
1495 : 502 : operands[0] = x8;
1496 : 502 : return pattern376 (x3); /* [-1, 2] */
1497 : : }
1498 : :
1499 : : int
1500 : 180201 : pattern385 (rtx x1)
1501 : : {
1502 : 180201 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1503 : 180201 : rtx x2, x3, x4, x5, x6;
1504 : 180201 : int res ATTRIBUTE_UNUSED;
1505 : 180201 : x2 = XEXP (x1, 0);
1506 : 180201 : operands[0] = x2;
1507 : 180201 : x3 = XEXP (x1, 1);
1508 : 180201 : x4 = XEXP (x3, 0);
1509 : 180201 : x5 = XEXP (x4, 0);
1510 : 180201 : operands[1] = x5;
1511 : 180201 : x6 = XEXP (x3, 1);
1512 : 180201 : operands[2] = x6;
1513 : 180201 : if (!const_int_operand (operands[2], E_QImode))
1514 : : return -1;
1515 : 173770 : switch (GET_MODE (operands[0]))
1516 : : {
1517 : 137307 : case E_DImode:
1518 : 137307 : return pattern384 (x3,
1519 : : E_SImode,
1520 : 137307 : E_DImode); /* [-1, 0] */
1521 : :
1522 : 4800 : case E_TImode:
1523 : 4800 : if (pattern384 (x3,
1524 : : E_DImode,
1525 : : E_TImode) != 0)
1526 : : return -1;
1527 : : return 1;
1528 : :
1529 : : default:
1530 : : return -1;
1531 : : }
1532 : : }
1533 : :
1534 : : int
1535 : 57 : pattern395 (rtx x1)
1536 : : {
1537 : 57 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1538 : 57 : rtx x2, x3;
1539 : 57 : int res ATTRIBUTE_UNUSED;
1540 : 57 : x2 = XVECEXP (x1, 0, 2);
1541 : 57 : if (XVECLEN (x2, 0) != 1
1542 : 57 : || XINT (x2, 1) != 33)
1543 : : return -1;
1544 : 57 : x3 = XVECEXP (x2, 0, 0);
1545 : 57 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1546 : : return -1;
1547 : 57 : switch (GET_MODE (operands[0]))
1548 : : {
1549 : 38 : case E_SImode:
1550 : 38 : return pattern394 (x1,
1551 : 38 : E_SImode); /* [-1, 0] */
1552 : :
1553 : 19 : case E_DImode:
1554 : 19 : if (pattern394 (x1,
1555 : : E_DImode) != 0)
1556 : : return -1;
1557 : : return 1;
1558 : :
1559 : : default:
1560 : : return -1;
1561 : : }
1562 : : }
1563 : :
1564 : : int
1565 : 599 : pattern402 (rtx x1, machine_mode i1)
1566 : : {
1567 : 599 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1568 : 599 : rtx x2;
1569 : 599 : int res ATTRIBUTE_UNUSED;
1570 : 599 : if (!register_operand (operands[0], i1)
1571 : 599 : || GET_MODE (x1) != i1)
1572 : : return -1;
1573 : 572 : x2 = XEXP (x1, 0);
1574 : 572 : if (GET_MODE (x2) != i1
1575 : 572 : || !register_no_SP_operand (operands[1], i1)
1576 : 1144 : || !nonmemory_operand (operands[3], i1))
1577 : 0 : return -1;
1578 : : return 0;
1579 : : }
1580 : :
1581 : : int
1582 : 901 : pattern409 (rtx x1)
1583 : : {
1584 : 901 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1585 : 901 : rtx x2, x3, x4;
1586 : 901 : int res ATTRIBUTE_UNUSED;
1587 : 901 : x2 = XEXP (x1, 0);
1588 : 901 : x3 = XEXP (x2, 0);
1589 : 901 : operands[1] = x3;
1590 : 901 : x4 = XEXP (x2, 1);
1591 : 901 : operands[2] = x4;
1592 : 901 : switch (GET_MODE (operands[0]))
1593 : : {
1594 : 3 : case E_HImode:
1595 : 3 : if (!register_operand (operands[0], E_HImode)
1596 : 3 : || GET_MODE (x1) != E_HImode
1597 : 3 : || GET_MODE (x2) != E_QImode
1598 : 3 : || !memory_operand (operands[1], E_QImode)
1599 : 6 : || !const_int_operand (operands[2], E_QImode))
1600 : 0 : return -1;
1601 : : return 0;
1602 : :
1603 : 621 : case E_SImode:
1604 : 621 : if (!register_operand (operands[0], E_SImode)
1605 : 621 : || GET_MODE (x1) != E_SImode)
1606 : : return -1;
1607 : 434 : switch (GET_MODE (x2))
1608 : : {
1609 : 261 : case E_QImode:
1610 : 261 : if (!memory_operand (operands[1], E_QImode)
1611 : 261 : || !const_int_operand (operands[2], E_QImode))
1612 : 190 : return -1;
1613 : : return 1;
1614 : :
1615 : 173 : case E_HImode:
1616 : 173 : if (!memory_operand (operands[1], E_HImode)
1617 : 173 : || !const_int_operand (operands[2], E_HImode))
1618 : 149 : return -1;
1619 : : return 2;
1620 : :
1621 : : default:
1622 : : return -1;
1623 : : }
1624 : :
1625 : 275 : case E_DImode:
1626 : 275 : if (!register_operand (operands[0], E_DImode)
1627 : 275 : || GET_MODE (x1) != E_DImode)
1628 : : return -1;
1629 : 269 : switch (GET_MODE (x2))
1630 : : {
1631 : 7 : case E_QImode:
1632 : 7 : if (!memory_operand (operands[1], E_QImode)
1633 : 7 : || !const_int_operand (operands[2], E_QImode))
1634 : 4 : return -1;
1635 : : return 3;
1636 : :
1637 : 4 : case E_HImode:
1638 : 4 : if (!memory_operand (operands[1], E_HImode)
1639 : 4 : || !const_int_operand (operands[2], E_HImode))
1640 : 1 : return -1;
1641 : : return 4;
1642 : :
1643 : 258 : case E_SImode:
1644 : 258 : if (!memory_operand (operands[1], E_SImode)
1645 : 258 : || !const_int_operand (operands[2], E_SImode))
1646 : 244 : return -1;
1647 : : return 5;
1648 : :
1649 : : default:
1650 : : return -1;
1651 : : }
1652 : :
1653 : : default:
1654 : : return -1;
1655 : : }
1656 : : }
1657 : :
1658 : : int
1659 : 174807 : pattern433 (rtx x1)
1660 : : {
1661 : 174807 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1662 : 174807 : rtx x2, x3, x4, x5;
1663 : 174807 : int res ATTRIBUTE_UNUSED;
1664 : 174807 : x2 = XEXP (x1, 0);
1665 : 174807 : x3 = XEXP (x2, 0);
1666 : 174807 : x4 = XEXP (x3, 0);
1667 : 174807 : operands[1] = x4;
1668 : 174807 : x5 = XEXP (x3, 1);
1669 : 174807 : operands[2] = x5;
1670 : 174807 : if (!const248_operand (operands[2], E_VOIDmode))
1671 : : return -1;
1672 : 22401 : return pattern432 (x1); /* [-1, 1] */
1673 : : }
1674 : :
1675 : : int
1676 : 96 : pattern441 (rtx x1)
1677 : : {
1678 : 96 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1679 : 96 : rtx x2, x3, x4, x5;
1680 : 96 : int res ATTRIBUTE_UNUSED;
1681 : 96 : x2 = XEXP (x1, 0);
1682 : 96 : if (GET_MODE (x2) != E_SImode)
1683 : : return -1;
1684 : 94 : x3 = XEXP (x2, 0);
1685 : 94 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1686 : : return -1;
1687 : 65 : x4 = XEXP (x2, 1);
1688 : 65 : if (GET_CODE (x4) != CLZ
1689 : 65 : || GET_MODE (x4) != E_SImode)
1690 : : return -1;
1691 : 65 : x5 = XEXP (x1, 1);
1692 : 65 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1693 : 0 : return -1;
1694 : : return 0;
1695 : : }
1696 : :
1697 : : int
1698 : 9237 : pattern449 (rtx x1, int *pnum_clobbers)
1699 : : {
1700 : 9237 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1701 : 9237 : rtx x2, x3, x4;
1702 : 9237 : int res ATTRIBUTE_UNUSED;
1703 : 9237 : if (pnum_clobbers == NULL)
1704 : : return -1;
1705 : 9237 : x2 = XEXP (x1, 1);
1706 : 9237 : x3 = XEXP (x2, 1);
1707 : 9237 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1708 : : return -1;
1709 : 7611 : x4 = XEXP (x2, 0);
1710 : 7611 : operands[2] = x4;
1711 : 7611 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1712 : : return -1;
1713 : 3841 : switch (GET_MODE (operands[0]))
1714 : : {
1715 : 200 : case E_SImode:
1716 : 200 : return pattern448 (x1,
1717 : 200 : E_SImode); /* [-1, 0] */
1718 : :
1719 : 3496 : case E_DImode:
1720 : 3496 : if (pattern448 (x1,
1721 : : E_DImode) != 0)
1722 : : return -1;
1723 : : return 1;
1724 : :
1725 : : default:
1726 : : return -1;
1727 : : }
1728 : : }
1729 : :
1730 : : int
1731 : 3663 : pattern459 (rtx x1)
1732 : : {
1733 : 3663 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1734 : 3663 : rtx x2;
1735 : 3663 : int res ATTRIBUTE_UNUSED;
1736 : 3663 : x2 = XEXP (x1, 1);
1737 : 3663 : if (!rtx_equal_p (x2, operands[1]))
1738 : : return -1;
1739 : 3246 : switch (GET_MODE (operands[0]))
1740 : : {
1741 : 569 : case E_V8HFmode:
1742 : 569 : return pattern458 (x1,
1743 : 569 : E_V8HFmode); /* [-1, 0] */
1744 : :
1745 : 1684 : case E_V4SFmode:
1746 : 1684 : if (pattern458 (x1,
1747 : : E_V4SFmode) != 0)
1748 : : return -1;
1749 : : return 1;
1750 : :
1751 : 993 : case E_V2DFmode:
1752 : 993 : if (pattern458 (x1,
1753 : : E_V2DFmode) != 0)
1754 : : return -1;
1755 : : return 2;
1756 : :
1757 : : default:
1758 : : return -1;
1759 : : }
1760 : : }
1761 : :
1762 : : int
1763 : 2812 : pattern466 (rtx x1)
1764 : : {
1765 : 2812 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1766 : 2812 : rtx x2, x3, x4, x5, x6;
1767 : 2812 : int res ATTRIBUTE_UNUSED;
1768 : 2812 : x2 = XEXP (x1, 0);
1769 : 2812 : x3 = XVECEXP (x2, 0, 0);
1770 : 2812 : operands[1] = x3;
1771 : 2812 : x4 = XVECEXP (x2, 0, 1);
1772 : 2812 : operands[2] = x4;
1773 : 2812 : x5 = XEXP (x1, 1);
1774 : 2812 : operands[3] = x5;
1775 : 2812 : x6 = XEXP (x1, 2);
1776 : 2812 : operands[4] = x6;
1777 : 2812 : switch (GET_MODE (operands[0]))
1778 : : {
1779 : 960 : case E_V64QImode:
1780 : 960 : return pattern465 (x1,
1781 : : E_DImode,
1782 : : E_V64QImode,
1783 : 960 : E_V32HFmode); /* [-1, 0] */
1784 : :
1785 : 944 : case E_V32QImode:
1786 : 944 : if (pattern465 (x1,
1787 : : E_SImode,
1788 : : E_V32QImode,
1789 : : E_V16HFmode) != 0)
1790 : : return -1;
1791 : : return 1;
1792 : :
1793 : 908 : case E_V16QImode:
1794 : 908 : if (pattern465 (x1,
1795 : : E_HImode,
1796 : : E_V16QImode,
1797 : : E_V8HFmode) != 0)
1798 : : return -1;
1799 : : return 2;
1800 : :
1801 : : default:
1802 : : return -1;
1803 : : }
1804 : : }
1805 : :
1806 : : int
1807 : 759 : pattern477 (rtx x1, machine_mode i1)
1808 : : {
1809 : 759 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1810 : 759 : rtx x2;
1811 : 759 : int res ATTRIBUTE_UNUSED;
1812 : 759 : if (!register_operand (operands[0], i1)
1813 : 759 : || GET_MODE (x1) != i1)
1814 : : return -1;
1815 : 709 : x2 = XEXP (x1, 0);
1816 : 709 : if (GET_MODE (x2) != i1
1817 : 709 : || !register_operand (operands[1], i1)
1818 : 709 : || !register_operand (operands[2], i1)
1819 : 1392 : || !nonimmediate_operand (operands[3], i1))
1820 : 26 : return -1;
1821 : : return 0;
1822 : : }
1823 : :
1824 : : int
1825 : 5228 : pattern482 (machine_mode i1, machine_mode i2)
1826 : : {
1827 : 5228 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1828 : 5228 : int res ATTRIBUTE_UNUSED;
1829 : 5228 : if (!register_operand (operands[2], i1)
1830 : 5205 : || !nonimmediate_operand (operands[3], i1)
1831 : 5187 : || !const0_operand (operands[4], i1)
1832 : 10415 : || !register_operand (operands[5], i2))
1833 : 299 : return -1;
1834 : : return 0;
1835 : : }
1836 : :
1837 : : int
1838 : 2708 : pattern485 (rtx x1)
1839 : : {
1840 : 2708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1841 : 2708 : rtx x2, x3, x4, x5, x6, x7;
1842 : 2708 : int res ATTRIBUTE_UNUSED;
1843 : 2708 : x2 = XEXP (x1, 0);
1844 : 2708 : x3 = XVECEXP (x2, 0, 0);
1845 : 2708 : operands[1] = x3;
1846 : 2708 : x4 = XVECEXP (x2, 0, 1);
1847 : 2708 : operands[2] = x4;
1848 : 2708 : x5 = XVECEXP (x2, 0, 2);
1849 : 2708 : operands[3] = x5;
1850 : 2708 : x6 = XEXP (x1, 1);
1851 : 2708 : switch (GET_CODE (x6))
1852 : : {
1853 : 1338 : case REG:
1854 : 1338 : case SUBREG:
1855 : 1338 : if (!rtx_equal_p (x6, operands[1]))
1856 : : return -1;
1857 : 1338 : x7 = XEXP (x1, 2);
1858 : 1338 : operands[4] = x7;
1859 : 1338 : switch (GET_MODE (operands[0]))
1860 : : {
1861 : 430 : case E_V16SImode:
1862 : 430 : return pattern481 (x1,
1863 : : E_V16SImode,
1864 : 430 : E_HImode); /* [-1, 0] */
1865 : :
1866 : 458 : case E_V8SImode:
1867 : 458 : if (pattern481 (x1,
1868 : : E_V8SImode,
1869 : : E_QImode) != 0)
1870 : : return -1;
1871 : : return 1;
1872 : :
1873 : 450 : case E_V4SImode:
1874 : 450 : if (pattern481 (x1,
1875 : : E_V4SImode,
1876 : : E_QImode) != 0)
1877 : : return -1;
1878 : : return 2;
1879 : :
1880 : : default:
1881 : : return -1;
1882 : : }
1883 : :
1884 : 1346 : case CONST_INT:
1885 : 1346 : case CONST_DOUBLE:
1886 : 1346 : case CONST_VECTOR:
1887 : 1346 : operands[4] = x6;
1888 : 1346 : x7 = XEXP (x1, 2);
1889 : 1346 : operands[5] = x7;
1890 : 1346 : switch (GET_MODE (operands[0]))
1891 : : {
1892 : 442 : case E_V16SImode:
1893 : 442 : if (pattern483 (x1,
1894 : : E_V16SImode,
1895 : : E_HImode) != 0)
1896 : : return -1;
1897 : : return 3;
1898 : :
1899 : 466 : case E_V8SImode:
1900 : 466 : if (pattern483 (x1,
1901 : : E_V8SImode,
1902 : : E_QImode) != 0)
1903 : : return -1;
1904 : : return 4;
1905 : :
1906 : 438 : case E_V4SImode:
1907 : 438 : if (pattern483 (x1,
1908 : : E_V4SImode,
1909 : : E_QImode) != 0)
1910 : : return -1;
1911 : : return 5;
1912 : :
1913 : : default:
1914 : : return -1;
1915 : : }
1916 : :
1917 : : default:
1918 : : return -1;
1919 : : }
1920 : : }
1921 : :
1922 : : int
1923 : 180 : pattern500 (rtx x1, machine_mode i1)
1924 : : {
1925 : 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1926 : 180 : int res ATTRIBUTE_UNUSED;
1927 : 180 : if (GET_MODE (x1) != E_V2HFmode
1928 : 180 : || !vector_operand (operands[1], i1)
1929 : 180 : || !const0_operand (operands[3], E_V2HFmode)
1930 : 360 : || !const0_operand (operands[4], E_V6HFmode))
1931 : 0 : return -1;
1932 : : return 0;
1933 : : }
1934 : :
1935 : : int
1936 : 0 : pattern504 (rtx x1)
1937 : : {
1938 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1939 : 0 : rtx x2, x3, x4, x5, x6, x7;
1940 : 0 : int res ATTRIBUTE_UNUSED;
1941 : 0 : x2 = XEXP (x1, 0);
1942 : 0 : x3 = XEXP (x2, 0);
1943 : 0 : if (GET_MODE (x3) != E_V2SImode)
1944 : : return -1;
1945 : 0 : x4 = XEXP (x1, 1);
1946 : 0 : if (GET_CODE (x4) != CONST_VECTOR
1947 : 0 : || XVECLEN (x4, 0) != 2
1948 : 0 : || GET_MODE (x4) != E_V2SImode)
1949 : : return -1;
1950 : 0 : x5 = XVECEXP (x4, 0, 0);
1951 : 0 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1952 : : return -1;
1953 : 0 : x6 = XVECEXP (x4, 0, 1);
1954 : 0 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
1955 : 0 : || !register_operand (operands[0], E_V4SImode)
1956 : 0 : || GET_MODE (x1) != E_V4SImode
1957 : 0 : || GET_MODE (x2) != E_V2SImode)
1958 : 0 : return -1;
1959 : 0 : x7 = XEXP (x3, 0);
1960 : 0 : operands[1] = x7;
1961 : 0 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
1962 : : return -1;
1963 : 0 : return pattern503 (x2); /* [-1, 1] */
1964 : : }
1965 : :
1966 : : int
1967 : 540 : pattern508 (rtx x1, machine_mode i1, machine_mode i2)
1968 : : {
1969 : 540 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1970 : 540 : rtx x2, x3, x4;
1971 : 540 : int res ATTRIBUTE_UNUSED;
1972 : 540 : if (!register_operand (operands[0], i2)
1973 : 540 : || GET_MODE (x1) != i2)
1974 : : return -1;
1975 : 540 : x2 = XEXP (x1, 0);
1976 : 540 : if (GET_MODE (x2) != i1)
1977 : : return -1;
1978 : 540 : x3 = XEXP (x2, 0);
1979 : 540 : if (GET_MODE (x3) != i1)
1980 : : return -1;
1981 : 540 : x4 = XEXP (x2, 1);
1982 : 540 : if (GET_MODE (x4) != i1)
1983 : 0 : return -1;
1984 : : return 0;
1985 : : }
1986 : :
1987 : : int
1988 : 115 : pattern514 (rtx x1)
1989 : : {
1990 : 115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1991 : 115 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1992 : 115 : rtx x10, x11;
1993 : 115 : int res ATTRIBUTE_UNUSED;
1994 : 115 : x2 = XEXP (x1, 1);
1995 : 115 : if (GET_CODE (x2) != CONST_VECTOR
1996 : 115 : || XVECLEN (x2, 0) != 8
1997 : 115 : || GET_MODE (x2) != E_V8QImode)
1998 : : return -1;
1999 : 115 : x3 = XVECEXP (x2, 0, 0);
2000 : 115 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2001 : : return -1;
2002 : 115 : x4 = XVECEXP (x2, 0, 1);
2003 : 115 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2004 : : return -1;
2005 : 115 : x5 = XVECEXP (x2, 0, 2);
2006 : 115 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2007 : : return -1;
2008 : 115 : x6 = XVECEXP (x2, 0, 3);
2009 : 115 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2010 : : return -1;
2011 : 115 : x7 = XVECEXP (x2, 0, 4);
2012 : 115 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2013 : : return -1;
2014 : 115 : x8 = XVECEXP (x2, 0, 5);
2015 : 115 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2016 : : return -1;
2017 : 115 : x9 = XVECEXP (x2, 0, 6);
2018 : 115 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2019 : : return -1;
2020 : 115 : x10 = XVECEXP (x2, 0, 7);
2021 : 115 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2022 : 115 : || !register_operand (operands[0], E_V16QImode)
2023 : 230 : || GET_MODE (x1) != E_V16QImode)
2024 : 0 : return -1;
2025 : 115 : x11 = XEXP (x1, 0);
2026 : 115 : if (GET_MODE (x11) != E_V8QImode)
2027 : : return -1;
2028 : : return 0;
2029 : : }
2030 : :
2031 : : int
2032 : 16798 : pattern527 (rtx x1, machine_mode i1)
2033 : : {
2034 : 16798 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2035 : 16798 : rtx x2, x3;
2036 : 16798 : int res ATTRIBUTE_UNUSED;
2037 : 16798 : if (!register_operand (operands[0], i1)
2038 : 16798 : || GET_MODE (x1) != i1)
2039 : : return -1;
2040 : 16789 : x2 = XEXP (x1, 0);
2041 : 16789 : if (GET_MODE (x2) != i1
2042 : 16789 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2043 : 33531 : || !regmem_or_bitnot_regmem_operand (operands[2], i1))
2044 : 65 : return -1;
2045 : 16724 : x3 = XEXP (x1, 1);
2046 : 16724 : if (GET_MODE (x3) != i1
2047 : 16724 : || !regmem_or_bitnot_regmem_operand (operands[3], i1)
2048 : 33448 : || !regmem_or_bitnot_regmem_operand (operands[4], i1))
2049 : 12 : return -1;
2050 : : return 0;
2051 : : }
2052 : :
2053 : : int
2054 : 180542 : pattern532 (rtx x1)
2055 : : {
2056 : 180542 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2057 : 180542 : rtx x2, x3, x4, x5, x6, x7;
2058 : 180542 : int res ATTRIBUTE_UNUSED;
2059 : 180542 : x2 = XEXP (x1, 0);
2060 : 180542 : x3 = XEXP (x2, 0);
2061 : 180542 : x4 = XEXP (x3, 0);
2062 : 180542 : operands[1] = x4;
2063 : 180542 : x5 = XEXP (x3, 1);
2064 : 180542 : operands[2] = x5;
2065 : 180542 : x6 = XEXP (x2, 1);
2066 : 180542 : operands[3] = x6;
2067 : 180542 : x7 = XEXP (x1, 1);
2068 : 180542 : operands[4] = x7;
2069 : 180542 : switch (GET_MODE (operands[0]))
2070 : : {
2071 : 0 : case E_V64QImode:
2072 : 0 : return pattern531 (x1,
2073 : 0 : E_V64QImode); /* [-1, 0] */
2074 : :
2075 : 224 : case E_V32QImode:
2076 : 224 : if (pattern531 (x1,
2077 : : E_V32QImode) != 0)
2078 : : return -1;
2079 : : return 1;
2080 : :
2081 : 230 : case E_V16QImode:
2082 : 230 : if (pattern531 (x1,
2083 : : E_V16QImode) != 0)
2084 : : return -1;
2085 : : return 2;
2086 : :
2087 : 0 : case E_V32HImode:
2088 : 0 : if (pattern531 (x1,
2089 : : E_V32HImode) != 0)
2090 : : return -1;
2091 : : return 3;
2092 : :
2093 : 12 : case E_V16HImode:
2094 : 12 : if (pattern531 (x1,
2095 : : E_V16HImode) != 0)
2096 : : return -1;
2097 : : return 4;
2098 : :
2099 : 597 : case E_V8HImode:
2100 : 597 : if (pattern531 (x1,
2101 : : E_V8HImode) != 0)
2102 : : return -1;
2103 : : return 5;
2104 : :
2105 : 125 : case E_V16SImode:
2106 : 125 : if (pattern531 (x1,
2107 : : E_V16SImode) != 0)
2108 : : return -1;
2109 : : return 6;
2110 : :
2111 : 1436 : case E_V8SImode:
2112 : 1436 : if (pattern531 (x1,
2113 : : E_V8SImode) != 0)
2114 : : return -1;
2115 : : return 7;
2116 : :
2117 : 5961 : case E_V4SImode:
2118 : 5961 : if (pattern531 (x1,
2119 : : E_V4SImode) != 0)
2120 : : return -1;
2121 : : return 8;
2122 : :
2123 : 0 : case E_V8DImode:
2124 : 0 : if (pattern531 (x1,
2125 : : E_V8DImode) != 0)
2126 : : return -1;
2127 : : return 9;
2128 : :
2129 : 246 : case E_V4DImode:
2130 : 246 : if (pattern531 (x1,
2131 : : E_V4DImode) != 0)
2132 : : return -1;
2133 : : return 10;
2134 : :
2135 : 1116 : case E_V2DImode:
2136 : 1116 : if (pattern531 (x1,
2137 : : E_V2DImode) != 0)
2138 : : return -1;
2139 : : return 11;
2140 : :
2141 : : default:
2142 : : return -1;
2143 : : }
2144 : : }
2145 : :
2146 : : int
2147 : 55 : pattern541 (rtx x1)
2148 : : {
2149 : 55 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2150 : 55 : rtx x2, x3, x4, x5;
2151 : 55 : int res ATTRIBUTE_UNUSED;
2152 : 55 : x2 = XVECEXP (x1, 0, 1);
2153 : 55 : x3 = XVECEXP (x2, 0, 0);
2154 : 55 : operands[2] = x3;
2155 : 55 : switch (GET_MODE (operands[0]))
2156 : : {
2157 : 28 : case E_SImode:
2158 : 28 : x4 = XVECEXP (x1, 0, 0);
2159 : 28 : x5 = XEXP (x4, 1);
2160 : 28 : return pattern540 (x5,
2161 : 28 : E_SImode); /* [-1, 0] */
2162 : :
2163 : 27 : case E_DImode:
2164 : 27 : x4 = XVECEXP (x1, 0, 0);
2165 : 27 : x5 = XEXP (x4, 1);
2166 : 27 : if (pattern540 (x5,
2167 : : E_DImode) != 0)
2168 : : return -1;
2169 : : return 1;
2170 : :
2171 : : default:
2172 : : return -1;
2173 : : }
2174 : : }
2175 : :
2176 : : int
2177 : 676 : pattern546 (rtx x1)
2178 : : {
2179 : 676 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2180 : 676 : rtx x2, x3, x4, x5, x6, x7;
2181 : 676 : int res ATTRIBUTE_UNUSED;
2182 : 676 : x2 = XVECEXP (x1, 0, 1);
2183 : 676 : if (GET_CODE (x2) != CLOBBER)
2184 : : return -1;
2185 : 676 : x3 = XEXP (x2, 0);
2186 : 676 : if (GET_CODE (x3) != REG
2187 : 676 : || REGNO (x3) != 17
2188 : 1352 : || GET_MODE (x3) != E_CCmode)
2189 : : return -1;
2190 : 676 : x4 = XVECEXP (x1, 0, 0);
2191 : 676 : x5 = XEXP (x4, 0);
2192 : 676 : operands[0] = x5;
2193 : 676 : x6 = XEXP (x4, 1);
2194 : 676 : x7 = XVECEXP (x6, 0, 0);
2195 : 676 : operands[1] = x7;
2196 : 676 : if (!register_operand (operands[1], E_XFmode))
2197 : : return -1;
2198 : 488 : return pattern545 (x6); /* [-1, 2] */
2199 : : }
2200 : :
2201 : : int
2202 : 7356 : pattern552 (rtx x1)
2203 : : {
2204 : 7356 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2205 : 7356 : rtx x2, x3, x4;
2206 : 7356 : int res ATTRIBUTE_UNUSED;
2207 : 7356 : x2 = XEXP (x1, 0);
2208 : 7356 : x3 = XEXP (x2, 0);
2209 : 7356 : operands[0] = x3;
2210 : 7356 : switch (GET_MODE (operands[0]))
2211 : : {
2212 : 6553 : case E_QImode:
2213 : 6553 : x4 = XEXP (x1, 1);
2214 : 6553 : return pattern551 (x4,
2215 : 6553 : E_QImode); /* [-1, 0] */
2216 : :
2217 : 803 : case E_HImode:
2218 : 803 : x4 = XEXP (x1, 1);
2219 : 803 : if (pattern551 (x4,
2220 : : E_HImode) != 0)
2221 : : return -1;
2222 : : return 1;
2223 : :
2224 : : default:
2225 : : return -1;
2226 : : }
2227 : : }
2228 : :
2229 : : int
2230 : 310941 : pattern556 (rtx x1, machine_mode i1, machine_mode i2)
2231 : : {
2232 : 310941 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2233 : 310941 : rtx x2, x3;
2234 : 310941 : int res ATTRIBUTE_UNUSED;
2235 : 310941 : x2 = XEXP (x1, 0);
2236 : 310941 : if (GET_MODE (x2) != i2
2237 : 310941 : || !register_operand (operands[1], i1))
2238 : 14769 : return -1;
2239 : 296172 : x3 = XEXP (x1, 1);
2240 : 296172 : if (GET_MODE (x3) != i2
2241 : 296172 : || !nonimmediate_operand (operands[2], i1))
2242 : 996 : return -1;
2243 : : return 0;
2244 : : }
2245 : :
2246 : : int
2247 : 2899 : pattern562 (rtx x1, machine_mode i1)
2248 : : {
2249 : 2899 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2250 : 2899 : int res ATTRIBUTE_UNUSED;
2251 : 2899 : if (!nonimmediate_operand (operands[0], i1)
2252 : 2899 : || GET_MODE (x1) != i1
2253 : 2899 : || !nonimmediate_operand (operands[1], i1)
2254 : 5771 : || !nonimmediate_or_x86_64_const_vector_operand (operands[2], i1))
2255 : 27 : return -1;
2256 : : return 0;
2257 : : }
2258 : :
2259 : : int
2260 : 4502 : pattern568 (rtx x1)
2261 : : {
2262 : 4502 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2263 : 4502 : rtx x2, x3;
2264 : 4502 : int res ATTRIBUTE_UNUSED;
2265 : 4502 : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
2266 : : return -1;
2267 : 3754 : x2 = XEXP (x1, 0);
2268 : 3754 : if (GET_CODE (x2) != REG
2269 : 3754 : || REGNO (x2) != 17)
2270 : : return -1;
2271 : 2650 : x3 = XEXP (x1, 1);
2272 : 2650 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2273 : 0 : return -1;
2274 : : return 0;
2275 : : }
2276 : :
2277 : : int
2278 : 206796 : pattern573 (rtx x1)
2279 : : {
2280 : 206796 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2281 : 206796 : rtx x2, x3, x4, x5;
2282 : 206796 : int res ATTRIBUTE_UNUSED;
2283 : 206796 : x2 = XEXP (x1, 0);
2284 : 206796 : x3 = XEXP (x2, 0);
2285 : 206796 : x4 = XEXP (x3, 0);
2286 : 206796 : operands[1] = x4;
2287 : 206796 : x5 = XEXP (x3, 1);
2288 : 206796 : operands[2] = x5;
2289 : 206796 : if (!const123_operand (operands[2], E_VOIDmode))
2290 : : return -1;
2291 : 173793 : return pattern432 (x1); /* [-1, 1] */
2292 : : }
2293 : :
2294 : : int
2295 : 390580 : pattern579 (rtx x1, rtx_code i1, machine_mode i2)
2296 : : {
2297 : 390580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2298 : 390580 : rtx x2, x3, x4, x5;
2299 : 390580 : int res ATTRIBUTE_UNUSED;
2300 : 390580 : x2 = XVECEXP (x1, 0, 0);
2301 : 390580 : x3 = XEXP (x2, 0);
2302 : 390580 : if (GET_CODE (x3) != REG
2303 : 390580 : || REGNO (x3) != 17
2304 : 781160 : || GET_MODE (x3) != i2)
2305 : : return -1;
2306 : 117113 : x4 = XVECEXP (x1, 0, 1);
2307 : 117113 : if (GET_CODE (x4) != SET)
2308 : : return -1;
2309 : 94113 : x5 = XEXP (x4, 1);
2310 : 94113 : if (GET_CODE (x5) != i1)
2311 : 736 : return -1;
2312 : : return 0;
2313 : : }
2314 : :
2315 : : int
2316 : 315007 : pattern583 (rtx x1, rtx_code i1)
2317 : : {
2318 : 315007 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2319 : 315007 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2320 : 315007 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2321 : 315007 : rtx x18;
2322 : 315007 : int res ATTRIBUTE_UNUSED;
2323 : 315007 : x2 = XVECEXP (x1, 0, 0);
2324 : 315007 : x3 = XEXP (x2, 1);
2325 : 315007 : x4 = XEXP (x3, 0);
2326 : 315007 : if (GET_MODE (x4) != E_QImode)
2327 : : return -1;
2328 : 49148 : x5 = XEXP (x4, 0);
2329 : 49148 : if (GET_CODE (x5) != SUBREG
2330 : 2562 : || maybe_ne (SUBREG_BYTE (x5), 0)
2331 : 51710 : || GET_MODE (x5) != E_QImode)
2332 : : return -1;
2333 : 2562 : x6 = XEXP (x5, 0);
2334 : 2562 : switch (GET_CODE (x6))
2335 : : {
2336 : 1438 : case ASHIFTRT:
2337 : 1438 : case LSHIFTRT:
2338 : 1438 : case SIGN_EXTRACT:
2339 : 1438 : case ZERO_EXTRACT:
2340 : 1438 : operands[3] = x6;
2341 : 1438 : x7 = XEXP (x3, 1);
2342 : 1438 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2343 : : return -1;
2344 : 1416 : x8 = XVECEXP (x1, 0, 1);
2345 : 1416 : if (GET_CODE (x8) != SET)
2346 : : return -1;
2347 : 0 : x9 = XEXP (x8, 1);
2348 : 0 : if (GET_CODE (x9) != SUBREG
2349 : 0 : || maybe_ne (SUBREG_BYTE (x9), 0))
2350 : : return -1;
2351 : 0 : x10 = XEXP (x9, 0);
2352 : 0 : if (GET_CODE (x10) != i1
2353 : 0 : || GET_MODE (x10) != E_QImode)
2354 : : return -1;
2355 : 0 : x11 = XEXP (x10, 0);
2356 : 0 : if (GET_CODE (x11) != SUBREG
2357 : 0 : || maybe_ne (SUBREG_BYTE (x11), 0)
2358 : 0 : || GET_MODE (x11) != E_QImode)
2359 : : return -1;
2360 : 0 : x12 = XEXP (x11, 0);
2361 : 0 : if (GET_CODE (x12) != ZERO_EXTRACT)
2362 : : return -1;
2363 : 0 : x13 = XEXP (x12, 1);
2364 : 0 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2365 : : return -1;
2366 : 0 : x14 = XEXP (x12, 2);
2367 : 0 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2368 : : return -1;
2369 : 0 : x15 = XEXP (x8, 0);
2370 : 0 : if (GET_CODE (x15) != ZERO_EXTRACT)
2371 : : return -1;
2372 : 0 : x16 = XEXP (x15, 1);
2373 : 0 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2374 : : return -1;
2375 : 0 : x17 = XEXP (x15, 2);
2376 : 0 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2377 : : return -1;
2378 : 0 : x18 = XEXP (x2, 0);
2379 : 0 : operands[4] = x18;
2380 : 0 : if (!flags_reg_operand (operands[4], E_VOIDmode))
2381 : : return -1;
2382 : 0 : operands[5] = x3;
2383 : 0 : if (!compare_operator (operands[5], E_VOIDmode))
2384 : : return -1;
2385 : 0 : return pattern582 (x1); /* [-1, 2] */
2386 : :
2387 : : default:
2388 : : return -1;
2389 : : }
2390 : : }
2391 : :
2392 : : int
2393 : 60 : pattern604 (rtx x1)
2394 : : {
2395 : 60 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2396 : 60 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2397 : 60 : int res ATTRIBUTE_UNUSED;
2398 : 60 : x2 = XEXP (x1, 1);
2399 : 60 : x3 = XVECEXP (x2, 0, 1);
2400 : 60 : if (GET_CODE (x3) != AND)
2401 : : return -1;
2402 : 60 : x4 = XEXP (x1, 0);
2403 : 60 : if (GET_MODE (x4) != E_CCZmode
2404 : 60 : || GET_MODE (x2) != E_CCZmode)
2405 : : return -1;
2406 : 60 : x5 = XVECEXP (x2, 0, 0);
2407 : 60 : x6 = XEXP (x5, 0);
2408 : 60 : operands[0] = x6;
2409 : 60 : x7 = XEXP (x5, 1);
2410 : 60 : operands[1] = x7;
2411 : 60 : x8 = XEXP (x3, 0);
2412 : 60 : if (!rtx_equal_p (x8, operands[0]))
2413 : : return -1;
2414 : 60 : x9 = XEXP (x3, 1);
2415 : 60 : if (!rtx_equal_p (x9, operands[1]))
2416 : : return -1;
2417 : 60 : switch (GET_MODE (x5))
2418 : : {
2419 : 0 : case E_V16QImode:
2420 : 0 : if (!register_operand (operands[0], E_V16QImode)
2421 : 0 : || !vector_operand (operands[1], E_V16QImode)
2422 : 0 : || GET_MODE (x3) != E_V16QImode)
2423 : 0 : return -1;
2424 : : return 0;
2425 : :
2426 : 0 : case E_V8HImode:
2427 : 0 : if (!register_operand (operands[0], E_V8HImode)
2428 : 0 : || !vector_operand (operands[1], E_V8HImode)
2429 : 0 : || GET_MODE (x3) != E_V8HImode)
2430 : 0 : return -1;
2431 : : return 1;
2432 : :
2433 : 0 : case E_V4SImode:
2434 : 0 : if (!register_operand (operands[0], E_V4SImode)
2435 : 0 : || !vector_operand (operands[1], E_V4SImode)
2436 : 0 : || GET_MODE (x3) != E_V4SImode)
2437 : 0 : return -1;
2438 : : return 2;
2439 : :
2440 : 34 : case E_V2DImode:
2441 : 34 : if (!register_operand (operands[0], E_V2DImode)
2442 : 14 : || !vector_operand (operands[1], E_V2DImode)
2443 : 48 : || GET_MODE (x3) != E_V2DImode)
2444 : 20 : return -1;
2445 : : return 3;
2446 : :
2447 : 6 : case E_V1TImode:
2448 : 6 : if (!register_operand (operands[0], E_V1TImode)
2449 : 2 : || !vector_operand (operands[1], E_V1TImode)
2450 : 8 : || GET_MODE (x3) != E_V1TImode)
2451 : 4 : return -1;
2452 : : return 4;
2453 : :
2454 : 0 : case E_V4SFmode:
2455 : 0 : if (!register_operand (operands[0], E_V4SFmode)
2456 : 0 : || !vector_operand (operands[1], E_V4SFmode)
2457 : 0 : || GET_MODE (x3) != E_V4SFmode)
2458 : 0 : return -1;
2459 : : return 5;
2460 : :
2461 : 0 : case E_V2DFmode:
2462 : 0 : if (!register_operand (operands[0], E_V2DFmode)
2463 : 0 : || !vector_operand (operands[1], E_V2DFmode)
2464 : 0 : || GET_MODE (x3) != E_V2DFmode)
2465 : 0 : return -1;
2466 : : return 6;
2467 : :
2468 : 0 : case E_V32QImode:
2469 : 0 : if (!register_operand (operands[0], E_V32QImode)
2470 : 0 : || !vector_operand (operands[1], E_V32QImode)
2471 : 0 : || GET_MODE (x3) != E_V32QImode)
2472 : 0 : return -1;
2473 : : return 7;
2474 : :
2475 : 0 : case E_V16HImode:
2476 : 0 : if (!register_operand (operands[0], E_V16HImode)
2477 : 0 : || !vector_operand (operands[1], E_V16HImode)
2478 : 0 : || GET_MODE (x3) != E_V16HImode)
2479 : 0 : return -1;
2480 : : return 8;
2481 : :
2482 : 0 : case E_V8SImode:
2483 : 0 : if (!register_operand (operands[0], E_V8SImode)
2484 : 0 : || !vector_operand (operands[1], E_V8SImode)
2485 : 0 : || GET_MODE (x3) != E_V8SImode)
2486 : 0 : return -1;
2487 : : return 9;
2488 : :
2489 : 20 : case E_V4DImode:
2490 : 20 : if (!register_operand (operands[0], E_V4DImode)
2491 : 10 : || !vector_operand (operands[1], E_V4DImode)
2492 : 30 : || GET_MODE (x3) != E_V4DImode)
2493 : 10 : return -1;
2494 : : return 10;
2495 : :
2496 : 0 : case E_V2TImode:
2497 : 0 : if (!register_operand (operands[0], E_V2TImode)
2498 : 0 : || !vector_operand (operands[1], E_V2TImode)
2499 : 0 : || GET_MODE (x3) != E_V2TImode)
2500 : 0 : return -1;
2501 : : return 11;
2502 : :
2503 : 0 : case E_V8SFmode:
2504 : 0 : if (!register_operand (operands[0], E_V8SFmode)
2505 : 0 : || !vector_operand (operands[1], E_V8SFmode)
2506 : 0 : || GET_MODE (x3) != E_V8SFmode)
2507 : 0 : return -1;
2508 : : return 12;
2509 : :
2510 : 0 : case E_V4DFmode:
2511 : 0 : if (!register_operand (operands[0], E_V4DFmode)
2512 : 0 : || !vector_operand (operands[1], E_V4DFmode)
2513 : 0 : || GET_MODE (x3) != E_V4DFmode)
2514 : 0 : return -1;
2515 : : return 13;
2516 : :
2517 : : default:
2518 : : return -1;
2519 : : }
2520 : : }
2521 : :
2522 : : int
2523 : 170 : pattern647 (rtx x1)
2524 : : {
2525 : 170 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2526 : 170 : int res ATTRIBUTE_UNUSED;
2527 : 170 : if (!register_operand (operands[0], E_V8DImode)
2528 : 170 : || GET_MODE (x1) != E_V8DImode)
2529 : : return -1;
2530 : 112 : switch (GET_MODE (operands[1]))
2531 : : {
2532 : 46 : case E_V8HFmode:
2533 : 46 : if (!vector_operand (operands[1], E_V8HFmode))
2534 : : return -1;
2535 : : return 0;
2536 : :
2537 : 36 : case E_V8DFmode:
2538 : 36 : if (!vector_operand (operands[1], E_V8DFmode))
2539 : : return -1;
2540 : : return 1;
2541 : :
2542 : 30 : case E_V8SFmode:
2543 : 30 : if (!vector_operand (operands[1], E_V8SFmode))
2544 : : return -1;
2545 : : return 2;
2546 : :
2547 : : default:
2548 : : return -1;
2549 : : }
2550 : : }
2551 : :
2552 : : int
2553 : 1007 : pattern654 (rtx x1)
2554 : : {
2555 : 1007 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2556 : 1007 : rtx x2, x3, x4, x5;
2557 : 1007 : int res ATTRIBUTE_UNUSED;
2558 : 1007 : x2 = XVECEXP (x1, 0, 0);
2559 : 1007 : x3 = XEXP (x2, 2);
2560 : 1007 : operands[4] = x3;
2561 : 1007 : x4 = XEXP (x2, 1);
2562 : 1007 : operands[3] = x4;
2563 : 1007 : x5 = XVECEXP (x1, 0, 1);
2564 : 1007 : operands[5] = x5;
2565 : 1007 : switch (GET_MODE (operands[0]))
2566 : : {
2567 : 293 : case E_V32HFmode:
2568 : 293 : return pattern650 (x1,
2569 : : E_V32HFmode,
2570 : 293 : E_SImode); /* [-1, 0] */
2571 : :
2572 : 357 : case E_V16SFmode:
2573 : 357 : if (pattern650 (x1,
2574 : : E_V16SFmode,
2575 : : E_HImode) != 0)
2576 : : return -1;
2577 : : return 1;
2578 : :
2579 : 357 : case E_V8DFmode:
2580 : 357 : if (pattern650 (x1,
2581 : : E_V8DFmode,
2582 : : E_QImode) != 0)
2583 : : return -1;
2584 : : return 2;
2585 : :
2586 : : default:
2587 : : return -1;
2588 : : }
2589 : : }
2590 : :
2591 : : int
2592 : 2397 : pattern661 (rtx x1)
2593 : : {
2594 : 2397 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2595 : 2397 : rtx x2, x3, x4, x5;
2596 : 2397 : int res ATTRIBUTE_UNUSED;
2597 : 2397 : x2 = XVECEXP (x1, 0, 1);
2598 : 2397 : operands[2] = x2;
2599 : 2397 : x3 = XVECEXP (x1, 0, 2);
2600 : 2397 : x4 = XEXP (x3, 0);
2601 : 2397 : operands[3] = x4;
2602 : 2397 : x5 = XEXP (x3, 1);
2603 : 2397 : operands[4] = x5;
2604 : 2397 : switch (GET_CODE (operands[4]))
2605 : : {
2606 : 1759 : case REG:
2607 : 1759 : case SUBREG:
2608 : 1759 : case MEM:
2609 : 1759 : switch (GET_MODE (operands[0]))
2610 : : {
2611 : 308 : case E_V8SFmode:
2612 : 308 : return pattern658 (x1,
2613 : 308 : E_V8SFmode); /* [-1, 0] */
2614 : :
2615 : 967 : case E_V4SFmode:
2616 : 967 : if (pattern658 (x1,
2617 : : E_V4SFmode) != 0)
2618 : : return -1;
2619 : : return 1;
2620 : :
2621 : 233 : case E_V4DFmode:
2622 : 233 : if (pattern658 (x1,
2623 : : E_V4DFmode) != 0)
2624 : : return -1;
2625 : : return 2;
2626 : :
2627 : 224 : case E_V2DFmode:
2628 : 224 : if (pattern658 (x1,
2629 : : E_V2DFmode) != 0)
2630 : : return -1;
2631 : : return 3;
2632 : :
2633 : : default:
2634 : : return -1;
2635 : : }
2636 : :
2637 : 447 : case CONST_INT:
2638 : 447 : case CONST_DOUBLE:
2639 : 447 : case CONST_VECTOR:
2640 : 447 : switch (GET_MODE (operands[0]))
2641 : : {
2642 : 57 : case E_V8SFmode:
2643 : 57 : if (pattern659 (x1,
2644 : : E_V8SImode,
2645 : : E_V8SFmode) != 0)
2646 : : return -1;
2647 : : return 4;
2648 : :
2649 : 92 : case E_V4SFmode:
2650 : 92 : if (pattern659 (x1,
2651 : : E_V4SImode,
2652 : : E_V4SFmode) != 0)
2653 : : return -1;
2654 : : return 5;
2655 : :
2656 : 61 : case E_V4DFmode:
2657 : 61 : if (pattern659 (x1,
2658 : : E_V4DImode,
2659 : : E_V4DFmode) != 0)
2660 : : return -1;
2661 : : return 6;
2662 : :
2663 : 65 : case E_V2DFmode:
2664 : 65 : if (pattern659 (x1,
2665 : : E_V2DImode,
2666 : : E_V2DFmode) != 0)
2667 : : return -1;
2668 : : return 7;
2669 : :
2670 : 53 : case E_V32QImode:
2671 : 53 : if (pattern660 (x1,
2672 : : E_V32QImode) != 0)
2673 : : return -1;
2674 : : return 8;
2675 : :
2676 : 119 : case E_V16QImode:
2677 : 119 : if (pattern660 (x1,
2678 : : E_V16QImode) != 0)
2679 : : return -1;
2680 : : return 9;
2681 : :
2682 : : default:
2683 : : return -1;
2684 : : }
2685 : :
2686 : : default:
2687 : : return -1;
2688 : : }
2689 : : }
2690 : :
2691 : : int
2692 : 14 : pattern681 (rtx x1)
2693 : : {
2694 : 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2695 : 14 : rtx x2, x3, x4, x5, x6, x7;
2696 : 14 : int res ATTRIBUTE_UNUSED;
2697 : 14 : x2 = XEXP (x1, 0);
2698 : 14 : x3 = XEXP (x2, 0);
2699 : 14 : x4 = XEXP (x3, 0);
2700 : 14 : x5 = XEXP (x4, 0);
2701 : 14 : x6 = XEXP (x5, 0);
2702 : 14 : operands[1] = x6;
2703 : 14 : if (!memory_operand (operands[1], E_SImode))
2704 : : return -1;
2705 : 10 : x7 = XEXP (x2, 1);
2706 : 10 : switch (XVECLEN (x7, 0))
2707 : : {
2708 : 7 : case 4:
2709 : 7 : return pattern678 (x1,
2710 : : E_V16QImode,
2711 : 7 : E_V4QImode); /* [-1, 1] */
2712 : :
2713 : 3 : case 2:
2714 : 3 : if (pattern679 (x1,
2715 : : E_V2HImode,
2716 : : E_V8HImode) != 0)
2717 : : return -1;
2718 : : return 2;
2719 : :
2720 : : default:
2721 : : return -1;
2722 : : }
2723 : : }
2724 : :
2725 : : int
2726 : 1487 : pattern688 (rtx x1)
2727 : : {
2728 : 1487 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2729 : 1487 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2730 : 1487 : rtx x10, x11;
2731 : 1487 : int res ATTRIBUTE_UNUSED;
2732 : 1487 : x2 = XVECEXP (x1, 0, 0);
2733 : 1487 : x3 = XEXP (x2, 1);
2734 : 1487 : x4 = XEXP (x3, 0);
2735 : 1487 : x5 = XEXP (x4, 1);
2736 : 1487 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2737 : : return -1;
2738 : 1331 : x6 = XEXP (x3, 1);
2739 : 1331 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2740 : : return -1;
2741 : 1331 : x7 = XVECEXP (x1, 0, 1);
2742 : 1331 : if (GET_CODE (x7) != CLOBBER)
2743 : : return -1;
2744 : 789 : x8 = XEXP (x7, 0);
2745 : 789 : if (GET_CODE (x8) != REG
2746 : 789 : || REGNO (x8) != 17
2747 : 1327 : || GET_MODE (x8) != E_CCmode)
2748 : : return -1;
2749 : 506 : x9 = XEXP (x2, 0);
2750 : 506 : operands[0] = x9;
2751 : 506 : if (!register_operand (operands[0], E_QImode)
2752 : 506 : || GET_MODE (x3) != E_QImode)
2753 : : return -1;
2754 : 502 : x10 = XEXP (x4, 0);
2755 : 502 : operands[1] = x10;
2756 : 502 : x11 = XEXP (x4, 2);
2757 : 502 : operands[2] = x11;
2758 : 502 : if (!register_operand (operands[2], E_QImode))
2759 : : return -1;
2760 : 428 : switch (GET_MODE (x4))
2761 : : {
2762 : 136 : case E_SImode:
2763 : 136 : if (!register_operand (operands[1], E_SImode))
2764 : : return -1;
2765 : : return 0;
2766 : :
2767 : 292 : case E_DImode:
2768 : 292 : if (!register_operand (operands[1], E_DImode))
2769 : : return -1;
2770 : : return 1;
2771 : :
2772 : : default:
2773 : : return -1;
2774 : : }
2775 : : }
2776 : :
2777 : : int
2778 : 166 : pattern704 (rtx x1, machine_mode i1, int i2)
2779 : : {
2780 : 166 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2781 : 166 : rtx x2, x3, x4, x5, x6, x7, x8;
2782 : 166 : int res ATTRIBUTE_UNUSED;
2783 : 166 : x2 = XVECEXP (x1, 0, 0);
2784 : 166 : x3 = XEXP (x2, 1);
2785 : 166 : if (GET_MODE (x3) != E_DImode)
2786 : : return -1;
2787 : 166 : x4 = XVECEXP (x3, 0, 0);
2788 : 166 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2789 : : return -1;
2790 : 166 : x5 = XVECEXP (x1, 0, 1);
2791 : 166 : if (GET_CODE (x5) != SET)
2792 : : return -1;
2793 : 166 : x6 = XEXP (x5, 1);
2794 : 166 : if (GET_CODE (x6) != UNSPEC_VOLATILE
2795 : 166 : || XVECLEN (x6, 0) != 1
2796 : 166 : || XINT (x6, 1) != i2
2797 : 166 : || GET_MODE (x6) != i1)
2798 : : return -1;
2799 : 166 : x7 = XVECEXP (x6, 0, 0);
2800 : 166 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2801 : 166 : || !register_operand (operands[0], E_DImode))
2802 : 0 : return -1;
2803 : 166 : x8 = XEXP (x5, 0);
2804 : 166 : operands[1] = x8;
2805 : 166 : if (!register_operand (operands[1], i1))
2806 : : return -1;
2807 : : return 0;
2808 : : }
2809 : :
2810 : : int
2811 : 105924 : pattern712 (rtx x1, machine_mode i1, machine_mode i2)
2812 : : {
2813 : 105924 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2814 : 105924 : rtx x2, x3, x4;
2815 : 105924 : int res ATTRIBUTE_UNUSED;
2816 : 105924 : if (!nonimmediate_operand (operands[0], i2)
2817 : 105924 : || GET_MODE (x1) != i2)
2818 : : return -1;
2819 : 105859 : x2 = XEXP (x1, 0);
2820 : 105859 : if (GET_MODE (x2) != i2)
2821 : : return -1;
2822 : 105859 : x3 = XEXP (x2, 0);
2823 : 105859 : if (GET_MODE (x3) != i2
2824 : 105859 : || !nonimmediate_operand (operands[1], i1))
2825 : 2025 : return -1;
2826 : 103834 : x4 = XEXP (x1, 1);
2827 : 103834 : if (GET_MODE (x4) != i2
2828 : 103834 : || !nonimmediate_operand (operands[3], i1))
2829 : 1144 : return -1;
2830 : : return 0;
2831 : : }
2832 : :
2833 : : int
2834 : 552 : pattern720 (rtx x1, machine_mode i1, unsigned int i2)
2835 : : {
2836 : 552 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2837 : 552 : rtx x2, x3;
2838 : 552 : int res ATTRIBUTE_UNUSED;
2839 : 552 : x2 = XEXP (x1, 1);
2840 : 552 : if (GET_MODE (x2) != i1)
2841 : : return -1;
2842 : 552 : x3 = XEXP (x1, 0);
2843 : 552 : if (GET_CODE (x3) != REG
2844 : 552 : || REGNO (x3) != i2
2845 : 1104 : || GET_MODE (x3) != i1)
2846 : 0 : return -1;
2847 : : return 0;
2848 : : }
2849 : :
2850 : : int
2851 : 147631 : pattern724 (rtx x1, machine_mode i1)
2852 : : {
2853 : 147631 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2854 : 147631 : rtx x2;
2855 : 147631 : int res ATTRIBUTE_UNUSED;
2856 : 147631 : if (peep2_current_count < 2
2857 : 147631 : || peep2_current_count < 3
2858 : 135087 : || !general_reg_operand (operands[0], i1)
2859 : 254016 : || !general_reg_operand (operands[1], i1))
2860 : 46767 : return -1;
2861 : 100864 : x2 = PATTERN (peep2_next_insn (2));
2862 : 100864 : if (GET_CODE (x2) != SET)
2863 : : return -1;
2864 : 64091 : switch (GET_CODE (x1))
2865 : : {
2866 : : case SET:
2867 : : return 0;
2868 : :
2869 : 27539 : case PARALLEL:
2870 : 27539 : return 1;
2871 : :
2872 : : default:
2873 : : return -1;
2874 : : }
2875 : : }
2876 : :
2877 : : int
2878 : 2421 : pattern732 (rtx x1)
2879 : : {
2880 : 2421 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2881 : 2421 : rtx x2, x3, x4;
2882 : 2421 : int res ATTRIBUTE_UNUSED;
2883 : 2421 : x2 = XVECEXP (x1, 0, 2);
2884 : 2421 : x3 = XEXP (x2, 0);
2885 : 2421 : operands[3] = x3;
2886 : 2421 : x4 = XEXP (x2, 1);
2887 : 2421 : operands[4] = x4;
2888 : 2421 : switch (GET_MODE (operands[0]))
2889 : : {
2890 : 43 : case E_SFmode:
2891 : 43 : return pattern731 (x1,
2892 : 43 : E_SFmode); /* [-1, 0] */
2893 : :
2894 : 0 : case E_DFmode:
2895 : 0 : if (pattern731 (x1,
2896 : : E_DFmode) != 0)
2897 : : return -1;
2898 : : return 1;
2899 : :
2900 : : default:
2901 : : return -1;
2902 : : }
2903 : : }
2904 : :
2905 : : int
2906 : 3550 : pattern739 (rtx x1)
2907 : : {
2908 : 3550 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2909 : 3550 : rtx x2, x3;
2910 : 3550 : int res ATTRIBUTE_UNUSED;
2911 : 3550 : x2 = XEXP (x1, 1);
2912 : 3550 : operands[3] = x2;
2913 : 3550 : switch (GET_MODE (operands[0]))
2914 : : {
2915 : 882 : case E_HImode:
2916 : 882 : if (!register_operand (operands[0], E_HImode)
2917 : 882 : || GET_MODE (x1) != E_HImode)
2918 : : return -1;
2919 : 858 : x3 = XEXP (x1, 0);
2920 : 858 : if (GET_MODE (x3) != E_HImode
2921 : 858 : || !register_operand (operands[3], E_HImode))
2922 : 148 : return -1;
2923 : 710 : return pattern737 (); /* [-1, 2] */
2924 : :
2925 : 1808 : case E_QImode:
2926 : 1808 : if (!register_operand (operands[0], E_QImode)
2927 : 1808 : || GET_MODE (x1) != E_QImode)
2928 : : return -1;
2929 : 1754 : x3 = XEXP (x1, 0);
2930 : 1754 : if (GET_MODE (x3) != E_QImode
2931 : 1754 : || !register_operand (operands[3], E_QImode))
2932 : 304 : return -1;
2933 : 1450 : res = pattern738 ();
2934 : 1450 : if (res >= 0)
2935 : 1444 : return res + 3; /* [3, 8] */
2936 : : return -1;
2937 : :
2938 : : default:
2939 : : return -1;
2940 : : }
2941 : : }
2942 : :
2943 : : int
2944 : 49 : pattern751 (rtx x1, int *pnum_clobbers)
2945 : : {
2946 : 49 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2947 : 49 : rtx x2, x3, x4, x5;
2948 : 49 : int res ATTRIBUTE_UNUSED;
2949 : 49 : if (pnum_clobbers == NULL)
2950 : : return -1;
2951 : 49 : x2 = XEXP (x1, 0);
2952 : 49 : x3 = XEXP (x2, 1);
2953 : 49 : x4 = XEXP (x3, 0);
2954 : 49 : if (GET_CODE (x4) != REG
2955 : 49 : || REGNO (x4) != 17)
2956 : : return -1;
2957 : 25 : x5 = XEXP (x3, 1);
2958 : 25 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2959 : : return -1;
2960 : 25 : return pattern278 (x1); /* [-1, 4] */
2961 : : }
2962 : :
2963 : : int
2964 : 858 : pattern759 (rtx x1)
2965 : : {
2966 : 858 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2967 : 858 : rtx x2, x3, x4, x5, x6;
2968 : 858 : int res ATTRIBUTE_UNUSED;
2969 : 858 : x2 = XEXP (x1, 0);
2970 : 858 : x3 = XEXP (x2, 1);
2971 : 858 : if (maybe_ne (SUBREG_BYTE (x3), 0)
2972 : 858 : || GET_MODE (x3) != E_QImode)
2973 : : return -1;
2974 : 858 : x4 = XEXP (x3, 0);
2975 : 858 : if (GET_CODE (x4) != AND)
2976 : : return -1;
2977 : 160 : x5 = XEXP (x4, 0);
2978 : 160 : operands[1] = x5;
2979 : 160 : if (!int248_register_operand (operands[1], E_VOIDmode))
2980 : : return -1;
2981 : 153 : x6 = XEXP (x4, 1);
2982 : 153 : operands[2] = x6;
2983 : 153 : if (!const_int_operand (operands[2], E_VOIDmode))
2984 : : return -1;
2985 : 153 : return pattern284 (x1); /* [-1, 1] */
2986 : : }
2987 : :
2988 : : int
2989 : 71 : pattern768 (rtx x1)
2990 : : {
2991 : 71 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2992 : 71 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2993 : 71 : int res ATTRIBUTE_UNUSED;
2994 : 71 : x2 = XEXP (x1, 0);
2995 : 71 : x3 = XEXP (x2, 0);
2996 : 71 : x4 = XVECEXP (x3, 0, 0);
2997 : 71 : if (GET_CODE (x4) != VEC_SELECT)
2998 : : return -1;
2999 : 51 : x5 = XEXP (x4, 1);
3000 : 51 : if (GET_CODE (x5) != PARALLEL
3001 : 51 : || XVECLEN (x5, 0) != 1)
3002 : : return -1;
3003 : 51 : x6 = XVECEXP (x5, 0, 0);
3004 : 51 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3005 : : return -1;
3006 : 51 : x7 = XEXP (x4, 0);
3007 : 51 : operands[1] = x7;
3008 : 51 : x8 = XVECEXP (x3, 0, 1);
3009 : 51 : operands[2] = x8;
3010 : 51 : x9 = XEXP (x1, 1);
3011 : 51 : if (!rtx_equal_p (x9, operands[1]))
3012 : : return -1;
3013 : 51 : switch (GET_MODE (operands[0]))
3014 : : {
3015 : 49 : case E_V8HFmode:
3016 : 49 : return pattern767 (x1,
3017 : : E_HFmode,
3018 : 49 : E_V8HFmode); /* [-1, 0] */
3019 : :
3020 : 0 : case E_V4SFmode:
3021 : 0 : if (pattern767 (x1,
3022 : : E_SFmode,
3023 : : E_V4SFmode) != 0)
3024 : : return -1;
3025 : : return 1;
3026 : :
3027 : 2 : case E_V2DFmode:
3028 : 2 : if (pattern767 (x1,
3029 : : E_DFmode,
3030 : : E_V2DFmode) != 0)
3031 : : return -1;
3032 : : return 2;
3033 : :
3034 : : default:
3035 : : return -1;
3036 : : }
3037 : : }
3038 : :
3039 : : int
3040 : 1279 : pattern780 (rtx x1, machine_mode i1, machine_mode i2)
3041 : : {
3042 : 1279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3043 : 1279 : int res ATTRIBUTE_UNUSED;
3044 : 1279 : if (!register_operand (operands[0], i2)
3045 : 1255 : || GET_MODE (x1) != i2
3046 : 1255 : || !register_operand (operands[1], i2)
3047 : 2413 : || !nonimmediate_operand (operands[2], i1))
3048 : 152 : return -1;
3049 : : return 0;
3050 : : }
3051 : :
3052 : : int
3053 : 1322980 : pattern790 (rtx x1, machine_mode i1, machine_mode i2)
3054 : : {
3055 : 1322980 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3056 : 1322980 : rtx x2;
3057 : 1322980 : int res ATTRIBUTE_UNUSED;
3058 : 1322980 : if (!register_operand (operands[0], i2)
3059 : 1077753 : || GET_MODE (x1) != i2
3060 : 2400733 : || !register_operand (operands[1], i1))
3061 : 274081 : return -1;
3062 : 1048899 : x2 = XEXP (x1, 1);
3063 : 1048899 : operands[2] = x2;
3064 : 1048899 : if (!nonimmediate_operand (operands[2], i1))
3065 : : return -1;
3066 : : return 0;
3067 : : }
3068 : :
3069 : : int
3070 : 102346 : pattern796 (machine_mode i1)
3071 : : {
3072 : 102346 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3073 : 102346 : int res ATTRIBUTE_UNUSED;
3074 : 102346 : if (!register_operand (operands[0], i1)
3075 : 99488 : || !ix86_comparison_uns_operator (operands[1], i1)
3076 : 99416 : || !register_operand (operands[2], i1)
3077 : 160533 : || !nonimmediate_operand (operands[3], i1))
3078 : 101192 : return -1;
3079 : : return 0;
3080 : : }
3081 : :
3082 : : int
3083 : 1234043 : pattern805 (rtx x1)
3084 : : {
3085 : 1234043 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3086 : 1234043 : rtx x2, x3, x4, x5, x6;
3087 : 1234043 : int res ATTRIBUTE_UNUSED;
3088 : 1234043 : if (!movq_parallel (operands[3], E_VOIDmode))
3089 : : return -1;
3090 : 96127 : x2 = XEXP (x1, 0);
3091 : 96127 : x3 = XEXP (x2, 0);
3092 : 96127 : operands[1] = x3;
3093 : 96127 : x4 = XEXP (x2, 1);
3094 : 96127 : operands[2] = x4;
3095 : 96127 : x5 = XEXP (x1, 1);
3096 : 96127 : x6 = XVECEXP (x5, 0, 0);
3097 : 96127 : operands[4] = x6;
3098 : 96127 : if (!const_int_operand (operands[4], E_VOIDmode))
3099 : : return -1;
3100 : 96127 : switch (GET_MODE (operands[0]))
3101 : : {
3102 : 24 : case E_V64QImode:
3103 : 24 : return pattern799 (x1,
3104 : : E_V64QImode,
3105 : 24 : E_V128QImode); /* [-1, 0] */
3106 : :
3107 : 28 : case E_V32QImode:
3108 : 28 : if (pattern799 (x1,
3109 : : E_V32QImode,
3110 : : E_V64QImode) != 0)
3111 : : return -1;
3112 : : return 1;
3113 : :
3114 : 96 : case E_V16QImode:
3115 : 96 : if (pattern799 (x1,
3116 : : E_V16QImode,
3117 : : E_V32QImode) != 0)
3118 : : return -1;
3119 : : return 2;
3120 : :
3121 : 46 : case E_V32HImode:
3122 : 46 : if (pattern799 (x1,
3123 : : E_V32HImode,
3124 : : E_V64HImode) != 0)
3125 : : return -1;
3126 : : return 3;
3127 : :
3128 : 50 : case E_V16HImode:
3129 : 50 : if (pattern799 (x1,
3130 : : E_V16HImode,
3131 : : E_V32HImode) != 0)
3132 : : return -1;
3133 : : return 4;
3134 : :
3135 : 131 : case E_V8HImode:
3136 : 131 : if (pattern799 (x1,
3137 : : E_V8HImode,
3138 : : E_V16HImode) != 0)
3139 : : return -1;
3140 : : return 5;
3141 : :
3142 : : default:
3143 : : return -1;
3144 : : }
3145 : : }
3146 : :
3147 : : int
3148 : 12066 : pattern816 (rtx x1)
3149 : : {
3150 : 12066 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3151 : 12066 : rtx x2;
3152 : 12066 : int res ATTRIBUTE_UNUSED;
3153 : 12066 : if (GET_MODE (x1) != E_SImode)
3154 : : return -1;
3155 : 12066 : x2 = XVECEXP (x1, 0, 3);
3156 : 12066 : if (GET_CODE (x2) != REG
3157 : 12066 : || REGNO (x2) != 7
3158 : 24132 : || GET_MODE (x2) != E_SImode)
3159 : 0 : return -1;
3160 : : return 0;
3161 : : }
3162 : :
3163 : : int
3164 : 63353 : pattern822 (rtx x1)
3165 : : {
3166 : 63353 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3167 : 63353 : rtx x2, x3;
3168 : 63353 : int res ATTRIBUTE_UNUSED;
3169 : 63353 : switch (GET_CODE (x1))
3170 : : {
3171 : 59265 : case CLOBBER:
3172 : 59265 : x2 = XEXP (x1, 0);
3173 : 59265 : if (GET_CODE (x2) != REG
3174 : 59265 : || REGNO (x2) != 17
3175 : 118530 : || GET_MODE (x2) != E_CCmode)
3176 : 0 : return -1;
3177 : : return 0;
3178 : :
3179 : 705 : case UNSPEC:
3180 : 705 : if (XVECLEN (x1, 0) != 1
3181 : 705 : || XINT (x1, 1) != 175)
3182 : : return -1;
3183 : 705 : x3 = XVECEXP (x1, 0, 0);
3184 : 705 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3185 : : return -1;
3186 : 705 : switch (GET_MODE (operands[0]))
3187 : : {
3188 : : case E_QImode:
3189 : : return 1;
3190 : :
3191 : : case E_HImode:
3192 : : return 2;
3193 : :
3194 : : case E_SImode:
3195 : : return 3;
3196 : :
3197 : : case E_DImode:
3198 : : return 4;
3199 : :
3200 : : default:
3201 : : return -1;
3202 : : }
3203 : :
3204 : : default:
3205 : : return -1;
3206 : : }
3207 : : }
3208 : :
3209 : : int
3210 : 7634 : pattern830 (rtx x1, machine_mode i1)
3211 : : {
3212 : 7634 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3213 : 7634 : int res ATTRIBUTE_UNUSED;
3214 : 7634 : if (!register_operand (operands[0], i1)
3215 : 4115 : || GET_MODE (x1) != i1
3216 : 4115 : || !register_operand (operands[1], i1)
3217 : 7657 : || !nonmemory_operand (operands[2], i1))
3218 : 7634 : return -1;
3219 : : return 0;
3220 : : }
3221 : :
3222 : : int
3223 : 7825 : pattern834 (rtx x1)
3224 : : {
3225 : 7825 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3226 : 7825 : rtx x2, x3, x4, x5;
3227 : 7825 : int res ATTRIBUTE_UNUSED;
3228 : 7825 : if (!register_operand (operands[0], E_TFmode))
3229 : : return -1;
3230 : 4648 : x2 = XVECEXP (x1, 0, 0);
3231 : 4648 : x3 = XEXP (x2, 1);
3232 : 4648 : if (GET_MODE (x3) != E_TFmode
3233 : 4648 : || !vector_operand (operands[1], E_TFmode))
3234 : 0 : return -1;
3235 : 4648 : x4 = XVECEXP (x1, 0, 1);
3236 : 4648 : x5 = XEXP (x4, 0);
3237 : 4648 : operands[2] = x5;
3238 : 4648 : if (!vector_operand (operands[2], E_TFmode))
3239 : : return -1;
3240 : : return 0;
3241 : : }
3242 : :
3243 : : int
3244 : 960104 : pattern840 (rtx x1, machine_mode i1)
3245 : : {
3246 : 960104 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3247 : 960104 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3248 : 960104 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3249 : 960104 : rtx x18;
3250 : 960104 : int res ATTRIBUTE_UNUSED;
3251 : 960104 : if (peep2_current_count < 4
3252 : 960104 : || peep2_current_count < 5
3253 : 519670 : || !memory_operand (operands[1], i1)
3254 : 1099193 : || !register_operand (operands[0], i1))
3255 : 821204 : return -1;
3256 : 138900 : x2 = XEXP (x1, 0);
3257 : 138900 : operands[3] = x2;
3258 : 138900 : if (!register_operand (operands[3], i1))
3259 : : return -1;
3260 : 22363 : x3 = XEXP (x1, 1);
3261 : 22363 : if (!rtx_equal_p (x3, operands[0]))
3262 : : return -1;
3263 : 5019 : x4 = PATTERN (peep2_next_insn (2));
3264 : 5019 : if (GET_CODE (x4) != PARALLEL
3265 : 3023 : || XVECLEN (x4, 0) != 2)
3266 : : return -1;
3267 : 3007 : x5 = XVECEXP (x4, 0, 0);
3268 : 3007 : if (GET_CODE (x5) != SET)
3269 : : return -1;
3270 : 3007 : x6 = XEXP (x5, 1);
3271 : 3007 : if (GET_CODE (x6) != XOR)
3272 : : return -1;
3273 : 111 : x7 = XVECEXP (x4, 0, 1);
3274 : 111 : if (GET_CODE (x7) != CLOBBER)
3275 : : return -1;
3276 : 111 : x8 = XEXP (x7, 0);
3277 : 111 : if (GET_CODE (x8) != REG
3278 : 111 : || REGNO (x8) != 17
3279 : 222 : || GET_MODE (x8) != E_CCmode)
3280 : : return -1;
3281 : 111 : x9 = XEXP (x5, 0);
3282 : 111 : operands[4] = x9;
3283 : 111 : x10 = XEXP (x6, 1);
3284 : 111 : operands[2] = x10;
3285 : 111 : x11 = XEXP (x6, 0);
3286 : 111 : if (!rtx_equal_p (x11, operands[4]))
3287 : : return -1;
3288 : 109 : x12 = PATTERN (peep2_next_insn (3));
3289 : 109 : if (GET_CODE (x12) != SET)
3290 : : return -1;
3291 : 105 : x13 = XEXP (x12, 0);
3292 : 105 : if (!rtx_equal_p (x13, operands[1]))
3293 : : return -1;
3294 : 23 : x14 = PATTERN (peep2_next_insn (4));
3295 : 23 : if (GET_CODE (x14) != SET)
3296 : : return -1;
3297 : 21 : x15 = XEXP (x14, 1);
3298 : 21 : if (GET_CODE (x15) != COMPARE
3299 : 17 : || GET_MODE (x15) != E_CCZmode)
3300 : : return -1;
3301 : 17 : x16 = XEXP (x14, 0);
3302 : 17 : if (GET_CODE (x16) != REG
3303 : 17 : || REGNO (x16) != 17
3304 : 34 : || GET_MODE (x16) != E_CCZmode)
3305 : : return -1;
3306 : 17 : x17 = XEXP (x15, 0);
3307 : 17 : if (!register_operand (x17, i1))
3308 : : return -1;
3309 : 17 : x18 = XEXP (x15, 1);
3310 : 17 : if (!nonmemory_operand (x18, i1))
3311 : : return -1;
3312 : : return 0;
3313 : : }
3314 : :
3315 : : int
3316 : 41481 : pattern858 (rtx x1, machine_mode i1)
3317 : : {
3318 : 41481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3319 : 41481 : int res ATTRIBUTE_UNUSED;
3320 : 41481 : if (!register_operand (operands[0], i1)
3321 : 31754 : || !binary_fp_operator (operands[3], i1)
3322 : 31754 : || !register_operand (operands[1], i1)
3323 : 73006 : || GET_MODE (x1) != i1)
3324 : 9956 : return -1;
3325 : 31525 : switch (GET_MODE (operands[2]))
3326 : : {
3327 : 16 : case E_HImode:
3328 : 16 : if (!nonimmediate_operand (operands[2], E_HImode))
3329 : : return -1;
3330 : : return 0;
3331 : :
3332 : 30535 : case E_SImode:
3333 : 30535 : if (!nonimmediate_operand (operands[2], E_SImode))
3334 : : return -1;
3335 : : return 1;
3336 : :
3337 : : default:
3338 : : return -1;
3339 : : }
3340 : : }
3341 : :
3342 : : int
3343 : 844 : pattern869 (rtx x1, machine_mode i1)
3344 : : {
3345 : 844 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3346 : 844 : rtx x2, x3;
3347 : 844 : int res ATTRIBUTE_UNUSED;
3348 : 844 : if (!register_operand (operands[0], i1)
3349 : 844 : || GET_MODE (x1) != i1)
3350 : : return -1;
3351 : 813 : x2 = XEXP (x1, 0);
3352 : 813 : if (GET_MODE (x2) != i1
3353 : 813 : || !bcst_vector_operand (operands[1], i1)
3354 : 1610 : || !bcst_vector_operand (operands[2], i1))
3355 : 22 : return -1;
3356 : 791 : x3 = XEXP (x1, 2);
3357 : 791 : if (GET_MODE (x3) != i1
3358 : 791 : || !bcst_vector_operand (operands[3], i1))
3359 : 51 : return -1;
3360 : : return 0;
3361 : : }
3362 : :
3363 : : int
3364 : 1580 : pattern877 (rtx x1, machine_mode i1)
3365 : : {
3366 : 1580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3367 : 1580 : rtx x2;
3368 : 1580 : int res ATTRIBUTE_UNUSED;
3369 : 1580 : if (!register_operand (operands[0], i1)
3370 : 1580 : || GET_MODE (x1) != i1)
3371 : : return -1;
3372 : 1516 : x2 = XVECEXP (x1, 0, 0);
3373 : 1516 : if (GET_MODE (x2) != i1)
3374 : : return -1;
3375 : 1516 : switch (GET_MODE (operands[1]))
3376 : : {
3377 : 488 : case E_V8HFmode:
3378 : 488 : if (!register_operand (operands[1], E_V8HFmode))
3379 : : return -1;
3380 : : return 0;
3381 : :
3382 : 514 : case E_V4SFmode:
3383 : 514 : if (!register_operand (operands[1], E_V4SFmode))
3384 : : return -1;
3385 : : return 1;
3386 : :
3387 : 514 : case E_V2DFmode:
3388 : 514 : if (!register_operand (operands[1], E_V2DFmode))
3389 : : return -1;
3390 : : return 2;
3391 : :
3392 : : default:
3393 : : return -1;
3394 : : }
3395 : : }
3396 : :
3397 : : int
3398 : 264 : pattern890 (rtx x1, machine_mode i1)
3399 : : {
3400 : 264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3401 : 264 : rtx x2;
3402 : 264 : int res ATTRIBUTE_UNUSED;
3403 : 264 : if (!register_operand (operands[0], i1)
3404 : 264 : || GET_MODE (x1) != i1)
3405 : : return -1;
3406 : 258 : x2 = XEXP (x1, 0);
3407 : 258 : if (GET_MODE (x2) != i1
3408 : 258 : || !nonimmediate_operand (operands[1], i1)
3409 : 490 : || !register_operand (operands[2], i1))
3410 : 46 : return -1;
3411 : : return 0;
3412 : : }
3413 : :
3414 : : int
3415 : 1358 : pattern896 (rtx x1)
3416 : : {
3417 : 1358 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3418 : 1358 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3419 : 1358 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3420 : 1358 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
3421 : 1358 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
3422 : 1358 : int res ATTRIBUTE_UNUSED;
3423 : 1358 : x2 = XVECEXP (x1, 0, 0);
3424 : 1358 : if (GET_CODE (x2) != CONST_INT)
3425 : : return -1;
3426 : 1358 : x3 = XVECEXP (x1, 0, 1);
3427 : 1358 : if (GET_CODE (x3) != CONST_INT)
3428 : : return -1;
3429 : 1358 : x4 = XVECEXP (x1, 0, 2);
3430 : 1358 : if (GET_CODE (x4) != CONST_INT)
3431 : : return -1;
3432 : 1358 : x5 = XVECEXP (x1, 0, 3);
3433 : 1358 : if (GET_CODE (x5) != CONST_INT)
3434 : : return -1;
3435 : 1358 : x6 = XVECEXP (x1, 0, 4);
3436 : 1358 : if (GET_CODE (x6) != CONST_INT)
3437 : : return -1;
3438 : 1358 : x7 = XVECEXP (x1, 0, 5);
3439 : 1358 : if (GET_CODE (x7) != CONST_INT)
3440 : : return -1;
3441 : 1358 : x8 = XVECEXP (x1, 0, 6);
3442 : 1358 : if (GET_CODE (x8) != CONST_INT)
3443 : : return -1;
3444 : 1358 : x9 = XVECEXP (x1, 0, 7);
3445 : 1358 : if (GET_CODE (x9) != CONST_INT)
3446 : : return -1;
3447 : 1358 : x10 = XVECEXP (x1, 0, 8);
3448 : 1358 : if (GET_CODE (x10) != CONST_INT)
3449 : : return -1;
3450 : 1358 : x11 = XVECEXP (x1, 0, 9);
3451 : 1358 : if (GET_CODE (x11) != CONST_INT)
3452 : : return -1;
3453 : 1358 : x12 = XVECEXP (x1, 0, 10);
3454 : 1358 : if (GET_CODE (x12) != CONST_INT)
3455 : : return -1;
3456 : 1358 : x13 = XVECEXP (x1, 0, 11);
3457 : 1358 : if (GET_CODE (x13) != CONST_INT)
3458 : : return -1;
3459 : 1358 : x14 = XVECEXP (x1, 0, 12);
3460 : 1358 : if (GET_CODE (x14) != CONST_INT)
3461 : : return -1;
3462 : 1358 : x15 = XVECEXP (x1, 0, 13);
3463 : 1358 : if (GET_CODE (x15) != CONST_INT)
3464 : : return -1;
3465 : 1358 : x16 = XVECEXP (x1, 0, 14);
3466 : 1358 : if (GET_CODE (x16) != CONST_INT)
3467 : : return -1;
3468 : 1358 : x17 = XVECEXP (x1, 0, 15);
3469 : 1358 : if (GET_CODE (x17) != CONST_INT)
3470 : : return -1;
3471 : 1358 : x18 = XVECEXP (x1, 0, 16);
3472 : 1358 : if (GET_CODE (x18) != CONST_INT)
3473 : : return -1;
3474 : 1358 : x19 = XVECEXP (x1, 0, 17);
3475 : 1358 : if (GET_CODE (x19) != CONST_INT)
3476 : : return -1;
3477 : 1358 : x20 = XVECEXP (x1, 0, 18);
3478 : 1358 : if (GET_CODE (x20) != CONST_INT)
3479 : : return -1;
3480 : 1358 : x21 = XVECEXP (x1, 0, 19);
3481 : 1358 : if (GET_CODE (x21) != CONST_INT)
3482 : : return -1;
3483 : 1358 : x22 = XVECEXP (x1, 0, 20);
3484 : 1358 : if (GET_CODE (x22) != CONST_INT)
3485 : : return -1;
3486 : 1358 : x23 = XVECEXP (x1, 0, 21);
3487 : 1358 : if (GET_CODE (x23) != CONST_INT)
3488 : : return -1;
3489 : 1358 : x24 = XVECEXP (x1, 0, 22);
3490 : 1358 : if (GET_CODE (x24) != CONST_INT)
3491 : : return -1;
3492 : 1358 : x25 = XVECEXP (x1, 0, 23);
3493 : 1358 : if (GET_CODE (x25) != CONST_INT)
3494 : : return -1;
3495 : 1358 : x26 = XVECEXP (x1, 0, 24);
3496 : 1358 : if (GET_CODE (x26) != CONST_INT)
3497 : : return -1;
3498 : 1358 : x27 = XVECEXP (x1, 0, 25);
3499 : 1358 : if (GET_CODE (x27) != CONST_INT)
3500 : : return -1;
3501 : 1358 : x28 = XVECEXP (x1, 0, 26);
3502 : 1358 : if (GET_CODE (x28) != CONST_INT)
3503 : : return -1;
3504 : 1358 : x29 = XVECEXP (x1, 0, 27);
3505 : 1358 : if (GET_CODE (x29) != CONST_INT)
3506 : : return -1;
3507 : 1358 : x30 = XVECEXP (x1, 0, 28);
3508 : 1358 : if (GET_CODE (x30) != CONST_INT)
3509 : : return -1;
3510 : 1358 : x31 = XVECEXP (x1, 0, 29);
3511 : 1358 : if (GET_CODE (x31) != CONST_INT)
3512 : : return -1;
3513 : 1358 : x32 = XVECEXP (x1, 0, 30);
3514 : 1358 : if (GET_CODE (x32) != CONST_INT)
3515 : : return -1;
3516 : 1358 : x33 = XVECEXP (x1, 0, 31);
3517 : 1358 : if (GET_CODE (x33) != CONST_INT)
3518 : 0 : return -1;
3519 : : return 0;
3520 : : }
3521 : :
3522 : : int
3523 : 635 : pattern926 (rtx x1, machine_mode i1, machine_mode i2)
3524 : : {
3525 : 635 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3526 : 635 : rtx x2;
3527 : 635 : int res ATTRIBUTE_UNUSED;
3528 : 635 : if (!register_operand (operands[0], i1)
3529 : 635 : || GET_MODE (x1) != i1)
3530 : : return -1;
3531 : 604 : x2 = XEXP (x1, 0);
3532 : 604 : if (GET_MODE (x2) != i2
3533 : 604 : || !nonimmediate_operand (operands[1], i1))
3534 : 25 : return -1;
3535 : : return 0;
3536 : : }
3537 : :
3538 : : int
3539 : 67192 : pattern929 (rtx x1, machine_mode i1)
3540 : : {
3541 : 67192 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3542 : 67192 : int res ATTRIBUTE_UNUSED;
3543 : 67192 : if (!register_operand (operands[0], i1)
3544 : 66702 : || GET_MODE (x1) != i1
3545 : 66702 : || !bcst_vector_operand (operands[1], i1)
3546 : 133229 : || !vector_all_ones_operand (operands[2], i1))
3547 : 62989 : return -1;
3548 : : return 0;
3549 : : }
3550 : :
3551 : : int
3552 : 28 : pattern935 (rtx x1)
3553 : : {
3554 : 28 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3555 : 28 : rtx x2, x3, x4, x5;
3556 : 28 : int res ATTRIBUTE_UNUSED;
3557 : 28 : x2 = XVECEXP (x1, 0, 1);
3558 : 28 : x3 = XEXP (x2, 0);
3559 : 28 : operands[2] = x3;
3560 : 28 : if (!memory_operand (operands[2], E_DImode))
3561 : : return -1;
3562 : 28 : x4 = XVECEXP (x1, 0, 0);
3563 : 28 : x5 = XEXP (x4, 1);
3564 : 28 : return pattern392 (x5); /* [-1, 2] */
3565 : : }
3566 : :
3567 : : int
3568 : 231 : pattern939 (rtx x1, machine_mode i1)
3569 : : {
3570 : 231 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3571 : 231 : rtx x2, x3;
3572 : 231 : int res ATTRIBUTE_UNUSED;
3573 : 231 : if (!nonimmediate_operand (operands[0], i1)
3574 : 231 : || GET_MODE (x1) != i1)
3575 : : return -1;
3576 : 231 : x2 = XEXP (x1, 0);
3577 : 231 : if (GET_MODE (x2) != i1
3578 : 231 : || !nonimmediate_operand (operands[1], i1))
3579 : 46 : return -1;
3580 : 185 : x3 = XEXP (x2, 1);
3581 : 185 : if (GET_MODE (x3) != i1
3582 : 185 : || !x86_64_immediate_operand (operands[2], i1))
3583 : 18 : return -1;
3584 : : return 0;
3585 : : }
3586 : :
3587 : : int
3588 : 23568 : pattern947 (rtx x1)
3589 : : {
3590 : 23568 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3591 : 23568 : rtx x2, x3, x4, x5, x6;
3592 : 23568 : int res ATTRIBUTE_UNUSED;
3593 : 23568 : x2 = XEXP (x1, 0);
3594 : 23568 : operands[0] = x2;
3595 : 23568 : x3 = XEXP (x1, 1);
3596 : 23568 : x4 = XEXP (x3, 0);
3597 : 23568 : x5 = XEXP (x4, 0);
3598 : 23568 : operands[1] = x5;
3599 : 23568 : x6 = XEXP (x3, 1);
3600 : 23568 : if (!rtx_equal_p (x6, operands[1]))
3601 : : return -1;
3602 : 872 : switch (GET_MODE (operands[0]))
3603 : : {
3604 : 377 : case E_SImode:
3605 : 377 : return pattern931 (x3,
3606 : 377 : E_SImode); /* [-1, 0] */
3607 : :
3608 : 477 : case E_DImode:
3609 : 477 : if (pattern931 (x3,
3610 : : E_DImode) != 0)
3611 : : return -1;
3612 : : return 1;
3613 : :
3614 : : default:
3615 : : return -1;
3616 : : }
3617 : : }
3618 : :
3619 : : int
3620 : 5859579 : pattern959 (rtx x1, machine_mode i1)
3621 : : {
3622 : 5859579 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3623 : 5859579 : rtx x2, x3, x4, x5;
3624 : 5859579 : int res ATTRIBUTE_UNUSED;
3625 : 5859579 : x2 = XEXP (x1, 0);
3626 : 5859579 : operands[2] = x2;
3627 : 5859579 : x3 = XEXP (x1, 1);
3628 : 5859579 : operands[3] = x3;
3629 : 5859579 : if (!general_gr_operand (operands[3], i1))
3630 : : return -1;
3631 : 4540844 : x4 = PATTERN (peep2_next_insn (1));
3632 : 4540844 : x5 = XEXP (x4, 1);
3633 : 4540844 : return pattern958 (x5,
3634 : 4540844 : i1); /* [-1, 0] */
3635 : : }
3636 : :
3637 : : int
3638 : 17042 : pattern962 (rtx x1)
3639 : : {
3640 : 17042 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3641 : 17042 : int res ATTRIBUTE_UNUSED;
3642 : 17042 : switch (GET_MODE (operands[0]))
3643 : : {
3644 : 13808 : case E_HImode:
3645 : 13808 : if (!register_operand (operands[0], E_HImode)
3646 : 13808 : || GET_MODE (x1) != E_HImode)
3647 : : return -1;
3648 : 13789 : switch (GET_MODE (operands[1]))
3649 : : {
3650 : 157 : case E_V16QImode:
3651 : 157 : if (!nonimm_or_0_operand (operands[1], E_V16QImode)
3652 : 157 : || !nonimm_or_0_operand (operands[2], E_V16QImode))
3653 : 24 : return -1;
3654 : : return 0;
3655 : :
3656 : 288 : case E_V16HImode:
3657 : 288 : if (!nonimm_or_0_operand (operands[1], E_V16HImode)
3658 : 288 : || !nonimm_or_0_operand (operands[2], E_V16HImode))
3659 : 26 : return -1;
3660 : : return 1;
3661 : :
3662 : 13289 : case E_V16SImode:
3663 : 13289 : if (!nonimm_or_0_operand (operands[1], E_V16SImode)
3664 : 13289 : || !nonimm_or_0_operand (operands[2], E_V16SImode))
3665 : 21 : return -1;
3666 : : return 2;
3667 : :
3668 : : default:
3669 : : return -1;
3670 : : }
3671 : :
3672 : 1393 : case E_QImode:
3673 : 1393 : if (!register_operand (operands[0], E_QImode)
3674 : 1393 : || GET_MODE (x1) != E_QImode)
3675 : : return -1;
3676 : 1353 : switch (GET_MODE (operands[1]))
3677 : : {
3678 : 174 : case E_V8HImode:
3679 : 174 : if (!nonimm_or_0_operand (operands[1], E_V8HImode)
3680 : 174 : || !nonimm_or_0_operand (operands[2], E_V8HImode))
3681 : 8 : return -1;
3682 : : return 3;
3683 : :
3684 : 220 : case E_V8SImode:
3685 : 220 : if (!nonimm_or_0_operand (operands[1], E_V8SImode)
3686 : 220 : || !nonimm_or_0_operand (operands[2], E_V8SImode))
3687 : 26 : return -1;
3688 : : return 4;
3689 : :
3690 : 236 : case E_V4SImode:
3691 : 236 : if (!nonimm_or_0_operand (operands[1], E_V4SImode)
3692 : 236 : || !nonimm_or_0_operand (operands[2], E_V4SImode))
3693 : 28 : return -1;
3694 : : return 5;
3695 : :
3696 : 179 : case E_V8DImode:
3697 : 179 : if (!nonimm_or_0_operand (operands[1], E_V8DImode)
3698 : 179 : || !nonimm_or_0_operand (operands[2], E_V8DImode))
3699 : 32 : return -1;
3700 : : return 6;
3701 : :
3702 : 191 : case E_V4DImode:
3703 : 191 : if (!nonimm_or_0_operand (operands[1], E_V4DImode)
3704 : 191 : || !nonimm_or_0_operand (operands[2], E_V4DImode))
3705 : 32 : return -1;
3706 : : return 7;
3707 : :
3708 : 180 : case E_V2DImode:
3709 : 180 : if (!nonimm_or_0_operand (operands[1], E_V2DImode)
3710 : 180 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3711 : 37 : return -1;
3712 : : return 8;
3713 : :
3714 : : default:
3715 : : return -1;
3716 : : }
3717 : :
3718 : : default:
3719 : : return -1;
3720 : : }
3721 : : }
3722 : :
3723 : : int
3724 : 0 : pattern979 (rtx x1)
3725 : : {
3726 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3727 : 0 : rtx x2, x3, x4, x5, x6, x7;
3728 : 0 : int res ATTRIBUTE_UNUSED;
3729 : 0 : x2 = XEXP (x1, 2);
3730 : 0 : if (GET_CODE (x2) != UNSPEC
3731 : 0 : || XVECLEN (x2, 0) != 3
3732 : 0 : || XINT (x2, 1) != 60)
3733 : : return -1;
3734 : 0 : x3 = XVECEXP (x2, 0, 2);
3735 : 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3736 : : return -1;
3737 : 0 : x4 = XEXP (x1, 0);
3738 : 0 : operands[3] = x4;
3739 : 0 : x5 = XEXP (x1, 1);
3740 : 0 : operands[4] = x5;
3741 : 0 : x6 = XVECEXP (x2, 0, 0);
3742 : 0 : operands[1] = x6;
3743 : 0 : x7 = XVECEXP (x2, 0, 1);
3744 : 0 : operands[2] = x7;
3745 : 0 : switch (GET_MODE (x1))
3746 : : {
3747 : 0 : case E_V32QImode:
3748 : 0 : return pattern978 (x2,
3749 : : E_V32QImode,
3750 : 0 : E_SImode); /* [-1, 0] */
3751 : :
3752 : 0 : case E_V16QImode:
3753 : 0 : if (pattern978 (x2,
3754 : : E_V16QImode,
3755 : : E_HImode) != 0)
3756 : : return -1;
3757 : : return 1;
3758 : :
3759 : : default:
3760 : : return -1;
3761 : : }
3762 : : }
3763 : :
3764 : : int
3765 : 24 : pattern986 (rtx x1)
3766 : : {
3767 : 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3768 : 24 : rtx x2;
3769 : 24 : int res ATTRIBUTE_UNUSED;
3770 : 24 : if (!register_operand (operands[0], E_SImode)
3771 : 24 : || GET_MODE (x1) != E_SImode)
3772 : : return -1;
3773 : 24 : x2 = XEXP (x1, 0);
3774 : 24 : if (GET_MODE (x2) != E_SImode)
3775 : : return -1;
3776 : 24 : switch (GET_MODE (operands[1]))
3777 : : {
3778 : 0 : case E_V32HFmode:
3779 : 0 : if (!register_operand (operands[1], E_V32HFmode)
3780 : 0 : || !nonimmediate_operand (operands[2], E_V32HFmode)
3781 : 0 : || !const_0_to_31_operand (operands[3], E_SImode))
3782 : 0 : return -1;
3783 : : return 0;
3784 : :
3785 : 3 : case E_V32QImode:
3786 : 3 : if (!register_operand (operands[1], E_V32QImode)
3787 : 3 : || !nonimmediate_operand (operands[2], E_V32QImode)
3788 : 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3789 : 0 : return -1;
3790 : : return 1;
3791 : :
3792 : 21 : case E_V32HImode:
3793 : 21 : if (!register_operand (operands[1], E_V32HImode)
3794 : 21 : || !nonimmediate_operand (operands[2], E_V32HImode)
3795 : 42 : || !const_0_to_7_operand (operands[3], E_SImode))
3796 : 0 : return -1;
3797 : : return 2;
3798 : :
3799 : : default:
3800 : : return -1;
3801 : : }
3802 : : }
3803 : :
3804 : : int
3805 : 1431 : pattern994 (rtx x1)
3806 : : {
3807 : 1431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3808 : 1431 : rtx x2;
3809 : 1431 : int res ATTRIBUTE_UNUSED;
3810 : 1431 : if (!register_operand (operands[0], E_V2DImode)
3811 : 1431 : || GET_MODE (x1) != E_V2DImode)
3812 : : return -1;
3813 : 1372 : x2 = XEXP (x1, 0);
3814 : 1372 : if (GET_MODE (x2) != E_V2DImode
3815 : 1372 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
3816 : 2718 : || !register_operand (operands[3], E_QImode))
3817 : 68 : return -1;
3818 : 1304 : switch (GET_MODE (operands[1]))
3819 : : {
3820 : 412 : case E_V8HFmode:
3821 : 412 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
3822 : : return -1;
3823 : : return 0;
3824 : :
3825 : 442 : case E_V2DFmode:
3826 : 442 : if (!vector_operand (operands[1], E_V2DFmode))
3827 : : return -1;
3828 : : return 1;
3829 : :
3830 : 450 : case E_V4SFmode:
3831 : 450 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3832 : : return -1;
3833 : : return 2;
3834 : :
3835 : : default:
3836 : : return -1;
3837 : : }
3838 : : }
3839 : :
3840 : : int
3841 : 2254 : pattern1008 (rtx x1, machine_mode i1, machine_mode i2)
3842 : : {
3843 : 2254 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3844 : 2254 : rtx x2;
3845 : 2254 : int res ATTRIBUTE_UNUSED;
3846 : 2254 : if (!register_operand (operands[0], i1)
3847 : 2254 : || GET_MODE (x1) != i1)
3848 : : return -1;
3849 : 2177 : x2 = XEXP (x1, 0);
3850 : 2177 : if (GET_MODE (x2) != i1
3851 : 2177 : || !register_operand (operands[1], i1)
3852 : 1981 : || !bcst_vector_operand (operands[2], i1)
3853 : 1878 : || !nonimm_or_0_operand (operands[3], i1)
3854 : 4024 : || !register_operand (operands[4], i2))
3855 : 330 : return -1;
3856 : : return 0;
3857 : : }
3858 : :
3859 : : int
3860 : 1598 : pattern1015 (rtx x1)
3861 : : {
3862 : 1598 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3863 : 1598 : rtx x2, x3, x4;
3864 : 1598 : int res ATTRIBUTE_UNUSED;
3865 : 1598 : if (!const_0_to_3_operand (operands[2], E_VOIDmode))
3866 : : return -1;
3867 : 1507 : x2 = XVECEXP (x1, 0, 1);
3868 : 1507 : operands[3] = x2;
3869 : 1507 : if (!const_0_to_3_operand (operands[3], E_VOIDmode))
3870 : : return -1;
3871 : 1491 : x3 = XVECEXP (x1, 0, 2);
3872 : 1491 : operands[4] = x3;
3873 : 1491 : if (!const_0_to_3_operand (operands[4], E_VOIDmode))
3874 : : return -1;
3875 : 1483 : x4 = XVECEXP (x1, 0, 3);
3876 : 1483 : operands[5] = x4;
3877 : 1483 : if (!const_0_to_3_operand (operands[5], E_VOIDmode))
3878 : : return -1;
3879 : : return 0;
3880 : : }
3881 : :
3882 : : int
3883 : 122 : pattern1026 (rtx x1)
3884 : : {
3885 : 122 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3886 : 122 : rtx x2;
3887 : 122 : int res ATTRIBUTE_UNUSED;
3888 : 122 : if (!register_operand (operands[0], E_V16HFmode)
3889 : 122 : || GET_MODE (x1) != E_V16HFmode)
3890 : : return -1;
3891 : 118 : x2 = XVECEXP (x1, 0, 0);
3892 : 118 : if (GET_MODE (x2) != E_V16HFmode)
3893 : : return -1;
3894 : 118 : switch (GET_MODE (operands[1]))
3895 : : {
3896 : 0 : case E_V16HImode:
3897 : 0 : if (!register_operand (operands[1], E_V16HImode))
3898 : : return -1;
3899 : : return 0;
3900 : :
3901 : 118 : case E_V16SImode:
3902 : 118 : if (!register_operand (operands[1], E_V16SImode))
3903 : : return -1;
3904 : : return 1;
3905 : :
3906 : : default:
3907 : : return -1;
3908 : : }
3909 : : }
3910 : :
3911 : : int
3912 : 310 : pattern1033 (rtx x1, machine_mode i1, rtx_code i2)
3913 : : {
3914 : 310 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3915 : 310 : rtx x2, x3;
3916 : 310 : int res ATTRIBUTE_UNUSED;
3917 : 310 : x2 = XEXP (x1, 0);
3918 : 310 : if (GET_CODE (x2) != i2
3919 : 310 : || GET_MODE (x2) != i1)
3920 : : return -1;
3921 : 310 : x3 = XEXP (x1, 1);
3922 : 310 : if (GET_CODE (x3) != i2
3923 : 310 : || GET_MODE (x3) != i1)
3924 : 0 : return -1;
3925 : : return 0;
3926 : : }
3927 : :
3928 : : int
3929 : 45233 : pattern1040 (rtx x1)
3930 : : {
3931 : 45233 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3932 : 45233 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3933 : 45233 : rtx x10;
3934 : 45233 : int res ATTRIBUTE_UNUSED;
3935 : 45233 : x2 = XEXP (x1, 1);
3936 : 45233 : x3 = XEXP (x2, 0);
3937 : 45233 : switch (GET_CODE (x3))
3938 : : {
3939 : 618 : case PLUS:
3940 : 618 : return pattern1037 (x1); /* [-1, 0] */
3941 : :
3942 : 107 : case MINUS:
3943 : 107 : if (pattern1037 (x1) != 0)
3944 : : return -1;
3945 : : return 1;
3946 : :
3947 : 8215 : case AND:
3948 : 8215 : if (pattern1037 (x1) != 0)
3949 : : return -1;
3950 : : return 2;
3951 : :
3952 : 12619 : case IOR:
3953 : 12619 : if (pattern1037 (x1) != 0)
3954 : : return -1;
3955 : : return 3;
3956 : :
3957 : 743 : case XOR:
3958 : 743 : if (pattern1037 (x1) != 0)
3959 : : return -1;
3960 : : return 4;
3961 : :
3962 : 9 : case NEG:
3963 : 9 : if (GET_MODE (x3) != E_QImode)
3964 : : return -1;
3965 : 9 : x4 = XEXP (x3, 0);
3966 : 9 : if (GET_CODE (x4) != SUBREG
3967 : 9 : || maybe_ne (SUBREG_BYTE (x4), 0)
3968 : 18 : || GET_MODE (x4) != E_QImode)
3969 : : return -1;
3970 : 9 : x5 = XEXP (x4, 0);
3971 : 9 : switch (GET_CODE (x5))
3972 : : {
3973 : 9 : case ASHIFTRT:
3974 : 9 : case LSHIFTRT:
3975 : 9 : case SIGN_EXTRACT:
3976 : 9 : case ZERO_EXTRACT:
3977 : 9 : operands[2] = x5;
3978 : 9 : x6 = XEXP (x1, 0);
3979 : 9 : if (GET_CODE (x6) != ZERO_EXTRACT)
3980 : : return -1;
3981 : 9 : x7 = XEXP (x6, 1);
3982 : 9 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3983 : : return -1;
3984 : 9 : x8 = XEXP (x6, 2);
3985 : 9 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3986 : : return -1;
3987 : 9 : x9 = XEXP (x6, 0);
3988 : 9 : operands[0] = x9;
3989 : 9 : if (!int248_register_operand (operands[0], E_VOIDmode))
3990 : : return -1;
3991 : 9 : x10 = XEXP (x5, 0);
3992 : 9 : operands[1] = x10;
3993 : 9 : if (!int248_register_operand (operands[1], E_VOIDmode))
3994 : : return -1;
3995 : 9 : switch (GET_MODE (x6))
3996 : : {
3997 : 3 : case E_HImode:
3998 : 3 : if (GET_MODE (x2) != E_HImode
3999 : 3 : || !extract_high_operator (operands[2], E_HImode))
4000 : 0 : return -1;
4001 : : return 5;
4002 : :
4003 : 6 : case E_SImode:
4004 : 6 : if (GET_MODE (x2) != E_SImode
4005 : 6 : || !extract_high_operator (operands[2], E_SImode))
4006 : 0 : return -1;
4007 : : return 6;
4008 : :
4009 : 0 : case E_DImode:
4010 : 0 : if (GET_MODE (x2) != E_DImode
4011 : 0 : || !extract_high_operator (operands[2], E_DImode))
4012 : 0 : return -1;
4013 : : return 7;
4014 : :
4015 : : default:
4016 : : return -1;
4017 : : }
4018 : :
4019 : : default:
4020 : : return -1;
4021 : : }
4022 : :
4023 : 9 : case ASHIFT:
4024 : 9 : if (GET_MODE (x3) != E_QImode)
4025 : : return -1;
4026 : 9 : res = pattern1039 (x1);
4027 : 9 : if (res >= 0)
4028 : 9 : return res + 8; /* [8, 10] */
4029 : : return -1;
4030 : :
4031 : : case LSHIFTRT:
4032 : : return 11;
4033 : :
4034 : 1758 : case ASHIFTRT:
4035 : 1758 : return 12;
4036 : :
4037 : : default:
4038 : : return -1;
4039 : : }
4040 : : }
4041 : :
4042 : : int
4043 : 248 : pattern1064 (rtx x1)
4044 : : {
4045 : 248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4046 : 248 : rtx x2, x3, x4, x5;
4047 : 248 : int res ATTRIBUTE_UNUSED;
4048 : 248 : x2 = XVECEXP (x1, 0, 1);
4049 : 248 : x3 = XEXP (x2, 0);
4050 : 248 : if (GET_CODE (x3) != REG
4051 : 248 : || REGNO (x3) != 17
4052 : 156 : || GET_MODE (x3) != E_CCmode
4053 : 404 : || !register_operand (operands[1], E_XFmode))
4054 : 138 : return -1;
4055 : 110 : x4 = XVECEXP (x1, 0, 0);
4056 : 110 : x5 = XEXP (x4, 1);
4057 : 110 : return pattern545 (x5); /* [-1, 2] */
4058 : : }
4059 : :
4060 : : int
4061 : 2757 : pattern1069 (rtx x1)
4062 : : {
4063 : 2757 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4064 : 2757 : rtx x2, x3, x4;
4065 : 2757 : int res ATTRIBUTE_UNUSED;
4066 : 2757 : if (GET_MODE (x1) != E_DImode)
4067 : : return -1;
4068 : 2757 : x2 = XEXP (x1, 1);
4069 : 2757 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
4070 : : return -1;
4071 : 2757 : x3 = XEXP (x1, 0);
4072 : 2757 : operands[0] = x3;
4073 : 2757 : if (!nonimmediate_operand (operands[0], E_DImode))
4074 : : return -1;
4075 : 2757 : x4 = XEXP (x1, 2);
4076 : 2757 : operands[1] = x4;
4077 : 2757 : if (!const_0_to_63_operand (operands[1], E_QImode))
4078 : : return -1;
4079 : : return 0;
4080 : : }
4081 : :
4082 : : int
4083 : 38259 : pattern1073 (rtx x1)
4084 : : {
4085 : 38259 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4086 : 38259 : rtx x2, x3, x4, x5;
4087 : 38259 : int res ATTRIBUTE_UNUSED;
4088 : 38259 : if (!int248_register_operand (operands[2], E_VOIDmode))
4089 : : return -1;
4090 : 35156 : x2 = XEXP (x1, 1);
4091 : 35156 : x3 = XEXP (x2, 1);
4092 : 35156 : operands[1] = x3;
4093 : 35156 : if (!nonimmediate_operand (operands[1], E_QImode))
4094 : : return -1;
4095 : 16167 : x4 = XEXP (x1, 0);
4096 : 16167 : switch (GET_CODE (x4))
4097 : : {
4098 : 30 : case STRICT_LOW_PART:
4099 : 30 : x5 = XEXP (x4, 0);
4100 : 30 : operands[0] = x5;
4101 : 30 : if (!register_operand (operands[0], E_QImode))
4102 : : return -1;
4103 : 30 : return pattern1072 (); /* [-1, 2] */
4104 : :
4105 : 16137 : case REG:
4106 : 16137 : case SUBREG:
4107 : 16137 : case MEM:
4108 : 16137 : operands[0] = x4;
4109 : 16137 : if (!nonimmediate_operand (operands[0], E_QImode))
4110 : : return -1;
4111 : 16137 : res = pattern1072 ();
4112 : 16137 : if (res >= 0)
4113 : 129 : return res + 3; /* [3, 5] */
4114 : : return -1;
4115 : :
4116 : : default:
4117 : : return -1;
4118 : : }
4119 : : }
4120 : :
4121 : : int
4122 : 0 : pattern1088 (rtx x1)
4123 : : {
4124 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4125 : 0 : rtx x2;
4126 : 0 : int res ATTRIBUTE_UNUSED;
4127 : 0 : switch (GET_MODE (x1))
4128 : : {
4129 : 0 : case E_DImode:
4130 : 0 : x2 = XEXP (x1, 0);
4131 : 0 : if (GET_MODE (x2) != E_DImode
4132 : 0 : || !register_operand (operands[1], E_V64QImode)
4133 : 0 : || !nonimmediate_operand (operands[2], E_V64QImode)
4134 : 0 : || !register_operand (operands[3], E_DImode))
4135 : 0 : return -1;
4136 : : return 0;
4137 : :
4138 : 0 : case E_SImode:
4139 : 0 : x2 = XEXP (x1, 0);
4140 : 0 : if (GET_MODE (x2) != E_SImode
4141 : 0 : || !register_operand (operands[3], E_SImode))
4142 : 0 : return -1;
4143 : 0 : switch (GET_MODE (operands[1]))
4144 : : {
4145 : 0 : case E_V32QImode:
4146 : 0 : if (!register_operand (operands[1], E_V32QImode)
4147 : 0 : || !nonimmediate_operand (operands[2], E_V32QImode))
4148 : 0 : return -1;
4149 : : return 1;
4150 : :
4151 : 0 : case E_V32HImode:
4152 : 0 : if (!register_operand (operands[1], E_V32HImode)
4153 : 0 : || !nonimmediate_operand (operands[2], E_V32HImode))
4154 : 0 : return -1;
4155 : : return 2;
4156 : :
4157 : : default:
4158 : : return -1;
4159 : : }
4160 : :
4161 : 0 : case E_HImode:
4162 : 0 : x2 = XEXP (x1, 0);
4163 : 0 : if (GET_MODE (x2) != E_HImode
4164 : 0 : || !register_operand (operands[3], E_HImode))
4165 : 0 : return -1;
4166 : 0 : switch (GET_MODE (operands[1]))
4167 : : {
4168 : 0 : case E_V16QImode:
4169 : 0 : if (!register_operand (operands[1], E_V16QImode)
4170 : 0 : || !nonimmediate_operand (operands[2], E_V16QImode))
4171 : 0 : return -1;
4172 : : return 3;
4173 : :
4174 : 0 : case E_V16HImode:
4175 : 0 : if (!register_operand (operands[1], E_V16HImode)
4176 : 0 : || !nonimmediate_operand (operands[2], E_V16HImode))
4177 : 0 : return -1;
4178 : : return 4;
4179 : :
4180 : 0 : case E_V16SImode:
4181 : 0 : if (!register_operand (operands[1], E_V16SImode)
4182 : 0 : || !nonimmediate_operand (operands[2], E_V16SImode))
4183 : 0 : return -1;
4184 : : return 5;
4185 : :
4186 : : default:
4187 : : return -1;
4188 : : }
4189 : :
4190 : 0 : case E_QImode:
4191 : 0 : x2 = XEXP (x1, 0);
4192 : 0 : if (GET_MODE (x2) != E_QImode
4193 : 0 : || !register_operand (operands[3], E_QImode))
4194 : 0 : return -1;
4195 : 0 : switch (GET_MODE (operands[1]))
4196 : : {
4197 : 0 : case E_V8HImode:
4198 : 0 : if (!register_operand (operands[1], E_V8HImode)
4199 : 0 : || !nonimmediate_operand (operands[2], E_V8HImode))
4200 : 0 : return -1;
4201 : : return 6;
4202 : :
4203 : 0 : case E_V8SImode:
4204 : 0 : if (!register_operand (operands[1], E_V8SImode)
4205 : 0 : || !nonimmediate_operand (operands[2], E_V8SImode))
4206 : 0 : return -1;
4207 : : return 7;
4208 : :
4209 : 0 : case E_V4SImode:
4210 : 0 : if (!register_operand (operands[1], E_V4SImode)
4211 : 0 : || !nonimmediate_operand (operands[2], E_V4SImode))
4212 : 0 : return -1;
4213 : : return 8;
4214 : :
4215 : 0 : case E_V8DImode:
4216 : 0 : if (!register_operand (operands[1], E_V8DImode)
4217 : 0 : || !nonimmediate_operand (operands[2], E_V8DImode))
4218 : 0 : return -1;
4219 : : return 9;
4220 : :
4221 : 0 : case E_V4DImode:
4222 : 0 : if (!register_operand (operands[1], E_V4DImode)
4223 : 0 : || !nonimmediate_operand (operands[2], E_V4DImode))
4224 : 0 : return -1;
4225 : : return 10;
4226 : :
4227 : 0 : case E_V2DImode:
4228 : 0 : if (!register_operand (operands[1], E_V2DImode)
4229 : 0 : || !nonimmediate_operand (operands[2], E_V2DImode))
4230 : 0 : return -1;
4231 : : return 11;
4232 : :
4233 : : default:
4234 : : return -1;
4235 : : }
4236 : :
4237 : : default:
4238 : : return -1;
4239 : : }
4240 : : }
4241 : :
4242 : : int
4243 : 954 : pattern1133 (rtx x1)
4244 : : {
4245 : 954 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4246 : 954 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4247 : 954 : rtx x10, x11;
4248 : 954 : int res ATTRIBUTE_UNUSED;
4249 : 954 : x2 = XVECEXP (x1, 0, 0);
4250 : 954 : x3 = XEXP (x2, 2);
4251 : 954 : if (XWINT (x3, 0) != 1L)
4252 : : return -1;
4253 : 954 : x4 = XEXP (x2, 0);
4254 : 954 : x5 = XEXP (x4, 0);
4255 : 954 : x6 = XVECEXP (x5, 0, 0);
4256 : 954 : operands[1] = x6;
4257 : 954 : x7 = XVECEXP (x5, 0, 1);
4258 : 954 : operands[2] = x7;
4259 : 954 : x8 = XEXP (x4, 1);
4260 : 954 : operands[3] = x8;
4261 : 954 : x9 = XEXP (x4, 2);
4262 : 954 : operands[4] = x9;
4263 : 954 : if (!register_operand (operands[4], E_QImode))
4264 : : return -1;
4265 : 942 : x10 = XVECEXP (x1, 0, 1);
4266 : 942 : operands[5] = x10;
4267 : 942 : if (!const48_operand (operands[5], E_SImode))
4268 : : return -1;
4269 : 942 : x11 = XEXP (x2, 1);
4270 : 942 : if (!rtx_equal_p (x11, operands[1]))
4271 : : return -1;
4272 : 942 : switch (GET_MODE (operands[0]))
4273 : : {
4274 : 522 : case E_V8HFmode:
4275 : 522 : return pattern1132 (x1,
4276 : 522 : E_V8HFmode); /* [-1, 0] */
4277 : :
4278 : 210 : case E_V4SFmode:
4279 : 210 : if (pattern1132 (x1,
4280 : : E_V4SFmode) != 0)
4281 : : return -1;
4282 : : return 1;
4283 : :
4284 : 210 : case E_V2DFmode:
4285 : 210 : if (pattern1132 (x1,
4286 : : E_V2DFmode) != 0)
4287 : : return -1;
4288 : : return 2;
4289 : :
4290 : : default:
4291 : : return -1;
4292 : : }
4293 : : }
4294 : :
4295 : : int
4296 : 7408 : pattern1150 (rtx x1)
4297 : : {
4298 : 7408 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4299 : 7408 : rtx x2, x3, x4, x5;
4300 : 7408 : int res ATTRIBUTE_UNUSED;
4301 : 7408 : x2 = XEXP (x1, 2);
4302 : 7408 : x3 = XEXP (x2, 0);
4303 : 7408 : if (!rtx_equal_p (x3, operands[1]))
4304 : : return -1;
4305 : 7408 : x4 = XEXP (x2, 1);
4306 : 7408 : x5 = XEXP (x4, 0);
4307 : 7408 : if (!rtx_equal_p (x5, operands[2]))
4308 : : return -1;
4309 : 7386 : switch (GET_MODE (operands[0]))
4310 : : {
4311 : 456 : case E_V16QImode:
4312 : 456 : return pattern1149 (x1,
4313 : 456 : E_V16QImode); /* [-1, 0] */
4314 : :
4315 : 398 : case E_V8HImode:
4316 : 398 : if (pattern1149 (x1,
4317 : : E_V8HImode) != 0)
4318 : : return -1;
4319 : : return 1;
4320 : :
4321 : 4308 : case E_V4SImode:
4322 : 4308 : if (pattern1149 (x1,
4323 : : E_V4SImode) != 0)
4324 : : return -1;
4325 : : return 2;
4326 : :
4327 : 2224 : case E_V2DImode:
4328 : 2224 : if (pattern1149 (x1,
4329 : : E_V2DImode) != 0)
4330 : : return -1;
4331 : : return 3;
4332 : :
4333 : : default:
4334 : : return -1;
4335 : : }
4336 : : }
4337 : :
4338 : : int
4339 : 239 : pattern1162 (rtx x1, machine_mode i1)
4340 : : {
4341 : 239 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4342 : 239 : rtx x2, x3;
4343 : 239 : int res ATTRIBUTE_UNUSED;
4344 : 239 : if (!nonimmediate_operand (operands[0], i1)
4345 : 239 : || GET_MODE (x1) != i1)
4346 : : return -1;
4347 : 239 : x2 = XEXP (x1, 0);
4348 : 239 : if (GET_MODE (x2) != i1)
4349 : : return -1;
4350 : 239 : x3 = XEXP (x2, 0);
4351 : 239 : if (GET_MODE (x3) != i1
4352 : 239 : || !nonimmediate_operand (operands[1], i1)
4353 : 429 : || !x86_64_general_operand (operands[2], i1))
4354 : 49 : return -1;
4355 : : return 0;
4356 : : }
4357 : :
4358 : : int
4359 : 26383 : pattern1170 (rtx x1)
4360 : : {
4361 : 26383 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4362 : 26383 : rtx x2, x3, x4, x5;
4363 : 26383 : int res ATTRIBUTE_UNUSED;
4364 : 26383 : x2 = XEXP (x1, 1);
4365 : 26383 : x3 = XEXP (x2, 0);
4366 : 26383 : switch (GET_CODE (x3))
4367 : : {
4368 : 4322 : case AND:
4369 : 4322 : x4 = XEXP (x3, 0);
4370 : 4322 : operands[2] = x4;
4371 : 4322 : if (!int248_register_operand (operands[2], E_VOIDmode))
4372 : : return -1;
4373 : 4265 : return pattern1169 (x1); /* [-1, 3] */
4374 : :
4375 : 0 : case PLUS:
4376 : 0 : x4 = XEXP (x3, 0);
4377 : 0 : operands[2] = x4;
4378 : 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
4379 : : return -1;
4380 : 0 : res = pattern1169 (x1);
4381 : 0 : if (res >= 0)
4382 : 0 : return res + 4; /* [4, 7] */
4383 : : return -1;
4384 : :
4385 : 0 : case MINUS:
4386 : 0 : x4 = XEXP (x3, 0);
4387 : 0 : operands[3] = x4;
4388 : 0 : if (!const_int_operand (operands[3], E_VOIDmode))
4389 : : return -1;
4390 : 0 : x5 = XEXP (x3, 1);
4391 : 0 : operands[2] = x5;
4392 : 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
4393 : : return -1;
4394 : 0 : res = pattern205 (x1);
4395 : 0 : if (res >= 0)
4396 : 0 : return res + 8; /* [8, 11] */
4397 : : return -1;
4398 : :
4399 : : default:
4400 : : return -1;
4401 : : }
4402 : : }
4403 : :
4404 : : int
4405 : 245 : pattern1186 (rtx x1)
4406 : : {
4407 : 245 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4408 : 245 : rtx x2, x3, x4, x5, x6, x7, x8;
4409 : 245 : int res ATTRIBUTE_UNUSED;
4410 : 245 : x2 = XEXP (x1, 1);
4411 : 245 : x3 = XEXP (x2, 1);
4412 : 245 : switch (GET_CODE (x3))
4413 : : {
4414 : 195 : case LABEL_REF:
4415 : 195 : x4 = XEXP (x2, 2);
4416 : 195 : if (GET_CODE (x4) != PC)
4417 : : return -1;
4418 : 195 : x5 = XEXP (x1, 0);
4419 : 195 : if (GET_CODE (x5) != PC)
4420 : : return -1;
4421 : 195 : x6 = XEXP (x2, 0);
4422 : 195 : operands[0] = x6;
4423 : 195 : x7 = XEXP (x6, 0);
4424 : 195 : operands[1] = x7;
4425 : 195 : x8 = XEXP (x3, 0);
4426 : 195 : operands[2] = x8;
4427 : 195 : switch (GET_MODE (operands[1]))
4428 : : {
4429 : 8 : case E_QImode:
4430 : 8 : if (!register_operand (operands[1], E_QImode))
4431 : : return -1;
4432 : : return 0;
4433 : :
4434 : 68 : case E_HImode:
4435 : 68 : if (!register_operand (operands[1], E_HImode))
4436 : : return -1;
4437 : : return 1;
4438 : :
4439 : 94 : case E_SImode:
4440 : 94 : if (!register_operand (operands[1], E_SImode))
4441 : : return -1;
4442 : : return 2;
4443 : :
4444 : 25 : case E_DImode:
4445 : 25 : if (!register_operand (operands[1], E_DImode))
4446 : : return -1;
4447 : : return 3;
4448 : :
4449 : : default:
4450 : : return -1;
4451 : : }
4452 : :
4453 : 49 : case REG:
4454 : 49 : case SUBREG:
4455 : 49 : case MEM:
4456 : 49 : operands[2] = x3;
4457 : 49 : x5 = XEXP (x1, 0);
4458 : 49 : operands[0] = x5;
4459 : 49 : x6 = XEXP (x2, 0);
4460 : 49 : operands[1] = x6;
4461 : 49 : x7 = XEXP (x6, 0);
4462 : 49 : operands[4] = x7;
4463 : 49 : x4 = XEXP (x2, 2);
4464 : 49 : operands[3] = x4;
4465 : 49 : switch (GET_MODE (operands[0]))
4466 : : {
4467 : 7 : case E_QImode:
4468 : 7 : if (!register_operand (operands[0], E_QImode)
4469 : 7 : || GET_MODE (x2) != E_QImode
4470 : 7 : || !register_operand (operands[2], E_QImode)
4471 : 14 : || !register_operand (operands[3], E_QImode))
4472 : 0 : return -1;
4473 : 7 : res = pattern1184 ();
4474 : 7 : if (res >= 0)
4475 : 7 : return res + 4; /* [4, 7] */
4476 : : return -1;
4477 : :
4478 : 7 : case E_HImode:
4479 : 7 : res = pattern1185 (x2,
4480 : : E_HImode);
4481 : 7 : if (res >= 0)
4482 : 7 : return res + 8; /* [8, 11] */
4483 : : return -1;
4484 : :
4485 : 28 : case E_SImode:
4486 : 28 : res = pattern1185 (x2,
4487 : : E_SImode);
4488 : 28 : if (res >= 0)
4489 : 28 : return res + 12; /* [12, 15] */
4490 : : return -1;
4491 : :
4492 : 7 : case E_DImode:
4493 : 7 : res = pattern1185 (x2,
4494 : : E_DImode);
4495 : 7 : if (res >= 0)
4496 : 7 : return res + 16; /* [16, 19] */
4497 : : return -1;
4498 : :
4499 : : default:
4500 : : return -1;
4501 : : }
4502 : :
4503 : : default:
4504 : : return -1;
4505 : : }
4506 : : }
4507 : :
4508 : : int
4509 : 52 : pattern1218 (rtx x1, machine_mode i1, machine_mode i2)
4510 : : {
4511 : 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4512 : 52 : rtx x2, x3;
4513 : 52 : int res ATTRIBUTE_UNUSED;
4514 : 52 : if (!register_operand (operands[0], i1)
4515 : 52 : || GET_MODE (x1) != i1)
4516 : : return -1;
4517 : 52 : x2 = XEXP (x1, 0);
4518 : 52 : if (GET_MODE (x2) != i1)
4519 : : return -1;
4520 : 52 : x3 = XEXP (x2, 0);
4521 : 52 : if (GET_MODE (x3) != i2
4522 : 52 : || !register_operand (operands[1], i1))
4523 : 10 : return -1;
4524 : : return 0;
4525 : : }
4526 : :
4527 : : int
4528 : 240 : pattern1224 (rtx x1, machine_mode i1)
4529 : : {
4530 : 240 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4531 : 240 : rtx x2;
4532 : 240 : int res ATTRIBUTE_UNUSED;
4533 : 240 : if (!register_operand (operands[0], i1)
4534 : 240 : || GET_MODE (x1) != i1)
4535 : : return -1;
4536 : 228 : x2 = XVECEXP (x1, 0, 0);
4537 : 228 : if (GET_MODE (x2) != i1)
4538 : : return -1;
4539 : 228 : switch (GET_MODE (operands[1]))
4540 : : {
4541 : 59 : case E_V8HFmode:
4542 : 59 : if (!register_operand (operands[1], E_V8HFmode))
4543 : : return -1;
4544 : : return 0;
4545 : :
4546 : 52 : case E_V8SFmode:
4547 : 52 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
4548 : : return -1;
4549 : : return 1;
4550 : :
4551 : 117 : case E_V8DFmode:
4552 : 117 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
4553 : : return -1;
4554 : : return 2;
4555 : :
4556 : : default:
4557 : : return -1;
4558 : : }
4559 : : }
4560 : :
4561 : : int
4562 : 13046 : pattern1233 (rtx x1)
4563 : : {
4564 : 13046 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4565 : 13046 : rtx x2, x3, x4;
4566 : 13046 : int res ATTRIBUTE_UNUSED;
4567 : 13046 : x2 = XEXP (x1, 0);
4568 : 13046 : x3 = XEXP (x2, 0);
4569 : 13046 : operands[1] = x3;
4570 : 13046 : x4 = XEXP (x2, 1);
4571 : 13046 : operands[2] = x4;
4572 : 13046 : if (!const_int_operand (operands[2], E_QImode))
4573 : : return -1;
4574 : 13033 : switch (GET_MODE (operands[0]))
4575 : : {
4576 : 10361 : case E_SImode:
4577 : 10361 : return pattern1232 (x1,
4578 : : E_DImode,
4579 : 10361 : E_SImode); /* [-1, 0] */
4580 : :
4581 : 802 : case E_DImode:
4582 : 802 : if (pattern1232 (x1,
4583 : : E_TImode,
4584 : : E_DImode) != 0)
4585 : : return -1;
4586 : : return 1;
4587 : :
4588 : : default:
4589 : : return -1;
4590 : : }
4591 : : }
4592 : :
4593 : : int
4594 : 23841 : pattern1239 (rtx x1, rtx_code i1)
4595 : : {
4596 : 23841 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4597 : 23841 : rtx x2, x3, x4, x5;
4598 : 23841 : int res ATTRIBUTE_UNUSED;
4599 : 23841 : x2 = XVECEXP (x1, 0, 1);
4600 : 23841 : x3 = XEXP (x2, 1);
4601 : 23841 : if (GET_CODE (x3) != i1)
4602 : : return -1;
4603 : 19491 : x4 = XVECEXP (x1, 0, 0);
4604 : 19491 : x5 = XEXP (x4, 0);
4605 : 19491 : if (GET_MODE (x5) != E_CCGOCmode)
4606 : : return -1;
4607 : 19491 : return pattern369 (x1,
4608 : 19491 : E_CCGOCmode); /* [-1, 3] */
4609 : : }
4610 : :
4611 : : int
4612 : 11580 : pattern1242 (rtx x1)
4613 : : {
4614 : 11580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4615 : 11580 : rtx x2, x3, x4, x5, x6, x7;
4616 : 11580 : int res ATTRIBUTE_UNUSED;
4617 : 11580 : x2 = XVECEXP (x1, 0, 1);
4618 : 11580 : x3 = XEXP (x2, 1);
4619 : 11580 : x4 = XEXP (x3, 0);
4620 : 11580 : if (!rtx_equal_p (x4, operands[1]))
4621 : : return -1;
4622 : 11580 : x5 = XVECEXP (x1, 0, 0);
4623 : 11580 : x6 = XEXP (x5, 1);
4624 : 11580 : x7 = XEXP (x6, 0);
4625 : 11580 : switch (GET_MODE (x7))
4626 : : {
4627 : 196 : case E_QImode:
4628 : 196 : if (!nonimmediate_operand (operands[1], E_QImode)
4629 : 140 : || !nonimmediate_operand (operands[0], E_QImode)
4630 : 336 : || GET_MODE (x3) != E_QImode)
4631 : 56 : return -1;
4632 : : return 0;
4633 : :
4634 : 1110 : case E_HImode:
4635 : 1110 : if (!nonimmediate_operand (operands[1], E_HImode)
4636 : 1110 : || !nonimmediate_operand (operands[0], E_HImode)
4637 : 2220 : || GET_MODE (x3) != E_HImode)
4638 : 0 : return -1;
4639 : : return 1;
4640 : :
4641 : 4728 : case E_SImode:
4642 : 4728 : if (!nonimmediate_operand (operands[1], E_SImode)
4643 : 4705 : || !nonimmediate_operand (operands[0], E_SImode)
4644 : 9433 : || GET_MODE (x3) != E_SImode)
4645 : 23 : return -1;
4646 : : return 2;
4647 : :
4648 : 5480 : case E_DImode:
4649 : 5480 : if (!nonimmediate_operand (operands[1], E_DImode)
4650 : 5480 : || !nonimmediate_operand (operands[0], E_DImode)
4651 : 10960 : || GET_MODE (x3) != E_DImode)
4652 : 0 : return -1;
4653 : : return 3;
4654 : :
4655 : : default:
4656 : : return -1;
4657 : : }
4658 : : }
4659 : :
4660 : : int
4661 : 30 : pattern1257 (rtx x1, machine_mode i1)
4662 : : {
4663 : 30 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4664 : 30 : rtx x2, x3;
4665 : 30 : int res ATTRIBUTE_UNUSED;
4666 : 30 : if (!register_operand (operands[0], i1)
4667 : 30 : || GET_MODE (x1) != i1)
4668 : : return -1;
4669 : 30 : x2 = XEXP (x1, 0);
4670 : 30 : if (GET_MODE (x2) != i1)
4671 : : return -1;
4672 : 30 : x3 = XEXP (x2, 0);
4673 : 30 : if (GET_MODE (x3) != i1
4674 : 30 : || !register_operand (operands[1], i1)
4675 : 30 : || !const0_operand (operands[3], i1)
4676 : 33 : || !const0_operand (operands[4], i1))
4677 : 27 : return -1;
4678 : : return 0;
4679 : : }
4680 : :
4681 : : int
4682 : 0 : pattern1265 (rtx x1, machine_mode i1)
4683 : : {
4684 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4685 : 0 : int res ATTRIBUTE_UNUSED;
4686 : 0 : if (!register_operand (operands[1], i1)
4687 : 0 : || GET_MODE (x1) != i1)
4688 : : return -1;
4689 : 0 : switch (GET_MODE (operands[2]))
4690 : : {
4691 : 0 : case E_HImode:
4692 : 0 : if (!nonimmediate_operand (operands[2], E_HImode))
4693 : : return -1;
4694 : : return 0;
4695 : :
4696 : 0 : case E_SImode:
4697 : 0 : if (!nonimmediate_operand (operands[2], E_SImode))
4698 : : return -1;
4699 : : return 1;
4700 : :
4701 : : default:
4702 : : return -1;
4703 : : }
4704 : : }
4705 : :
4706 : : int
4707 : 1726779 : pattern1272 (rtx x1, machine_mode i1)
4708 : : {
4709 : 1726779 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4710 : 1726779 : int res ATTRIBUTE_UNUSED;
4711 : 1726779 : if (!register_operand (operands[0], i1)
4712 : 1693940 : || GET_MODE (x1) != i1
4713 : 1693940 : || !nonimmediate_operand (operands[2], i1)
4714 : 3419649 : || !nonimmediate_operand (operands[3], i1))
4715 : 664397 : return -1;
4716 : : return 0;
4717 : : }
4718 : :
4719 : : int
4720 : 1103 : pattern1280 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4721 : : {
4722 : 1103 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4723 : 1103 : rtx x2, x3;
4724 : 1103 : int res ATTRIBUTE_UNUSED;
4725 : 1103 : if (!register_operand (operands[0], i1)
4726 : 1103 : || GET_MODE (x1) != i1)
4727 : : return -1;
4728 : 1073 : x2 = XEXP (x1, 0);
4729 : 1073 : if (GET_MODE (x2) != i1
4730 : 1073 : || !register_operand (operands[1], i1))
4731 : 0 : return -1;
4732 : 1073 : x3 = XEXP (x2, 1);
4733 : 1073 : if (GET_MODE (x3) != i1
4734 : 1073 : || !nonimmediate_operand (operands[2], i2)
4735 : 1073 : || !nonimm_or_0_operand (operands[4], i1)
4736 : 2132 : || !register_operand (operands[5], i3))
4737 : 74 : return -1;
4738 : : return 0;
4739 : : }
4740 : :
4741 : : int
4742 : 3429 : pattern1288 (rtx x1)
4743 : : {
4744 : 3429 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4745 : 3429 : rtx x2;
4746 : 3429 : int res ATTRIBUTE_UNUSED;
4747 : 3429 : if (!const_0_to_7_operand (operands[5], E_SImode))
4748 : : return -1;
4749 : 3277 : switch (GET_MODE (operands[0]))
4750 : : {
4751 : 94 : case E_V16QImode:
4752 : 94 : if (!register_operand (operands[0], E_V16QImode)
4753 : 94 : || GET_MODE (x1) != E_V16QImode)
4754 : : return -1;
4755 : 94 : x2 = XEXP (x1, 2);
4756 : 94 : if (GET_MODE (x2) != E_HImode)
4757 : : return -1;
4758 : : return 0;
4759 : :
4760 : 116 : case E_V8HImode:
4761 : 116 : if (!register_operand (operands[0], E_V8HImode)
4762 : 116 : || GET_MODE (x1) != E_V8HImode)
4763 : : return -1;
4764 : 116 : x2 = XEXP (x1, 2);
4765 : 116 : if (GET_MODE (x2) != E_QImode)
4766 : : return -1;
4767 : : return 1;
4768 : :
4769 : 799 : case E_V4SImode:
4770 : 799 : if (!register_operand (operands[0], E_V4SImode)
4771 : 799 : || GET_MODE (x1) != E_V4SImode)
4772 : : return -1;
4773 : 791 : x2 = XEXP (x1, 2);
4774 : 791 : if (GET_MODE (x2) != E_QImode)
4775 : : return -1;
4776 : : return 2;
4777 : :
4778 : 67 : case E_V2DImode:
4779 : 67 : if (!register_operand (operands[0], E_V2DImode)
4780 : 67 : || GET_MODE (x1) != E_V2DImode)
4781 : : return -1;
4782 : 67 : x2 = XEXP (x1, 2);
4783 : 67 : if (GET_MODE (x2) != E_QImode)
4784 : : return -1;
4785 : : return 3;
4786 : :
4787 : 88 : case E_V32QImode:
4788 : 88 : if (!register_operand (operands[0], E_V32QImode)
4789 : 88 : || GET_MODE (x1) != E_V32QImode)
4790 : : return -1;
4791 : 88 : x2 = XEXP (x1, 2);
4792 : 88 : if (GET_MODE (x2) != E_SImode)
4793 : : return -1;
4794 : : return 4;
4795 : :
4796 : 105 : case E_V16HImode:
4797 : 105 : if (!register_operand (operands[0], E_V16HImode)
4798 : 105 : || GET_MODE (x1) != E_V16HImode)
4799 : : return -1;
4800 : 105 : x2 = XEXP (x1, 2);
4801 : 105 : if (GET_MODE (x2) != E_HImode)
4802 : : return -1;
4803 : : return 5;
4804 : :
4805 : 741 : case E_V8SImode:
4806 : 741 : if (!register_operand (operands[0], E_V8SImode)
4807 : 741 : || GET_MODE (x1) != E_V8SImode)
4808 : : return -1;
4809 : 741 : x2 = XEXP (x1, 2);
4810 : 741 : if (GET_MODE (x2) != E_QImode)
4811 : : return -1;
4812 : : return 6;
4813 : :
4814 : 75 : case E_V4DImode:
4815 : 75 : if (!register_operand (operands[0], E_V4DImode)
4816 : 75 : || GET_MODE (x1) != E_V4DImode)
4817 : : return -1;
4818 : 75 : x2 = XEXP (x1, 2);
4819 : 75 : if (GET_MODE (x2) != E_QImode)
4820 : : return -1;
4821 : : return 7;
4822 : :
4823 : : default:
4824 : : return -1;
4825 : : }
4826 : : }
4827 : :
4828 : : int
4829 : 7086 : pattern1319 (rtx x1)
4830 : : {
4831 : 7086 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4832 : 7086 : rtx x2, x3, x4, x5, x6, x7;
4833 : 7086 : int res ATTRIBUTE_UNUSED;
4834 : 7086 : x2 = XEXP (x1, 1);
4835 : 7086 : x3 = XEXP (x2, 2);
4836 : 7086 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4837 : 7086 : || GET_MODE (x3) != E_QImode)
4838 : : return -1;
4839 : 7086 : x4 = XEXP (x3, 0);
4840 : 7086 : if (GET_CODE (x4) != AND)
4841 : : return -1;
4842 : 985 : x5 = XEXP (x1, 0);
4843 : 985 : operands[0] = x5;
4844 : 985 : x6 = XEXP (x4, 0);
4845 : 985 : operands[2] = x6;
4846 : 985 : x7 = XEXP (x4, 1);
4847 : 985 : operands[3] = x7;
4848 : 985 : if (!const_int_operand (operands[3], E_VOIDmode))
4849 : : return -1;
4850 : 985 : switch (GET_MODE (operands[0]))
4851 : : {
4852 : 637 : case E_SImode:
4853 : 637 : return pattern1318 (x2,
4854 : 637 : E_SImode); /* [-1, 0] */
4855 : :
4856 : 250 : case E_DImode:
4857 : 250 : if (pattern1318 (x2,
4858 : : E_DImode) != 0)
4859 : : return -1;
4860 : : return 1;
4861 : :
4862 : : default:
4863 : : return -1;
4864 : : }
4865 : : }
4866 : :
4867 : : int
4868 : 2061403 : pattern1328 (rtx x1, machine_mode i1)
4869 : : {
4870 : 2061403 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4871 : 2061403 : int res ATTRIBUTE_UNUSED;
4872 : 2061403 : if (!register_operand (operands[0], i1)
4873 : 2054737 : || GET_MODE (x1) != i1
4874 : 2054737 : || !nonimmediate_operand (operands[1], i1)
4875 : 4104336 : || !x86_64_general_operand (operands[2], i1))
4876 : 115304 : return -1;
4877 : : return 0;
4878 : : }
4879 : :
4880 : : int
4881 : 75 : pattern1334 (rtx x1, machine_mode i1, machine_mode i2)
4882 : : {
4883 : 75 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4884 : 75 : int res ATTRIBUTE_UNUSED;
4885 : 75 : if (!register_operand (operands[0], i1)
4886 : 75 : || GET_MODE (x1) != i1
4887 : 75 : || !vector_all_ones_operand (operands[2], i1)
4888 : 75 : || !const0_operand (operands[3], i1)
4889 : 75 : || !register_operand (operands[1], i2)
4890 : 150 : || !register_operand (operands[4], i1))
4891 : 0 : return -1;
4892 : : return 0;
4893 : : }
4894 : :
4895 : : int
4896 : 577 : pattern1341 (rtx x1)
4897 : : {
4898 : 577 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4899 : 577 : int res ATTRIBUTE_UNUSED;
4900 : 577 : switch (GET_MODE (operands[0]))
4901 : : {
4902 : 203 : case E_SImode:
4903 : 203 : if (!register_operand (operands[0], E_SImode)
4904 : 203 : || GET_MODE (x1) != E_SImode
4905 : 406 : || !nonimmediate_operand (operands[1], E_SImode))
4906 : 0 : return -1;
4907 : : return 0;
4908 : :
4909 : 201 : case E_DImode:
4910 : 201 : if (!register_operand (operands[0], E_DImode)
4911 : 201 : || GET_MODE (x1) != E_DImode
4912 : 402 : || !nonimmediate_operand (operands[1], E_DImode))
4913 : 0 : return -1;
4914 : : return 1;
4915 : :
4916 : : default:
4917 : : return -1;
4918 : : }
4919 : : }
4920 : :
4921 : : int
4922 : 225289 : pattern1350 (rtx x1, machine_mode i1)
4923 : : {
4924 : 225289 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4925 : 225289 : rtx x2, x3, x4, x5, x6, x7, x8;
4926 : 225289 : int res ATTRIBUTE_UNUSED;
4927 : 225289 : x2 = XVECEXP (x1, 0, 0);
4928 : 225289 : x3 = XEXP (x2, 0);
4929 : 225289 : if (GET_CODE (x3) != REG
4930 : 225289 : || REGNO (x3) != 17)
4931 : : return -1;
4932 : 7670 : x4 = XVECEXP (x1, 0, 1);
4933 : 7670 : if (GET_CODE (x4) != SET)
4934 : : return -1;
4935 : 6650 : x5 = XEXP (x2, 1);
4936 : 6650 : operands[5] = x5;
4937 : 6650 : x6 = XEXP (x4, 1);
4938 : 6650 : operands[6] = x6;
4939 : 6650 : x7 = XEXP (x4, 0);
4940 : 6650 : if (!rtx_equal_p (x7, operands[0]))
4941 : : return -1;
4942 : 6450 : x8 = PATTERN (peep2_next_insn (2));
4943 : 6450 : return pattern1349 (x8,
4944 : 6450 : i1); /* [-1, 0] */
4945 : : }
4946 : :
4947 : : int
4948 : 0 : pattern1359 (rtx x1, machine_mode i1)
4949 : : {
4950 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4951 : 0 : rtx x2, x3, x4;
4952 : 0 : int res ATTRIBUTE_UNUSED;
4953 : 0 : if (!register_operand (operands[0], i1)
4954 : 0 : || GET_MODE (x1) != i1)
4955 : : return -1;
4956 : 0 : x2 = XVECEXP (x1, 0, 0);
4957 : 0 : if (GET_MODE (x2) != i1)
4958 : : return -1;
4959 : 0 : x3 = XEXP (x2, 0);
4960 : 0 : if (GET_MODE (x3) != i1
4961 : 0 : || !nonimmediate_operand (operands[1], i1)
4962 : 0 : || !nonimmediate_operand (operands[2], i1))
4963 : 0 : return -1;
4964 : 0 : x4 = XEXP (x2, 2);
4965 : 0 : if (GET_MODE (x4) != i1
4966 : 0 : || !nonimmediate_operand (operands[3], i1))
4967 : 0 : return -1;
4968 : : return 0;
4969 : : }
4970 : :
4971 : : int
4972 : 9843 : pattern1369 (rtx x1, machine_mode i1)
4973 : : {
4974 : 9843 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4975 : 9843 : int res ATTRIBUTE_UNUSED;
4976 : 9843 : if (!register_operand (operands[0], i1)
4977 : 9820 : || GET_MODE (x1) != i1
4978 : 9820 : || !nonimmediate_operand (operands[2], i1)
4979 : 18178 : || !nonimmediate_operand (operands[3], i1))
4980 : 3534 : return -1;
4981 : 6309 : return pattern1368 (); /* [-1, 3] */
4982 : : }
4983 : :
4984 : : int
4985 : 454 : pattern1371 (rtx x1, machine_mode i1, machine_mode i2)
4986 : : {
4987 : 454 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4988 : 454 : rtx x2, x3;
4989 : 454 : int res ATTRIBUTE_UNUSED;
4990 : 454 : if (!register_operand (operands[0], i1)
4991 : 454 : || GET_MODE (x1) != i1)
4992 : : return -1;
4993 : 404 : x2 = XEXP (x1, 0);
4994 : 404 : if (GET_MODE (x2) != i1
4995 : 404 : || !vector_operand (operands[1], i1)
4996 : 808 : || !vector_operand (operands[2], i1))
4997 : 0 : return -1;
4998 : 404 : x3 = XVECEXP (x2, 0, 2);
4999 : 404 : if (GET_MODE (x3) != i1
5000 : 404 : || !vector_operand (operands[3], i1)
5001 : 404 : || !const0_operand (operands[4], i1)
5002 : 808 : || !register_operand (operands[5], i2))
5003 : 33 : return -1;
5004 : : return 0;
5005 : : }
5006 : :
5007 : : int
5008 : 950 : pattern1383 (rtx x1, machine_mode i1, machine_mode i2)
5009 : : {
5010 : 950 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5011 : 950 : rtx x2, x3;
5012 : 950 : int res ATTRIBUTE_UNUSED;
5013 : 950 : if (!register_operand (operands[0], i1)
5014 : 950 : || GET_MODE (x1) != i1)
5015 : : return -1;
5016 : 903 : x2 = XEXP (x1, 0);
5017 : 903 : if (GET_MODE (x2) != i1
5018 : 903 : || !bcst_vector_operand (operands[1], i1))
5019 : 0 : return -1;
5020 : 903 : x3 = XEXP (x2, 2);
5021 : 903 : return pattern1382 (x3,
5022 : : i2,
5023 : 903 : i1); /* [-1, 0] */
5024 : : }
5025 : :
5026 : : int
5027 : 269 : pattern1392 (rtx x1, machine_mode i1)
5028 : : {
5029 : 269 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5030 : 269 : rtx x2, x3;
5031 : 269 : int res ATTRIBUTE_UNUSED;
5032 : 269 : if (!register_operand (operands[0], i1)
5033 : 269 : || GET_MODE (x1) != i1)
5034 : : return -1;
5035 : 258 : x2 = XEXP (x1, 0);
5036 : 258 : if (GET_MODE (x2) != i1)
5037 : : return -1;
5038 : 258 : x3 = XEXP (x2, 0);
5039 : 258 : if (GET_MODE (x3) != i1
5040 : 258 : || !nonimmediate_operand (operands[1], i1)
5041 : 257 : || !nonimmediate_operand (operands[2], i1)
5042 : 515 : || !nonimmediate_operand (operands[3], i1))
5043 : 1 : return -1;
5044 : : return 0;
5045 : : }
5046 : :
5047 : : int
5048 : 1188 : pattern1400 (rtx x1)
5049 : : {
5050 : 1188 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5051 : 1188 : rtx x2, x3, x4, x5, x6, x7;
5052 : 1188 : int res ATTRIBUTE_UNUSED;
5053 : 1188 : x2 = XVECEXP (x1, 0, 0);
5054 : 1188 : x3 = XEXP (x2, 0);
5055 : 1188 : x4 = XEXP (x3, 1);
5056 : 1188 : operands[4] = x4;
5057 : 1188 : x5 = XEXP (x3, 2);
5058 : 1188 : operands[5] = x5;
5059 : 1188 : if (!register_operand (operands[5], E_QImode))
5060 : : return -1;
5061 : 1150 : x6 = XVECEXP (x1, 0, 1);
5062 : 1150 : operands[6] = x6;
5063 : 1150 : if (!const48_operand (operands[6], E_SImode))
5064 : : return -1;
5065 : 1150 : x7 = XEXP (x2, 1);
5066 : 1150 : if (!rtx_equal_p (x7, operands[1]))
5067 : : return -1;
5068 : 1150 : switch (GET_MODE (operands[0]))
5069 : : {
5070 : 522 : case E_V8HFmode:
5071 : 522 : return pattern1399 (x1,
5072 : 522 : E_V8HFmode); /* [-1, 0] */
5073 : :
5074 : 314 : case E_V4SFmode:
5075 : 314 : if (pattern1399 (x1,
5076 : : E_V4SFmode) != 0)
5077 : : return -1;
5078 : : return 1;
5079 : :
5080 : 314 : case E_V2DFmode:
5081 : 314 : if (pattern1399 (x1,
5082 : : E_V2DFmode) != 0)
5083 : : return -1;
5084 : : return 2;
5085 : :
5086 : : default:
5087 : : return -1;
5088 : : }
5089 : : }
5090 : :
5091 : : int
5092 : 321 : pattern1414 (rtx x1, machine_mode i1)
5093 : : {
5094 : 321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5095 : 321 : rtx x2, x3;
5096 : 321 : int res ATTRIBUTE_UNUSED;
5097 : 321 : if (!register_operand (operands[0], i1)
5098 : 321 : || GET_MODE (x1) != i1)
5099 : : return -1;
5100 : 312 : x2 = XVECEXP (x1, 0, 0);
5101 : 312 : if (GET_MODE (x2) != i1
5102 : 312 : || !register_operand (operands[1], i1)
5103 : 624 : || !register_operand (operands[2], i1))
5104 : 5 : return -1;
5105 : 307 : x3 = XEXP (x2, 2);
5106 : 307 : if (GET_MODE (x3) != i1
5107 : 307 : || !register_operand (operands[3], i1))
5108 : 0 : return -1;
5109 : : return 0;
5110 : : }
5111 : :
5112 : : int
5113 : 2361 : pattern1421 (rtx x1)
5114 : : {
5115 : 2361 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5116 : 2361 : int res ATTRIBUTE_UNUSED;
5117 : 2361 : switch (GET_MODE (operands[0]))
5118 : : {
5119 : 713 : case E_SImode:
5120 : 713 : if (!register_operand (operands[0], E_SImode)
5121 : 712 : || GET_MODE (x1) != E_SImode
5122 : 1425 : || !register_operand (operands[1], E_SImode))
5123 : 306 : return -1;
5124 : : return 0;
5125 : :
5126 : 1099 : case E_DImode:
5127 : 1099 : if (!register_operand (operands[0], E_DImode)
5128 : 1071 : || GET_MODE (x1) != E_DImode
5129 : 2170 : || !register_operand (operands[1], E_DImode))
5130 : 286 : return -1;
5131 : : return 1;
5132 : :
5133 : : default:
5134 : : return -1;
5135 : : }
5136 : : }
5137 : :
5138 : : int
5139 : 3265 : pattern1434 (rtx x1, machine_mode i1)
5140 : : {
5141 : 3265 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5142 : 3265 : rtx x2;
5143 : 3265 : int res ATTRIBUTE_UNUSED;
5144 : 3265 : if (!register_operand (operands[0], i1)
5145 : 3265 : || GET_MODE (x1) != i1)
5146 : : return -1;
5147 : 3265 : x2 = XEXP (x1, 1);
5148 : 3265 : if (GET_MODE (x2) != i1
5149 : 3265 : || !nonimmediate_operand (operands[1], i1))
5150 : 397 : return -1;
5151 : : return 0;
5152 : : }
5153 : :
5154 : : int
5155 : 0 : pattern1441 (rtx x1, machine_mode i1)
5156 : : {
5157 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5158 : 0 : int res ATTRIBUTE_UNUSED;
5159 : 0 : if (!register_operand (operands[0], i1)
5160 : 0 : || GET_MODE (x1) != i1
5161 : 0 : || !register_operand (operands[1], i1)
5162 : 0 : || !const_int_operand (operands[2], i1))
5163 : 0 : return -1;
5164 : : return 0;
5165 : : }
5166 : :
5167 : : int
5168 : 280749 : pattern1447 (rtx x1, int i1, machine_mode i2)
5169 : : {
5170 : 280749 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5171 : 280749 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5172 : 280749 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
5173 : 280749 : rtx x18, x19, x20, x21, x22;
5174 : 280749 : int res ATTRIBUTE_UNUSED;
5175 : 280749 : x2 = XVECEXP (x1, 0, 2);
5176 : 280749 : x3 = XEXP (x2, 1);
5177 : 280749 : switch (GET_CODE (x3))
5178 : : {
5179 : 169175 : case PLUS:
5180 : 169175 : x4 = XEXP (x3, 0);
5181 : 169175 : if (GET_CODE (x4) != ASHIFT)
5182 : : return -1;
5183 : 144696 : x5 = XEXP (x4, 1);
5184 : 144696 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5185 : : return -1;
5186 : 144696 : x6 = XVECEXP (x1, 0, 3);
5187 : 144696 : if (GET_CODE (x6) != SET)
5188 : : return -1;
5189 : 144696 : x7 = XEXP (x6, 1);
5190 : 144696 : if (GET_CODE (x7) != MEM
5191 : 144696 : || GET_MODE (x7) != E_BLKmode)
5192 : : return -1;
5193 : 144696 : x8 = XEXP (x6, 0);
5194 : 144696 : if (GET_CODE (x8) != MEM
5195 : 144696 : || GET_MODE (x8) != E_BLKmode)
5196 : : return -1;
5197 : 144696 : x9 = XVECEXP (x1, 0, 0);
5198 : 144696 : x10 = XEXP (x9, 0);
5199 : 144696 : operands[2] = x10;
5200 : 144696 : x11 = XVECEXP (x1, 0, 1);
5201 : 144696 : x12 = XEXP (x11, 1);
5202 : 144696 : x13 = XEXP (x12, 0);
5203 : 144696 : x14 = XEXP (x13, 0);
5204 : 144696 : operands[5] = x14;
5205 : 144696 : x15 = XEXP (x2, 0);
5206 : 144696 : operands[1] = x15;
5207 : 144696 : x16 = XEXP (x3, 1);
5208 : 144696 : operands[4] = x16;
5209 : 144696 : x17 = XEXP (x4, 0);
5210 : 144696 : if (!rtx_equal_p (x17, operands[5]))
5211 : : return -1;
5212 : 144696 : x18 = XEXP (x7, 0);
5213 : 144696 : if (!rtx_equal_p (x18, operands[4]))
5214 : : return -1;
5215 : 133830 : x19 = XEXP (x8, 0);
5216 : 133830 : if (!rtx_equal_p (x19, operands[3]))
5217 : : return -1;
5218 : 128224 : x20 = XVECEXP (x1, 0, 4);
5219 : 128224 : x21 = XEXP (x20, 0);
5220 : 128224 : if (!rtx_equal_p (x21, operands[5]))
5221 : : return -1;
5222 : 128123 : switch (GET_MODE (operands[2]))
5223 : : {
5224 : 3589 : case E_SImode:
5225 : 3589 : return pattern1445 (x1,
5226 : 3589 : E_SImode); /* [-1, 0] */
5227 : :
5228 : 124534 : case E_DImode:
5229 : 124534 : if (pattern1445 (x1,
5230 : : E_DImode) != 0)
5231 : : return -1;
5232 : : return 1;
5233 : :
5234 : : default:
5235 : : return -1;
5236 : : }
5237 : :
5238 : 103845 : case CONST_INT:
5239 : 103845 : if (XWINT (x3, 0) != 0L)
5240 : : return -1;
5241 : 103843 : x15 = XEXP (x2, 0);
5242 : 103843 : if (GET_CODE (x15) != MEM
5243 : 103843 : || GET_MODE (x15) != E_BLKmode)
5244 : : return -1;
5245 : 103843 : x6 = XVECEXP (x1, 0, 3);
5246 : 103843 : if (GET_CODE (x6) != USE)
5247 : : return -1;
5248 : 103843 : x9 = XVECEXP (x1, 0, 0);
5249 : 103843 : x10 = XEXP (x9, 0);
5250 : 103843 : operands[1] = x10;
5251 : 103843 : x11 = XVECEXP (x1, 0, 1);
5252 : 103843 : x12 = XEXP (x11, 1);
5253 : 103843 : x13 = XEXP (x12, 0);
5254 : 103843 : x14 = XEXP (x13, 0);
5255 : 103843 : operands[4] = x14;
5256 : 103843 : x8 = XEXP (x6, 0);
5257 : 103843 : operands[2] = x8;
5258 : 103843 : if (!register_operand (operands[2], i2))
5259 : : return -1;
5260 : 77641 : x22 = XEXP (x15, 0);
5261 : 77641 : if (!rtx_equal_p (x22, operands[3]))
5262 : : return -1;
5263 : 69894 : x20 = XVECEXP (x1, 0, 4);
5264 : 69894 : x21 = XEXP (x20, 0);
5265 : 69894 : if (!rtx_equal_p (x21, operands[4]))
5266 : : return -1;
5267 : 69894 : switch (GET_MODE (operands[1]))
5268 : : {
5269 : 1459 : case E_SImode:
5270 : 1459 : if (pattern1446 (x12,
5271 : : E_SImode) != 0)
5272 : : return -1;
5273 : : return 2;
5274 : :
5275 : 68435 : case E_DImode:
5276 : 68435 : if (pattern1446 (x12,
5277 : : E_DImode) != 0)
5278 : : return -1;
5279 : : return 3;
5280 : :
5281 : : default:
5282 : : return -1;
5283 : : }
5284 : :
5285 : : default:
5286 : : return -1;
5287 : : }
5288 : : }
5289 : :
5290 : : int
5291 : 11924 : pattern1493 (rtx x1, machine_mode i1)
5292 : : {
5293 : 11924 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5294 : 11924 : int res ATTRIBUTE_UNUSED;
5295 : 11924 : if (!nonimmediate_operand (operands[1], i1)
5296 : 11924 : || !general_operand (operands[2], i1)
5297 : 11888 : || !nonimmediate_operand (operands[0], i1)
5298 : 23812 : || GET_MODE (x1) != i1)
5299 : 36 : return -1;
5300 : : return 0;
5301 : : }
5302 : :
5303 : : int
5304 : 72420 : pattern1499 (rtx x1, machine_mode i1)
5305 : : {
5306 : 72420 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5307 : 72420 : rtx x2, x3, x4, x5;
5308 : 72420 : int res ATTRIBUTE_UNUSED;
5309 : 72420 : if (!register_operand (operands[0], i1))
5310 : : return -1;
5311 : 72416 : x2 = XVECEXP (x1, 0, 0);
5312 : 72416 : x3 = XEXP (x2, 1);
5313 : 72416 : if (GET_MODE (x3) != i1
5314 : 72416 : || !register_operand (operands[2], i1)
5315 : 72116 : || !const_int_operand (operands[3], i1)
5316 : 144532 : || !register_operand (operands[1], i1))
5317 : 300 : return -1;
5318 : 72116 : x4 = XVECEXP (x1, 0, 1);
5319 : 72116 : x5 = XEXP (x4, 1);
5320 : 72116 : if (GET_MODE (x5) != i1)
5321 : : return -1;
5322 : : return 0;
5323 : : }
5324 : :
5325 : : int
5326 : 31826 : pattern1509 (rtx x1, machine_mode i1)
5327 : : {
5328 : 31826 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5329 : 31826 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5330 : 31826 : rtx x10;
5331 : 31826 : int res ATTRIBUTE_UNUSED;
5332 : 31826 : x2 = PATTERN (peep2_next_insn (2));
5333 : 31826 : x3 = XEXP (x2, 1);
5334 : 31826 : if (!rtx_equal_p (x3, operands[0]))
5335 : : return -1;
5336 : 6765 : x4 = XVECEXP (x1, 0, 0);
5337 : 6765 : x5 = XEXP (x4, 1);
5338 : 6765 : switch (GET_CODE (x5))
5339 : : {
5340 : 1670 : case COMPARE:
5341 : 1670 : x6 = XEXP (x4, 0);
5342 : 1670 : if (GET_CODE (x6) != REG
5343 : 1670 : || REGNO (x6) != 17)
5344 : : return -1;
5345 : 1670 : x7 = XVECEXP (x1, 0, 1);
5346 : 1670 : if (GET_CODE (x7) != SET)
5347 : : return -1;
5348 : 1670 : x8 = XEXP (x7, 1);
5349 : 1670 : if (GET_MODE (x8) != i1)
5350 : : return -1;
5351 : 1663 : x9 = XEXP (x7, 0);
5352 : 1663 : if (!rtx_equal_p (x9, operands[0]))
5353 : : return -1;
5354 : 1663 : x10 = XEXP (x5, 0);
5355 : 1663 : switch (GET_CODE (x10))
5356 : : {
5357 : 0 : case REG:
5358 : 0 : return pattern1192 (x1,
5359 : 0 : i1); /* [-1, 0] */
5360 : :
5361 : 0 : case SUBREG:
5362 : 0 : case MEM:
5363 : 0 : if (pattern1193 (x1,
5364 : : i1) != 0)
5365 : : return -1;
5366 : : return 1;
5367 : :
5368 : 1611 : case PLUS:
5369 : 1611 : if (pattern1194 (x1,
5370 : : i1) != 0)
5371 : : return -1;
5372 : : return 2;
5373 : :
5374 : : default:
5375 : : return -1;
5376 : : }
5377 : :
5378 : 1326 : case PLUS:
5379 : 1326 : res = pattern1196 (x1,
5380 : : i1);
5381 : 1326 : if (res >= 0)
5382 : 0 : return res + 3; /* [3, 4] */
5383 : : return -1;
5384 : :
5385 : 76 : case MINUS:
5386 : 76 : res = pattern1197 (x1,
5387 : : i1);
5388 : 76 : if (res >= 0)
5389 : 0 : return res + 5; /* [5, 6] */
5390 : : return -1;
5391 : :
5392 : : default:
5393 : : return -1;
5394 : : }
5395 : : }
5396 : :
5397 : : int
5398 : 68 : pattern1532 (rtx x1)
5399 : : {
5400 : 68 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5401 : 68 : rtx x2, x3, x4, x5, x6;
5402 : 68 : int res ATTRIBUTE_UNUSED;
5403 : 68 : if (!register_operand (operands[0], E_QImode)
5404 : 68 : || GET_MODE (x1) != E_QImode)
5405 : : return -1;
5406 : 68 : x2 = XEXP (x1, 0);
5407 : 68 : if (GET_MODE (x2) != E_QImode)
5408 : : return -1;
5409 : 68 : x3 = XEXP (x2, 0);
5410 : 68 : x4 = XEXP (x3, 0);
5411 : 68 : x5 = XEXP (x4, 0);
5412 : 68 : operands[1] = x5;
5413 : 68 : x6 = XEXP (x4, 1);
5414 : 68 : operands[2] = x6;
5415 : 68 : if (!register_operand (operands[2], E_QImode))
5416 : : return -1;
5417 : 56 : switch (GET_MODE (x4))
5418 : : {
5419 : 31 : case E_SImode:
5420 : 31 : if (!register_operand (operands[1], E_SImode))
5421 : : return -1;
5422 : : return 0;
5423 : :
5424 : 25 : case E_DImode:
5425 : 25 : if (!register_operand (operands[1], E_DImode))
5426 : : return -1;
5427 : : return 1;
5428 : :
5429 : : default:
5430 : : return -1;
5431 : : }
5432 : : }
5433 : :
5434 : : int
5435 : 165 : pattern1545 (rtx x1, machine_mode i1)
5436 : : {
5437 : 165 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5438 : 165 : rtx x2, x3;
5439 : 165 : int res ATTRIBUTE_UNUSED;
5440 : 165 : if (!register_operand (operands[0], i1)
5441 : 165 : || GET_MODE (x1) != i1)
5442 : : return -1;
5443 : 151 : x2 = XEXP (x1, 0);
5444 : 151 : if (GET_MODE (x2) != i1)
5445 : : return -1;
5446 : 151 : x3 = XEXP (x2, 0);
5447 : 151 : if (GET_MODE (x3) != i1
5448 : 151 : || !nonimmediate_operand (operands[1], i1)
5449 : 151 : || !nonimmediate_operand (operands[2], i1)
5450 : 151 : || !nonimmediate_operand (operands[3], i1)
5451 : 302 : || !const0_operand (operands[4], i1))
5452 : 0 : return -1;
5453 : : return 0;
5454 : : }
5455 : :
5456 : : int
5457 : 939 : pattern1553 (rtx x1, machine_mode i1)
5458 : : {
5459 : 939 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5460 : 939 : rtx x2, x3, x4;
5461 : 939 : int res ATTRIBUTE_UNUSED;
5462 : 939 : if (!register_operand (operands[0], i1)
5463 : 939 : || GET_MODE (x1) != i1)
5464 : : return -1;
5465 : 920 : x2 = XVECEXP (x1, 0, 0);
5466 : 920 : if (GET_MODE (x2) != i1)
5467 : : return -1;
5468 : 920 : x3 = XEXP (x2, 0);
5469 : 920 : if (GET_MODE (x3) != i1)
5470 : : return -1;
5471 : 920 : x4 = XEXP (x3, 0);
5472 : 920 : if (GET_MODE (x4) != i1
5473 : 920 : || !nonimmediate_operand (operands[1], i1)
5474 : 920 : || !nonimm_or_0_operand (operands[3], i1)
5475 : 1837 : || !register_operand (operands[2], i1))
5476 : 3 : return -1;
5477 : : return 0;
5478 : : }
5479 : :
5480 : : int
5481 : 622 : pattern1563 (rtx x1, machine_mode i1)
5482 : : {
5483 : 622 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5484 : 622 : rtx x2;
5485 : 622 : int res ATTRIBUTE_UNUSED;
5486 : 622 : if (!register_operand (operands[0], i1)
5487 : 622 : || GET_MODE (x1) != i1
5488 : 1244 : || !register_operand (operands[2], i1))
5489 : 138 : return -1;
5490 : 484 : x2 = XVECEXP (x1, 0, 2);
5491 : 484 : if (GET_MODE (x2) != i1)
5492 : : return -1;
5493 : : return 0;
5494 : : }
5495 : :
5496 : : int
5497 : 34 : pattern1571 (rtx x1, machine_mode i1)
5498 : : {
5499 : 34 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5500 : 34 : rtx x2, x3;
5501 : 34 : int res ATTRIBUTE_UNUSED;
5502 : 34 : if (!nonimmediate_operand (operands[0], i1)
5503 : 34 : || GET_MODE (x1) != i1)
5504 : : return -1;
5505 : 34 : x2 = XEXP (x1, 0);
5506 : 34 : if (GET_MODE (x2) != i1
5507 : 34 : || !nonimmediate_operand (operands[1], i1))
5508 : 0 : return -1;
5509 : 34 : x3 = XEXP (x2, 1);
5510 : 34 : if (GET_MODE (x3) != i1
5511 : 34 : || !x86_64_general_operand (operands[2], i1))
5512 : 0 : return -1;
5513 : : return 0;
5514 : : }
5515 : :
5516 : : int
5517 : 0 : pattern1579 (rtx x1, machine_mode i1)
5518 : : {
5519 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5520 : 0 : rtx x2, x3, x4, x5;
5521 : 0 : int res ATTRIBUTE_UNUSED;
5522 : 0 : x2 = XVECEXP (x1, 0, 0);
5523 : 0 : x3 = XEXP (x2, 0);
5524 : 0 : if (GET_MODE (x3) != i1
5525 : 0 : || !register_operand (operands[2], i1))
5526 : 0 : return -1;
5527 : 0 : switch (GET_MODE (operands[1]))
5528 : : {
5529 : 0 : case E_SImode:
5530 : 0 : if (!register_operand (operands[1], E_SImode)
5531 : 0 : || !register_operand (operands[0], E_SImode))
5532 : 0 : return -1;
5533 : 0 : x4 = XVECEXP (x1, 0, 1);
5534 : 0 : x5 = XEXP (x4, 1);
5535 : 0 : if (GET_MODE (x5) != E_SImode)
5536 : : return -1;
5537 : : return 0;
5538 : :
5539 : 0 : case E_DImode:
5540 : 0 : if (!register_operand (operands[1], E_DImode)
5541 : 0 : || !register_operand (operands[0], E_DImode))
5542 : 0 : return -1;
5543 : 0 : x4 = XVECEXP (x1, 0, 1);
5544 : 0 : x5 = XEXP (x4, 1);
5545 : 0 : if (GET_MODE (x5) != E_DImode)
5546 : : return -1;
5547 : : return 1;
5548 : :
5549 : : default:
5550 : : return -1;
5551 : : }
5552 : : }
5553 : :
5554 : : int
5555 : 976 : pattern1593 (machine_mode i1, machine_mode i2)
5556 : : {
5557 : 976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5558 : 976 : int res ATTRIBUTE_UNUSED;
5559 : 976 : if (!register_operand (operands[2], i2)
5560 : 968 : || !register_operand (operands[3], i2)
5561 : 968 : || !const0_operand (operands[4], i2)
5562 : 1944 : || !register_operand (operands[5], i1))
5563 : 24 : return -1;
5564 : : return 0;
5565 : : }
5566 : :
5567 : : int
5568 : 507 : pattern1598 (rtx x1, machine_mode i1, machine_mode i2)
5569 : : {
5570 : 507 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5571 : 507 : rtx x2, x3, x4;
5572 : 507 : int res ATTRIBUTE_UNUSED;
5573 : 507 : if (!register_operand (operands[0], i2)
5574 : 507 : || GET_MODE (x1) != i2)
5575 : : return -1;
5576 : 493 : x2 = XVECEXP (x1, 0, 0);
5577 : 493 : if (GET_MODE (x2) != i2)
5578 : : return -1;
5579 : 493 : x3 = XEXP (x2, 0);
5580 : 493 : if (GET_MODE (x3) != i2
5581 : 493 : || !register_operand (operands[1], i2))
5582 : 5 : return -1;
5583 : 488 : x4 = XEXP (x3, 2);
5584 : 488 : return pattern1597 (x4,
5585 : : i1,
5586 : 488 : i2); /* [-1, 0] */
5587 : : }
5588 : :
5589 : : int
5590 : 0 : pattern1606 (rtx x1, machine_mode i1, machine_mode i2)
5591 : : {
5592 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5593 : 0 : rtx x2, x3, x4, x5, x6;
5594 : 0 : int res ATTRIBUTE_UNUSED;
5595 : 0 : if (!register_operand (operands[0], i1)
5596 : 0 : || GET_MODE (x1) != i1)
5597 : : return -1;
5598 : 0 : x2 = XVECEXP (x1, 0, 0);
5599 : 0 : if (GET_MODE (x2) != i1)
5600 : : return -1;
5601 : 0 : x3 = XEXP (x2, 0);
5602 : 0 : if (GET_MODE (x3) != i1)
5603 : : return -1;
5604 : 0 : x4 = XEXP (x3, 0);
5605 : 0 : if (GET_MODE (x4) != i1
5606 : 0 : || !register_operand (operands[1], i1)
5607 : 0 : || !register_operand (operands[2], i1))
5608 : 0 : return -1;
5609 : 0 : x5 = XEXP (x3, 2);
5610 : 0 : if (GET_MODE (x5) != i1
5611 : 0 : || !nonimmediate_operand (operands[3], i1)
5612 : 0 : || !register_operand (operands[4], i2))
5613 : 0 : return -1;
5614 : 0 : x6 = XEXP (x2, 1);
5615 : 0 : if (!rtx_equal_p (x6, operands[3]))
5616 : : return -1;
5617 : : return 0;
5618 : : }
5619 : :
5620 : : int
5621 : 127 : pattern1619 (rtx x1, machine_mode i1, machine_mode i2)
5622 : : {
5623 : 127 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5624 : 127 : rtx x2, x3;
5625 : 127 : int res ATTRIBUTE_UNUSED;
5626 : 127 : if (!register_operand (operands[0], i2)
5627 : 124 : || GET_MODE (x1) != i2
5628 : 124 : || !register_operand (operands[6], E_QImode)
5629 : 157 : || !vsib_mem_operator (operands[5], i1))
5630 : 97 : return -1;
5631 : 30 : x2 = XVECEXP (x1, 0, 2);
5632 : 30 : x3 = XEXP (x2, 0);
5633 : 30 : switch (GET_MODE (x3))
5634 : : {
5635 : 0 : case E_SImode:
5636 : 0 : return pattern1618 (
5637 : 0 : E_SImode); /* [-1, 1] */
5638 : :
5639 : 30 : case E_DImode:
5640 : 30 : res = pattern1618 (
5641 : : E_DImode);
5642 : 30 : if (res >= 0)
5643 : 18 : return res + 2; /* [2, 3] */
5644 : : return -1;
5645 : :
5646 : : default:
5647 : : return -1;
5648 : : }
5649 : : }
5650 : :
5651 : : int
5652 : 12 : pattern1631 (rtx x1, machine_mode i1)
5653 : : {
5654 : 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5655 : 12 : rtx x2, x3, x4, x5, x6;
5656 : 12 : int res ATTRIBUTE_UNUSED;
5657 : 12 : if (!nonimmediate_operand (operands[1], i1)
5658 : 12 : || !general_operand (operands[2], i1)
5659 : 24 : || !nonimmediate_operand (operands[0], i1))
5660 : 0 : return -1;
5661 : 12 : x2 = XVECEXP (x1, 0, 1);
5662 : 12 : x3 = XEXP (x2, 1);
5663 : 12 : if (GET_MODE (x3) != i1)
5664 : : return -1;
5665 : 12 : x4 = XVECEXP (x1, 0, 0);
5666 : 12 : x5 = XEXP (x4, 1);
5667 : 12 : x6 = XEXP (x5, 1);
5668 : 12 : if (!rtx_equal_p (x6, operands[2]))
5669 : : return -1;
5670 : : return 0;
5671 : : }
5672 : :
5673 : : int
5674 : 1702 : pattern1641 (rtx x1, machine_mode i1)
5675 : : {
5676 : 1702 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5677 : 1702 : rtx x2, x3, x4;
5678 : 1702 : int res ATTRIBUTE_UNUSED;
5679 : 1702 : if (!nonmemory_operand (operands[1], i1))
5680 : : return -1;
5681 : 1702 : operands[3] = x1;
5682 : 1702 : if (!register_operand (operands[3], i1))
5683 : : return -1;
5684 : 8 : x2 = PATTERN (peep2_next_insn (1));
5685 : 8 : x3 = XEXP (x2, 1);
5686 : 8 : if (!rtx_equal_p (x3, operands[3]))
5687 : : return -1;
5688 : 8 : x4 = XEXP (x2, 0);
5689 : 8 : if (!rtx_equal_p (x4, operands[0]))
5690 : : return -1;
5691 : : return 0;
5692 : : }
5693 : :
5694 : : int
5695 : 894 : pattern1649 (rtx x1, machine_mode i1, machine_mode i2)
5696 : : {
5697 : 894 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5698 : 894 : rtx x2, x3, x4;
5699 : 894 : int res ATTRIBUTE_UNUSED;
5700 : 894 : if (!register_operand (operands[0], i1)
5701 : 894 : || GET_MODE (x1) != i1)
5702 : : return -1;
5703 : 838 : x2 = XEXP (x1, 0);
5704 : 838 : if (GET_MODE (x2) != i1)
5705 : : return -1;
5706 : 838 : x3 = XEXP (x2, 0);
5707 : 838 : if (GET_MODE (x3) != i2)
5708 : : return -1;
5709 : 838 : x4 = XEXP (x1, 1);
5710 : 838 : if (!nonimm_or_0_operand (x4, i1))
5711 : : return -1;
5712 : : return 0;
5713 : : }
5714 : :
5715 : : int
5716 : 725 : pattern1656 (rtx x1, machine_mode i1, machine_mode i2)
5717 : : {
5718 : 725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5719 : 725 : rtx x2, x3;
5720 : 725 : int res ATTRIBUTE_UNUSED;
5721 : 725 : if (!register_operand (operands[0], i2)
5722 : 725 : || GET_MODE (x1) != i2)
5723 : : return -1;
5724 : 705 : x2 = XVECEXP (x1, 0, 0);
5725 : 705 : if (GET_MODE (x2) != i2)
5726 : : return -1;
5727 : 705 : x3 = XEXP (x2, 0);
5728 : 705 : if (GET_MODE (x3) != i2
5729 : 705 : || !register_operand (operands[1], i2)
5730 : 700 : || !register_operand (operands[2], i2)
5731 : 696 : || !register_operand (operands[3], i2)
5732 : 696 : || !const0_operand (operands[4], i2)
5733 : 1401 : || !register_operand (operands[5], i1))
5734 : 19 : return -1;
5735 : : return 0;
5736 : : }
5737 : :
5738 : : int
5739 : 115 : pattern1666 (machine_mode i1)
5740 : : {
5741 : 115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5742 : 115 : int res ATTRIBUTE_UNUSED;
5743 : 115 : if (!vsib_address_operand (operands[4], i1))
5744 : : return -1;
5745 : 115 : switch (GET_MODE (operands[3]))
5746 : : {
5747 : 82 : case E_V4SImode:
5748 : 82 : if (!register_operand (operands[3], E_V4SImode))
5749 : : return -1;
5750 : : return 0;
5751 : :
5752 : 33 : case E_V4DImode:
5753 : 33 : if (!register_operand (operands[3], E_V4DImode))
5754 : : return -1;
5755 : : return 1;
5756 : :
5757 : : default:
5758 : : return -1;
5759 : : }
5760 : : }
5761 : :
5762 : : int
5763 : 40 : pattern1674 (rtx x1, machine_mode i1)
5764 : : {
5765 : 40 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5766 : 40 : rtx x2, x3, x4;
5767 : 40 : int res ATTRIBUTE_UNUSED;
5768 : 40 : x2 = XVECEXP (x1, 0, 0);
5769 : 40 : x3 = XEXP (x2, 0);
5770 : 40 : if (GET_MODE (x3) != i1)
5771 : : return -1;
5772 : 40 : x4 = XEXP (x2, 1);
5773 : 40 : if (GET_MODE (x4) != i1)
5774 : : return -1;
5775 : 40 : switch (GET_MODE (operands[2]))
5776 : : {
5777 : 10 : case E_SImode:
5778 : 10 : return pattern1673 (x1,
5779 : 10 : E_SImode); /* [-1, 0] */
5780 : :
5781 : 30 : case E_DImode:
5782 : 30 : if (pattern1673 (x1,
5783 : : E_DImode) != 0)
5784 : : return -1;
5785 : : return 1;
5786 : :
5787 : : default:
5788 : : return -1;
5789 : : }
5790 : : }
5791 : :
5792 : : int
5793 : 331 : pattern1685 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5794 : : {
5795 : 331 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5796 : 331 : rtx x2, x3;
5797 : 331 : int res ATTRIBUTE_UNUSED;
5798 : 331 : if (!register_operand (operands[0], i1)
5799 : 331 : || GET_MODE (x1) != i1)
5800 : : return -1;
5801 : 323 : x2 = XVECEXP (x1, 0, 0);
5802 : 323 : if (GET_MODE (x2) != i1)
5803 : : return -1;
5804 : 323 : x3 = XEXP (x2, 0);
5805 : 323 : if (GET_MODE (x3) != i1
5806 : 323 : || !register_operand (operands[1], i1)
5807 : 323 : || !register_operand (operands[2], i1)
5808 : 323 : || !nonimmediate_operand (operands[3], i2)
5809 : 323 : || !const0_operand (operands[5], i1)
5810 : 646 : || !register_operand (operands[6], i3))
5811 : 2 : return -1;
5812 : : return 0;
5813 : : }
5814 : :
5815 : : int
5816 : 235902 : pattern1695 (rtx x1, machine_mode i1)
5817 : : {
5818 : 235902 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5819 : 235902 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5820 : 235902 : int res ATTRIBUTE_UNUSED;
5821 : 235902 : x2 = XVECEXP (x1, 0, 0);
5822 : 235902 : x3 = XEXP (x2, 0);
5823 : 235902 : if (GET_MODE (x3) != i1)
5824 : : return -1;
5825 : 235902 : x4 = XEXP (x2, 1);
5826 : 235902 : if (GET_MODE (x4) != i1)
5827 : : return -1;
5828 : 235902 : x5 = XEXP (x4, 0);
5829 : 235902 : if (GET_MODE (x5) != i1)
5830 : : return -1;
5831 : 235902 : x6 = XVECEXP (x1, 0, 1);
5832 : 235902 : x7 = XEXP (x6, 0);
5833 : 235902 : if (GET_MODE (x7) != i1)
5834 : : return -1;
5835 : 235902 : x8 = XEXP (x6, 1);
5836 : 235902 : if (GET_MODE (x8) != i1)
5837 : : return -1;
5838 : 235902 : x9 = XEXP (x8, 0);
5839 : 235902 : if (GET_MODE (x9) != i1)
5840 : 0 : return -1;
5841 : : return 0;
5842 : : }
5843 : :
5844 : : int
5845 : 2382 : pattern1705 ()
5846 : : {
5847 : 2382 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5848 : 2382 : int res ATTRIBUTE_UNUSED;
5849 : 2382 : switch (GET_MODE (operands[1]))
5850 : : {
5851 : 1882 : case E_V8HFmode:
5852 : 1882 : if (!register_operand (operands[1], E_V8HFmode)
5853 : 1882 : || !register_operand (operands[2], E_V8HFmode))
5854 : 35 : return -1;
5855 : : return 0;
5856 : :
5857 : 250 : case E_V4SFmode:
5858 : 250 : if (!register_operand (operands[1], E_V4SFmode)
5859 : 250 : || !register_operand (operands[2], E_V4SFmode))
5860 : 1 : return -1;
5861 : : return 1;
5862 : :
5863 : 250 : case E_V2DFmode:
5864 : 250 : if (!register_operand (operands[1], E_V2DFmode)
5865 : 250 : || !register_operand (operands[2], E_V2DFmode))
5866 : 1 : return -1;
5867 : : return 2;
5868 : :
5869 : : default:
5870 : : return -1;
5871 : : }
5872 : : }
5873 : :
5874 : : int
5875 : 152 : pattern1715 (machine_mode i1)
5876 : : {
5877 : 152 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5878 : 152 : int res ATTRIBUTE_UNUSED;
5879 : 152 : if (!vsib_address_operand (operands[2], i1))
5880 : : return -1;
5881 : 130 : switch (GET_MODE (operands[3]))
5882 : : {
5883 : 86 : case E_V4SImode:
5884 : 86 : if (!register_operand (operands[3], E_V4SImode))
5885 : : return -1;
5886 : : return 0;
5887 : :
5888 : 44 : case E_V4DImode:
5889 : 44 : if (!register_operand (operands[3], E_V4DImode))
5890 : : return -1;
5891 : : return 1;
5892 : :
5893 : : default:
5894 : : return -1;
5895 : : }
5896 : : }
5897 : :
5898 : : int
5899 : 1732 : pattern1721 (rtx x1, machine_mode i1)
5900 : : {
5901 : 1732 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5902 : 1732 : rtx x2, x3, x4;
5903 : 1732 : int res ATTRIBUTE_UNUSED;
5904 : 1732 : if (!vsib_mem_operator (operands[5], i1)
5905 : 1732 : || !register_operand (operands[6], E_QImode))
5906 : 400 : return -1;
5907 : 1332 : x2 = XEXP (x1, 1);
5908 : 1332 : if (GET_MODE (x2) != i1
5909 : 1332 : || !register_operand (operands[3], i1)
5910 : 2620 : || !scratch_operand (operands[1], E_QImode))
5911 : 44 : return -1;
5912 : 1288 : x3 = XEXP (x1, 0);
5913 : 1288 : x4 = XEXP (x3, 0);
5914 : 1288 : switch (GET_MODE (x4))
5915 : : {
5916 : 45 : case E_SImode:
5917 : 45 : return pattern1720 (
5918 : 45 : E_SImode); /* [-1, 1] */
5919 : :
5920 : 1243 : case E_DImode:
5921 : 1243 : res = pattern1720 (
5922 : : E_DImode);
5923 : 1243 : if (res >= 0)
5924 : 1121 : return res + 2; /* [2, 3] */
5925 : : return -1;
5926 : :
5927 : : default:
5928 : : return -1;
5929 : : }
5930 : : }
5931 : :
5932 : : int
5933 : 180 : pattern1734 (rtx x1, machine_mode i1, machine_mode i2)
5934 : : {
5935 : 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5936 : 180 : rtx x2, x3;
5937 : 180 : int res ATTRIBUTE_UNUSED;
5938 : 180 : if (!register_operand (operands[0], i2)
5939 : 176 : || GET_MODE (x1) != i2
5940 : 176 : || !register_operand (operands[6], E_QImode)
5941 : 123 : || !vsib_mem_operator (operands[5], i1)
5942 : 303 : || !scratch_operand (operands[1], E_QImode))
5943 : 57 : return -1;
5944 : 123 : x2 = XVECEXP (x1, 0, 2);
5945 : 123 : x3 = XEXP (x2, 0);
5946 : 123 : switch (GET_MODE (x3))
5947 : : {
5948 : 0 : case E_SImode:
5949 : 0 : return pattern1733 (
5950 : 0 : E_SImode); /* [-1, 1] */
5951 : :
5952 : 123 : case E_DImode:
5953 : 123 : res = pattern1733 (
5954 : : E_DImode);
5955 : 123 : if (res >= 0)
5956 : 111 : return res + 2; /* [2, 3] */
5957 : : return -1;
5958 : :
5959 : : default:
5960 : : return -1;
5961 : : }
5962 : : }
5963 : :
5964 : : int
5965 : 303 : pattern1747 (rtx x1, machine_mode i1)
5966 : : {
5967 : 303 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5968 : 303 : rtx x2, x3, x4, x5;
5969 : 303 : int res ATTRIBUTE_UNUSED;
5970 : 303 : if (!register_operand (operands[0], i1)
5971 : 303 : || GET_MODE (x1) != i1)
5972 : : return -1;
5973 : 300 : x2 = XVECEXP (x1, 0, 0);
5974 : 300 : if (GET_MODE (x2) != i1)
5975 : : return -1;
5976 : 300 : x3 = XEXP (x2, 0);
5977 : 300 : if (GET_MODE (x3) != i1)
5978 : : return -1;
5979 : 300 : x4 = XEXP (x3, 0);
5980 : 300 : if (GET_MODE (x4) != i1
5981 : 300 : || !nonimmediate_operand (operands[1], i1)
5982 : 600 : || !register_operand (operands[2], i1))
5983 : 0 : return -1;
5984 : 300 : x5 = XEXP (x4, 2);
5985 : 300 : if (GET_MODE (x5) != i1
5986 : 300 : || !register_operand (operands[3], i1)
5987 : 600 : || !const0_operand (operands[4], i1))
5988 : 0 : return -1;
5989 : : return 0;
5990 : : }
5991 : :
5992 : : int
5993 : 383 : pattern1755 (rtx x1, machine_mode i1, machine_mode i2)
5994 : : {
5995 : 383 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5996 : 383 : rtx x2, x3;
5997 : 383 : int res ATTRIBUTE_UNUSED;
5998 : 383 : if (!register_operand (operands[0], i1)
5999 : 365 : || GET_MODE (x1) != i1
6000 : 365 : || !register_operand (operands[2], i1)
6001 : 365 : || !vsib_mem_operator (operands[7], i2)
6002 : 748 : || !register_operand (operands[5], i1))
6003 : 183 : return -1;
6004 : 200 : x2 = XVECEXP (x1, 0, 1);
6005 : 200 : x3 = XEXP (x2, 0);
6006 : 200 : switch (GET_MODE (x3))
6007 : : {
6008 : 0 : case E_SImode:
6009 : 0 : return pattern1754 (
6010 : 0 : E_SImode); /* [-1, 1] */
6011 : :
6012 : 200 : case E_DImode:
6013 : 200 : res = pattern1754 (
6014 : : E_DImode);
6015 : 200 : if (res >= 0)
6016 : 98 : return res + 2; /* [2, 3] */
6017 : : return -1;
6018 : :
6019 : : default:
6020 : : return -1;
6021 : : }
6022 : : }
6023 : :
6024 : : int
6025 : 4 : pattern1766 (rtx x1, machine_mode i1)
6026 : : {
6027 : 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6028 : 4 : int res ATTRIBUTE_UNUSED;
6029 : 4 : if (!nonimmediate_operand (operands[1], i1)
6030 : 4 : || !ix86_carry_flag_unset_operator (operands[2], i1)
6031 : 4 : || !nonimmediate_operand (operands[0], i1)
6032 : 8 : || GET_MODE (x1) != i1)
6033 : 0 : return -1;
6034 : : return 0;
6035 : : }
6036 : :
6037 : : int
6038 : 108 : pattern1775 ()
6039 : : {
6040 : 108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6041 : 108 : int res ATTRIBUTE_UNUSED;
6042 : 108 : switch (GET_MODE (operands[3]))
6043 : : {
6044 : 20 : case E_HImode:
6045 : 20 : if (!extract_high_operator (operands[3], E_HImode))
6046 : : return -1;
6047 : : return 0;
6048 : :
6049 : 62 : case E_SImode:
6050 : 62 : if (!extract_high_operator (operands[3], E_SImode))
6051 : : return -1;
6052 : : return 1;
6053 : :
6054 : 26 : case E_DImode:
6055 : 26 : if (!extract_high_operator (operands[3], E_DImode))
6056 : : return -1;
6057 : : return 2;
6058 : :
6059 : : default:
6060 : : return -1;
6061 : : }
6062 : : }
6063 : :
6064 : : int
6065 : 1277 : pattern1784 (machine_mode i1, machine_mode i2, machine_mode i3)
6066 : : {
6067 : 1277 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6068 : 1277 : int res ATTRIBUTE_UNUSED;
6069 : 1277 : if (!register_operand (operands[2], i3)
6070 : 1201 : || !register_operand (operands[6], i1)
6071 : 993 : || !register_operand (operands[3], i2)
6072 : 2162 : || !scratch_operand (operands[1], i1))
6073 : 392 : return -1;
6074 : : return 0;
6075 : : }
6076 : :
6077 : : int
6078 : 599 : pattern1787 (rtx x1)
6079 : : {
6080 : 599 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6081 : 599 : int res ATTRIBUTE_UNUSED;
6082 : 599 : switch (GET_MODE (operands[0]))
6083 : : {
6084 : 286 : case E_SImode:
6085 : 286 : if (!register_operand (operands[0], E_SImode)
6086 : 286 : || GET_MODE (x1) != E_SImode)
6087 : : return -1;
6088 : : return 0;
6089 : :
6090 : 313 : case E_V16QImode:
6091 : 313 : if (!register_operand (operands[0], E_V16QImode)
6092 : 313 : || GET_MODE (x1) != E_V16QImode)
6093 : : return -1;
6094 : : return 1;
6095 : :
6096 : : default:
6097 : : return -1;
6098 : : }
6099 : : }
6100 : :
6101 : : int
6102 : 8985 : pattern1795 (rtx x1)
6103 : : {
6104 : 8985 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6105 : 8985 : int res ATTRIBUTE_UNUSED;
6106 : 8985 : switch (GET_MODE (operands[0]))
6107 : : {
6108 : 704 : case E_V16HImode:
6109 : 704 : if (!nonimmediate_operand (operands[0], E_V16HImode)
6110 : 704 : || GET_MODE (x1) != E_V16HImode
6111 : 1408 : || !nonimmediate_operand (operands[1], E_V32HImode))
6112 : 0 : return -1;
6113 : : return 0;
6114 : :
6115 : 315 : case E_V16HFmode:
6116 : 315 : if (!nonimmediate_operand (operands[0], E_V16HFmode)
6117 : 315 : || GET_MODE (x1) != E_V16HFmode
6118 : 630 : || !nonimmediate_operand (operands[1], E_V32HFmode))
6119 : 3 : return -1;
6120 : : return 1;
6121 : :
6122 : 27 : case E_V16BFmode:
6123 : 27 : if (!nonimmediate_operand (operands[0], E_V16BFmode)
6124 : 27 : || GET_MODE (x1) != E_V16BFmode
6125 : 54 : || !nonimmediate_operand (operands[1], E_V32BFmode))
6126 : 0 : return -1;
6127 : : return 2;
6128 : :
6129 : 7939 : case E_V16QImode:
6130 : 7939 : if (!nonimmediate_operand (operands[0], E_V16QImode)
6131 : 7939 : || GET_MODE (x1) != E_V16QImode
6132 : 15878 : || !nonimmediate_operand (operands[1], E_V32QImode))
6133 : 1173 : return -1;
6134 : : return 3;
6135 : :
6136 : : default:
6137 : : return -1;
6138 : : }
6139 : : }
6140 : :
6141 : : int
6142 : 3840 : pattern1813 (rtx x1, machine_mode i1)
6143 : : {
6144 : 3840 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6145 : 3840 : rtx x2;
6146 : 3840 : int res ATTRIBUTE_UNUSED;
6147 : 3840 : if (!x86_64_general_operand (operands[2], i1)
6148 : 3776 : || !nonimmediate_operand (operands[0], i1)
6149 : 7616 : || GET_MODE (x1) != i1)
6150 : 64 : return -1;
6151 : 3776 : x2 = XEXP (x1, 0);
6152 : 3776 : if (GET_MODE (x2) != i1)
6153 : : return -1;
6154 : : return 0;
6155 : : }
6156 : :
6157 : : int
6158 : 28425 : pattern1818 (rtx x1, machine_mode i1, machine_mode i2)
6159 : : {
6160 : 28425 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6161 : 28425 : rtx x2, x3, x4, x5, x6;
6162 : 28425 : int res ATTRIBUTE_UNUSED;
6163 : 28425 : x2 = XVECEXP (x1, 0, 0);
6164 : 28425 : x3 = XEXP (x2, 1);
6165 : 28425 : x4 = XEXP (x3, 0);
6166 : 28425 : x5 = XEXP (x4, 0);
6167 : 28425 : if (GET_MODE (x5) != i2
6168 : 28425 : || !nonimmediate_operand (operands[1], i1))
6169 : 150 : return -1;
6170 : 28275 : x6 = XEXP (x4, 1);
6171 : 28275 : if (GET_MODE (x6) != i2
6172 : 28275 : || !x86_64_sext_operand (operands[2], i1)
6173 : 56548 : || pattern1817 (x1,
6174 : : i1,
6175 : : i2) != 0)
6176 : 2 : return -1;
6177 : : return 0;
6178 : : }
6179 : :
6180 : : int
6181 : 384 : pattern1828 ()
6182 : : {
6183 : 384 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6184 : 384 : int res ATTRIBUTE_UNUSED;
6185 : 384 : if (!const_0_to_3_operand (operands[2], E_VOIDmode)
6186 : 384 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
6187 : 384 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
6188 : 384 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
6189 : 384 : || !const_4_to_7_operand (operands[6], E_VOIDmode)
6190 : 384 : || !const_4_to_7_operand (operands[7], E_VOIDmode)
6191 : 384 : || !const_4_to_7_operand (operands[8], E_VOIDmode)
6192 : 768 : || !const_4_to_7_operand (operands[9], E_VOIDmode))
6193 : 0 : return -1;
6194 : : return 0;
6195 : : }
6196 : :
6197 : : int
6198 : 204 : pattern1835 (rtx x1, rtx_code i1)
6199 : : {
6200 : 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6201 : 204 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6202 : 204 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6203 : 204 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
6204 : 204 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
6205 : 204 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
6206 : 204 : rtx x42, x43, x44, x45, x46, x47, x48, x49;
6207 : 204 : rtx x50, x51, x52, x53, x54, x55, x56, x57;
6208 : 204 : rtx x58, x59, x60, x61, x62, x63, x64, x65;
6209 : 204 : rtx x66, x67, x68, x69, x70, x71, x72, x73;
6210 : 204 : rtx x74, x75, x76, x77, x78, x79;
6211 : 204 : int res ATTRIBUTE_UNUSED;
6212 : 204 : x2 = XEXP (x1, 0);
6213 : 204 : x3 = XEXP (x2, 0);
6214 : 204 : x4 = XEXP (x3, 0);
6215 : 204 : x5 = XEXP (x4, 0);
6216 : 204 : if (GET_CODE (x5) != VEC_SELECT
6217 : 204 : || GET_MODE (x5) != E_SFmode)
6218 : : return -1;
6219 : 204 : x6 = XEXP (x5, 1);
6220 : 204 : if (GET_CODE (x6) != PARALLEL
6221 : 204 : || XVECLEN (x6, 0) != 1)
6222 : : return -1;
6223 : 204 : x7 = XVECEXP (x6, 0, 0);
6224 : 204 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6225 : : return -1;
6226 : 204 : x8 = XEXP (x4, 1);
6227 : 204 : if (GET_CODE (x8) != VEC_SELECT
6228 : 204 : || GET_MODE (x8) != E_SFmode)
6229 : : return -1;
6230 : 204 : x9 = XEXP (x8, 1);
6231 : 204 : if (GET_CODE (x9) != PARALLEL
6232 : 204 : || XVECLEN (x9, 0) != 1)
6233 : : return -1;
6234 : 204 : x10 = XVECEXP (x9, 0, 0);
6235 : 204 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6236 : : return -1;
6237 : 204 : x11 = XEXP (x3, 1);
6238 : 204 : if (GET_CODE (x11) != i1)
6239 : : return -1;
6240 : 204 : x12 = XEXP (x11, 0);
6241 : 204 : if (GET_CODE (x12) != VEC_SELECT
6242 : 204 : || GET_MODE (x12) != E_SFmode)
6243 : : return -1;
6244 : 204 : x13 = XEXP (x12, 1);
6245 : 204 : if (GET_CODE (x13) != PARALLEL
6246 : 204 : || XVECLEN (x13, 0) != 1)
6247 : : return -1;
6248 : 204 : x14 = XVECEXP (x13, 0, 0);
6249 : 204 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6250 : : return -1;
6251 : 204 : x15 = XEXP (x11, 1);
6252 : 204 : if (GET_CODE (x15) != VEC_SELECT
6253 : 204 : || GET_MODE (x15) != E_SFmode)
6254 : : return -1;
6255 : 204 : x16 = XEXP (x15, 1);
6256 : 204 : if (GET_CODE (x16) != PARALLEL
6257 : 204 : || XVECLEN (x16, 0) != 1)
6258 : : return -1;
6259 : 204 : x17 = XVECEXP (x16, 0, 0);
6260 : 204 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6261 : : return -1;
6262 : 204 : x18 = XEXP (x2, 1);
6263 : 204 : x19 = XEXP (x18, 0);
6264 : 204 : if (GET_CODE (x19) != i1)
6265 : : return -1;
6266 : 204 : x20 = XEXP (x19, 0);
6267 : 204 : if (GET_CODE (x20) != VEC_SELECT
6268 : 204 : || GET_MODE (x20) != E_SFmode)
6269 : : return -1;
6270 : 204 : x21 = XEXP (x20, 1);
6271 : 204 : if (GET_CODE (x21) != PARALLEL
6272 : 204 : || XVECLEN (x21, 0) != 1)
6273 : : return -1;
6274 : 204 : x22 = XVECEXP (x21, 0, 0);
6275 : 204 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6276 : : return -1;
6277 : 204 : x23 = XEXP (x19, 1);
6278 : 204 : if (GET_CODE (x23) != VEC_SELECT
6279 : 204 : || GET_MODE (x23) != E_SFmode)
6280 : : return -1;
6281 : 204 : x24 = XEXP (x23, 1);
6282 : 204 : if (GET_CODE (x24) != PARALLEL
6283 : 204 : || XVECLEN (x24, 0) != 1)
6284 : : return -1;
6285 : 204 : x25 = XVECEXP (x24, 0, 0);
6286 : 204 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6287 : : return -1;
6288 : 204 : x26 = XEXP (x18, 1);
6289 : 204 : if (GET_CODE (x26) != i1)
6290 : : return -1;
6291 : 204 : x27 = XEXP (x26, 0);
6292 : 204 : if (GET_CODE (x27) != VEC_SELECT
6293 : 204 : || GET_MODE (x27) != E_SFmode)
6294 : : return -1;
6295 : 204 : x28 = XEXP (x27, 1);
6296 : 204 : if (GET_CODE (x28) != PARALLEL
6297 : 204 : || XVECLEN (x28, 0) != 1)
6298 : : return -1;
6299 : 204 : x29 = XVECEXP (x28, 0, 0);
6300 : 204 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6301 : : return -1;
6302 : 204 : x30 = XEXP (x26, 1);
6303 : 204 : if (GET_CODE (x30) != VEC_SELECT
6304 : 204 : || GET_MODE (x30) != E_SFmode)
6305 : : return -1;
6306 : 204 : x31 = XEXP (x30, 1);
6307 : 204 : if (GET_CODE (x31) != PARALLEL
6308 : 204 : || XVECLEN (x31, 0) != 1)
6309 : : return -1;
6310 : 204 : x32 = XVECEXP (x31, 0, 0);
6311 : 204 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6312 : : return -1;
6313 : 204 : x33 = XEXP (x1, 1);
6314 : 204 : x34 = XEXP (x33, 0);
6315 : 204 : x35 = XEXP (x34, 0);
6316 : 204 : if (GET_CODE (x35) != i1)
6317 : : return -1;
6318 : 204 : x36 = XEXP (x35, 0);
6319 : 204 : if (GET_CODE (x36) != VEC_SELECT
6320 : 204 : || GET_MODE (x36) != E_SFmode)
6321 : : return -1;
6322 : 204 : x37 = XEXP (x36, 1);
6323 : 204 : if (GET_CODE (x37) != PARALLEL
6324 : 204 : || XVECLEN (x37, 0) != 1)
6325 : : return -1;
6326 : 204 : x38 = XVECEXP (x37, 0, 0);
6327 : 204 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6328 : : return -1;
6329 : 204 : x39 = XEXP (x35, 1);
6330 : 204 : if (GET_CODE (x39) != VEC_SELECT
6331 : 204 : || GET_MODE (x39) != E_SFmode)
6332 : : return -1;
6333 : 204 : x40 = XEXP (x39, 1);
6334 : 204 : if (GET_CODE (x40) != PARALLEL
6335 : 204 : || XVECLEN (x40, 0) != 1)
6336 : : return -1;
6337 : 204 : x41 = XVECEXP (x40, 0, 0);
6338 : 204 : if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6339 : : return -1;
6340 : 204 : x42 = XEXP (x34, 1);
6341 : 204 : if (GET_CODE (x42) != i1)
6342 : : return -1;
6343 : 204 : x43 = XEXP (x42, 0);
6344 : 204 : if (GET_CODE (x43) != VEC_SELECT
6345 : 204 : || GET_MODE (x43) != E_SFmode)
6346 : : return -1;
6347 : 204 : x44 = XEXP (x43, 1);
6348 : 204 : if (GET_CODE (x44) != PARALLEL
6349 : 204 : || XVECLEN (x44, 0) != 1)
6350 : : return -1;
6351 : 204 : x45 = XVECEXP (x44, 0, 0);
6352 : 204 : if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6353 : : return -1;
6354 : 204 : x46 = XEXP (x42, 1);
6355 : 204 : if (GET_CODE (x46) != VEC_SELECT
6356 : 204 : || GET_MODE (x46) != E_SFmode)
6357 : : return -1;
6358 : 204 : x47 = XEXP (x46, 1);
6359 : 204 : if (GET_CODE (x47) != PARALLEL
6360 : 204 : || XVECLEN (x47, 0) != 1)
6361 : : return -1;
6362 : 204 : x48 = XVECEXP (x47, 0, 0);
6363 : 204 : if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6364 : : return -1;
6365 : 204 : x49 = XEXP (x33, 1);
6366 : 204 : x50 = XEXP (x49, 0);
6367 : 204 : if (GET_CODE (x50) != i1)
6368 : : return -1;
6369 : 204 : x51 = XEXP (x50, 0);
6370 : 204 : if (GET_CODE (x51) != VEC_SELECT
6371 : 204 : || GET_MODE (x51) != E_SFmode)
6372 : : return -1;
6373 : 204 : x52 = XEXP (x51, 1);
6374 : 204 : if (GET_CODE (x52) != PARALLEL
6375 : 204 : || XVECLEN (x52, 0) != 1)
6376 : : return -1;
6377 : 204 : x53 = XVECEXP (x52, 0, 0);
6378 : 204 : if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6379 : : return -1;
6380 : 204 : x54 = XEXP (x50, 1);
6381 : 204 : if (GET_CODE (x54) != VEC_SELECT
6382 : 204 : || GET_MODE (x54) != E_SFmode)
6383 : : return -1;
6384 : 204 : x55 = XEXP (x54, 1);
6385 : 204 : if (GET_CODE (x55) != PARALLEL
6386 : 204 : || XVECLEN (x55, 0) != 1)
6387 : : return -1;
6388 : 204 : x56 = XVECEXP (x55, 0, 0);
6389 : 204 : if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6390 : : return -1;
6391 : 204 : x57 = XEXP (x49, 1);
6392 : 204 : if (GET_CODE (x57) != i1)
6393 : : return -1;
6394 : 204 : x58 = XEXP (x57, 0);
6395 : 204 : if (GET_CODE (x58) != VEC_SELECT
6396 : 204 : || GET_MODE (x58) != E_SFmode)
6397 : : return -1;
6398 : 204 : x59 = XEXP (x58, 1);
6399 : 204 : if (GET_CODE (x59) != PARALLEL
6400 : 204 : || XVECLEN (x59, 0) != 1)
6401 : : return -1;
6402 : 204 : x60 = XVECEXP (x59, 0, 0);
6403 : 204 : if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6404 : : return -1;
6405 : 204 : x61 = XEXP (x57, 1);
6406 : 204 : if (GET_CODE (x61) != VEC_SELECT
6407 : 204 : || GET_MODE (x61) != E_SFmode)
6408 : : return -1;
6409 : 204 : x62 = XEXP (x61, 1);
6410 : 204 : if (GET_CODE (x62) != PARALLEL
6411 : 204 : || XVECLEN (x62, 0) != 1)
6412 : : return -1;
6413 : 204 : x63 = XVECEXP (x62, 0, 0);
6414 : 204 : if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6415 : : return -1;
6416 : 204 : x64 = XEXP (x5, 0);
6417 : 204 : operands[1] = x64;
6418 : 204 : if (!register_operand (operands[1], E_V8SFmode))
6419 : : return -1;
6420 : 180 : x65 = XEXP (x20, 0);
6421 : 180 : operands[2] = x65;
6422 : 180 : if (!nonimmediate_operand (operands[2], E_V8SFmode))
6423 : : return -1;
6424 : 156 : x66 = XEXP (x8, 0);
6425 : 156 : if (!rtx_equal_p (x66, operands[1]))
6426 : : return -1;
6427 : 156 : x67 = XEXP (x12, 0);
6428 : 156 : if (!rtx_equal_p (x67, operands[1]))
6429 : : return -1;
6430 : 156 : x68 = XEXP (x15, 0);
6431 : 156 : if (!rtx_equal_p (x68, operands[1]))
6432 : : return -1;
6433 : 156 : x69 = XEXP (x23, 0);
6434 : 156 : if (!rtx_equal_p (x69, operands[2]))
6435 : : return -1;
6436 : 156 : x70 = XEXP (x27, 0);
6437 : 156 : if (!rtx_equal_p (x70, operands[2]))
6438 : : return -1;
6439 : 156 : x71 = XEXP (x30, 0);
6440 : 156 : if (!rtx_equal_p (x71, operands[2]))
6441 : : return -1;
6442 : 156 : x72 = XEXP (x36, 0);
6443 : 156 : if (!rtx_equal_p (x72, operands[1]))
6444 : : return -1;
6445 : 156 : x73 = XEXP (x39, 0);
6446 : 156 : if (!rtx_equal_p (x73, operands[1]))
6447 : : return -1;
6448 : 156 : x74 = XEXP (x43, 0);
6449 : 156 : if (!rtx_equal_p (x74, operands[1]))
6450 : : return -1;
6451 : 156 : x75 = XEXP (x46, 0);
6452 : 156 : if (!rtx_equal_p (x75, operands[1]))
6453 : : return -1;
6454 : 156 : x76 = XEXP (x51, 0);
6455 : 156 : if (!rtx_equal_p (x76, operands[2]))
6456 : : return -1;
6457 : 156 : x77 = XEXP (x54, 0);
6458 : 156 : if (!rtx_equal_p (x77, operands[2]))
6459 : : return -1;
6460 : 156 : x78 = XEXP (x58, 0);
6461 : 156 : if (!rtx_equal_p (x78, operands[2]))
6462 : : return -1;
6463 : 156 : x79 = XEXP (x61, 0);
6464 : 156 : if (!rtx_equal_p (x79, operands[2]))
6465 : : return -1;
6466 : : return 0;
6467 : : }
6468 : :
6469 : : int
6470 : 172539 : recog_10 (rtx x1 ATTRIBUTE_UNUSED,
6471 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6472 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6473 : : {
6474 : 172539 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6475 : 172539 : rtx x2, x3, x4, x5;
6476 : 172539 : int res ATTRIBUTE_UNUSED;
6477 : 172539 : x2 = XEXP (x1, 0);
6478 : 172539 : if (GET_CODE (x2) != REG
6479 : 172539 : || REGNO (x2) != 17)
6480 : : return -1;
6481 : 172526 : x3 = XEXP (x1, 1);
6482 : 172526 : x4 = XVECEXP (x3, 0, 0);
6483 : 172526 : switch (GET_CODE (x4))
6484 : : {
6485 : 170324 : case REG:
6486 : 170324 : case SUBREG:
6487 : 170324 : operands[0] = x4;
6488 : 170324 : if (!register_operand (operands[0], E_TFmode)
6489 : 23 : || GET_MODE (x2) != E_CCmode
6490 : 170347 : || GET_MODE (x3) != E_CCmode)
6491 : : return -1;
6492 : 23 : x5 = XVECEXP (x3, 0, 1);
6493 : 23 : operands[1] = x5;
6494 : 23 : if (!vector_operand (operands[1], E_TFmode)
6495 : 23 : || !
6496 : : #line 25655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6497 : : (TARGET_SSE4_1))
6498 : : return -1;
6499 : : return 8989; /* ptesttf2 */
6500 : :
6501 : : case AND:
6502 : : switch (pattern604 (x1))
6503 : : {
6504 : : case 0:
6505 : : if (!
6506 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6507 : : (TARGET_SSE4_1
6508 : : && ix86_pre_reload_split ()))
6509 : : return -1;
6510 : : return 8990; /* *ptestv16qi_and */
6511 : :
6512 : : case 1:
6513 : : if (!
6514 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6515 : : (TARGET_SSE4_1
6516 : : && ix86_pre_reload_split ()))
6517 : : return -1;
6518 : : return 8991; /* *ptestv8hi_and */
6519 : :
6520 : : case 2:
6521 : : if (!
6522 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6523 : : (TARGET_SSE4_1
6524 : : && ix86_pre_reload_split ()))
6525 : : return -1;
6526 : : return 8992; /* *ptestv4si_and */
6527 : :
6528 : : case 3:
6529 : : if (!
6530 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6531 : : (TARGET_SSE4_1
6532 : : && ix86_pre_reload_split ()))
6533 : : return -1;
6534 : : return 8993; /* *ptestv2di_and */
6535 : :
6536 : : case 4:
6537 : : if (!
6538 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6539 : : (TARGET_SSE4_1
6540 : : && ix86_pre_reload_split ()))
6541 : : return -1;
6542 : : return 8994; /* *ptestv1ti_and */
6543 : :
6544 : : case 5:
6545 : : if (!
6546 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6547 : : (TARGET_SSE4_1
6548 : : && ix86_pre_reload_split ()))
6549 : : return -1;
6550 : : return 8995; /* *ptestv4sf_and */
6551 : :
6552 : : case 6:
6553 : : if (!
6554 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6555 : : (TARGET_SSE4_1
6556 : : && ix86_pre_reload_split ()))
6557 : : return -1;
6558 : : return 8996; /* *ptestv2df_and */
6559 : :
6560 : : case 7:
6561 : : if (!(
6562 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6563 : : (TARGET_SSE4_1
6564 : : && ix86_pre_reload_split ()) &&
6565 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6566 : : (TARGET_AVX)))
6567 : : return -1;
6568 : : return 8997; /* *ptestv32qi_and */
6569 : :
6570 : : case 8:
6571 : : if (!(
6572 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6573 : : (TARGET_SSE4_1
6574 : : && ix86_pre_reload_split ()) &&
6575 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6576 : : (TARGET_AVX)))
6577 : : return -1;
6578 : : return 8998; /* *ptestv16hi_and */
6579 : :
6580 : : case 9:
6581 : : if (!(
6582 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6583 : : (TARGET_SSE4_1
6584 : : && ix86_pre_reload_split ()) &&
6585 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6586 : : (TARGET_AVX)))
6587 : : return -1;
6588 : : return 8999; /* *ptestv8si_and */
6589 : :
6590 : : case 10:
6591 : : if (!(
6592 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6593 : : (TARGET_SSE4_1
6594 : : && ix86_pre_reload_split ()) &&
6595 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6596 : : (TARGET_AVX)))
6597 : : return -1;
6598 : : return 9000; /* *ptestv4di_and */
6599 : :
6600 : : case 11:
6601 : : if (!(
6602 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6603 : : (TARGET_SSE4_1
6604 : : && ix86_pre_reload_split ()) &&
6605 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6606 : : (TARGET_AVX)))
6607 : : return -1;
6608 : : return 9001; /* *ptestv2ti_and */
6609 : :
6610 : : case 12:
6611 : : if (!(
6612 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6613 : : (TARGET_SSE4_1
6614 : : && ix86_pre_reload_split ()) &&
6615 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6616 : : (TARGET_AVX)))
6617 : : return -1;
6618 : : return 9002; /* *ptestv8sf_and */
6619 : :
6620 : : case 13:
6621 : : if (!(
6622 : : #line 25670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6623 : : (TARGET_SSE4_1
6624 : : && ix86_pre_reload_split ()) &&
6625 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6626 : : (TARGET_AVX)))
6627 : : return -1;
6628 : : return 9003; /* *ptestv4df_and */
6629 : :
6630 : : default:
6631 : : return -1;
6632 : : }
6633 : :
6634 : : case EQ:
6635 : : switch (pattern606 (x1))
6636 : : {
6637 : : case 0:
6638 : : if (!(
6639 : : #line 25756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6640 : : (TARGET_SSE4_1
6641 : : && ix86_pre_reload_split ()) &&
6642 : : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6643 : : (TARGET_AVX)))
6644 : : return -1;
6645 : : return 9004; /* *ptestv32qi_ccz */
6646 : :
6647 : : case 1:
6648 : : if (!
6649 : : #line 25756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6650 : : (TARGET_SSE4_1
6651 : : && ix86_pre_reload_split ()))
6652 : : return -1;
6653 : : return 9005; /* *ptestv16qi_ccz */
6654 : :
6655 : : case 2:
6656 : : if (!(
6657 : : #line 25756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6658 : : (TARGET_SSE4_1
6659 : : && ix86_pre_reload_split ()) &&
6660 : : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6661 : : (TARGET_AVX)))
6662 : : return -1;
6663 : : return 9006; /* *ptestv16hi_ccz */
6664 : :
6665 : : case 3:
6666 : : if (!
6667 : : #line 25756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6668 : : (TARGET_SSE4_1
6669 : : && ix86_pre_reload_split ()))
6670 : : return -1;
6671 : : return 9007; /* *ptestv8hi_ccz */
6672 : :
6673 : : case 4:
6674 : : if (!(
6675 : : #line 25756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6676 : : (TARGET_SSE4_1
6677 : : && ix86_pre_reload_split ()) &&
6678 : : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6679 : : (TARGET_AVX)))
6680 : : return -1;
6681 : : return 9008; /* *ptestv8si_ccz */
6682 : :
6683 : : case 5:
6684 : : if (!
6685 : : #line 25756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6686 : : (TARGET_SSE4_1
6687 : : && ix86_pre_reload_split ()))
6688 : : return -1;
6689 : : return 9009; /* *ptestv4si_ccz */
6690 : :
6691 : : case 6:
6692 : : if (!(
6693 : : #line 25756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6694 : : (TARGET_SSE4_1
6695 : : && ix86_pre_reload_split ()) &&
6696 : : #line 576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6697 : : (TARGET_AVX)))
6698 : : return -1;
6699 : : return 9010; /* *ptestv4di_ccz */
6700 : :
6701 : : case 7:
6702 : : if (!
6703 : : #line 25756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6704 : : (TARGET_SSE4_1
6705 : : && ix86_pre_reload_split ()))
6706 : : return -1;
6707 : : return 9011; /* *ptestv2di_ccz */
6708 : :
6709 : : default:
6710 : : return -1;
6711 : : }
6712 : :
6713 : : default:
6714 : : return -1;
6715 : : }
6716 : : }
6717 : :
6718 : : int
6719 : : recog_16 (rtx x1 ATTRIBUTE_UNUSED,
6720 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6721 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6722 : : {
6723 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6724 : : int res ATTRIBUTE_UNUSED;
6725 : : if (push_operand (operands[0], E_SImode))
6726 : : {
6727 : : if (nonmemory_no_elim_operand (operands[1], E_SImode)
6728 : : &&
6729 : : #line 2254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6730 : : (TARGET_64BIT))
6731 : : return 74; /* *pushsi2_rex64 */
6732 : : if (general_no_elim_operand (operands[1], E_SImode)
6733 : : &&
6734 : : #line 2264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6735 : : (!TARGET_64BIT))
6736 : : return 75; /* *pushsi2 */
6737 : : }
6738 : : if (nonimmediate_operand (operands[0], E_SImode)
6739 : : && pop_operand (operands[1], E_SImode)
6740 : : &&
6741 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6742 : : (word_mode == SImode))
6743 : : return 80; /* *popsi1 */
6744 : : if (pnum_clobbers != NULL
6745 : : && const0_operand (operands[1], E_SImode))
6746 : : {
6747 : : if (register_operand (operands[0], E_SImode)
6748 : : &&
6749 : : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6750 : : (reload_completed))
6751 : : {
6752 : : *pnum_clobbers = 1;
6753 : : return 88; /* *movsi_xor */
6754 : : }
6755 : : if (memory_operand (operands[0], E_SImode)
6756 : : &&
6757 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6758 : : (reload_completed))
6759 : : {
6760 : : *pnum_clobbers = 1;
6761 : : return 91; /* *movsi_and */
6762 : : }
6763 : : }
6764 : : if (!nonimmediate_operand (operands[0], E_SImode))
6765 : : return -1;
6766 : : if (pnum_clobbers != NULL
6767 : : && constm1_operand (operands[1], E_SImode)
6768 : : &&
6769 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6770 : : (reload_completed))
6771 : : {
6772 : : *pnum_clobbers = 1;
6773 : : return 94; /* *movsi_or */
6774 : : }
6775 : : if (!general_operand (operands[1], E_SImode)
6776 : : || !
6777 : : #line 2839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6778 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6779 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6780 : : return -1;
6781 : : return 100; /* *movsi_internal */
6782 : : }
6783 : :
6784 : : int
6785 : : recog_19 (rtx x1 ATTRIBUTE_UNUSED,
6786 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6787 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6788 : : {
6789 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6790 : : rtx x2, x3, x4, x5, x6;
6791 : : int res ATTRIBUTE_UNUSED;
6792 : : x2 = XEXP (x1, 0);
6793 : : x3 = XEXP (x2, 1);
6794 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6795 : : return -1;
6796 : : x4 = XEXP (x2, 2);
6797 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6798 : : return -1;
6799 : : x5 = XEXP (x2, 0);
6800 : : operands[0] = x5;
6801 : : if (!int248_register_operand (operands[0], E_VOIDmode))
6802 : : return -1;
6803 : : x6 = XEXP (x1, 1);
6804 : : operands[1] = x6;
6805 : : switch (GET_MODE (x2))
6806 : : {
6807 : : case E_HImode:
6808 : : if (!general_operand (operands[1], E_HImode))
6809 : : return -1;
6810 : : return 132; /* insvhi_1 */
6811 : :
6812 : : case E_SImode:
6813 : : if (!general_operand (operands[1], E_SImode))
6814 : : return -1;
6815 : : return 133; /* insvsi_1 */
6816 : :
6817 : : case E_DImode:
6818 : : if (!general_operand (operands[1], E_DImode)
6819 : : || !
6820 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6821 : : (TARGET_64BIT))
6822 : : return -1;
6823 : : return 134; /* insvdi_1 */
6824 : :
6825 : : default:
6826 : : return -1;
6827 : : }
6828 : : }
6829 : :
6830 : : int
6831 : : recog_21 (rtx x1 ATTRIBUTE_UNUSED,
6832 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6833 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6834 : : {
6835 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6836 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6837 : : rtx x10, x11;
6838 : : int res ATTRIBUTE_UNUSED;
6839 : : x2 = XEXP (x1, 0);
6840 : : switch (GET_CODE (x2))
6841 : : {
6842 : : case REG:
6843 : : case SUBREG:
6844 : : case MEM:
6845 : : res = recog_17 (x1, insn, pnum_clobbers);
6846 : : if (res >= 0)
6847 : : return res;
6848 : : break;
6849 : :
6850 : : case STRICT_LOW_PART:
6851 : : res = recog_18 (x1, insn, pnum_clobbers);
6852 : : if (res >= 0)
6853 : : return res;
6854 : : break;
6855 : :
6856 : : case ZERO_EXTRACT:
6857 : : res = recog_19 (x1, insn, pnum_clobbers);
6858 : : if (res >= 0)
6859 : : return res;
6860 : : break;
6861 : :
6862 : : case PC:
6863 : : x3 = XEXP (x1, 1);
6864 : : operands[0] = x3;
6865 : : switch (GET_MODE (operands[0]))
6866 : : {
6867 : : case E_SImode:
6868 : : if (indirect_branch_operand (operands[0], E_SImode)
6869 : : &&
6870 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6871 : : (word_mode == SImode))
6872 : : return 1492; /* *indirect_jump */
6873 : : break;
6874 : :
6875 : : case E_DImode:
6876 : : if (indirect_branch_operand (operands[0], E_DImode)
6877 : : &&
6878 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6879 : : (word_mode == DImode))
6880 : : return 1493; /* *indirect_jump */
6881 : : break;
6882 : :
6883 : : default:
6884 : : break;
6885 : : }
6886 : : break;
6887 : :
6888 : : default:
6889 : : break;
6890 : : }
6891 : : x3 = XEXP (x1, 1);
6892 : : switch (GET_CODE (x3))
6893 : : {
6894 : : case MEM:
6895 : : operands[0] = x2;
6896 : : x4 = XEXP (x3, 0);
6897 : : operands[1] = x4;
6898 : : if (!x86_64_movabs_operand (operands[1], E_DImode))
6899 : : return -1;
6900 : : switch (GET_MODE (operands[0]))
6901 : : {
6902 : : case E_QImode:
6903 : : if (!register_operand (operands[0], E_QImode)
6904 : : || GET_MODE (x3) != E_QImode
6905 : : || !
6906 : : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6907 : : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
6908 : : return -1;
6909 : : return 107; /* *movabsqi_2 */
6910 : :
6911 : : case E_HImode:
6912 : : if (!register_operand (operands[0], E_HImode)
6913 : : || GET_MODE (x3) != E_HImode
6914 : : || !
6915 : : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6916 : : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
6917 : : return -1;
6918 : : return 108; /* *movabshi_2 */
6919 : :
6920 : : case E_SImode:
6921 : : if (!register_operand (operands[0], E_SImode)
6922 : : || GET_MODE (x3) != E_SImode
6923 : : || !
6924 : : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6925 : : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
6926 : : return -1;
6927 : : return 109; /* *movabssi_2 */
6928 : :
6929 : : case E_DImode:
6930 : : if (!register_operand (operands[0], E_DImode)
6931 : : || GET_MODE (x3) != E_DImode
6932 : : || !
6933 : : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6934 : : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
6935 : : return -1;
6936 : : return 110; /* *movabsdi_2 */
6937 : :
6938 : : default:
6939 : : return -1;
6940 : : }
6941 : :
6942 : : case SUBREG:
6943 : : if (maybe_ne (SUBREG_BYTE (x3), 0))
6944 : : return -1;
6945 : : x4 = XEXP (x3, 0);
6946 : : switch (GET_CODE (x4))
6947 : : {
6948 : : case ASHIFTRT:
6949 : : case LSHIFTRT:
6950 : : case SIGN_EXTRACT:
6951 : : case ZERO_EXTRACT:
6952 : : operands[2] = x4;
6953 : : res = recog_20 (x1, insn, pnum_clobbers);
6954 : : if (res >= 0)
6955 : : return res;
6956 : : if (pnum_clobbers == NULL
6957 : : || pattern424 (x1) != 0
6958 : : || GET_MODE (x4) != E_QImode)
6959 : : return -1;
6960 : : x5 = XEXP (x4, 0);
6961 : : x6 = XEXP (x5, 0);
6962 : : x7 = XEXP (x6, 0);
6963 : : operands[1] = x7;
6964 : : if (!int248_register_operand (operands[1], E_VOIDmode))
6965 : : return -1;
6966 : : x8 = XEXP (x4, 1);
6967 : : operands[2] = x8;
6968 : : if (!nonmemory_operand (operands[2], E_QImode))
6969 : : return -1;
6970 : : switch (GET_CODE (x4))
6971 : : {
6972 : : case LSHIFTRT:
6973 : : switch (pattern1706 (x1))
6974 : : {
6975 : : case 0:
6976 : : *pnum_clobbers = 1;
6977 : : return 1270; /* *lshrqi_exthi_1 */
6978 : :
6979 : : case 1:
6980 : : *pnum_clobbers = 1;
6981 : : return 1272; /* *lshrqi_extsi_1 */
6982 : :
6983 : : case 2:
6984 : : if (!
6985 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6986 : : (TARGET_64BIT))
6987 : : return -1;
6988 : : *pnum_clobbers = 1;
6989 : : return 1274; /* *lshrqi_extdi_1 */
6990 : :
6991 : : default:
6992 : : return -1;
6993 : : }
6994 : :
6995 : : case ASHIFTRT:
6996 : : switch (pattern1706 (x1))
6997 : : {
6998 : : case 0:
6999 : : *pnum_clobbers = 1;
7000 : : return 1271; /* *ashrqi_exthi_1 */
7001 : :
7002 : : case 1:
7003 : : *pnum_clobbers = 1;
7004 : : return 1273; /* *ashrqi_extsi_1 */
7005 : :
7006 : : case 2:
7007 : : if (!
7008 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7009 : : (TARGET_64BIT))
7010 : : return -1;
7011 : : *pnum_clobbers = 1;
7012 : : return 1275; /* *ashrqi_extdi_1 */
7013 : :
7014 : : default:
7015 : : return -1;
7016 : : }
7017 : :
7018 : : default:
7019 : : return -1;
7020 : : }
7021 : :
7022 : : case CONST_INT:
7023 : : case CONST_WIDE_INT:
7024 : : case CONST_POLY_INT:
7025 : : case CONST_FIXED:
7026 : : case CONST_DOUBLE:
7027 : : case CONST_VECTOR:
7028 : : case CONST:
7029 : : case REG:
7030 : : case SUBREG:
7031 : : case MEM:
7032 : : case LABEL_REF:
7033 : : case SYMBOL_REF:
7034 : : case HIGH:
7035 : : operands[1] = x4;
7036 : : if (!general_operand (operands[1], E_QImode)
7037 : : || pattern423 (x2) != 0)
7038 : : return -1;
7039 : : switch (GET_MODE (x2))
7040 : : {
7041 : : case E_HImode:
7042 : : if (GET_MODE (x3) != E_HImode)
7043 : : return -1;
7044 : : return 135; /* *insvqi_1 */
7045 : :
7046 : : case E_SImode:
7047 : : if (GET_MODE (x3) != E_SImode)
7048 : : return -1;
7049 : : return 136; /* *insvqi_1 */
7050 : :
7051 : : case E_DImode:
7052 : : if (GET_MODE (x3) != E_DImode
7053 : : || !
7054 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7055 : : (TARGET_64BIT))
7056 : : return -1;
7057 : : return 137; /* *insvqi_1 */
7058 : :
7059 : : default:
7060 : : return -1;
7061 : : }
7062 : :
7063 : : case PLUS:
7064 : : if (pattern256 (x1, pnum_clobbers) != 0)
7065 : : return -1;
7066 : : x8 = XEXP (x4, 1);
7067 : : operands[2] = x8;
7068 : : if (general_operand (operands[2], E_QImode))
7069 : : {
7070 : : switch (pattern1706 (x1))
7071 : : {
7072 : : case 0:
7073 : : *pnum_clobbers = 1;
7074 : : return 337; /* *addqi_exthi_1 */
7075 : :
7076 : : case 1:
7077 : : *pnum_clobbers = 1;
7078 : : return 338; /* *addqi_extsi_1 */
7079 : :
7080 : : case 2:
7081 : : if (
7082 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7083 : : (TARGET_64BIT))
7084 : : {
7085 : : *pnum_clobbers = 1;
7086 : : return 339; /* *addqi_extdi_1 */
7087 : : }
7088 : : break;
7089 : :
7090 : : default:
7091 : : break;
7092 : : }
7093 : : }
7094 : : if (GET_CODE (x8) != SUBREG)
7095 : : return -1;
7096 : : switch (pattern1678 (x1))
7097 : : {
7098 : : case 0:
7099 : : *pnum_clobbers = 1;
7100 : : return 340; /* *addqi_exthi_2 */
7101 : :
7102 : : case 1:
7103 : : *pnum_clobbers = 1;
7104 : : return 342; /* *addqi_extsi_2 */
7105 : :
7106 : : case 2:
7107 : : if (!
7108 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7109 : : (TARGET_64BIT))
7110 : : return -1;
7111 : : *pnum_clobbers = 1;
7112 : : return 344; /* *addqi_extdi_2 */
7113 : :
7114 : : default:
7115 : : return -1;
7116 : : }
7117 : :
7118 : : case MINUS:
7119 : : if (pattern256 (x1, pnum_clobbers) != 0)
7120 : : return -1;
7121 : : x8 = XEXP (x4, 1);
7122 : : if (GET_CODE (x8) == SUBREG)
7123 : : {
7124 : : switch (pattern1678 (x1))
7125 : : {
7126 : : case 0:
7127 : : *pnum_clobbers = 1;
7128 : : return 341; /* *subqi_exthi_2 */
7129 : :
7130 : : case 1:
7131 : : *pnum_clobbers = 1;
7132 : : return 343; /* *subqi_extsi_2 */
7133 : :
7134 : : case 2:
7135 : : if (
7136 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7137 : : (TARGET_64BIT))
7138 : : {
7139 : : *pnum_clobbers = 1;
7140 : : return 345; /* *subqi_extdi_2 */
7141 : : }
7142 : : break;
7143 : :
7144 : : default:
7145 : : break;
7146 : : }
7147 : : }
7148 : : operands[2] = x8;
7149 : : if (!general_operand (operands[2], E_QImode))
7150 : : return -1;
7151 : : switch (pattern1706 (x1))
7152 : : {
7153 : : case 0:
7154 : : *pnum_clobbers = 1;
7155 : : return 426; /* *subqi_exthi_1 */
7156 : :
7157 : : case 1:
7158 : : *pnum_clobbers = 1;
7159 : : return 427; /* *subqi_extsi_1 */
7160 : :
7161 : : case 2:
7162 : : if (!
7163 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7164 : : (TARGET_64BIT))
7165 : : return -1;
7166 : : *pnum_clobbers = 1;
7167 : : return 428; /* *subqi_extdi_1 */
7168 : :
7169 : : default:
7170 : : return -1;
7171 : : }
7172 : :
7173 : : case AND:
7174 : : if (pattern256 (x1, pnum_clobbers) != 0)
7175 : : return -1;
7176 : : x8 = XEXP (x4, 1);
7177 : : operands[2] = x8;
7178 : : if (general_operand (operands[2], E_QImode))
7179 : : {
7180 : : switch (pattern1706 (x1))
7181 : : {
7182 : : case 0:
7183 : : *pnum_clobbers = 1;
7184 : : return 801; /* *andqi_exthi_1 */
7185 : :
7186 : : case 1:
7187 : : *pnum_clobbers = 1;
7188 : : return 804; /* *andqi_extsi_1 */
7189 : :
7190 : : case 2:
7191 : : if (
7192 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7193 : : (TARGET_64BIT))
7194 : : {
7195 : : *pnum_clobbers = 1;
7196 : : return 807; /* *andqi_extdi_1 */
7197 : : }
7198 : : break;
7199 : :
7200 : : default:
7201 : : break;
7202 : : }
7203 : : }
7204 : : if (GET_CODE (x8) != SUBREG)
7205 : : return -1;
7206 : : switch (pattern1678 (x1))
7207 : : {
7208 : : case 0:
7209 : : *pnum_clobbers = 1;
7210 : : return 819; /* *andqi_exthi_2 */
7211 : :
7212 : : case 1:
7213 : : *pnum_clobbers = 1;
7214 : : return 822; /* *andqi_extsi_2 */
7215 : :
7216 : : case 2:
7217 : : if (!
7218 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7219 : : (TARGET_64BIT))
7220 : : return -1;
7221 : : *pnum_clobbers = 1;
7222 : : return 825; /* *andqi_extdi_2 */
7223 : :
7224 : : default:
7225 : : return -1;
7226 : : }
7227 : :
7228 : : case IOR:
7229 : : if (pattern256 (x1, pnum_clobbers) != 0)
7230 : : return -1;
7231 : : x8 = XEXP (x4, 1);
7232 : : operands[2] = x8;
7233 : : if (general_operand (operands[2], E_QImode))
7234 : : {
7235 : : switch (pattern1706 (x1))
7236 : : {
7237 : : case 0:
7238 : : *pnum_clobbers = 1;
7239 : : return 802; /* *iorqi_exthi_1 */
7240 : :
7241 : : case 1:
7242 : : *pnum_clobbers = 1;
7243 : : return 805; /* *iorqi_extsi_1 */
7244 : :
7245 : : case 2:
7246 : : if (
7247 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7248 : : (TARGET_64BIT))
7249 : : {
7250 : : *pnum_clobbers = 1;
7251 : : return 808; /* *iorqi_extdi_1 */
7252 : : }
7253 : : break;
7254 : :
7255 : : default:
7256 : : break;
7257 : : }
7258 : : }
7259 : : if (GET_CODE (x8) != SUBREG)
7260 : : return -1;
7261 : : switch (pattern1678 (x1))
7262 : : {
7263 : : case 0:
7264 : : *pnum_clobbers = 1;
7265 : : return 820; /* *iorqi_exthi_2 */
7266 : :
7267 : : case 1:
7268 : : *pnum_clobbers = 1;
7269 : : return 823; /* *iorqi_extsi_2 */
7270 : :
7271 : : case 2:
7272 : : if (!
7273 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7274 : : (TARGET_64BIT))
7275 : : return -1;
7276 : : *pnum_clobbers = 1;
7277 : : return 826; /* *iorqi_extdi_2 */
7278 : :
7279 : : default:
7280 : : return -1;
7281 : : }
7282 : :
7283 : : case XOR:
7284 : : if (pattern256 (x1, pnum_clobbers) != 0)
7285 : : return -1;
7286 : : x8 = XEXP (x4, 1);
7287 : : operands[2] = x8;
7288 : : if (general_operand (operands[2], E_QImode))
7289 : : {
7290 : : switch (pattern1706 (x1))
7291 : : {
7292 : : case 0:
7293 : : *pnum_clobbers = 1;
7294 : : return 803; /* *xorqi_exthi_1 */
7295 : :
7296 : : case 1:
7297 : : *pnum_clobbers = 1;
7298 : : return 806; /* *xorqi_extsi_1 */
7299 : :
7300 : : case 2:
7301 : : if (
7302 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7303 : : (TARGET_64BIT))
7304 : : {
7305 : : *pnum_clobbers = 1;
7306 : : return 809; /* *xorqi_extdi_1 */
7307 : : }
7308 : : break;
7309 : :
7310 : : default:
7311 : : break;
7312 : : }
7313 : : }
7314 : : if (GET_CODE (x8) != SUBREG)
7315 : : return -1;
7316 : : switch (pattern1678 (x1))
7317 : : {
7318 : : case 0:
7319 : : *pnum_clobbers = 1;
7320 : : return 821; /* *xorqi_exthi_2 */
7321 : :
7322 : : case 1:
7323 : : *pnum_clobbers = 1;
7324 : : return 824; /* *xorqi_extsi_2 */
7325 : :
7326 : : case 2:
7327 : : if (!
7328 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7329 : : (TARGET_64BIT))
7330 : : return -1;
7331 : : *pnum_clobbers = 1;
7332 : : return 827; /* *xorqi_extdi_2 */
7333 : :
7334 : : default:
7335 : : return -1;
7336 : : }
7337 : :
7338 : : case NEG:
7339 : : if (pnum_clobbers == NULL
7340 : : || GET_MODE (x4) != E_QImode)
7341 : : return -1;
7342 : : x5 = XEXP (x4, 0);
7343 : : if (GET_CODE (x5) != SUBREG
7344 : : || maybe_ne (SUBREG_BYTE (x5), 0)
7345 : : || GET_MODE (x5) != E_QImode)
7346 : : return -1;
7347 : : x6 = XEXP (x5, 0);
7348 : : switch (GET_CODE (x6))
7349 : : {
7350 : : case ASHIFTRT:
7351 : : case LSHIFTRT:
7352 : : case SIGN_EXTRACT:
7353 : : case ZERO_EXTRACT:
7354 : : operands[2] = x6;
7355 : : if (pattern255 (x1) != 0)
7356 : : return -1;
7357 : : switch (GET_MODE (x2))
7358 : : {
7359 : : case E_HImode:
7360 : : if (GET_MODE (x3) != E_HImode
7361 : : || !extract_high_operator (operands[2], E_HImode))
7362 : : return -1;
7363 : : *pnum_clobbers = 1;
7364 : : return 1020; /* *negqi_exthi_1 */
7365 : :
7366 : : case E_SImode:
7367 : : if (GET_MODE (x3) != E_SImode
7368 : : || !extract_high_operator (operands[2], E_SImode))
7369 : : return -1;
7370 : : *pnum_clobbers = 1;
7371 : : return 1021; /* *negqi_extsi_1 */
7372 : :
7373 : : case E_DImode:
7374 : : if (GET_MODE (x3) != E_DImode
7375 : : || !extract_high_operator (operands[2], E_DImode)
7376 : : || !
7377 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7378 : : (TARGET_64BIT))
7379 : : return -1;
7380 : : *pnum_clobbers = 1;
7381 : : return 1022; /* *negqi_extdi_1 */
7382 : :
7383 : : default:
7384 : : return -1;
7385 : : }
7386 : :
7387 : : default:
7388 : : return -1;
7389 : : }
7390 : :
7391 : : case ASHIFT:
7392 : : if (pnum_clobbers == NULL
7393 : : || GET_MODE (x4) != E_QImode
7394 : : || pattern424 (x1) != 0)
7395 : : return -1;
7396 : : x5 = XEXP (x4, 0);
7397 : : x6 = XEXP (x5, 0);
7398 : : x7 = XEXP (x6, 0);
7399 : : operands[1] = x7;
7400 : : if (!int248_register_operand (operands[1], E_VOIDmode))
7401 : : return -1;
7402 : : x8 = XEXP (x4, 1);
7403 : : operands[2] = x8;
7404 : : if (!nonmemory_operand (operands[2], E_QImode))
7405 : : return -1;
7406 : : switch (pattern1706 (x1))
7407 : : {
7408 : : case 0:
7409 : : *pnum_clobbers = 1;
7410 : : return 1151; /* *ashlqi_exthi_1 */
7411 : :
7412 : : case 1:
7413 : : *pnum_clobbers = 1;
7414 : : return 1152; /* *ashlqi_extsi_1 */
7415 : :
7416 : : case 2:
7417 : : if (!
7418 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7419 : : (TARGET_64BIT))
7420 : : return -1;
7421 : : *pnum_clobbers = 1;
7422 : : return 1153; /* *ashlqi_extdi_1 */
7423 : :
7424 : : default:
7425 : : return -1;
7426 : : }
7427 : :
7428 : : case SS_TRUNCATE:
7429 : : if (pattern257 (x1) != 0
7430 : : || !
7431 : : #line 15685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7432 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7433 : : return -1;
7434 : : return 7327; /* *avx512vl_ss_truncatev2div2qi2_store_2 */
7435 : :
7436 : : case TRUNCATE:
7437 : : if (pattern257 (x1) != 0
7438 : : || !
7439 : : #line 15685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7440 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7441 : : return -1;
7442 : : return 7328; /* *avx512vl_truncatev2div2qi2_store_2 */
7443 : :
7444 : : case US_TRUNCATE:
7445 : : if (pattern257 (x1) != 0
7446 : : || !
7447 : : #line 15685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7448 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7449 : : return -1;
7450 : : return 7329; /* *avx512vl_us_truncatev2div2qi2_store_2 */
7451 : :
7452 : : default:
7453 : : return -1;
7454 : : }
7455 : :
7456 : : case REG:
7457 : : if (REGNO (x3) != 17
7458 : : || pattern59 (x1,
7459 : : E_CCCmode) != 0
7460 : : || !
7461 : : #line 10184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7462 : : (ix86_pre_reload_split ()))
7463 : : return -1;
7464 : : return 557; /* *setccc */
7465 : :
7466 : : case CONST_INT:
7467 : : if (pnum_clobbers == NULL
7468 : : || GET_CODE (x2) != ZERO_EXTRACT)
7469 : : return -1;
7470 : : x9 = XEXP (x2, 1);
7471 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
7472 : : return -1;
7473 : : x10 = XEXP (x2, 0);
7474 : : operands[0] = x10;
7475 : : x11 = XEXP (x2, 2);
7476 : : operands[1] = x11;
7477 : : switch (XWINT (x3, 0))
7478 : : {
7479 : : case 0L:
7480 : : switch (GET_CODE (operands[1]))
7481 : : {
7482 : : case REG:
7483 : : case SUBREG:
7484 : : if (!register_operand (operands[1], E_QImode)
7485 : : || GET_MODE (x2) != E_HImode)
7486 : : return -1;
7487 : : switch (GET_MODE (operands[0]))
7488 : : {
7489 : : case E_QImode:
7490 : : if (!nonimmediate_operand (operands[0], E_QImode)
7491 : : || !
7492 : : #line 19273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7493 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
7494 : : return -1;
7495 : : *pnum_clobbers = 1;
7496 : : return 1443; /* *btrqi_2 */
7497 : :
7498 : : case E_HImode:
7499 : : if (!nonimmediate_operand (operands[0], E_HImode)
7500 : : || !
7501 : : #line 19273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7502 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
7503 : : return -1;
7504 : : *pnum_clobbers = 1;
7505 : : return 1444; /* *btrhi_2 */
7506 : :
7507 : : default:
7508 : : return -1;
7509 : : }
7510 : :
7511 : : case CONST_INT:
7512 : : if (!const_0_to_63_operand (operands[1], E_QImode)
7513 : : || GET_MODE (x2) != E_DImode
7514 : : || !nonimmediate_operand (operands[0], E_DImode)
7515 : : || !
7516 : : #line 19337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7517 : : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
7518 : : return -1;
7519 : : *pnum_clobbers = 1;
7520 : : return 1446; /* *btrq_imm */
7521 : :
7522 : : default:
7523 : : return -1;
7524 : : }
7525 : :
7526 : : case 1L:
7527 : : if (GET_MODE (x2) != E_DImode
7528 : : || !nonimmediate_operand (operands[0], E_DImode)
7529 : : || !const_0_to_63_operand (operands[1], E_QImode)
7530 : : || !
7531 : : #line 19324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7532 : : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
7533 : : return -1;
7534 : : *pnum_clobbers = 1;
7535 : : return 1445; /* *btsq_imm */
7536 : :
7537 : : default:
7538 : : return -1;
7539 : : }
7540 : :
7541 : : case LABEL_REF:
7542 : : if (GET_CODE (x2) != PC)
7543 : : return -1;
7544 : : x4 = XEXP (x3, 0);
7545 : : operands[0] = x4;
7546 : : return 1491; /* jump */
7547 : :
7548 : : default:
7549 : : return -1;
7550 : : }
7551 : : }
7552 : :
7553 : : int
7554 : : recog_33 (rtx x1 ATTRIBUTE_UNUSED,
7555 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7556 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7557 : : {
7558 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7559 : : rtx x2, x3, x4;
7560 : : int res ATTRIBUTE_UNUSED;
7561 : : x2 = XEXP (x1, 0);
7562 : : operands[0] = x2;
7563 : : x3 = XEXP (x1, 1);
7564 : : x4 = XEXP (x3, 0);
7565 : : operands[1] = x4;
7566 : : switch (GET_MODE (operands[0]))
7567 : : {
7568 : : case E_SFmode:
7569 : : if (GET_MODE (x3) != E_SFmode)
7570 : : return -1;
7571 : : if (nonimm_ssenomem_operand (operands[0], E_SFmode)
7572 : : && register_ssemem_operand (operands[1], E_DFmode)
7573 : : &&
7574 : : #line 5539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7575 : : (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)))
7576 : : return 210; /* truncdfsf2 */
7577 : : if (!nonimmediate_operand (operands[0], E_SFmode)
7578 : : || !register_operand (operands[1], E_XFmode)
7579 : : || !
7580 : : #line 5667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7581 : : (TARGET_80387))
7582 : : return -1;
7583 : : return 211; /* truncxfsf2 */
7584 : :
7585 : : case E_DFmode:
7586 : : if (!nonimmediate_operand (operands[0], E_DFmode)
7587 : : || GET_MODE (x3) != E_DFmode
7588 : : || !register_operand (operands[1], E_XFmode)
7589 : : || !
7590 : : #line 5667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7591 : : (TARGET_80387))
7592 : : return -1;
7593 : : return 212; /* truncxfdf2 */
7594 : :
7595 : : case E_HFmode:
7596 : : if (!register_operand (operands[0], E_HFmode))
7597 : : return -1;
7598 : : switch (pattern427 (x3,
7599 : : E_HFmode))
7600 : : {
7601 : : case 0:
7602 : : if (!
7603 : : #line 5708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7604 : : (TARGET_AVX512FP16))
7605 : : return -1;
7606 : : return 213; /* *truncsfhf2 */
7607 : :
7608 : : case 1:
7609 : : if (!
7610 : : #line 5708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7611 : : (TARGET_AVX512FP16))
7612 : : return -1;
7613 : : return 214; /* *truncdfhf2 */
7614 : :
7615 : : default:
7616 : : return -1;
7617 : : }
7618 : :
7619 : : case E_BFmode:
7620 : : if (!register_operand (operands[0], E_BFmode)
7621 : : || GET_MODE (x3) != E_BFmode
7622 : : || !register_operand (operands[1], E_SFmode)
7623 : : || !
7624 : : #line 5724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7625 : : (TARGET_SSE2 && !HONOR_NANS (BFmode) && !flag_rounding_math
7626 : : && (flag_unsafe_math_optimizations
7627 : : || TARGET_AVXNECONVERT
7628 : : || (TARGET_AVX512BF16 && TARGET_AVX512VL))))
7629 : : return -1;
7630 : : return 215; /* truncsfbf2 */
7631 : :
7632 : : case E_V2SFmode:
7633 : : if (!register_operand (operands[0], E_V2SFmode)
7634 : : || GET_MODE (x3) != E_V2SFmode
7635 : : || !vector_operand (operands[1], E_V2DFmode)
7636 : : || !
7637 : : #line 10429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7638 : : (TARGET_MMX_WITH_SSE))
7639 : : return -1;
7640 : : return 5190; /* truncv2dfv2sf2 */
7641 : :
7642 : : default:
7643 : : return -1;
7644 : : }
7645 : : }
7646 : :
7647 : : int
7648 : : recog_37 (rtx x1 ATTRIBUTE_UNUSED,
7649 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7650 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7651 : : {
7652 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7653 : : rtx x2, x3, x4;
7654 : : int res ATTRIBUTE_UNUSED;
7655 : : x2 = XEXP (x1, 0);
7656 : : operands[0] = x2;
7657 : : x3 = XEXP (x1, 1);
7658 : : x4 = XEXP (x3, 0);
7659 : : operands[1] = x4;
7660 : : switch (GET_MODE (operands[0]))
7661 : : {
7662 : : case E_HFmode:
7663 : : switch (pattern263 (x3,
7664 : : E_HFmode))
7665 : : {
7666 : : case 0:
7667 : : if (!
7668 : : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7669 : : (TARGET_AVX512FP16))
7670 : : return -1;
7671 : : return 253; /* floatunssihf2 */
7672 : :
7673 : : case 1:
7674 : : if (!(
7675 : : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7676 : : (TARGET_AVX512FP16) &&
7677 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7678 : : (TARGET_64BIT)))
7679 : : return -1;
7680 : : return 255; /* floatunsdihf2 */
7681 : :
7682 : : default:
7683 : : return -1;
7684 : : }
7685 : :
7686 : : case E_SFmode:
7687 : : switch (pattern263 (x3,
7688 : : E_SFmode))
7689 : : {
7690 : : case 0:
7691 : : if (!
7692 : : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7693 : : (TARGET_AVX512F && TARGET_SSE_MATH))
7694 : : return -1;
7695 : : return 261; /* *floatunssisf2_avx512 */
7696 : :
7697 : : case 1:
7698 : : if (!(
7699 : : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7700 : : (TARGET_AVX512F && TARGET_SSE_MATH) &&
7701 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7702 : : (TARGET_64BIT)))
7703 : : return -1;
7704 : : return 262; /* *floatunsdisf2_avx512 */
7705 : :
7706 : : default:
7707 : : return -1;
7708 : : }
7709 : :
7710 : : case E_DFmode:
7711 : : switch (pattern263 (x3,
7712 : : E_DFmode))
7713 : : {
7714 : : case 0:
7715 : : if (!
7716 : : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7717 : : (TARGET_AVX512F && TARGET_SSE_MATH))
7718 : : return -1;
7719 : : return 263; /* *floatunssidf2_avx512 */
7720 : :
7721 : : case 1:
7722 : : if (!(
7723 : : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7724 : : (TARGET_AVX512F && TARGET_SSE_MATH) &&
7725 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7726 : : (TARGET_64BIT)))
7727 : : return -1;
7728 : : return 264; /* *floatunsdidf2_avx512 */
7729 : :
7730 : : default:
7731 : : return -1;
7732 : : }
7733 : :
7734 : : default:
7735 : : return -1;
7736 : : }
7737 : : }
7738 : :
7739 : : int
7740 : : recog_40 (rtx x1 ATTRIBUTE_UNUSED,
7741 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7742 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7743 : : {
7744 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7745 : : rtx x2, x3, x4, x5, x6;
7746 : : int res ATTRIBUTE_UNUSED;
7747 : : x2 = XEXP (x1, 1);
7748 : : x3 = XEXP (x2, 1);
7749 : : switch (GET_CODE (x3))
7750 : : {
7751 : : case REG:
7752 : : case SUBREG:
7753 : : switch (pattern1079 (x2))
7754 : : {
7755 : : case 0:
7756 : : switch (GET_MODE (operands[1]))
7757 : : {
7758 : : case E_V16SImode:
7759 : : if (!register_operand (operands[1], E_V16SImode)
7760 : : || !nonimmediate_operand (operands[2], E_V16SImode)
7761 : : || !const_0_to_7_operand (operands[3], E_SImode)
7762 : : || !(
7763 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7764 : : (TARGET_AVX512F) &&
7765 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7766 : : (TARGET_AVX512F && 1)))
7767 : : return -1;
7768 : : return 3316; /* avx512f_cmpv16si3_mask */
7769 : :
7770 : : case E_V16HFmode:
7771 : : if (!register_operand (operands[1], E_V16HFmode)
7772 : : || !nonimmediate_operand (operands[2], E_V16HFmode)
7773 : : || !const_0_to_31_operand (operands[3], E_SImode)
7774 : : || !(
7775 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7776 : : (TARGET_AVX512F) && (
7777 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7778 : : (TARGET_AVX512F && 1) &&
7779 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7780 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
7781 : : return -1;
7782 : : return 3335; /* avx512vl_cmpv16hf3_mask */
7783 : :
7784 : : case E_V16SFmode:
7785 : : if (!register_operand (operands[1], E_V16SFmode)
7786 : : || !nonimmediate_operand (operands[2], E_V16SFmode)
7787 : : || !const_0_to_31_operand (operands[3], E_SImode)
7788 : : || !(
7789 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7790 : : (TARGET_AVX512F) &&
7791 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7792 : : (TARGET_AVX512F && 1)))
7793 : : return -1;
7794 : : return 3340; /* avx512f_cmpv16sf3_mask */
7795 : :
7796 : : case E_V16QImode:
7797 : : if (!register_operand (operands[1], E_V16QImode)
7798 : : || !nonimmediate_operand (operands[2], E_V16QImode)
7799 : : || !const_0_to_7_operand (operands[3], E_SImode)
7800 : : || !(
7801 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7802 : : (TARGET_AVX512F) && (
7803 : : #line 4764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7804 : : (TARGET_AVX512BW) &&
7805 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7806 : : (TARGET_AVX512VL))))
7807 : : return -1;
7808 : : return 3477; /* avx512vl_cmpv16qi3_mask */
7809 : :
7810 : : case E_V16HImode:
7811 : : if (!register_operand (operands[1], E_V16HImode)
7812 : : || !nonimmediate_operand (operands[2], E_V16HImode)
7813 : : || !const_0_to_7_operand (operands[3], E_SImode)
7814 : : || !(
7815 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7816 : : (TARGET_AVX512F) && (
7817 : : #line 4764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7818 : : (TARGET_AVX512BW) &&
7819 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7820 : : (TARGET_AVX512VL))))
7821 : : return -1;
7822 : : return 3483; /* avx512vl_cmpv16hi3_mask */
7823 : :
7824 : : case E_V16BFmode:
7825 : : if (!register_operand (operands[1], E_V16BFmode)
7826 : : || !nonimmediate_operand (operands[2], E_V16BFmode)
7827 : : || !const_0_to_31_operand (operands[3], E_VOIDmode)
7828 : : || !(
7829 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7830 : : (TARGET_AVX512F) &&
7831 : : #line 32873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7832 : : (TARGET_AVX10_2)))
7833 : : return -1;
7834 : : return 10791; /* avx10_2_cmpbf16_v16bf_mask */
7835 : :
7836 : : default:
7837 : : return -1;
7838 : : }
7839 : :
7840 : : case 1:
7841 : : switch (GET_MODE (operands[1]))
7842 : : {
7843 : : case E_V8SImode:
7844 : : if (!register_operand (operands[1], E_V8SImode)
7845 : : || !nonimmediate_operand (operands[2], E_V8SImode)
7846 : : || !const_0_to_7_operand (operands[3], E_SImode)
7847 : : || !(
7848 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7849 : : (TARGET_AVX512F) && (
7850 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7851 : : (TARGET_AVX512F && 1) &&
7852 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7853 : : (TARGET_AVX512VL))))
7854 : : return -1;
7855 : : return 3319; /* avx512vl_cmpv8si3_mask */
7856 : :
7857 : : case E_V4SImode:
7858 : : if (!register_operand (operands[1], E_V4SImode)
7859 : : || !nonimmediate_operand (operands[2], E_V4SImode)
7860 : : || !const_0_to_7_operand (operands[3], E_SImode)
7861 : : || !(
7862 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7863 : : (TARGET_AVX512F) && (
7864 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7865 : : (TARGET_AVX512F && 1) &&
7866 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7867 : : (TARGET_AVX512VL))))
7868 : : return -1;
7869 : : return 3321; /* avx512vl_cmpv4si3_mask */
7870 : :
7871 : : case E_V8DImode:
7872 : : if (!register_operand (operands[1], E_V8DImode)
7873 : : || !nonimmediate_operand (operands[2], E_V8DImode)
7874 : : || !const_0_to_7_operand (operands[3], E_SImode)
7875 : : || !(
7876 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7877 : : (TARGET_AVX512F) &&
7878 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7879 : : (TARGET_AVX512F && 1)))
7880 : : return -1;
7881 : : return 3324; /* avx512f_cmpv8di3_mask */
7882 : :
7883 : : case E_V4DImode:
7884 : : if (!register_operand (operands[1], E_V4DImode)
7885 : : || !nonimmediate_operand (operands[2], E_V4DImode)
7886 : : || !const_0_to_7_operand (operands[3], E_SImode)
7887 : : || !(
7888 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7889 : : (TARGET_AVX512F) && (
7890 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7891 : : (TARGET_AVX512F && 1) &&
7892 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7893 : : (TARGET_AVX512VL))))
7894 : : return -1;
7895 : : return 3327; /* avx512vl_cmpv4di3_mask */
7896 : :
7897 : : case E_V2DImode:
7898 : : if (!register_operand (operands[1], E_V2DImode)
7899 : : || !nonimmediate_operand (operands[2], E_V2DImode)
7900 : : || !const_0_to_7_operand (operands[3], E_SImode)
7901 : : || !(
7902 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7903 : : (TARGET_AVX512F) && (
7904 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7905 : : (TARGET_AVX512F && 1) &&
7906 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7907 : : (TARGET_AVX512VL))))
7908 : : return -1;
7909 : : return 3329; /* avx512vl_cmpv2di3_mask */
7910 : :
7911 : : case E_V8HFmode:
7912 : : if (!register_operand (operands[1], E_V8HFmode)
7913 : : || !nonimmediate_operand (operands[2], E_V8HFmode)
7914 : : || !const_0_to_31_operand (operands[3], E_SImode)
7915 : : || !(
7916 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7917 : : (TARGET_AVX512F) && (
7918 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7919 : : (TARGET_AVX512F && 1) &&
7920 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7921 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
7922 : : return -1;
7923 : : return 3337; /* avx512fp16_cmpv8hf3_mask */
7924 : :
7925 : : case E_V8SFmode:
7926 : : if (!register_operand (operands[1], E_V8SFmode)
7927 : : || !nonimmediate_operand (operands[2], E_V8SFmode)
7928 : : || !const_0_to_31_operand (operands[3], E_SImode)
7929 : : || !(
7930 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7931 : : (TARGET_AVX512F) && (
7932 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7933 : : (TARGET_AVX512F && 1) &&
7934 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7935 : : (TARGET_AVX512VL))))
7936 : : return -1;
7937 : : return 3343; /* avx512vl_cmpv8sf3_mask */
7938 : :
7939 : : case E_V4SFmode:
7940 : : if (!register_operand (operands[1], E_V4SFmode)
7941 : : || !nonimmediate_operand (operands[2], E_V4SFmode)
7942 : : || !const_0_to_31_operand (operands[3], E_SImode)
7943 : : || !(
7944 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7945 : : (TARGET_AVX512F) && (
7946 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7947 : : (TARGET_AVX512F && 1) &&
7948 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7949 : : (TARGET_AVX512VL))))
7950 : : return -1;
7951 : : return 3345; /* avx512vl_cmpv4sf3_mask */
7952 : :
7953 : : case E_V8DFmode:
7954 : : if (!register_operand (operands[1], E_V8DFmode)
7955 : : || !nonimmediate_operand (operands[2], E_V8DFmode)
7956 : : || !const_0_to_31_operand (operands[3], E_SImode)
7957 : : || !(
7958 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7959 : : (TARGET_AVX512F) &&
7960 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7961 : : (TARGET_AVX512F && 1)))
7962 : : return -1;
7963 : : return 3348; /* avx512f_cmpv8df3_mask */
7964 : :
7965 : : case E_V4DFmode:
7966 : : if (!register_operand (operands[1], E_V4DFmode)
7967 : : || !nonimmediate_operand (operands[2], E_V4DFmode)
7968 : : || !const_0_to_31_operand (operands[3], E_SImode)
7969 : : || !(
7970 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7971 : : (TARGET_AVX512F) && (
7972 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7973 : : (TARGET_AVX512F && 1) &&
7974 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7975 : : (TARGET_AVX512VL))))
7976 : : return -1;
7977 : : return 3351; /* avx512vl_cmpv4df3_mask */
7978 : :
7979 : : case E_V2DFmode:
7980 : : if (!register_operand (operands[1], E_V2DFmode)
7981 : : || !nonimmediate_operand (operands[2], E_V2DFmode)
7982 : : || !const_0_to_31_operand (operands[3], E_SImode)
7983 : : || !(
7984 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7985 : : (TARGET_AVX512F) && (
7986 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7987 : : (TARGET_AVX512F && 1) &&
7988 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7989 : : (TARGET_AVX512VL))))
7990 : : return -1;
7991 : : return 3353; /* avx512vl_cmpv2df3_mask */
7992 : :
7993 : : case E_V8HImode:
7994 : : if (!register_operand (operands[1], E_V8HImode)
7995 : : || !nonimmediate_operand (operands[2], E_V8HImode)
7996 : : || !const_0_to_7_operand (operands[3], E_SImode)
7997 : : || !(
7998 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7999 : : (TARGET_AVX512F) && (
8000 : : #line 4764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8001 : : (TARGET_AVX512BW) &&
8002 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8003 : : (TARGET_AVX512VL))))
8004 : : return -1;
8005 : : return 3485; /* avx512vl_cmpv8hi3_mask */
8006 : :
8007 : : case E_V8BFmode:
8008 : : if (!register_operand (operands[1], E_V8BFmode)
8009 : : || !nonimmediate_operand (operands[2], E_V8BFmode)
8010 : : || !const_0_to_31_operand (operands[3], E_VOIDmode)
8011 : : || !(
8012 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8013 : : (TARGET_AVX512F) &&
8014 : : #line 32873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8015 : : (TARGET_AVX10_2)))
8016 : : return -1;
8017 : : return 10793; /* avx10_2_cmpbf16_v8bf_mask */
8018 : :
8019 : : default:
8020 : : return -1;
8021 : : }
8022 : :
8023 : : default:
8024 : : return -1;
8025 : : }
8026 : :
8027 : : case CONST_INT:
8028 : : if (!register_operand (operands[0], E_QImode)
8029 : : || GET_MODE (x2) != E_QImode)
8030 : : return -1;
8031 : : x4 = XEXP (x2, 0);
8032 : : if (GET_MODE (x4) != E_QImode)
8033 : : return -1;
8034 : : switch (XWINT (x3, 0))
8035 : : {
8036 : : case 15L:
8037 : : switch (GET_MODE (operands[1]))
8038 : : {
8039 : : case E_V4SFmode:
8040 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
8041 : : || !nonimmediate_operand (operands[2], E_V4SFmode)
8042 : : || !const_0_to_31_operand (operands[3], E_SImode)
8043 : : || !(
8044 : : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8045 : : (TARGET_AVX512F) &&
8046 : : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8047 : : (TARGET_AVX512VL)))
8048 : : return -1;
8049 : : return 3459; /* *avx512vl_cmpv4sf3_and15 */
8050 : :
8051 : : case E_V4DFmode:
8052 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
8053 : : || !nonimmediate_operand (operands[2], E_V4DFmode)
8054 : : || !const_0_to_31_operand (operands[3], E_SImode)
8055 : : || !(
8056 : : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8057 : : (TARGET_AVX512F) &&
8058 : : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8059 : : (TARGET_AVX512VL)))
8060 : : return -1;
8061 : : return 3460; /* *avx512vl_cmpv4df3_and15 */
8062 : :
8063 : : case E_V4SImode:
8064 : : if (!nonimmediate_operand (operands[1], E_V4SImode)
8065 : : || !nonimmediate_operand (operands[2], E_V4SImode)
8066 : : || !const_0_to_7_operand (operands[3], E_SImode)
8067 : : || !(
8068 : : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8069 : : (TARGET_AVX512F) &&
8070 : : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8071 : : (TARGET_AVX512VL)))
8072 : : return -1;
8073 : : return 3461; /* *avx512vl_cmpv4si3_and15 */
8074 : :
8075 : : case E_V4DImode:
8076 : : if (!nonimmediate_operand (operands[1], E_V4DImode)
8077 : : || !nonimmediate_operand (operands[2], E_V4DImode)
8078 : : || !const_0_to_7_operand (operands[3], E_SImode)
8079 : : || !(
8080 : : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8081 : : (TARGET_AVX512F) &&
8082 : : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8083 : : (TARGET_AVX512VL)))
8084 : : return -1;
8085 : : return 3462; /* *avx512vl_cmpv4di3_and15 */
8086 : :
8087 : : default:
8088 : : return -1;
8089 : : }
8090 : :
8091 : : case 3L:
8092 : : switch (GET_MODE (operands[1]))
8093 : : {
8094 : : case E_V2DFmode:
8095 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
8096 : : || !nonimmediate_operand (operands[2], E_V2DFmode)
8097 : : || !const_0_to_31_operand (operands[3], E_SImode)
8098 : : || !(
8099 : : #line 4717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8100 : : (TARGET_AVX512F) &&
8101 : : #line 523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8102 : : (TARGET_AVX512VL)))
8103 : : return -1;
8104 : : return 3469; /* *avx512vl_cmpv2df3_and3 */
8105 : :
8106 : : case E_V2DImode:
8107 : : if (!nonimmediate_operand (operands[1], E_V2DImode)
8108 : : || !nonimmediate_operand (operands[2], E_V2DImode)
8109 : : || !const_0_to_7_operand (operands[3], E_SImode)
8110 : : || !(
8111 : : #line 4717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8112 : : (TARGET_AVX512F) &&
8113 : : #line 523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8114 : : (TARGET_AVX512VL)))
8115 : : return -1;
8116 : : return 3470; /* *avx512vl_cmpv2di3_and3 */
8117 : :
8118 : : default:
8119 : : return -1;
8120 : : }
8121 : :
8122 : : case 1L:
8123 : : if (!const_0_to_31_operand (operands[3], E_SImode))
8124 : : return -1;
8125 : : switch (pattern1513 ())
8126 : : {
8127 : : case 0:
8128 : : if (!(
8129 : : #line 5121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8130 : : (TARGET_AVX512F) &&
8131 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8132 : : (TARGET_AVX512FP16)))
8133 : : return -1;
8134 : : return 3720; /* avx512f_vmcmpv8hf3 */
8135 : :
8136 : : case 1:
8137 : : if (!
8138 : : #line 5121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8139 : : (TARGET_AVX512F))
8140 : : return -1;
8141 : : return 3722; /* avx512f_vmcmpv4sf3 */
8142 : :
8143 : : case 2:
8144 : : if (!(
8145 : : #line 5121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8146 : : (TARGET_AVX512F) &&
8147 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8148 : : (TARGET_SSE2)))
8149 : : return -1;
8150 : : return 3724; /* avx512f_vmcmpv2df3 */
8151 : :
8152 : : default:
8153 : : return -1;
8154 : : }
8155 : :
8156 : : default:
8157 : : return -1;
8158 : : }
8159 : :
8160 : : case AND:
8161 : : if (GET_MODE (x3) != E_QImode)
8162 : : return -1;
8163 : : x5 = XEXP (x3, 1);
8164 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
8165 : : || !register_operand (operands[0], E_QImode)
8166 : : || GET_MODE (x2) != E_QImode)
8167 : : return -1;
8168 : : x4 = XEXP (x2, 0);
8169 : : if (GET_MODE (x4) != E_QImode
8170 : : || !const_0_to_31_operand (operands[3], E_SImode))
8171 : : return -1;
8172 : : x6 = XEXP (x3, 0);
8173 : : operands[4] = x6;
8174 : : if (!register_operand (operands[4], E_QImode))
8175 : : return -1;
8176 : : switch (pattern1513 ())
8177 : : {
8178 : : case 0:
8179 : : if (!(
8180 : : #line 5139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8181 : : (TARGET_AVX512F) &&
8182 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8183 : : (TARGET_AVX512FP16)))
8184 : : return -1;
8185 : : return 3726; /* avx512f_vmcmpv8hf3_mask */
8186 : :
8187 : : case 1:
8188 : : if (!
8189 : : #line 5139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8190 : : (TARGET_AVX512F))
8191 : : return -1;
8192 : : return 3728; /* avx512f_vmcmpv4sf3_mask */
8193 : :
8194 : : case 2:
8195 : : if (!(
8196 : : #line 5139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8197 : : (TARGET_AVX512F) &&
8198 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8199 : : (TARGET_SSE2)))
8200 : : return -1;
8201 : : return 3730; /* avx512f_vmcmpv2df3_mask */
8202 : :
8203 : : default:
8204 : : return -1;
8205 : : }
8206 : :
8207 : : default:
8208 : : return -1;
8209 : : }
8210 : : }
8211 : :
8212 : : int
8213 : : recog_62 (rtx x1 ATTRIBUTE_UNUSED,
8214 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8215 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8216 : : {
8217 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8218 : : rtx x2, x3, x4, x5, x6, x7;
8219 : : int res ATTRIBUTE_UNUSED;
8220 : : x2 = XEXP (x1, 1);
8221 : : switch (GET_CODE (x2))
8222 : : {
8223 : : case PLUS:
8224 : : res = recog_57 (x1, insn, pnum_clobbers);
8225 : : if (res >= 0)
8226 : : return res;
8227 : : break;
8228 : :
8229 : : case MINUS:
8230 : : res = recog_60 (x1, insn, pnum_clobbers);
8231 : : if (res >= 0)
8232 : : return res;
8233 : : break;
8234 : :
8235 : : case MULT:
8236 : : res = recog_61 (x1, insn, pnum_clobbers);
8237 : : if (res >= 0)
8238 : : return res;
8239 : : break;
8240 : :
8241 : : case DIV:
8242 : : if (GET_MODE (x2) == E_HFmode)
8243 : : {
8244 : : x3 = XEXP (x1, 0);
8245 : : operands[0] = x3;
8246 : : if (register_operand (operands[0], E_HFmode))
8247 : : {
8248 : : x4 = XEXP (x2, 0);
8249 : : operands[1] = x4;
8250 : : if (nonimmediate_operand (operands[1], E_HFmode))
8251 : : {
8252 : : x5 = XEXP (x2, 1);
8253 : : operands[2] = x5;
8254 : : if (nonimmediate_operand (operands[2], E_HFmode)
8255 : : &&
8256 : : #line 23777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8257 : : (TARGET_AVX512FP16
8258 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8259 : : return 1713; /* *divhf */
8260 : : }
8261 : : }
8262 : : }
8263 : : break;
8264 : :
8265 : : default:
8266 : : break;
8267 : : }
8268 : : operands[3] = x2;
8269 : : x3 = XEXP (x1, 0);
8270 : : operands[0] = x3;
8271 : : x4 = XEXP (x2, 0);
8272 : : switch (GET_CODE (x4))
8273 : : {
8274 : : case REG:
8275 : : case SUBREG:
8276 : : case MEM:
8277 : : operands[1] = x4;
8278 : : x5 = XEXP (x2, 1);
8279 : : switch (GET_CODE (x5))
8280 : : {
8281 : : case REG:
8282 : : case SUBREG:
8283 : : case MEM:
8284 : : operands[2] = x5;
8285 : : switch (GET_MODE (operands[0]))
8286 : : {
8287 : : case E_XFmode:
8288 : : if (!register_operand (operands[0], E_XFmode)
8289 : : || !binary_fp_operator (operands[3], E_XFmode)
8290 : : || !register_operand (operands[1], E_XFmode)
8291 : : || !register_operand (operands[2], E_XFmode))
8292 : : return -1;
8293 : : if (
8294 : : #line 23729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8295 : : (TARGET_80387
8296 : : && COMMUTATIVE_ARITH_P (operands[3])))
8297 : : return 1707; /* *fop_xf_comm_i387 */
8298 : : if (!
8299 : : #line 23827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8300 : : (TARGET_80387
8301 : : && !COMMUTATIVE_ARITH_P (operands[3])))
8302 : : return -1;
8303 : : return 1716; /* *fop_xf_1_i387 */
8304 : :
8305 : : case E_SFmode:
8306 : : if (!register_operand (operands[0], E_SFmode)
8307 : : || !binary_fp_operator (operands[3], E_SFmode)
8308 : : || !nonimmediate_operand (operands[2], E_SFmode))
8309 : : return -1;
8310 : : if (nonimmediate_operand (operands[1], E_SFmode)
8311 : : &&
8312 : : #line 23743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8313 : : (((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8314 : : || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
8315 : : && COMMUTATIVE_ARITH_P (operands[3])
8316 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8317 : : return 1708; /* *fop_sf_comm */
8318 : : if (!x87nonimm_ssenomem_operand (operands[1], E_SFmode)
8319 : : || !
8320 : : #line 23843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8321 : : (((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8322 : : || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
8323 : : && !COMMUTATIVE_ARITH_P (operands[3])
8324 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8325 : : return -1;
8326 : : return 1717; /* *fop_sf_1 */
8327 : :
8328 : : case E_DFmode:
8329 : : if (!register_operand (operands[0], E_DFmode)
8330 : : || !binary_fp_operator (operands[3], E_DFmode)
8331 : : || !nonimmediate_operand (operands[2], E_DFmode))
8332 : : return -1;
8333 : : if (nonimmediate_operand (operands[1], E_DFmode)
8334 : : &&
8335 : : #line 23743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8336 : : (((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8337 : : || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
8338 : : && COMMUTATIVE_ARITH_P (operands[3])
8339 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8340 : : return 1709; /* *fop_df_comm */
8341 : : if (!x87nonimm_ssenomem_operand (operands[1], E_DFmode)
8342 : : || !
8343 : : #line 23843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8344 : : (((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8345 : : || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
8346 : : && !COMMUTATIVE_ARITH_P (operands[3])
8347 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8348 : : return -1;
8349 : : return 1718; /* *fop_df_1 */
8350 : :
8351 : : default:
8352 : : return -1;
8353 : : }
8354 : :
8355 : : case FLOAT:
8356 : : x6 = XEXP (x5, 0);
8357 : : operands[2] = x6;
8358 : : switch (GET_MODE (operands[0]))
8359 : : {
8360 : : case E_SFmode:
8361 : : switch (pattern858 (x5,
8362 : : E_SFmode))
8363 : : {
8364 : : case 0:
8365 : : if (!
8366 : : #line 23899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8367 : : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
8368 : : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8369 : : && (TARGET_USE_HIMODE_FIOP
8370 : : || optimize_function_for_size_p (cfun))))
8371 : : return -1;
8372 : : return 1725; /* *fop_sf_3_i387 */
8373 : :
8374 : : case 1:
8375 : : if (!
8376 : : #line 23899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8377 : : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
8378 : : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8379 : : && (TARGET_USE_SIMODE_FIOP
8380 : : || optimize_function_for_size_p (cfun))))
8381 : : return -1;
8382 : : return 1728; /* *fop_sf_3_i387 */
8383 : :
8384 : : default:
8385 : : return -1;
8386 : : }
8387 : :
8388 : : case E_DFmode:
8389 : : switch (pattern858 (x5,
8390 : : E_DFmode))
8391 : : {
8392 : : case 0:
8393 : : if (!
8394 : : #line 23899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8395 : : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
8396 : : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8397 : : && (TARGET_USE_HIMODE_FIOP
8398 : : || optimize_function_for_size_p (cfun))))
8399 : : return -1;
8400 : : return 1726; /* *fop_df_3_i387 */
8401 : :
8402 : : case 1:
8403 : : if (!
8404 : : #line 23899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8405 : : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
8406 : : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8407 : : && (TARGET_USE_SIMODE_FIOP
8408 : : || optimize_function_for_size_p (cfun))))
8409 : : return -1;
8410 : : return 1729; /* *fop_df_3_i387 */
8411 : :
8412 : : default:
8413 : : return -1;
8414 : : }
8415 : :
8416 : : case E_XFmode:
8417 : : switch (pattern858 (x5,
8418 : : E_XFmode))
8419 : : {
8420 : : case 0:
8421 : : if (!
8422 : : #line 23899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8423 : : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, HImode)
8424 : : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8425 : : && (TARGET_USE_HIMODE_FIOP
8426 : : || optimize_function_for_size_p (cfun))))
8427 : : return -1;
8428 : : return 1727; /* *fop_xf_3_i387 */
8429 : :
8430 : : case 1:
8431 : : if (!
8432 : : #line 23899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8433 : : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, SImode)
8434 : : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8435 : : && (TARGET_USE_SIMODE_FIOP
8436 : : || optimize_function_for_size_p (cfun))))
8437 : : return -1;
8438 : : return 1730; /* *fop_xf_3_i387 */
8439 : :
8440 : : default:
8441 : : return -1;
8442 : : }
8443 : :
8444 : : default:
8445 : : return -1;
8446 : : }
8447 : :
8448 : : case FLOAT_EXTEND:
8449 : : x6 = XEXP (x5, 0);
8450 : : operands[2] = x6;
8451 : : switch (pattern743 ())
8452 : : {
8453 : : case 0:
8454 : : if (!register_operand (operands[1], E_XFmode)
8455 : : || GET_MODE (x5) != E_XFmode)
8456 : : return -1;
8457 : : switch (GET_MODE (operands[2]))
8458 : : {
8459 : : case E_SFmode:
8460 : : if (!nonimmediate_operand (operands[2], E_SFmode)
8461 : : || !
8462 : : #line 23955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8463 : : (TARGET_80387))
8464 : : return -1;
8465 : : return 1734; /* *fop_xf_5_i387 */
8466 : :
8467 : : case E_DFmode:
8468 : : if (!nonimmediate_operand (operands[2], E_DFmode)
8469 : : || !
8470 : : #line 23955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8471 : : (TARGET_80387))
8472 : : return -1;
8473 : : return 1735; /* *fop_xf_5_i387 */
8474 : :
8475 : : default:
8476 : : return -1;
8477 : : }
8478 : :
8479 : : case 1:
8480 : : if (!register_operand (operands[1], E_DFmode)
8481 : : || GET_MODE (x5) != E_DFmode
8482 : : || !nonimmediate_operand (operands[2], E_SFmode)
8483 : : || !
8484 : : #line 23972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8485 : : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8486 : : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8487 : : return -1;
8488 : : return 1736; /* *fop_df_5_i387 */
8489 : :
8490 : : default:
8491 : : return -1;
8492 : : }
8493 : :
8494 : : default:
8495 : : return -1;
8496 : : }
8497 : :
8498 : : case FLOAT:
8499 : : x7 = XEXP (x4, 0);
8500 : : operands[1] = x7;
8501 : : x5 = XEXP (x2, 1);
8502 : : operands[2] = x5;
8503 : : switch (GET_MODE (operands[0]))
8504 : : {
8505 : : case E_SFmode:
8506 : : switch (pattern744 (x4,
8507 : : E_SFmode))
8508 : : {
8509 : : case 0:
8510 : : if (!
8511 : : #line 23878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8512 : : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
8513 : : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8514 : : && (TARGET_USE_HIMODE_FIOP
8515 : : || optimize_function_for_size_p (cfun))))
8516 : : return -1;
8517 : : return 1719; /* *fop_sf_2_i387 */
8518 : :
8519 : : case 1:
8520 : : if (!
8521 : : #line 23878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8522 : : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
8523 : : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8524 : : && (TARGET_USE_SIMODE_FIOP
8525 : : || optimize_function_for_size_p (cfun))))
8526 : : return -1;
8527 : : return 1722; /* *fop_sf_2_i387 */
8528 : :
8529 : : default:
8530 : : return -1;
8531 : : }
8532 : :
8533 : : case E_DFmode:
8534 : : switch (pattern744 (x4,
8535 : : E_DFmode))
8536 : : {
8537 : : case 0:
8538 : : if (!
8539 : : #line 23878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8540 : : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
8541 : : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8542 : : && (TARGET_USE_HIMODE_FIOP
8543 : : || optimize_function_for_size_p (cfun))))
8544 : : return -1;
8545 : : return 1720; /* *fop_df_2_i387 */
8546 : :
8547 : : case 1:
8548 : : if (!
8549 : : #line 23878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8550 : : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
8551 : : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8552 : : && (TARGET_USE_SIMODE_FIOP
8553 : : || optimize_function_for_size_p (cfun))))
8554 : : return -1;
8555 : : return 1723; /* *fop_df_2_i387 */
8556 : :
8557 : : default:
8558 : : return -1;
8559 : : }
8560 : :
8561 : : case E_XFmode:
8562 : : switch (pattern744 (x4,
8563 : : E_XFmode))
8564 : : {
8565 : : case 0:
8566 : : if (!
8567 : : #line 23878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8568 : : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, HImode)
8569 : : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8570 : : && (TARGET_USE_HIMODE_FIOP
8571 : : || optimize_function_for_size_p (cfun))))
8572 : : return -1;
8573 : : return 1721; /* *fop_xf_2_i387 */
8574 : :
8575 : : case 1:
8576 : : if (!
8577 : : #line 23878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8578 : : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, SImode)
8579 : : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8580 : : && (TARGET_USE_SIMODE_FIOP
8581 : : || optimize_function_for_size_p (cfun))))
8582 : : return -1;
8583 : : return 1724; /* *fop_xf_2_i387 */
8584 : :
8585 : : default:
8586 : : return -1;
8587 : : }
8588 : :
8589 : : default:
8590 : : return -1;
8591 : : }
8592 : :
8593 : : case FLOAT_EXTEND:
8594 : : x7 = XEXP (x4, 0);
8595 : : operands[1] = x7;
8596 : : x5 = XEXP (x2, 1);
8597 : : switch (GET_CODE (x5))
8598 : : {
8599 : : case REG:
8600 : : case SUBREG:
8601 : : operands[2] = x5;
8602 : : switch (pattern743 ())
8603 : : {
8604 : : case 0:
8605 : : if (GET_MODE (x4) != E_XFmode
8606 : : || !register_operand (operands[2], E_XFmode))
8607 : : return -1;
8608 : : switch (GET_MODE (operands[1]))
8609 : : {
8610 : : case E_SFmode:
8611 : : if (!nonimmediate_operand (operands[1], E_SFmode)
8612 : : || !
8613 : : #line 23920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8614 : : (TARGET_80387))
8615 : : return -1;
8616 : : return 1731; /* *fop_xf_4_i387 */
8617 : :
8618 : : case E_DFmode:
8619 : : if (!nonimmediate_operand (operands[1], E_DFmode)
8620 : : || !
8621 : : #line 23920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8622 : : (TARGET_80387))
8623 : : return -1;
8624 : : return 1732; /* *fop_xf_4_i387 */
8625 : :
8626 : : default:
8627 : : return -1;
8628 : : }
8629 : :
8630 : : case 1:
8631 : : if (GET_MODE (x4) != E_DFmode
8632 : : || !nonimmediate_operand (operands[1], E_SFmode)
8633 : : || !register_operand (operands[2], E_DFmode)
8634 : : || !
8635 : : #line 23937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8636 : : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8637 : : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8638 : : return -1;
8639 : : return 1733; /* *fop_df_4_i387 */
8640 : :
8641 : : default:
8642 : : return -1;
8643 : : }
8644 : :
8645 : : case FLOAT_EXTEND:
8646 : : x6 = XEXP (x5, 0);
8647 : : operands[2] = x6;
8648 : : switch (pattern743 ())
8649 : : {
8650 : : case 0:
8651 : : if (GET_MODE (x4) != E_XFmode
8652 : : || GET_MODE (x5) != E_XFmode)
8653 : : return -1;
8654 : : switch (GET_MODE (operands[1]))
8655 : : {
8656 : : case E_SFmode:
8657 : : if (!register_operand (operands[1], E_SFmode)
8658 : : || !nonimmediate_operand (operands[2], E_SFmode)
8659 : : || !
8660 : : #line 23991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8661 : : (TARGET_80387))
8662 : : return -1;
8663 : : return 1737; /* *fop_xf_6_i387 */
8664 : :
8665 : : case E_DFmode:
8666 : : if (!register_operand (operands[1], E_DFmode)
8667 : : || !nonimmediate_operand (operands[2], E_DFmode)
8668 : : || !
8669 : : #line 23991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8670 : : (TARGET_80387))
8671 : : return -1;
8672 : : return 1738; /* *fop_xf_6_i387 */
8673 : :
8674 : : default:
8675 : : return -1;
8676 : : }
8677 : :
8678 : : case 1:
8679 : : if (pattern856 (x2,
8680 : : E_SFmode,
8681 : : E_DFmode) != 0
8682 : : || !
8683 : : #line 24009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8684 : : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8685 : : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8686 : : return -1;
8687 : : return 1739; /* *fop_df_6_i387 */
8688 : :
8689 : : default:
8690 : : return -1;
8691 : : }
8692 : :
8693 : : default:
8694 : : return -1;
8695 : : }
8696 : :
8697 : : default:
8698 : : return -1;
8699 : : }
8700 : : }
8701 : :
8702 : : int
8703 : : recog_75 (rtx x1 ATTRIBUTE_UNUSED,
8704 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8705 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8706 : : {
8707 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8708 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8709 : : rtx x10;
8710 : : int res ATTRIBUTE_UNUSED;
8711 : : x2 = XEXP (x1, 1);
8712 : : x3 = XEXP (x2, 0);
8713 : : x4 = XEXP (x3, 0);
8714 : : switch (GET_CODE (x4))
8715 : : {
8716 : : case REG:
8717 : : case SUBREG:
8718 : : case MEM:
8719 : : operands[1] = x4;
8720 : : x5 = XEXP (x3, 1);
8721 : : operands[2] = x5;
8722 : : switch (pattern278 (x2))
8723 : : {
8724 : : case 0:
8725 : : if (!nonimmediate_operand (operands[1], E_QImode)
8726 : : || !general_operand (operands[2], E_QImode))
8727 : : return -1;
8728 : : if (
8729 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8730 : : (TARGET_APX_NDD && TARGET_APX_NF
8731 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8732 : : return 292; /* *addqi_1_zextsi_nf */
8733 : : if (pnum_clobbers == NULL
8734 : : || !
8735 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8736 : : (TARGET_APX_NDD && true
8737 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8738 : : return -1;
8739 : : *pnum_clobbers = 1;
8740 : : return 293; /* *addqi_1_zextsi */
8741 : :
8742 : : case 1:
8743 : : if (!nonimmediate_operand (operands[1], E_HImode)
8744 : : || !general_operand (operands[2], E_HImode))
8745 : : return -1;
8746 : : if (
8747 : : #line 6724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8748 : : (TARGET_APX_NDD && TARGET_APX_NF
8749 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8750 : : return 296; /* *addhi_1_zextsi_nf */
8751 : : if (pnum_clobbers == NULL
8752 : : || !
8753 : : #line 6724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8754 : : (TARGET_APX_NDD && true
8755 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8756 : : return -1;
8757 : : *pnum_clobbers = 1;
8758 : : return 297; /* *addhi_1_zextsi */
8759 : :
8760 : : case 2:
8761 : : if (!nonimmediate_operand (operands[1], E_QImode)
8762 : : || !general_operand (operands[2], E_QImode))
8763 : : return -1;
8764 : : if (
8765 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8766 : : (TARGET_APX_NDD && TARGET_APX_NF
8767 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8768 : : return 294; /* *addqi_1_zextdi_nf */
8769 : : if (pnum_clobbers == NULL
8770 : : || !
8771 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8772 : : (TARGET_APX_NDD && true
8773 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8774 : : return -1;
8775 : : *pnum_clobbers = 1;
8776 : : return 295; /* *addqi_1_zextdi */
8777 : :
8778 : : case 3:
8779 : : if (!nonimmediate_operand (operands[1], E_HImode)
8780 : : || !general_operand (operands[2], E_HImode))
8781 : : return -1;
8782 : : if (
8783 : : #line 6724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8784 : : (TARGET_APX_NDD && TARGET_APX_NF
8785 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8786 : : return 298; /* *addhi_1_zextdi_nf */
8787 : : if (pnum_clobbers == NULL
8788 : : || !
8789 : : #line 6724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8790 : : (TARGET_APX_NDD && true
8791 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8792 : : return -1;
8793 : : *pnum_clobbers = 1;
8794 : : return 299; /* *addhi_1_zextdi */
8795 : :
8796 : : case 4:
8797 : : if (pnum_clobbers == NULL
8798 : : || !nonimmediate_operand (operands[1], E_SImode)
8799 : : || !x86_64_general_operand (operands[2], E_SImode)
8800 : : || !
8801 : : #line 6769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8802 : : (TARGET_64BIT
8803 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
8804 : : return -1;
8805 : : *pnum_clobbers = 1;
8806 : : return 300; /* addsi_1_zext */
8807 : :
8808 : : default:
8809 : : return -1;
8810 : : }
8811 : :
8812 : : case PLUS:
8813 : : if (pnum_clobbers == NULL)
8814 : : return -1;
8815 : : x6 = XEXP (x4, 0);
8816 : : switch (GET_CODE (x6))
8817 : : {
8818 : : case LTU:
8819 : : case UNLT:
8820 : : operands[3] = x6;
8821 : : x7 = XEXP (x6, 0);
8822 : : if (GET_CODE (x7) != REG
8823 : : || REGNO (x7) != 17)
8824 : : return -1;
8825 : : x8 = XEXP (x6, 1);
8826 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8827 : : return -1;
8828 : : x9 = XEXP (x4, 1);
8829 : : operands[1] = x9;
8830 : : x5 = XEXP (x3, 1);
8831 : : operands[2] = x5;
8832 : : switch (pattern278 (x2))
8833 : : {
8834 : : case 0:
8835 : : if (pattern1542 (x4,
8836 : : E_QImode) != 0
8837 : : || !
8838 : : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8839 : : (TARGET_APX_NDD
8840 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8841 : : return -1;
8842 : : *pnum_clobbers = 1;
8843 : : return 482; /* *addqi3_carry_zextsi */
8844 : :
8845 : : case 1:
8846 : : if (pattern1542 (x4,
8847 : : E_HImode) != 0
8848 : : || !
8849 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8850 : : (TARGET_APX_NDD
8851 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8852 : : return -1;
8853 : : *pnum_clobbers = 1;
8854 : : return 484; /* *addhi3_carry_zextsi */
8855 : :
8856 : : case 2:
8857 : : if (pattern1542 (x4,
8858 : : E_QImode) != 0
8859 : : || !
8860 : : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8861 : : (TARGET_APX_NDD
8862 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8863 : : return -1;
8864 : : *pnum_clobbers = 1;
8865 : : return 483; /* *addqi3_carry_zextdi */
8866 : :
8867 : : case 3:
8868 : : if (pattern1542 (x4,
8869 : : E_HImode) != 0
8870 : : || !
8871 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8872 : : (TARGET_APX_NDD
8873 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8874 : : return -1;
8875 : : *pnum_clobbers = 1;
8876 : : return 485; /* *addhi3_carry_zextdi */
8877 : :
8878 : : case 4:
8879 : : if (pattern1542 (x4,
8880 : : E_SImode) != 0
8881 : : || !
8882 : : #line 9007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8883 : : (TARGET_64BIT
8884 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
8885 : : return -1;
8886 : : *pnum_clobbers = 1;
8887 : : return 486; /* *addsi3_carry_zext */
8888 : :
8889 : : default:
8890 : : return -1;
8891 : : }
8892 : :
8893 : : default:
8894 : : return -1;
8895 : : }
8896 : :
8897 : : case LTU:
8898 : : case UNLT:
8899 : : switch (pattern279 (x2, pnum_clobbers))
8900 : : {
8901 : : case 0:
8902 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
8903 : : || !nonimmediate_operand (operands[1], E_QImode)
8904 : : || !
8905 : : #line 9026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8906 : : (TARGET_APX_NDD))
8907 : : return -1;
8908 : : *pnum_clobbers = 1;
8909 : : return 488; /* *addqi3_carry_zextsi_0 */
8910 : :
8911 : : case 1:
8912 : : if (!ix86_carry_flag_operator (operands[2], E_HImode)
8913 : : || !nonimmediate_operand (operands[1], E_HImode)
8914 : : || !
8915 : : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8916 : : (TARGET_APX_NDD))
8917 : : return -1;
8918 : : *pnum_clobbers = 1;
8919 : : return 490; /* *addhi3_carry_zextsi_0 */
8920 : :
8921 : : case 2:
8922 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
8923 : : || !nonimmediate_operand (operands[1], E_QImode)
8924 : : || !
8925 : : #line 9026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8926 : : (TARGET_APX_NDD))
8927 : : return -1;
8928 : : *pnum_clobbers = 1;
8929 : : return 489; /* *addqi3_carry_zextdi_0 */
8930 : :
8931 : : case 3:
8932 : : if (!ix86_carry_flag_operator (operands[2], E_HImode)
8933 : : || !nonimmediate_operand (operands[1], E_HImode)
8934 : : || !
8935 : : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8936 : : (TARGET_APX_NDD))
8937 : : return -1;
8938 : : *pnum_clobbers = 1;
8939 : : return 491; /* *addhi3_carry_zextdi_0 */
8940 : :
8941 : : case 4:
8942 : : if (!ix86_carry_flag_operator (operands[2], E_SImode)
8943 : : || !nonimmediate_operand (operands[1], E_SImode)
8944 : : || !
8945 : : #line 9054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8946 : : (TARGET_64BIT))
8947 : : return -1;
8948 : : *pnum_clobbers = 1;
8949 : : return 492; /* *addsi3_carry_zext_0 */
8950 : :
8951 : : default:
8952 : : return -1;
8953 : : }
8954 : :
8955 : : case GE:
8956 : : case GEU:
8957 : : switch (pattern279 (x2, pnum_clobbers))
8958 : : {
8959 : : case 0:
8960 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
8961 : : || !nonimmediate_operand (operands[1], E_QImode)
8962 : : || !
8963 : : #line 9071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8964 : : (TARGET_APX_NDD))
8965 : : return -1;
8966 : : *pnum_clobbers = 1;
8967 : : return 494; /* *addqi3_carry_zextsi_0r */
8968 : :
8969 : : case 1:
8970 : : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
8971 : : || !nonimmediate_operand (operands[1], E_HImode)
8972 : : || !
8973 : : #line 9085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8974 : : (TARGET_APX_NDD))
8975 : : return -1;
8976 : : *pnum_clobbers = 1;
8977 : : return 496; /* *addhi3_carry_zextsi_0r */
8978 : :
8979 : : case 2:
8980 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
8981 : : || !nonimmediate_operand (operands[1], E_QImode)
8982 : : || !
8983 : : #line 9071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8984 : : (TARGET_APX_NDD))
8985 : : return -1;
8986 : : *pnum_clobbers = 1;
8987 : : return 495; /* *addqi3_carry_zextdi_0r */
8988 : :
8989 : : case 3:
8990 : : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
8991 : : || !nonimmediate_operand (operands[1], E_HImode)
8992 : : || !
8993 : : #line 9085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8994 : : (TARGET_APX_NDD))
8995 : : return -1;
8996 : : *pnum_clobbers = 1;
8997 : : return 497; /* *addhi3_carry_zextdi_0r */
8998 : :
8999 : : case 4:
9000 : : if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
9001 : : || !nonimmediate_operand (operands[1], E_SImode)
9002 : : || !
9003 : : #line 9099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9004 : : (TARGET_64BIT))
9005 : : return -1;
9006 : : *pnum_clobbers = 1;
9007 : : return 498; /* *addsi3_carry_zext_0r */
9008 : :
9009 : : default:
9010 : : return -1;
9011 : : }
9012 : :
9013 : : case UNSPEC:
9014 : : if (pnum_clobbers == NULL
9015 : : || XVECLEN (x4, 0) != 1
9016 : : || XINT (x4, 1) != 20
9017 : : || GET_MODE (x4) != E_SImode)
9018 : : return -1;
9019 : : x10 = XVECEXP (x4, 0, 0);
9020 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
9021 : : || !register_operand (operands[0], E_DImode)
9022 : : || GET_MODE (x2) != E_DImode
9023 : : || GET_MODE (x3) != E_SImode)
9024 : : return -1;
9025 : : x5 = XEXP (x3, 1);
9026 : : operands[1] = x5;
9027 : : if (!register_operand (operands[1], E_SImode)
9028 : : || !
9029 : : #line 23558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9030 : : (TARGET_X32))
9031 : : return -1;
9032 : : *pnum_clobbers = 1;
9033 : : return 1697; /* *add_tp_x32_zext */
9034 : :
9035 : : default:
9036 : : return -1;
9037 : : }
9038 : : }
9039 : :
9040 : : int
9041 : : recog_81 (rtx x1 ATTRIBUTE_UNUSED,
9042 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9043 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9044 : : {
9045 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9046 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9047 : : rtx x10, x11;
9048 : : int res ATTRIBUTE_UNUSED;
9049 : : x2 = XEXP (x1, 1);
9050 : : x3 = XEXP (x2, 0);
9051 : : switch (GET_CODE (x3))
9052 : : {
9053 : : case NEG:
9054 : : if (pnum_clobbers == NULL)
9055 : : return -1;
9056 : : x4 = XEXP (x1, 0);
9057 : : if (GET_CODE (x4) != REG
9058 : : || REGNO (x4) != 17)
9059 : : return -1;
9060 : : x5 = XEXP (x3, 0);
9061 : : operands[2] = x5;
9062 : : x6 = XEXP (x2, 1);
9063 : : operands[1] = x6;
9064 : : switch (GET_MODE (x3))
9065 : : {
9066 : : case E_QImode:
9067 : : if (!general_operand (operands[2], E_QImode)
9068 : : || !nonimmediate_operand (operands[1], E_QImode)
9069 : : || !
9070 : : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9071 : : (ix86_match_ccmode (insn, CCZmode)
9072 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9073 : : return -1;
9074 : : *pnum_clobbers = 1;
9075 : : return 318; /* *addqi_3 */
9076 : :
9077 : : case E_HImode:
9078 : : if (!general_operand (operands[2], E_HImode)
9079 : : || !nonimmediate_operand (operands[1], E_HImode)
9080 : : || !
9081 : : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9082 : : (ix86_match_ccmode (insn, CCZmode)
9083 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9084 : : return -1;
9085 : : *pnum_clobbers = 1;
9086 : : return 319; /* *addhi_3 */
9087 : :
9088 : : case E_SImode:
9089 : : if (!x86_64_general_operand (operands[2], E_SImode)
9090 : : || !nonimmediate_operand (operands[1], E_SImode)
9091 : : || !
9092 : : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9093 : : (ix86_match_ccmode (insn, CCZmode)
9094 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9095 : : return -1;
9096 : : *pnum_clobbers = 1;
9097 : : return 320; /* *addsi_3 */
9098 : :
9099 : : case E_DImode:
9100 : : if (!x86_64_general_operand (operands[2], E_DImode)
9101 : : || !nonimmediate_operand (operands[1], E_DImode)
9102 : : || !(
9103 : : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9104 : : (ix86_match_ccmode (insn, CCZmode)
9105 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
9106 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9107 : : (TARGET_64BIT)))
9108 : : return -1;
9109 : : *pnum_clobbers = 1;
9110 : : return 321; /* *adddi_3 */
9111 : :
9112 : : default:
9113 : : return -1;
9114 : : }
9115 : :
9116 : : case REG:
9117 : : case SUBREG:
9118 : : case MEM:
9119 : : if (pnum_clobbers == NULL)
9120 : : return -1;
9121 : : operands[1] = x3;
9122 : : x4 = XEXP (x1, 0);
9123 : : if (GET_CODE (x4) != REG
9124 : : || REGNO (x4) != 17)
9125 : : return -1;
9126 : : x6 = XEXP (x2, 1);
9127 : : operands[2] = x6;
9128 : : switch (GET_MODE (operands[1]))
9129 : : {
9130 : : case E_DImode:
9131 : : if (!nonimmediate_operand (operands[1], E_DImode)
9132 : : || !x86_64_immediate_operand (operands[2], E_DImode)
9133 : : || !
9134 : : #line 7329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9135 : : (TARGET_64BIT
9136 : : && ix86_match_ccmode (insn, CCGCmode)))
9137 : : return -1;
9138 : : *pnum_clobbers = 1;
9139 : : return 323; /* *adddi_4 */
9140 : :
9141 : : case E_QImode:
9142 : : if (!nonimmediate_operand (operands[1], E_QImode)
9143 : : || !const_int_operand (operands[2], E_QImode)
9144 : : || !
9145 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9146 : : (ix86_match_ccmode (insn, CCGCmode)))
9147 : : return -1;
9148 : : *pnum_clobbers = 1;
9149 : : return 324; /* *addqi_4 */
9150 : :
9151 : : case E_HImode:
9152 : : if (!nonimmediate_operand (operands[1], E_HImode)
9153 : : || !const_int_operand (operands[2], E_HImode)
9154 : : || !
9155 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9156 : : (ix86_match_ccmode (insn, CCGCmode)))
9157 : : return -1;
9158 : : *pnum_clobbers = 1;
9159 : : return 325; /* *addhi_4 */
9160 : :
9161 : : case E_SImode:
9162 : : if (!nonimmediate_operand (operands[1], E_SImode)
9163 : : || !const_int_operand (operands[2], E_SImode)
9164 : : || !
9165 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9166 : : (ix86_match_ccmode (insn, CCGCmode)))
9167 : : return -1;
9168 : : *pnum_clobbers = 1;
9169 : : return 326; /* *addsi_4 */
9170 : :
9171 : : default:
9172 : : return -1;
9173 : : }
9174 : :
9175 : : case PLUS:
9176 : : if (pnum_clobbers == NULL)
9177 : : return -1;
9178 : : x4 = XEXP (x1, 0);
9179 : : if (GET_CODE (x4) != REG
9180 : : || REGNO (x4) != 17)
9181 : : return -1;
9182 : : x5 = XEXP (x3, 0);
9183 : : operands[1] = x5;
9184 : : x7 = XEXP (x3, 1);
9185 : : operands[2] = x7;
9186 : : x6 = XEXP (x2, 1);
9187 : : if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
9188 : : {
9189 : : switch (pattern49 (x3))
9190 : : {
9191 : : case 0:
9192 : : if (
9193 : : #line 7413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9194 : : (ix86_match_ccmode (insn, CCGOCmode)
9195 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9196 : : {
9197 : : *pnum_clobbers = 1;
9198 : : return 327; /* *addqi_5 */
9199 : : }
9200 : : break;
9201 : :
9202 : : case 1:
9203 : : if (
9204 : : #line 7413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9205 : : (ix86_match_ccmode (insn, CCGOCmode)
9206 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9207 : : {
9208 : : *pnum_clobbers = 1;
9209 : : return 328; /* *addhi_5 */
9210 : : }
9211 : : break;
9212 : :
9213 : : case 2:
9214 : : if (
9215 : : #line 7413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9216 : : (ix86_match_ccmode (insn, CCGOCmode)
9217 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9218 : : {
9219 : : *pnum_clobbers = 1;
9220 : : return 329; /* *addsi_5 */
9221 : : }
9222 : : break;
9223 : :
9224 : : case 3:
9225 : : if ((
9226 : : #line 7413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9227 : : (ix86_match_ccmode (insn, CCGOCmode)
9228 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
9229 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9230 : : (TARGET_64BIT)))
9231 : : {
9232 : : *pnum_clobbers = 1;
9233 : : return 330; /* *adddi_5 */
9234 : : }
9235 : : break;
9236 : :
9237 : : default:
9238 : : break;
9239 : : }
9240 : : }
9241 : : if (GET_MODE (x4) != E_CCCmode
9242 : : || GET_MODE (x2) != E_CCCmode
9243 : : || !rtx_equal_p (x6, operands[2]))
9244 : : return -1;
9245 : : switch (pattern49 (x3))
9246 : : {
9247 : : case 0:
9248 : : if (!
9249 : : #line 10326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9250 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9251 : : return -1;
9252 : : *pnum_clobbers = 1;
9253 : : return 571; /* *addqi3_cconly_overflow_2 */
9254 : :
9255 : : case 1:
9256 : : if (!
9257 : : #line 10326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9258 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9259 : : return -1;
9260 : : *pnum_clobbers = 1;
9261 : : return 572; /* *addhi3_cconly_overflow_2 */
9262 : :
9263 : : case 2:
9264 : : if (!
9265 : : #line 10326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9266 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9267 : : return -1;
9268 : : *pnum_clobbers = 1;
9269 : : return 573; /* *addsi3_cconly_overflow_2 */
9270 : :
9271 : : case 3:
9272 : : if (!(
9273 : : #line 10326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9274 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
9275 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9276 : : (TARGET_64BIT)))
9277 : : return -1;
9278 : : *pnum_clobbers = 1;
9279 : : return 574; /* *adddi3_cconly_overflow_2 */
9280 : :
9281 : : default:
9282 : : return -1;
9283 : : }
9284 : :
9285 : : case AND:
9286 : : x6 = XEXP (x2, 1);
9287 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9288 : : return -1;
9289 : : x4 = XEXP (x1, 0);
9290 : : if (GET_CODE (x4) != REG
9291 : : || REGNO (x4) != 17)
9292 : : return -1;
9293 : : x5 = XEXP (x3, 0);
9294 : : switch (GET_CODE (x5))
9295 : : {
9296 : : case REG:
9297 : : case SUBREG:
9298 : : case MEM:
9299 : : operands[0] = x5;
9300 : : x7 = XEXP (x3, 1);
9301 : : operands[1] = x7;
9302 : : switch (GET_MODE (x3))
9303 : : {
9304 : : case E_DImode:
9305 : : if (nonimmediate_operand (operands[0], E_DImode)
9306 : : && x86_64_szext_general_operand (operands[1], E_DImode)
9307 : : &&
9308 : : #line 12372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9309 : : (TARGET_64BIT
9310 : : && ix86_match_ccmode
9311 : : (insn,
9312 : : /* If we are going to emit testl instead of testq, and the operands[1]
9313 : : constant might have the SImode sign bit set, make sure the sign
9314 : : flag isn't tested, because the instruction will set the sign flag
9315 : : based on bit 31 rather than bit 63. If it isn't CONST_INT,
9316 : : conservatively assume it might have bit 31 set. */
9317 : : (satisfies_constraint_Z (operands[1])
9318 : : && (!CONST_INT_P (operands[1])
9319 : : || val_signbit_known_set_p (SImode, INTVAL (operands[1]))))
9320 : : ? CCZmode : CCNOmode)
9321 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9322 : : return 710; /* *testdi_1 */
9323 : : break;
9324 : :
9325 : : case E_QImode:
9326 : : if (nonimmediate_operand (operands[0], E_QImode)
9327 : : && general_operand (operands[1], E_QImode))
9328 : : {
9329 : : if (
9330 : : #line 12398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9331 : : (ix86_match_ccmode (insn,
9332 : : CONST_INT_P (operands[1])
9333 : : && INTVAL (operands[1]) >= 0 ? CCNOmode : CCZmode)
9334 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9335 : : return 711; /* *testqi_1_maybe_si */
9336 : : if (
9337 : : #line 12430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9338 : : (ix86_match_ccmode (insn, CCNOmode)
9339 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9340 : : return 712; /* *testqi_1 */
9341 : : }
9342 : : break;
9343 : :
9344 : : case E_HImode:
9345 : : if (nonimmediate_operand (operands[0], E_HImode)
9346 : : && general_operand (operands[1], E_HImode)
9347 : : &&
9348 : : #line 12430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9349 : : (ix86_match_ccmode (insn, CCNOmode)
9350 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9351 : : return 713; /* *testhi_1 */
9352 : : break;
9353 : :
9354 : : case E_SImode:
9355 : : if (nonimmediate_operand (operands[0], E_SImode)
9356 : : && x86_64_general_operand (operands[1], E_SImode)
9357 : : &&
9358 : : #line 12430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9359 : : (ix86_match_ccmode (insn, CCNOmode)
9360 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9361 : : return 714; /* *testsi_1 */
9362 : : break;
9363 : :
9364 : : default:
9365 : : break;
9366 : : }
9367 : : if (GET_CODE (x5) != SUBREG
9368 : : || maybe_ne (SUBREG_BYTE (x5), 0)
9369 : : || GET_MODE (x5) != E_QImode)
9370 : : return -1;
9371 : : x8 = XEXP (x5, 0);
9372 : : switch (GET_CODE (x8))
9373 : : {
9374 : : case ASHIFTRT:
9375 : : case LSHIFTRT:
9376 : : case SIGN_EXTRACT:
9377 : : case ZERO_EXTRACT:
9378 : : operands[2] = x8;
9379 : : if (GET_MODE (x3) != E_QImode)
9380 : : return -1;
9381 : : x9 = XEXP (x8, 0);
9382 : : operands[0] = x9;
9383 : : if (!int248_register_operand (operands[0], E_VOIDmode))
9384 : : return -1;
9385 : : operands[1] = x7;
9386 : : if (general_operand (operands[1], E_QImode))
9387 : : {
9388 : : switch (GET_MODE (operands[2]))
9389 : : {
9390 : : case E_HImode:
9391 : : if (extract_high_operator (operands[2], E_HImode)
9392 : : &&
9393 : : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9394 : : (ix86_match_ccmode (insn, CCNOmode)))
9395 : : return 715; /* *testqi_exthi_1 */
9396 : : break;
9397 : :
9398 : : case E_SImode:
9399 : : if (extract_high_operator (operands[2], E_SImode)
9400 : : &&
9401 : : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9402 : : (ix86_match_ccmode (insn, CCNOmode)))
9403 : : return 716; /* *testqi_extsi_1 */
9404 : : break;
9405 : :
9406 : : case E_DImode:
9407 : : if (extract_high_operator (operands[2], E_DImode)
9408 : : && (
9409 : : #line 12458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9410 : : (ix86_match_ccmode (insn, CCNOmode)) &&
9411 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9412 : : (TARGET_64BIT)))
9413 : : return 717; /* *testqi_extdi_1 */
9414 : : break;
9415 : :
9416 : : default:
9417 : : break;
9418 : : }
9419 : : }
9420 : : if (GET_CODE (x7) != SUBREG
9421 : : || maybe_ne (SUBREG_BYTE (x7), 0)
9422 : : || GET_MODE (x7) != E_QImode)
9423 : : return -1;
9424 : : x10 = XEXP (x7, 0);
9425 : : switch (GET_CODE (x10))
9426 : : {
9427 : : case ASHIFTRT:
9428 : : case LSHIFTRT:
9429 : : case SIGN_EXTRACT:
9430 : : case ZERO_EXTRACT:
9431 : : operands[3] = x10;
9432 : : x11 = XEXP (x10, 0);
9433 : : operands[1] = x11;
9434 : : if (!int248_register_operand (operands[1], E_VOIDmode))
9435 : : return -1;
9436 : : switch (GET_MODE (operands[2]))
9437 : : {
9438 : : case E_HImode:
9439 : : if (!extract_high_operator (operands[2], E_HImode)
9440 : : || !extract_high_operator (operands[3], E_HImode)
9441 : : || !
9442 : : #line 12475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9443 : : (ix86_match_ccmode (insn, CCNOmode)))
9444 : : return -1;
9445 : : return 718; /* *testqi_exthi_2 */
9446 : :
9447 : : case E_SImode:
9448 : : if (!extract_high_operator (operands[2], E_SImode)
9449 : : || !extract_high_operator (operands[3], E_SImode)
9450 : : || !
9451 : : #line 12475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9452 : : (ix86_match_ccmode (insn, CCNOmode)))
9453 : : return -1;
9454 : : return 719; /* *testqi_extsi_2 */
9455 : :
9456 : : case E_DImode:
9457 : : if (!extract_high_operator (operands[2], E_DImode)
9458 : : || !extract_high_operator (operands[3], E_DImode)
9459 : : || !(
9460 : : #line 12475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9461 : : (ix86_match_ccmode (insn, CCNOmode)) &&
9462 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9463 : : (TARGET_64BIT)))
9464 : : return -1;
9465 : : return 720; /* *testqi_extdi_2 */
9466 : :
9467 : : default:
9468 : : return -1;
9469 : : }
9470 : :
9471 : : default:
9472 : : return -1;
9473 : : }
9474 : :
9475 : : default:
9476 : : return -1;
9477 : : }
9478 : :
9479 : : case NOT:
9480 : : if (pnum_clobbers == NULL)
9481 : : return -1;
9482 : : x8 = XEXP (x5, 0);
9483 : : operands[1] = x8;
9484 : : x7 = XEXP (x3, 1);
9485 : : operands[2] = x7;
9486 : : switch (GET_MODE (x3))
9487 : : {
9488 : : case E_SImode:
9489 : : if (GET_MODE (x5) != E_SImode
9490 : : || !register_operand (operands[1], E_SImode)
9491 : : || !nonimmediate_operand (operands[2], E_SImode)
9492 : : || !
9493 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9494 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
9495 : : return -1;
9496 : : *pnum_clobbers = 1;
9497 : : return 845; /* *andn_si_ccno */
9498 : :
9499 : : case E_DImode:
9500 : : if (GET_MODE (x5) != E_DImode
9501 : : || !register_operand (operands[1], E_DImode)
9502 : : || !nonimmediate_operand (operands[2], E_DImode)
9503 : : || !(
9504 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9505 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
9506 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9507 : : (TARGET_64BIT)))
9508 : : return -1;
9509 : : *pnum_clobbers = 1;
9510 : : return 846; /* *andn_di_ccno */
9511 : :
9512 : : default:
9513 : : return -1;
9514 : : }
9515 : :
9516 : : case NEG:
9517 : : if (pnum_clobbers == NULL)
9518 : : return -1;
9519 : : switch (pattern752 (x3))
9520 : : {
9521 : : case 0:
9522 : : if (!
9523 : : #line 22160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9524 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
9525 : : return -1;
9526 : : *pnum_clobbers = 1;
9527 : : return 1610; /* *bmi_blsi_si_ccno */
9528 : :
9529 : : case 1:
9530 : : if (!(
9531 : : #line 22160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9532 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
9533 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9534 : : (TARGET_64BIT)))
9535 : : return -1;
9536 : : *pnum_clobbers = 1;
9537 : : return 1611; /* *bmi_blsi_di_ccno */
9538 : :
9539 : : default:
9540 : : return -1;
9541 : : }
9542 : :
9543 : : default:
9544 : : return -1;
9545 : : }
9546 : :
9547 : : case ZERO_EXTRACT:
9548 : : switch (pattern48 (x1))
9549 : : {
9550 : : case 0:
9551 : : if (!
9552 : : #line 12510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9553 : : (/* Ensure that resulting mask is zero or sign extended operand. */
9554 : : INTVAL (operands[4]) >= 0
9555 : : && ((INTVAL (operands[3]) > 0
9556 : : && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
9557 : : || (HImode == DImode
9558 : : && INTVAL (operands[3]) > 32
9559 : : && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
9560 : : && ix86_match_ccmode (insn,
9561 : : /* If zero_extract mode precision is the same
9562 : : as len, the SF of the zero_extract
9563 : : comparison will be the most significant
9564 : : extracted bit, but this could be matched
9565 : : after splitting only for pos 0 len all bits
9566 : : trivial extractions. Require CCZmode. */
9567 : : (GET_MODE_PRECISION (HImode)
9568 : : == INTVAL (operands[3]))
9569 : : /* Otherwise, require CCZmode if we'd use a mask
9570 : : with the most significant bit set and can't
9571 : : widen it to wider mode. *testdi_1 also
9572 : : requires CCZmode if the mask has bit
9573 : : 31 set and all bits above it clear. */
9574 : : || (INTVAL (operands[3]) + INTVAL (operands[4])
9575 : : >= 32)
9576 : : /* We can't widen also if val is not a REG. */
9577 : : || (INTVAL (operands[3]) + INTVAL (operands[4])
9578 : : == GET_MODE_PRECISION (GET_MODE (operands[2]))
9579 : : && !register_operand (operands[2],
9580 : : GET_MODE (operands[2])))
9581 : : /* And we shouldn't widen if
9582 : : TARGET_PARTIAL_REG_STALL. */
9583 : : || (TARGET_PARTIAL_REG_STALL
9584 : : && (INTVAL (operands[3]) + INTVAL (operands[4])
9585 : : >= (paradoxical_subreg_p (operands[2])
9586 : : && (GET_MODE_CLASS
9587 : : (GET_MODE (SUBREG_REG (operands[2])))
9588 : : == MODE_INT)
9589 : : ? GET_MODE_PRECISION
9590 : : (GET_MODE (SUBREG_REG (operands[2])))
9591 : : : GET_MODE_PRECISION
9592 : : (GET_MODE (operands[2])))))
9593 : : ? CCZmode : CCNOmode)))
9594 : : return -1;
9595 : : return 722; /* *testqi_ext_3 */
9596 : :
9597 : : case 1:
9598 : : if (!
9599 : : #line 12510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9600 : : (/* Ensure that resulting mask is zero or sign extended operand. */
9601 : : INTVAL (operands[4]) >= 0
9602 : : && ((INTVAL (operands[3]) > 0
9603 : : && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
9604 : : || (SImode == DImode
9605 : : && INTVAL (operands[3]) > 32
9606 : : && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
9607 : : && ix86_match_ccmode (insn,
9608 : : /* If zero_extract mode precision is the same
9609 : : as len, the SF of the zero_extract
9610 : : comparison will be the most significant
9611 : : extracted bit, but this could be matched
9612 : : after splitting only for pos 0 len all bits
9613 : : trivial extractions. Require CCZmode. */
9614 : : (GET_MODE_PRECISION (SImode)
9615 : : == INTVAL (operands[3]))
9616 : : /* Otherwise, require CCZmode if we'd use a mask
9617 : : with the most significant bit set and can't
9618 : : widen it to wider mode. *testdi_1 also
9619 : : requires CCZmode if the mask has bit
9620 : : 31 set and all bits above it clear. */
9621 : : || (INTVAL (operands[3]) + INTVAL (operands[4])
9622 : : >= 32)
9623 : : /* We can't widen also if val is not a REG. */
9624 : : || (INTVAL (operands[3]) + INTVAL (operands[4])
9625 : : == GET_MODE_PRECISION (GET_MODE (operands[2]))
9626 : : && !register_operand (operands[2],
9627 : : GET_MODE (operands[2])))
9628 : : /* And we shouldn't widen if
9629 : : TARGET_PARTIAL_REG_STALL. */
9630 : : || (TARGET_PARTIAL_REG_STALL
9631 : : && (INTVAL (operands[3]) + INTVAL (operands[4])
9632 : : >= (paradoxical_subreg_p (operands[2])
9633 : : && (GET_MODE_CLASS
9634 : : (GET_MODE (SUBREG_REG (operands[2])))
9635 : : == MODE_INT)
9636 : : ? GET_MODE_PRECISION
9637 : : (GET_MODE (SUBREG_REG (operands[2])))
9638 : : : GET_MODE_PRECISION
9639 : : (GET_MODE (operands[2])))))
9640 : : ? CCZmode : CCNOmode)))
9641 : : return -1;
9642 : : return 723; /* *testqi_ext_3 */
9643 : :
9644 : : case 2:
9645 : : if (!(
9646 : : #line 12510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9647 : : (/* Ensure that resulting mask is zero or sign extended operand. */
9648 : : INTVAL (operands[4]) >= 0
9649 : : && ((INTVAL (operands[3]) > 0
9650 : : && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
9651 : : || (DImode == DImode
9652 : : && INTVAL (operands[3]) > 32
9653 : : && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
9654 : : && ix86_match_ccmode (insn,
9655 : : /* If zero_extract mode precision is the same
9656 : : as len, the SF of the zero_extract
9657 : : comparison will be the most significant
9658 : : extracted bit, but this could be matched
9659 : : after splitting only for pos 0 len all bits
9660 : : trivial extractions. Require CCZmode. */
9661 : : (GET_MODE_PRECISION (DImode)
9662 : : == INTVAL (operands[3]))
9663 : : /* Otherwise, require CCZmode if we'd use a mask
9664 : : with the most significant bit set and can't
9665 : : widen it to wider mode. *testdi_1 also
9666 : : requires CCZmode if the mask has bit
9667 : : 31 set and all bits above it clear. */
9668 : : || (INTVAL (operands[3]) + INTVAL (operands[4])
9669 : : >= 32)
9670 : : /* We can't widen also if val is not a REG. */
9671 : : || (INTVAL (operands[3]) + INTVAL (operands[4])
9672 : : == GET_MODE_PRECISION (GET_MODE (operands[2]))
9673 : : && !register_operand (operands[2],
9674 : : GET_MODE (operands[2])))
9675 : : /* And we shouldn't widen if
9676 : : TARGET_PARTIAL_REG_STALL. */
9677 : : || (TARGET_PARTIAL_REG_STALL
9678 : : && (INTVAL (operands[3]) + INTVAL (operands[4])
9679 : : >= (paradoxical_subreg_p (operands[2])
9680 : : && (GET_MODE_CLASS
9681 : : (GET_MODE (SUBREG_REG (operands[2])))
9682 : : == MODE_INT)
9683 : : ? GET_MODE_PRECISION
9684 : : (GET_MODE (SUBREG_REG (operands[2])))
9685 : : : GET_MODE_PRECISION
9686 : : (GET_MODE (operands[2])))))
9687 : : ? CCZmode : CCNOmode)) &&
9688 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9689 : : (TARGET_64BIT)))
9690 : : return -1;
9691 : : return 724; /* *testqi_ext_3 */
9692 : :
9693 : : default:
9694 : : return -1;
9695 : : }
9696 : :
9697 : : case IOR:
9698 : : switch (pattern51 (x1, pnum_clobbers))
9699 : : {
9700 : : case 0:
9701 : : if (!
9702 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9703 : : (ix86_match_ccmode (insn, CCNOmode)
9704 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9705 : : return -1;
9706 : : *pnum_clobbers = 1;
9707 : : return 916; /* *iorqi_3 */
9708 : :
9709 : : case 1:
9710 : : if (!
9711 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9712 : : (ix86_match_ccmode (insn, CCNOmode)
9713 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9714 : : return -1;
9715 : : *pnum_clobbers = 1;
9716 : : return 918; /* *iorhi_3 */
9717 : :
9718 : : case 2:
9719 : : if (!
9720 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9721 : : (ix86_match_ccmode (insn, CCNOmode)
9722 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9723 : : return -1;
9724 : : *pnum_clobbers = 1;
9725 : : return 920; /* *iorsi_3 */
9726 : :
9727 : : case 3:
9728 : : if (!(
9729 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9730 : : (ix86_match_ccmode (insn, CCNOmode)
9731 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
9732 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9733 : : (TARGET_64BIT)))
9734 : : return -1;
9735 : : *pnum_clobbers = 1;
9736 : : return 922; /* *iordi_3 */
9737 : :
9738 : : default:
9739 : : return -1;
9740 : : }
9741 : :
9742 : : case XOR:
9743 : : switch (pattern51 (x1, pnum_clobbers))
9744 : : {
9745 : : case 0:
9746 : : if (!
9747 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9748 : : (ix86_match_ccmode (insn, CCNOmode)
9749 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9750 : : return -1;
9751 : : *pnum_clobbers = 1;
9752 : : return 917; /* *xorqi_3 */
9753 : :
9754 : : case 1:
9755 : : if (!
9756 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9757 : : (ix86_match_ccmode (insn, CCNOmode)
9758 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9759 : : return -1;
9760 : : *pnum_clobbers = 1;
9761 : : return 919; /* *xorhi_3 */
9762 : :
9763 : : case 2:
9764 : : if (!
9765 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9766 : : (ix86_match_ccmode (insn, CCNOmode)
9767 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9768 : : return -1;
9769 : : *pnum_clobbers = 1;
9770 : : return 921; /* *xorsi_3 */
9771 : :
9772 : : case 3:
9773 : : if (!(
9774 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9775 : : (ix86_match_ccmode (insn, CCNOmode)
9776 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
9777 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9778 : : (TARGET_64BIT)))
9779 : : return -1;
9780 : : *pnum_clobbers = 1;
9781 : : return 923; /* *xordi_3 */
9782 : :
9783 : : default:
9784 : : return -1;
9785 : : }
9786 : :
9787 : : case ASHIFT:
9788 : : switch (pattern52 (x1, pnum_clobbers))
9789 : : {
9790 : : case 0:
9791 : : if (!
9792 : : #line 16744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9793 : : ((optimize_function_for_size_p (cfun)
9794 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9795 : : || (operands[2] == const1_rtx
9796 : : && (TARGET_SHIFT1
9797 : : || TARGET_DOUBLE_WITH_ADD)))
9798 : : && ix86_match_ccmode (insn, CCGOCmode)))
9799 : : return -1;
9800 : : *pnum_clobbers = 1;
9801 : : return 1147; /* *ashlqi3_cconly */
9802 : :
9803 : : case 1:
9804 : : if (!
9805 : : #line 16744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9806 : : ((optimize_function_for_size_p (cfun)
9807 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9808 : : || (operands[2] == const1_rtx
9809 : : && (TARGET_SHIFT1
9810 : : || TARGET_DOUBLE_WITH_ADD)))
9811 : : && ix86_match_ccmode (insn, CCGOCmode)))
9812 : : return -1;
9813 : : *pnum_clobbers = 1;
9814 : : return 1148; /* *ashlhi3_cconly */
9815 : :
9816 : : case 2:
9817 : : if (!
9818 : : #line 16744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9819 : : ((optimize_function_for_size_p (cfun)
9820 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9821 : : || (operands[2] == const1_rtx
9822 : : && (TARGET_SHIFT1
9823 : : || TARGET_DOUBLE_WITH_ADD)))
9824 : : && ix86_match_ccmode (insn, CCGOCmode)))
9825 : : return -1;
9826 : : *pnum_clobbers = 1;
9827 : : return 1149; /* *ashlsi3_cconly */
9828 : :
9829 : : case 3:
9830 : : if (!(
9831 : : #line 16744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9832 : : ((optimize_function_for_size_p (cfun)
9833 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9834 : : || (operands[2] == const1_rtx
9835 : : && (TARGET_SHIFT1
9836 : : || TARGET_DOUBLE_WITH_ADD)))
9837 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
9838 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9839 : : (TARGET_64BIT)))
9840 : : return -1;
9841 : : *pnum_clobbers = 1;
9842 : : return 1150; /* *ashldi3_cconly */
9843 : :
9844 : : default:
9845 : : return -1;
9846 : : }
9847 : :
9848 : : case LSHIFTRT:
9849 : : switch (pattern52 (x1, pnum_clobbers))
9850 : : {
9851 : : case 0:
9852 : : if (!
9853 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9854 : : ((optimize_function_for_size_p (cfun)
9855 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9856 : : || (operands[2] == const1_rtx
9857 : : && TARGET_SHIFT1))
9858 : : && ix86_match_ccmode (insn, CCGOCmode)))
9859 : : return -1;
9860 : : *pnum_clobbers = 1;
9861 : : return 1262; /* *lshrqi3_cconly */
9862 : :
9863 : : case 1:
9864 : : if (!
9865 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9866 : : ((optimize_function_for_size_p (cfun)
9867 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9868 : : || (operands[2] == const1_rtx
9869 : : && TARGET_SHIFT1))
9870 : : && ix86_match_ccmode (insn, CCGOCmode)))
9871 : : return -1;
9872 : : *pnum_clobbers = 1;
9873 : : return 1264; /* *lshrhi3_cconly */
9874 : :
9875 : : case 2:
9876 : : if (!
9877 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9878 : : ((optimize_function_for_size_p (cfun)
9879 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9880 : : || (operands[2] == const1_rtx
9881 : : && TARGET_SHIFT1))
9882 : : && ix86_match_ccmode (insn, CCGOCmode)))
9883 : : return -1;
9884 : : *pnum_clobbers = 1;
9885 : : return 1266; /* *lshrsi3_cconly */
9886 : :
9887 : : case 3:
9888 : : if (!(
9889 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9890 : : ((optimize_function_for_size_p (cfun)
9891 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9892 : : || (operands[2] == const1_rtx
9893 : : && TARGET_SHIFT1))
9894 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
9895 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9896 : : (TARGET_64BIT)))
9897 : : return -1;
9898 : : *pnum_clobbers = 1;
9899 : : return 1268; /* *lshrdi3_cconly */
9900 : :
9901 : : default:
9902 : : return -1;
9903 : : }
9904 : :
9905 : : case ASHIFTRT:
9906 : : switch (pattern52 (x1, pnum_clobbers))
9907 : : {
9908 : : case 0:
9909 : : if (!
9910 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9911 : : ((optimize_function_for_size_p (cfun)
9912 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9913 : : || (operands[2] == const1_rtx
9914 : : && TARGET_SHIFT1))
9915 : : && ix86_match_ccmode (insn, CCGOCmode)))
9916 : : return -1;
9917 : : *pnum_clobbers = 1;
9918 : : return 1263; /* *ashrqi3_cconly */
9919 : :
9920 : : case 1:
9921 : : if (!
9922 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9923 : : ((optimize_function_for_size_p (cfun)
9924 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9925 : : || (operands[2] == const1_rtx
9926 : : && TARGET_SHIFT1))
9927 : : && ix86_match_ccmode (insn, CCGOCmode)))
9928 : : return -1;
9929 : : *pnum_clobbers = 1;
9930 : : return 1265; /* *ashrhi3_cconly */
9931 : :
9932 : : case 2:
9933 : : if (!
9934 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9935 : : ((optimize_function_for_size_p (cfun)
9936 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9937 : : || (operands[2] == const1_rtx
9938 : : && TARGET_SHIFT1))
9939 : : && ix86_match_ccmode (insn, CCGOCmode)))
9940 : : return -1;
9941 : : *pnum_clobbers = 1;
9942 : : return 1267; /* *ashrsi3_cconly */
9943 : :
9944 : : case 3:
9945 : : if (!(
9946 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9947 : : ((optimize_function_for_size_p (cfun)
9948 : : || !TARGET_PARTIAL_FLAG_REG_STALL
9949 : : || (operands[2] == const1_rtx
9950 : : && TARGET_SHIFT1))
9951 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
9952 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9953 : : (TARGET_64BIT)))
9954 : : return -1;
9955 : : *pnum_clobbers = 1;
9956 : : return 1269; /* *ashrdi3_cconly */
9957 : :
9958 : : default:
9959 : : return -1;
9960 : : }
9961 : :
9962 : : default:
9963 : : return -1;
9964 : : }
9965 : : }
9966 : :
9967 : : int
9968 : : recog_111 (rtx x1 ATTRIBUTE_UNUSED,
9969 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9970 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9971 : : {
9972 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9973 : : rtx x2, x3, x4, x5;
9974 : : int res ATTRIBUTE_UNUSED;
9975 : : x2 = XEXP (x1, 1);
9976 : : if (GET_MODE (x2) != E_SImode)
9977 : : return -1;
9978 : : x3 = XEXP (x1, 0);
9979 : : operands[0] = x3;
9980 : : if (!register_operand (operands[0], E_SImode))
9981 : : return -1;
9982 : : x4 = XVECEXP (x2, 0, 0);
9983 : : switch (GET_CODE (x4))
9984 : : {
9985 : : case REG:
9986 : : case SUBREG:
9987 : : operands[1] = x4;
9988 : : switch (GET_MODE (operands[1]))
9989 : : {
9990 : : case E_DFmode:
9991 : : if (register_operand (operands[1], E_DFmode)
9992 : : &&
9993 : : #line 25813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9994 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
9995 : : return 1793; /* movmsk_df */
9996 : : break;
9997 : :
9998 : : case E_V8QImode:
9999 : : if (register_operand (operands[1], E_V8QImode)
10000 : : &&
10001 : : #line 6846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
10002 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
10003 : : && (TARGET_SSE || TARGET_3DNOW_A)))
10004 : : return 2441; /* mmx_pmovmskb */
10005 : : break;
10006 : :
10007 : : case E_V8SFmode:
10008 : : if (register_operand (operands[1], E_V8SFmode)
10009 : : && (
10010 : : #line 22234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10011 : : (TARGET_SSE) &&
10012 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10013 : : (TARGET_AVX)))
10014 : : return 8545; /* avx_movmskps256 */
10015 : : break;
10016 : :
10017 : : case E_V4SFmode:
10018 : : if (register_operand (operands[1], E_V4SFmode)
10019 : : &&
10020 : : #line 22234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10021 : : (TARGET_SSE))
10022 : : return 8546; /* sse_movmskps */
10023 : : break;
10024 : :
10025 : : case E_V4DFmode:
10026 : : if (register_operand (operands[1], E_V4DFmode)
10027 : : && (
10028 : : #line 22234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10029 : : (TARGET_SSE) &&
10030 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10031 : : (TARGET_AVX)))
10032 : : return 8547; /* avx_movmskpd256 */
10033 : : break;
10034 : :
10035 : : case E_V2DFmode:
10036 : : if (register_operand (operands[1], E_V2DFmode)
10037 : : && (
10038 : : #line 22234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10039 : : (TARGET_SSE) &&
10040 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10041 : : (TARGET_SSE2)))
10042 : : return 8548; /* sse2_movmskpd */
10043 : : break;
10044 : :
10045 : : case E_V32QImode:
10046 : : if (register_operand (operands[1], E_V32QImode)
10047 : : && (
10048 : : #line 22384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10049 : : (TARGET_SSE2) &&
10050 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10051 : : (TARGET_AVX2)))
10052 : : return 8593; /* avx2_pmovmskb */
10053 : : break;
10054 : :
10055 : : case E_V16QImode:
10056 : : if (register_operand (operands[1], E_V16QImode)
10057 : : &&
10058 : : #line 22384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10059 : : (TARGET_SSE2))
10060 : : return 8594; /* sse2_pmovmskb */
10061 : : break;
10062 : :
10063 : : default:
10064 : : break;
10065 : : }
10066 : : if (GET_CODE (x4) != SUBREG
10067 : : || maybe_ne (SUBREG_BYTE (x4), 0))
10068 : : return -1;
10069 : : x5 = XEXP (x4, 0);
10070 : : switch (GET_CODE (x5))
10071 : : {
10072 : : case VEC_MERGE:
10073 : : switch (pattern1099 (x4))
10074 : : {
10075 : : case 0:
10076 : : if (!(
10077 : : #line 22285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10078 : : (TARGET_SSE) &&
10079 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10080 : : (TARGET_AVX)))
10081 : : return -1;
10082 : : return 8561; /* *avx_movmskps256_lt_avx512 */
10083 : :
10084 : : case 1:
10085 : : if (!
10086 : : #line 22285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10087 : : (TARGET_SSE))
10088 : : return -1;
10089 : : return 8562; /* *sse_movmskps_lt_avx512 */
10090 : :
10091 : : case 2:
10092 : : if (!(
10093 : : #line 22285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10094 : : (TARGET_SSE) &&
10095 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10096 : : (TARGET_AVX)))
10097 : : return -1;
10098 : : return 8563; /* *avx_movmskpd256_lt_avx512 */
10099 : :
10100 : : case 3:
10101 : : if (!(
10102 : : #line 22285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10103 : : (TARGET_SSE) &&
10104 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10105 : : (TARGET_SSE2)))
10106 : : return -1;
10107 : : return 8564; /* *sse2_movmskpd_lt_avx512 */
10108 : :
10109 : : default:
10110 : : return -1;
10111 : : }
10112 : :
10113 : : case ASHIFTRT:
10114 : : switch (pattern1100 (x4))
10115 : : {
10116 : : case 0:
10117 : : if (!(
10118 : : #line 22348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10119 : : (TARGET_SSE) &&
10120 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10121 : : (TARGET_AVX)))
10122 : : return -1;
10123 : : return 8581; /* *avx_movmskps256_shift */
10124 : :
10125 : : case 1:
10126 : : if (!
10127 : : #line 22348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10128 : : (TARGET_SSE))
10129 : : return -1;
10130 : : return 8582; /* *sse_movmskps_shift */
10131 : :
10132 : : case 2:
10133 : : if (!(
10134 : : #line 22348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10135 : : (TARGET_SSE) &&
10136 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10137 : : (TARGET_AVX)))
10138 : : return -1;
10139 : : return 8583; /* *avx_movmskpd256_shift */
10140 : :
10141 : : case 3:
10142 : : if (!(
10143 : : #line 22348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10144 : : (TARGET_SSE) &&
10145 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10146 : : (TARGET_SSE2)))
10147 : : return -1;
10148 : : return 8584; /* *sse2_movmskpd_shift */
10149 : :
10150 : : default:
10151 : : return -1;
10152 : : }
10153 : :
10154 : : default:
10155 : : return -1;
10156 : : }
10157 : :
10158 : : case LT:
10159 : : switch (pattern760 (x4))
10160 : : {
10161 : : case 0:
10162 : : if (!(
10163 : : #line 22261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10164 : : (TARGET_SSE) &&
10165 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10166 : : (TARGET_AVX)))
10167 : : return -1;
10168 : : return 8557; /* *avx_movmskps256_lt */
10169 : :
10170 : : case 1:
10171 : : if (!
10172 : : #line 22261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10173 : : (TARGET_SSE))
10174 : : return -1;
10175 : : return 8558; /* *sse_movmskps_lt */
10176 : :
10177 : : case 2:
10178 : : if (!(
10179 : : #line 22261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10180 : : (TARGET_SSE) &&
10181 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10182 : : (TARGET_AVX)))
10183 : : return -1;
10184 : : return 8559; /* *avx_movmskpd256_lt */
10185 : :
10186 : : case 3:
10187 : : if (!(
10188 : : #line 22261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10189 : : (TARGET_SSE) &&
10190 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10191 : : (TARGET_SSE2)))
10192 : : return -1;
10193 : : return 8560; /* *sse2_movmskpd_lt */
10194 : :
10195 : : case 4:
10196 : : if (!(
10197 : : #line 22513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10198 : : (TARGET_SSE2) &&
10199 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10200 : : (TARGET_AVX2)))
10201 : : return -1;
10202 : : return 8599; /* *avx2_pmovmskb_lt */
10203 : :
10204 : : case 5:
10205 : : if (!
10206 : : #line 22513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10207 : : (TARGET_SSE2))
10208 : : return -1;
10209 : : return 8600; /* *sse2_pmovmskb_lt */
10210 : :
10211 : : default:
10212 : : return -1;
10213 : : }
10214 : :
10215 : : case VEC_MERGE:
10216 : : switch (pattern762 (x4))
10217 : : {
10218 : : case 0:
10219 : : if (!(
10220 : : #line 22541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10221 : : (TARGET_SSE2) &&
10222 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10223 : : (TARGET_AVX2)))
10224 : : return -1;
10225 : : return 8601; /* *avx2_pmovmskb_lt_avx512 */
10226 : :
10227 : : case 1:
10228 : : if (!
10229 : : #line 22541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10230 : : (TARGET_SSE2))
10231 : : return -1;
10232 : : return 8602; /* *sse2_pmovmskb_lt_avx512 */
10233 : :
10234 : : case 2:
10235 : : if (!
10236 : : #line 22669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10237 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
10238 : : return -1;
10239 : : return 8610; /* *pmovsk_kmask_v16qi_avx512 */
10240 : :
10241 : : case 3:
10242 : : if (!
10243 : : #line 22683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10244 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
10245 : : return -1;
10246 : : return 8611; /* *pmovsk_mask_v32qi_avx512 */
10247 : :
10248 : : default:
10249 : : return -1;
10250 : : }
10251 : :
10252 : : default:
10253 : : return -1;
10254 : : }
10255 : : }
10256 : :
10257 : : int
10258 : : recog_125 (rtx x1 ATTRIBUTE_UNUSED,
10259 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10260 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10261 : : {
10262 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10263 : : rtx x2, x3, x4, x5, x6;
10264 : : int res ATTRIBUTE_UNUSED;
10265 : : x2 = XEXP (x1, 1);
10266 : : x3 = XEXP (x2, 0);
10267 : : x4 = XVECEXP (x3, 0, 0);
10268 : : operands[1] = x4;
10269 : : x5 = XEXP (x2, 2);
10270 : : switch (GET_CODE (x5))
10271 : : {
10272 : : case REG:
10273 : : case SUBREG:
10274 : : operands[3] = x5;
10275 : : switch (GET_MODE (operands[0]))
10276 : : {
10277 : : case E_V16SImode:
10278 : : if (pattern997 (x2,
10279 : : E_V16SImode,
10280 : : E_HImode) != 0
10281 : : || !
10282 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10283 : : (TARGET_AVX512F))
10284 : : return -1;
10285 : : return 2506; /* *avx512f_loadv16si_mask */
10286 : :
10287 : : case E_V8SImode:
10288 : : if (pattern997 (x2,
10289 : : E_V8SImode,
10290 : : E_QImode) != 0
10291 : : || !(
10292 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10293 : : (TARGET_AVX512F) &&
10294 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10295 : : (TARGET_AVX512VL)))
10296 : : return -1;
10297 : : return 2507; /* *avx512vl_loadv8si_mask */
10298 : :
10299 : : case E_V4SImode:
10300 : : if (pattern997 (x2,
10301 : : E_V4SImode,
10302 : : E_QImode) != 0
10303 : : || !(
10304 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10305 : : (TARGET_AVX512F) &&
10306 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10307 : : (TARGET_AVX512VL)))
10308 : : return -1;
10309 : : return 2508; /* *avx512vl_loadv4si_mask */
10310 : :
10311 : : case E_V8DImode:
10312 : : if (pattern997 (x2,
10313 : : E_V8DImode,
10314 : : E_QImode) != 0
10315 : : || !
10316 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10317 : : (TARGET_AVX512F))
10318 : : return -1;
10319 : : return 2509; /* *avx512f_loadv8di_mask */
10320 : :
10321 : : case E_V4DImode:
10322 : : if (pattern997 (x2,
10323 : : E_V4DImode,
10324 : : E_QImode) != 0
10325 : : || !(
10326 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10327 : : (TARGET_AVX512F) &&
10328 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10329 : : (TARGET_AVX512VL)))
10330 : : return -1;
10331 : : return 2510; /* *avx512vl_loadv4di_mask */
10332 : :
10333 : : case E_V2DImode:
10334 : : if (pattern997 (x2,
10335 : : E_V2DImode,
10336 : : E_QImode) != 0
10337 : : || !(
10338 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10339 : : (TARGET_AVX512F) &&
10340 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10341 : : (TARGET_AVX512VL)))
10342 : : return -1;
10343 : : return 2511; /* *avx512vl_loadv2di_mask */
10344 : :
10345 : : case E_V16SFmode:
10346 : : if (pattern997 (x2,
10347 : : E_V16SFmode,
10348 : : E_HImode) != 0
10349 : : || !
10350 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10351 : : (TARGET_AVX512F))
10352 : : return -1;
10353 : : return 2512; /* *avx512f_loadv16sf_mask */
10354 : :
10355 : : case E_V8SFmode:
10356 : : if (pattern997 (x2,
10357 : : E_V8SFmode,
10358 : : E_QImode) != 0
10359 : : || !(
10360 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10361 : : (TARGET_AVX512F) &&
10362 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10363 : : (TARGET_AVX512VL)))
10364 : : return -1;
10365 : : return 2513; /* *avx512vl_loadv8sf_mask */
10366 : :
10367 : : case E_V4SFmode:
10368 : : if (pattern997 (x2,
10369 : : E_V4SFmode,
10370 : : E_QImode) != 0
10371 : : || !(
10372 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10373 : : (TARGET_AVX512F) &&
10374 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10375 : : (TARGET_AVX512VL)))
10376 : : return -1;
10377 : : return 2514; /* *avx512vl_loadv4sf_mask */
10378 : :
10379 : : case E_V8DFmode:
10380 : : if (pattern997 (x2,
10381 : : E_V8DFmode,
10382 : : E_QImode) != 0
10383 : : || !
10384 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10385 : : (TARGET_AVX512F))
10386 : : return -1;
10387 : : return 2515; /* *avx512f_loadv8df_mask */
10388 : :
10389 : : case E_V4DFmode:
10390 : : if (pattern997 (x2,
10391 : : E_V4DFmode,
10392 : : E_QImode) != 0
10393 : : || !(
10394 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10395 : : (TARGET_AVX512F) &&
10396 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10397 : : (TARGET_AVX512VL)))
10398 : : return -1;
10399 : : return 2516; /* *avx512vl_loadv4df_mask */
10400 : :
10401 : : case E_V2DFmode:
10402 : : if (pattern997 (x2,
10403 : : E_V2DFmode,
10404 : : E_QImode) != 0
10405 : : || !(
10406 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10407 : : (TARGET_AVX512F) &&
10408 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10409 : : (TARGET_AVX512VL)))
10410 : : return -1;
10411 : : return 2517; /* *avx512vl_loadv2df_mask */
10412 : :
10413 : : case E_V64QImode:
10414 : : if (pattern997 (x2,
10415 : : E_V64QImode,
10416 : : E_DImode) != 0
10417 : : || !
10418 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10419 : : (TARGET_AVX512BW))
10420 : : return -1;
10421 : : return 2536; /* *avx512bw_loadv64qi_mask */
10422 : :
10423 : : case E_V16QImode:
10424 : : if (pattern997 (x2,
10425 : : E_V16QImode,
10426 : : E_HImode) != 0
10427 : : || !(
10428 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10429 : : (TARGET_AVX512BW) &&
10430 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10431 : : (TARGET_AVX512VL)))
10432 : : return -1;
10433 : : return 2537; /* *avx512vl_loadv16qi_mask */
10434 : :
10435 : : case E_V32QImode:
10436 : : if (pattern997 (x2,
10437 : : E_V32QImode,
10438 : : E_SImode) != 0
10439 : : || !(
10440 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10441 : : (TARGET_AVX512BW) &&
10442 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10443 : : (TARGET_AVX512VL)))
10444 : : return -1;
10445 : : return 2538; /* *avx512vl_loadv32qi_mask */
10446 : :
10447 : : case E_V32HImode:
10448 : : if (pattern997 (x2,
10449 : : E_V32HImode,
10450 : : E_SImode) != 0
10451 : : || !
10452 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10453 : : (TARGET_AVX512BW))
10454 : : return -1;
10455 : : return 2539; /* *avx512bw_loadv32hi_mask */
10456 : :
10457 : : case E_V16HImode:
10458 : : if (pattern997 (x2,
10459 : : E_V16HImode,
10460 : : E_HImode) != 0
10461 : : || !(
10462 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10463 : : (TARGET_AVX512BW) &&
10464 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10465 : : (TARGET_AVX512VL)))
10466 : : return -1;
10467 : : return 2540; /* *avx512vl_loadv16hi_mask */
10468 : :
10469 : : case E_V8HImode:
10470 : : if (pattern997 (x2,
10471 : : E_V8HImode,
10472 : : E_QImode) != 0
10473 : : || !(
10474 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10475 : : (TARGET_AVX512BW) &&
10476 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10477 : : (TARGET_AVX512VL)))
10478 : : return -1;
10479 : : return 2541; /* *avx512vl_loadv8hi_mask */
10480 : :
10481 : : case E_V32HFmode:
10482 : : if (pattern997 (x2,
10483 : : E_V32HFmode,
10484 : : E_SImode) != 0
10485 : : || !
10486 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10487 : : (TARGET_AVX512BW))
10488 : : return -1;
10489 : : return 2542; /* *avx512bw_loadv32hf_mask */
10490 : :
10491 : : case E_V16HFmode:
10492 : : if (pattern997 (x2,
10493 : : E_V16HFmode,
10494 : : E_HImode) != 0
10495 : : || !(
10496 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10497 : : (TARGET_AVX512BW) &&
10498 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10499 : : (TARGET_AVX512VL)))
10500 : : return -1;
10501 : : return 2543; /* *avx512vl_loadv16hf_mask */
10502 : :
10503 : : case E_V8HFmode:
10504 : : if (pattern997 (x2,
10505 : : E_V8HFmode,
10506 : : E_QImode) != 0
10507 : : || !(
10508 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10509 : : (TARGET_AVX512BW) &&
10510 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10511 : : (TARGET_AVX512VL)))
10512 : : return -1;
10513 : : return 2544; /* *avx512fp16_loadv8hf_mask */
10514 : :
10515 : : case E_V32BFmode:
10516 : : if (pattern997 (x2,
10517 : : E_V32BFmode,
10518 : : E_SImode) != 0
10519 : : || !
10520 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10521 : : (TARGET_AVX512BW))
10522 : : return -1;
10523 : : return 2545; /* *avx512bw_loadv32bf_mask */
10524 : :
10525 : : case E_V16BFmode:
10526 : : if (pattern997 (x2,
10527 : : E_V16BFmode,
10528 : : E_HImode) != 0
10529 : : || !(
10530 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10531 : : (TARGET_AVX512BW) &&
10532 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10533 : : (TARGET_AVX512VL)))
10534 : : return -1;
10535 : : return 2546; /* *avx512vl_loadv16bf_mask */
10536 : :
10537 : : case E_V8BFmode:
10538 : : if (pattern997 (x2,
10539 : : E_V8BFmode,
10540 : : E_QImode) != 0
10541 : : || !(
10542 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10543 : : (TARGET_AVX512BW) &&
10544 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10545 : : (TARGET_AVX512VL)))
10546 : : return -1;
10547 : : return 2547; /* *avx512vl_loadv8bf_mask */
10548 : :
10549 : : default:
10550 : : return -1;
10551 : : }
10552 : :
10553 : : case AND:
10554 : : if (GET_MODE (x5) != E_QImode)
10555 : : return -1;
10556 : : x6 = XEXP (x5, 1);
10557 : : if (GET_CODE (x6) != CONST_INT)
10558 : : return -1;
10559 : : switch (pattern1104 (x2))
10560 : : {
10561 : : case 0:
10562 : : if (!(
10563 : : #line 1631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10564 : : (TARGET_AVX512F) &&
10565 : : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10566 : : (TARGET_AVX512VL)))
10567 : : return -1;
10568 : : return 2530; /* *avx512vl_loadv4sfmask_and15 */
10569 : :
10570 : : case 1:
10571 : : if (!(
10572 : : #line 1631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10573 : : (TARGET_AVX512F) &&
10574 : : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10575 : : (TARGET_AVX512VL)))
10576 : : return -1;
10577 : : return 2531; /* *avx512vl_loadv4dfmask_and15 */
10578 : :
10579 : : case 2:
10580 : : if (!(
10581 : : #line 1631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10582 : : (TARGET_AVX512F) &&
10583 : : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10584 : : (TARGET_AVX512VL)))
10585 : : return -1;
10586 : : return 2532; /* *avx512vl_loadv4simask_and15 */
10587 : :
10588 : : case 3:
10589 : : if (!(
10590 : : #line 1631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10591 : : (TARGET_AVX512F) &&
10592 : : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10593 : : (TARGET_AVX512VL)))
10594 : : return -1;
10595 : : return 2533; /* *avx512vl_loadv4dimask_and15 */
10596 : :
10597 : : case 4:
10598 : : if (!(
10599 : : #line 1650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10600 : : (TARGET_AVX512F) &&
10601 : : #line 523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10602 : : (TARGET_AVX512VL)))
10603 : : return -1;
10604 : : return 2534; /* *avx512vl_loadv2dfmask_and3 */
10605 : :
10606 : : case 5:
10607 : : if (!(
10608 : : #line 1650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10609 : : (TARGET_AVX512F) &&
10610 : : #line 523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10611 : : (TARGET_AVX512VL)))
10612 : : return -1;
10613 : : return 2535; /* *avx512vl_loadv2dimask_and3 */
10614 : :
10615 : : default:
10616 : : return -1;
10617 : : }
10618 : :
10619 : : default:
10620 : : return -1;
10621 : : }
10622 : : }
10623 : :
10624 : : int
10625 : : recog_132 (rtx x1 ATTRIBUTE_UNUSED,
10626 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10627 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10628 : : {
10629 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10630 : : rtx x2, x3, x4, x5, x6, x7;
10631 : : int res ATTRIBUTE_UNUSED;
10632 : : x2 = XEXP (x1, 1);
10633 : : x3 = XEXP (x2, 0);
10634 : : x4 = XVECEXP (x3, 0, 0);
10635 : : operands[1] = x4;
10636 : : x5 = XVECEXP (x3, 0, 1);
10637 : : operands[2] = x5;
10638 : : x6 = XEXP (x2, 1);
10639 : : operands[3] = x6;
10640 : : x7 = XEXP (x2, 2);
10641 : : operands[4] = x7;
10642 : : switch (GET_MODE (operands[0]))
10643 : : {
10644 : : case E_V8SImode:
10645 : : if (pattern1110 (x2,
10646 : : E_QImode,
10647 : : E_V8SImode) != 0
10648 : : || !(
10649 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10650 : : (TARGET_AVX512F) &&
10651 : : #line 27714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10652 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
10653 : : return -1;
10654 : : return 9160; /* avx2_permvarv8si_mask */
10655 : :
10656 : : case E_V8SFmode:
10657 : : if (pattern1111 (x2,
10658 : : E_QImode,
10659 : : E_V8SFmode,
10660 : : E_V8SImode) != 0
10661 : : || !(
10662 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10663 : : (TARGET_AVX512F) &&
10664 : : #line 27714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10665 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
10666 : : return -1;
10667 : : return 9162; /* avx2_permvarv8sf_mask */
10668 : :
10669 : : case E_V16SImode:
10670 : : if (pattern1110 (x2,
10671 : : E_HImode,
10672 : : E_V16SImode) != 0
10673 : : || !(
10674 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10675 : : (TARGET_AVX512F) && (
10676 : : #line 27714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10677 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10678 : : #line 977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10679 : : (TARGET_AVX512F))))
10680 : : return -1;
10681 : : return 9164; /* avx512f_permvarv16si_mask */
10682 : :
10683 : : case E_V16SFmode:
10684 : : if (pattern1111 (x2,
10685 : : E_HImode,
10686 : : E_V16SFmode,
10687 : : E_V16SImode) != 0
10688 : : || !(
10689 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10690 : : (TARGET_AVX512F) && (
10691 : : #line 27714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10692 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10693 : : #line 977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10694 : : (TARGET_AVX512F))))
10695 : : return -1;
10696 : : return 9166; /* avx512f_permvarv16sf_mask */
10697 : :
10698 : : case E_V8DImode:
10699 : : if (pattern1110 (x2,
10700 : : E_QImode,
10701 : : E_V8DImode) != 0
10702 : : || !(
10703 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10704 : : (TARGET_AVX512F) && (
10705 : : #line 27714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10706 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10707 : : #line 978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10708 : : (TARGET_AVX512F))))
10709 : : return -1;
10710 : : return 9168; /* avx512f_permvarv8di_mask */
10711 : :
10712 : : case E_V8DFmode:
10713 : : if (pattern1111 (x2,
10714 : : E_QImode,
10715 : : E_V8DFmode,
10716 : : E_V8DImode) != 0
10717 : : || !(
10718 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10719 : : (TARGET_AVX512F) && (
10720 : : #line 27714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10721 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10722 : : #line 978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10723 : : (TARGET_AVX512F))))
10724 : : return -1;
10725 : : return 9170; /* avx512f_permvarv8df_mask */
10726 : :
10727 : : case E_V4DImode:
10728 : : if (pattern1110 (x2,
10729 : : E_QImode,
10730 : : E_V4DImode) != 0
10731 : : || !(
10732 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10733 : : (TARGET_AVX512F) && (
10734 : : #line 27714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10735 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
10736 : : #line 979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10737 : : (TARGET_AVX512VL))))
10738 : : return -1;
10739 : : return 9172; /* avx2_permvarv4di_mask */
10740 : :
10741 : : case E_V4DFmode:
10742 : : if (pattern1111 (x2,
10743 : : E_QImode,
10744 : : E_V4DFmode,
10745 : : E_V4DImode) != 0
10746 : : || !(
10747 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10748 : : (TARGET_AVX512F) && (
10749 : : #line 27714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10750 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
10751 : : #line 979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10752 : : (TARGET_AVX512VL))))
10753 : : return -1;
10754 : : return 9174; /* avx2_permvarv4df_mask */
10755 : :
10756 : : case E_V64QImode:
10757 : : if (pattern1110 (x2,
10758 : : E_DImode,
10759 : : E_V64QImode) != 0
10760 : : || !(
10761 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10762 : : (TARGET_AVX512F) &&
10763 : : #line 27733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10764 : : (TARGET_AVX512VBMI && (64 == 64 || TARGET_AVX512VL))))
10765 : : return -1;
10766 : : return 9176; /* avx512bw_permvarv64qi_mask */
10767 : :
10768 : : case E_V16QImode:
10769 : : if (pattern1110 (x2,
10770 : : E_HImode,
10771 : : E_V16QImode) != 0
10772 : : || !(
10773 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10774 : : (TARGET_AVX512F) && (
10775 : : #line 27733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10776 : : (TARGET_AVX512VBMI && (16 == 64 || TARGET_AVX512VL)) &&
10777 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10778 : : (TARGET_AVX512VL))))
10779 : : return -1;
10780 : : return 9178; /* avx512vl_permvarv16qi_mask */
10781 : :
10782 : : case E_V32QImode:
10783 : : if (pattern1110 (x2,
10784 : : E_SImode,
10785 : : E_V32QImode) != 0
10786 : : || !(
10787 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10788 : : (TARGET_AVX512F) && (
10789 : : #line 27733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10790 : : (TARGET_AVX512VBMI && (32 == 64 || TARGET_AVX512VL)) &&
10791 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10792 : : (TARGET_AVX512VL))))
10793 : : return -1;
10794 : : return 9180; /* avx512vl_permvarv32qi_mask */
10795 : :
10796 : : case E_V8HImode:
10797 : : if (pattern1110 (x2,
10798 : : E_QImode,
10799 : : E_V8HImode) != 0
10800 : : || !(
10801 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10802 : : (TARGET_AVX512F) && (
10803 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10804 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10805 : : #line 677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10806 : : (TARGET_AVX512VL))))
10807 : : return -1;
10808 : : return 9182; /* avx512vl_permvarv8hi_mask */
10809 : :
10810 : : case E_V16HImode:
10811 : : if (pattern1110 (x2,
10812 : : E_HImode,
10813 : : E_V16HImode) != 0
10814 : : || !(
10815 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10816 : : (TARGET_AVX512F) && (
10817 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10818 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10819 : : #line 677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10820 : : (TARGET_AVX512VL))))
10821 : : return -1;
10822 : : return 9184; /* avx512vl_permvarv16hi_mask */
10823 : :
10824 : : case E_V32HImode:
10825 : : if (pattern1110 (x2,
10826 : : E_SImode,
10827 : : E_V32HImode) != 0
10828 : : || !(
10829 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10830 : : (TARGET_AVX512F) &&
10831 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10832 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
10833 : : return -1;
10834 : : return 9186; /* avx512bw_permvarv32hi_mask */
10835 : :
10836 : : case E_V8HFmode:
10837 : : if (pattern1111 (x2,
10838 : : E_QImode,
10839 : : E_V8HFmode,
10840 : : E_V8HImode) != 0
10841 : : || !(
10842 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10843 : : (TARGET_AVX512F) && (
10844 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10845 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10846 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10847 : : (TARGET_AVX512VL))))
10848 : : return -1;
10849 : : return 9188; /* avx512fp16_permvarv8hf_mask */
10850 : :
10851 : : case E_V16HFmode:
10852 : : if (pattern1111 (x2,
10853 : : E_HImode,
10854 : : E_V16HFmode,
10855 : : E_V16HImode) != 0
10856 : : || !(
10857 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10858 : : (TARGET_AVX512F) && (
10859 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10860 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10861 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10862 : : (TARGET_AVX512VL))))
10863 : : return -1;
10864 : : return 9190; /* avx512vl_permvarv16hf_mask */
10865 : :
10866 : : case E_V32HFmode:
10867 : : if (pattern1111 (x2,
10868 : : E_SImode,
10869 : : E_V32HFmode,
10870 : : E_V32HImode) != 0
10871 : : || !(
10872 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10873 : : (TARGET_AVX512F) &&
10874 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10875 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
10876 : : return -1;
10877 : : return 9192; /* avx512bw_permvarv32hf_mask */
10878 : :
10879 : : case E_V8BFmode:
10880 : : if (pattern1111 (x2,
10881 : : E_QImode,
10882 : : E_V8BFmode,
10883 : : E_V8HImode) != 0
10884 : : || !(
10885 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10886 : : (TARGET_AVX512F) && (
10887 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10888 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10889 : : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10890 : : (TARGET_AVX512VL))))
10891 : : return -1;
10892 : : return 9194; /* avx512vl_permvarv8bf_mask */
10893 : :
10894 : : case E_V16BFmode:
10895 : : if (pattern1111 (x2,
10896 : : E_HImode,
10897 : : E_V16BFmode,
10898 : : E_V16HImode) != 0
10899 : : || !(
10900 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10901 : : (TARGET_AVX512F) && (
10902 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10903 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10904 : : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10905 : : (TARGET_AVX512VL))))
10906 : : return -1;
10907 : : return 9196; /* avx512vl_permvarv16bf_mask */
10908 : :
10909 : : case E_V32BFmode:
10910 : : if (pattern1111 (x2,
10911 : : E_SImode,
10912 : : E_V32BFmode,
10913 : : E_V32HImode) != 0
10914 : : || !(
10915 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10916 : : (TARGET_AVX512F) &&
10917 : : #line 27745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10918 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
10919 : : return -1;
10920 : : return 9198; /* avx512bw_permvarv32bf_mask */
10921 : :
10922 : : default:
10923 : : return -1;
10924 : : }
10925 : : }
10926 : :
10927 : : int
10928 : : recog_143 (rtx x1 ATTRIBUTE_UNUSED,
10929 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10930 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10931 : : {
10932 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10933 : : rtx x2, x3, x4, x5, x6, x7, x8;
10934 : : int res ATTRIBUTE_UNUSED;
10935 : : x2 = XEXP (x1, 1);
10936 : : x3 = XEXP (x2, 0);
10937 : : x4 = XVECEXP (x3, 0, 0);
10938 : : operands[1] = x4;
10939 : : x5 = XVECEXP (x3, 0, 1);
10940 : : operands[2] = x5;
10941 : : x6 = XVECEXP (x3, 0, 2);
10942 : : operands[3] = x6;
10943 : : x7 = XEXP (x2, 1);
10944 : : switch (GET_CODE (x7))
10945 : : {
10946 : : case REG:
10947 : : case SUBREG:
10948 : : if (!rtx_equal_p (x7, operands[1]))
10949 : : return -1;
10950 : : x8 = XEXP (x2, 2);
10951 : : operands[4] = x8;
10952 : : switch (GET_MODE (operands[0]))
10953 : : {
10954 : : case E_V16SFmode:
10955 : : if (pattern481 (x2,
10956 : : E_V16SFmode,
10957 : : E_HImode) != 0
10958 : : || !
10959 : : #line 32474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10960 : : (TARGET_AVX10_2))
10961 : : return -1;
10962 : : return 10644; /* vdpphps_v16sf_mask */
10963 : :
10964 : : case E_V8SFmode:
10965 : : if (pattern481 (x2,
10966 : : E_V8SFmode,
10967 : : E_QImode) != 0
10968 : : || !(
10969 : : #line 32474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10970 : : (TARGET_AVX10_2) &&
10971 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10972 : : (TARGET_AVX512VL)))
10973 : : return -1;
10974 : : return 10645; /* vdpphps_v8sf_mask */
10975 : :
10976 : : case E_V4SFmode:
10977 : : if (pattern481 (x2,
10978 : : E_V4SFmode,
10979 : : E_QImode) != 0
10980 : : || !(
10981 : : #line 32474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10982 : : (TARGET_AVX10_2) &&
10983 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10984 : : (TARGET_AVX512VL)))
10985 : : return -1;
10986 : : return 10646; /* vdpphps_v4sf_mask */
10987 : :
10988 : : default:
10989 : : return -1;
10990 : : }
10991 : :
10992 : : case CONST_INT:
10993 : : case CONST_DOUBLE:
10994 : : case CONST_VECTOR:
10995 : : operands[4] = x7;
10996 : : x8 = XEXP (x2, 2);
10997 : : operands[5] = x8;
10998 : : switch (GET_MODE (operands[0]))
10999 : : {
11000 : : case E_V16SFmode:
11001 : : if (pattern483 (x2,
11002 : : E_V16SFmode,
11003 : : E_HImode) != 0
11004 : : || !
11005 : : #line 32501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11006 : : (TARGET_AVX10_2))
11007 : : return -1;
11008 : : return 10647; /* vdpphps_v16sf_maskz_1 */
11009 : :
11010 : : case E_V8SFmode:
11011 : : if (pattern483 (x2,
11012 : : E_V8SFmode,
11013 : : E_QImode) != 0
11014 : : || !(
11015 : : #line 32501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11016 : : (TARGET_AVX10_2) &&
11017 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11018 : : (TARGET_AVX512VL)))
11019 : : return -1;
11020 : : return 10648; /* vdpphps_v8sf_maskz_1 */
11021 : :
11022 : : case E_V4SFmode:
11023 : : if (pattern483 (x2,
11024 : : E_V4SFmode,
11025 : : E_QImode) != 0
11026 : : || !(
11027 : : #line 32501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11028 : : (TARGET_AVX10_2) &&
11029 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11030 : : (TARGET_AVX512VL)))
11031 : : return -1;
11032 : : return 10649; /* vdpphps_v4sf_maskz_1 */
11033 : :
11034 : : default:
11035 : : return -1;
11036 : : }
11037 : :
11038 : : default:
11039 : : return -1;
11040 : : }
11041 : : }
11042 : :
11043 : : int
11044 : : recog_150 (rtx x1 ATTRIBUTE_UNUSED,
11045 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11046 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11047 : : {
11048 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11049 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
11050 : : rtx x10, x11, x12, x13;
11051 : : int res ATTRIBUTE_UNUSED;
11052 : : x2 = XEXP (x1, 1);
11053 : : x3 = XEXP (x2, 2);
11054 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11055 : : return -1;
11056 : : x4 = XEXP (x2, 0);
11057 : : x5 = XEXP (x4, 2);
11058 : : if (!register_operand (x5, E_QImode))
11059 : : return -1;
11060 : : x6 = XEXP (x4, 0);
11061 : : x7 = XEXP (x6, 0);
11062 : : switch (GET_CODE (x7))
11063 : : {
11064 : : case REG:
11065 : : case SUBREG:
11066 : : case MEM:
11067 : : operands[1] = x7;
11068 : : x8 = XEXP (x6, 1);
11069 : : operands[2] = x8;
11070 : : x9 = XEXP (x6, 2);
11071 : : switch (GET_CODE (x9))
11072 : : {
11073 : : case REG:
11074 : : case SUBREG:
11075 : : case MEM:
11076 : : operands[3] = x9;
11077 : : switch (pattern1217 (x2))
11078 : : {
11079 : : case 0:
11080 : : if (pattern1464 (x2,
11081 : : E_V8HFmode) != 0)
11082 : : return -1;
11083 : : x10 = XEXP (x4, 1);
11084 : : if (rtx_equal_p (x10, operands[1]))
11085 : : {
11086 : : x11 = XEXP (x2, 1);
11087 : : if (rtx_equal_p (x11, operands[1])
11088 : : && (
11089 : : #line 6966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11090 : : (TARGET_AVX512F) &&
11091 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11092 : : (TARGET_AVX512FP16)))
11093 : : return 4274; /* avx512f_vmfmadd_v8hf_mask */
11094 : : }
11095 : : if (!rtx_equal_p (x10, operands[3]))
11096 : : return -1;
11097 : : x11 = XEXP (x2, 1);
11098 : : if (!rtx_equal_p (x11, operands[3])
11099 : : || !(
11100 : : #line 6986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11101 : : (TARGET_AVX512F) &&
11102 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11103 : : (TARGET_AVX512FP16)))
11104 : : return -1;
11105 : : return 4280; /* avx512f_vmfmadd_v8hf_mask3 */
11106 : :
11107 : : case 1:
11108 : : if (pattern1464 (x2,
11109 : : E_V4SFmode) != 0)
11110 : : return -1;
11111 : : x10 = XEXP (x4, 1);
11112 : : if (rtx_equal_p (x10, operands[1]))
11113 : : {
11114 : : x11 = XEXP (x2, 1);
11115 : : if (rtx_equal_p (x11, operands[1])
11116 : : &&
11117 : : #line 6966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11118 : : (TARGET_AVX512F))
11119 : : return 4276; /* avx512f_vmfmadd_v4sf_mask */
11120 : : }
11121 : : if (!rtx_equal_p (x10, operands[3]))
11122 : : return -1;
11123 : : x11 = XEXP (x2, 1);
11124 : : if (!rtx_equal_p (x11, operands[3])
11125 : : || !
11126 : : #line 6986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11127 : : (TARGET_AVX512F))
11128 : : return -1;
11129 : : return 4282; /* avx512f_vmfmadd_v4sf_mask3 */
11130 : :
11131 : : case 2:
11132 : : if (pattern1464 (x2,
11133 : : E_V2DFmode) != 0)
11134 : : return -1;
11135 : : x10 = XEXP (x4, 1);
11136 : : if (rtx_equal_p (x10, operands[1]))
11137 : : {
11138 : : x11 = XEXP (x2, 1);
11139 : : if (rtx_equal_p (x11, operands[1])
11140 : : && (
11141 : : #line 6966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11142 : : (TARGET_AVX512F) &&
11143 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11144 : : (TARGET_SSE2)))
11145 : : return 4278; /* avx512f_vmfmadd_v2df_mask */
11146 : : }
11147 : : if (!rtx_equal_p (x10, operands[3]))
11148 : : return -1;
11149 : : x11 = XEXP (x2, 1);
11150 : : if (!rtx_equal_p (x11, operands[3])
11151 : : || !(
11152 : : #line 6986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11153 : : (TARGET_AVX512F) &&
11154 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11155 : : (TARGET_SSE2)))
11156 : : return -1;
11157 : : return 4284; /* avx512f_vmfmadd_v2df_mask3 */
11158 : :
11159 : : case 3:
11160 : : if (pattern1545 (x2,
11161 : : E_V8HFmode) != 0
11162 : : || !(
11163 : : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11164 : : (TARGET_AVX512F) &&
11165 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11166 : : (TARGET_AVX512FP16)))
11167 : : return -1;
11168 : : return 4286; /* avx512f_vmfmadd_v8hf_maskz_1 */
11169 : :
11170 : : case 4:
11171 : : if (pattern1545 (x2,
11172 : : E_V4SFmode) != 0
11173 : : || !
11174 : : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11175 : : (TARGET_AVX512F))
11176 : : return -1;
11177 : : return 4288; /* avx512f_vmfmadd_v4sf_maskz_1 */
11178 : :
11179 : : case 5:
11180 : : if (pattern1545 (x2,
11181 : : E_V2DFmode) != 0
11182 : : || !(
11183 : : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11184 : : (TARGET_AVX512F) &&
11185 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11186 : : (TARGET_SSE2)))
11187 : : return -1;
11188 : : return 4290; /* avx512f_vmfmadd_v2df_maskz_1 */
11189 : :
11190 : : default:
11191 : : return -1;
11192 : : }
11193 : :
11194 : : case NEG:
11195 : : x12 = XEXP (x9, 0);
11196 : : operands[3] = x12;
11197 : : switch (pattern1217 (x2))
11198 : : {
11199 : : case 0:
11200 : : if (pattern1465 (x2,
11201 : : E_V8HFmode) != 0)
11202 : : return -1;
11203 : : x10 = XEXP (x4, 1);
11204 : : if (rtx_equal_p (x10, operands[1]))
11205 : : {
11206 : : x11 = XEXP (x2, 1);
11207 : : if (rtx_equal_p (x11, operands[1])
11208 : : && (
11209 : : #line 7039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11210 : : (TARGET_AVX512F) &&
11211 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11212 : : (TARGET_AVX512FP16)))
11213 : : return 4292; /* *avx512f_vmfmsub_v8hf_mask */
11214 : : }
11215 : : if (!rtx_equal_p (x10, operands[3]))
11216 : : return -1;
11217 : : x11 = XEXP (x2, 1);
11218 : : if (!rtx_equal_p (x11, operands[3])
11219 : : || !(
11220 : : #line 7060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11221 : : (TARGET_AVX512F) &&
11222 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11223 : : (TARGET_AVX512FP16)))
11224 : : return -1;
11225 : : return 4298; /* avx512f_vmfmsub_v8hf_mask3 */
11226 : :
11227 : : case 1:
11228 : : if (pattern1465 (x2,
11229 : : E_V4SFmode) != 0)
11230 : : return -1;
11231 : : x10 = XEXP (x4, 1);
11232 : : if (rtx_equal_p (x10, operands[1]))
11233 : : {
11234 : : x11 = XEXP (x2, 1);
11235 : : if (rtx_equal_p (x11, operands[1])
11236 : : &&
11237 : : #line 7039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11238 : : (TARGET_AVX512F))
11239 : : return 4294; /* *avx512f_vmfmsub_v4sf_mask */
11240 : : }
11241 : : if (!rtx_equal_p (x10, operands[3]))
11242 : : return -1;
11243 : : x11 = XEXP (x2, 1);
11244 : : if (!rtx_equal_p (x11, operands[3])
11245 : : || !
11246 : : #line 7060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11247 : : (TARGET_AVX512F))
11248 : : return -1;
11249 : : return 4300; /* avx512f_vmfmsub_v4sf_mask3 */
11250 : :
11251 : : case 2:
11252 : : if (pattern1465 (x2,
11253 : : E_V2DFmode) != 0)
11254 : : return -1;
11255 : : x10 = XEXP (x4, 1);
11256 : : if (rtx_equal_p (x10, operands[1]))
11257 : : {
11258 : : x11 = XEXP (x2, 1);
11259 : : if (rtx_equal_p (x11, operands[1])
11260 : : && (
11261 : : #line 7039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11262 : : (TARGET_AVX512F) &&
11263 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11264 : : (TARGET_SSE2)))
11265 : : return 4296; /* *avx512f_vmfmsub_v2df_mask */
11266 : : }
11267 : : if (!rtx_equal_p (x10, operands[3]))
11268 : : return -1;
11269 : : x11 = XEXP (x2, 1);
11270 : : if (!rtx_equal_p (x11, operands[3])
11271 : : || !(
11272 : : #line 7060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11273 : : (TARGET_AVX512F) &&
11274 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11275 : : (TARGET_SSE2)))
11276 : : return -1;
11277 : : return 4302; /* avx512f_vmfmsub_v2df_mask3 */
11278 : :
11279 : : case 3:
11280 : : if (pattern1546 (x2,
11281 : : E_V8HFmode) != 0
11282 : : || !(
11283 : : #line 7079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11284 : : (TARGET_AVX512F) &&
11285 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11286 : : (TARGET_AVX512FP16)))
11287 : : return -1;
11288 : : return 4304; /* *avx512f_vmfmsub_v8hf_maskz_1 */
11289 : :
11290 : : case 4:
11291 : : if (pattern1546 (x2,
11292 : : E_V4SFmode) != 0
11293 : : || !
11294 : : #line 7079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11295 : : (TARGET_AVX512F))
11296 : : return -1;
11297 : : return 4306; /* *avx512f_vmfmsub_v4sf_maskz_1 */
11298 : :
11299 : : case 5:
11300 : : if (pattern1546 (x2,
11301 : : E_V2DFmode) != 0
11302 : : || !(
11303 : : #line 7079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11304 : : (TARGET_AVX512F) &&
11305 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11306 : : (TARGET_SSE2)))
11307 : : return -1;
11308 : : return 4308; /* *avx512f_vmfmsub_v2df_maskz_1 */
11309 : :
11310 : : default:
11311 : : return -1;
11312 : : }
11313 : :
11314 : : default:
11315 : : return -1;
11316 : : }
11317 : :
11318 : : case NEG:
11319 : : x9 = XEXP (x6, 2);
11320 : : switch (GET_CODE (x9))
11321 : : {
11322 : : case REG:
11323 : : case SUBREG:
11324 : : case MEM:
11325 : : operands[3] = x9;
11326 : : switch (pattern1002 (x2))
11327 : : {
11328 : : case 0:
11329 : : x8 = XEXP (x6, 1);
11330 : : operands[2] = x8;
11331 : : x13 = XEXP (x7, 0);
11332 : : operands[1] = x13;
11333 : : if (nonimmediate_operand (operands[3], E_V8HFmode))
11334 : : {
11335 : : x10 = XEXP (x4, 1);
11336 : : if (rtx_equal_p (x10, operands[1]))
11337 : : {
11338 : : x11 = XEXP (x2, 1);
11339 : : if (rtx_equal_p (x11, operands[1])
11340 : : && (
11341 : : #line 7100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11342 : : (TARGET_AVX512F) &&
11343 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11344 : : (TARGET_AVX512FP16)))
11345 : : return 4310; /* avx512f_vmfnmadd_v8hf_mask */
11346 : : }
11347 : : }
11348 : : operands[1] = x8;
11349 : : operands[2] = x13;
11350 : : if (!nonimmediate_operand (operands[3], E_V8HFmode))
11351 : : return -1;
11352 : : x10 = XEXP (x4, 1);
11353 : : if (!rtx_equal_p (x10, operands[3]))
11354 : : return -1;
11355 : : x11 = XEXP (x2, 1);
11356 : : if (!rtx_equal_p (x11, operands[3])
11357 : : || !(
11358 : : #line 7121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11359 : : (TARGET_AVX512F) &&
11360 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11361 : : (TARGET_AVX512FP16)))
11362 : : return -1;
11363 : : return 4316; /* avx512f_vmfnmadd_v8hf_mask3 */
11364 : :
11365 : : case 1:
11366 : : x8 = XEXP (x6, 1);
11367 : : operands[2] = x8;
11368 : : x13 = XEXP (x7, 0);
11369 : : operands[1] = x13;
11370 : : if (nonimmediate_operand (operands[3], E_V4SFmode))
11371 : : {
11372 : : x10 = XEXP (x4, 1);
11373 : : if (rtx_equal_p (x10, operands[1]))
11374 : : {
11375 : : x11 = XEXP (x2, 1);
11376 : : if (rtx_equal_p (x11, operands[1])
11377 : : &&
11378 : : #line 7100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11379 : : (TARGET_AVX512F))
11380 : : return 4312; /* avx512f_vmfnmadd_v4sf_mask */
11381 : : }
11382 : : }
11383 : : operands[1] = x8;
11384 : : operands[2] = x13;
11385 : : if (!nonimmediate_operand (operands[3], E_V4SFmode))
11386 : : return -1;
11387 : : x10 = XEXP (x4, 1);
11388 : : if (!rtx_equal_p (x10, operands[3]))
11389 : : return -1;
11390 : : x11 = XEXP (x2, 1);
11391 : : if (!rtx_equal_p (x11, operands[3])
11392 : : || !
11393 : : #line 7121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11394 : : (TARGET_AVX512F))
11395 : : return -1;
11396 : : return 4318; /* avx512f_vmfnmadd_v4sf_mask3 */
11397 : :
11398 : : case 2:
11399 : : x8 = XEXP (x6, 1);
11400 : : operands[2] = x8;
11401 : : x13 = XEXP (x7, 0);
11402 : : operands[1] = x13;
11403 : : if (nonimmediate_operand (operands[3], E_V2DFmode))
11404 : : {
11405 : : x10 = XEXP (x4, 1);
11406 : : if (rtx_equal_p (x10, operands[1]))
11407 : : {
11408 : : x11 = XEXP (x2, 1);
11409 : : if (rtx_equal_p (x11, operands[1])
11410 : : && (
11411 : : #line 7100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11412 : : (TARGET_AVX512F) &&
11413 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11414 : : (TARGET_SSE2)))
11415 : : return 4314; /* avx512f_vmfnmadd_v2df_mask */
11416 : : }
11417 : : }
11418 : : operands[1] = x8;
11419 : : operands[2] = x13;
11420 : : if (!nonimmediate_operand (operands[3], E_V2DFmode))
11421 : : return -1;
11422 : : x10 = XEXP (x4, 1);
11423 : : if (!rtx_equal_p (x10, operands[3]))
11424 : : return -1;
11425 : : x11 = XEXP (x2, 1);
11426 : : if (!rtx_equal_p (x11, operands[3])
11427 : : || !(
11428 : : #line 7121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11429 : : (TARGET_AVX512F) &&
11430 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11431 : : (TARGET_SSE2)))
11432 : : return -1;
11433 : : return 4320; /* avx512f_vmfnmadd_v2df_mask3 */
11434 : :
11435 : : case 3:
11436 : : if (pattern1547 (x2,
11437 : : E_V8HFmode) != 0
11438 : : || !(
11439 : : #line 7154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11440 : : (TARGET_AVX512F) &&
11441 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11442 : : (TARGET_AVX512FP16)))
11443 : : return -1;
11444 : : return 4322; /* avx512f_vmfnmadd_v8hf_maskz_1 */
11445 : :
11446 : : case 4:
11447 : : if (pattern1547 (x2,
11448 : : E_V4SFmode) != 0
11449 : : || !
11450 : : #line 7154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11451 : : (TARGET_AVX512F))
11452 : : return -1;
11453 : : return 4324; /* avx512f_vmfnmadd_v4sf_maskz_1 */
11454 : :
11455 : : case 5:
11456 : : if (pattern1547 (x2,
11457 : : E_V2DFmode) != 0
11458 : : || !(
11459 : : #line 7154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11460 : : (TARGET_AVX512F) &&
11461 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11462 : : (TARGET_SSE2)))
11463 : : return -1;
11464 : : return 4326; /* avx512f_vmfnmadd_v2df_maskz_1 */
11465 : :
11466 : : default:
11467 : : return -1;
11468 : : }
11469 : :
11470 : : case NEG:
11471 : : x12 = XEXP (x9, 0);
11472 : : operands[3] = x12;
11473 : : switch (pattern1002 (x2))
11474 : : {
11475 : : case 0:
11476 : : x8 = XEXP (x6, 1);
11477 : : operands[2] = x8;
11478 : : if (pattern1707 (x2,
11479 : : E_V8HFmode) == 0
11480 : : && (
11481 : : #line 7176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11482 : : (TARGET_AVX512F) &&
11483 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11484 : : (TARGET_AVX512FP16)))
11485 : : return 4328; /* *avx512f_vmfnmsub_v8hf_mask */
11486 : : operands[1] = x8;
11487 : : if (pattern1708 (x2,
11488 : : E_V8HFmode) != 0
11489 : : || !(
11490 : : #line 7198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11491 : : (TARGET_AVX512F) &&
11492 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11493 : : (TARGET_AVX512FP16)))
11494 : : return -1;
11495 : : return 4334; /* *avx512f_vmfnmsub_v8hf_mask3 */
11496 : :
11497 : : case 1:
11498 : : x8 = XEXP (x6, 1);
11499 : : operands[2] = x8;
11500 : : if (pattern1707 (x2,
11501 : : E_V4SFmode) == 0
11502 : : &&
11503 : : #line 7176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11504 : : (TARGET_AVX512F))
11505 : : return 4330; /* *avx512f_vmfnmsub_v4sf_mask */
11506 : : operands[1] = x8;
11507 : : if (pattern1708 (x2,
11508 : : E_V4SFmode) != 0
11509 : : || !
11510 : : #line 7198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11511 : : (TARGET_AVX512F))
11512 : : return -1;
11513 : : return 4336; /* *avx512f_vmfnmsub_v4sf_mask3 */
11514 : :
11515 : : case 2:
11516 : : x8 = XEXP (x6, 1);
11517 : : operands[2] = x8;
11518 : : if (pattern1707 (x2,
11519 : : E_V2DFmode) == 0
11520 : : && (
11521 : : #line 7176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11522 : : (TARGET_AVX512F) &&
11523 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11524 : : (TARGET_SSE2)))
11525 : : return 4332; /* *avx512f_vmfnmsub_v2df_mask */
11526 : : operands[1] = x8;
11527 : : if (pattern1708 (x2,
11528 : : E_V2DFmode) != 0
11529 : : || !(
11530 : : #line 7198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11531 : : (TARGET_AVX512F) &&
11532 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11533 : : (TARGET_SSE2)))
11534 : : return -1;
11535 : : return 4338; /* *avx512f_vmfnmsub_v2df_mask3 */
11536 : :
11537 : : case 3:
11538 : : if (pattern1548 (x2,
11539 : : E_V8HFmode) != 0
11540 : : || !(
11541 : : #line 7218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11542 : : (TARGET_AVX512F) &&
11543 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11544 : : (TARGET_AVX512FP16)))
11545 : : return -1;
11546 : : return 4340; /* *avx512f_vmfnmsub_v8hf_maskz_1 */
11547 : :
11548 : : case 4:
11549 : : if (pattern1548 (x2,
11550 : : E_V4SFmode) != 0
11551 : : || !
11552 : : #line 7218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11553 : : (TARGET_AVX512F))
11554 : : return -1;
11555 : : return 4342; /* *avx512f_vmfnmsub_v4sf_maskz_1 */
11556 : :
11557 : : case 5:
11558 : : if (pattern1548 (x2,
11559 : : E_V2DFmode) != 0
11560 : : || !(
11561 : : #line 7218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11562 : : (TARGET_AVX512F) &&
11563 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11564 : : (TARGET_SSE2)))
11565 : : return -1;
11566 : : return 4344; /* *avx512f_vmfnmsub_v2df_maskz_1 */
11567 : :
11568 : : default:
11569 : : return -1;
11570 : : }
11571 : :
11572 : : default:
11573 : : return -1;
11574 : : }
11575 : :
11576 : : default:
11577 : : return -1;
11578 : : }
11579 : : }
11580 : :
11581 : : int
11582 : : recog_162 (rtx x1 ATTRIBUTE_UNUSED,
11583 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11584 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11585 : : {
11586 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11587 : : rtx x2, x3;
11588 : : int res ATTRIBUTE_UNUSED;
11589 : : x2 = XEXP (x1, 1);
11590 : : switch (pattern642 (x2))
11591 : : {
11592 : : case 0:
11593 : : if (pattern1383 (x2,
11594 : : E_V32HFmode,
11595 : : E_SImode) != 0
11596 : : || !(
11597 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11598 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11599 : : #line 6224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11600 : : (TARGET_AVX512FP16)))
11601 : : return -1;
11602 : : return 3932; /* fma_fmsub_v32hf_maskz_1 */
11603 : :
11604 : : case 1:
11605 : : if (pattern1383 (x2,
11606 : : E_V16HFmode,
11607 : : E_HImode) != 0
11608 : : || !(
11609 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11610 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11611 : : #line 6225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11612 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11613 : : return -1;
11614 : : return 3936; /* fma_fmsub_v16hf_maskz_1 */
11615 : :
11616 : : case 2:
11617 : : if (pattern1383 (x2,
11618 : : E_V8HFmode,
11619 : : E_QImode) != 0
11620 : : || !(
11621 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11622 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11623 : : #line 6226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11624 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11625 : : return -1;
11626 : : return 3938; /* fma_fmsub_v8hf_maskz_1 */
11627 : :
11628 : : case 3:
11629 : : if (pattern1383 (x2,
11630 : : E_V16SFmode,
11631 : : E_HImode) != 0
11632 : : || !
11633 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11634 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11635 : : return -1;
11636 : : return 3942; /* fma_fmsub_v16sf_maskz_1 */
11637 : :
11638 : : case 4:
11639 : : if (pattern1383 (x2,
11640 : : E_V8SFmode,
11641 : : E_QImode) != 0
11642 : : || !(
11643 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11644 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11645 : : #line 6228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11646 : : (TARGET_AVX512VL)))
11647 : : return -1;
11648 : : return 3946; /* fma_fmsub_v8sf_maskz_1 */
11649 : :
11650 : : case 5:
11651 : : if (pattern1383 (x2,
11652 : : E_V4SFmode,
11653 : : E_QImode) != 0
11654 : : || !(
11655 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11656 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11657 : : #line 6228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11658 : : (TARGET_AVX512VL)))
11659 : : return -1;
11660 : : return 3948; /* fma_fmsub_v4sf_maskz_1 */
11661 : :
11662 : : case 6:
11663 : : if (pattern1383 (x2,
11664 : : E_V8DFmode,
11665 : : E_QImode) != 0
11666 : : || !
11667 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11668 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11669 : : return -1;
11670 : : return 3951; /* fma_fmsub_v8df_maskz_1 */
11671 : :
11672 : : case 7:
11673 : : if (pattern1383 (x2,
11674 : : E_V4DFmode,
11675 : : E_QImode) != 0
11676 : : || !(
11677 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11678 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11679 : : #line 6229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11680 : : (TARGET_AVX512VL)))
11681 : : return -1;
11682 : : return 3955; /* fma_fmsub_v4df_maskz_1 */
11683 : :
11684 : : case 8:
11685 : : if (pattern1383 (x2,
11686 : : E_V2DFmode,
11687 : : E_QImode) != 0
11688 : : || !(
11689 : : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11690 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11691 : : #line 6229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11692 : : (TARGET_AVX512VL)))
11693 : : return -1;
11694 : : return 3957; /* fma_fmsub_v2df_maskz_1 */
11695 : :
11696 : : case 9:
11697 : : if (pattern1385 (x2,
11698 : : E_SImode,
11699 : : E_V32BFmode) != 0
11700 : : || !
11701 : : #line 32690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11702 : : (TARGET_AVX10_2))
11703 : : return -1;
11704 : : return 10717; /* avx10_2_fmsubbf16_v32bf_maskz_1 */
11705 : :
11706 : : case 10:
11707 : : if (pattern1385 (x2,
11708 : : E_HImode,
11709 : : E_V16BFmode) != 0
11710 : : || !
11711 : : #line 32690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11712 : : (TARGET_AVX10_2))
11713 : : return -1;
11714 : : return 10719; /* avx10_2_fmsubbf16_v16bf_maskz_1 */
11715 : :
11716 : : case 11:
11717 : : if (pattern1385 (x2,
11718 : : E_QImode,
11719 : : E_V8BFmode) != 0
11720 : : || !
11721 : : #line 32690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11722 : : (TARGET_AVX10_2))
11723 : : return -1;
11724 : : return 10721; /* avx10_2_fmsubbf16_v8bf_maskz_1 */
11725 : :
11726 : : case 12:
11727 : : if (pattern1387 (x2,
11728 : : E_V4SFmode) != 0
11729 : : || !
11730 : : #line 7266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11731 : : (TARGET_FMA4))
11732 : : return -1;
11733 : : return 4348; /* *fma4i_vmfmsub_v4sf */
11734 : :
11735 : : case 13:
11736 : : if (pattern1387 (x2,
11737 : : E_V2DFmode) != 0
11738 : : || !(
11739 : : #line 7266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11740 : : (TARGET_FMA4) &&
11741 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11742 : : (TARGET_SSE2)))
11743 : : return -1;
11744 : : return 4349; /* *fma4i_vmfmsub_v2df */
11745 : :
11746 : : case 14:
11747 : : if (pattern1291 (x2,
11748 : : E_V32HFmode,
11749 : : E_SImode) != 0)
11750 : : return -1;
11751 : : if (nonimmediate_operand (operands[1], E_V32HFmode)
11752 : : && vector_operand (operands[3], E_V32HFmode))
11753 : : {
11754 : : x3 = XEXP (x2, 1);
11755 : : if (rtx_equal_p (x3, operands[1])
11756 : : && (
11757 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11758 : : (TARGET_AVX512F) &&
11759 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11760 : : (TARGET_AVX512FP16)))
11761 : : return 3958; /* avx512bw_fmsub_v32hf_mask */
11762 : : }
11763 : : if (!vector_operand (operands[1], E_V32HFmode)
11764 : : || !nonimmediate_operand (operands[3], E_V32HFmode))
11765 : : return -1;
11766 : : x3 = XEXP (x2, 1);
11767 : : if (!rtx_equal_p (x3, operands[3])
11768 : : || !(
11769 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11770 : : (TARGET_AVX512F && 1) &&
11771 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11772 : : (TARGET_AVX512FP16)))
11773 : : return -1;
11774 : : return 3976; /* avx512bw_fmsub_v32hf_mask3 */
11775 : :
11776 : : case 15:
11777 : : if (pattern1291 (x2,
11778 : : E_V16HFmode,
11779 : : E_HImode) != 0)
11780 : : return -1;
11781 : : if (nonimmediate_operand (operands[1], E_V16HFmode)
11782 : : && vector_operand (operands[3], E_V16HFmode))
11783 : : {
11784 : : x3 = XEXP (x2, 1);
11785 : : if (rtx_equal_p (x3, operands[1])
11786 : : && (
11787 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11788 : : (TARGET_AVX512F) &&
11789 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11790 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11791 : : return 3960; /* avx512vl_fmsub_v16hf_mask */
11792 : : }
11793 : : if (!vector_operand (operands[1], E_V16HFmode)
11794 : : || !nonimmediate_operand (operands[3], E_V16HFmode))
11795 : : return -1;
11796 : : x3 = XEXP (x2, 1);
11797 : : if (!rtx_equal_p (x3, operands[3])
11798 : : || !(
11799 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11800 : : (TARGET_AVX512F && 1) &&
11801 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11802 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11803 : : return -1;
11804 : : return 3978; /* avx512vl_fmsub_v16hf_mask3 */
11805 : :
11806 : : case 16:
11807 : : if (pattern1291 (x2,
11808 : : E_V8HFmode,
11809 : : E_QImode) != 0)
11810 : : return -1;
11811 : : if (nonimmediate_operand (operands[1], E_V8HFmode)
11812 : : && vector_operand (operands[3], E_V8HFmode))
11813 : : {
11814 : : x3 = XEXP (x2, 1);
11815 : : if (rtx_equal_p (x3, operands[1])
11816 : : && (
11817 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11818 : : (TARGET_AVX512F) &&
11819 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11820 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11821 : : return 3962; /* avx512fp16_fmsub_v8hf_mask */
11822 : : }
11823 : : if (!vector_operand (operands[1], E_V8HFmode)
11824 : : || !nonimmediate_operand (operands[3], E_V8HFmode))
11825 : : return -1;
11826 : : x3 = XEXP (x2, 1);
11827 : : if (!rtx_equal_p (x3, operands[3])
11828 : : || !(
11829 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11830 : : (TARGET_AVX512F && 1) &&
11831 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11832 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11833 : : return -1;
11834 : : return 3979; /* avx512fp16_fmsub_v8hf_mask3 */
11835 : :
11836 : : case 17:
11837 : : if (pattern1291 (x2,
11838 : : E_V16SFmode,
11839 : : E_HImode) != 0)
11840 : : return -1;
11841 : : if (nonimmediate_operand (operands[1], E_V16SFmode)
11842 : : && vector_operand (operands[3], E_V16SFmode))
11843 : : {
11844 : : x3 = XEXP (x2, 1);
11845 : : if (rtx_equal_p (x3, operands[1])
11846 : : &&
11847 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11848 : : (TARGET_AVX512F))
11849 : : return 3964; /* avx512f_fmsub_v16sf_mask */
11850 : : }
11851 : : if (!vector_operand (operands[1], E_V16SFmode)
11852 : : || !nonimmediate_operand (operands[3], E_V16SFmode))
11853 : : return -1;
11854 : : x3 = XEXP (x2, 1);
11855 : : if (!rtx_equal_p (x3, operands[3])
11856 : : || !
11857 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11858 : : (TARGET_AVX512F && 1))
11859 : : return -1;
11860 : : return 3980; /* avx512f_fmsub_v16sf_mask3 */
11861 : :
11862 : : case 18:
11863 : : if (pattern1291 (x2,
11864 : : E_V8SFmode,
11865 : : E_QImode) != 0)
11866 : : return -1;
11867 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
11868 : : && vector_operand (operands[3], E_V8SFmode))
11869 : : {
11870 : : x3 = XEXP (x2, 1);
11871 : : if (rtx_equal_p (x3, operands[1])
11872 : : && (
11873 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11874 : : (TARGET_AVX512F) &&
11875 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11876 : : (TARGET_AVX512VL)))
11877 : : return 3966; /* avx512vl_fmsub_v8sf_mask */
11878 : : }
11879 : : if (!vector_operand (operands[1], E_V8SFmode)
11880 : : || !nonimmediate_operand (operands[3], E_V8SFmode))
11881 : : return -1;
11882 : : x3 = XEXP (x2, 1);
11883 : : if (!rtx_equal_p (x3, operands[3])
11884 : : || !(
11885 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11886 : : (TARGET_AVX512F && 1) &&
11887 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11888 : : (TARGET_AVX512VL)))
11889 : : return -1;
11890 : : return 3982; /* avx512vl_fmsub_v8sf_mask3 */
11891 : :
11892 : : case 19:
11893 : : if (pattern1291 (x2,
11894 : : E_V4SFmode,
11895 : : E_QImode) != 0)
11896 : : return -1;
11897 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
11898 : : && vector_operand (operands[3], E_V4SFmode))
11899 : : {
11900 : : x3 = XEXP (x2, 1);
11901 : : if (rtx_equal_p (x3, operands[1])
11902 : : && (
11903 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11904 : : (TARGET_AVX512F) &&
11905 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11906 : : (TARGET_AVX512VL)))
11907 : : return 3968; /* avx512vl_fmsub_v4sf_mask */
11908 : : }
11909 : : if (!vector_operand (operands[1], E_V4SFmode)
11910 : : || !nonimmediate_operand (operands[3], E_V4SFmode))
11911 : : return -1;
11912 : : x3 = XEXP (x2, 1);
11913 : : if (!rtx_equal_p (x3, operands[3])
11914 : : || !(
11915 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11916 : : (TARGET_AVX512F && 1) &&
11917 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11918 : : (TARGET_AVX512VL)))
11919 : : return -1;
11920 : : return 3983; /* avx512vl_fmsub_v4sf_mask3 */
11921 : :
11922 : : case 20:
11923 : : if (pattern1291 (x2,
11924 : : E_V8DFmode,
11925 : : E_QImode) != 0)
11926 : : return -1;
11927 : : if (nonimmediate_operand (operands[1], E_V8DFmode)
11928 : : && vector_operand (operands[3], E_V8DFmode))
11929 : : {
11930 : : x3 = XEXP (x2, 1);
11931 : : if (rtx_equal_p (x3, operands[1])
11932 : : &&
11933 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11934 : : (TARGET_AVX512F))
11935 : : return 3970; /* avx512f_fmsub_v8df_mask */
11936 : : }
11937 : : if (!vector_operand (operands[1], E_V8DFmode)
11938 : : || !nonimmediate_operand (operands[3], E_V8DFmode))
11939 : : return -1;
11940 : : x3 = XEXP (x2, 1);
11941 : : if (!rtx_equal_p (x3, operands[3])
11942 : : || !
11943 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11944 : : (TARGET_AVX512F && 1))
11945 : : return -1;
11946 : : return 3984; /* avx512f_fmsub_v8df_mask3 */
11947 : :
11948 : : case 21:
11949 : : if (pattern1291 (x2,
11950 : : E_V4DFmode,
11951 : : E_QImode) != 0)
11952 : : return -1;
11953 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
11954 : : && vector_operand (operands[3], E_V4DFmode))
11955 : : {
11956 : : x3 = XEXP (x2, 1);
11957 : : if (rtx_equal_p (x3, operands[1])
11958 : : && (
11959 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11960 : : (TARGET_AVX512F) &&
11961 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11962 : : (TARGET_AVX512VL)))
11963 : : return 3972; /* avx512vl_fmsub_v4df_mask */
11964 : : }
11965 : : if (!vector_operand (operands[1], E_V4DFmode)
11966 : : || !nonimmediate_operand (operands[3], E_V4DFmode))
11967 : : return -1;
11968 : : x3 = XEXP (x2, 1);
11969 : : if (!rtx_equal_p (x3, operands[3])
11970 : : || !(
11971 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11972 : : (TARGET_AVX512F && 1) &&
11973 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11974 : : (TARGET_AVX512VL)))
11975 : : return -1;
11976 : : return 3986; /* avx512vl_fmsub_v4df_mask3 */
11977 : :
11978 : : case 22:
11979 : : if (pattern1291 (x2,
11980 : : E_V2DFmode,
11981 : : E_QImode) != 0)
11982 : : return -1;
11983 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
11984 : : && vector_operand (operands[3], E_V2DFmode))
11985 : : {
11986 : : x3 = XEXP (x2, 1);
11987 : : if (rtx_equal_p (x3, operands[1])
11988 : : && (
11989 : : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11990 : : (TARGET_AVX512F) &&
11991 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11992 : : (TARGET_AVX512VL)))
11993 : : return 3974; /* avx512vl_fmsub_v2df_mask */
11994 : : }
11995 : : if (!vector_operand (operands[1], E_V2DFmode)
11996 : : || !nonimmediate_operand (operands[3], E_V2DFmode))
11997 : : return -1;
11998 : : x3 = XEXP (x2, 1);
11999 : : if (!rtx_equal_p (x3, operands[3])
12000 : : || !(
12001 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12002 : : (TARGET_AVX512F && 1) &&
12003 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12004 : : (TARGET_AVX512VL)))
12005 : : return -1;
12006 : : return 3987; /* avx512vl_fmsub_v2df_mask3 */
12007 : :
12008 : : case 23:
12009 : : if (pattern1293 (x2,
12010 : : E_SImode,
12011 : : E_V32BFmode) != 0)
12012 : : return -1;
12013 : : x3 = XEXP (x2, 1);
12014 : : if (rtx_equal_p (x3, operands[1])
12015 : : &&
12016 : : #line 32709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12017 : : (TARGET_AVX10_2))
12018 : : return 10722; /* avx10_2_fmsubbf16_v32bf_mask */
12019 : : if (!rtx_equal_p (x3, operands[3])
12020 : : || !
12021 : : #line 32727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12022 : : (TARGET_AVX10_2))
12023 : : return -1;
12024 : : return 10725; /* avx10_2_fmsubbf16_v32bf_mask3 */
12025 : :
12026 : : case 24:
12027 : : if (pattern1293 (x2,
12028 : : E_HImode,
12029 : : E_V16BFmode) != 0)
12030 : : return -1;
12031 : : x3 = XEXP (x2, 1);
12032 : : if (rtx_equal_p (x3, operands[1])
12033 : : &&
12034 : : #line 32709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12035 : : (TARGET_AVX10_2))
12036 : : return 10723; /* avx10_2_fmsubbf16_v16bf_mask */
12037 : : if (!rtx_equal_p (x3, operands[3])
12038 : : || !
12039 : : #line 32727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12040 : : (TARGET_AVX10_2))
12041 : : return -1;
12042 : : return 10726; /* avx10_2_fmsubbf16_v16bf_mask3 */
12043 : :
12044 : : case 25:
12045 : : if (pattern1293 (x2,
12046 : : E_QImode,
12047 : : E_V8BFmode) != 0)
12048 : : return -1;
12049 : : x3 = XEXP (x2, 1);
12050 : : if (rtx_equal_p (x3, operands[1])
12051 : : &&
12052 : : #line 32709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12053 : : (TARGET_AVX10_2))
12054 : : return 10724; /* avx10_2_fmsubbf16_v8bf_mask */
12055 : : if (!rtx_equal_p (x3, operands[3])
12056 : : || !
12057 : : #line 32727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12058 : : (TARGET_AVX10_2))
12059 : : return -1;
12060 : : return 10727; /* avx10_2_fmsubbf16_v8bf_mask3 */
12061 : :
12062 : : case 26:
12063 : : if (pattern1388 (x2,
12064 : : E_V8HFmode) != 0
12065 : : || !(
12066 : : #line 6909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12067 : : (TARGET_FMA || TARGET_AVX512F) &&
12068 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12069 : : (TARGET_AVX512FP16)))
12070 : : return -1;
12071 : : return 4256; /* *fmai_fmsub_v8hf */
12072 : :
12073 : : case 27:
12074 : : if (pattern1388 (x2,
12075 : : E_V4SFmode) != 0
12076 : : || !
12077 : : #line 6909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12078 : : (TARGET_FMA || TARGET_AVX512F))
12079 : : return -1;
12080 : : return 4258; /* *fmai_fmsub_v4sf */
12081 : :
12082 : : case 28:
12083 : : if (pattern1388 (x2,
12084 : : E_V2DFmode) != 0
12085 : : || !(
12086 : : #line 6909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12087 : : (TARGET_FMA || TARGET_AVX512F) &&
12088 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12089 : : (TARGET_SSE2)))
12090 : : return -1;
12091 : : return 4260; /* *fmai_fmsub_v2df */
12092 : :
12093 : : default:
12094 : : return -1;
12095 : : }
12096 : : }
12097 : :
12098 : : int
12099 : : recog_167 (rtx x1 ATTRIBUTE_UNUSED,
12100 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12101 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12102 : : {
12103 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12104 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12105 : : rtx x10, x11, x12;
12106 : : int res ATTRIBUTE_UNUSED;
12107 : : x2 = XEXP (x1, 1);
12108 : : x3 = XEXP (x2, 0);
12109 : : x4 = XEXP (x3, 1);
12110 : : x5 = XVECEXP (x4, 0, 2);
12111 : : if (GET_CODE (x5) != CONST_INT)
12112 : : return -1;
12113 : : x6 = XVECEXP (x4, 0, 3);
12114 : : if (GET_CODE (x6) != CONST_INT)
12115 : : return -1;
12116 : : x7 = XEXP (x2, 2);
12117 : : if (!register_operand (x7, E_QImode))
12118 : : return -1;
12119 : : x8 = XVECEXP (x4, 0, 0);
12120 : : switch (XWINT (x8, 0))
12121 : : {
12122 : : case 2L:
12123 : : x9 = XVECEXP (x4, 0, 1);
12124 : : if (XWINT (x9, 0) != 6L
12125 : : || XWINT (x5, 0) != 3L
12126 : : || XWINT (x6, 0) != 7L)
12127 : : return -1;
12128 : : x10 = XEXP (x3, 0);
12129 : : x11 = XEXP (x10, 1);
12130 : : operands[2] = x11;
12131 : : x12 = XEXP (x2, 1);
12132 : : operands[3] = x12;
12133 : : operands[4] = x7;
12134 : : switch (GET_MODE (operands[0]))
12135 : : {
12136 : : case E_V4SFmode:
12137 : : if (pattern1587 (x2,
12138 : : E_V4SFmode,
12139 : : E_V8SFmode) != 0
12140 : : || !(
12141 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12142 : : (TARGET_AVX512F) &&
12143 : : #line 11494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12144 : : (TARGET_SSE && TARGET_AVX512VL)))
12145 : : return -1;
12146 : : return 5257; /* vec_interleave_highv4sf_mask */
12147 : :
12148 : : case E_V4SImode:
12149 : : if (pattern1587 (x2,
12150 : : E_V4SImode,
12151 : : E_V8SImode) != 0
12152 : : || !(
12153 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12154 : : (TARGET_AVX512F) &&
12155 : : #line 20045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12156 : : (TARGET_SSE2 && TARGET_AVX512VL)))
12157 : : return -1;
12158 : : return 8409; /* vec_interleave_highv4si_mask */
12159 : :
12160 : : default:
12161 : : return -1;
12162 : : }
12163 : :
12164 : : case 0L:
12165 : : x9 = XVECEXP (x4, 0, 1);
12166 : : switch (XWINT (x9, 0))
12167 : : {
12168 : : case 4L:
12169 : : switch (XWINT (x5, 0))
12170 : : {
12171 : : case 1L:
12172 : : if (XWINT (x6, 0) != 5L)
12173 : : return -1;
12174 : : x10 = XEXP (x3, 0);
12175 : : x11 = XEXP (x10, 1);
12176 : : operands[2] = x11;
12177 : : x12 = XEXP (x2, 1);
12178 : : operands[3] = x12;
12179 : : operands[4] = x7;
12180 : : switch (GET_MODE (operands[0]))
12181 : : {
12182 : : case E_V4SFmode:
12183 : : if (pattern1586 (x2,
12184 : : E_V4SFmode,
12185 : : E_V8SFmode) != 0
12186 : : || !
12187 : : #line 11551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12188 : : (TARGET_AVX512VL))
12189 : : return -1;
12190 : : return 5262; /* unpcklps128_mask */
12191 : :
12192 : : case E_V4SImode:
12193 : : if (pattern1587 (x2,
12194 : : E_V4SImode,
12195 : : E_V8SImode) != 0
12196 : : || !(
12197 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12198 : : (TARGET_AVX512F) &&
12199 : : #line 20099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12200 : : (TARGET_SSE2 && TARGET_AVX512VL)))
12201 : : return -1;
12202 : : return 8415; /* vec_interleave_lowv4si_mask */
12203 : :
12204 : : default:
12205 : : return -1;
12206 : : }
12207 : :
12208 : : case 2L:
12209 : : if (XWINT (x6, 0) != 6L)
12210 : : return -1;
12211 : : switch (GET_MODE (operands[0]))
12212 : : {
12213 : : case E_V4DFmode:
12214 : : if (pattern1649 (x2,
12215 : : E_V4DFmode,
12216 : : E_V8DFmode) != 0)
12217 : : return -1;
12218 : : x12 = XEXP (x2, 1);
12219 : : operands[2] = x12;
12220 : : if (nonimmediate_operand (operands[1], E_V4DFmode))
12221 : : {
12222 : : operands[3] = x7;
12223 : : x10 = XEXP (x3, 0);
12224 : : x11 = XEXP (x10, 1);
12225 : : if (rtx_equal_p (x11, operands[1])
12226 : : && (
12227 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12228 : : (TARGET_AVX512F) &&
12229 : : #line 13742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12230 : : (TARGET_AVX && TARGET_AVX512VL)))
12231 : : return 5417; /* avx_movddup256_mask */
12232 : : }
12233 : : operands[3] = x12;
12234 : : if (!register_operand (operands[1], E_V4DFmode))
12235 : : return -1;
12236 : : x10 = XEXP (x3, 0);
12237 : : x11 = XEXP (x10, 1);
12238 : : operands[2] = x11;
12239 : : if (!nonimmediate_operand (operands[2], E_V4DFmode))
12240 : : return -1;
12241 : : operands[4] = x7;
12242 : : if (!(
12243 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12244 : : (TARGET_AVX512F) &&
12245 : : #line 13756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12246 : : (TARGET_AVX && TARGET_AVX512VL)))
12247 : : return -1;
12248 : : return 5419; /* avx_unpcklpd256_mask */
12249 : :
12250 : : case E_V4DImode:
12251 : : if (pattern1650 (x2,
12252 : : E_V4DImode,
12253 : : E_V8DImode) != 0
12254 : : || !(
12255 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12256 : : (TARGET_AVX512F) &&
12257 : : #line 14788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12258 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12259 : : return -1;
12260 : : return 7232; /* avx2_interleave_lowv4di_mask */
12261 : :
12262 : : default:
12263 : : return -1;
12264 : : }
12265 : :
12266 : : default:
12267 : : return -1;
12268 : : }
12269 : :
12270 : : case 0L:
12271 : : if (XWINT (x5, 0) != 6L
12272 : : || XWINT (x6, 0) != 6L
12273 : : || pattern1585 (x2) != 0
12274 : : || !(
12275 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12276 : : (TARGET_AVX512F) &&
12277 : : #line 11689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12278 : : (TARGET_SSE3 && TARGET_AVX512VL)))
12279 : : return -1;
12280 : : return 5273; /* sse3_movsldup_mask */
12281 : :
12282 : : default:
12283 : : return -1;
12284 : : }
12285 : :
12286 : : case 1L:
12287 : : if (XWINT (x6, 0) != 7L)
12288 : : return -1;
12289 : : x9 = XVECEXP (x4, 0, 1);
12290 : : switch (XWINT (x9, 0))
12291 : : {
12292 : : case 1L:
12293 : : if (XWINT (x5, 0) != 7L
12294 : : || pattern1585 (x2) != 0
12295 : : || !(
12296 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12297 : : (TARGET_AVX512F) &&
12298 : : #line 11636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12299 : : (TARGET_SSE3 && TARGET_AVX512VL)))
12300 : : return -1;
12301 : : return 5267; /* sse3_movshdup_mask */
12302 : :
12303 : : case 5L:
12304 : : if (XWINT (x5, 0) != 3L)
12305 : : return -1;
12306 : : x10 = XEXP (x3, 0);
12307 : : x11 = XEXP (x10, 1);
12308 : : operands[2] = x11;
12309 : : x12 = XEXP (x2, 1);
12310 : : operands[3] = x12;
12311 : : operands[4] = x7;
12312 : : switch (GET_MODE (operands[0]))
12313 : : {
12314 : : case E_V4DFmode:
12315 : : if (pattern1586 (x2,
12316 : : E_V4DFmode,
12317 : : E_V8DFmode) != 0
12318 : : || !(
12319 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12320 : : (TARGET_AVX512F) &&
12321 : : #line 13612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12322 : : (TARGET_AVX && TARGET_AVX512VL)))
12323 : : return -1;
12324 : : return 5409; /* avx_unpckhpd256_mask */
12325 : :
12326 : : case E_V4DImode:
12327 : : if (pattern1586 (x2,
12328 : : E_V4DImode,
12329 : : E_V8DImode) != 0
12330 : : || !(
12331 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12332 : : (TARGET_AVX512F) &&
12333 : : #line 14738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12334 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12335 : : return -1;
12336 : : return 7226; /* avx2_interleave_highv4di_mask */
12337 : :
12338 : : default:
12339 : : return -1;
12340 : : }
12341 : :
12342 : : default:
12343 : : return -1;
12344 : : }
12345 : :
12346 : : default:
12347 : : return -1;
12348 : : }
12349 : : }
12350 : :
12351 : : int
12352 : : recog_174 (rtx x1 ATTRIBUTE_UNUSED,
12353 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12354 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12355 : : {
12356 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12357 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12358 : : rtx x10, x11, x12, x13, x14;
12359 : : int res ATTRIBUTE_UNUSED;
12360 : : x2 = XEXP (x1, 1);
12361 : : x3 = XEXP (x2, 0);
12362 : : x4 = XEXP (x3, 1);
12363 : : if (pattern923 (x4) != 0)
12364 : : return -1;
12365 : : x5 = XEXP (x2, 1);
12366 : : operands[2] = x5;
12367 : : x6 = XEXP (x2, 2);
12368 : : operands[3] = x6;
12369 : : if (!register_operand (operands[3], E_QImode))
12370 : : return -1;
12371 : : x7 = XVECEXP (x4, 0, 0);
12372 : : switch (XWINT (x7, 0))
12373 : : {
12374 : : case 8L:
12375 : : x8 = XVECEXP (x4, 0, 1);
12376 : : if (XWINT (x8, 0) != 9L)
12377 : : return -1;
12378 : : x9 = XVECEXP (x4, 0, 2);
12379 : : if (XWINT (x9, 0) != 10L)
12380 : : return -1;
12381 : : x10 = XVECEXP (x4, 0, 3);
12382 : : if (XWINT (x10, 0) != 11L)
12383 : : return -1;
12384 : : x11 = XVECEXP (x4, 0, 4);
12385 : : if (XWINT (x11, 0) != 12L)
12386 : : return -1;
12387 : : x12 = XVECEXP (x4, 0, 5);
12388 : : if (XWINT (x12, 0) != 13L)
12389 : : return -1;
12390 : : x13 = XVECEXP (x4, 0, 6);
12391 : : if (XWINT (x13, 0) != 14L)
12392 : : return -1;
12393 : : x14 = XVECEXP (x4, 0, 7);
12394 : : if (XWINT (x14, 0) != 15L)
12395 : : return -1;
12396 : : switch (pattern1843 (x2))
12397 : : {
12398 : : case 0:
12399 : : if (!
12400 : : #line 12964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12401 : : (TARGET_AVX512DQ
12402 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12403 : : return -1;
12404 : : return 5358; /* vec_extract_hi_v16sf_mask */
12405 : :
12406 : : case 1:
12407 : : if (!
12408 : : #line 12964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12409 : : (TARGET_AVX512DQ
12410 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12411 : : return -1;
12412 : : return 5359; /* vec_extract_hi_v16si_mask */
12413 : :
12414 : : default:
12415 : : return -1;
12416 : : }
12417 : :
12418 : : case 0L:
12419 : : x8 = XVECEXP (x4, 0, 1);
12420 : : if (XWINT (x8, 0) != 1L
12421 : : || pattern1560 (x4) != 0)
12422 : : return -1;
12423 : : switch (pattern1843 (x2))
12424 : : {
12425 : : case 0:
12426 : : if (!
12427 : : #line 13068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12428 : : (TARGET_AVX512DQ
12429 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12430 : : return -1;
12431 : : return 5362; /* vec_extract_lo_v16sf_mask */
12432 : :
12433 : : case 1:
12434 : : if (!
12435 : : #line 13068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12436 : : (TARGET_AVX512DQ
12437 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12438 : : return -1;
12439 : : return 5363; /* vec_extract_lo_v16si_mask */
12440 : :
12441 : : default:
12442 : : return -1;
12443 : : }
12444 : :
12445 : : default:
12446 : : return -1;
12447 : : }
12448 : : }
12449 : :
12450 : : int
12451 : : recog_177 (rtx x1 ATTRIBUTE_UNUSED,
12452 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12453 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12454 : : {
12455 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12456 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12457 : : rtx x10;
12458 : : int res ATTRIBUTE_UNUSED;
12459 : : x2 = XEXP (x1, 1);
12460 : : x3 = XEXP (x2, 0);
12461 : : x4 = XEXP (x3, 1);
12462 : : x5 = XVECEXP (x4, 0, 0);
12463 : : if (GET_CODE (x5) != CONST_INT)
12464 : : return -1;
12465 : : x6 = XVECEXP (x4, 0, 1);
12466 : : if (GET_CODE (x6) == CONST_INT)
12467 : : {
12468 : : res = recog_174 (x1, insn, pnum_clobbers);
12469 : : if (res >= 0)
12470 : : return res;
12471 : : }
12472 : : operands[2] = x5;
12473 : : res = recog_176 (x1, insn, pnum_clobbers);
12474 : : if (res >= 0)
12475 : : return res;
12476 : : if (XWINT (x5, 0) != 0L
12477 : : || x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12478 : : return -1;
12479 : : x7 = XVECEXP (x4, 0, 2);
12480 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
12481 : : return -1;
12482 : : x8 = XVECEXP (x4, 0, 3);
12483 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
12484 : : || pattern1299 (x2,
12485 : : E_V8HImode) != 0
12486 : : || pattern1551 (x4) != 0)
12487 : : return -1;
12488 : : x9 = XEXP (x2, 1);
12489 : : operands[6] = x9;
12490 : : if (!nonimm_or_0_operand (operands[6], E_V8HImode))
12491 : : return -1;
12492 : : x10 = XEXP (x2, 2);
12493 : : operands[7] = x10;
12494 : : if (!register_operand (operands[7], E_QImode)
12495 : : || !(
12496 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12497 : : (TARGET_AVX512F) &&
12498 : : #line 21291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12499 : : (TARGET_SSE2 && TARGET_AVX512BW && TARGET_AVX512VL)))
12500 : : return -1;
12501 : : return 8491; /* sse2_pshufhw_1_mask */
12502 : : }
12503 : :
12504 : : int
12505 : : recog_181 (rtx x1 ATTRIBUTE_UNUSED,
12506 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12507 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12508 : : {
12509 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12510 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12511 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12512 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
12513 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
12514 : : rtx x34, x35, x36, x37, x38, x39, x40, x41;
12515 : : rtx x42, x43, x44, x45;
12516 : : int res ATTRIBUTE_UNUSED;
12517 : : x2 = XEXP (x1, 1);
12518 : : x3 = XEXP (x2, 0);
12519 : : x4 = XEXP (x3, 0);
12520 : : x5 = XEXP (x4, 0);
12521 : : x6 = XEXP (x5, 1);
12522 : : if (GET_CODE (x6) != CONST_VECTOR
12523 : : || XVECLEN (x6, 0) != 32
12524 : : || GET_MODE (x6) != E_V32HImode)
12525 : : return -1;
12526 : : x7 = XVECEXP (x6, 0, 0);
12527 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12528 : : return -1;
12529 : : x8 = XVECEXP (x6, 0, 1);
12530 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12531 : : return -1;
12532 : : x9 = XVECEXP (x6, 0, 2);
12533 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12534 : : return -1;
12535 : : x10 = XVECEXP (x6, 0, 3);
12536 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12537 : : return -1;
12538 : : x11 = XVECEXP (x6, 0, 4);
12539 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12540 : : return -1;
12541 : : x12 = XVECEXP (x6, 0, 5);
12542 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12543 : : return -1;
12544 : : x13 = XVECEXP (x6, 0, 6);
12545 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12546 : : return -1;
12547 : : x14 = XVECEXP (x6, 0, 7);
12548 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12549 : : return -1;
12550 : : x15 = XVECEXP (x6, 0, 8);
12551 : : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12552 : : return -1;
12553 : : x16 = XVECEXP (x6, 0, 9);
12554 : : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12555 : : return -1;
12556 : : x17 = XVECEXP (x6, 0, 10);
12557 : : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12558 : : return -1;
12559 : : x18 = XVECEXP (x6, 0, 11);
12560 : : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12561 : : return -1;
12562 : : x19 = XVECEXP (x6, 0, 12);
12563 : : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12564 : : return -1;
12565 : : x20 = XVECEXP (x6, 0, 13);
12566 : : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12567 : : return -1;
12568 : : x21 = XVECEXP (x6, 0, 14);
12569 : : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12570 : : return -1;
12571 : : x22 = XVECEXP (x6, 0, 15);
12572 : : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12573 : : return -1;
12574 : : x23 = XVECEXP (x6, 0, 16);
12575 : : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12576 : : return -1;
12577 : : x24 = XVECEXP (x6, 0, 17);
12578 : : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12579 : : return -1;
12580 : : x25 = XVECEXP (x6, 0, 18);
12581 : : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12582 : : return -1;
12583 : : x26 = XVECEXP (x6, 0, 19);
12584 : : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12585 : : return -1;
12586 : : x27 = XVECEXP (x6, 0, 20);
12587 : : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12588 : : return -1;
12589 : : x28 = XVECEXP (x6, 0, 21);
12590 : : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12591 : : return -1;
12592 : : x29 = XVECEXP (x6, 0, 22);
12593 : : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12594 : : return -1;
12595 : : x30 = XVECEXP (x6, 0, 23);
12596 : : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12597 : : return -1;
12598 : : x31 = XVECEXP (x6, 0, 24);
12599 : : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12600 : : return -1;
12601 : : x32 = XVECEXP (x6, 0, 25);
12602 : : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12603 : : return -1;
12604 : : x33 = XVECEXP (x6, 0, 26);
12605 : : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12606 : : return -1;
12607 : : x34 = XVECEXP (x6, 0, 27);
12608 : : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12609 : : return -1;
12610 : : x35 = XVECEXP (x6, 0, 28);
12611 : : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12612 : : return -1;
12613 : : x36 = XVECEXP (x6, 0, 29);
12614 : : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12615 : : return -1;
12616 : : x37 = XVECEXP (x6, 0, 30);
12617 : : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12618 : : return -1;
12619 : : x38 = XVECEXP (x6, 0, 31);
12620 : : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
12621 : : || !register_operand (operands[0], E_V32HImode)
12622 : : || GET_MODE (x2) != E_V32HImode
12623 : : || GET_MODE (x3) != E_V32HImode
12624 : : || GET_MODE (x4) != E_V32SImode
12625 : : || GET_MODE (x5) != E_V32SImode)
12626 : : return -1;
12627 : : x39 = XEXP (x5, 0);
12628 : : if (GET_MODE (x39) != E_V32SImode)
12629 : : return -1;
12630 : : x40 = XEXP (x39, 0);
12631 : : if (GET_MODE (x40) != E_V32SImode)
12632 : : return -1;
12633 : : x41 = XEXP (x40, 0);
12634 : : if (GET_MODE (x41) != E_V32SImode)
12635 : : return -1;
12636 : : x42 = XEXP (x40, 1);
12637 : : if (GET_MODE (x42) != E_V32SImode)
12638 : : return -1;
12639 : : x43 = XEXP (x42, 0);
12640 : : operands[2] = x43;
12641 : : if (!nonimmediate_operand (operands[2], E_V32HImode))
12642 : : return -1;
12643 : : x44 = XEXP (x2, 1);
12644 : : operands[3] = x44;
12645 : : if (!nonimm_or_0_operand (operands[3], E_V32HImode))
12646 : : return -1;
12647 : : x45 = XEXP (x2, 2);
12648 : : operands[4] = x45;
12649 : : if (!register_operand (operands[4], E_SImode)
12650 : : || !(
12651 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12652 : : (TARGET_AVX512F) &&
12653 : : #line 23130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12654 : : (TARGET_AVX512BW)))
12655 : : return -1;
12656 : : return 8650; /* avx512bw_umulhrswv32hi3_mask */
12657 : : }
12658 : :
12659 : : int
12660 : : recog_190 (rtx x1 ATTRIBUTE_UNUSED,
12661 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12662 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12663 : : {
12664 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12665 : : rtx x2, x3, x4, x5, x6, x7;
12666 : : int res ATTRIBUTE_UNUSED;
12667 : : x2 = XEXP (x1, 1);
12668 : : x3 = XEXP (x2, 0);
12669 : : x4 = XEXP (x3, 0);
12670 : : switch (GET_CODE (x4))
12671 : : {
12672 : : case REG:
12673 : : case SUBREG:
12674 : : case MEM:
12675 : : case VEC_DUPLICATE:
12676 : : operands[1] = x4;
12677 : : x5 = XEXP (x3, 1);
12678 : : operands[2] = x5;
12679 : : x6 = XEXP (x2, 2);
12680 : : switch (GET_CODE (x6))
12681 : : {
12682 : : case REG:
12683 : : case SUBREG:
12684 : : operands[4] = x6;
12685 : : x7 = XEXP (x2, 1);
12686 : : operands[3] = x7;
12687 : : switch (GET_MODE (operands[0]))
12688 : : {
12689 : : case E_V32HFmode:
12690 : : if (pattern488 (x2,
12691 : : E_V32HFmode,
12692 : : E_SImode) != 0
12693 : : || !(
12694 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12695 : : (TARGET_AVX512F) && (
12696 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12697 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
12698 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12699 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12700 : : (TARGET_AVX512FP16))))
12701 : : return -1;
12702 : : return 2850; /* *mulv32hf3_mask */
12703 : :
12704 : : case E_V16HFmode:
12705 : : if (pattern488 (x2,
12706 : : E_V16HFmode,
12707 : : E_HImode) != 0
12708 : : || !(
12709 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12710 : : (TARGET_AVX512F) && (
12711 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12712 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
12713 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12714 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12715 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
12716 : : return -1;
12717 : : return 2854; /* *mulv16hf3_mask */
12718 : :
12719 : : case E_V8HFmode:
12720 : : if (pattern488 (x2,
12721 : : E_V8HFmode,
12722 : : E_QImode) != 0
12723 : : || !(
12724 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12725 : : (TARGET_AVX512F) && (
12726 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12727 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
12728 : : && (16 == 64 || TARGET_AVX512VL) && 1) &&
12729 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12730 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
12731 : : return -1;
12732 : : return 2858; /* *mulv8hf3_mask */
12733 : :
12734 : : case E_V16SFmode:
12735 : : if (pattern488 (x2,
12736 : : E_V16SFmode,
12737 : : E_HImode) != 0
12738 : : || !(
12739 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12740 : : (TARGET_AVX512F) && (
12741 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12742 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
12743 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12744 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12745 : : (TARGET_AVX512F))))
12746 : : return -1;
12747 : : return 2862; /* *mulv16sf3_mask */
12748 : :
12749 : : case E_V8SFmode:
12750 : : if (pattern488 (x2,
12751 : : E_V8SFmode,
12752 : : E_QImode) != 0
12753 : : || !(
12754 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12755 : : (TARGET_AVX512F) && (
12756 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12757 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
12758 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12759 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12760 : : (TARGET_AVX))))
12761 : : return -1;
12762 : : return 2866; /* *mulv8sf3_mask */
12763 : :
12764 : : case E_V4SFmode:
12765 : : if (pattern488 (x2,
12766 : : E_V4SFmode,
12767 : : E_QImode) != 0
12768 : : || !(
12769 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12770 : : (TARGET_AVX512F) &&
12771 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12772 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
12773 : : && (16 == 64 || TARGET_AVX512VL) && 1)))
12774 : : return -1;
12775 : : return 2870; /* *mulv4sf3_mask */
12776 : :
12777 : : case E_V8DFmode:
12778 : : if (pattern488 (x2,
12779 : : E_V8DFmode,
12780 : : E_QImode) != 0
12781 : : || !(
12782 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12783 : : (TARGET_AVX512F) && (
12784 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12785 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
12786 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12787 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12788 : : (TARGET_AVX512F))))
12789 : : return -1;
12790 : : return 2874; /* *mulv8df3_mask */
12791 : :
12792 : : case E_V4DFmode:
12793 : : if (pattern488 (x2,
12794 : : E_V4DFmode,
12795 : : E_QImode) != 0
12796 : : || !(
12797 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12798 : : (TARGET_AVX512F) && (
12799 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12800 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
12801 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12802 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12803 : : (TARGET_AVX))))
12804 : : return -1;
12805 : : return 2878; /* *mulv4df3_mask */
12806 : :
12807 : : case E_V2DFmode:
12808 : : if (pattern488 (x2,
12809 : : E_V2DFmode,
12810 : : E_QImode) != 0
12811 : : || !(
12812 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12813 : : (TARGET_AVX512F) && (
12814 : : #line 2768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12815 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
12816 : : && (16 == 64 || TARGET_AVX512VL) && 1) &&
12817 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12818 : : (TARGET_SSE2))))
12819 : : return -1;
12820 : : return 2882; /* *mulv2df3_mask */
12821 : :
12822 : : case E_V32HImode:
12823 : : if (pattern133 (x2,
12824 : : E_V32HImode,
12825 : : E_SImode) != 0
12826 : : || !(
12827 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12828 : : (TARGET_AVX512F) && (
12829 : : #line 16658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12830 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12831 : : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
12832 : : #line 641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12833 : : (TARGET_AVX512BW))))
12834 : : return -1;
12835 : : return 7588; /* *mulv32hi3_mask */
12836 : :
12837 : : case E_V16HImode:
12838 : : if (pattern133 (x2,
12839 : : E_V16HImode,
12840 : : E_HImode) != 0
12841 : : || !(
12842 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12843 : : (TARGET_AVX512F) && (
12844 : : #line 16658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12845 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12846 : : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
12847 : : #line 641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12848 : : (TARGET_AVX2))))
12849 : : return -1;
12850 : : return 7590; /* *mulv16hi3_mask */
12851 : :
12852 : : case E_V8HImode:
12853 : : if (pattern133 (x2,
12854 : : E_V8HImode,
12855 : : E_QImode) != 0
12856 : : || !(
12857 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12858 : : (TARGET_AVX512F) &&
12859 : : #line 16658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12860 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12861 : : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
12862 : : return -1;
12863 : : return 7592; /* *mulv8hi3_mask */
12864 : :
12865 : : case E_V8DImode:
12866 : : if (pattern488 (x2,
12867 : : E_V8DImode,
12868 : : E_QImode) != 0
12869 : : || !(
12870 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12871 : : (TARGET_AVX512F) &&
12872 : : #line 17112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12873 : : (TARGET_AVX512DQ && (64 == 64 || TARGET_AVX512VL)
12874 : : && ix86_binary_operator_ok (MULT, V8DImode, operands))))
12875 : : return -1;
12876 : : return 7626; /* *avx512dq_mulv8di3_mask */
12877 : :
12878 : : case E_V4DImode:
12879 : : if (pattern488 (x2,
12880 : : E_V4DImode,
12881 : : E_QImode) != 0
12882 : : || !(
12883 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12884 : : (TARGET_AVX512F) && (
12885 : : #line 17112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12886 : : (TARGET_AVX512DQ && (32 == 64 || TARGET_AVX512VL)
12887 : : && ix86_binary_operator_ok (MULT, V4DImode, operands)) &&
12888 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12889 : : (TARGET_AVX512VL))))
12890 : : return -1;
12891 : : return 7628; /* *avx512dq_mulv4di3_mask */
12892 : :
12893 : : case E_V2DImode:
12894 : : if (pattern488 (x2,
12895 : : E_V2DImode,
12896 : : E_QImode) != 0
12897 : : || !(
12898 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12899 : : (TARGET_AVX512F) && (
12900 : : #line 17112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12901 : : (TARGET_AVX512DQ && (16 == 64 || TARGET_AVX512VL)
12902 : : && ix86_binary_operator_ok (MULT, V2DImode, operands)) &&
12903 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12904 : : (TARGET_AVX512VL))))
12905 : : return -1;
12906 : : return 7630; /* *avx512dq_mulv2di3_mask */
12907 : :
12908 : : case E_V16SImode:
12909 : : if (pattern488 (x2,
12910 : : E_V16SImode,
12911 : : E_HImode) != 0
12912 : : || !(
12913 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12914 : : (TARGET_AVX512F) && (
12915 : : #line 17171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12916 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V16SImode, operands)
12917 : : && (64 == 64 || TARGET_AVX512VL)) &&
12918 : : #line 660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12919 : : (TARGET_AVX512F))))
12920 : : return -1;
12921 : : return 7632; /* *avx512f_mulv16si3_mask */
12922 : :
12923 : : case E_V8SImode:
12924 : : if (pattern488 (x2,
12925 : : E_V8SImode,
12926 : : E_QImode) != 0
12927 : : || !(
12928 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12929 : : (TARGET_AVX512F) && (
12930 : : #line 17171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12931 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V8SImode, operands)
12932 : : && (32 == 64 || TARGET_AVX512VL)) &&
12933 : : #line 660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12934 : : (TARGET_AVX2))))
12935 : : return -1;
12936 : : return 7634; /* *avx2_mulv8si3_mask */
12937 : :
12938 : : case E_V4SImode:
12939 : : if (pattern488 (x2,
12940 : : E_V4SImode,
12941 : : E_QImode) != 0
12942 : : || !(
12943 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12944 : : (TARGET_AVX512F) &&
12945 : : #line 17171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12946 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands)
12947 : : && (16 == 64 || TARGET_AVX512VL))))
12948 : : return -1;
12949 : : return 7636; /* *sse4_1_mulv4si3_mask */
12950 : :
12951 : : case E_V32BFmode:
12952 : : if (pattern136 (x2,
12953 : : E_V32BFmode,
12954 : : E_SImode) != 0
12955 : : || !(
12956 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12957 : : (TARGET_AVX512F) &&
12958 : : #line 32537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12959 : : (TARGET_AVX10_2)))
12960 : : return -1;
12961 : : return 10673; /* avx10_2_mulbf16_v32bf_mask */
12962 : :
12963 : : case E_V16BFmode:
12964 : : if (pattern136 (x2,
12965 : : E_V16BFmode,
12966 : : E_HImode) != 0
12967 : : || !(
12968 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12969 : : (TARGET_AVX512F) &&
12970 : : #line 32537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12971 : : (TARGET_AVX10_2)))
12972 : : return -1;
12973 : : return 10681; /* avx10_2_mulbf16_v16bf_mask */
12974 : :
12975 : : case E_V8BFmode:
12976 : : if (pattern136 (x2,
12977 : : E_V8BFmode,
12978 : : E_QImode) != 0
12979 : : || !(
12980 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12981 : : (TARGET_AVX512F) &&
12982 : : #line 32537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12983 : : (TARGET_AVX10_2)))
12984 : : return -1;
12985 : : return 10689; /* avx10_2_mulbf16_v8bf_mask */
12986 : :
12987 : : default:
12988 : : return -1;
12989 : : }
12990 : :
12991 : : case CONST_INT:
12992 : : switch (pattern138 (x2))
12993 : : {
12994 : : case 0:
12995 : : if (!(
12996 : : #line 2819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12997 : : (TARGET_SSE) &&
12998 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12999 : : (TARGET_AVX512FP16)))
13000 : : return -1;
13001 : : return 2890; /* avx512fp16_vmmulv8hf3 */
13002 : :
13003 : : case 1:
13004 : : if (!
13005 : : #line 2819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13006 : : (TARGET_SSE))
13007 : : return -1;
13008 : : return 2898; /* sse_vmmulv4sf3 */
13009 : :
13010 : : case 2:
13011 : : if (!(
13012 : : #line 2819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13013 : : (TARGET_SSE) &&
13014 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13015 : : (TARGET_SSE2)))
13016 : : return -1;
13017 : : return 2906; /* sse2_vmmulv2df3 */
13018 : :
13019 : : default:
13020 : : return -1;
13021 : : }
13022 : :
13023 : : default:
13024 : : return -1;
13025 : : }
13026 : :
13027 : : case ZERO_EXTEND:
13028 : : switch (pattern316 (x2,
13029 : : ZERO_EXTEND))
13030 : : {
13031 : : case 0:
13032 : : if (!(
13033 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13034 : : (TARGET_AVX512F) &&
13035 : : #line 16741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13036 : : (TARGET_AVX512F
13037 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13038 : : return -1;
13039 : : return 7606; /* *vec_widen_umult_even_v16si_mask */
13040 : :
13041 : : case 1:
13042 : : if (!(
13043 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13044 : : (TARGET_AVX512F) &&
13045 : : #line 16777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13046 : : (TARGET_AVX2 && TARGET_AVX512VL
13047 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13048 : : return -1;
13049 : : return 7608; /* *vec_widen_umult_even_v8si_mask */
13050 : :
13051 : : case 2:
13052 : : if (!(
13053 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13054 : : (TARGET_AVX512F) &&
13055 : : #line 16809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13056 : : (TARGET_SSE2 && TARGET_AVX512VL
13057 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13058 : : return -1;
13059 : : return 7610; /* *vec_widen_umult_even_v4si_mask */
13060 : :
13061 : : default:
13062 : : return -1;
13063 : : }
13064 : :
13065 : : case SIGN_EXTEND:
13066 : : switch (pattern316 (x2,
13067 : : SIGN_EXTEND))
13068 : : {
13069 : : case 0:
13070 : : if (!(
13071 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13072 : : (TARGET_AVX512F) &&
13073 : : #line 16857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13074 : : (TARGET_AVX512F
13075 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13076 : : return -1;
13077 : : return 7612; /* *vec_widen_smult_even_v16si_mask */
13078 : :
13079 : : case 1:
13080 : : if (!(
13081 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13082 : : (TARGET_AVX512F) &&
13083 : : #line 16893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13084 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13085 : : return -1;
13086 : : return 7614; /* *vec_widen_smult_even_v8si_mask */
13087 : :
13088 : : case 2:
13089 : : if (!(
13090 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13091 : : (TARGET_AVX512F) &&
13092 : : #line 16925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13093 : : (TARGET_SSE4_1 && TARGET_AVX512VL
13094 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13095 : : return -1;
13096 : : return 7616; /* *sse4_1_mulv2siv2di3_mask */
13097 : :
13098 : : default:
13099 : : return -1;
13100 : : }
13101 : :
13102 : : default:
13103 : : return -1;
13104 : : }
13105 : : }
13106 : :
13107 : : int
13108 : : recog_195 (rtx x1 ATTRIBUTE_UNUSED,
13109 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13110 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13111 : : {
13112 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13113 : : rtx x2, x3, x4, x5, x6, x7, x8;
13114 : : int res ATTRIBUTE_UNUSED;
13115 : : x2 = XEXP (x1, 1);
13116 : : x3 = XEXP (x2, 0);
13117 : : x4 = XEXP (x3, 1);
13118 : : operands[2] = x4;
13119 : : x5 = XEXP (x2, 1);
13120 : : operands[3] = x5;
13121 : : x6 = XEXP (x2, 2);
13122 : : operands[4] = x6;
13123 : : x7 = XEXP (x3, 0);
13124 : : switch (GET_CODE (x7))
13125 : : {
13126 : : case NOT:
13127 : : x8 = XEXP (x7, 0);
13128 : : operands[1] = x8;
13129 : : switch (GET_MODE (operands[0]))
13130 : : {
13131 : : case E_V8SFmode:
13132 : : if (pattern1012 (x2,
13133 : : E_V8SFmode) != 0
13134 : : || !(
13135 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13136 : : (TARGET_AVX512F) && (
13137 : : #line 5538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13138 : : (TARGET_SSE && TARGET_AVX512VL
13139 : : && (!true || 32 != 16)) &&
13140 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13141 : : (TARGET_AVX))))
13142 : : return -1;
13143 : : return 3762; /* avx_andnotv8sf3_mask */
13144 : :
13145 : : case E_V4SFmode:
13146 : : if (pattern1012 (x2,
13147 : : E_V4SFmode) != 0
13148 : : || !(
13149 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13150 : : (TARGET_AVX512F) &&
13151 : : #line 5538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13152 : : (TARGET_SSE && TARGET_AVX512VL
13153 : : && (!true || 32 != 16))))
13154 : : return -1;
13155 : : return 3764; /* sse_andnotv4sf3_mask */
13156 : :
13157 : : case E_V4DFmode:
13158 : : if (pattern1012 (x2,
13159 : : E_V4DFmode) != 0
13160 : : || !(
13161 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13162 : : (TARGET_AVX512F) && (
13163 : : #line 5538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13164 : : (TARGET_SSE && TARGET_AVX512VL
13165 : : && (!true || 64 != 16)) &&
13166 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13167 : : (TARGET_AVX))))
13168 : : return -1;
13169 : : return 3766; /* avx_andnotv4df3_mask */
13170 : :
13171 : : case E_V2DFmode:
13172 : : if (pattern1012 (x2,
13173 : : E_V2DFmode) != 0
13174 : : || !(
13175 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13176 : : (TARGET_AVX512F) && (
13177 : : #line 5538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13178 : : (TARGET_SSE && TARGET_AVX512VL
13179 : : && (!true || 64 != 16)) &&
13180 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13181 : : (TARGET_SSE2))))
13182 : : return -1;
13183 : : return 3768; /* sse2_andnotv2df3_mask */
13184 : :
13185 : : case E_V16SFmode:
13186 : : if (pattern1013 (x2,
13187 : : E_V16SFmode,
13188 : : E_HImode) != 0
13189 : : || !(
13190 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13191 : : (TARGET_AVX512F) &&
13192 : : #line 5613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13193 : : (TARGET_AVX512F && (!true || 32 != 16))))
13194 : : return -1;
13195 : : return 3772; /* avx512f_andnotv16sf3_mask */
13196 : :
13197 : : case E_V8DFmode:
13198 : : if (pattern1013 (x2,
13199 : : E_V8DFmode,
13200 : : E_QImode) != 0
13201 : : || !(
13202 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13203 : : (TARGET_AVX512F) &&
13204 : : #line 5613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13205 : : (TARGET_AVX512F && (!true || 64 != 16))))
13206 : : return -1;
13207 : : return 3774; /* avx512f_andnotv8df3_mask */
13208 : :
13209 : : case E_V16SImode:
13210 : : if (pattern1013 (x2,
13211 : : E_V16SImode,
13212 : : E_HImode) != 0
13213 : : || !
13214 : : #line 18966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13215 : : (TARGET_AVX512F))
13216 : : return -1;
13217 : : return 8035; /* *andnotv16si3_mask */
13218 : :
13219 : : case E_V8SImode:
13220 : : if (pattern1013 (x2,
13221 : : E_V8SImode,
13222 : : E_QImode) != 0
13223 : : || !(
13224 : : #line 18966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13225 : : (TARGET_AVX512F) &&
13226 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13227 : : (TARGET_AVX512VL)))
13228 : : return -1;
13229 : : return 8036; /* *andnotv8si3_mask */
13230 : :
13231 : : case E_V4SImode:
13232 : : if (pattern1013 (x2,
13233 : : E_V4SImode,
13234 : : E_QImode) != 0
13235 : : || !(
13236 : : #line 18966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13237 : : (TARGET_AVX512F) &&
13238 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13239 : : (TARGET_AVX512VL)))
13240 : : return -1;
13241 : : return 8037; /* *andnotv4si3_mask */
13242 : :
13243 : : case E_V8DImode:
13244 : : if (pattern1013 (x2,
13245 : : E_V8DImode,
13246 : : E_QImode) != 0
13247 : : || !
13248 : : #line 18966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13249 : : (TARGET_AVX512F))
13250 : : return -1;
13251 : : return 8038; /* *andnotv8di3_mask */
13252 : :
13253 : : case E_V4DImode:
13254 : : if (pattern1013 (x2,
13255 : : E_V4DImode,
13256 : : E_QImode) != 0
13257 : : || !(
13258 : : #line 18966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13259 : : (TARGET_AVX512F) &&
13260 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13261 : : (TARGET_AVX512VL)))
13262 : : return -1;
13263 : : return 8039; /* *andnotv4di3_mask */
13264 : :
13265 : : case E_V2DImode:
13266 : : if (pattern1013 (x2,
13267 : : E_V2DImode,
13268 : : E_QImode) != 0
13269 : : || !(
13270 : : #line 18966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13271 : : (TARGET_AVX512F) &&
13272 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13273 : : (TARGET_AVX512VL)))
13274 : : return -1;
13275 : : return 8040; /* *andnotv2di3_mask */
13276 : :
13277 : : default:
13278 : : return -1;
13279 : : }
13280 : :
13281 : : case REG:
13282 : : case SUBREG:
13283 : : case MEM:
13284 : : case VEC_DUPLICATE:
13285 : : operands[1] = x7;
13286 : : switch (GET_MODE (operands[0]))
13287 : : {
13288 : : case E_V8SFmode:
13289 : : if (pattern133 (x2,
13290 : : E_V8SFmode,
13291 : : E_QImode) != 0
13292 : : || !(
13293 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13294 : : (TARGET_AVX512F) && (
13295 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13296 : : (TARGET_SSE && TARGET_AVX512VL
13297 : : && (!true || 32 != 16)
13298 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13299 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13300 : : (TARGET_AVX))))
13301 : : return -1;
13302 : : return 3788; /* *andv8sf3_mask */
13303 : :
13304 : : case E_V4SFmode:
13305 : : if (pattern133 (x2,
13306 : : E_V4SFmode,
13307 : : E_QImode) != 0
13308 : : || !(
13309 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13310 : : (TARGET_AVX512F) &&
13311 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13312 : : (TARGET_SSE && TARGET_AVX512VL
13313 : : && (!true || 32 != 16)
13314 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13315 : : return -1;
13316 : : return 3794; /* *andv4sf3_mask */
13317 : :
13318 : : case E_V4DFmode:
13319 : : if (pattern133 (x2,
13320 : : E_V4DFmode,
13321 : : E_QImode) != 0
13322 : : || !(
13323 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13324 : : (TARGET_AVX512F) && (
13325 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13326 : : (TARGET_SSE && TARGET_AVX512VL
13327 : : && (!true || 64 != 16)
13328 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13329 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13330 : : (TARGET_AVX))))
13331 : : return -1;
13332 : : return 3800; /* *andv4df3_mask */
13333 : :
13334 : : case E_V2DFmode:
13335 : : if (pattern133 (x2,
13336 : : E_V2DFmode,
13337 : : E_QImode) != 0
13338 : : || !(
13339 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13340 : : (TARGET_AVX512F) && (
13341 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13342 : : (TARGET_SSE && TARGET_AVX512VL
13343 : : && (!true || 64 != 16)
13344 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13345 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13346 : : (TARGET_SSE2))))
13347 : : return -1;
13348 : : return 3806; /* *andv2df3_mask */
13349 : :
13350 : : case E_V16SFmode:
13351 : : if (pattern134 (x2,
13352 : : E_V16SFmode,
13353 : : E_HImode) != 0
13354 : : || !(
13355 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13356 : : (TARGET_AVX512F) &&
13357 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13358 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13359 : : && (!true || 32 != 16))))
13360 : : return -1;
13361 : : return 3818; /* *andv16sf3_mask */
13362 : :
13363 : : case E_V8DFmode:
13364 : : if (pattern134 (x2,
13365 : : E_V8DFmode,
13366 : : E_QImode) != 0
13367 : : || !(
13368 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13369 : : (TARGET_AVX512F) &&
13370 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13371 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13372 : : && (!true || 64 != 16))))
13373 : : return -1;
13374 : : return 3824; /* *andv8df3_mask */
13375 : :
13376 : : case E_V16SImode:
13377 : : if (pattern488 (x2,
13378 : : E_V16SImode,
13379 : : E_HImode) != 0
13380 : : || !(
13381 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13382 : : (TARGET_AVX512F) && (
13383 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13384 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
13385 : : && ix86_binary_operator_ok (AND, V16SImode, operands)) &&
13386 : : #line 794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13387 : : (TARGET_AVX512F))))
13388 : : return -1;
13389 : : return 8042; /* *andv16si3_mask */
13390 : :
13391 : : case E_V8SImode:
13392 : : if (pattern488 (x2,
13393 : : E_V8SImode,
13394 : : E_QImode) != 0
13395 : : || !(
13396 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13397 : : (TARGET_AVX512F) && (
13398 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13399 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
13400 : : && ix86_binary_operator_ok (AND, V8SImode, operands)) &&
13401 : : #line 794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13402 : : (TARGET_AVX))))
13403 : : return -1;
13404 : : return 8048; /* *andv8si3_mask */
13405 : :
13406 : : case E_V4SImode:
13407 : : if (pattern488 (x2,
13408 : : E_V4SImode,
13409 : : E_QImode) != 0
13410 : : || !(
13411 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13412 : : (TARGET_AVX512F) &&
13413 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13414 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
13415 : : && ix86_binary_operator_ok (AND, V4SImode, operands))))
13416 : : return -1;
13417 : : return 8054; /* *andv4si3_mask */
13418 : :
13419 : : case E_V8DImode:
13420 : : if (pattern488 (x2,
13421 : : E_V8DImode,
13422 : : E_QImode) != 0
13423 : : || !(
13424 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13425 : : (TARGET_AVX512F) && (
13426 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13427 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
13428 : : && ix86_binary_operator_ok (AND, V8DImode, operands)) &&
13429 : : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13430 : : (TARGET_AVX512F))))
13431 : : return -1;
13432 : : return 8060; /* *andv8di3_mask */
13433 : :
13434 : : case E_V4DImode:
13435 : : if (pattern488 (x2,
13436 : : E_V4DImode,
13437 : : E_QImode) != 0
13438 : : || !(
13439 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13440 : : (TARGET_AVX512F) && (
13441 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13442 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
13443 : : && ix86_binary_operator_ok (AND, V4DImode, operands)) &&
13444 : : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13445 : : (TARGET_AVX))))
13446 : : return -1;
13447 : : return 8066; /* *andv4di3_mask */
13448 : :
13449 : : case E_V2DImode:
13450 : : if (pattern488 (x2,
13451 : : E_V2DImode,
13452 : : E_QImode) != 0
13453 : : || !(
13454 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13455 : : (TARGET_AVX512F) &&
13456 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13457 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
13458 : : && ix86_binary_operator_ok (AND, V2DImode, operands))))
13459 : : return -1;
13460 : : return 8072; /* *andv2di3_mask */
13461 : :
13462 : : default:
13463 : : return -1;
13464 : : }
13465 : :
13466 : : default:
13467 : : return -1;
13468 : : }
13469 : : }
13470 : :
13471 : : int
13472 : : recog_204 (rtx x1 ATTRIBUTE_UNUSED,
13473 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13474 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13475 : : {
13476 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13477 : : rtx x2;
13478 : : int res ATTRIBUTE_UNUSED;
13479 : : x2 = XEXP (x1, 1);
13480 : : switch (pattern140 (x2))
13481 : : {
13482 : : case 0:
13483 : : switch (pattern892 (x2))
13484 : : {
13485 : : case 0:
13486 : : if (!(
13487 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13488 : : (TARGET_AVX512F) && (
13489 : : #line 7941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13490 : : (TARGET_AVX512FP16) &&
13491 : : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13492 : : (TARGET_AVX512VL))))
13493 : : return -1;
13494 : : return 4512; /* avx512fp16_vcvtw2ph_v8hi_mask */
13495 : :
13496 : : case 1:
13497 : : if (!(
13498 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13499 : : (TARGET_AVX512F) && (
13500 : : #line 7941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13501 : : (TARGET_AVX512FP16) &&
13502 : : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13503 : : (TARGET_AVX512VL))))
13504 : : return -1;
13505 : : return 4536; /* avx512fp16_vcvtdq2ph_v8si_mask */
13506 : :
13507 : : case 2:
13508 : : if (!(
13509 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13510 : : (TARGET_AVX512F) &&
13511 : : #line 7941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13512 : : (TARGET_AVX512FP16)))
13513 : : return -1;
13514 : : return 4552; /* avx512fp16_vcvtqq2ph_v8di_mask */
13515 : :
13516 : : default:
13517 : : return -1;
13518 : : }
13519 : :
13520 : : case 1:
13521 : : switch (pattern893 (x2))
13522 : : {
13523 : : case 0:
13524 : : if (!(
13525 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13526 : : (TARGET_AVX512F) && (
13527 : : #line 7941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13528 : : (TARGET_AVX512FP16) &&
13529 : : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13530 : : (TARGET_AVX512VL))))
13531 : : return -1;
13532 : : return 4520; /* avx512fp16_vcvtw2ph_v16hi_mask */
13533 : :
13534 : : case 1:
13535 : : if (!(
13536 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13537 : : (TARGET_AVX512F) &&
13538 : : #line 7941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13539 : : (TARGET_AVX512FP16)))
13540 : : return -1;
13541 : : return 4544; /* avx512fp16_vcvtdq2ph_v16si_mask */
13542 : :
13543 : : default:
13544 : : return -1;
13545 : : }
13546 : :
13547 : : case 2:
13548 : : if (pattern141 (x2,
13549 : : E_V32HFmode,
13550 : : E_SImode,
13551 : : E_V32HImode) != 0
13552 : : || !(
13553 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13554 : : (TARGET_AVX512F) &&
13555 : : #line 7941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13556 : : (TARGET_AVX512FP16)))
13557 : : return -1;
13558 : : return 4528; /* avx512fp16_vcvtw2ph_v32hi_mask */
13559 : :
13560 : : case 3:
13561 : : if (pattern141 (x2,
13562 : : E_V16SFmode,
13563 : : E_HImode,
13564 : : E_V16SImode) != 0
13565 : : || !(
13566 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13567 : : (TARGET_AVX512F) && (
13568 : : #line 8919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13569 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && 1) &&
13570 : : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13571 : : (TARGET_AVX512F))))
13572 : : return -1;
13573 : : return 4848; /* floatv16siv16sf2_mask */
13574 : :
13575 : : case 4:
13576 : : if (pattern142 (x2,
13577 : : E_V8SFmode,
13578 : : E_QImode) != 0)
13579 : : return -1;
13580 : : switch (GET_MODE (operands[1]))
13581 : : {
13582 : : case E_V8SImode:
13583 : : if (!vector_operand (operands[1], E_V8SImode)
13584 : : || !(
13585 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13586 : : (TARGET_AVX512F) && (
13587 : : #line 8919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13588 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && 1) &&
13589 : : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13590 : : (TARGET_AVX))))
13591 : : return -1;
13592 : : return 4851; /* floatv8siv8sf2_mask */
13593 : :
13594 : : case E_V8DImode:
13595 : : if (!nonimmediate_operand (operands[1], E_V8DImode)
13596 : : || !(
13597 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13598 : : (TARGET_AVX512F) &&
13599 : : #line 9466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13600 : : (TARGET_AVX512DQ && 1)))
13601 : : return -1;
13602 : : return 5004; /* floatv8div8sf2_mask */
13603 : :
13604 : : default:
13605 : : return -1;
13606 : : }
13607 : :
13608 : : case 5:
13609 : : if (pattern142 (x2,
13610 : : E_V4SFmode,
13611 : : E_QImode) != 0)
13612 : : return -1;
13613 : : switch (GET_MODE (operands[1]))
13614 : : {
13615 : : case E_V4SImode:
13616 : : if (!vector_operand (operands[1], E_V4SImode)
13617 : : || !(
13618 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13619 : : (TARGET_AVX512F) &&
13620 : : #line 8919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13621 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && 1)))
13622 : : return -1;
13623 : : return 4853; /* floatv4siv4sf2_mask */
13624 : :
13625 : : case E_V4DImode:
13626 : : if (!nonimmediate_operand (operands[1], E_V4DImode)
13627 : : || !(
13628 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13629 : : (TARGET_AVX512F) && (
13630 : : #line 9466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13631 : : (TARGET_AVX512DQ && 1) &&
13632 : : #line 615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13633 : : (TARGET_AVX512VL))))
13634 : : return -1;
13635 : : return 5011; /* floatv4div4sf2_mask */
13636 : :
13637 : : default:
13638 : : return -1;
13639 : : }
13640 : :
13641 : : case 6:
13642 : : switch (pattern894 (x2,
13643 : : E_V8DFmode))
13644 : : {
13645 : : case 0:
13646 : : if (!(
13647 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13648 : : (TARGET_AVX512F) && (
13649 : : #line 9442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13650 : : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) &&
13651 : : #line 461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13652 : : (TARGET_AVX512F))))
13653 : : return -1;
13654 : : return 4975; /* floatv8siv8df2_mask */
13655 : :
13656 : : case 1:
13657 : : if (!(
13658 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13659 : : (TARGET_AVX512F) &&
13660 : : #line 9452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13661 : : (TARGET_AVX512DQ)))
13662 : : return -1;
13663 : : return 4980; /* floatv8div8df2_mask */
13664 : :
13665 : : default:
13666 : : return -1;
13667 : : }
13668 : :
13669 : : case 7:
13670 : : switch (pattern895 (x2,
13671 : : E_V4DFmode))
13672 : : {
13673 : : case 0:
13674 : : if (!(
13675 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13676 : : (TARGET_AVX512F) &&
13677 : : #line 9442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13678 : : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL))))
13679 : : return -1;
13680 : : return 4977; /* floatv4siv4df2_mask */
13681 : :
13682 : : case 1:
13683 : : if (!(
13684 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13685 : : (TARGET_AVX512F) && (
13686 : : #line 9452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13687 : : (TARGET_AVX512DQ) &&
13688 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13689 : : (TARGET_AVX512VL))))
13690 : : return -1;
13691 : : return 4988; /* floatv4div4df2_mask */
13692 : :
13693 : : default:
13694 : : return -1;
13695 : : }
13696 : :
13697 : : case 8:
13698 : : if (pattern155 (x2,
13699 : : E_V2DFmode,
13700 : : E_V2DImode,
13701 : : E_QImode) != 0
13702 : : || !(
13703 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13704 : : (TARGET_AVX512F) && (
13705 : : #line 9452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13706 : : (TARGET_AVX512DQ) &&
13707 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13708 : : (TARGET_AVX512VL))))
13709 : : return -1;
13710 : : return 4996; /* floatv2div2df2_mask */
13711 : :
13712 : : case 9:
13713 : : if (!(
13714 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13715 : : (TARGET_AVX512F) &&
13716 : : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13717 : : (TARGET_SSE2 && TARGET_AVX512VL)))
13718 : : return -1;
13719 : : return 5029; /* sse2_cvtdq2pd_mask */
13720 : :
13721 : : default:
13722 : : return -1;
13723 : : }
13724 : : }
13725 : :
13726 : : int
13727 : : recog_214 (rtx x1 ATTRIBUTE_UNUSED,
13728 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13729 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13730 : : {
13731 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13732 : : rtx x2;
13733 : : int res ATTRIBUTE_UNUSED;
13734 : : x2 = XEXP (x1, 1);
13735 : : switch (pattern325 (x2))
13736 : : {
13737 : : case 0:
13738 : : if (!register_operand (operands[0], E_V32HImode)
13739 : : || GET_MODE (x2) != E_V32HImode
13740 : : || !vector_operand (operands[1], E_V32HFmode)
13741 : : || !
13742 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13743 : : (TARGET_AVX512FP16))
13744 : : return -1;
13745 : : return 4438; /* avx512fp16_vcvtph2uw_v32hi */
13746 : :
13747 : : case 1:
13748 : : if (!register_operand (operands[0], E_V16SImode)
13749 : : || GET_MODE (x2) != E_V16SImode)
13750 : : return -1;
13751 : : switch (GET_MODE (operands[1]))
13752 : : {
13753 : : case E_V16HFmode:
13754 : : if (!vector_operand (operands[1], E_V16HFmode)
13755 : : || !
13756 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13757 : : (TARGET_AVX512FP16))
13758 : : return -1;
13759 : : return 4446; /* avx512fp16_vcvtph2udq_v16si */
13760 : :
13761 : : case E_V16SFmode:
13762 : : if (!nonimmediate_operand (operands[1], E_V16SFmode)
13763 : : || !
13764 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13765 : : (TARGET_AVX512F))
13766 : : return -1;
13767 : : return 4874; /* *avx512f_fixuns_notruncv16sfv16si */
13768 : :
13769 : : default:
13770 : : return -1;
13771 : : }
13772 : :
13773 : : case 2:
13774 : : switch (pattern770 (x2,
13775 : : E_V8DImode))
13776 : : {
13777 : : case 0:
13778 : : if (!
13779 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13780 : : (TARGET_AVX512FP16))
13781 : : return -1;
13782 : : return 4454; /* avx512fp16_vcvtph2uqq_v8di */
13783 : :
13784 : : case 1:
13785 : : if (!
13786 : : #line 9021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13787 : : (TARGET_AVX512DQ && 1))
13788 : : return -1;
13789 : : return 4894; /* *avx512dq_cvtps2uqqv8di */
13790 : :
13791 : : case 2:
13792 : : if (!
13793 : : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13794 : : (TARGET_AVX512DQ && 1))
13795 : : return -1;
13796 : : return 5120; /* fixuns_notruncv8dfv8di2 */
13797 : :
13798 : : default:
13799 : : return -1;
13800 : : }
13801 : :
13802 : : case 3:
13803 : : if (!register_operand (operands[0], E_V16HImode)
13804 : : || GET_MODE (x2) != E_V16HImode
13805 : : || !vector_operand (operands[1], E_V16HFmode)
13806 : : || !(
13807 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13808 : : (TARGET_AVX512FP16) &&
13809 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13810 : : (TARGET_AVX512VL)))
13811 : : return -1;
13812 : : return 4462; /* avx512fp16_vcvtph2uw_v16hi */
13813 : :
13814 : : case 4:
13815 : : switch (pattern770 (x2,
13816 : : E_V8SImode))
13817 : : {
13818 : : case 0:
13819 : : if (!(
13820 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13821 : : (TARGET_AVX512FP16) &&
13822 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13823 : : (TARGET_AVX512VL)))
13824 : : return -1;
13825 : : return 4470; /* avx512fp16_vcvtph2udq_v8si */
13826 : :
13827 : : case 1:
13828 : : if (!(
13829 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13830 : : (TARGET_AVX512F) &&
13831 : : #line 663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13832 : : (TARGET_AVX512VL)))
13833 : : return -1;
13834 : : return 4878; /* *avx512vl_fixuns_notruncv8sfv8si */
13835 : :
13836 : : case 2:
13837 : : if (!
13838 : : #line 9780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13839 : : (TARGET_AVX512F))
13840 : : return -1;
13841 : : return 5040; /* fixuns_notruncv8dfv8si2 */
13842 : :
13843 : : default:
13844 : : return -1;
13845 : : }
13846 : :
13847 : : case 5:
13848 : : switch (pattern771 (x2,
13849 : : E_V4DImode))
13850 : : {
13851 : : case 0:
13852 : : if (!(
13853 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13854 : : (TARGET_AVX512FP16) &&
13855 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13856 : : (TARGET_AVX512VL)))
13857 : : return -1;
13858 : : return 4478; /* avx512fp16_vcvtph2uqq_v4di */
13859 : :
13860 : : case 1:
13861 : : if (!(
13862 : : #line 9021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13863 : : (TARGET_AVX512DQ && 1) &&
13864 : : #line 615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13865 : : (TARGET_AVX512VL)))
13866 : : return -1;
13867 : : return 4898; /* *avx512dq_cvtps2uqqv4di */
13868 : :
13869 : : case 2:
13870 : : if (!(
13871 : : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13872 : : (TARGET_AVX512DQ && 1) &&
13873 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13874 : : (TARGET_AVX512VL)))
13875 : : return -1;
13876 : : return 5124; /* fixuns_notruncv4dfv4di2 */
13877 : :
13878 : : default:
13879 : : return -1;
13880 : : }
13881 : :
13882 : : case 6:
13883 : : if (!register_operand (operands[0], E_V8HImode)
13884 : : || GET_MODE (x2) != E_V8HImode
13885 : : || !vector_operand (operands[1], E_V8HFmode)
13886 : : || !(
13887 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13888 : : (TARGET_AVX512FP16) &&
13889 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13890 : : (TARGET_AVX512VL)))
13891 : : return -1;
13892 : : return 4486; /* avx512fp16_vcvtph2uw_v8hi */
13893 : :
13894 : : case 7:
13895 : : switch (pattern771 (x2,
13896 : : E_V4SImode))
13897 : : {
13898 : : case 0:
13899 : : if (!(
13900 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13901 : : (TARGET_AVX512FP16) &&
13902 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13903 : : (TARGET_AVX512VL)))
13904 : : return -1;
13905 : : return 4494; /* avx512fp16_vcvtph2udq_v4si */
13906 : :
13907 : : case 1:
13908 : : if (!(
13909 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13910 : : (TARGET_AVX512F) &&
13911 : : #line 663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13912 : : (TARGET_AVX512VL)))
13913 : : return -1;
13914 : : return 4882; /* *avx512vl_fixuns_notruncv4sfv4si */
13915 : :
13916 : : case 2:
13917 : : if (!(
13918 : : #line 9780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13919 : : (TARGET_AVX512F) &&
13920 : : #line 464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13921 : : (TARGET_AVX512VL)))
13922 : : return -1;
13923 : : return 5044; /* fixuns_notruncv4dfv4si2 */
13924 : :
13925 : : default:
13926 : : return -1;
13927 : : }
13928 : :
13929 : : case 8:
13930 : : if (!register_operand (operands[0], E_V2DImode)
13931 : : || GET_MODE (x2) != E_V2DImode)
13932 : : return -1;
13933 : : switch (GET_MODE (operands[1]))
13934 : : {
13935 : : case E_V8HFmode:
13936 : : if (!vector_operand (operands[1], E_V8HFmode)
13937 : : || !(
13938 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13939 : : (TARGET_AVX512FP16) &&
13940 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13941 : : (TARGET_AVX512VL)))
13942 : : return -1;
13943 : : return 4502; /* avx512fp16_vcvtph2uqq_v2di */
13944 : :
13945 : : case E_V2DFmode:
13946 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
13947 : : || !(
13948 : : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13949 : : (TARGET_AVX512DQ && 1) &&
13950 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13951 : : (TARGET_AVX512VL)))
13952 : : return -1;
13953 : : return 5126; /* fixuns_notruncv2dfv2di2 */
13954 : :
13955 : : default:
13956 : : return -1;
13957 : : }
13958 : :
13959 : : case 9:
13960 : : if (!
13961 : : #line 9034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13962 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
13963 : : return -1;
13964 : : return 4900; /* *avx512dq_cvtps2uqqv2di */
13965 : :
13966 : : default:
13967 : : return -1;
13968 : : }
13969 : : }
13970 : :
13971 : : int
13972 : : recog_228 (rtx x1 ATTRIBUTE_UNUSED,
13973 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13974 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13975 : : {
13976 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13977 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13978 : : rtx x10, x11;
13979 : : int res ATTRIBUTE_UNUSED;
13980 : : x2 = XEXP (x1, 1);
13981 : : x3 = XVECEXP (x2, 0, 0);
13982 : : x4 = XEXP (x3, 0);
13983 : : switch (XVECLEN (x4, 0))
13984 : : {
13985 : : case 2:
13986 : : return recog_223 (x1, insn, pnum_clobbers);
13987 : :
13988 : : case 3:
13989 : : x5 = XVECEXP (x4, 0, 0);
13990 : : operands[1] = x5;
13991 : : x6 = XVECEXP (x4, 0, 1);
13992 : : operands[2] = x6;
13993 : : switch (XINT (x4, 1))
13994 : : {
13995 : : case 193:
13996 : : x7 = XEXP (x3, 2);
13997 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13998 : : return -1;
13999 : : x8 = XVECEXP (x4, 0, 2);
14000 : : operands[3] = x8;
14001 : : if (!const_0_to_255_operand (operands[3], E_SImode))
14002 : : return -1;
14003 : : switch (pattern1411 (x2))
14004 : : {
14005 : : case 0:
14006 : : if (!(
14007 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14008 : : (TARGET_AVX512F) && (
14009 : : #line 4218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14010 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
14011 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14012 : : (TARGET_AVX512FP16))))
14013 : : return -1;
14014 : : return 3260; /* reducesv8hf_round */
14015 : :
14016 : : case 1:
14017 : : if (!(
14018 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14019 : : (TARGET_AVX512F) &&
14020 : : #line 4218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14021 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode)))))
14022 : : return -1;
14023 : : return 3264; /* reducesv4sf_round */
14024 : :
14025 : : case 2:
14026 : : if (!(
14027 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14028 : : (TARGET_AVX512F) && (
14029 : : #line 4218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14030 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
14031 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14032 : : (TARGET_SSE2))))
14033 : : return -1;
14034 : : return 3268; /* reducesv2df_round */
14035 : :
14036 : : default:
14037 : : return -1;
14038 : : }
14039 : :
14040 : : case 134:
14041 : : return recog_222 (x1, insn, pnum_clobbers);
14042 : :
14043 : : case 218:
14044 : : switch (pattern1135 (x2))
14045 : : {
14046 : : case 0:
14047 : : if (!(
14048 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14049 : : (TARGET_AVX512F) &&
14050 : : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14051 : : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14052 : : || V32HFmode == V8DFmode
14053 : : || V32HFmode == V8DImode
14054 : : || V32HFmode == V16SImode
14055 : : || V32HFmode == V32HFmode))))
14056 : : return -1;
14057 : : return 4357; /* fma_fmaddc_v32hf_maskz_1_round */
14058 : :
14059 : : case 1:
14060 : : if (!(
14061 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14062 : : (TARGET_AVX512F) &&
14063 : : #line 7593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14064 : : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
14065 : : || V32HFmode == V8DFmode
14066 : : || V32HFmode == V8DImode
14067 : : || V32HFmode == V16SImode
14068 : : || V32HFmode == V32HFmode))))
14069 : : return -1;
14070 : : return 4395; /* avx512bw_fmaddc_v32hf_mask_round */
14071 : :
14072 : : case 2:
14073 : : if (!(
14074 : : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14075 : : (TARGET_AVX512F) &&
14076 : : #line 7782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14077 : : (TARGET_AVX512FP16)))
14078 : : return -1;
14079 : : return 4420; /* avx512fp16_fma_fmaddcsh_v8hf_round */
14080 : :
14081 : : default:
14082 : : return -1;
14083 : : }
14084 : :
14085 : : case 220:
14086 : : switch (pattern1135 (x2))
14087 : : {
14088 : : case 0:
14089 : : if (!(
14090 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14091 : : (TARGET_AVX512F) &&
14092 : : #line 7455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14093 : : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14094 : : || V32HFmode == V8DFmode
14095 : : || V32HFmode == V8DImode
14096 : : || V32HFmode == V16SImode
14097 : : || V32HFmode == V32HFmode))))
14098 : : return -1;
14099 : : return 4361; /* fma_fcmaddc_v32hf_maskz_1_round */
14100 : :
14101 : : case 1:
14102 : : if (!(
14103 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14104 : : (TARGET_AVX512F) &&
14105 : : #line 7593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14106 : : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
14107 : : || V32HFmode == V8DFmode
14108 : : || V32HFmode == V8DImode
14109 : : || V32HFmode == V16SImode
14110 : : || V32HFmode == V32HFmode))))
14111 : : return -1;
14112 : : return 4397; /* avx512bw_fcmaddc_v32hf_mask_round */
14113 : :
14114 : : case 2:
14115 : : if (!(
14116 : : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14117 : : (TARGET_AVX512F) &&
14118 : : #line 7782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14119 : : (TARGET_AVX512FP16)))
14120 : : return -1;
14121 : : return 4424; /* avx512fp16_fma_fcmaddcsh_v8hf_round */
14122 : :
14123 : : default:
14124 : : return -1;
14125 : : }
14126 : :
14127 : : case 195:
14128 : : x8 = XVECEXP (x4, 0, 2);
14129 : : operands[3] = x8;
14130 : : if (!const_0_to_15_operand (operands[3], E_SImode))
14131 : : return -1;
14132 : : x9 = XVECEXP (x2, 0, 1);
14133 : : if (!const48_operand (x9, E_SImode))
14134 : : return -1;
14135 : : x7 = XEXP (x3, 2);
14136 : : switch (GET_CODE (x7))
14137 : : {
14138 : : case REG:
14139 : : case SUBREG:
14140 : : operands[5] = x7;
14141 : : x10 = XEXP (x3, 1);
14142 : : operands[4] = x10;
14143 : : operands[6] = x9;
14144 : : switch (GET_MODE (operands[0]))
14145 : : {
14146 : : case E_V16SFmode:
14147 : : if (pattern1658 (x2,
14148 : : E_V16SFmode,
14149 : : E_HImode) != 0
14150 : : || !(
14151 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14152 : : (TARGET_AVX512F) && (
14153 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14154 : : (TARGET_AVX512F) &&
14155 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14156 : : (TARGET_AVX512DQ && (V16SFmode == V16SFmode
14157 : : || V16SFmode == V8DFmode
14158 : : || V16SFmode == V8DImode
14159 : : || V16SFmode == V16SImode
14160 : : || V16SFmode == V32HFmode)))))
14161 : : return -1;
14162 : : return 10025; /* avx512dq_rangepv16sf_mask_round */
14163 : :
14164 : : case E_V8DFmode:
14165 : : if (pattern1658 (x2,
14166 : : E_V8DFmode,
14167 : : E_QImode) != 0
14168 : : || !(
14169 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14170 : : (TARGET_AVX512F) && (
14171 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14172 : : (TARGET_AVX512F) &&
14173 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14174 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14175 : : || V8DFmode == V8DFmode
14176 : : || V8DFmode == V8DImode
14177 : : || V8DFmode == V16SImode
14178 : : || V8DFmode == V32HFmode)))))
14179 : : return -1;
14180 : : return 10033; /* avx512dq_rangepv8df_mask_round */
14181 : :
14182 : : default:
14183 : : return -1;
14184 : : }
14185 : :
14186 : : case CONST_INT:
14187 : : if (XWINT (x7, 0) != 1L)
14188 : : return -1;
14189 : : operands[4] = x9;
14190 : : x10 = XEXP (x3, 1);
14191 : : if (!rtx_equal_p (x10, operands[1]))
14192 : : return -1;
14193 : : switch (GET_MODE (operands[0]))
14194 : : {
14195 : : case E_V4SFmode:
14196 : : if (pattern1409 (x2,
14197 : : E_V4SFmode) != 0
14198 : : || !(
14199 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14200 : : (TARGET_AVX512F) &&
14201 : : #line 30245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14202 : : (TARGET_AVX512DQ)))
14203 : : return -1;
14204 : : return 10040; /* avx512dq_rangesv4sf_round */
14205 : :
14206 : : case E_V2DFmode:
14207 : : if (pattern1409 (x2,
14208 : : E_V2DFmode) != 0
14209 : : || !(
14210 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14211 : : (TARGET_AVX512F) && (
14212 : : #line 30245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14213 : : (TARGET_AVX512DQ) &&
14214 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14215 : : (TARGET_SSE2))))
14216 : : return -1;
14217 : : return 10044; /* avx512dq_rangesv2df_round */
14218 : :
14219 : : default:
14220 : : return -1;
14221 : : }
14222 : :
14223 : : default:
14224 : : return -1;
14225 : : }
14226 : :
14227 : : case 167:
14228 : : x7 = XEXP (x3, 2);
14229 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14230 : : return -1;
14231 : : x8 = XVECEXP (x4, 0, 2);
14232 : : operands[3] = x8;
14233 : : if (!const_0_to_15_operand (operands[3], E_SImode))
14234 : : return -1;
14235 : : switch (pattern1411 (x2))
14236 : : {
14237 : : case 0:
14238 : : if (!(
14239 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14240 : : (TARGET_AVX512F) && (
14241 : : #line 30313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14242 : : (TARGET_AVX512F) &&
14243 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14244 : : (TARGET_AVX512FP16))))
14245 : : return -1;
14246 : : return 10108; /* avx512f_vgetmantv8hf_round */
14247 : :
14248 : : case 1:
14249 : : if (!
14250 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14251 : : (TARGET_AVX512F))
14252 : : return -1;
14253 : : return 10112; /* avx512f_vgetmantv4sf_round */
14254 : :
14255 : : case 2:
14256 : : if (!(
14257 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14258 : : (TARGET_AVX512F) && (
14259 : : #line 30313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14260 : : (TARGET_AVX512F) &&
14261 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14262 : : (TARGET_SSE2))))
14263 : : return -1;
14264 : : return 10116; /* avx512f_vgetmantv2df_round */
14265 : :
14266 : : default:
14267 : : return -1;
14268 : : }
14269 : :
14270 : : case 279:
14271 : : x8 = XVECEXP (x4, 0, 2);
14272 : : operands[3] = x8;
14273 : : if (!const_0_to_255_operand (operands[3], E_SImode))
14274 : : return -1;
14275 : : x9 = XVECEXP (x2, 0, 1);
14276 : : if (!const48_operand (x9, E_SImode))
14277 : : return -1;
14278 : : x7 = XEXP (x3, 2);
14279 : : switch (GET_CODE (x7))
14280 : : {
14281 : : case REG:
14282 : : case SUBREG:
14283 : : operands[5] = x7;
14284 : : x10 = XEXP (x3, 1);
14285 : : operands[4] = x10;
14286 : : operands[6] = x9;
14287 : : switch (GET_MODE (operands[0]))
14288 : : {
14289 : : case E_V32HFmode:
14290 : : if (pattern1658 (x2,
14291 : : E_V32HFmode,
14292 : : E_SImode) != 0
14293 : : || !(
14294 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14295 : : (TARGET_AVX512F) && (
14296 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14297 : : (TARGET_AVX512F) && (
14298 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14299 : : (TARGET_AVX10_2) &&
14300 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14301 : : (TARGET_AVX512FP16)))))
14302 : : return -1;
14303 : : return 10971; /* avx10_2_minmaxpv32hf_mask_round */
14304 : :
14305 : : case E_V16HFmode:
14306 : : if (pattern1658 (x2,
14307 : : E_V16HFmode,
14308 : : E_HImode) != 0
14309 : : || !(
14310 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14311 : : (TARGET_AVX512F) && (
14312 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14313 : : (TARGET_AVX512F) && (
14314 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14315 : : (TARGET_AVX10_2) &&
14316 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14317 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14318 : : return -1;
14319 : : return 10975; /* avx10_2_minmaxpv16hf_mask_round */
14320 : :
14321 : : case E_V8HFmode:
14322 : : if (pattern1658 (x2,
14323 : : E_V8HFmode,
14324 : : E_QImode) != 0
14325 : : || !(
14326 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14327 : : (TARGET_AVX512F) && (
14328 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14329 : : (TARGET_AVX512F) && (
14330 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14331 : : (TARGET_AVX10_2) &&
14332 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14333 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14334 : : return -1;
14335 : : return 10979; /* avx10_2_minmaxpv8hf_mask_round */
14336 : :
14337 : : case E_V16SFmode:
14338 : : if (pattern1658 (x2,
14339 : : E_V16SFmode,
14340 : : E_HImode) != 0
14341 : : || !(
14342 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14343 : : (TARGET_AVX512F) && (
14344 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14345 : : (TARGET_AVX512F) &&
14346 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14347 : : (TARGET_AVX10_2))))
14348 : : return -1;
14349 : : return 10983; /* avx10_2_minmaxpv16sf_mask_round */
14350 : :
14351 : : case E_V8SFmode:
14352 : : if (pattern1658 (x2,
14353 : : E_V8SFmode,
14354 : : E_QImode) != 0
14355 : : || !(
14356 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14357 : : (TARGET_AVX512F) && (
14358 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14359 : : (TARGET_AVX512F) && (
14360 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14361 : : (TARGET_AVX10_2) &&
14362 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14363 : : (TARGET_AVX512VL)))))
14364 : : return -1;
14365 : : return 10987; /* avx10_2_minmaxpv8sf_mask_round */
14366 : :
14367 : : case E_V4SFmode:
14368 : : if (pattern1658 (x2,
14369 : : E_V4SFmode,
14370 : : E_QImode) != 0
14371 : : || !(
14372 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14373 : : (TARGET_AVX512F) && (
14374 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14375 : : (TARGET_AVX512F) && (
14376 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14377 : : (TARGET_AVX10_2) &&
14378 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14379 : : (TARGET_AVX512VL)))))
14380 : : return -1;
14381 : : return 10991; /* avx10_2_minmaxpv4sf_mask_round */
14382 : :
14383 : : case E_V8DFmode:
14384 : : if (pattern1658 (x2,
14385 : : E_V8DFmode,
14386 : : E_QImode) != 0
14387 : : || !(
14388 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14389 : : (TARGET_AVX512F) && (
14390 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14391 : : (TARGET_AVX512F) &&
14392 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14393 : : (TARGET_AVX10_2))))
14394 : : return -1;
14395 : : return 10995; /* avx10_2_minmaxpv8df_mask_round */
14396 : :
14397 : : case E_V4DFmode:
14398 : : if (pattern1658 (x2,
14399 : : E_V4DFmode,
14400 : : E_QImode) != 0
14401 : : || !(
14402 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14403 : : (TARGET_AVX512F) && (
14404 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14405 : : (TARGET_AVX512F) && (
14406 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14407 : : (TARGET_AVX10_2) &&
14408 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14409 : : (TARGET_AVX512VL)))))
14410 : : return -1;
14411 : : return 10999; /* avx10_2_minmaxpv4df_mask_round */
14412 : :
14413 : : case E_V2DFmode:
14414 : : if (pattern1658 (x2,
14415 : : E_V2DFmode,
14416 : : E_QImode) != 0
14417 : : || !(
14418 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14419 : : (TARGET_AVX512F) && (
14420 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14421 : : (TARGET_AVX512F) && (
14422 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14423 : : (TARGET_AVX10_2) &&
14424 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14425 : : (TARGET_AVX512VL)))))
14426 : : return -1;
14427 : : return 11003; /* avx10_2_minmaxpv2df_mask_round */
14428 : :
14429 : : default:
14430 : : return -1;
14431 : : }
14432 : :
14433 : : case CONST_INT:
14434 : : if (XWINT (x7, 0) != 1L)
14435 : : return -1;
14436 : : operands[4] = x9;
14437 : : switch (pattern1410 (x2))
14438 : : {
14439 : : case 0:
14440 : : if (!(
14441 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14442 : : (TARGET_AVX512F) && (
14443 : : #line 33077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14444 : : (TARGET_AVX10_2) &&
14445 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14446 : : (TARGET_AVX512FP16))))
14447 : : return -1;
14448 : : return 11006; /* avx10_2_minmaxsv8hf_round */
14449 : :
14450 : : case 1:
14451 : : if (!(
14452 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14453 : : (TARGET_AVX512F) &&
14454 : : #line 33077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14455 : : (TARGET_AVX10_2)))
14456 : : return -1;
14457 : : return 11010; /* avx10_2_minmaxsv4sf_round */
14458 : :
14459 : : case 2:
14460 : : if (!(
14461 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14462 : : (TARGET_AVX512F) && (
14463 : : #line 33077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14464 : : (TARGET_AVX10_2) &&
14465 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14466 : : (TARGET_SSE2))))
14467 : : return -1;
14468 : : return 11014; /* avx10_2_minmaxsv2df_round */
14469 : :
14470 : : default:
14471 : : return -1;
14472 : : }
14473 : :
14474 : : default:
14475 : : return -1;
14476 : : }
14477 : :
14478 : : default:
14479 : : return -1;
14480 : : }
14481 : :
14482 : : case 1:
14483 : : return recog_224 (x1, insn, pnum_clobbers);
14484 : :
14485 : : case 4:
14486 : : if (XINT (x4, 1) != 164)
14487 : : return -1;
14488 : : x5 = XVECEXP (x4, 0, 0);
14489 : : operands[1] = x5;
14490 : : x6 = XVECEXP (x4, 0, 1);
14491 : : operands[2] = x6;
14492 : : x8 = XVECEXP (x4, 0, 2);
14493 : : operands[3] = x8;
14494 : : x11 = XVECEXP (x4, 0, 3);
14495 : : operands[4] = x11;
14496 : : if (!const_0_to_255_operand (operands[4], E_SImode))
14497 : : return -1;
14498 : : x9 = XVECEXP (x2, 0, 1);
14499 : : if (!const48_operand (x9, E_SImode))
14500 : : return -1;
14501 : : x10 = XEXP (x3, 1);
14502 : : switch (GET_CODE (x10))
14503 : : {
14504 : : case CONST_INT:
14505 : : case CONST_DOUBLE:
14506 : : case CONST_VECTOR:
14507 : : operands[5] = x10;
14508 : : x7 = XEXP (x3, 2);
14509 : : operands[6] = x7;
14510 : : operands[7] = x9;
14511 : : switch (GET_MODE (operands[0]))
14512 : : {
14513 : : case E_V16SFmode:
14514 : : if (pattern1685 (x2,
14515 : : E_V16SFmode,
14516 : : E_V16SImode,
14517 : : E_HImode) != 0
14518 : : || !
14519 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14520 : : (TARGET_AVX512F))
14521 : : return -1;
14522 : : return 7119; /* avx512f_fixupimmv16sf_maskz_1_round */
14523 : :
14524 : : case E_V8SFmode:
14525 : : if (pattern1685 (x2,
14526 : : E_V8SFmode,
14527 : : E_V8SImode,
14528 : : E_QImode) != 0
14529 : : || !(
14530 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14531 : : (TARGET_AVX512F) && (
14532 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14533 : : (TARGET_AVX512F) &&
14534 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14535 : : (TARGET_AVX512VL))))
14536 : : return -1;
14537 : : return 7123; /* avx512vl_fixupimmv8sf_maskz_1_round */
14538 : :
14539 : : case E_V4SFmode:
14540 : : if (pattern1685 (x2,
14541 : : E_V4SFmode,
14542 : : E_V4SImode,
14543 : : E_QImode) != 0
14544 : : || !(
14545 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14546 : : (TARGET_AVX512F) && (
14547 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14548 : : (TARGET_AVX512F) &&
14549 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14550 : : (TARGET_AVX512VL))))
14551 : : return -1;
14552 : : return 7127; /* avx512vl_fixupimmv4sf_maskz_1_round */
14553 : :
14554 : : case E_V8DFmode:
14555 : : if (pattern1685 (x2,
14556 : : E_V8DFmode,
14557 : : E_V8DImode,
14558 : : E_QImode) != 0
14559 : : || !
14560 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14561 : : (TARGET_AVX512F))
14562 : : return -1;
14563 : : return 7131; /* avx512f_fixupimmv8df_maskz_1_round */
14564 : :
14565 : : case E_V4DFmode:
14566 : : if (pattern1685 (x2,
14567 : : E_V4DFmode,
14568 : : E_V4DImode,
14569 : : E_QImode) != 0
14570 : : || !(
14571 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14572 : : (TARGET_AVX512F) && (
14573 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14574 : : (TARGET_AVX512F) &&
14575 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14576 : : (TARGET_AVX512VL))))
14577 : : return -1;
14578 : : return 7135; /* avx512vl_fixupimmv4df_maskz_1_round */
14579 : :
14580 : : case E_V2DFmode:
14581 : : if (pattern1685 (x2,
14582 : : E_V2DFmode,
14583 : : E_V2DImode,
14584 : : E_QImode) != 0
14585 : : || !(
14586 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14587 : : (TARGET_AVX512F) && (
14588 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14589 : : (TARGET_AVX512F) &&
14590 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14591 : : (TARGET_AVX512VL))))
14592 : : return -1;
14593 : : return 7139; /* avx512vl_fixupimmv2df_maskz_1_round */
14594 : :
14595 : : default:
14596 : : return -1;
14597 : : }
14598 : :
14599 : : case REG:
14600 : : case SUBREG:
14601 : : x7 = XEXP (x3, 2);
14602 : : switch (GET_CODE (x7))
14603 : : {
14604 : : case REG:
14605 : : case SUBREG:
14606 : : operands[5] = x7;
14607 : : operands[6] = x9;
14608 : : if (!rtx_equal_p (x10, operands[1]))
14609 : : return -1;
14610 : : switch (GET_MODE (operands[0]))
14611 : : {
14612 : : case E_V16SFmode:
14613 : : if (pattern1709 (x2,
14614 : : E_V16SImode,
14615 : : E_V16SFmode,
14616 : : E_HImode) != 0
14617 : : || !
14618 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14619 : : (TARGET_AVX512F))
14620 : : return -1;
14621 : : return 7141; /* avx512f_fixupimmv16sf_mask_round */
14622 : :
14623 : : case E_V8SFmode:
14624 : : if (pattern1709 (x2,
14625 : : E_V8SImode,
14626 : : E_V8SFmode,
14627 : : E_QImode) != 0
14628 : : || !(
14629 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14630 : : (TARGET_AVX512F) && (
14631 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14632 : : (TARGET_AVX512F) &&
14633 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14634 : : (TARGET_AVX512VL))))
14635 : : return -1;
14636 : : return 7143; /* avx512vl_fixupimmv8sf_mask_round */
14637 : :
14638 : : case E_V4SFmode:
14639 : : if (pattern1709 (x2,
14640 : : E_V4SImode,
14641 : : E_V4SFmode,
14642 : : E_QImode) != 0
14643 : : || !(
14644 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14645 : : (TARGET_AVX512F) && (
14646 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14647 : : (TARGET_AVX512F) &&
14648 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14649 : : (TARGET_AVX512VL))))
14650 : : return -1;
14651 : : return 7145; /* avx512vl_fixupimmv4sf_mask_round */
14652 : :
14653 : : case E_V8DFmode:
14654 : : if (pattern1709 (x2,
14655 : : E_V8DImode,
14656 : : E_V8DFmode,
14657 : : E_QImode) != 0
14658 : : || !
14659 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14660 : : (TARGET_AVX512F))
14661 : : return -1;
14662 : : return 7147; /* avx512f_fixupimmv8df_mask_round */
14663 : :
14664 : : case E_V4DFmode:
14665 : : if (pattern1709 (x2,
14666 : : E_V4DImode,
14667 : : E_V4DFmode,
14668 : : E_QImode) != 0
14669 : : || !(
14670 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14671 : : (TARGET_AVX512F) && (
14672 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14673 : : (TARGET_AVX512F) &&
14674 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14675 : : (TARGET_AVX512VL))))
14676 : : return -1;
14677 : : return 7149; /* avx512vl_fixupimmv4df_mask_round */
14678 : :
14679 : : case E_V2DFmode:
14680 : : if (pattern1709 (x2,
14681 : : E_V2DImode,
14682 : : E_V2DFmode,
14683 : : E_QImode) != 0
14684 : : || !(
14685 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14686 : : (TARGET_AVX512F) && (
14687 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14688 : : (TARGET_AVX512F) &&
14689 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14690 : : (TARGET_AVX512VL))))
14691 : : return -1;
14692 : : return 7151; /* avx512vl_fixupimmv2df_mask_round */
14693 : :
14694 : : default:
14695 : : return -1;
14696 : : }
14697 : :
14698 : : case CONST_INT:
14699 : : if (XWINT (x7, 0) != 1L)
14700 : : return -1;
14701 : : operands[5] = x9;
14702 : : if (!rtx_equal_p (x10, operands[2]))
14703 : : return -1;
14704 : : switch (GET_MODE (operands[0]))
14705 : : {
14706 : : case E_V4SFmode:
14707 : : if (pattern1710 (x2,
14708 : : E_V4SImode,
14709 : : E_V4SFmode) != 0
14710 : : || !
14711 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14712 : : (TARGET_AVX512F))
14713 : : return -1;
14714 : : return 7153; /* avx512f_sfixupimmv4sf_round */
14715 : :
14716 : : case E_V2DFmode:
14717 : : if (pattern1710 (x2,
14718 : : E_V2DImode,
14719 : : E_V2DFmode) != 0
14720 : : || !(
14721 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14722 : : (TARGET_AVX512F) && (
14723 : : #line 14467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14724 : : (TARGET_AVX512F) &&
14725 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14726 : : (TARGET_SSE2))))
14727 : : return -1;
14728 : : return 7157; /* avx512f_sfixupimmv2df_round */
14729 : :
14730 : : default:
14731 : : return -1;
14732 : : }
14733 : :
14734 : : default:
14735 : : return -1;
14736 : : }
14737 : :
14738 : : default:
14739 : : return -1;
14740 : : }
14741 : :
14742 : : default:
14743 : : return -1;
14744 : : }
14745 : : }
14746 : :
14747 : : int
14748 : : recog_236 (rtx x1 ATTRIBUTE_UNUSED,
14749 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14750 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14751 : : {
14752 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14753 : : rtx x2, x3, x4, x5;
14754 : : int res ATTRIBUTE_UNUSED;
14755 : : x2 = XEXP (x1, 0);
14756 : : if (GET_CODE (x2) != REG
14757 : : || REGNO (x2) != 17)
14758 : : return -1;
14759 : : x3 = XEXP (x1, 1);
14760 : : x4 = XVECEXP (x3, 0, 0);
14761 : : operands[0] = x4;
14762 : : x5 = XVECEXP (x3, 0, 1);
14763 : : operands[1] = x5;
14764 : : switch (GET_MODE (operands[0]))
14765 : : {
14766 : : case E_V16QImode:
14767 : : if (!register_operand (operands[0], E_V16QImode)
14768 : : || !vector_operand (operands[1], E_V16QImode)
14769 : : || !
14770 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14771 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14772 : : return -1;
14773 : : return 8975; /* *sse4_1_ptestv16qi */
14774 : :
14775 : : case E_V8HImode:
14776 : : if (!register_operand (operands[0], E_V8HImode)
14777 : : || !vector_operand (operands[1], E_V8HImode)
14778 : : || !
14779 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14780 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14781 : : return -1;
14782 : : return 8976; /* *sse4_1_ptestv8hi */
14783 : :
14784 : : case E_V4SImode:
14785 : : if (!register_operand (operands[0], E_V4SImode)
14786 : : || !vector_operand (operands[1], E_V4SImode)
14787 : : || !
14788 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14789 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14790 : : return -1;
14791 : : return 8977; /* *sse4_1_ptestv4si */
14792 : :
14793 : : case E_V2DImode:
14794 : : if (!register_operand (operands[0], E_V2DImode)
14795 : : || !vector_operand (operands[1], E_V2DImode)
14796 : : || !
14797 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14798 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14799 : : return -1;
14800 : : return 8978; /* *sse4_1_ptestv2di */
14801 : :
14802 : : case E_V1TImode:
14803 : : if (!register_operand (operands[0], E_V1TImode)
14804 : : || !vector_operand (operands[1], E_V1TImode)
14805 : : || !
14806 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14807 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14808 : : return -1;
14809 : : return 8979; /* *sse4_1_ptestv1ti */
14810 : :
14811 : : case E_V4SFmode:
14812 : : if (!register_operand (operands[0], E_V4SFmode)
14813 : : || !vector_operand (operands[1], E_V4SFmode)
14814 : : || !
14815 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14816 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14817 : : return -1;
14818 : : return 8980; /* *sse4_1_ptestv4sf */
14819 : :
14820 : : case E_V2DFmode:
14821 : : if (!register_operand (operands[0], E_V2DFmode)
14822 : : || !vector_operand (operands[1], E_V2DFmode)
14823 : : || !
14824 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14825 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14826 : : return -1;
14827 : : return 8981; /* *sse4_1_ptestv2df */
14828 : :
14829 : : case E_V32QImode:
14830 : : if (!register_operand (operands[0], E_V32QImode)
14831 : : || !vector_operand (operands[1], E_V32QImode)
14832 : : || !(
14833 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14834 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14835 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14836 : : (TARGET_AVX)))
14837 : : return -1;
14838 : : return 8982; /* *avx_ptestv32qi */
14839 : :
14840 : : case E_V16HImode:
14841 : : if (!register_operand (operands[0], E_V16HImode)
14842 : : || !vector_operand (operands[1], E_V16HImode)
14843 : : || !(
14844 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14845 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14846 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14847 : : (TARGET_AVX)))
14848 : : return -1;
14849 : : return 8983; /* *avx_ptestv16hi */
14850 : :
14851 : : case E_V8SImode:
14852 : : if (!register_operand (operands[0], E_V8SImode)
14853 : : || !vector_operand (operands[1], E_V8SImode)
14854 : : || !(
14855 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14856 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14857 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14858 : : (TARGET_AVX)))
14859 : : return -1;
14860 : : return 8984; /* *avx_ptestv8si */
14861 : :
14862 : : case E_V4DImode:
14863 : : if (!register_operand (operands[0], E_V4DImode)
14864 : : || !vector_operand (operands[1], E_V4DImode)
14865 : : || !(
14866 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14867 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14868 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14869 : : (TARGET_AVX)))
14870 : : return -1;
14871 : : return 8985; /* *avx_ptestv4di */
14872 : :
14873 : : case E_V2TImode:
14874 : : if (!register_operand (operands[0], E_V2TImode)
14875 : : || !vector_operand (operands[1], E_V2TImode)
14876 : : || !(
14877 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14878 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14879 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14880 : : (TARGET_AVX)))
14881 : : return -1;
14882 : : return 8986; /* *avx_ptestv2ti */
14883 : :
14884 : : case E_V8SFmode:
14885 : : if (!register_operand (operands[0], E_V8SFmode)
14886 : : || !vector_operand (operands[1], E_V8SFmode)
14887 : : || !(
14888 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14889 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14890 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14891 : : (TARGET_AVX)))
14892 : : return -1;
14893 : : return 8987; /* *avx_ptestv8sf */
14894 : :
14895 : : case E_V4DFmode:
14896 : : if (!register_operand (operands[0], E_V4DFmode)
14897 : : || !vector_operand (operands[1], E_V4DFmode)
14898 : : || !(
14899 : : #line 25612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14900 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14901 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14902 : : (TARGET_AVX)))
14903 : : return -1;
14904 : : return 8988; /* *avx_ptestv4df */
14905 : :
14906 : : default:
14907 : : return -1;
14908 : : }
14909 : : }
14910 : :
14911 : : int
14912 : : recog_237 (rtx x1 ATTRIBUTE_UNUSED,
14913 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14914 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14915 : : {
14916 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14917 : : rtx x2, x3, x4, x5;
14918 : : int res ATTRIBUTE_UNUSED;
14919 : : x2 = XEXP (x1, 0);
14920 : : operands[0] = x2;
14921 : : x3 = XEXP (x1, 1);
14922 : : x4 = XVECEXP (x3, 0, 0);
14923 : : operands[1] = x4;
14924 : : x5 = XVECEXP (x3, 0, 1);
14925 : : operands[2] = x5;
14926 : : switch (GET_MODE (operands[0]))
14927 : : {
14928 : : case E_V32HFmode:
14929 : : if (pattern776 (x3,
14930 : : E_V32HFmode) != 0
14931 : : || !(
14932 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14933 : : (TARGET_AVX512F) &&
14934 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14935 : : (TARGET_AVX512FP16)))
14936 : : return -1;
14937 : : return 7164; /* avx512bw_rndscalev32hf */
14938 : :
14939 : : case E_V16HFmode:
14940 : : if (pattern776 (x3,
14941 : : E_V16HFmode) != 0
14942 : : || !(
14943 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14944 : : (TARGET_AVX512F) &&
14945 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14946 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
14947 : : return -1;
14948 : : return 7168; /* avx512vl_rndscalev16hf */
14949 : :
14950 : : case E_V8HFmode:
14951 : : if (pattern776 (x3,
14952 : : E_V8HFmode) != 0
14953 : : || !(
14954 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14955 : : (TARGET_AVX512F) &&
14956 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14957 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
14958 : : return -1;
14959 : : return 7172; /* avx512fp16_rndscalev8hf */
14960 : :
14961 : : case E_V16SFmode:
14962 : : if (pattern776 (x3,
14963 : : E_V16SFmode) != 0
14964 : : || !
14965 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14966 : : (TARGET_AVX512F))
14967 : : return -1;
14968 : : return 7176; /* avx512f_rndscalev16sf */
14969 : :
14970 : : case E_V8SFmode:
14971 : : if (!register_operand (operands[0], E_V8SFmode)
14972 : : || GET_MODE (x3) != E_V8SFmode)
14973 : : return -1;
14974 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
14975 : : && const_0_to_255_operand (operands[2], E_SImode)
14976 : : && (
14977 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14978 : : (TARGET_AVX512F) &&
14979 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14980 : : (TARGET_AVX512VL)))
14981 : : return 7180; /* avx512vl_rndscalev8sf */
14982 : : if (!vector_operand (operands[1], E_V8SFmode)
14983 : : || !const_0_to_15_operand (operands[2], E_SImode)
14984 : : || !(
14985 : : #line 25803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14986 : : (TARGET_SSE4_1) &&
14987 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14988 : : (TARGET_AVX)))
14989 : : return -1;
14990 : : return 9012; /* avx_roundps256 */
14991 : :
14992 : : case E_V4SFmode:
14993 : : if (!register_operand (operands[0], E_V4SFmode)
14994 : : || GET_MODE (x3) != E_V4SFmode)
14995 : : return -1;
14996 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
14997 : : && const_0_to_255_operand (operands[2], E_SImode)
14998 : : && (
14999 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15000 : : (TARGET_AVX512F) &&
15001 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15002 : : (TARGET_AVX512VL)))
15003 : : return 7184; /* avx512vl_rndscalev4sf */
15004 : : if (!vector_operand (operands[1], E_V4SFmode)
15005 : : || !const_0_to_15_operand (operands[2], E_SImode)
15006 : : || !
15007 : : #line 25803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15008 : : (TARGET_SSE4_1))
15009 : : return -1;
15010 : : return 9013; /* sse4_1_roundps */
15011 : :
15012 : : case E_V8DFmode:
15013 : : if (pattern776 (x3,
15014 : : E_V8DFmode) != 0
15015 : : || !
15016 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15017 : : (TARGET_AVX512F))
15018 : : return -1;
15019 : : return 7188; /* avx512f_rndscalev8df */
15020 : :
15021 : : case E_V4DFmode:
15022 : : if (!register_operand (operands[0], E_V4DFmode)
15023 : : || GET_MODE (x3) != E_V4DFmode)
15024 : : return -1;
15025 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
15026 : : && const_0_to_255_operand (operands[2], E_SImode)
15027 : : && (
15028 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15029 : : (TARGET_AVX512F) &&
15030 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15031 : : (TARGET_AVX512VL)))
15032 : : return 7192; /* avx512vl_rndscalev4df */
15033 : : if (!vector_operand (operands[1], E_V4DFmode)
15034 : : || !const_0_to_15_operand (operands[2], E_SImode)
15035 : : || !(
15036 : : #line 25803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15037 : : (TARGET_SSE4_1) &&
15038 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15039 : : (TARGET_AVX)))
15040 : : return -1;
15041 : : return 9014; /* avx_roundpd256 */
15042 : :
15043 : : case E_V2DFmode:
15044 : : if (!register_operand (operands[0], E_V2DFmode)
15045 : : || GET_MODE (x3) != E_V2DFmode)
15046 : : return -1;
15047 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
15048 : : && const_0_to_255_operand (operands[2], E_SImode)
15049 : : && (
15050 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15051 : : (TARGET_AVX512F) &&
15052 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15053 : : (TARGET_AVX512VL)))
15054 : : return 7196; /* avx512vl_rndscalev2df */
15055 : : if (!vector_operand (operands[1], E_V2DFmode)
15056 : : || !const_0_to_15_operand (operands[2], E_SImode)
15057 : : || !(
15058 : : #line 25803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15059 : : (TARGET_SSE4_1) &&
15060 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15061 : : (TARGET_SSE2)))
15062 : : return -1;
15063 : : return 9015; /* sse4_1_roundpd */
15064 : :
15065 : : default:
15066 : : return -1;
15067 : : }
15068 : : }
15069 : :
15070 : : int
15071 : : recog_240 (rtx x1 ATTRIBUTE_UNUSED,
15072 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15073 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15074 : : {
15075 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15076 : : rtx x2, x3, x4, x5;
15077 : : int res ATTRIBUTE_UNUSED;
15078 : : x2 = XEXP (x1, 0);
15079 : : operands[0] = x2;
15080 : : x3 = XEXP (x1, 1);
15081 : : x4 = XVECEXP (x3, 0, 0);
15082 : : operands[1] = x4;
15083 : : x5 = XVECEXP (x3, 0, 1);
15084 : : operands[2] = x5;
15085 : : if (!const_0_to_255_operand (operands[2], E_SImode))
15086 : : return -1;
15087 : : switch (GET_MODE (operands[0]))
15088 : : {
15089 : : case E_V32HFmode:
15090 : : if (!register_operand (operands[0], E_V32HFmode)
15091 : : || GET_MODE (x3) != E_V32HFmode
15092 : : || !vector_operand (operands[1], E_V32HFmode)
15093 : : || !(
15094 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15095 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) &&
15096 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15097 : : (TARGET_AVX512FP16)))
15098 : : return -1;
15099 : : return 3222; /* *reducepv32hf */
15100 : :
15101 : : case E_V16HFmode:
15102 : : if (!register_operand (operands[0], E_V16HFmode)
15103 : : || GET_MODE (x3) != E_V16HFmode
15104 : : || !vector_operand (operands[1], E_V16HFmode)
15105 : : || !(
15106 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15107 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) &&
15108 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15109 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15110 : : return -1;
15111 : : return 3226; /* *reducepv16hf */
15112 : :
15113 : : case E_V8HFmode:
15114 : : if (!register_operand (operands[0], E_V8HFmode)
15115 : : || GET_MODE (x3) != E_V8HFmode
15116 : : || !vector_operand (operands[1], E_V8HFmode)
15117 : : || !(
15118 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15119 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
15120 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15121 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15122 : : return -1;
15123 : : return 3230; /* *reducepv8hf */
15124 : :
15125 : : case E_V16SFmode:
15126 : : if (!register_operand (operands[0], E_V16SFmode)
15127 : : || GET_MODE (x3) != E_V16SFmode
15128 : : || !vector_operand (operands[1], E_V16SFmode)
15129 : : || !
15130 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15131 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode))))
15132 : : return -1;
15133 : : return 3234; /* *reducepv16sf */
15134 : :
15135 : : case E_V8SFmode:
15136 : : if (!register_operand (operands[0], E_V8SFmode)
15137 : : || GET_MODE (x3) != E_V8SFmode
15138 : : || !vector_operand (operands[1], E_V8SFmode)
15139 : : || !(
15140 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15141 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) &&
15142 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15143 : : (TARGET_AVX512VL)))
15144 : : return -1;
15145 : : return 3238; /* *reducepv8sf */
15146 : :
15147 : : case E_V4SFmode:
15148 : : if (!register_operand (operands[0], E_V4SFmode)
15149 : : || GET_MODE (x3) != E_V4SFmode
15150 : : || !vector_operand (operands[1], E_V4SFmode)
15151 : : || !(
15152 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15153 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) &&
15154 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15155 : : (TARGET_AVX512VL)))
15156 : : return -1;
15157 : : return 3242; /* *reducepv4sf */
15158 : :
15159 : : case E_V8DFmode:
15160 : : if (!register_operand (operands[0], E_V8DFmode)
15161 : : || GET_MODE (x3) != E_V8DFmode
15162 : : || !vector_operand (operands[1], E_V8DFmode)
15163 : : || !
15164 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15165 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode))))
15166 : : return -1;
15167 : : return 3246; /* *reducepv8df */
15168 : :
15169 : : case E_V4DFmode:
15170 : : if (!register_operand (operands[0], E_V4DFmode)
15171 : : || GET_MODE (x3) != E_V4DFmode
15172 : : || !vector_operand (operands[1], E_V4DFmode)
15173 : : || !(
15174 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15175 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) &&
15176 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15177 : : (TARGET_AVX512VL)))
15178 : : return -1;
15179 : : return 3250; /* *reducepv4df */
15180 : :
15181 : : case E_V2DFmode:
15182 : : if (!register_operand (operands[0], E_V2DFmode)
15183 : : || GET_MODE (x3) != E_V2DFmode
15184 : : || !vector_operand (operands[1], E_V2DFmode)
15185 : : || !(
15186 : : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15187 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
15188 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15189 : : (TARGET_AVX512VL)))
15190 : : return -1;
15191 : : return 3254; /* *reducepv2df */
15192 : :
15193 : : default:
15194 : : return -1;
15195 : : }
15196 : : }
15197 : :
15198 : : int
15199 : : recog_246 (rtx x1 ATTRIBUTE_UNUSED,
15200 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15201 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15202 : : {
15203 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15204 : : rtx x2, x3, x4, x5;
15205 : : int res ATTRIBUTE_UNUSED;
15206 : : x2 = XEXP (x1, 1);
15207 : : x3 = XVECEXP (x2, 0, 2);
15208 : : if (GET_MODE (x3) != E_V16QImode)
15209 : : return -1;
15210 : : x4 = XEXP (x1, 0);
15211 : : if (GET_CODE (x4) != MEM
15212 : : || GET_MODE (x4) != E_V16QImode)
15213 : : return -1;
15214 : : x5 = XEXP (x4, 0);
15215 : : operands[0] = x5;
15216 : : if (GET_MODE (x2) != E_V16QImode)
15217 : : return -1;
15218 : : switch (pattern1071 (x2,
15219 : : E_V16QImode))
15220 : : {
15221 : : case 0:
15222 : : if (!(
15223 : : #line 22764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15224 : : (TARGET_SSE2) &&
15225 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15226 : : (Pmode == SImode)))
15227 : : return -1;
15228 : : return 8616; /* *sse2_maskmovdqu */
15229 : :
15230 : : case 1:
15231 : : if (!(
15232 : : #line 22764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15233 : : (TARGET_SSE2) &&
15234 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15235 : : (Pmode == DImode)))
15236 : : return -1;
15237 : : return 8617; /* *sse2_maskmovdqu */
15238 : :
15239 : : default:
15240 : : return -1;
15241 : : }
15242 : : }
15243 : :
15244 : : int
15245 : : recog_248 (rtx x1 ATTRIBUTE_UNUSED,
15246 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15247 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15248 : : {
15249 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15250 : : rtx x2, x3, x4, x5, x6;
15251 : : int res ATTRIBUTE_UNUSED;
15252 : : x2 = XEXP (x1, 1);
15253 : : x3 = XVECEXP (x2, 0, 0);
15254 : : operands[1] = x3;
15255 : : x4 = XVECEXP (x2, 0, 2);
15256 : : switch (GET_CODE (x4))
15257 : : {
15258 : : case REG:
15259 : : case SUBREG:
15260 : : case MEM:
15261 : : switch (GET_CODE (x4))
15262 : : {
15263 : : case MEM:
15264 : : res = recog_246 (x1, insn, pnum_clobbers);
15265 : : if (res >= 0)
15266 : : return res;
15267 : : break;
15268 : :
15269 : : case REG:
15270 : : case SUBREG:
15271 : : operands[2] = x4;
15272 : : x5 = XEXP (x1, 0);
15273 : : operands[0] = x5;
15274 : : x6 = XVECEXP (x2, 0, 1);
15275 : : if (rtx_equal_p (x6, operands[0]))
15276 : : {
15277 : : switch (GET_MODE (operands[0]))
15278 : : {
15279 : : case E_V16SImode:
15280 : : if (pattern910 (x2,
15281 : : E_HImode,
15282 : : E_V16SImode) == 0
15283 : : &&
15284 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15285 : : (TARGET_AVX512F))
15286 : : return 9566; /* avx512f_storev16si_mask */
15287 : : break;
15288 : :
15289 : : case E_V8DImode:
15290 : : if (pattern910 (x2,
15291 : : E_QImode,
15292 : : E_V8DImode) == 0
15293 : : &&
15294 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15295 : : (TARGET_AVX512F))
15296 : : return 9569; /* avx512f_storev8di_mask */
15297 : : break;
15298 : :
15299 : : case E_V16SFmode:
15300 : : if (pattern910 (x2,
15301 : : E_HImode,
15302 : : E_V16SFmode) == 0
15303 : : &&
15304 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15305 : : (TARGET_AVX512F))
15306 : : return 9572; /* avx512f_storev16sf_mask */
15307 : : break;
15308 : :
15309 : : case E_V8SFmode:
15310 : : if (pattern910 (x2,
15311 : : E_QImode,
15312 : : E_V8SFmode) == 0
15313 : : && (
15314 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15315 : : (TARGET_AVX512F) &&
15316 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15317 : : (TARGET_AVX512VL)))
15318 : : return 9573; /* avx512vl_storev8sf_mask */
15319 : : break;
15320 : :
15321 : : case E_V4SFmode:
15322 : : if (pattern910 (x2,
15323 : : E_QImode,
15324 : : E_V4SFmode) == 0
15325 : : && (
15326 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15327 : : (TARGET_AVX512F) &&
15328 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15329 : : (TARGET_AVX512VL)))
15330 : : return 9574; /* avx512vl_storev4sf_mask */
15331 : : break;
15332 : :
15333 : : case E_V8DFmode:
15334 : : if (pattern910 (x2,
15335 : : E_QImode,
15336 : : E_V8DFmode) == 0
15337 : : &&
15338 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15339 : : (TARGET_AVX512F))
15340 : : return 9575; /* avx512f_storev8df_mask */
15341 : : break;
15342 : :
15343 : : case E_V4DFmode:
15344 : : if (pattern910 (x2,
15345 : : E_QImode,
15346 : : E_V4DFmode) == 0
15347 : : && (
15348 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15349 : : (TARGET_AVX512F) &&
15350 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15351 : : (TARGET_AVX512VL)))
15352 : : return 9576; /* avx512vl_storev4df_mask */
15353 : : break;
15354 : :
15355 : : case E_V2DFmode:
15356 : : if (pattern910 (x2,
15357 : : E_QImode,
15358 : : E_V2DFmode) == 0
15359 : : && (
15360 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15361 : : (TARGET_AVX512F) &&
15362 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15363 : : (TARGET_AVX512VL)))
15364 : : return 9577; /* avx512vl_storev2df_mask */
15365 : : break;
15366 : :
15367 : : case E_V64QImode:
15368 : : if (pattern910 (x2,
15369 : : E_DImode,
15370 : : E_V64QImode) == 0
15371 : : &&
15372 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15373 : : (TARGET_AVX512BW))
15374 : : return 9578; /* avx512bw_storev64qi_mask */
15375 : : break;
15376 : :
15377 : : case E_V16QImode:
15378 : : if (pattern910 (x2,
15379 : : E_HImode,
15380 : : E_V16QImode) == 0
15381 : : && (
15382 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15383 : : (TARGET_AVX512BW) &&
15384 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15385 : : (TARGET_AVX512VL)))
15386 : : return 9579; /* avx512vl_storev16qi_mask */
15387 : : break;
15388 : :
15389 : : case E_V32QImode:
15390 : : if (pattern910 (x2,
15391 : : E_SImode,
15392 : : E_V32QImode) == 0
15393 : : && (
15394 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15395 : : (TARGET_AVX512BW) &&
15396 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15397 : : (TARGET_AVX512VL)))
15398 : : return 9580; /* avx512vl_storev32qi_mask */
15399 : : break;
15400 : :
15401 : : case E_V32HImode:
15402 : : if (pattern910 (x2,
15403 : : E_SImode,
15404 : : E_V32HImode) == 0
15405 : : &&
15406 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15407 : : (TARGET_AVX512BW))
15408 : : return 9581; /* avx512bw_storev32hi_mask */
15409 : : break;
15410 : :
15411 : : case E_V16HImode:
15412 : : if (pattern910 (x2,
15413 : : E_HImode,
15414 : : E_V16HImode) == 0
15415 : : && (
15416 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15417 : : (TARGET_AVX512BW) &&
15418 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15419 : : (TARGET_AVX512VL)))
15420 : : return 9582; /* avx512vl_storev16hi_mask */
15421 : : break;
15422 : :
15423 : : case E_V8HImode:
15424 : : if (pattern910 (x2,
15425 : : E_QImode,
15426 : : E_V8HImode) == 0
15427 : : && (
15428 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15429 : : (TARGET_AVX512BW) &&
15430 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15431 : : (TARGET_AVX512VL)))
15432 : : return 9583; /* avx512vl_storev8hi_mask */
15433 : : break;
15434 : :
15435 : : case E_V32HFmode:
15436 : : if (pattern910 (x2,
15437 : : E_SImode,
15438 : : E_V32HFmode) == 0
15439 : : &&
15440 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15441 : : (TARGET_AVX512BW))
15442 : : return 9584; /* avx512bw_storev32hf_mask */
15443 : : break;
15444 : :
15445 : : case E_V16HFmode:
15446 : : if (pattern910 (x2,
15447 : : E_HImode,
15448 : : E_V16HFmode) == 0
15449 : : && (
15450 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15451 : : (TARGET_AVX512BW) &&
15452 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15453 : : (TARGET_AVX512VL)))
15454 : : return 9585; /* avx512vl_storev16hf_mask */
15455 : : break;
15456 : :
15457 : : case E_V8HFmode:
15458 : : if (pattern910 (x2,
15459 : : E_QImode,
15460 : : E_V8HFmode) == 0
15461 : : && (
15462 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15463 : : (TARGET_AVX512BW) &&
15464 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15465 : : (TARGET_AVX512VL)))
15466 : : return 9586; /* avx512fp16_storev8hf_mask */
15467 : : break;
15468 : :
15469 : : case E_V32BFmode:
15470 : : if (pattern910 (x2,
15471 : : E_SImode,
15472 : : E_V32BFmode) == 0
15473 : : &&
15474 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : : (TARGET_AVX512BW))
15476 : : return 9587; /* avx512bw_storev32bf_mask */
15477 : : break;
15478 : :
15479 : : case E_V16BFmode:
15480 : : if (pattern910 (x2,
15481 : : E_HImode,
15482 : : E_V16BFmode) == 0
15483 : : && (
15484 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15485 : : (TARGET_AVX512BW) &&
15486 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15487 : : (TARGET_AVX512VL)))
15488 : : return 9588; /* avx512vl_storev16bf_mask */
15489 : : break;
15490 : :
15491 : : case E_V8BFmode:
15492 : : if (pattern910 (x2,
15493 : : E_QImode,
15494 : : E_V8BFmode) == 0
15495 : : && (
15496 : : #line 29174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15497 : : (TARGET_AVX512BW) &&
15498 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15499 : : (TARGET_AVX512VL)))
15500 : : return 9589; /* avx512vl_storev8bf_mask */
15501 : : break;
15502 : :
15503 : : default:
15504 : : break;
15505 : : }
15506 : : }
15507 : : break;
15508 : :
15509 : : default:
15510 : : break;
15511 : : }
15512 : : x5 = XEXP (x1, 0);
15513 : : operands[0] = x5;
15514 : : switch (GET_MODE (operands[0]))
15515 : : {
15516 : : case E_V4SFmode:
15517 : : if (pattern783 (x2,
15518 : : E_V4SFmode,
15519 : : E_V4SImode) != 0
15520 : : || !
15521 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15522 : : (TARGET_AVX))
15523 : : return -1;
15524 : : return 9558; /* avx_maskstoreps */
15525 : :
15526 : : case E_V2DFmode:
15527 : : if (pattern783 (x2,
15528 : : E_V2DFmode,
15529 : : E_V2DImode) != 0
15530 : : || !
15531 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15532 : : (TARGET_AVX))
15533 : : return -1;
15534 : : return 9559; /* avx_maskstorepd */
15535 : :
15536 : : case E_V4DImode:
15537 : : if (!memory_operand (operands[0], E_V4DImode)
15538 : : || GET_MODE (x2) != E_V4DImode
15539 : : || !register_operand (operands[1], E_V4DImode))
15540 : : return -1;
15541 : : x6 = XVECEXP (x2, 0, 1);
15542 : : operands[2] = x6;
15543 : : if (register_operand (operands[2], E_V4DImode)
15544 : : && rtx_equal_p (x4, operands[0])
15545 : : &&
15546 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15547 : : (TARGET_AVX))
15548 : : return 9560; /* avx2_maskstoreq256 */
15549 : : operands[2] = x4;
15550 : : if (!register_operand (operands[2], E_QImode)
15551 : : || !rtx_equal_p (x6, operands[0])
15552 : : || !(
15553 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15554 : : (TARGET_AVX512F) &&
15555 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15556 : : (TARGET_AVX512VL)))
15557 : : return -1;
15558 : : return 9570; /* avx512vl_storev4di_mask */
15559 : :
15560 : : case E_V2DImode:
15561 : : if (!memory_operand (operands[0], E_V2DImode)
15562 : : || GET_MODE (x2) != E_V2DImode
15563 : : || !register_operand (operands[1], E_V2DImode))
15564 : : return -1;
15565 : : x6 = XVECEXP (x2, 0, 1);
15566 : : operands[2] = x6;
15567 : : if (register_operand (operands[2], E_V2DImode)
15568 : : && rtx_equal_p (x4, operands[0])
15569 : : &&
15570 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15571 : : (TARGET_AVX))
15572 : : return 9561; /* avx2_maskstoreq */
15573 : : operands[2] = x4;
15574 : : if (!register_operand (operands[2], E_QImode)
15575 : : || !rtx_equal_p (x6, operands[0])
15576 : : || !(
15577 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15578 : : (TARGET_AVX512F) &&
15579 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15580 : : (TARGET_AVX512VL)))
15581 : : return -1;
15582 : : return 9571; /* avx512vl_storev2di_mask */
15583 : :
15584 : : case E_V8SFmode:
15585 : : if (pattern783 (x2,
15586 : : E_V8SFmode,
15587 : : E_V8SImode) != 0
15588 : : || !
15589 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15590 : : (TARGET_AVX))
15591 : : return -1;
15592 : : return 9562; /* avx_maskstoreps256 */
15593 : :
15594 : : case E_V4DFmode:
15595 : : if (pattern783 (x2,
15596 : : E_V4DFmode,
15597 : : E_V4DImode) != 0
15598 : : || !
15599 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15600 : : (TARGET_AVX))
15601 : : return -1;
15602 : : return 9563; /* avx_maskstorepd256 */
15603 : :
15604 : : case E_V8SImode:
15605 : : if (!memory_operand (operands[0], E_V8SImode)
15606 : : || GET_MODE (x2) != E_V8SImode
15607 : : || !register_operand (operands[1], E_V8SImode))
15608 : : return -1;
15609 : : x6 = XVECEXP (x2, 0, 1);
15610 : : operands[2] = x6;
15611 : : if (register_operand (operands[2], E_V8SImode)
15612 : : && rtx_equal_p (x4, operands[0])
15613 : : &&
15614 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15615 : : (TARGET_AVX))
15616 : : return 9564; /* avx2_maskstored256 */
15617 : : operands[2] = x4;
15618 : : if (!register_operand (operands[2], E_QImode)
15619 : : || !rtx_equal_p (x6, operands[0])
15620 : : || !(
15621 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15622 : : (TARGET_AVX512F) &&
15623 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15624 : : (TARGET_AVX512VL)))
15625 : : return -1;
15626 : : return 9567; /* avx512vl_storev8si_mask */
15627 : :
15628 : : case E_V4SImode:
15629 : : if (!memory_operand (operands[0], E_V4SImode)
15630 : : || GET_MODE (x2) != E_V4SImode
15631 : : || !register_operand (operands[1], E_V4SImode))
15632 : : return -1;
15633 : : x6 = XVECEXP (x2, 0, 1);
15634 : : operands[2] = x6;
15635 : : if (register_operand (operands[2], E_V4SImode)
15636 : : && rtx_equal_p (x4, operands[0])
15637 : : &&
15638 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15639 : : (TARGET_AVX))
15640 : : return 9565; /* avx2_maskstored */
15641 : : operands[2] = x4;
15642 : : if (!register_operand (operands[2], E_QImode)
15643 : : || !rtx_equal_p (x6, operands[0])
15644 : : || !(
15645 : : #line 29145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15646 : : (TARGET_AVX512F) &&
15647 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15648 : : (TARGET_AVX512VL)))
15649 : : return -1;
15650 : : return 9568; /* avx512vl_storev4si_mask */
15651 : :
15652 : : default:
15653 : : return -1;
15654 : : }
15655 : :
15656 : : case CONST_INT:
15657 : : case CONST_DOUBLE:
15658 : : case CONST_VECTOR:
15659 : : operands[2] = x4;
15660 : : x5 = XEXP (x1, 0);
15661 : : operands[0] = x5;
15662 : : switch (pattern785 (x2))
15663 : : {
15664 : : case 0:
15665 : : if (!(
15666 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15667 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15668 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15669 : : (TARGET_AVX512F)))
15670 : : return -1;
15671 : : return 9590; /* *avx512bw_storev64qi_mask_1 */
15672 : :
15673 : : case 1:
15674 : : if (!(
15675 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15676 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15677 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15678 : : (TARGET_AVX)))
15679 : : return -1;
15680 : : return 9591; /* *avx512vl_storev32qi_mask_1 */
15681 : :
15682 : : case 2:
15683 : : if (!
15684 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15685 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15686 : : return -1;
15687 : : return 9592; /* *avx512vl_storev16qi_mask_1 */
15688 : :
15689 : : case 3:
15690 : : if (!(
15691 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15692 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15693 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15694 : : (TARGET_AVX512F)))
15695 : : return -1;
15696 : : return 9593; /* *avx512bw_storev32hi_mask_1 */
15697 : :
15698 : : case 4:
15699 : : if (!(
15700 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15701 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15702 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15703 : : (TARGET_AVX)))
15704 : : return -1;
15705 : : return 9594; /* *avx512vl_storev16hi_mask_1 */
15706 : :
15707 : : case 5:
15708 : : if (!
15709 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15710 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15711 : : return -1;
15712 : : return 9595; /* *avx512vl_storev8hi_mask_1 */
15713 : :
15714 : : case 6:
15715 : : if (!(
15716 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15717 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15718 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15719 : : (TARGET_AVX512F)))
15720 : : return -1;
15721 : : return 9596; /* *avx512f_storev16si_mask_1 */
15722 : :
15723 : : case 7:
15724 : : if (!(
15725 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15726 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15727 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15728 : : (TARGET_AVX)))
15729 : : return -1;
15730 : : return 9597; /* *avx512vl_storev8si_mask_1 */
15731 : :
15732 : : case 8:
15733 : : if (!
15734 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15735 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15736 : : return -1;
15737 : : return 9598; /* *avx512vl_storev4si_mask_1 */
15738 : :
15739 : : case 9:
15740 : : if (!(
15741 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15742 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15743 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15744 : : (TARGET_AVX512F)))
15745 : : return -1;
15746 : : return 9599; /* *avx512f_storev8di_mask_1 */
15747 : :
15748 : : case 10:
15749 : : if (!(
15750 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15751 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15752 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15753 : : (TARGET_AVX)))
15754 : : return -1;
15755 : : return 9600; /* *avx512vl_storev4di_mask_1 */
15756 : :
15757 : : case 11:
15758 : : if (!
15759 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15760 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15761 : : return -1;
15762 : : return 9601; /* *avx512vl_storev2di_mask_1 */
15763 : :
15764 : : case 12:
15765 : : if (!(
15766 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15767 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15768 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15769 : : (TARGET_AVX512F)))
15770 : : return -1;
15771 : : return 9602; /* *avx512bw_storev32hf_mask_1 */
15772 : :
15773 : : case 13:
15774 : : if (!(
15775 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15776 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15777 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15778 : : (TARGET_AVX)))
15779 : : return -1;
15780 : : return 9603; /* *avx512vl_storev16hf_mask_1 */
15781 : :
15782 : : case 14:
15783 : : if (!
15784 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15785 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15786 : : return -1;
15787 : : return 9604; /* *avx512fp16_storev8hf_mask_1 */
15788 : :
15789 : : case 15:
15790 : : if (!(
15791 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15792 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15793 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15794 : : (TARGET_AVX512F)))
15795 : : return -1;
15796 : : return 9605; /* *avx512bw_storev32bf_mask_1 */
15797 : :
15798 : : case 16:
15799 : : if (!(
15800 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15801 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15802 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15803 : : (TARGET_AVX)))
15804 : : return -1;
15805 : : return 9606; /* *avx512vl_storev16bf_mask_1 */
15806 : :
15807 : : case 17:
15808 : : if (!
15809 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15810 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15811 : : return -1;
15812 : : return 9607; /* *avx512vl_storev8bf_mask_1 */
15813 : :
15814 : : case 18:
15815 : : if (!(
15816 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15817 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15818 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15819 : : (TARGET_AVX512F)))
15820 : : return -1;
15821 : : return 9608; /* *avx512f_storev16sf_mask_1 */
15822 : :
15823 : : case 19:
15824 : : if (!(
15825 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15826 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15827 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15828 : : (TARGET_AVX)))
15829 : : return -1;
15830 : : return 9609; /* *avx512vl_storev8sf_mask_1 */
15831 : :
15832 : : case 20:
15833 : : if (!
15834 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15835 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15836 : : return -1;
15837 : : return 9610; /* *avx512vl_storev4sf_mask_1 */
15838 : :
15839 : : case 21:
15840 : : if (!(
15841 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15842 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15843 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15844 : : (TARGET_AVX512F)))
15845 : : return -1;
15846 : : return 9611; /* *avx512f_storev8df_mask_1 */
15847 : :
15848 : : case 22:
15849 : : if (!(
15850 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15851 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15852 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15853 : : (TARGET_AVX)))
15854 : : return -1;
15855 : : return 9612; /* *avx512vl_storev4df_mask_1 */
15856 : :
15857 : : case 23:
15858 : : if (!(
15859 : : #line 29188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15860 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15861 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15862 : : (TARGET_SSE2)))
15863 : : return -1;
15864 : : return 9613; /* *avx512vl_storev2df_mask_1 */
15865 : :
15866 : : default:
15867 : : return -1;
15868 : : }
15869 : :
15870 : : default:
15871 : : return -1;
15872 : : }
15873 : : }
15874 : :
15875 : : int
15876 : : recog_272 (rtx x1 ATTRIBUTE_UNUSED,
15877 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15878 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15879 : : {
15880 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15881 : : rtx x2, x3, x4, x5, x6, x7, x8;
15882 : : int res ATTRIBUTE_UNUSED;
15883 : : x2 = XEXP (x1, 1);
15884 : : x3 = XEXP (x2, 0);
15885 : : x4 = XEXP (x3, 1);
15886 : : if (GET_CODE (x4) != PARALLEL)
15887 : : return -1;
15888 : : x5 = XEXP (x3, 0);
15889 : : operands[1] = x5;
15890 : : x6 = XEXP (x2, 1);
15891 : : operands[2] = x6;
15892 : : switch (XVECLEN (x4, 0))
15893 : : {
15894 : : case 1:
15895 : : x7 = XVECEXP (x4, 0, 0);
15896 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
15897 : : return -1;
15898 : : switch (GET_CODE (operands[2]))
15899 : : {
15900 : : case CONST_INT:
15901 : : case CONST_DOUBLE:
15902 : : case CONST_VECTOR:
15903 : : switch (GET_MODE (operands[0]))
15904 : : {
15905 : : case E_V2DImode:
15906 : : if (pattern1143 (x2,
15907 : : E_DImode,
15908 : : E_V2DImode) != 0
15909 : : || !
15910 : : #line 1866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15911 : : (TARGET_SSE2))
15912 : : return -1;
15913 : : return 2617; /* *sse2_movq128_v2di */
15914 : :
15915 : : case E_V2DFmode:
15916 : : if (pattern1143 (x2,
15917 : : E_DFmode,
15918 : : E_V2DFmode) != 0
15919 : : || !
15920 : : #line 1866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15921 : : (TARGET_SSE2))
15922 : : return -1;
15923 : : return 2618; /* *sse2_movq128_v2df */
15924 : :
15925 : : default:
15926 : : return -1;
15927 : : }
15928 : :
15929 : : case REG:
15930 : : case SUBREG:
15931 : : case MEM:
15932 : : if (!nonimmediate_operand (operands[2], E_DFmode)
15933 : : || pattern1144 (x2,
15934 : : E_V2DFmode,
15935 : : E_DFmode) != 0
15936 : : || !
15937 : : #line 15001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15938 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15939 : : return -1;
15940 : : return 7243; /* sse2_loadhpd */
15941 : :
15942 : : default:
15943 : : return -1;
15944 : : }
15945 : :
15946 : : case 2:
15947 : : x7 = XVECEXP (x4, 0, 0);
15948 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
15949 : : return -1;
15950 : : x8 = XVECEXP (x4, 0, 1);
15951 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15952 : : return -1;
15953 : : switch (GET_MODE (operands[0]))
15954 : : {
15955 : : case E_V4SFmode:
15956 : : if (pattern1144 (x2,
15957 : : E_V4SFmode,
15958 : : E_V2SFmode) != 0
15959 : : || !nonimmediate_operand (operands[2], E_V2SFmode)
15960 : : || !
15961 : : #line 11899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15962 : : (TARGET_SSE))
15963 : : return -1;
15964 : : return 5282; /* sse_loadhps */
15965 : :
15966 : : case E_V4DImode:
15967 : : if (pattern1145 (x2,
15968 : : E_V2DImode,
15969 : : E_V4DImode) != 0
15970 : : || !
15971 : : #line 28868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15972 : : (TARGET_AVX && 1))
15973 : : return -1;
15974 : : return 9530; /* vec_set_hi_v4di */
15975 : :
15976 : : case E_V4DFmode:
15977 : : if (pattern1145 (x2,
15978 : : E_V2DFmode,
15979 : : E_V4DFmode) != 0
15980 : : || !
15981 : : #line 28868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15982 : : (TARGET_AVX && 1))
15983 : : return -1;
15984 : : return 9532; /* vec_set_hi_v4df */
15985 : :
15986 : : default:
15987 : : return -1;
15988 : : }
15989 : :
15990 : : case 8:
15991 : : if (pattern674 (x4) != 0)
15992 : : return -1;
15993 : : switch (GET_MODE (operands[0]))
15994 : : {
15995 : : case E_V16SFmode:
15996 : : if (pattern1145 (x2,
15997 : : E_V8SFmode,
15998 : : E_V16SFmode) != 0
15999 : : || !
16000 : : #line 20398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16001 : : (TARGET_AVX512DQ))
16002 : : return -1;
16003 : : return 8438; /* vec_set_hi_v16sf */
16004 : :
16005 : : case E_V16SImode:
16006 : : if (pattern1145 (x2,
16007 : : E_V8SImode,
16008 : : E_V16SImode) != 0
16009 : : || !
16010 : : #line 20398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16011 : : (TARGET_AVX512DQ))
16012 : : return -1;
16013 : : return 8440; /* vec_set_hi_v16si */
16014 : :
16015 : : case E_V16HImode:
16016 : : if (pattern1145 (x2,
16017 : : E_V8HImode,
16018 : : E_V16HImode) != 0
16019 : : || !
16020 : : #line 28963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16021 : : (TARGET_AVX))
16022 : : return -1;
16023 : : return 9545; /* vec_set_hi_v16hi */
16024 : :
16025 : : case E_V16HFmode:
16026 : : if (pattern1145 (x2,
16027 : : E_V8HFmode,
16028 : : E_V16HFmode) != 0
16029 : : || !
16030 : : #line 28963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16031 : : (TARGET_AVX))
16032 : : return -1;
16033 : : return 9546; /* vec_set_hi_v16hf */
16034 : :
16035 : : case E_V16BFmode:
16036 : : if (pattern1145 (x2,
16037 : : E_V8BFmode,
16038 : : E_V16BFmode) != 0
16039 : : || !
16040 : : #line 28963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16041 : : (TARGET_AVX))
16042 : : return -1;
16043 : : return 9547; /* vec_set_hi_v16bf */
16044 : :
16045 : : default:
16046 : : return -1;
16047 : : }
16048 : :
16049 : : case 4:
16050 : : if (pattern675 (x4,
16051 : : 3,
16052 : : 2,
16053 : : 1) != 0)
16054 : : return -1;
16055 : : switch (GET_MODE (operands[0]))
16056 : : {
16057 : : case E_V8DFmode:
16058 : : if (pattern1145 (x2,
16059 : : E_V4DFmode,
16060 : : E_V8DFmode) != 0
16061 : : || !
16062 : : #line 20428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16063 : : (TARGET_AVX512F))
16064 : : return -1;
16065 : : return 8446; /* vec_set_hi_v8df */
16066 : :
16067 : : case E_V8DImode:
16068 : : if (pattern1145 (x2,
16069 : : E_V4DImode,
16070 : : E_V8DImode) != 0
16071 : : || !
16072 : : #line 20428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16073 : : (TARGET_AVX512F))
16074 : : return -1;
16075 : : return 8448; /* vec_set_hi_v8di */
16076 : :
16077 : : case E_V8SImode:
16078 : : if (pattern1145 (x2,
16079 : : E_V4SImode,
16080 : : E_V8SImode) != 0
16081 : : || !
16082 : : #line 28916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16083 : : (TARGET_AVX))
16084 : : return -1;
16085 : : return 9538; /* vec_set_hi_v8si */
16086 : :
16087 : : case E_V8SFmode:
16088 : : if (pattern1145 (x2,
16089 : : E_V4SFmode,
16090 : : E_V8SFmode) != 0
16091 : : || !
16092 : : #line 28916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16093 : : (TARGET_AVX))
16094 : : return -1;
16095 : : return 9540; /* vec_set_hi_v8sf */
16096 : :
16097 : : default:
16098 : : return -1;
16099 : : }
16100 : :
16101 : : case 16:
16102 : : if (pattern786 (x4,
16103 : : 6,
16104 : : 5,
16105 : : 4) != 0
16106 : : || pattern1484 (x4,
16107 : : 11,
16108 : : 10,
16109 : : 9,
16110 : : 8,
16111 : : 7) != 0
16112 : : || pattern1145 (x2,
16113 : : E_V16QImode,
16114 : : E_V32QImode) != 0
16115 : : || !
16116 : : #line 29015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16117 : : (TARGET_AVX))
16118 : : return -1;
16119 : : return 9549; /* vec_set_hi_v32qi */
16120 : :
16121 : : default:
16122 : : return -1;
16123 : : }
16124 : : }
16125 : :
16126 : : int
16127 : : recog_274 (rtx x1 ATTRIBUTE_UNUSED,
16128 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16129 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16130 : : {
16131 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16132 : : rtx x2, x3, x4;
16133 : : int res ATTRIBUTE_UNUSED;
16134 : : x2 = XEXP (x1, 1);
16135 : : operands[3] = x2;
16136 : : x3 = XEXP (x2, 0);
16137 : : operands[1] = x3;
16138 : : x4 = XEXP (x2, 1);
16139 : : operands[2] = x4;
16140 : : switch (GET_MODE (operands[0]))
16141 : : {
16142 : : case E_V8SFmode:
16143 : : if (pattern794 (
16144 : : E_V8SFmode) != 0)
16145 : : return -1;
16146 : : if ((
16147 : : #line 4505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16148 : : (TARGET_SSE
16149 : : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
16150 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16151 : : (TARGET_AVX)))
16152 : : return 3304; /* *avx_maskcmpv8sf3_comm */
16153 : : if (!(
16154 : : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16155 : : (TARGET_SSE) &&
16156 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16157 : : (TARGET_AVX)))
16158 : : return -1;
16159 : : return 3308; /* avx_maskcmpv8sf3 */
16160 : :
16161 : : case E_V4SFmode:
16162 : : if (pattern794 (
16163 : : E_V4SFmode) != 0)
16164 : : return -1;
16165 : : if (
16166 : : #line 4505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16167 : : (TARGET_SSE
16168 : : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE))
16169 : : return 3305; /* *sse_maskcmpv4sf3_comm */
16170 : : if (!
16171 : : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16172 : : (TARGET_SSE))
16173 : : return -1;
16174 : : return 3309; /* sse_maskcmpv4sf3 */
16175 : :
16176 : : case E_V4DFmode:
16177 : : if (pattern794 (
16178 : : E_V4DFmode) != 0)
16179 : : return -1;
16180 : : if ((
16181 : : #line 4505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16182 : : (TARGET_SSE
16183 : : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
16184 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16185 : : (TARGET_AVX)))
16186 : : return 3306; /* *avx_maskcmpv4df3_comm */
16187 : : if (!(
16188 : : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16189 : : (TARGET_SSE) &&
16190 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16191 : : (TARGET_AVX)))
16192 : : return -1;
16193 : : return 3310; /* avx_maskcmpv4df3 */
16194 : :
16195 : : case E_V2DFmode:
16196 : : if (pattern794 (
16197 : : E_V2DFmode) != 0)
16198 : : return -1;
16199 : : if ((
16200 : : #line 4505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16201 : : (TARGET_SSE
16202 : : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
16203 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16204 : : (TARGET_SSE2)))
16205 : : return 3307; /* *sse2_maskcmpv2df3_comm */
16206 : : if (!(
16207 : : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16208 : : (TARGET_SSE) &&
16209 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16210 : : (TARGET_SSE2)))
16211 : : return -1;
16212 : : return 3311; /* sse2_maskcmpv2df3 */
16213 : :
16214 : : default:
16215 : : return -1;
16216 : : }
16217 : : }
16218 : :
16219 : : int
16220 : : recog_275 (rtx x1 ATTRIBUTE_UNUSED,
16221 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16222 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16223 : : {
16224 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16225 : : rtx x2, x3, x4, x5, x6, x7, x8;
16226 : : int res ATTRIBUTE_UNUSED;
16227 : : x2 = XEXP (x1, 1);
16228 : : x3 = XEXP (x2, 0);
16229 : : switch (GET_CODE (x3))
16230 : : {
16231 : : case REG:
16232 : : case SUBREG:
16233 : : case MEM:
16234 : : operands[1] = x3;
16235 : : x4 = XEXP (x2, 1);
16236 : : operands[2] = x4;
16237 : : switch (GET_MODE (operands[0]))
16238 : : {
16239 : : case E_V32QImode:
16240 : : if (pattern3 (x2,
16241 : : E_V32QImode) != 0
16242 : : || !
16243 : : #line 18208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16244 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16245 : : return -1;
16246 : : return 7915; /* *avx2_eqv32qi3 */
16247 : :
16248 : : case E_V16HImode:
16249 : : if (pattern3 (x2,
16250 : : E_V16HImode) != 0
16251 : : || !
16252 : : #line 18208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16253 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16254 : : return -1;
16255 : : return 7916; /* *avx2_eqv16hi3 */
16256 : :
16257 : : case E_V8SImode:
16258 : : if (pattern3 (x2,
16259 : : E_V8SImode) != 0
16260 : : || !
16261 : : #line 18208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16262 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16263 : : return -1;
16264 : : return 7917; /* *avx2_eqv8si3 */
16265 : :
16266 : : case E_V4DImode:
16267 : : if (pattern3 (x2,
16268 : : E_V4DImode) != 0
16269 : : || !
16270 : : #line 18208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16271 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16272 : : return -1;
16273 : : return 7918; /* *avx2_eqv4di3 */
16274 : :
16275 : : case E_V2DImode:
16276 : : if (pattern26 (x2,
16277 : : E_V2DImode) != 0
16278 : : || !
16279 : : #line 18509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16280 : : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16281 : : return -1;
16282 : : return 7981; /* *sse4_1_eqv2di3 */
16283 : :
16284 : : case E_V16QImode:
16285 : : if (pattern26 (x2,
16286 : : E_V16QImode) != 0
16287 : : || !
16288 : : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16289 : : (TARGET_SSE2
16290 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16291 : : return -1;
16292 : : return 7982; /* *sse2_eqv16qi3 */
16293 : :
16294 : : case E_V8HImode:
16295 : : if (pattern26 (x2,
16296 : : E_V8HImode) != 0
16297 : : || !
16298 : : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16299 : : (TARGET_SSE2
16300 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16301 : : return -1;
16302 : : return 7983; /* *sse2_eqv8hi3 */
16303 : :
16304 : : case E_V4SImode:
16305 : : if (pattern26 (x2,
16306 : : E_V4SImode) != 0
16307 : : || !
16308 : : #line 18526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16309 : : (TARGET_SSE2
16310 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16311 : : return -1;
16312 : : return 7984; /* *sse2_eqv4si3 */
16313 : :
16314 : : default:
16315 : : return -1;
16316 : : }
16317 : :
16318 : : case EQ:
16319 : : x5 = XEXP (x3, 0);
16320 : : if (GET_CODE (x5) != EQ)
16321 : : return -1;
16322 : : x6 = XEXP (x5, 0);
16323 : : operands[1] = x6;
16324 : : x7 = XEXP (x5, 1);
16325 : : operands[2] = x7;
16326 : : x8 = XEXP (x3, 1);
16327 : : operands[3] = x8;
16328 : : x4 = XEXP (x2, 1);
16329 : : operands[4] = x4;
16330 : : switch (GET_MODE (operands[0]))
16331 : : {
16332 : : case E_V32QImode:
16333 : : if (pattern1146 (x2,
16334 : : E_V32QImode) != 0
16335 : : || !(
16336 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16337 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
16338 : : #line 579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16339 : : (TARGET_AVX2)))
16340 : : return -1;
16341 : : return 7919; /* *eqv32qi3_2_negate */
16342 : :
16343 : : case E_V16QImode:
16344 : : if (pattern1146 (x2,
16345 : : E_V16QImode) != 0
16346 : : || !
16347 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16348 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
16349 : : return -1;
16350 : : return 7920; /* *eqv16qi3_2_negate */
16351 : :
16352 : : case E_V16HImode:
16353 : : if (pattern1146 (x2,
16354 : : E_V16HImode) != 0
16355 : : || !(
16356 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16357 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
16358 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16359 : : (TARGET_AVX2)))
16360 : : return -1;
16361 : : return 7921; /* *eqv16hi3_2_negate */
16362 : :
16363 : : case E_V8HImode:
16364 : : if (pattern1146 (x2,
16365 : : E_V8HImode) != 0
16366 : : || !
16367 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16368 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
16369 : : return -1;
16370 : : return 7922; /* *eqv8hi3_2_negate */
16371 : :
16372 : : case E_V8SImode:
16373 : : if (pattern1146 (x2,
16374 : : E_V8SImode) != 0
16375 : : || !(
16376 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16377 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
16378 : : #line 581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16379 : : (TARGET_AVX2)))
16380 : : return -1;
16381 : : return 7923; /* *eqv8si3_2_negate */
16382 : :
16383 : : case E_V4SImode:
16384 : : if (pattern1146 (x2,
16385 : : E_V4SImode) != 0
16386 : : || !
16387 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16388 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
16389 : : return -1;
16390 : : return 7924; /* *eqv4si3_2_negate */
16391 : :
16392 : : case E_V4DImode:
16393 : : if (pattern1146 (x2,
16394 : : E_V4DImode) != 0
16395 : : || !(
16396 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16397 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
16398 : : #line 582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16399 : : (TARGET_AVX2)))
16400 : : return -1;
16401 : : return 7925; /* *eqv4di3_2_negate */
16402 : :
16403 : : case E_V2DImode:
16404 : : if (pattern1146 (x2,
16405 : : E_V2DImode) != 0
16406 : : || !
16407 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16408 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
16409 : : return -1;
16410 : : return 7926; /* *eqv2di3_2_negate */
16411 : :
16412 : : default:
16413 : : return -1;
16414 : : }
16415 : :
16416 : : default:
16417 : : return -1;
16418 : : }
16419 : : }
16420 : :
16421 : : int
16422 : : recog_279 (rtx x1 ATTRIBUTE_UNUSED,
16423 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16424 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16425 : : {
16426 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16427 : : rtx x2, x3, x4, x5, x6, x7;
16428 : : int res ATTRIBUTE_UNUSED;
16429 : : x2 = XEXP (x1, 1);
16430 : : x3 = XEXP (x2, 1);
16431 : : x4 = XVECEXP (x3, 0, 0);
16432 : : if (GET_CODE (x4) != CONST_INT)
16433 : : return -1;
16434 : : x5 = XVECEXP (x3, 0, 1);
16435 : : if (GET_CODE (x5) == CONST_INT)
16436 : : {
16437 : : res = recog_277 (x1, insn, pnum_clobbers);
16438 : : if (res >= 0)
16439 : : return res;
16440 : : }
16441 : : operands[3] = x4;
16442 : : res = recog_278 (x1, insn, pnum_clobbers);
16443 : : if (res >= 0)
16444 : : return res;
16445 : : if (GET_CODE (x5) != CONST_INT)
16446 : : return -1;
16447 : : x6 = XVECEXP (x3, 0, 2);
16448 : : if (GET_CODE (x6) != CONST_INT)
16449 : : return -1;
16450 : : x7 = XVECEXP (x3, 0, 3);
16451 : : if (GET_CODE (x7) != CONST_INT
16452 : : || pattern1316 (x2,
16453 : : E_V4SImode,
16454 : : E_V8SImode) != 0)
16455 : : return -1;
16456 : : switch (XWINT (x4, 0))
16457 : : {
16458 : : case 2L:
16459 : : if (XWINT (x5, 0) != 6L
16460 : : || XWINT (x6, 0) != 3L
16461 : : || XWINT (x7, 0) != 7L
16462 : : || !
16463 : : #line 20045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16464 : : (TARGET_SSE2 && 1))
16465 : : return -1;
16466 : : return 8408; /* vec_interleave_highv4si */
16467 : :
16468 : : case 0L:
16469 : : if (XWINT (x5, 0) != 4L
16470 : : || XWINT (x6, 0) != 1L
16471 : : || XWINT (x7, 0) != 5L
16472 : : || !
16473 : : #line 20099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16474 : : (TARGET_SSE2 && 1))
16475 : : return -1;
16476 : : return 8414; /* vec_interleave_lowv4si */
16477 : :
16478 : : default:
16479 : : return -1;
16480 : : }
16481 : : }
16482 : :
16483 : : int
16484 : : recog_282 (rtx x1 ATTRIBUTE_UNUSED,
16485 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16486 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16487 : : {
16488 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16489 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16490 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16491 : : rtx x18, x19, x20, x21;
16492 : : int res ATTRIBUTE_UNUSED;
16493 : : x2 = XEXP (x1, 1);
16494 : : x3 = XEXP (x2, 1);
16495 : : if (pattern925 (x3) != 0)
16496 : : return -1;
16497 : : x4 = XVECEXP (x3, 0, 0);
16498 : : switch (XWINT (x4, 0))
16499 : : {
16500 : : case 2L:
16501 : : x5 = XVECEXP (x3, 0, 1);
16502 : : if (XWINT (x5, 0) != 18L)
16503 : : return -1;
16504 : : x6 = XVECEXP (x3, 0, 2);
16505 : : if (XWINT (x6, 0) != 3L)
16506 : : return -1;
16507 : : x7 = XVECEXP (x3, 0, 3);
16508 : : if (XWINT (x7, 0) != 19L
16509 : : || pattern1851 (x3) != 0)
16510 : : return -1;
16511 : : x8 = XVECEXP (x3, 0, 8);
16512 : : if (XWINT (x8, 0) != 10L)
16513 : : return -1;
16514 : : x9 = XVECEXP (x3, 0, 9);
16515 : : if (XWINT (x9, 0) != 26L)
16516 : : return -1;
16517 : : x10 = XVECEXP (x3, 0, 10);
16518 : : if (XWINT (x10, 0) != 11L)
16519 : : return -1;
16520 : : x11 = XVECEXP (x3, 0, 11);
16521 : : if (XWINT (x11, 0) != 27L
16522 : : || pattern1886 (x2) != 0)
16523 : : return -1;
16524 : : switch (GET_MODE (operands[0]))
16525 : : {
16526 : : case E_V16SFmode:
16527 : : if (pattern1418 (x2,
16528 : : E_V16SFmode,
16529 : : E_V32SFmode) != 0
16530 : : || !
16531 : : #line 11429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16532 : : (TARGET_AVX512F))
16533 : : return -1;
16534 : : return 5252; /* *avx512f_unpckhps512 */
16535 : :
16536 : : case E_V16SImode:
16537 : : if (pattern1418 (x2,
16538 : : E_V16SImode,
16539 : : E_V32SImode) != 0
16540 : : || !
16541 : : #line 20030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16542 : : (TARGET_AVX512F))
16543 : : return -1;
16544 : : return 8406; /* *avx512f_interleave_highv16si */
16545 : :
16546 : : default:
16547 : : return -1;
16548 : : }
16549 : :
16550 : : case 0L:
16551 : : x5 = XVECEXP (x3, 0, 1);
16552 : : switch (XWINT (x5, 0))
16553 : : {
16554 : : case 16L:
16555 : : x6 = XVECEXP (x3, 0, 2);
16556 : : if (XWINT (x6, 0) != 1L)
16557 : : return -1;
16558 : : x7 = XVECEXP (x3, 0, 3);
16559 : : if (XWINT (x7, 0) != 17L)
16560 : : return -1;
16561 : : x12 = XEXP (x2, 0);
16562 : : x13 = XEXP (x12, 1);
16563 : : operands[2] = x13;
16564 : : x14 = XVECEXP (x3, 0, 4);
16565 : : switch (XWINT (x14, 0))
16566 : : {
16567 : : case 4L:
16568 : : x15 = XVECEXP (x3, 0, 5);
16569 : : if (XWINT (x15, 0) != 20L)
16570 : : return -1;
16571 : : x16 = XVECEXP (x3, 0, 6);
16572 : : if (XWINT (x16, 0) != 5L)
16573 : : return -1;
16574 : : x17 = XVECEXP (x3, 0, 7);
16575 : : if (XWINT (x17, 0) != 21L)
16576 : : return -1;
16577 : : x8 = XVECEXP (x3, 0, 8);
16578 : : if (XWINT (x8, 0) != 8L)
16579 : : return -1;
16580 : : x9 = XVECEXP (x3, 0, 9);
16581 : : if (XWINT (x9, 0) != 24L)
16582 : : return -1;
16583 : : x10 = XVECEXP (x3, 0, 10);
16584 : : if (XWINT (x10, 0) != 9L)
16585 : : return -1;
16586 : : x11 = XVECEXP (x3, 0, 11);
16587 : : if (XWINT (x11, 0) != 25L)
16588 : : return -1;
16589 : : x18 = XVECEXP (x3, 0, 12);
16590 : : if (XWINT (x18, 0) != 12L)
16591 : : return -1;
16592 : : x19 = XVECEXP (x3, 0, 13);
16593 : : if (XWINT (x19, 0) != 28L)
16594 : : return -1;
16595 : : x20 = XVECEXP (x3, 0, 14);
16596 : : if (XWINT (x20, 0) != 13L)
16597 : : return -1;
16598 : : x21 = XVECEXP (x3, 0, 15);
16599 : : if (XWINT (x21, 0) != 29L)
16600 : : return -1;
16601 : : switch (GET_MODE (operands[0]))
16602 : : {
16603 : : case E_V16SFmode:
16604 : : if (pattern1418 (x2,
16605 : : E_V16SFmode,
16606 : : E_V32SFmode) != 0
16607 : : || !
16608 : : #line 11517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16609 : : (TARGET_AVX512F))
16610 : : return -1;
16611 : : return 5258; /* *avx512f_unpcklps512 */
16612 : :
16613 : : case E_V16SImode:
16614 : : if (pattern1418 (x2,
16615 : : E_V16SImode,
16616 : : E_V32SImode) != 0
16617 : : || !
16618 : : #line 20085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16619 : : (TARGET_AVX512F))
16620 : : return -1;
16621 : : return 8412; /* *avx512f_interleave_lowv16si */
16622 : :
16623 : : default:
16624 : : return -1;
16625 : : }
16626 : :
16627 : : case 2L:
16628 : : x15 = XVECEXP (x3, 0, 5);
16629 : : if (XWINT (x15, 0) != 18L)
16630 : : return -1;
16631 : : x16 = XVECEXP (x3, 0, 6);
16632 : : if (XWINT (x16, 0) != 3L)
16633 : : return -1;
16634 : : x17 = XVECEXP (x3, 0, 7);
16635 : : if (XWINT (x17, 0) != 19L)
16636 : : return -1;
16637 : : x8 = XVECEXP (x3, 0, 8);
16638 : : switch (XWINT (x8, 0))
16639 : : {
16640 : : case 4L:
16641 : : x9 = XVECEXP (x3, 0, 9);
16642 : : if (XWINT (x9, 0) != 20L)
16643 : : return -1;
16644 : : x10 = XVECEXP (x3, 0, 10);
16645 : : if (XWINT (x10, 0) != 5L)
16646 : : return -1;
16647 : : x11 = XVECEXP (x3, 0, 11);
16648 : : if (XWINT (x11, 0) != 21L)
16649 : : return -1;
16650 : : x18 = XVECEXP (x3, 0, 12);
16651 : : if (XWINT (x18, 0) != 6L)
16652 : : return -1;
16653 : : x19 = XVECEXP (x3, 0, 13);
16654 : : if (XWINT (x19, 0) != 22L)
16655 : : return -1;
16656 : : x20 = XVECEXP (x3, 0, 14);
16657 : : if (XWINT (x20, 0) != 7L)
16658 : : return -1;
16659 : : x21 = XVECEXP (x3, 0, 15);
16660 : : if (XWINT (x21, 0) != 23L
16661 : : || pattern1488 (x2,
16662 : : E_V16QImode,
16663 : : E_V32QImode) != 0
16664 : : || !
16665 : : #line 19854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16666 : : (TARGET_SSE2 && 1 && 1))
16667 : : return -1;
16668 : : return 8366; /* vec_interleave_lowv16qi */
16669 : :
16670 : : case 8L:
16671 : : x9 = XVECEXP (x3, 0, 9);
16672 : : if (XWINT (x9, 0) != 24L)
16673 : : return -1;
16674 : : x10 = XVECEXP (x3, 0, 10);
16675 : : if (XWINT (x10, 0) != 9L)
16676 : : return -1;
16677 : : x11 = XVECEXP (x3, 0, 11);
16678 : : if (XWINT (x11, 0) != 25L)
16679 : : return -1;
16680 : : x18 = XVECEXP (x3, 0, 12);
16681 : : if (XWINT (x18, 0) != 10L)
16682 : : return -1;
16683 : : x19 = XVECEXP (x3, 0, 13);
16684 : : if (XWINT (x19, 0) != 26L)
16685 : : return -1;
16686 : : x20 = XVECEXP (x3, 0, 14);
16687 : : if (XWINT (x20, 0) != 11L)
16688 : : return -1;
16689 : : x21 = XVECEXP (x3, 0, 15);
16690 : : if (XWINT (x21, 0) != 27L)
16691 : : return -1;
16692 : : switch (GET_MODE (operands[0]))
16693 : : {
16694 : : case E_V16HImode:
16695 : : if (pattern1418 (x2,
16696 : : E_V16HImode,
16697 : : E_V32HImode) != 0
16698 : : || !
16699 : : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16700 : : (TARGET_AVX2 && 1 && 1))
16701 : : return -1;
16702 : : return 8392; /* avx2_interleave_lowv16hi */
16703 : :
16704 : : case E_V16HFmode:
16705 : : if (pattern1418 (x2,
16706 : : E_V16HFmode,
16707 : : E_V32HFmode) != 0
16708 : : || !
16709 : : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16710 : : (TARGET_AVX2 && 1 && 1))
16711 : : return -1;
16712 : : return 8394; /* avx2_interleave_lowv16hf */
16713 : :
16714 : : case E_V16BFmode:
16715 : : if (pattern1418 (x2,
16716 : : E_V16BFmode,
16717 : : E_V32BFmode) != 0
16718 : : || !
16719 : : #line 19974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16720 : : (TARGET_AVX2 && 1 && 1))
16721 : : return -1;
16722 : : return 8396; /* avx2_interleave_lowv16bf */
16723 : :
16724 : : default:
16725 : : return -1;
16726 : : }
16727 : :
16728 : : default:
16729 : : return -1;
16730 : : }
16731 : :
16732 : : default:
16733 : : return -1;
16734 : : }
16735 : :
16736 : : case 0L:
16737 : : if (pattern1670 (x3) != 0)
16738 : : return -1;
16739 : : x8 = XVECEXP (x3, 0, 8);
16740 : : if (XWINT (x8, 0) != 8L)
16741 : : return -1;
16742 : : x9 = XVECEXP (x3, 0, 9);
16743 : : if (XWINT (x9, 0) != 8L)
16744 : : return -1;
16745 : : x10 = XVECEXP (x3, 0, 10);
16746 : : if (XWINT (x10, 0) != 10L)
16747 : : return -1;
16748 : : x11 = XVECEXP (x3, 0, 11);
16749 : : if (XWINT (x11, 0) != 10L)
16750 : : return -1;
16751 : : x18 = XVECEXP (x3, 0, 12);
16752 : : if (XWINT (x18, 0) != 12L)
16753 : : return -1;
16754 : : x19 = XVECEXP (x3, 0, 13);
16755 : : if (XWINT (x19, 0) != 12L)
16756 : : return -1;
16757 : : x20 = XVECEXP (x3, 0, 14);
16758 : : if (XWINT (x20, 0) != 14L)
16759 : : return -1;
16760 : : x21 = XVECEXP (x3, 0, 15);
16761 : : if (XWINT (x21, 0) != 14L
16762 : : || pattern1804 (x2,
16763 : : E_V16SFmode,
16764 : : E_V32SFmode) != 0
16765 : : || !
16766 : : #line 11710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16767 : : (TARGET_AVX512F))
16768 : : return -1;
16769 : : return 5274; /* *avx512f_movsldup512 */
16770 : :
16771 : : default:
16772 : : return -1;
16773 : : }
16774 : :
16775 : : case 1L:
16776 : : x5 = XVECEXP (x3, 0, 1);
16777 : : if (XWINT (x5, 0) != 1L)
16778 : : return -1;
16779 : : x6 = XVECEXP (x3, 0, 2);
16780 : : if (XWINT (x6, 0) != 3L)
16781 : : return -1;
16782 : : x7 = XVECEXP (x3, 0, 3);
16783 : : if (XWINT (x7, 0) != 3L)
16784 : : return -1;
16785 : : x14 = XVECEXP (x3, 0, 4);
16786 : : if (XWINT (x14, 0) != 5L)
16787 : : return -1;
16788 : : x15 = XVECEXP (x3, 0, 5);
16789 : : if (XWINT (x15, 0) != 5L)
16790 : : return -1;
16791 : : x16 = XVECEXP (x3, 0, 6);
16792 : : if (XWINT (x16, 0) != 7L)
16793 : : return -1;
16794 : : x17 = XVECEXP (x3, 0, 7);
16795 : : if (XWINT (x17, 0) != 7L)
16796 : : return -1;
16797 : : x8 = XVECEXP (x3, 0, 8);
16798 : : if (XWINT (x8, 0) != 9L)
16799 : : return -1;
16800 : : x9 = XVECEXP (x3, 0, 9);
16801 : : if (XWINT (x9, 0) != 9L)
16802 : : return -1;
16803 : : x10 = XVECEXP (x3, 0, 10);
16804 : : if (XWINT (x10, 0) != 11L)
16805 : : return -1;
16806 : : x11 = XVECEXP (x3, 0, 11);
16807 : : if (XWINT (x11, 0) != 11L)
16808 : : return -1;
16809 : : x18 = XVECEXP (x3, 0, 12);
16810 : : if (XWINT (x18, 0) != 13L)
16811 : : return -1;
16812 : : x19 = XVECEXP (x3, 0, 13);
16813 : : if (XWINT (x19, 0) != 13L)
16814 : : return -1;
16815 : : x20 = XVECEXP (x3, 0, 14);
16816 : : if (XWINT (x20, 0) != 15L)
16817 : : return -1;
16818 : : x21 = XVECEXP (x3, 0, 15);
16819 : : if (XWINT (x21, 0) != 15L
16820 : : || pattern1804 (x2,
16821 : : E_V16SFmode,
16822 : : E_V32SFmode) != 0
16823 : : || !
16824 : : #line 11657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16825 : : (TARGET_AVX512F))
16826 : : return -1;
16827 : : return 5268; /* *avx512f_movshdup512 */
16828 : :
16829 : : case 8L:
16830 : : x5 = XVECEXP (x3, 0, 1);
16831 : : if (XWINT (x5, 0) != 24L)
16832 : : return -1;
16833 : : x6 = XVECEXP (x3, 0, 2);
16834 : : if (XWINT (x6, 0) != 9L)
16835 : : return -1;
16836 : : x7 = XVECEXP (x3, 0, 3);
16837 : : if (XWINT (x7, 0) != 25L)
16838 : : return -1;
16839 : : x14 = XVECEXP (x3, 0, 4);
16840 : : if (XWINT (x14, 0) != 10L)
16841 : : return -1;
16842 : : x15 = XVECEXP (x3, 0, 5);
16843 : : if (XWINT (x15, 0) != 26L)
16844 : : return -1;
16845 : : x16 = XVECEXP (x3, 0, 6);
16846 : : if (XWINT (x16, 0) != 11L)
16847 : : return -1;
16848 : : x17 = XVECEXP (x3, 0, 7);
16849 : : if (XWINT (x17, 0) != 27L
16850 : : || pattern1871 (x3) != 0)
16851 : : return -1;
16852 : : x18 = XVECEXP (x3, 0, 12);
16853 : : if (XWINT (x18, 0) != 14L)
16854 : : return -1;
16855 : : x19 = XVECEXP (x3, 0, 13);
16856 : : if (XWINT (x19, 0) != 30L)
16857 : : return -1;
16858 : : x20 = XVECEXP (x3, 0, 14);
16859 : : if (XWINT (x20, 0) != 15L)
16860 : : return -1;
16861 : : x21 = XVECEXP (x3, 0, 15);
16862 : : if (XWINT (x21, 0) != 31L
16863 : : || pattern1316 (x2,
16864 : : E_V16QImode,
16865 : : E_V32QImode) != 0
16866 : : || !
16867 : : #line 19758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16868 : : (TARGET_SSE2 && 1 && 1))
16869 : : return -1;
16870 : : return 8360; /* vec_interleave_highv16qi */
16871 : :
16872 : : case 4L:
16873 : : x5 = XVECEXP (x3, 0, 1);
16874 : : if (XWINT (x5, 0) != 20L)
16875 : : return -1;
16876 : : x6 = XVECEXP (x3, 0, 2);
16877 : : if (XWINT (x6, 0) != 5L)
16878 : : return -1;
16879 : : x7 = XVECEXP (x3, 0, 3);
16880 : : if (XWINT (x7, 0) != 21L
16881 : : || pattern1851 (x3) != 0
16882 : : || pattern1871 (x3) != 0
16883 : : || pattern1886 (x2) != 0)
16884 : : return -1;
16885 : : switch (GET_MODE (operands[0]))
16886 : : {
16887 : : case E_V16HImode:
16888 : : if (pattern1418 (x2,
16889 : : E_V16HImode,
16890 : : E_V32HImode) != 0
16891 : : || !
16892 : : #line 19906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16893 : : (TARGET_AVX2 && 1 && 1))
16894 : : return -1;
16895 : : return 8374; /* avx2_interleave_highv16hi */
16896 : :
16897 : : case E_V16HFmode:
16898 : : if (pattern1418 (x2,
16899 : : E_V16HFmode,
16900 : : E_V32HFmode) != 0
16901 : : || !
16902 : : #line 19906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16903 : : (TARGET_AVX2 && 1 && 1))
16904 : : return -1;
16905 : : return 8376; /* avx2_interleave_highv16hf */
16906 : :
16907 : : case E_V16BFmode:
16908 : : if (pattern1418 (x2,
16909 : : E_V16BFmode,
16910 : : E_V32BFmode) != 0
16911 : : || !
16912 : : #line 19906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16913 : : (TARGET_AVX2 && 1 && 1))
16914 : : return -1;
16915 : : return 8378; /* avx2_interleave_highv16bf */
16916 : :
16917 : : default:
16918 : : return -1;
16919 : : }
16920 : :
16921 : : default:
16922 : : return -1;
16923 : : }
16924 : : }
16925 : :
16926 : : int
16927 : : recog_289 (rtx x1 ATTRIBUTE_UNUSED,
16928 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16929 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16930 : : {
16931 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16932 : : rtx x2, x3, x4, x5, x6;
16933 : : int res ATTRIBUTE_UNUSED;
16934 : : x2 = XEXP (x1, 1);
16935 : : x3 = XEXP (x2, 1);
16936 : : x4 = XVECEXP (x3, 0, 1);
16937 : : operands[3] = x4;
16938 : : x5 = XVECEXP (x3, 0, 2);
16939 : : operands[4] = x5;
16940 : : x6 = XVECEXP (x3, 0, 3);
16941 : : operands[5] = x6;
16942 : : switch (GET_MODE (operands[0]))
16943 : : {
16944 : : case E_V4SFmode:
16945 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
16946 : : || GET_MODE (x2) != E_V4SFmode
16947 : : || pattern1489 (
16948 : : E_V16SFmode) != 0
16949 : : || !
16950 : : #line 12796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16951 : : (TARGET_AVX512F
16952 : : && INTVAL (operands[2]) % 4 == 0
16953 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
16954 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16955 : : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
16956 : : return -1;
16957 : : return 5348; /* *avx512f_vextractf32x4_1 */
16958 : :
16959 : : case E_V4SImode:
16960 : : if (GET_MODE (x2) != E_V4SImode)
16961 : : return -1;
16962 : : if (nonimmediate_operand (operands[0], E_V4SImode)
16963 : : && pattern1489 (
16964 : : E_V16SImode) == 0
16965 : : &&
16966 : : #line 12796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16967 : : (TARGET_AVX512F
16968 : : && INTVAL (operands[2]) % 4 == 0
16969 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
16970 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16971 : : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
16972 : : return 5349; /* *avx512f_vextracti32x4_1 */
16973 : : if (!register_operand (operands[0], E_V4SImode)
16974 : : || !vector_operand (operands[1], E_V4SImode)
16975 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
16976 : : || !const_0_to_3_operand (operands[3], E_VOIDmode)
16977 : : || !const_0_to_3_operand (operands[4], E_VOIDmode)
16978 : : || !const_0_to_3_operand (operands[5], E_VOIDmode)
16979 : : || !
16980 : : #line 20978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16981 : : (TARGET_SSE2 && 1))
16982 : : return -1;
16983 : : return 8478; /* sse2_pshufd_1 */
16984 : :
16985 : : default:
16986 : : return -1;
16987 : : }
16988 : : }
16989 : :
16990 : : int
16991 : : recog_291 (rtx x1 ATTRIBUTE_UNUSED,
16992 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16993 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16994 : : {
16995 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16996 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16997 : : rtx x10, x11;
16998 : : int res ATTRIBUTE_UNUSED;
16999 : : x2 = XEXP (x1, 1);
17000 : : x3 = XEXP (x2, 1);
17001 : : if (pattern924 (x3) != 0)
17002 : : return -1;
17003 : : x4 = XVECEXP (x3, 0, 0);
17004 : : switch (XWINT (x4, 0))
17005 : : {
17006 : : case 8L:
17007 : : x5 = XVECEXP (x3, 0, 1);
17008 : : if (XWINT (x5, 0) != 9L)
17009 : : return -1;
17010 : : x6 = XVECEXP (x3, 0, 2);
17011 : : if (XWINT (x6, 0) != 10L)
17012 : : return -1;
17013 : : x7 = XVECEXP (x3, 0, 3);
17014 : : if (XWINT (x7, 0) != 11L)
17015 : : return -1;
17016 : : x8 = XVECEXP (x3, 0, 4);
17017 : : if (XWINT (x8, 0) != 12L)
17018 : : return -1;
17019 : : x9 = XVECEXP (x3, 0, 5);
17020 : : if (XWINT (x9, 0) != 13L)
17021 : : return -1;
17022 : : x10 = XVECEXP (x3, 0, 6);
17023 : : if (XWINT (x10, 0) != 14L)
17024 : : return -1;
17025 : : x11 = XVECEXP (x3, 0, 7);
17026 : : if (XWINT (x11, 0) != 15L)
17027 : : return -1;
17028 : : switch (GET_MODE (operands[0]))
17029 : : {
17030 : : case E_V8SFmode:
17031 : : if (!nonimmediate_operand (operands[0], E_V8SFmode)
17032 : : || GET_MODE (x2) != E_V8SFmode
17033 : : || !register_operand (operands[1], E_V16SFmode)
17034 : : || !
17035 : : #line 12980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17036 : : (TARGET_AVX512F))
17037 : : return -1;
17038 : : return 5360; /* vec_extract_hi_v16sf */
17039 : :
17040 : : case E_V8SImode:
17041 : : if (!nonimmediate_operand (operands[0], E_V8SImode)
17042 : : || GET_MODE (x2) != E_V8SImode
17043 : : || !register_operand (operands[1], E_V16SImode)
17044 : : || !
17045 : : #line 12980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17046 : : (TARGET_AVX512F))
17047 : : return -1;
17048 : : return 5361; /* vec_extract_hi_v16si */
17049 : :
17050 : : case E_V8HImode:
17051 : : if (!nonimmediate_operand (operands[0], E_V8HImode)
17052 : : || GET_MODE (x2) != E_V8HImode
17053 : : || !register_operand (operands[1], E_V16HImode)
17054 : : || !
17055 : : #line 13368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17056 : : (TARGET_AVX))
17057 : : return -1;
17058 : : return 5391; /* vec_extract_hi_v16hi */
17059 : :
17060 : : case E_V8HFmode:
17061 : : if (!nonimmediate_operand (operands[0], E_V8HFmode)
17062 : : || GET_MODE (x2) != E_V8HFmode
17063 : : || !register_operand (operands[1], E_V16HFmode)
17064 : : || !
17065 : : #line 13368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17066 : : (TARGET_AVX))
17067 : : return -1;
17068 : : return 5392; /* vec_extract_hi_v16hf */
17069 : :
17070 : : case E_V8BFmode:
17071 : : if (!nonimmediate_operand (operands[0], E_V8BFmode)
17072 : : || GET_MODE (x2) != E_V8BFmode
17073 : : || !register_operand (operands[1], E_V16BFmode)
17074 : : || !
17075 : : #line 13368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17076 : : (TARGET_AVX))
17077 : : return -1;
17078 : : return 5393; /* vec_extract_hi_v16bf */
17079 : :
17080 : : default:
17081 : : return -1;
17082 : : }
17083 : :
17084 : : case 0L:
17085 : : x5 = XVECEXP (x3, 0, 1);
17086 : : if (XWINT (x5, 0) != 1L)
17087 : : return -1;
17088 : : x6 = XVECEXP (x3, 0, 2);
17089 : : if (XWINT (x6, 0) != 2L)
17090 : : return -1;
17091 : : x7 = XVECEXP (x3, 0, 3);
17092 : : if (XWINT (x7, 0) != 3L)
17093 : : return -1;
17094 : : x8 = XVECEXP (x3, 0, 4);
17095 : : if (XWINT (x8, 0) != 4L)
17096 : : return -1;
17097 : : x9 = XVECEXP (x3, 0, 5);
17098 : : if (XWINT (x9, 0) != 5L)
17099 : : return -1;
17100 : : x10 = XVECEXP (x3, 0, 6);
17101 : : if (XWINT (x10, 0) != 6L)
17102 : : return -1;
17103 : : x11 = XVECEXP (x3, 0, 7);
17104 : : if (XWINT (x11, 0) != 7L)
17105 : : return -1;
17106 : : switch (pattern1538 (x2))
17107 : : {
17108 : : case 0:
17109 : : if (!
17110 : : #line 13085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17111 : : (TARGET_AVX512F
17112 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17113 : : return -1;
17114 : : return 5364; /* vec_extract_lo_v16sf */
17115 : :
17116 : : case 1:
17117 : : if (!
17118 : : #line 13085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17119 : : (TARGET_AVX512F
17120 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17121 : : return -1;
17122 : : return 5365; /* vec_extract_lo_v16si */
17123 : :
17124 : : case 2:
17125 : : if (!
17126 : : #line 13354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17127 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17128 : : return -1;
17129 : : return 5388; /* vec_extract_lo_v16hi */
17130 : :
17131 : : case 3:
17132 : : if (!
17133 : : #line 13354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17134 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17135 : : return -1;
17136 : : return 5389; /* vec_extract_lo_v16hf */
17137 : :
17138 : : case 4:
17139 : : if (!
17140 : : #line 13354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17141 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17142 : : return -1;
17143 : : return 5390; /* vec_extract_lo_v16bf */
17144 : :
17145 : : default:
17146 : : return -1;
17147 : : }
17148 : :
17149 : : default:
17150 : : return -1;
17151 : : }
17152 : : }
17153 : :
17154 : : int
17155 : : recog_301 (rtx x1 ATTRIBUTE_UNUSED,
17156 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17157 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17158 : : {
17159 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17160 : : rtx x2, x3, x4, x5, x6, x7, x8;
17161 : : int res ATTRIBUTE_UNUSED;
17162 : : x2 = XEXP (x1, 1);
17163 : : x3 = XEXP (x2, 1);
17164 : : switch (XVECLEN (x3, 0))
17165 : : {
17166 : : case 2:
17167 : : res = recog_288 (x1, insn, pnum_clobbers);
17168 : : if (res >= 0)
17169 : : return res;
17170 : : break;
17171 : :
17172 : : case 4:
17173 : : res = recog_290 (x1, insn, pnum_clobbers);
17174 : : if (res >= 0)
17175 : : return res;
17176 : : break;
17177 : :
17178 : : case 8:
17179 : : res = recog_294 (x1, insn, pnum_clobbers);
17180 : : if (res >= 0)
17181 : : return res;
17182 : : break;
17183 : :
17184 : : case 16:
17185 : : res = recog_298 (x1, insn, pnum_clobbers);
17186 : : if (res >= 0)
17187 : : return res;
17188 : : break;
17189 : :
17190 : : case 32:
17191 : : res = recog_299 (x1, insn, pnum_clobbers);
17192 : : if (res >= 0)
17193 : : return res;
17194 : : break;
17195 : :
17196 : : default:
17197 : : break;
17198 : : }
17199 : : if (XVECLEN (x3, 0) >= 1)
17200 : : {
17201 : : operands[2] = x3;
17202 : : res = recog_300 (x1, insn, pnum_clobbers);
17203 : : if (res >= 0)
17204 : : return res;
17205 : : }
17206 : : switch (XVECLEN (x3, 0))
17207 : : {
17208 : : case 4:
17209 : : x4 = XVECEXP (x3, 0, 0);
17210 : : operands[2] = x4;
17211 : : if (pattern745 (x3) != 0)
17212 : : return -1;
17213 : : switch (GET_MODE (operands[0]))
17214 : : {
17215 : : case E_V4DImode:
17216 : : if (!register_operand (operands[0], E_V4DImode)
17217 : : || GET_MODE (x2) != E_V4DImode
17218 : : || !nonimmediate_operand (operands[1], E_V4DImode)
17219 : : || !
17220 : : #line 27951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17221 : : (TARGET_AVX2 && 1))
17222 : : return -1;
17223 : : return 9226; /* avx2_permv4di_1 */
17224 : :
17225 : : case E_V4DFmode:
17226 : : if (!register_operand (operands[0], E_V4DFmode)
17227 : : || GET_MODE (x2) != E_V4DFmode
17228 : : || !nonimmediate_operand (operands[1], E_V4DFmode)
17229 : : || !
17230 : : #line 27951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17231 : : (TARGET_AVX2 && 1))
17232 : : return -1;
17233 : : return 9228; /* avx2_permv4df_1 */
17234 : :
17235 : : default:
17236 : : return -1;
17237 : : }
17238 : :
17239 : : case 8:
17240 : : x4 = XVECEXP (x3, 0, 0);
17241 : : operands[2] = x4;
17242 : : if (pattern745 (x3) != 0)
17243 : : return -1;
17244 : : x5 = XVECEXP (x3, 0, 4);
17245 : : operands[6] = x5;
17246 : : if (!const_4_to_7_operand (operands[6], E_VOIDmode))
17247 : : return -1;
17248 : : x6 = XVECEXP (x3, 0, 5);
17249 : : operands[7] = x6;
17250 : : if (!const_4_to_7_operand (operands[7], E_VOIDmode))
17251 : : return -1;
17252 : : x7 = XVECEXP (x3, 0, 6);
17253 : : operands[8] = x7;
17254 : : if (!const_4_to_7_operand (operands[8], E_VOIDmode))
17255 : : return -1;
17256 : : x8 = XVECEXP (x3, 0, 7);
17257 : : operands[9] = x8;
17258 : : if (!const_4_to_7_operand (operands[9], E_VOIDmode))
17259 : : return -1;
17260 : : switch (GET_MODE (operands[0]))
17261 : : {
17262 : : case E_V8DFmode:
17263 : : if (!register_operand (operands[0], E_V8DFmode)
17264 : : || GET_MODE (x2) != E_V8DFmode
17265 : : || !nonimmediate_operand (operands[1], E_V8DFmode)
17266 : : || !
17267 : : #line 28022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17268 : : (TARGET_AVX512F && 1
17269 : : && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
17270 : : && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
17271 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
17272 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4))))
17273 : : return -1;
17274 : : return 9230; /* avx512f_permv8df_1 */
17275 : :
17276 : : case E_V8DImode:
17277 : : if (!register_operand (operands[0], E_V8DImode)
17278 : : || GET_MODE (x2) != E_V8DImode
17279 : : || !nonimmediate_operand (operands[1], E_V8DImode)
17280 : : || !
17281 : : #line 28022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17282 : : (TARGET_AVX512F && 1
17283 : : && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
17284 : : && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
17285 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
17286 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4))))
17287 : : return -1;
17288 : : return 9232; /* avx512f_permv8di_1 */
17289 : :
17290 : : default:
17291 : : return -1;
17292 : : }
17293 : :
17294 : : default:
17295 : : return -1;
17296 : : }
17297 : : }
17298 : :
17299 : : int
17300 : : recog_309 (rtx x1 ATTRIBUTE_UNUSED,
17301 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17302 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17303 : : {
17304 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17305 : : rtx x2, x3, x4;
17306 : : int res ATTRIBUTE_UNUSED;
17307 : : x2 = XEXP (x1, 1);
17308 : : x3 = XEXP (x2, 0);
17309 : : x4 = XEXP (x3, 0);
17310 : : switch (GET_CODE (x4))
17311 : : {
17312 : : case REG:
17313 : : case SUBREG:
17314 : : case MEM:
17315 : : case NOT:
17316 : : switch (pattern530 (x2))
17317 : : {
17318 : : case 0:
17319 : : if (!(
17320 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17321 : : ((64 == 64 || TARGET_AVX512VL
17322 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17323 : : && ix86_pre_reload_split ()
17324 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17325 : : STRIP_UNARY (operands[4]))
17326 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17327 : : STRIP_UNARY (operands[4]))
17328 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17329 : : STRIP_UNARY (operands[3]))
17330 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17331 : : STRIP_UNARY (operands[3])))) &&
17332 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17333 : : (TARGET_AVX512F)))
17334 : : return -1;
17335 : : return 5550; /* *avx512bw_vpternlogv64qi_1 */
17336 : :
17337 : : case 1:
17338 : : if (!(
17339 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17340 : : ((32 == 64 || TARGET_AVX512VL
17341 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17342 : : && ix86_pre_reload_split ()
17343 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17344 : : STRIP_UNARY (operands[4]))
17345 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17346 : : STRIP_UNARY (operands[4]))
17347 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17348 : : STRIP_UNARY (operands[3]))
17349 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17350 : : STRIP_UNARY (operands[3])))) &&
17351 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17352 : : (TARGET_AVX)))
17353 : : return -1;
17354 : : return 5577; /* *avx512vl_vpternlogv32qi_1 */
17355 : :
17356 : : case 2:
17357 : : if (!
17358 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17359 : : ((16 == 64 || TARGET_AVX512VL
17360 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17361 : : && ix86_pre_reload_split ()
17362 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17363 : : STRIP_UNARY (operands[4]))
17364 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17365 : : STRIP_UNARY (operands[4]))
17366 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17367 : : STRIP_UNARY (operands[3]))
17368 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17369 : : STRIP_UNARY (operands[3])))))
17370 : : return -1;
17371 : : return 5604; /* *avx512vl_vpternlogv16qi_1 */
17372 : :
17373 : : case 3:
17374 : : if (!(
17375 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17376 : : ((64 == 64 || TARGET_AVX512VL
17377 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17378 : : && ix86_pre_reload_split ()
17379 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17380 : : STRIP_UNARY (operands[4]))
17381 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17382 : : STRIP_UNARY (operands[4]))
17383 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17384 : : STRIP_UNARY (operands[3]))
17385 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17386 : : STRIP_UNARY (operands[3])))) &&
17387 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17388 : : (TARGET_AVX512F)))
17389 : : return -1;
17390 : : return 5631; /* *avx512bw_vpternlogv32hi_1 */
17391 : :
17392 : : case 4:
17393 : : if (!(
17394 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17395 : : ((32 == 64 || TARGET_AVX512VL
17396 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17397 : : && ix86_pre_reload_split ()
17398 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17399 : : STRIP_UNARY (operands[4]))
17400 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17401 : : STRIP_UNARY (operands[4]))
17402 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17403 : : STRIP_UNARY (operands[3]))
17404 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17405 : : STRIP_UNARY (operands[3])))) &&
17406 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17407 : : (TARGET_AVX)))
17408 : : return -1;
17409 : : return 5658; /* *avx512vl_vpternlogv16hi_1 */
17410 : :
17411 : : case 5:
17412 : : if (!
17413 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17414 : : ((16 == 64 || TARGET_AVX512VL
17415 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17416 : : && ix86_pre_reload_split ()
17417 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17418 : : STRIP_UNARY (operands[4]))
17419 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17420 : : STRIP_UNARY (operands[4]))
17421 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17422 : : STRIP_UNARY (operands[3]))
17423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17424 : : STRIP_UNARY (operands[3])))))
17425 : : return -1;
17426 : : return 5685; /* *avx512vl_vpternlogv8hi_1 */
17427 : :
17428 : : case 6:
17429 : : if (!(
17430 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17431 : : ((64 == 64 || TARGET_AVX512VL
17432 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17433 : : && ix86_pre_reload_split ()
17434 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17435 : : STRIP_UNARY (operands[4]))
17436 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17437 : : STRIP_UNARY (operands[4]))
17438 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17439 : : STRIP_UNARY (operands[3]))
17440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17441 : : STRIP_UNARY (operands[3])))) &&
17442 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17443 : : (TARGET_AVX512F)))
17444 : : return -1;
17445 : : return 5712; /* *avx512f_vpternlogv16si_1 */
17446 : :
17447 : : case 7:
17448 : : if (!(
17449 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17450 : : ((32 == 64 || TARGET_AVX512VL
17451 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17452 : : && ix86_pre_reload_split ()
17453 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17454 : : STRIP_UNARY (operands[4]))
17455 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17456 : : STRIP_UNARY (operands[4]))
17457 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17458 : : STRIP_UNARY (operands[3]))
17459 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17460 : : STRIP_UNARY (operands[3])))) &&
17461 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17462 : : (TARGET_AVX)))
17463 : : return -1;
17464 : : return 5739; /* *avx512vl_vpternlogv8si_1 */
17465 : :
17466 : : case 8:
17467 : : if (!
17468 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17469 : : ((16 == 64 || TARGET_AVX512VL
17470 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17471 : : && ix86_pre_reload_split ()
17472 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17473 : : STRIP_UNARY (operands[4]))
17474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17475 : : STRIP_UNARY (operands[4]))
17476 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17477 : : STRIP_UNARY (operands[3]))
17478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17479 : : STRIP_UNARY (operands[3])))))
17480 : : return -1;
17481 : : return 5766; /* *avx512vl_vpternlogv4si_1 */
17482 : :
17483 : : case 9:
17484 : : if (!(
17485 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17486 : : ((64 == 64 || TARGET_AVX512VL
17487 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17488 : : && ix86_pre_reload_split ()
17489 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17490 : : STRIP_UNARY (operands[4]))
17491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17492 : : STRIP_UNARY (operands[4]))
17493 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17494 : : STRIP_UNARY (operands[3]))
17495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17496 : : STRIP_UNARY (operands[3])))) &&
17497 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17498 : : (TARGET_AVX512F)))
17499 : : return -1;
17500 : : return 5793; /* *avx512f_vpternlogv8di_1 */
17501 : :
17502 : : case 10:
17503 : : if (!(
17504 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17505 : : ((32 == 64 || TARGET_AVX512VL
17506 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17507 : : && ix86_pre_reload_split ()
17508 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17509 : : STRIP_UNARY (operands[4]))
17510 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17511 : : STRIP_UNARY (operands[4]))
17512 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17513 : : STRIP_UNARY (operands[3]))
17514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17515 : : STRIP_UNARY (operands[3])))) &&
17516 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17517 : : (TARGET_AVX)))
17518 : : return -1;
17519 : : return 5820; /* *avx512vl_vpternlogv4di_1 */
17520 : :
17521 : : case 11:
17522 : : if (!
17523 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17524 : : ((16 == 64 || TARGET_AVX512VL
17525 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17526 : : && ix86_pre_reload_split ()
17527 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17528 : : STRIP_UNARY (operands[4]))
17529 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17530 : : STRIP_UNARY (operands[4]))
17531 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17532 : : STRIP_UNARY (operands[3]))
17533 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17534 : : STRIP_UNARY (operands[3])))))
17535 : : return -1;
17536 : : return 5847; /* *avx512vl_vpternlogv2di_1 */
17537 : :
17538 : : case 12:
17539 : : if (!(
17540 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17541 : : ((64 == 64 || TARGET_AVX512VL
17542 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17543 : : && ix86_pre_reload_split ()
17544 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17545 : : STRIP_UNARY (operands[4]))
17546 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17547 : : STRIP_UNARY (operands[4]))
17548 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17549 : : STRIP_UNARY (operands[3]))
17550 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17551 : : STRIP_UNARY (operands[3])))) &&
17552 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17553 : : (TARGET_AVX512F)))
17554 : : return -1;
17555 : : return 5553; /* *avx512bw_vpternlogv64qi_1 */
17556 : :
17557 : : case 13:
17558 : : if (!(
17559 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17560 : : ((32 == 64 || TARGET_AVX512VL
17561 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17562 : : && ix86_pre_reload_split ()
17563 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17564 : : STRIP_UNARY (operands[4]))
17565 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17566 : : STRIP_UNARY (operands[4]))
17567 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17568 : : STRIP_UNARY (operands[3]))
17569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17570 : : STRIP_UNARY (operands[3])))) &&
17571 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17572 : : (TARGET_AVX)))
17573 : : return -1;
17574 : : return 5580; /* *avx512vl_vpternlogv32qi_1 */
17575 : :
17576 : : case 14:
17577 : : if (!
17578 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17579 : : ((16 == 64 || TARGET_AVX512VL
17580 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17581 : : && ix86_pre_reload_split ()
17582 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17583 : : STRIP_UNARY (operands[4]))
17584 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17585 : : STRIP_UNARY (operands[4]))
17586 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17587 : : STRIP_UNARY (operands[3]))
17588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17589 : : STRIP_UNARY (operands[3])))))
17590 : : return -1;
17591 : : return 5607; /* *avx512vl_vpternlogv16qi_1 */
17592 : :
17593 : : case 15:
17594 : : if (!(
17595 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17596 : : ((64 == 64 || TARGET_AVX512VL
17597 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17598 : : && ix86_pre_reload_split ()
17599 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17600 : : STRIP_UNARY (operands[4]))
17601 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17602 : : STRIP_UNARY (operands[4]))
17603 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17604 : : STRIP_UNARY (operands[3]))
17605 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17606 : : STRIP_UNARY (operands[3])))) &&
17607 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17608 : : (TARGET_AVX512F)))
17609 : : return -1;
17610 : : return 5634; /* *avx512bw_vpternlogv32hi_1 */
17611 : :
17612 : : case 16:
17613 : : if (!(
17614 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17615 : : ((32 == 64 || TARGET_AVX512VL
17616 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17617 : : && ix86_pre_reload_split ()
17618 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17619 : : STRIP_UNARY (operands[4]))
17620 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17621 : : STRIP_UNARY (operands[4]))
17622 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17623 : : STRIP_UNARY (operands[3]))
17624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17625 : : STRIP_UNARY (operands[3])))) &&
17626 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17627 : : (TARGET_AVX)))
17628 : : return -1;
17629 : : return 5661; /* *avx512vl_vpternlogv16hi_1 */
17630 : :
17631 : : case 17:
17632 : : if (!
17633 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17634 : : ((16 == 64 || TARGET_AVX512VL
17635 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17636 : : && ix86_pre_reload_split ()
17637 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17638 : : STRIP_UNARY (operands[4]))
17639 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17640 : : STRIP_UNARY (operands[4]))
17641 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17642 : : STRIP_UNARY (operands[3]))
17643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17644 : : STRIP_UNARY (operands[3])))))
17645 : : return -1;
17646 : : return 5688; /* *avx512vl_vpternlogv8hi_1 */
17647 : :
17648 : : case 18:
17649 : : if (!(
17650 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17651 : : ((64 == 64 || TARGET_AVX512VL
17652 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17653 : : && ix86_pre_reload_split ()
17654 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17655 : : STRIP_UNARY (operands[4]))
17656 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17657 : : STRIP_UNARY (operands[4]))
17658 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17659 : : STRIP_UNARY (operands[3]))
17660 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17661 : : STRIP_UNARY (operands[3])))) &&
17662 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17663 : : (TARGET_AVX512F)))
17664 : : return -1;
17665 : : return 5715; /* *avx512f_vpternlogv16si_1 */
17666 : :
17667 : : case 19:
17668 : : if (!(
17669 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17670 : : ((32 == 64 || TARGET_AVX512VL
17671 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17672 : : && ix86_pre_reload_split ()
17673 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17674 : : STRIP_UNARY (operands[4]))
17675 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17676 : : STRIP_UNARY (operands[4]))
17677 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17678 : : STRIP_UNARY (operands[3]))
17679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17680 : : STRIP_UNARY (operands[3])))) &&
17681 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17682 : : (TARGET_AVX)))
17683 : : return -1;
17684 : : return 5742; /* *avx512vl_vpternlogv8si_1 */
17685 : :
17686 : : case 20:
17687 : : if (!
17688 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17689 : : ((16 == 64 || TARGET_AVX512VL
17690 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17691 : : && ix86_pre_reload_split ()
17692 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17693 : : STRIP_UNARY (operands[4]))
17694 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17695 : : STRIP_UNARY (operands[4]))
17696 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17697 : : STRIP_UNARY (operands[3]))
17698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17699 : : STRIP_UNARY (operands[3])))))
17700 : : return -1;
17701 : : return 5769; /* *avx512vl_vpternlogv4si_1 */
17702 : :
17703 : : case 21:
17704 : : if (!(
17705 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17706 : : ((64 == 64 || TARGET_AVX512VL
17707 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17708 : : && ix86_pre_reload_split ()
17709 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17710 : : STRIP_UNARY (operands[4]))
17711 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17712 : : STRIP_UNARY (operands[4]))
17713 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17714 : : STRIP_UNARY (operands[3]))
17715 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17716 : : STRIP_UNARY (operands[3])))) &&
17717 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17718 : : (TARGET_AVX512F)))
17719 : : return -1;
17720 : : return 5796; /* *avx512f_vpternlogv8di_1 */
17721 : :
17722 : : case 22:
17723 : : if (!(
17724 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17725 : : ((32 == 64 || TARGET_AVX512VL
17726 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17727 : : && ix86_pre_reload_split ()
17728 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17729 : : STRIP_UNARY (operands[4]))
17730 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17731 : : STRIP_UNARY (operands[4]))
17732 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17733 : : STRIP_UNARY (operands[3]))
17734 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17735 : : STRIP_UNARY (operands[3])))) &&
17736 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17737 : : (TARGET_AVX)))
17738 : : return -1;
17739 : : return 5823; /* *avx512vl_vpternlogv4di_1 */
17740 : :
17741 : : case 23:
17742 : : if (!
17743 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17744 : : ((16 == 64 || TARGET_AVX512VL
17745 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17746 : : && ix86_pre_reload_split ()
17747 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17748 : : STRIP_UNARY (operands[4]))
17749 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17750 : : STRIP_UNARY (operands[4]))
17751 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17752 : : STRIP_UNARY (operands[3]))
17753 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17754 : : STRIP_UNARY (operands[3])))))
17755 : : return -1;
17756 : : return 5850; /* *avx512vl_vpternlogv2di_1 */
17757 : :
17758 : : case 24:
17759 : : if (!(
17760 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17761 : : ((64 == 64 || TARGET_AVX512VL
17762 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17763 : : && ix86_pre_reload_split ()
17764 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17765 : : STRIP_UNARY (operands[4]))
17766 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17767 : : STRIP_UNARY (operands[4]))
17768 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17769 : : STRIP_UNARY (operands[3]))
17770 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17771 : : STRIP_UNARY (operands[3])))) &&
17772 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17773 : : (TARGET_AVX512F)))
17774 : : return -1;
17775 : : return 5556; /* *avx512bw_vpternlogv64qi_1 */
17776 : :
17777 : : case 25:
17778 : : if (!(
17779 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17780 : : ((32 == 64 || TARGET_AVX512VL
17781 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17782 : : && ix86_pre_reload_split ()
17783 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17784 : : STRIP_UNARY (operands[4]))
17785 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17786 : : STRIP_UNARY (operands[4]))
17787 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17788 : : STRIP_UNARY (operands[3]))
17789 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17790 : : STRIP_UNARY (operands[3])))) &&
17791 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17792 : : (TARGET_AVX)))
17793 : : return -1;
17794 : : return 5583; /* *avx512vl_vpternlogv32qi_1 */
17795 : :
17796 : : case 26:
17797 : : if (!
17798 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17799 : : ((16 == 64 || TARGET_AVX512VL
17800 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17801 : : && ix86_pre_reload_split ()
17802 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17803 : : STRIP_UNARY (operands[4]))
17804 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17805 : : STRIP_UNARY (operands[4]))
17806 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17807 : : STRIP_UNARY (operands[3]))
17808 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17809 : : STRIP_UNARY (operands[3])))))
17810 : : return -1;
17811 : : return 5610; /* *avx512vl_vpternlogv16qi_1 */
17812 : :
17813 : : case 27:
17814 : : if (!(
17815 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17816 : : ((64 == 64 || TARGET_AVX512VL
17817 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17818 : : && ix86_pre_reload_split ()
17819 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17820 : : STRIP_UNARY (operands[4]))
17821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17822 : : STRIP_UNARY (operands[4]))
17823 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17824 : : STRIP_UNARY (operands[3]))
17825 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17826 : : STRIP_UNARY (operands[3])))) &&
17827 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17828 : : (TARGET_AVX512F)))
17829 : : return -1;
17830 : : return 5637; /* *avx512bw_vpternlogv32hi_1 */
17831 : :
17832 : : case 28:
17833 : : if (!(
17834 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17835 : : ((32 == 64 || TARGET_AVX512VL
17836 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17837 : : && ix86_pre_reload_split ()
17838 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17839 : : STRIP_UNARY (operands[4]))
17840 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17841 : : STRIP_UNARY (operands[4]))
17842 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17843 : : STRIP_UNARY (operands[3]))
17844 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17845 : : STRIP_UNARY (operands[3])))) &&
17846 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17847 : : (TARGET_AVX)))
17848 : : return -1;
17849 : : return 5664; /* *avx512vl_vpternlogv16hi_1 */
17850 : :
17851 : : case 29:
17852 : : if (!
17853 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17854 : : ((16 == 64 || TARGET_AVX512VL
17855 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17856 : : && ix86_pre_reload_split ()
17857 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17858 : : STRIP_UNARY (operands[4]))
17859 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17860 : : STRIP_UNARY (operands[4]))
17861 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17862 : : STRIP_UNARY (operands[3]))
17863 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17864 : : STRIP_UNARY (operands[3])))))
17865 : : return -1;
17866 : : return 5691; /* *avx512vl_vpternlogv8hi_1 */
17867 : :
17868 : : case 30:
17869 : : if (!(
17870 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17871 : : ((64 == 64 || TARGET_AVX512VL
17872 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17873 : : && ix86_pre_reload_split ()
17874 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17875 : : STRIP_UNARY (operands[4]))
17876 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17877 : : STRIP_UNARY (operands[4]))
17878 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17879 : : STRIP_UNARY (operands[3]))
17880 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17881 : : STRIP_UNARY (operands[3])))) &&
17882 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17883 : : (TARGET_AVX512F)))
17884 : : return -1;
17885 : : return 5718; /* *avx512f_vpternlogv16si_1 */
17886 : :
17887 : : case 31:
17888 : : if (!(
17889 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17890 : : ((32 == 64 || TARGET_AVX512VL
17891 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17892 : : && ix86_pre_reload_split ()
17893 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17894 : : STRIP_UNARY (operands[4]))
17895 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17896 : : STRIP_UNARY (operands[4]))
17897 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17898 : : STRIP_UNARY (operands[3]))
17899 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17900 : : STRIP_UNARY (operands[3])))) &&
17901 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17902 : : (TARGET_AVX)))
17903 : : return -1;
17904 : : return 5745; /* *avx512vl_vpternlogv8si_1 */
17905 : :
17906 : : case 32:
17907 : : if (!
17908 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17909 : : ((16 == 64 || TARGET_AVX512VL
17910 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17911 : : && ix86_pre_reload_split ()
17912 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17913 : : STRIP_UNARY (operands[4]))
17914 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17915 : : STRIP_UNARY (operands[4]))
17916 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17917 : : STRIP_UNARY (operands[3]))
17918 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17919 : : STRIP_UNARY (operands[3])))))
17920 : : return -1;
17921 : : return 5772; /* *avx512vl_vpternlogv4si_1 */
17922 : :
17923 : : case 33:
17924 : : if (!(
17925 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17926 : : ((64 == 64 || TARGET_AVX512VL
17927 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17928 : : && ix86_pre_reload_split ()
17929 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17930 : : STRIP_UNARY (operands[4]))
17931 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17932 : : STRIP_UNARY (operands[4]))
17933 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17934 : : STRIP_UNARY (operands[3]))
17935 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17936 : : STRIP_UNARY (operands[3])))) &&
17937 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17938 : : (TARGET_AVX512F)))
17939 : : return -1;
17940 : : return 5799; /* *avx512f_vpternlogv8di_1 */
17941 : :
17942 : : case 34:
17943 : : if (!(
17944 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17945 : : ((32 == 64 || TARGET_AVX512VL
17946 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17947 : : && ix86_pre_reload_split ()
17948 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17949 : : STRIP_UNARY (operands[4]))
17950 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17951 : : STRIP_UNARY (operands[4]))
17952 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17953 : : STRIP_UNARY (operands[3]))
17954 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17955 : : STRIP_UNARY (operands[3])))) &&
17956 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17957 : : (TARGET_AVX)))
17958 : : return -1;
17959 : : return 5826; /* *avx512vl_vpternlogv4di_1 */
17960 : :
17961 : : case 35:
17962 : : if (!
17963 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17964 : : ((16 == 64 || TARGET_AVX512VL
17965 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17966 : : && ix86_pre_reload_split ()
17967 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17968 : : STRIP_UNARY (operands[4]))
17969 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17970 : : STRIP_UNARY (operands[4]))
17971 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17972 : : STRIP_UNARY (operands[3]))
17973 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17974 : : STRIP_UNARY (operands[3])))))
17975 : : return -1;
17976 : : return 5853; /* *avx512vl_vpternlogv2di_1 */
17977 : :
17978 : : case 36:
17979 : : if (!(
17980 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17981 : : ((64 == 64 || TARGET_AVX512VL
17982 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17983 : : && ix86_pre_reload_split ()) &&
17984 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17985 : : (TARGET_AVX512F)))
17986 : : return -1;
17987 : : return 6834; /* *avx512bw_vpternlogv64qi_3 */
17988 : :
17989 : : case 37:
17990 : : if (!(
17991 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17992 : : ((32 == 64 || TARGET_AVX512VL
17993 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17994 : : && ix86_pre_reload_split ()) &&
17995 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17996 : : (TARGET_AVX)))
17997 : : return -1;
17998 : : return 6843; /* *avx512vl_vpternlogv32qi_3 */
17999 : :
18000 : : case 38:
18001 : : if (!
18002 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18003 : : ((16 == 64 || TARGET_AVX512VL
18004 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18005 : : && ix86_pre_reload_split ()))
18006 : : return -1;
18007 : : return 6852; /* *avx512vl_vpternlogv16qi_3 */
18008 : :
18009 : : case 39:
18010 : : if (!(
18011 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18012 : : ((64 == 64 || TARGET_AVX512VL
18013 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18014 : : && ix86_pre_reload_split ()) &&
18015 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18016 : : (TARGET_AVX512F)))
18017 : : return -1;
18018 : : return 6861; /* *avx512bw_vpternlogv32hi_3 */
18019 : :
18020 : : case 40:
18021 : : if (!(
18022 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18023 : : ((32 == 64 || TARGET_AVX512VL
18024 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18025 : : && ix86_pre_reload_split ()) &&
18026 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18027 : : (TARGET_AVX)))
18028 : : return -1;
18029 : : return 6870; /* *avx512vl_vpternlogv16hi_3 */
18030 : :
18031 : : case 41:
18032 : : if (!
18033 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18034 : : ((16 == 64 || TARGET_AVX512VL
18035 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18036 : : && ix86_pre_reload_split ()))
18037 : : return -1;
18038 : : return 6879; /* *avx512vl_vpternlogv8hi_3 */
18039 : :
18040 : : case 42:
18041 : : if (!(
18042 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18043 : : ((64 == 64 || TARGET_AVX512VL
18044 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18045 : : && ix86_pre_reload_split ()) &&
18046 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18047 : : (TARGET_AVX512F)))
18048 : : return -1;
18049 : : return 6888; /* *avx512f_vpternlogv16si_3 */
18050 : :
18051 : : case 43:
18052 : : if (!(
18053 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18054 : : ((32 == 64 || TARGET_AVX512VL
18055 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18056 : : && ix86_pre_reload_split ()) &&
18057 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18058 : : (TARGET_AVX)))
18059 : : return -1;
18060 : : return 6897; /* *avx512vl_vpternlogv8si_3 */
18061 : :
18062 : : case 44:
18063 : : if (!
18064 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18065 : : ((16 == 64 || TARGET_AVX512VL
18066 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18067 : : && ix86_pre_reload_split ()))
18068 : : return -1;
18069 : : return 6906; /* *avx512vl_vpternlogv4si_3 */
18070 : :
18071 : : case 45:
18072 : : if (!(
18073 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18074 : : ((64 == 64 || TARGET_AVX512VL
18075 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18076 : : && ix86_pre_reload_split ()) &&
18077 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18078 : : (TARGET_AVX512F)))
18079 : : return -1;
18080 : : return 6915; /* *avx512f_vpternlogv8di_3 */
18081 : :
18082 : : case 46:
18083 : : if (!(
18084 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18085 : : ((32 == 64 || TARGET_AVX512VL
18086 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18087 : : && ix86_pre_reload_split ()) &&
18088 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18089 : : (TARGET_AVX)))
18090 : : return -1;
18091 : : return 6924; /* *avx512vl_vpternlogv4di_3 */
18092 : :
18093 : : case 47:
18094 : : if (!
18095 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18096 : : ((16 == 64 || TARGET_AVX512VL
18097 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18098 : : && ix86_pre_reload_split ()))
18099 : : return -1;
18100 : : return 6933; /* *avx512vl_vpternlogv2di_3 */
18101 : :
18102 : : default:
18103 : : return -1;
18104 : : }
18105 : :
18106 : : case AND:
18107 : : switch (pattern532 (x2))
18108 : : {
18109 : : case 0:
18110 : : if (!(
18111 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18112 : : ((64 == 64 || TARGET_AVX512VL
18113 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18114 : : && ix86_pre_reload_split ()
18115 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18116 : : STRIP_UNARY (operands[4]))
18117 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18118 : : STRIP_UNARY (operands[4]))
18119 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18120 : : STRIP_UNARY (operands[3]))
18121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18122 : : STRIP_UNARY (operands[3])))) &&
18123 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18124 : : (TARGET_AVX512F)))
18125 : : return -1;
18126 : : return 6198; /* *avx512bw_vpternlogv64qi_2 */
18127 : :
18128 : : case 1:
18129 : : if (!(
18130 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18131 : : ((32 == 64 || TARGET_AVX512VL
18132 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18133 : : && ix86_pre_reload_split ()
18134 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18135 : : STRIP_UNARY (operands[4]))
18136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18137 : : STRIP_UNARY (operands[4]))
18138 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18139 : : STRIP_UNARY (operands[3]))
18140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18141 : : STRIP_UNARY (operands[3])))) &&
18142 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18143 : : (TARGET_AVX)))
18144 : : return -1;
18145 : : return 6225; /* *avx512vl_vpternlogv32qi_2 */
18146 : :
18147 : : case 2:
18148 : : if (!
18149 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18150 : : ((16 == 64 || TARGET_AVX512VL
18151 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18152 : : && ix86_pre_reload_split ()
18153 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18154 : : STRIP_UNARY (operands[4]))
18155 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18156 : : STRIP_UNARY (operands[4]))
18157 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18158 : : STRIP_UNARY (operands[3]))
18159 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18160 : : STRIP_UNARY (operands[3])))))
18161 : : return -1;
18162 : : return 6252; /* *avx512vl_vpternlogv16qi_2 */
18163 : :
18164 : : case 3:
18165 : : if (!(
18166 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18167 : : ((64 == 64 || TARGET_AVX512VL
18168 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18169 : : && ix86_pre_reload_split ()
18170 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18171 : : STRIP_UNARY (operands[4]))
18172 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18173 : : STRIP_UNARY (operands[4]))
18174 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18175 : : STRIP_UNARY (operands[3]))
18176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18177 : : STRIP_UNARY (operands[3])))) &&
18178 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18179 : : (TARGET_AVX512F)))
18180 : : return -1;
18181 : : return 6279; /* *avx512bw_vpternlogv32hi_2 */
18182 : :
18183 : : case 4:
18184 : : if (!(
18185 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18186 : : ((32 == 64 || TARGET_AVX512VL
18187 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18188 : : && ix86_pre_reload_split ()
18189 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18190 : : STRIP_UNARY (operands[4]))
18191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18192 : : STRIP_UNARY (operands[4]))
18193 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18194 : : STRIP_UNARY (operands[3]))
18195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18196 : : STRIP_UNARY (operands[3])))) &&
18197 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18198 : : (TARGET_AVX)))
18199 : : return -1;
18200 : : return 6306; /* *avx512vl_vpternlogv16hi_2 */
18201 : :
18202 : : case 5:
18203 : : if (!
18204 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18205 : : ((16 == 64 || TARGET_AVX512VL
18206 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18207 : : && ix86_pre_reload_split ()
18208 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18209 : : STRIP_UNARY (operands[4]))
18210 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18211 : : STRIP_UNARY (operands[4]))
18212 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18213 : : STRIP_UNARY (operands[3]))
18214 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18215 : : STRIP_UNARY (operands[3])))))
18216 : : return -1;
18217 : : return 6333; /* *avx512vl_vpternlogv8hi_2 */
18218 : :
18219 : : case 6:
18220 : : if (!(
18221 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18222 : : ((64 == 64 || TARGET_AVX512VL
18223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18224 : : && ix86_pre_reload_split ()
18225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18226 : : STRIP_UNARY (operands[4]))
18227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18228 : : STRIP_UNARY (operands[4]))
18229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18230 : : STRIP_UNARY (operands[3]))
18231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18232 : : STRIP_UNARY (operands[3])))) &&
18233 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18234 : : (TARGET_AVX512F)))
18235 : : return -1;
18236 : : return 6360; /* *avx512f_vpternlogv16si_2 */
18237 : :
18238 : : case 7:
18239 : : if (!(
18240 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18241 : : ((32 == 64 || TARGET_AVX512VL
18242 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18243 : : && ix86_pre_reload_split ()
18244 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18245 : : STRIP_UNARY (operands[4]))
18246 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18247 : : STRIP_UNARY (operands[4]))
18248 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18249 : : STRIP_UNARY (operands[3]))
18250 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18251 : : STRIP_UNARY (operands[3])))) &&
18252 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18253 : : (TARGET_AVX)))
18254 : : return -1;
18255 : : return 6387; /* *avx512vl_vpternlogv8si_2 */
18256 : :
18257 : : case 8:
18258 : : if (!
18259 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18260 : : ((16 == 64 || TARGET_AVX512VL
18261 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18262 : : && ix86_pre_reload_split ()
18263 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18264 : : STRIP_UNARY (operands[4]))
18265 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18266 : : STRIP_UNARY (operands[4]))
18267 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18268 : : STRIP_UNARY (operands[3]))
18269 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18270 : : STRIP_UNARY (operands[3])))))
18271 : : return -1;
18272 : : return 6414; /* *avx512vl_vpternlogv4si_2 */
18273 : :
18274 : : case 9:
18275 : : if (!(
18276 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18277 : : ((64 == 64 || TARGET_AVX512VL
18278 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18279 : : && ix86_pre_reload_split ()
18280 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18281 : : STRIP_UNARY (operands[4]))
18282 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18283 : : STRIP_UNARY (operands[4]))
18284 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18285 : : STRIP_UNARY (operands[3]))
18286 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18287 : : STRIP_UNARY (operands[3])))) &&
18288 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18289 : : (TARGET_AVX512F)))
18290 : : return -1;
18291 : : return 6441; /* *avx512f_vpternlogv8di_2 */
18292 : :
18293 : : case 10:
18294 : : if (!(
18295 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18296 : : ((32 == 64 || TARGET_AVX512VL
18297 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18298 : : && ix86_pre_reload_split ()
18299 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18300 : : STRIP_UNARY (operands[4]))
18301 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18302 : : STRIP_UNARY (operands[4]))
18303 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18304 : : STRIP_UNARY (operands[3]))
18305 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18306 : : STRIP_UNARY (operands[3])))) &&
18307 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18308 : : (TARGET_AVX)))
18309 : : return -1;
18310 : : return 6468; /* *avx512vl_vpternlogv4di_2 */
18311 : :
18312 : : case 11:
18313 : : if (!
18314 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18315 : : ((16 == 64 || TARGET_AVX512VL
18316 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18317 : : && ix86_pre_reload_split ()
18318 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18319 : : STRIP_UNARY (operands[4]))
18320 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18321 : : STRIP_UNARY (operands[4]))
18322 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18323 : : STRIP_UNARY (operands[3]))
18324 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18325 : : STRIP_UNARY (operands[3])))))
18326 : : return -1;
18327 : : return 6495; /* *avx512vl_vpternlogv2di_2 */
18328 : :
18329 : : default:
18330 : : return -1;
18331 : : }
18332 : :
18333 : : case IOR:
18334 : : switch (pattern532 (x2))
18335 : : {
18336 : : case 0:
18337 : : if (!(
18338 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18339 : : ((64 == 64 || TARGET_AVX512VL
18340 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18341 : : && ix86_pre_reload_split ()
18342 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18343 : : STRIP_UNARY (operands[4]))
18344 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18345 : : STRIP_UNARY (operands[4]))
18346 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18347 : : STRIP_UNARY (operands[3]))
18348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18349 : : STRIP_UNARY (operands[3])))) &&
18350 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18351 : : (TARGET_AVX512F)))
18352 : : return -1;
18353 : : return 6201; /* *avx512bw_vpternlogv64qi_2 */
18354 : :
18355 : : case 1:
18356 : : if (!(
18357 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18358 : : ((32 == 64 || TARGET_AVX512VL
18359 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18360 : : && ix86_pre_reload_split ()
18361 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18362 : : STRIP_UNARY (operands[4]))
18363 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18364 : : STRIP_UNARY (operands[4]))
18365 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18366 : : STRIP_UNARY (operands[3]))
18367 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18368 : : STRIP_UNARY (operands[3])))) &&
18369 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18370 : : (TARGET_AVX)))
18371 : : return -1;
18372 : : return 6228; /* *avx512vl_vpternlogv32qi_2 */
18373 : :
18374 : : case 2:
18375 : : if (!
18376 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18377 : : ((16 == 64 || TARGET_AVX512VL
18378 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18379 : : && ix86_pre_reload_split ()
18380 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18381 : : STRIP_UNARY (operands[4]))
18382 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18383 : : STRIP_UNARY (operands[4]))
18384 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18385 : : STRIP_UNARY (operands[3]))
18386 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18387 : : STRIP_UNARY (operands[3])))))
18388 : : return -1;
18389 : : return 6255; /* *avx512vl_vpternlogv16qi_2 */
18390 : :
18391 : : case 3:
18392 : : if (!(
18393 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18394 : : ((64 == 64 || TARGET_AVX512VL
18395 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18396 : : && ix86_pre_reload_split ()
18397 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18398 : : STRIP_UNARY (operands[4]))
18399 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18400 : : STRIP_UNARY (operands[4]))
18401 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18402 : : STRIP_UNARY (operands[3]))
18403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18404 : : STRIP_UNARY (operands[3])))) &&
18405 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18406 : : (TARGET_AVX512F)))
18407 : : return -1;
18408 : : return 6282; /* *avx512bw_vpternlogv32hi_2 */
18409 : :
18410 : : case 4:
18411 : : if (!(
18412 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18413 : : ((32 == 64 || TARGET_AVX512VL
18414 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18415 : : && ix86_pre_reload_split ()
18416 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18417 : : STRIP_UNARY (operands[4]))
18418 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18419 : : STRIP_UNARY (operands[4]))
18420 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18421 : : STRIP_UNARY (operands[3]))
18422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18423 : : STRIP_UNARY (operands[3])))) &&
18424 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18425 : : (TARGET_AVX)))
18426 : : return -1;
18427 : : return 6309; /* *avx512vl_vpternlogv16hi_2 */
18428 : :
18429 : : case 5:
18430 : : if (!
18431 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18432 : : ((16 == 64 || TARGET_AVX512VL
18433 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18434 : : && ix86_pre_reload_split ()
18435 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18436 : : STRIP_UNARY (operands[4]))
18437 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18438 : : STRIP_UNARY (operands[4]))
18439 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18440 : : STRIP_UNARY (operands[3]))
18441 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18442 : : STRIP_UNARY (operands[3])))))
18443 : : return -1;
18444 : : return 6336; /* *avx512vl_vpternlogv8hi_2 */
18445 : :
18446 : : case 6:
18447 : : if (!(
18448 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18449 : : ((64 == 64 || TARGET_AVX512VL
18450 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18451 : : && ix86_pre_reload_split ()
18452 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18453 : : STRIP_UNARY (operands[4]))
18454 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18455 : : STRIP_UNARY (operands[4]))
18456 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18457 : : STRIP_UNARY (operands[3]))
18458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18459 : : STRIP_UNARY (operands[3])))) &&
18460 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18461 : : (TARGET_AVX512F)))
18462 : : return -1;
18463 : : return 6363; /* *avx512f_vpternlogv16si_2 */
18464 : :
18465 : : case 7:
18466 : : if (!(
18467 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18468 : : ((32 == 64 || TARGET_AVX512VL
18469 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18470 : : && ix86_pre_reload_split ()
18471 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18472 : : STRIP_UNARY (operands[4]))
18473 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18474 : : STRIP_UNARY (operands[4]))
18475 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18476 : : STRIP_UNARY (operands[3]))
18477 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18478 : : STRIP_UNARY (operands[3])))) &&
18479 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18480 : : (TARGET_AVX)))
18481 : : return -1;
18482 : : return 6390; /* *avx512vl_vpternlogv8si_2 */
18483 : :
18484 : : case 8:
18485 : : if (!
18486 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18487 : : ((16 == 64 || TARGET_AVX512VL
18488 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18489 : : && ix86_pre_reload_split ()
18490 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18491 : : STRIP_UNARY (operands[4]))
18492 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18493 : : STRIP_UNARY (operands[4]))
18494 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18495 : : STRIP_UNARY (operands[3]))
18496 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18497 : : STRIP_UNARY (operands[3])))))
18498 : : return -1;
18499 : : return 6417; /* *avx512vl_vpternlogv4si_2 */
18500 : :
18501 : : case 9:
18502 : : if (!(
18503 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18504 : : ((64 == 64 || TARGET_AVX512VL
18505 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18506 : : && ix86_pre_reload_split ()
18507 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18508 : : STRIP_UNARY (operands[4]))
18509 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18510 : : STRIP_UNARY (operands[4]))
18511 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18512 : : STRIP_UNARY (operands[3]))
18513 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18514 : : STRIP_UNARY (operands[3])))) &&
18515 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18516 : : (TARGET_AVX512F)))
18517 : : return -1;
18518 : : return 6444; /* *avx512f_vpternlogv8di_2 */
18519 : :
18520 : : case 10:
18521 : : if (!(
18522 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18523 : : ((32 == 64 || TARGET_AVX512VL
18524 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18525 : : && ix86_pre_reload_split ()
18526 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18527 : : STRIP_UNARY (operands[4]))
18528 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18529 : : STRIP_UNARY (operands[4]))
18530 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18531 : : STRIP_UNARY (operands[3]))
18532 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18533 : : STRIP_UNARY (operands[3])))) &&
18534 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18535 : : (TARGET_AVX)))
18536 : : return -1;
18537 : : return 6471; /* *avx512vl_vpternlogv4di_2 */
18538 : :
18539 : : case 11:
18540 : : if (!
18541 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18542 : : ((16 == 64 || TARGET_AVX512VL
18543 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18544 : : && ix86_pre_reload_split ()
18545 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18546 : : STRIP_UNARY (operands[4]))
18547 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18548 : : STRIP_UNARY (operands[4]))
18549 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18550 : : STRIP_UNARY (operands[3]))
18551 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18552 : : STRIP_UNARY (operands[3])))))
18553 : : return -1;
18554 : : return 6498; /* *avx512vl_vpternlogv2di_2 */
18555 : :
18556 : : default:
18557 : : return -1;
18558 : : }
18559 : :
18560 : : case XOR:
18561 : : switch (pattern532 (x2))
18562 : : {
18563 : : case 0:
18564 : : if (!(
18565 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18566 : : ((64 == 64 || TARGET_AVX512VL
18567 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18568 : : && ix86_pre_reload_split ()
18569 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18570 : : STRIP_UNARY (operands[4]))
18571 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18572 : : STRIP_UNARY (operands[4]))
18573 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18574 : : STRIP_UNARY (operands[3]))
18575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18576 : : STRIP_UNARY (operands[3])))) &&
18577 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18578 : : (TARGET_AVX512F)))
18579 : : return -1;
18580 : : return 6204; /* *avx512bw_vpternlogv64qi_2 */
18581 : :
18582 : : case 1:
18583 : : if (!(
18584 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18585 : : ((32 == 64 || TARGET_AVX512VL
18586 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18587 : : && ix86_pre_reload_split ()
18588 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18589 : : STRIP_UNARY (operands[4]))
18590 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18591 : : STRIP_UNARY (operands[4]))
18592 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18593 : : STRIP_UNARY (operands[3]))
18594 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18595 : : STRIP_UNARY (operands[3])))) &&
18596 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18597 : : (TARGET_AVX)))
18598 : : return -1;
18599 : : return 6231; /* *avx512vl_vpternlogv32qi_2 */
18600 : :
18601 : : case 2:
18602 : : if (!
18603 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18604 : : ((16 == 64 || TARGET_AVX512VL
18605 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18606 : : && ix86_pre_reload_split ()
18607 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18608 : : STRIP_UNARY (operands[4]))
18609 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18610 : : STRIP_UNARY (operands[4]))
18611 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18612 : : STRIP_UNARY (operands[3]))
18613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18614 : : STRIP_UNARY (operands[3])))))
18615 : : return -1;
18616 : : return 6258; /* *avx512vl_vpternlogv16qi_2 */
18617 : :
18618 : : case 3:
18619 : : if (!(
18620 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18621 : : ((64 == 64 || TARGET_AVX512VL
18622 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18623 : : && ix86_pre_reload_split ()
18624 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18625 : : STRIP_UNARY (operands[4]))
18626 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18627 : : STRIP_UNARY (operands[4]))
18628 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18629 : : STRIP_UNARY (operands[3]))
18630 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18631 : : STRIP_UNARY (operands[3])))) &&
18632 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18633 : : (TARGET_AVX512F)))
18634 : : return -1;
18635 : : return 6285; /* *avx512bw_vpternlogv32hi_2 */
18636 : :
18637 : : case 4:
18638 : : if (!(
18639 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18640 : : ((32 == 64 || TARGET_AVX512VL
18641 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18642 : : && ix86_pre_reload_split ()
18643 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18644 : : STRIP_UNARY (operands[4]))
18645 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18646 : : STRIP_UNARY (operands[4]))
18647 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18648 : : STRIP_UNARY (operands[3]))
18649 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18650 : : STRIP_UNARY (operands[3])))) &&
18651 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18652 : : (TARGET_AVX)))
18653 : : return -1;
18654 : : return 6312; /* *avx512vl_vpternlogv16hi_2 */
18655 : :
18656 : : case 5:
18657 : : if (!
18658 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18659 : : ((16 == 64 || TARGET_AVX512VL
18660 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18661 : : && ix86_pre_reload_split ()
18662 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18663 : : STRIP_UNARY (operands[4]))
18664 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18665 : : STRIP_UNARY (operands[4]))
18666 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18667 : : STRIP_UNARY (operands[3]))
18668 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18669 : : STRIP_UNARY (operands[3])))))
18670 : : return -1;
18671 : : return 6339; /* *avx512vl_vpternlogv8hi_2 */
18672 : :
18673 : : case 6:
18674 : : if (!(
18675 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18676 : : ((64 == 64 || TARGET_AVX512VL
18677 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18678 : : && ix86_pre_reload_split ()
18679 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18680 : : STRIP_UNARY (operands[4]))
18681 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18682 : : STRIP_UNARY (operands[4]))
18683 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18684 : : STRIP_UNARY (operands[3]))
18685 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18686 : : STRIP_UNARY (operands[3])))) &&
18687 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18688 : : (TARGET_AVX512F)))
18689 : : return -1;
18690 : : return 6366; /* *avx512f_vpternlogv16si_2 */
18691 : :
18692 : : case 7:
18693 : : if (!(
18694 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18695 : : ((32 == 64 || TARGET_AVX512VL
18696 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18697 : : && ix86_pre_reload_split ()
18698 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18699 : : STRIP_UNARY (operands[4]))
18700 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18701 : : STRIP_UNARY (operands[4]))
18702 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18703 : : STRIP_UNARY (operands[3]))
18704 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18705 : : STRIP_UNARY (operands[3])))) &&
18706 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18707 : : (TARGET_AVX)))
18708 : : return -1;
18709 : : return 6393; /* *avx512vl_vpternlogv8si_2 */
18710 : :
18711 : : case 8:
18712 : : if (!
18713 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18714 : : ((16 == 64 || TARGET_AVX512VL
18715 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18716 : : && ix86_pre_reload_split ()
18717 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18718 : : STRIP_UNARY (operands[4]))
18719 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18720 : : STRIP_UNARY (operands[4]))
18721 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18722 : : STRIP_UNARY (operands[3]))
18723 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18724 : : STRIP_UNARY (operands[3])))))
18725 : : return -1;
18726 : : return 6420; /* *avx512vl_vpternlogv4si_2 */
18727 : :
18728 : : case 9:
18729 : : if (!(
18730 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18731 : : ((64 == 64 || TARGET_AVX512VL
18732 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18733 : : && ix86_pre_reload_split ()
18734 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18735 : : STRIP_UNARY (operands[4]))
18736 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18737 : : STRIP_UNARY (operands[4]))
18738 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18739 : : STRIP_UNARY (operands[3]))
18740 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18741 : : STRIP_UNARY (operands[3])))) &&
18742 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18743 : : (TARGET_AVX512F)))
18744 : : return -1;
18745 : : return 6447; /* *avx512f_vpternlogv8di_2 */
18746 : :
18747 : : case 10:
18748 : : if (!(
18749 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18750 : : ((32 == 64 || TARGET_AVX512VL
18751 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18752 : : && ix86_pre_reload_split ()
18753 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18754 : : STRIP_UNARY (operands[4]))
18755 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18756 : : STRIP_UNARY (operands[4]))
18757 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18758 : : STRIP_UNARY (operands[3]))
18759 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18760 : : STRIP_UNARY (operands[3])))) &&
18761 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18762 : : (TARGET_AVX)))
18763 : : return -1;
18764 : : return 6474; /* *avx512vl_vpternlogv4di_2 */
18765 : :
18766 : : case 11:
18767 : : if (!
18768 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18769 : : ((16 == 64 || TARGET_AVX512VL
18770 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18771 : : && ix86_pre_reload_split ()
18772 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18773 : : STRIP_UNARY (operands[4]))
18774 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18775 : : STRIP_UNARY (operands[4]))
18776 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18777 : : STRIP_UNARY (operands[3]))
18778 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18779 : : STRIP_UNARY (operands[3])))))
18780 : : return -1;
18781 : : return 6501; /* *avx512vl_vpternlogv2di_2 */
18782 : :
18783 : : default:
18784 : : return -1;
18785 : : }
18786 : :
18787 : : default:
18788 : : return -1;
18789 : : }
18790 : : }
18791 : :
18792 : : int
18793 : : recog_318 (rtx x1 ATTRIBUTE_UNUSED,
18794 : : rtx_insn *insn ATTRIBUTE_UNUSED,
18795 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
18796 : : {
18797 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18798 : : rtx x2, x3, x4, x5;
18799 : : int res ATTRIBUTE_UNUSED;
18800 : : x2 = XEXP (x1, 1);
18801 : : x3 = XEXP (x2, 0);
18802 : : switch (GET_CODE (x3))
18803 : : {
18804 : : case REG:
18805 : : case SUBREG:
18806 : : case MEM:
18807 : : case VEC_DUPLICATE:
18808 : : operands[1] = x3;
18809 : : x4 = XEXP (x2, 1);
18810 : : operands[2] = x4;
18811 : : switch (GET_MODE (operands[0]))
18812 : : {
18813 : : case E_V16BFmode:
18814 : : if (pattern26 (x2,
18815 : : E_V16BFmode) != 0
18816 : : || !(
18817 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18818 : : (TARGET_SSE && 1
18819 : : && (!false || 16 != 16)
18820 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18821 : : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18822 : : (TARGET_AVX)))
18823 : : return -1;
18824 : : return 3776; /* *iorv16bf3 */
18825 : :
18826 : : case E_V8BFmode:
18827 : : if (pattern26 (x2,
18828 : : E_V8BFmode) != 0
18829 : : || !(
18830 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18831 : : (TARGET_SSE && 1
18832 : : && (!false || 16 != 16)
18833 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18834 : : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18835 : : (TARGET_SSE2)))
18836 : : return -1;
18837 : : return 3779; /* *iorv8bf3 */
18838 : :
18839 : : case E_V16HFmode:
18840 : : if (pattern26 (x2,
18841 : : E_V16HFmode) != 0
18842 : : || !(
18843 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18844 : : (TARGET_SSE && 1
18845 : : && (!false || 16 != 16)
18846 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18847 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18848 : : (TARGET_AVX)))
18849 : : return -1;
18850 : : return 3782; /* *iorv16hf3 */
18851 : :
18852 : : case E_V8HFmode:
18853 : : if (pattern26 (x2,
18854 : : E_V8HFmode) != 0
18855 : : || !(
18856 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18857 : : (TARGET_SSE && 1
18858 : : && (!false || 16 != 16)
18859 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18860 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18861 : : (TARGET_SSE2)))
18862 : : return -1;
18863 : : return 3785; /* *iorv8hf3 */
18864 : :
18865 : : case E_V8SFmode:
18866 : : if (pattern26 (x2,
18867 : : E_V8SFmode) != 0
18868 : : || !(
18869 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18870 : : (TARGET_SSE && 1
18871 : : && (!false || 32 != 16)
18872 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18873 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18874 : : (TARGET_AVX)))
18875 : : return -1;
18876 : : return 3789; /* *iorv8sf3 */
18877 : :
18878 : : case E_V4SFmode:
18879 : : if (pattern26 (x2,
18880 : : E_V4SFmode) != 0
18881 : : || !
18882 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18883 : : (TARGET_SSE && 1
18884 : : && (!false || 32 != 16)
18885 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
18886 : : return -1;
18887 : : return 3795; /* *iorv4sf3 */
18888 : :
18889 : : case E_V4DFmode:
18890 : : if (pattern26 (x2,
18891 : : E_V4DFmode) != 0
18892 : : || !(
18893 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18894 : : (TARGET_SSE && 1
18895 : : && (!false || 64 != 16)
18896 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18897 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18898 : : (TARGET_AVX)))
18899 : : return -1;
18900 : : return 3801; /* *iorv4df3 */
18901 : :
18902 : : case E_V2DFmode:
18903 : : if (pattern26 (x2,
18904 : : E_V2DFmode) != 0
18905 : : || !(
18906 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18907 : : (TARGET_SSE && 1
18908 : : && (!false || 64 != 16)
18909 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18910 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18911 : : (TARGET_SSE2)))
18912 : : return -1;
18913 : : return 3807; /* *iorv2df3 */
18914 : :
18915 : : case E_V32BFmode:
18916 : : if (pattern3 (x2,
18917 : : E_V32BFmode) != 0
18918 : : || !
18919 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18920 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
18921 : : && (!false || 16 != 16)))
18922 : : return -1;
18923 : : return 3812; /* *iorv32bf3 */
18924 : :
18925 : : case E_V32HFmode:
18926 : : if (pattern3 (x2,
18927 : : E_V32HFmode) != 0
18928 : : || !
18929 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18930 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
18931 : : && (!false || 16 != 16)))
18932 : : return -1;
18933 : : return 3815; /* *iorv32hf3 */
18934 : :
18935 : : case E_V16SFmode:
18936 : : if (pattern3 (x2,
18937 : : E_V16SFmode) != 0
18938 : : || !
18939 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18940 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
18941 : : && (!false || 32 != 16)))
18942 : : return -1;
18943 : : return 3819; /* *iorv16sf3 */
18944 : :
18945 : : case E_V8DFmode:
18946 : : if (pattern3 (x2,
18947 : : E_V8DFmode) != 0
18948 : : || !
18949 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18950 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
18951 : : && (!false || 64 != 16)))
18952 : : return -1;
18953 : : return 3825; /* *iorv8df3 */
18954 : :
18955 : : case E_V16SImode:
18956 : : if (pattern188 (x2,
18957 : : E_V16SImode) != 0
18958 : : || !(
18959 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18960 : : (TARGET_SSE && 1
18961 : : && ix86_binary_operator_ok (IOR, V16SImode, operands)) &&
18962 : : #line 794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18963 : : (TARGET_AVX512F)))
18964 : : return -1;
18965 : : return 8043; /* *iorv16si3 */
18966 : :
18967 : : case E_V8SImode:
18968 : : if (pattern188 (x2,
18969 : : E_V8SImode) != 0
18970 : : || !(
18971 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18972 : : (TARGET_SSE && 1
18973 : : && ix86_binary_operator_ok (IOR, V8SImode, operands)) &&
18974 : : #line 794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18975 : : (TARGET_AVX)))
18976 : : return -1;
18977 : : return 8049; /* *iorv8si3 */
18978 : :
18979 : : case E_V4SImode:
18980 : : if (pattern188 (x2,
18981 : : E_V4SImode) != 0
18982 : : || !
18983 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18984 : : (TARGET_SSE && 1
18985 : : && ix86_binary_operator_ok (IOR, V4SImode, operands)))
18986 : : return -1;
18987 : : return 8055; /* *iorv4si3 */
18988 : :
18989 : : case E_V8DImode:
18990 : : if (pattern188 (x2,
18991 : : E_V8DImode) != 0
18992 : : || !(
18993 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18994 : : (TARGET_SSE && 1
18995 : : && ix86_binary_operator_ok (IOR, V8DImode, operands)) &&
18996 : : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18997 : : (TARGET_AVX512F)))
18998 : : return -1;
18999 : : return 8061; /* *iorv8di3 */
19000 : :
19001 : : case E_V4DImode:
19002 : : if (pattern188 (x2,
19003 : : E_V4DImode) != 0
19004 : : || !(
19005 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19006 : : (TARGET_SSE && 1
19007 : : && ix86_binary_operator_ok (IOR, V4DImode, operands)) &&
19008 : : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19009 : : (TARGET_AVX)))
19010 : : return -1;
19011 : : return 8067; /* *iorv4di3 */
19012 : :
19013 : : case E_V2DImode:
19014 : : if (pattern188 (x2,
19015 : : E_V2DImode) != 0
19016 : : || !
19017 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19018 : : (TARGET_SSE && 1
19019 : : && ix86_binary_operator_ok (IOR, V2DImode, operands)))
19020 : : return -1;
19021 : : return 8073; /* *iorv2di3 */
19022 : :
19023 : : case E_V64QImode:
19024 : : if (pattern26 (x2,
19025 : : E_V64QImode) != 0
19026 : : || !(
19027 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19028 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19029 : : #line 798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19030 : : (TARGET_AVX512F)))
19031 : : return -1;
19032 : : return 8078; /* *iorv64qi3 */
19033 : :
19034 : : case E_V32QImode:
19035 : : if (pattern26 (x2,
19036 : : E_V32QImode) != 0
19037 : : || !(
19038 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19039 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19040 : : #line 798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19041 : : (TARGET_AVX)))
19042 : : return -1;
19043 : : return 8081; /* *iorv32qi3 */
19044 : :
19045 : : case E_V16QImode:
19046 : : if (pattern26 (x2,
19047 : : E_V16QImode) != 0
19048 : : || !
19049 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19050 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19051 : : return -1;
19052 : : return 8084; /* *iorv16qi3 */
19053 : :
19054 : : case E_V32HImode:
19055 : : if (pattern26 (x2,
19056 : : E_V32HImode) != 0
19057 : : || !(
19058 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19059 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19060 : : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19061 : : (TARGET_AVX512F)))
19062 : : return -1;
19063 : : return 8087; /* *iorv32hi3 */
19064 : :
19065 : : case E_V16HImode:
19066 : : if (pattern26 (x2,
19067 : : E_V16HImode) != 0
19068 : : || !(
19069 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19070 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19071 : : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19072 : : (TARGET_AVX)))
19073 : : return -1;
19074 : : return 8090; /* *iorv16hi3 */
19075 : :
19076 : : case E_V8HImode:
19077 : : if (pattern26 (x2,
19078 : : E_V8HImode) != 0
19079 : : || !
19080 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19081 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19082 : : return -1;
19083 : : return 8093; /* *iorv8hi3 */
19084 : :
19085 : : case E_V1TImode:
19086 : : if (pattern673 (x2,
19087 : : E_V1TImode) != 0
19088 : : || !
19089 : : #line 19216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19090 : : (TARGET_SSE2))
19091 : : return -1;
19092 : : return 8096; /* iorv1ti3 */
19093 : :
19094 : : default:
19095 : : return -1;
19096 : : }
19097 : :
19098 : : case AND:
19099 : : x5 = XEXP (x3, 0);
19100 : : switch (GET_CODE (x5))
19101 : : {
19102 : : case REG:
19103 : : case SUBREG:
19104 : : case MEM:
19105 : : case NOT:
19106 : : switch (pattern530 (x2))
19107 : : {
19108 : : case 0:
19109 : : if (!(
19110 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19111 : : ((64 == 64 || TARGET_AVX512VL
19112 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19113 : : && ix86_pre_reload_split ()
19114 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19115 : : STRIP_UNARY (operands[4]))
19116 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19117 : : STRIP_UNARY (operands[4]))
19118 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19119 : : STRIP_UNARY (operands[3]))
19120 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19121 : : STRIP_UNARY (operands[3])))) &&
19122 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19123 : : (TARGET_AVX512F)))
19124 : : return -1;
19125 : : return 5531; /* *avx512bw_vpternlogv64qi_1 */
19126 : :
19127 : : case 1:
19128 : : if (!(
19129 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19130 : : ((32 == 64 || TARGET_AVX512VL
19131 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19132 : : && ix86_pre_reload_split ()
19133 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19134 : : STRIP_UNARY (operands[4]))
19135 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19136 : : STRIP_UNARY (operands[4]))
19137 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19138 : : STRIP_UNARY (operands[3]))
19139 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19140 : : STRIP_UNARY (operands[3])))) &&
19141 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19142 : : (TARGET_AVX)))
19143 : : return -1;
19144 : : return 5558; /* *avx512vl_vpternlogv32qi_1 */
19145 : :
19146 : : case 2:
19147 : : if (!
19148 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19149 : : ((16 == 64 || TARGET_AVX512VL
19150 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19151 : : && ix86_pre_reload_split ()
19152 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19153 : : STRIP_UNARY (operands[4]))
19154 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19155 : : STRIP_UNARY (operands[4]))
19156 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19157 : : STRIP_UNARY (operands[3]))
19158 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19159 : : STRIP_UNARY (operands[3])))))
19160 : : return -1;
19161 : : return 5585; /* *avx512vl_vpternlogv16qi_1 */
19162 : :
19163 : : case 3:
19164 : : if (!(
19165 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19166 : : ((64 == 64 || TARGET_AVX512VL
19167 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19168 : : && ix86_pre_reload_split ()
19169 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19170 : : STRIP_UNARY (operands[4]))
19171 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19172 : : STRIP_UNARY (operands[4]))
19173 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19174 : : STRIP_UNARY (operands[3]))
19175 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19176 : : STRIP_UNARY (operands[3])))) &&
19177 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19178 : : (TARGET_AVX512F)))
19179 : : return -1;
19180 : : return 5612; /* *avx512bw_vpternlogv32hi_1 */
19181 : :
19182 : : case 4:
19183 : : if (!(
19184 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19185 : : ((32 == 64 || TARGET_AVX512VL
19186 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19187 : : && ix86_pre_reload_split ()
19188 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19189 : : STRIP_UNARY (operands[4]))
19190 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19191 : : STRIP_UNARY (operands[4]))
19192 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19193 : : STRIP_UNARY (operands[3]))
19194 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19195 : : STRIP_UNARY (operands[3])))) &&
19196 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19197 : : (TARGET_AVX)))
19198 : : return -1;
19199 : : return 5639; /* *avx512vl_vpternlogv16hi_1 */
19200 : :
19201 : : case 5:
19202 : : if (!
19203 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19204 : : ((16 == 64 || TARGET_AVX512VL
19205 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19206 : : && ix86_pre_reload_split ()
19207 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19208 : : STRIP_UNARY (operands[4]))
19209 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19210 : : STRIP_UNARY (operands[4]))
19211 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19212 : : STRIP_UNARY (operands[3]))
19213 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19214 : : STRIP_UNARY (operands[3])))))
19215 : : return -1;
19216 : : return 5666; /* *avx512vl_vpternlogv8hi_1 */
19217 : :
19218 : : case 6:
19219 : : if (!(
19220 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19221 : : ((64 == 64 || TARGET_AVX512VL
19222 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19223 : : && ix86_pre_reload_split ()
19224 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19225 : : STRIP_UNARY (operands[4]))
19226 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19227 : : STRIP_UNARY (operands[4]))
19228 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19229 : : STRIP_UNARY (operands[3]))
19230 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19231 : : STRIP_UNARY (operands[3])))) &&
19232 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19233 : : (TARGET_AVX512F)))
19234 : : return -1;
19235 : : return 5693; /* *avx512f_vpternlogv16si_1 */
19236 : :
19237 : : case 7:
19238 : : if (!(
19239 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19240 : : ((32 == 64 || TARGET_AVX512VL
19241 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19242 : : && ix86_pre_reload_split ()
19243 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19244 : : STRIP_UNARY (operands[4]))
19245 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19246 : : STRIP_UNARY (operands[4]))
19247 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19248 : : STRIP_UNARY (operands[3]))
19249 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19250 : : STRIP_UNARY (operands[3])))) &&
19251 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19252 : : (TARGET_AVX)))
19253 : : return -1;
19254 : : return 5720; /* *avx512vl_vpternlogv8si_1 */
19255 : :
19256 : : case 8:
19257 : : if (!
19258 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19259 : : ((16 == 64 || TARGET_AVX512VL
19260 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19261 : : && ix86_pre_reload_split ()
19262 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19263 : : STRIP_UNARY (operands[4]))
19264 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19265 : : STRIP_UNARY (operands[4]))
19266 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19267 : : STRIP_UNARY (operands[3]))
19268 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19269 : : STRIP_UNARY (operands[3])))))
19270 : : return -1;
19271 : : return 5747; /* *avx512vl_vpternlogv4si_1 */
19272 : :
19273 : : case 9:
19274 : : if (!(
19275 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19276 : : ((64 == 64 || TARGET_AVX512VL
19277 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19278 : : && ix86_pre_reload_split ()
19279 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19280 : : STRIP_UNARY (operands[4]))
19281 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19282 : : STRIP_UNARY (operands[4]))
19283 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19284 : : STRIP_UNARY (operands[3]))
19285 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19286 : : STRIP_UNARY (operands[3])))) &&
19287 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19288 : : (TARGET_AVX512F)))
19289 : : return -1;
19290 : : return 5774; /* *avx512f_vpternlogv8di_1 */
19291 : :
19292 : : case 10:
19293 : : if (!(
19294 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19295 : : ((32 == 64 || TARGET_AVX512VL
19296 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19297 : : && ix86_pre_reload_split ()
19298 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19299 : : STRIP_UNARY (operands[4]))
19300 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19301 : : STRIP_UNARY (operands[4]))
19302 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19303 : : STRIP_UNARY (operands[3]))
19304 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19305 : : STRIP_UNARY (operands[3])))) &&
19306 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19307 : : (TARGET_AVX)))
19308 : : return -1;
19309 : : return 5801; /* *avx512vl_vpternlogv4di_1 */
19310 : :
19311 : : case 11:
19312 : : if (!
19313 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19314 : : ((16 == 64 || TARGET_AVX512VL
19315 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19316 : : && ix86_pre_reload_split ()
19317 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19318 : : STRIP_UNARY (operands[4]))
19319 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19320 : : STRIP_UNARY (operands[4]))
19321 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19322 : : STRIP_UNARY (operands[3]))
19323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19324 : : STRIP_UNARY (operands[3])))))
19325 : : return -1;
19326 : : return 5828; /* *avx512vl_vpternlogv2di_1 */
19327 : :
19328 : : case 12:
19329 : : if (!(
19330 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19331 : : ((64 == 64 || TARGET_AVX512VL
19332 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19333 : : && ix86_pre_reload_split ()
19334 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19335 : : STRIP_UNARY (operands[4]))
19336 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19337 : : STRIP_UNARY (operands[4]))
19338 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19339 : : STRIP_UNARY (operands[3]))
19340 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19341 : : STRIP_UNARY (operands[3])))) &&
19342 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19343 : : (TARGET_AVX512F)))
19344 : : return -1;
19345 : : return 5534; /* *avx512bw_vpternlogv64qi_1 */
19346 : :
19347 : : case 13:
19348 : : if (!(
19349 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19350 : : ((32 == 64 || TARGET_AVX512VL
19351 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19352 : : && ix86_pre_reload_split ()
19353 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19354 : : STRIP_UNARY (operands[4]))
19355 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19356 : : STRIP_UNARY (operands[4]))
19357 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19358 : : STRIP_UNARY (operands[3]))
19359 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19360 : : STRIP_UNARY (operands[3])))) &&
19361 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19362 : : (TARGET_AVX)))
19363 : : return -1;
19364 : : return 5561; /* *avx512vl_vpternlogv32qi_1 */
19365 : :
19366 : : case 14:
19367 : : if (!
19368 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19369 : : ((16 == 64 || TARGET_AVX512VL
19370 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19371 : : && ix86_pre_reload_split ()
19372 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19373 : : STRIP_UNARY (operands[4]))
19374 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19375 : : STRIP_UNARY (operands[4]))
19376 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19377 : : STRIP_UNARY (operands[3]))
19378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19379 : : STRIP_UNARY (operands[3])))))
19380 : : return -1;
19381 : : return 5588; /* *avx512vl_vpternlogv16qi_1 */
19382 : :
19383 : : case 15:
19384 : : if (!(
19385 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19386 : : ((64 == 64 || TARGET_AVX512VL
19387 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19388 : : && ix86_pre_reload_split ()
19389 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19390 : : STRIP_UNARY (operands[4]))
19391 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19392 : : STRIP_UNARY (operands[4]))
19393 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19394 : : STRIP_UNARY (operands[3]))
19395 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19396 : : STRIP_UNARY (operands[3])))) &&
19397 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19398 : : (TARGET_AVX512F)))
19399 : : return -1;
19400 : : return 5615; /* *avx512bw_vpternlogv32hi_1 */
19401 : :
19402 : : case 16:
19403 : : if (!(
19404 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19405 : : ((32 == 64 || TARGET_AVX512VL
19406 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19407 : : && ix86_pre_reload_split ()
19408 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19409 : : STRIP_UNARY (operands[4]))
19410 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19411 : : STRIP_UNARY (operands[4]))
19412 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19413 : : STRIP_UNARY (operands[3]))
19414 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19415 : : STRIP_UNARY (operands[3])))) &&
19416 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19417 : : (TARGET_AVX)))
19418 : : return -1;
19419 : : return 5642; /* *avx512vl_vpternlogv16hi_1 */
19420 : :
19421 : : case 17:
19422 : : if (!
19423 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19424 : : ((16 == 64 || TARGET_AVX512VL
19425 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19426 : : && ix86_pre_reload_split ()
19427 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19428 : : STRIP_UNARY (operands[4]))
19429 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19430 : : STRIP_UNARY (operands[4]))
19431 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19432 : : STRIP_UNARY (operands[3]))
19433 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19434 : : STRIP_UNARY (operands[3])))))
19435 : : return -1;
19436 : : return 5669; /* *avx512vl_vpternlogv8hi_1 */
19437 : :
19438 : : case 18:
19439 : : if (!(
19440 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19441 : : ((64 == 64 || TARGET_AVX512VL
19442 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19443 : : && ix86_pre_reload_split ()
19444 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19445 : : STRIP_UNARY (operands[4]))
19446 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19447 : : STRIP_UNARY (operands[4]))
19448 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19449 : : STRIP_UNARY (operands[3]))
19450 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19451 : : STRIP_UNARY (operands[3])))) &&
19452 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19453 : : (TARGET_AVX512F)))
19454 : : return -1;
19455 : : return 5696; /* *avx512f_vpternlogv16si_1 */
19456 : :
19457 : : case 19:
19458 : : if (!(
19459 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19460 : : ((32 == 64 || TARGET_AVX512VL
19461 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19462 : : && ix86_pre_reload_split ()
19463 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19464 : : STRIP_UNARY (operands[4]))
19465 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19466 : : STRIP_UNARY (operands[4]))
19467 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19468 : : STRIP_UNARY (operands[3]))
19469 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19470 : : STRIP_UNARY (operands[3])))) &&
19471 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19472 : : (TARGET_AVX)))
19473 : : return -1;
19474 : : return 5723; /* *avx512vl_vpternlogv8si_1 */
19475 : :
19476 : : case 20:
19477 : : if (!
19478 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19479 : : ((16 == 64 || TARGET_AVX512VL
19480 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19481 : : && ix86_pre_reload_split ()
19482 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19483 : : STRIP_UNARY (operands[4]))
19484 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19485 : : STRIP_UNARY (operands[4]))
19486 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19487 : : STRIP_UNARY (operands[3]))
19488 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19489 : : STRIP_UNARY (operands[3])))))
19490 : : return -1;
19491 : : return 5750; /* *avx512vl_vpternlogv4si_1 */
19492 : :
19493 : : case 21:
19494 : : if (!(
19495 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19496 : : ((64 == 64 || TARGET_AVX512VL
19497 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19498 : : && ix86_pre_reload_split ()
19499 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19500 : : STRIP_UNARY (operands[4]))
19501 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19502 : : STRIP_UNARY (operands[4]))
19503 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19504 : : STRIP_UNARY (operands[3]))
19505 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19506 : : STRIP_UNARY (operands[3])))) &&
19507 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19508 : : (TARGET_AVX512F)))
19509 : : return -1;
19510 : : return 5777; /* *avx512f_vpternlogv8di_1 */
19511 : :
19512 : : case 22:
19513 : : if (!(
19514 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19515 : : ((32 == 64 || TARGET_AVX512VL
19516 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19517 : : && ix86_pre_reload_split ()
19518 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19519 : : STRIP_UNARY (operands[4]))
19520 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19521 : : STRIP_UNARY (operands[4]))
19522 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19523 : : STRIP_UNARY (operands[3]))
19524 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19525 : : STRIP_UNARY (operands[3])))) &&
19526 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19527 : : (TARGET_AVX)))
19528 : : return -1;
19529 : : return 5804; /* *avx512vl_vpternlogv4di_1 */
19530 : :
19531 : : case 23:
19532 : : if (!
19533 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19534 : : ((16 == 64 || TARGET_AVX512VL
19535 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19536 : : && ix86_pre_reload_split ()
19537 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19538 : : STRIP_UNARY (operands[4]))
19539 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19540 : : STRIP_UNARY (operands[4]))
19541 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19542 : : STRIP_UNARY (operands[3]))
19543 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19544 : : STRIP_UNARY (operands[3])))))
19545 : : return -1;
19546 : : return 5831; /* *avx512vl_vpternlogv2di_1 */
19547 : :
19548 : : case 24:
19549 : : if (!(
19550 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19551 : : ((64 == 64 || TARGET_AVX512VL
19552 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19553 : : && ix86_pre_reload_split ()
19554 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19555 : : STRIP_UNARY (operands[4]))
19556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19557 : : STRIP_UNARY (operands[4]))
19558 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19559 : : STRIP_UNARY (operands[3]))
19560 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19561 : : STRIP_UNARY (operands[3])))) &&
19562 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19563 : : (TARGET_AVX512F)))
19564 : : return -1;
19565 : : return 5537; /* *avx512bw_vpternlogv64qi_1 */
19566 : :
19567 : : case 25:
19568 : : if (!(
19569 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19570 : : ((32 == 64 || TARGET_AVX512VL
19571 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19572 : : && ix86_pre_reload_split ()
19573 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19574 : : STRIP_UNARY (operands[4]))
19575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19576 : : STRIP_UNARY (operands[4]))
19577 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19578 : : STRIP_UNARY (operands[3]))
19579 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19580 : : STRIP_UNARY (operands[3])))) &&
19581 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19582 : : (TARGET_AVX)))
19583 : : return -1;
19584 : : return 5564; /* *avx512vl_vpternlogv32qi_1 */
19585 : :
19586 : : case 26:
19587 : : if (!
19588 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19589 : : ((16 == 64 || TARGET_AVX512VL
19590 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19591 : : && ix86_pre_reload_split ()
19592 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19593 : : STRIP_UNARY (operands[4]))
19594 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19595 : : STRIP_UNARY (operands[4]))
19596 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19597 : : STRIP_UNARY (operands[3]))
19598 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19599 : : STRIP_UNARY (operands[3])))))
19600 : : return -1;
19601 : : return 5591; /* *avx512vl_vpternlogv16qi_1 */
19602 : :
19603 : : case 27:
19604 : : if (!(
19605 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19606 : : ((64 == 64 || TARGET_AVX512VL
19607 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19608 : : && ix86_pre_reload_split ()
19609 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19610 : : STRIP_UNARY (operands[4]))
19611 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19612 : : STRIP_UNARY (operands[4]))
19613 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19614 : : STRIP_UNARY (operands[3]))
19615 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19616 : : STRIP_UNARY (operands[3])))) &&
19617 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19618 : : (TARGET_AVX512F)))
19619 : : return -1;
19620 : : return 5618; /* *avx512bw_vpternlogv32hi_1 */
19621 : :
19622 : : case 28:
19623 : : if (!(
19624 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19625 : : ((32 == 64 || TARGET_AVX512VL
19626 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19627 : : && ix86_pre_reload_split ()
19628 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19629 : : STRIP_UNARY (operands[4]))
19630 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19631 : : STRIP_UNARY (operands[4]))
19632 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19633 : : STRIP_UNARY (operands[3]))
19634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19635 : : STRIP_UNARY (operands[3])))) &&
19636 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19637 : : (TARGET_AVX)))
19638 : : return -1;
19639 : : return 5645; /* *avx512vl_vpternlogv16hi_1 */
19640 : :
19641 : : case 29:
19642 : : if (!
19643 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19644 : : ((16 == 64 || TARGET_AVX512VL
19645 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19646 : : && ix86_pre_reload_split ()
19647 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19648 : : STRIP_UNARY (operands[4]))
19649 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19650 : : STRIP_UNARY (operands[4]))
19651 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19652 : : STRIP_UNARY (operands[3]))
19653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19654 : : STRIP_UNARY (operands[3])))))
19655 : : return -1;
19656 : : return 5672; /* *avx512vl_vpternlogv8hi_1 */
19657 : :
19658 : : case 30:
19659 : : if (!(
19660 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19661 : : ((64 == 64 || TARGET_AVX512VL
19662 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19663 : : && ix86_pre_reload_split ()
19664 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19665 : : STRIP_UNARY (operands[4]))
19666 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19667 : : STRIP_UNARY (operands[4]))
19668 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19669 : : STRIP_UNARY (operands[3]))
19670 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19671 : : STRIP_UNARY (operands[3])))) &&
19672 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19673 : : (TARGET_AVX512F)))
19674 : : return -1;
19675 : : return 5699; /* *avx512f_vpternlogv16si_1 */
19676 : :
19677 : : case 31:
19678 : : if (!(
19679 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19680 : : ((32 == 64 || TARGET_AVX512VL
19681 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19682 : : && ix86_pre_reload_split ()
19683 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19684 : : STRIP_UNARY (operands[4]))
19685 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19686 : : STRIP_UNARY (operands[4]))
19687 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19688 : : STRIP_UNARY (operands[3]))
19689 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19690 : : STRIP_UNARY (operands[3])))) &&
19691 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19692 : : (TARGET_AVX)))
19693 : : return -1;
19694 : : return 5726; /* *avx512vl_vpternlogv8si_1 */
19695 : :
19696 : : case 32:
19697 : : if (!
19698 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19699 : : ((16 == 64 || TARGET_AVX512VL
19700 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19701 : : && ix86_pre_reload_split ()
19702 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19703 : : STRIP_UNARY (operands[4]))
19704 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19705 : : STRIP_UNARY (operands[4]))
19706 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19707 : : STRIP_UNARY (operands[3]))
19708 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19709 : : STRIP_UNARY (operands[3])))))
19710 : : return -1;
19711 : : return 5753; /* *avx512vl_vpternlogv4si_1 */
19712 : :
19713 : : case 33:
19714 : : if (!(
19715 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19716 : : ((64 == 64 || TARGET_AVX512VL
19717 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19718 : : && ix86_pre_reload_split ()
19719 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19720 : : STRIP_UNARY (operands[4]))
19721 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19722 : : STRIP_UNARY (operands[4]))
19723 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19724 : : STRIP_UNARY (operands[3]))
19725 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19726 : : STRIP_UNARY (operands[3])))) &&
19727 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19728 : : (TARGET_AVX512F)))
19729 : : return -1;
19730 : : return 5780; /* *avx512f_vpternlogv8di_1 */
19731 : :
19732 : : case 34:
19733 : : if (!(
19734 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19735 : : ((32 == 64 || TARGET_AVX512VL
19736 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19737 : : && ix86_pre_reload_split ()
19738 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19739 : : STRIP_UNARY (operands[4]))
19740 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19741 : : STRIP_UNARY (operands[4]))
19742 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19743 : : STRIP_UNARY (operands[3]))
19744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19745 : : STRIP_UNARY (operands[3])))) &&
19746 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19747 : : (TARGET_AVX)))
19748 : : return -1;
19749 : : return 5807; /* *avx512vl_vpternlogv4di_1 */
19750 : :
19751 : : case 35:
19752 : : if (!
19753 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19754 : : ((16 == 64 || TARGET_AVX512VL
19755 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19756 : : && ix86_pre_reload_split ()
19757 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19758 : : STRIP_UNARY (operands[4]))
19759 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19760 : : STRIP_UNARY (operands[4]))
19761 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19762 : : STRIP_UNARY (operands[3]))
19763 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19764 : : STRIP_UNARY (operands[3])))))
19765 : : return -1;
19766 : : return 5834; /* *avx512vl_vpternlogv2di_1 */
19767 : :
19768 : : case 36:
19769 : : if (!(
19770 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19771 : : ((64 == 64 || TARGET_AVX512VL
19772 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19773 : : && ix86_pre_reload_split ()) &&
19774 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19775 : : (TARGET_AVX512F)))
19776 : : return -1;
19777 : : return 6827; /* *avx512bw_vpternlogv64qi_3 */
19778 : :
19779 : : case 37:
19780 : : if (!(
19781 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19782 : : ((32 == 64 || TARGET_AVX512VL
19783 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19784 : : && ix86_pre_reload_split ()) &&
19785 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19786 : : (TARGET_AVX)))
19787 : : return -1;
19788 : : return 6836; /* *avx512vl_vpternlogv32qi_3 */
19789 : :
19790 : : case 38:
19791 : : if (!
19792 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19793 : : ((16 == 64 || TARGET_AVX512VL
19794 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19795 : : && ix86_pre_reload_split ()))
19796 : : return -1;
19797 : : return 6845; /* *avx512vl_vpternlogv16qi_3 */
19798 : :
19799 : : case 39:
19800 : : if (!(
19801 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19802 : : ((64 == 64 || TARGET_AVX512VL
19803 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19804 : : && ix86_pre_reload_split ()) &&
19805 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19806 : : (TARGET_AVX512F)))
19807 : : return -1;
19808 : : return 6854; /* *avx512bw_vpternlogv32hi_3 */
19809 : :
19810 : : case 40:
19811 : : if (!(
19812 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19813 : : ((32 == 64 || TARGET_AVX512VL
19814 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19815 : : && ix86_pre_reload_split ()) &&
19816 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19817 : : (TARGET_AVX)))
19818 : : return -1;
19819 : : return 6863; /* *avx512vl_vpternlogv16hi_3 */
19820 : :
19821 : : case 41:
19822 : : if (!
19823 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19824 : : ((16 == 64 || TARGET_AVX512VL
19825 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19826 : : && ix86_pre_reload_split ()))
19827 : : return -1;
19828 : : return 6872; /* *avx512vl_vpternlogv8hi_3 */
19829 : :
19830 : : case 42:
19831 : : if (!(
19832 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19833 : : ((64 == 64 || TARGET_AVX512VL
19834 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19835 : : && ix86_pre_reload_split ()) &&
19836 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19837 : : (TARGET_AVX512F)))
19838 : : return -1;
19839 : : return 6881; /* *avx512f_vpternlogv16si_3 */
19840 : :
19841 : : case 43:
19842 : : if (!(
19843 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19844 : : ((32 == 64 || TARGET_AVX512VL
19845 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19846 : : && ix86_pre_reload_split ()) &&
19847 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19848 : : (TARGET_AVX)))
19849 : : return -1;
19850 : : return 6890; /* *avx512vl_vpternlogv8si_3 */
19851 : :
19852 : : case 44:
19853 : : if (!
19854 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19855 : : ((16 == 64 || TARGET_AVX512VL
19856 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19857 : : && ix86_pre_reload_split ()))
19858 : : return -1;
19859 : : return 6899; /* *avx512vl_vpternlogv4si_3 */
19860 : :
19861 : : case 45:
19862 : : if (!(
19863 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19864 : : ((64 == 64 || TARGET_AVX512VL
19865 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19866 : : && ix86_pre_reload_split ()) &&
19867 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19868 : : (TARGET_AVX512F)))
19869 : : return -1;
19870 : : return 6908; /* *avx512f_vpternlogv8di_3 */
19871 : :
19872 : : case 46:
19873 : : if (!(
19874 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19875 : : ((32 == 64 || TARGET_AVX512VL
19876 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19877 : : && ix86_pre_reload_split ()) &&
19878 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19879 : : (TARGET_AVX)))
19880 : : return -1;
19881 : : return 6917; /* *avx512vl_vpternlogv4di_3 */
19882 : :
19883 : : case 47:
19884 : : if (!
19885 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19886 : : ((16 == 64 || TARGET_AVX512VL
19887 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19888 : : && ix86_pre_reload_split ()))
19889 : : return -1;
19890 : : return 6926; /* *avx512vl_vpternlogv2di_3 */
19891 : :
19892 : : default:
19893 : : return -1;
19894 : : }
19895 : :
19896 : : case AND:
19897 : : switch (pattern532 (x2))
19898 : : {
19899 : : case 0:
19900 : : if (!(
19901 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19902 : : ((64 == 64 || TARGET_AVX512VL
19903 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19904 : : && ix86_pre_reload_split ()
19905 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19906 : : STRIP_UNARY (operands[4]))
19907 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19908 : : STRIP_UNARY (operands[4]))
19909 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19910 : : STRIP_UNARY (operands[3]))
19911 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19912 : : STRIP_UNARY (operands[3])))) &&
19913 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19914 : : (TARGET_AVX512F)))
19915 : : return -1;
19916 : : return 6179; /* *avx512bw_vpternlogv64qi_2 */
19917 : :
19918 : : case 1:
19919 : : if (!(
19920 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19921 : : ((32 == 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 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19933 : : (TARGET_AVX)))
19934 : : return -1;
19935 : : return 6206; /* *avx512vl_vpternlogv32qi_2 */
19936 : :
19937 : : case 2:
19938 : : if (!
19939 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19940 : : ((16 == 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 : : return -1;
19952 : : return 6233; /* *avx512vl_vpternlogv16qi_2 */
19953 : :
19954 : : case 3:
19955 : : if (!(
19956 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19957 : : ((64 == 64 || TARGET_AVX512VL
19958 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19959 : : && ix86_pre_reload_split ()
19960 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19961 : : STRIP_UNARY (operands[4]))
19962 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19963 : : STRIP_UNARY (operands[4]))
19964 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19965 : : STRIP_UNARY (operands[3]))
19966 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19967 : : STRIP_UNARY (operands[3])))) &&
19968 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19969 : : (TARGET_AVX512F)))
19970 : : return -1;
19971 : : return 6260; /* *avx512bw_vpternlogv32hi_2 */
19972 : :
19973 : : case 4:
19974 : : if (!(
19975 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19976 : : ((32 == 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 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19988 : : (TARGET_AVX)))
19989 : : return -1;
19990 : : return 6287; /* *avx512vl_vpternlogv16hi_2 */
19991 : :
19992 : : case 5:
19993 : : if (!
19994 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19995 : : ((16 == 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 : : return -1;
20007 : : return 6314; /* *avx512vl_vpternlogv8hi_2 */
20008 : :
20009 : : case 6:
20010 : : if (!(
20011 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20012 : : ((64 == 64 || TARGET_AVX512VL
20013 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20014 : : && ix86_pre_reload_split ()
20015 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20016 : : STRIP_UNARY (operands[4]))
20017 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20018 : : STRIP_UNARY (operands[4]))
20019 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20020 : : STRIP_UNARY (operands[3]))
20021 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20022 : : STRIP_UNARY (operands[3])))) &&
20023 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20024 : : (TARGET_AVX512F)))
20025 : : return -1;
20026 : : return 6341; /* *avx512f_vpternlogv16si_2 */
20027 : :
20028 : : case 7:
20029 : : if (!(
20030 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20031 : : ((32 == 64 || TARGET_AVX512VL
20032 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20033 : : && ix86_pre_reload_split ()
20034 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20035 : : STRIP_UNARY (operands[4]))
20036 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20037 : : STRIP_UNARY (operands[4]))
20038 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20039 : : STRIP_UNARY (operands[3]))
20040 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20041 : : STRIP_UNARY (operands[3])))) &&
20042 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20043 : : (TARGET_AVX)))
20044 : : return -1;
20045 : : return 6368; /* *avx512vl_vpternlogv8si_2 */
20046 : :
20047 : : case 8:
20048 : : if (!
20049 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20050 : : ((16 == 64 || TARGET_AVX512VL
20051 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20052 : : && ix86_pre_reload_split ()
20053 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20054 : : STRIP_UNARY (operands[4]))
20055 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20056 : : STRIP_UNARY (operands[4]))
20057 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20058 : : STRIP_UNARY (operands[3]))
20059 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20060 : : STRIP_UNARY (operands[3])))))
20061 : : return -1;
20062 : : return 6395; /* *avx512vl_vpternlogv4si_2 */
20063 : :
20064 : : case 9:
20065 : : if (!(
20066 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20067 : : ((64 == 64 || TARGET_AVX512VL
20068 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20069 : : && ix86_pre_reload_split ()
20070 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20071 : : STRIP_UNARY (operands[4]))
20072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20073 : : STRIP_UNARY (operands[4]))
20074 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20075 : : STRIP_UNARY (operands[3]))
20076 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20077 : : STRIP_UNARY (operands[3])))) &&
20078 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20079 : : (TARGET_AVX512F)))
20080 : : return -1;
20081 : : return 6422; /* *avx512f_vpternlogv8di_2 */
20082 : :
20083 : : case 10:
20084 : : if (!(
20085 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20086 : : ((32 == 64 || TARGET_AVX512VL
20087 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20088 : : && ix86_pre_reload_split ()
20089 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20090 : : STRIP_UNARY (operands[4]))
20091 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20092 : : STRIP_UNARY (operands[4]))
20093 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20094 : : STRIP_UNARY (operands[3]))
20095 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20096 : : STRIP_UNARY (operands[3])))) &&
20097 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20098 : : (TARGET_AVX)))
20099 : : return -1;
20100 : : return 6449; /* *avx512vl_vpternlogv4di_2 */
20101 : :
20102 : : case 11:
20103 : : if (!
20104 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20105 : : ((16 == 64 || TARGET_AVX512VL
20106 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20107 : : && ix86_pre_reload_split ()
20108 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20109 : : STRIP_UNARY (operands[4]))
20110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20111 : : STRIP_UNARY (operands[4]))
20112 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20113 : : STRIP_UNARY (operands[3]))
20114 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20115 : : STRIP_UNARY (operands[3])))))
20116 : : return -1;
20117 : : return 6476; /* *avx512vl_vpternlogv2di_2 */
20118 : :
20119 : : default:
20120 : : return -1;
20121 : : }
20122 : :
20123 : : case IOR:
20124 : : switch (pattern532 (x2))
20125 : : {
20126 : : case 0:
20127 : : if (!(
20128 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20129 : : ((64 == 64 || TARGET_AVX512VL
20130 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20131 : : && ix86_pre_reload_split ()
20132 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20133 : : STRIP_UNARY (operands[4]))
20134 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20135 : : STRIP_UNARY (operands[4]))
20136 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20137 : : STRIP_UNARY (operands[3]))
20138 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20139 : : STRIP_UNARY (operands[3])))) &&
20140 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20141 : : (TARGET_AVX512F)))
20142 : : return -1;
20143 : : return 6182; /* *avx512bw_vpternlogv64qi_2 */
20144 : :
20145 : : case 1:
20146 : : if (!(
20147 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20148 : : ((32 == 64 || TARGET_AVX512VL
20149 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20150 : : && ix86_pre_reload_split ()
20151 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20152 : : STRIP_UNARY (operands[4]))
20153 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20154 : : STRIP_UNARY (operands[4]))
20155 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20156 : : STRIP_UNARY (operands[3]))
20157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20158 : : STRIP_UNARY (operands[3])))) &&
20159 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20160 : : (TARGET_AVX)))
20161 : : return -1;
20162 : : return 6209; /* *avx512vl_vpternlogv32qi_2 */
20163 : :
20164 : : case 2:
20165 : : if (!
20166 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20167 : : ((16 == 64 || TARGET_AVX512VL
20168 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20169 : : && ix86_pre_reload_split ()
20170 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20171 : : STRIP_UNARY (operands[4]))
20172 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20173 : : STRIP_UNARY (operands[4]))
20174 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20175 : : STRIP_UNARY (operands[3]))
20176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20177 : : STRIP_UNARY (operands[3])))))
20178 : : return -1;
20179 : : return 6236; /* *avx512vl_vpternlogv16qi_2 */
20180 : :
20181 : : case 3:
20182 : : if (!(
20183 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20184 : : ((64 == 64 || TARGET_AVX512VL
20185 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20186 : : && ix86_pre_reload_split ()
20187 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20188 : : STRIP_UNARY (operands[4]))
20189 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20190 : : STRIP_UNARY (operands[4]))
20191 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20192 : : STRIP_UNARY (operands[3]))
20193 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20194 : : STRIP_UNARY (operands[3])))) &&
20195 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20196 : : (TARGET_AVX512F)))
20197 : : return -1;
20198 : : return 6263; /* *avx512bw_vpternlogv32hi_2 */
20199 : :
20200 : : case 4:
20201 : : if (!(
20202 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20203 : : ((32 == 64 || TARGET_AVX512VL
20204 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20205 : : && ix86_pre_reload_split ()
20206 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20207 : : STRIP_UNARY (operands[4]))
20208 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20209 : : STRIP_UNARY (operands[4]))
20210 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20211 : : STRIP_UNARY (operands[3]))
20212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20213 : : STRIP_UNARY (operands[3])))) &&
20214 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20215 : : (TARGET_AVX)))
20216 : : return -1;
20217 : : return 6290; /* *avx512vl_vpternlogv16hi_2 */
20218 : :
20219 : : case 5:
20220 : : if (!
20221 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20222 : : ((16 == 64 || TARGET_AVX512VL
20223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20224 : : && ix86_pre_reload_split ()
20225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20226 : : STRIP_UNARY (operands[4]))
20227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20228 : : STRIP_UNARY (operands[4]))
20229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20230 : : STRIP_UNARY (operands[3]))
20231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20232 : : STRIP_UNARY (operands[3])))))
20233 : : return -1;
20234 : : return 6317; /* *avx512vl_vpternlogv8hi_2 */
20235 : :
20236 : : case 6:
20237 : : if (!(
20238 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20239 : : ((64 == 64 || TARGET_AVX512VL
20240 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20241 : : && ix86_pre_reload_split ()
20242 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20243 : : STRIP_UNARY (operands[4]))
20244 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20245 : : STRIP_UNARY (operands[4]))
20246 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20247 : : STRIP_UNARY (operands[3]))
20248 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20249 : : STRIP_UNARY (operands[3])))) &&
20250 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20251 : : (TARGET_AVX512F)))
20252 : : return -1;
20253 : : return 6344; /* *avx512f_vpternlogv16si_2 */
20254 : :
20255 : : case 7:
20256 : : if (!(
20257 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20258 : : ((32 == 64 || TARGET_AVX512VL
20259 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20260 : : && ix86_pre_reload_split ()
20261 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20262 : : STRIP_UNARY (operands[4]))
20263 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20264 : : STRIP_UNARY (operands[4]))
20265 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20266 : : STRIP_UNARY (operands[3]))
20267 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20268 : : STRIP_UNARY (operands[3])))) &&
20269 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20270 : : (TARGET_AVX)))
20271 : : return -1;
20272 : : return 6371; /* *avx512vl_vpternlogv8si_2 */
20273 : :
20274 : : case 8:
20275 : : if (!
20276 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20277 : : ((16 == 64 || TARGET_AVX512VL
20278 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20279 : : && ix86_pre_reload_split ()
20280 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20281 : : STRIP_UNARY (operands[4]))
20282 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20283 : : STRIP_UNARY (operands[4]))
20284 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20285 : : STRIP_UNARY (operands[3]))
20286 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20287 : : STRIP_UNARY (operands[3])))))
20288 : : return -1;
20289 : : return 6398; /* *avx512vl_vpternlogv4si_2 */
20290 : :
20291 : : case 9:
20292 : : if (!(
20293 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20294 : : ((64 == 64 || TARGET_AVX512VL
20295 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20296 : : && ix86_pre_reload_split ()
20297 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20298 : : STRIP_UNARY (operands[4]))
20299 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20300 : : STRIP_UNARY (operands[4]))
20301 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20302 : : STRIP_UNARY (operands[3]))
20303 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20304 : : STRIP_UNARY (operands[3])))) &&
20305 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20306 : : (TARGET_AVX512F)))
20307 : : return -1;
20308 : : return 6425; /* *avx512f_vpternlogv8di_2 */
20309 : :
20310 : : case 10:
20311 : : if (!(
20312 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20313 : : ((32 == 64 || TARGET_AVX512VL
20314 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20315 : : && ix86_pre_reload_split ()
20316 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20317 : : STRIP_UNARY (operands[4]))
20318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20319 : : STRIP_UNARY (operands[4]))
20320 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20321 : : STRIP_UNARY (operands[3]))
20322 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20323 : : STRIP_UNARY (operands[3])))) &&
20324 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20325 : : (TARGET_AVX)))
20326 : : return -1;
20327 : : return 6452; /* *avx512vl_vpternlogv4di_2 */
20328 : :
20329 : : case 11:
20330 : : if (!
20331 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20332 : : ((16 == 64 || TARGET_AVX512VL
20333 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20334 : : && ix86_pre_reload_split ()
20335 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20336 : : STRIP_UNARY (operands[4]))
20337 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20338 : : STRIP_UNARY (operands[4]))
20339 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20340 : : STRIP_UNARY (operands[3]))
20341 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20342 : : STRIP_UNARY (operands[3])))))
20343 : : return -1;
20344 : : return 6479; /* *avx512vl_vpternlogv2di_2 */
20345 : :
20346 : : default:
20347 : : return -1;
20348 : : }
20349 : :
20350 : : case XOR:
20351 : : switch (pattern532 (x2))
20352 : : {
20353 : : case 0:
20354 : : if (!(
20355 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20356 : : ((64 == 64 || TARGET_AVX512VL
20357 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20358 : : && ix86_pre_reload_split ()
20359 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20360 : : STRIP_UNARY (operands[4]))
20361 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20362 : : STRIP_UNARY (operands[4]))
20363 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20364 : : STRIP_UNARY (operands[3]))
20365 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20366 : : STRIP_UNARY (operands[3])))) &&
20367 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20368 : : (TARGET_AVX512F)))
20369 : : return -1;
20370 : : return 6185; /* *avx512bw_vpternlogv64qi_2 */
20371 : :
20372 : : case 1:
20373 : : if (!(
20374 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20375 : : ((32 == 64 || TARGET_AVX512VL
20376 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20377 : : && ix86_pre_reload_split ()
20378 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20379 : : STRIP_UNARY (operands[4]))
20380 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20381 : : STRIP_UNARY (operands[4]))
20382 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20383 : : STRIP_UNARY (operands[3]))
20384 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20385 : : STRIP_UNARY (operands[3])))) &&
20386 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20387 : : (TARGET_AVX)))
20388 : : return -1;
20389 : : return 6212; /* *avx512vl_vpternlogv32qi_2 */
20390 : :
20391 : : case 2:
20392 : : if (!
20393 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20394 : : ((16 == 64 || TARGET_AVX512VL
20395 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20396 : : && ix86_pre_reload_split ()
20397 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20398 : : STRIP_UNARY (operands[4]))
20399 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20400 : : STRIP_UNARY (operands[4]))
20401 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20402 : : STRIP_UNARY (operands[3]))
20403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20404 : : STRIP_UNARY (operands[3])))))
20405 : : return -1;
20406 : : return 6239; /* *avx512vl_vpternlogv16qi_2 */
20407 : :
20408 : : case 3:
20409 : : if (!(
20410 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20411 : : ((64 == 64 || TARGET_AVX512VL
20412 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20413 : : && ix86_pre_reload_split ()
20414 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20415 : : STRIP_UNARY (operands[4]))
20416 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20417 : : STRIP_UNARY (operands[4]))
20418 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20419 : : STRIP_UNARY (operands[3]))
20420 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20421 : : STRIP_UNARY (operands[3])))) &&
20422 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20423 : : (TARGET_AVX512F)))
20424 : : return -1;
20425 : : return 6266; /* *avx512bw_vpternlogv32hi_2 */
20426 : :
20427 : : case 4:
20428 : : if (!(
20429 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20430 : : ((32 == 64 || TARGET_AVX512VL
20431 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20432 : : && ix86_pre_reload_split ()
20433 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20434 : : STRIP_UNARY (operands[4]))
20435 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20436 : : STRIP_UNARY (operands[4]))
20437 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20438 : : STRIP_UNARY (operands[3]))
20439 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20440 : : STRIP_UNARY (operands[3])))) &&
20441 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20442 : : (TARGET_AVX)))
20443 : : return -1;
20444 : : return 6293; /* *avx512vl_vpternlogv16hi_2 */
20445 : :
20446 : : case 5:
20447 : : if (!
20448 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20449 : : ((16 == 64 || TARGET_AVX512VL
20450 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20451 : : && ix86_pre_reload_split ()
20452 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20453 : : STRIP_UNARY (operands[4]))
20454 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20455 : : STRIP_UNARY (operands[4]))
20456 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20457 : : STRIP_UNARY (operands[3]))
20458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20459 : : STRIP_UNARY (operands[3])))))
20460 : : return -1;
20461 : : return 6320; /* *avx512vl_vpternlogv8hi_2 */
20462 : :
20463 : : case 6:
20464 : : if (!(
20465 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20466 : : ((64 == 64 || TARGET_AVX512VL
20467 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20468 : : && ix86_pre_reload_split ()
20469 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20470 : : STRIP_UNARY (operands[4]))
20471 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20472 : : STRIP_UNARY (operands[4]))
20473 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20474 : : STRIP_UNARY (operands[3]))
20475 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20476 : : STRIP_UNARY (operands[3])))) &&
20477 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20478 : : (TARGET_AVX512F)))
20479 : : return -1;
20480 : : return 6347; /* *avx512f_vpternlogv16si_2 */
20481 : :
20482 : : case 7:
20483 : : if (!(
20484 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20485 : : ((32 == 64 || TARGET_AVX512VL
20486 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20487 : : && ix86_pre_reload_split ()
20488 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20489 : : STRIP_UNARY (operands[4]))
20490 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20491 : : STRIP_UNARY (operands[4]))
20492 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20493 : : STRIP_UNARY (operands[3]))
20494 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20495 : : STRIP_UNARY (operands[3])))) &&
20496 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20497 : : (TARGET_AVX)))
20498 : : return -1;
20499 : : return 6374; /* *avx512vl_vpternlogv8si_2 */
20500 : :
20501 : : case 8:
20502 : : if (!
20503 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20504 : : ((16 == 64 || TARGET_AVX512VL
20505 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20506 : : && ix86_pre_reload_split ()
20507 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20508 : : STRIP_UNARY (operands[4]))
20509 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20510 : : STRIP_UNARY (operands[4]))
20511 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20512 : : STRIP_UNARY (operands[3]))
20513 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20514 : : STRIP_UNARY (operands[3])))))
20515 : : return -1;
20516 : : return 6401; /* *avx512vl_vpternlogv4si_2 */
20517 : :
20518 : : case 9:
20519 : : if (!(
20520 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20521 : : ((64 == 64 || TARGET_AVX512VL
20522 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20523 : : && ix86_pre_reload_split ()
20524 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20525 : : STRIP_UNARY (operands[4]))
20526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20527 : : STRIP_UNARY (operands[4]))
20528 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20529 : : STRIP_UNARY (operands[3]))
20530 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20531 : : STRIP_UNARY (operands[3])))) &&
20532 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20533 : : (TARGET_AVX512F)))
20534 : : return -1;
20535 : : return 6428; /* *avx512f_vpternlogv8di_2 */
20536 : :
20537 : : case 10:
20538 : : if (!(
20539 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20540 : : ((32 == 64 || TARGET_AVX512VL
20541 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20542 : : && ix86_pre_reload_split ()
20543 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20544 : : STRIP_UNARY (operands[4]))
20545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20546 : : STRIP_UNARY (operands[4]))
20547 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20548 : : STRIP_UNARY (operands[3]))
20549 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20550 : : STRIP_UNARY (operands[3])))) &&
20551 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20552 : : (TARGET_AVX)))
20553 : : return -1;
20554 : : return 6455; /* *avx512vl_vpternlogv4di_2 */
20555 : :
20556 : : case 11:
20557 : : if (!
20558 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20559 : : ((16 == 64 || TARGET_AVX512VL
20560 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20561 : : && ix86_pre_reload_split ()
20562 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20563 : : STRIP_UNARY (operands[4]))
20564 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20565 : : STRIP_UNARY (operands[4]))
20566 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20567 : : STRIP_UNARY (operands[3]))
20568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20569 : : STRIP_UNARY (operands[3])))))
20570 : : return -1;
20571 : : return 6482; /* *avx512vl_vpternlogv2di_2 */
20572 : :
20573 : : default:
20574 : : return -1;
20575 : : }
20576 : :
20577 : : default:
20578 : : return -1;
20579 : : }
20580 : :
20581 : : case IOR:
20582 : : return recog_308 (x1, insn, pnum_clobbers);
20583 : :
20584 : : case XOR:
20585 : : return recog_307 (x1, insn, pnum_clobbers);
20586 : :
20587 : : case NOT:
20588 : : switch (pattern339 (x2))
20589 : : {
20590 : : case 0:
20591 : : switch (GET_MODE (operands[0]))
20592 : : {
20593 : : case E_V16SImode:
20594 : : if (pattern927 (x2,
20595 : : E_V16SImode) != 0
20596 : : || !(
20597 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20598 : : ((64 == 64 || TARGET_AVX512VL
20599 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20600 : : && (register_operand (operands[1], V16SImode)
20601 : : || register_operand (operands[2], V16SImode))) &&
20602 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20603 : : (TARGET_AVX512F)))
20604 : : return -1;
20605 : : return 8098; /* *iornotv16si3 */
20606 : :
20607 : : case E_V8DImode:
20608 : : if (pattern927 (x2,
20609 : : E_V8DImode) != 0
20610 : : || !(
20611 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20612 : : ((64 == 64 || TARGET_AVX512VL
20613 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20614 : : && (register_operand (operands[1], V8DImode)
20615 : : || register_operand (operands[2], V8DImode))) &&
20616 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20617 : : (TARGET_AVX512F)))
20618 : : return -1;
20619 : : return 8099; /* *iornotv8di3 */
20620 : :
20621 : : case E_V64QImode:
20622 : : if (pattern927 (x2,
20623 : : E_V64QImode) != 0
20624 : : || !(
20625 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20626 : : ((64 == 64 || TARGET_AVX512VL
20627 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20628 : : && (register_operand (operands[1], V64QImode)
20629 : : || register_operand (operands[2], V64QImode))) &&
20630 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20631 : : (TARGET_AVX512BW)))
20632 : : return -1;
20633 : : return 8100; /* *iornotv64qi3 */
20634 : :
20635 : : case E_V32QImode:
20636 : : if (pattern927 (x2,
20637 : : E_V32QImode) != 0
20638 : : || !(
20639 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20640 : : ((32 == 64 || TARGET_AVX512VL
20641 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20642 : : && (register_operand (operands[1], V32QImode)
20643 : : || register_operand (operands[2], V32QImode))) &&
20644 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20645 : : (TARGET_AVX)))
20646 : : return -1;
20647 : : return 8101; /* *iornotv32qi3 */
20648 : :
20649 : : case E_V16QImode:
20650 : : if (pattern927 (x2,
20651 : : E_V16QImode) != 0
20652 : : || !
20653 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20654 : : ((16 == 64 || TARGET_AVX512VL
20655 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20656 : : && (register_operand (operands[1], V16QImode)
20657 : : || register_operand (operands[2], V16QImode))))
20658 : : return -1;
20659 : : return 8102; /* *iornotv16qi3 */
20660 : :
20661 : : case E_V32HImode:
20662 : : if (pattern927 (x2,
20663 : : E_V32HImode) != 0
20664 : : || !(
20665 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20666 : : ((64 == 64 || TARGET_AVX512VL
20667 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20668 : : && (register_operand (operands[1], V32HImode)
20669 : : || register_operand (operands[2], V32HImode))) &&
20670 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20671 : : (TARGET_AVX512BW)))
20672 : : return -1;
20673 : : return 8103; /* *iornotv32hi3 */
20674 : :
20675 : : case E_V16HImode:
20676 : : if (pattern927 (x2,
20677 : : E_V16HImode) != 0
20678 : : || !(
20679 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20680 : : ((32 == 64 || TARGET_AVX512VL
20681 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20682 : : && (register_operand (operands[1], V16HImode)
20683 : : || register_operand (operands[2], V16HImode))) &&
20684 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20685 : : (TARGET_AVX)))
20686 : : return -1;
20687 : : return 8104; /* *iornotv16hi3 */
20688 : :
20689 : : case E_V8HImode:
20690 : : if (pattern927 (x2,
20691 : : E_V8HImode) != 0
20692 : : || !
20693 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20694 : : ((16 == 64 || TARGET_AVX512VL
20695 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20696 : : && (register_operand (operands[1], V8HImode)
20697 : : || register_operand (operands[2], V8HImode))))
20698 : : return -1;
20699 : : return 8105; /* *iornotv8hi3 */
20700 : :
20701 : : case E_V8SImode:
20702 : : if (pattern927 (x2,
20703 : : E_V8SImode) != 0
20704 : : || !(
20705 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20706 : : ((32 == 64 || TARGET_AVX512VL
20707 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20708 : : && (register_operand (operands[1], V8SImode)
20709 : : || register_operand (operands[2], V8SImode))) &&
20710 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20711 : : (TARGET_AVX)))
20712 : : return -1;
20713 : : return 8106; /* *iornotv8si3 */
20714 : :
20715 : : case E_V4SImode:
20716 : : if (pattern927 (x2,
20717 : : E_V4SImode) != 0
20718 : : || !
20719 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20720 : : ((16 == 64 || TARGET_AVX512VL
20721 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20722 : : && (register_operand (operands[1], V4SImode)
20723 : : || register_operand (operands[2], V4SImode))))
20724 : : return -1;
20725 : : return 8107; /* *iornotv4si3 */
20726 : :
20727 : : case E_V4DImode:
20728 : : if (pattern927 (x2,
20729 : : E_V4DImode) != 0
20730 : : || !(
20731 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20732 : : ((32 == 64 || TARGET_AVX512VL
20733 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20734 : : && (register_operand (operands[1], V4DImode)
20735 : : || register_operand (operands[2], V4DImode))) &&
20736 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20737 : : (TARGET_AVX)))
20738 : : return -1;
20739 : : return 8108; /* *iornotv4di3 */
20740 : :
20741 : : case E_V2DImode:
20742 : : if (pattern927 (x2,
20743 : : E_V2DImode) != 0
20744 : : || !
20745 : : #line 19243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20746 : : ((16 == 64 || TARGET_AVX512VL
20747 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20748 : : && (register_operand (operands[1], V2DImode)
20749 : : || register_operand (operands[2], V2DImode))))
20750 : : return -1;
20751 : : return 8109; /* *iornotv2di3 */
20752 : :
20753 : : default:
20754 : : return -1;
20755 : : }
20756 : :
20757 : : case 1:
20758 : : if (!(
20759 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20760 : : ((64 == 64 || TARGET_AVX512VL
20761 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20762 : : && (register_operand (operands[1], V16SImode)
20763 : : || register_operand (operands[2], V16SImode))) &&
20764 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20765 : : (TARGET_AVX512F)))
20766 : : return -1;
20767 : : return 8123; /* *nandv16si3 */
20768 : :
20769 : : case 2:
20770 : : if (!(
20771 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20772 : : ((64 == 64 || TARGET_AVX512VL
20773 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20774 : : && (register_operand (operands[1], V8DImode)
20775 : : || register_operand (operands[2], V8DImode))) &&
20776 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20777 : : (TARGET_AVX512F)))
20778 : : return -1;
20779 : : return 8125; /* *nandv8di3 */
20780 : :
20781 : : case 3:
20782 : : if (!(
20783 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20784 : : ((64 == 64 || TARGET_AVX512VL
20785 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20786 : : && (register_operand (operands[1], V64QImode)
20787 : : || register_operand (operands[2], V64QImode))) &&
20788 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20789 : : (TARGET_AVX512BW)))
20790 : : return -1;
20791 : : return 8127; /* *nandv64qi3 */
20792 : :
20793 : : case 4:
20794 : : if (!(
20795 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20796 : : ((32 == 64 || TARGET_AVX512VL
20797 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20798 : : && (register_operand (operands[1], V32QImode)
20799 : : || register_operand (operands[2], V32QImode))) &&
20800 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20801 : : (TARGET_AVX)))
20802 : : return -1;
20803 : : return 8129; /* *nandv32qi3 */
20804 : :
20805 : : case 5:
20806 : : if (!
20807 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20808 : : ((16 == 64 || TARGET_AVX512VL
20809 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20810 : : && (register_operand (operands[1], V16QImode)
20811 : : || register_operand (operands[2], V16QImode))))
20812 : : return -1;
20813 : : return 8131; /* *nandv16qi3 */
20814 : :
20815 : : case 6:
20816 : : if (!(
20817 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20818 : : ((64 == 64 || TARGET_AVX512VL
20819 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20820 : : && (register_operand (operands[1], V32HImode)
20821 : : || register_operand (operands[2], V32HImode))) &&
20822 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20823 : : (TARGET_AVX512BW)))
20824 : : return -1;
20825 : : return 8133; /* *nandv32hi3 */
20826 : :
20827 : : case 7:
20828 : : if (!(
20829 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20830 : : ((32 == 64 || TARGET_AVX512VL
20831 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20832 : : && (register_operand (operands[1], V16HImode)
20833 : : || register_operand (operands[2], V16HImode))) &&
20834 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20835 : : (TARGET_AVX)))
20836 : : return -1;
20837 : : return 8135; /* *nandv16hi3 */
20838 : :
20839 : : case 8:
20840 : : if (!
20841 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20842 : : ((16 == 64 || TARGET_AVX512VL
20843 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20844 : : && (register_operand (operands[1], V8HImode)
20845 : : || register_operand (operands[2], V8HImode))))
20846 : : return -1;
20847 : : return 8137; /* *nandv8hi3 */
20848 : :
20849 : : case 9:
20850 : : if (!(
20851 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20852 : : ((32 == 64 || TARGET_AVX512VL
20853 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20854 : : && (register_operand (operands[1], V8SImode)
20855 : : || register_operand (operands[2], V8SImode))) &&
20856 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20857 : : (TARGET_AVX)))
20858 : : return -1;
20859 : : return 8139; /* *nandv8si3 */
20860 : :
20861 : : case 10:
20862 : : if (!
20863 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20864 : : ((16 == 64 || TARGET_AVX512VL
20865 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20866 : : && (register_operand (operands[1], V4SImode)
20867 : : || register_operand (operands[2], V4SImode))))
20868 : : return -1;
20869 : : return 8141; /* *nandv4si3 */
20870 : :
20871 : : case 11:
20872 : : if (!(
20873 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20874 : : ((32 == 64 || TARGET_AVX512VL
20875 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20876 : : && (register_operand (operands[1], V4DImode)
20877 : : || register_operand (operands[2], V4DImode))) &&
20878 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20879 : : (TARGET_AVX)))
20880 : : return -1;
20881 : : return 8143; /* *nandv4di3 */
20882 : :
20883 : : case 12:
20884 : : if (!
20885 : : #line 19307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20886 : : ((16 == 64 || TARGET_AVX512VL
20887 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20888 : : && (register_operand (operands[1], V2DImode)
20889 : : || register_operand (operands[2], V2DImode))))
20890 : : return -1;
20891 : : return 8145; /* *nandv2di3 */
20892 : :
20893 : : default:
20894 : : return -1;
20895 : : }
20896 : :
20897 : : default:
20898 : : return -1;
20899 : : }
20900 : : }
20901 : :
20902 : : int
20903 : : recog_340 (rtx x1 ATTRIBUTE_UNUSED,
20904 : : rtx_insn *insn ATTRIBUTE_UNUSED,
20905 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
20906 : : {
20907 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20908 : : rtx x2, x3, x4;
20909 : : int res ATTRIBUTE_UNUSED;
20910 : : x2 = XEXP (x1, 0);
20911 : : operands[0] = x2;
20912 : : x3 = XEXP (x1, 1);
20913 : : x4 = XEXP (x3, 0);
20914 : : operands[1] = x4;
20915 : : switch (GET_MODE (operands[0]))
20916 : : {
20917 : : case E_V32HFmode:
20918 : : if (!register_operand (operands[0], E_V32HFmode)
20919 : : || GET_MODE (x3) != E_V32HFmode
20920 : : || !vector_operand (operands[1], E_V32HFmode)
20921 : : || !(
20922 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20923 : : (TARGET_SSE && 1 && 1) &&
20924 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20925 : : (TARGET_AVX512FP16)))
20926 : : return -1;
20927 : : return 2967; /* avx512fp16_sqrtv32hf2 */
20928 : :
20929 : : case E_V16HFmode:
20930 : : if (!register_operand (operands[0], E_V16HFmode)
20931 : : || GET_MODE (x3) != E_V16HFmode
20932 : : || !vector_operand (operands[1], E_V16HFmode)
20933 : : || !(
20934 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20935 : : (TARGET_SSE && 1 && 1) &&
20936 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20937 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20938 : : return -1;
20939 : : return 2971; /* avx512fp16_sqrtv16hf2 */
20940 : :
20941 : : case E_V8HFmode:
20942 : : if (!register_operand (operands[0], E_V8HFmode)
20943 : : || GET_MODE (x3) != E_V8HFmode
20944 : : || !vector_operand (operands[1], E_V8HFmode)
20945 : : || !(
20946 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20947 : : (TARGET_SSE && 1 && 1) &&
20948 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20949 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20950 : : return -1;
20951 : : return 2973; /* avx512fp16_sqrtv8hf2 */
20952 : :
20953 : : case E_V16SFmode:
20954 : : if (!register_operand (operands[0], E_V16SFmode)
20955 : : || GET_MODE (x3) != E_V16SFmode
20956 : : || !vector_operand (operands[1], E_V16SFmode)
20957 : : || !(
20958 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20959 : : (TARGET_SSE && 1 && 1) &&
20960 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20961 : : (TARGET_AVX512F)))
20962 : : return -1;
20963 : : return 2975; /* avx512f_sqrtv16sf2 */
20964 : :
20965 : : case E_V8SFmode:
20966 : : if (!register_operand (operands[0], E_V8SFmode)
20967 : : || GET_MODE (x3) != E_V8SFmode
20968 : : || !vector_operand (operands[1], E_V8SFmode)
20969 : : || !(
20970 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20971 : : (TARGET_SSE && 1 && 1) &&
20972 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20973 : : (TARGET_AVX)))
20974 : : return -1;
20975 : : return 2979; /* avx_sqrtv8sf2 */
20976 : :
20977 : : case E_V4SFmode:
20978 : : if (!register_operand (operands[0], E_V4SFmode)
20979 : : || GET_MODE (x3) != E_V4SFmode
20980 : : || !vector_operand (operands[1], E_V4SFmode)
20981 : : || !
20982 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20983 : : (TARGET_SSE && 1 && 1))
20984 : : return -1;
20985 : : return 2981; /* sse_sqrtv4sf2 */
20986 : :
20987 : : case E_V8DFmode:
20988 : : if (!register_operand (operands[0], E_V8DFmode)
20989 : : || GET_MODE (x3) != E_V8DFmode
20990 : : || !vector_operand (operands[1], E_V8DFmode)
20991 : : || !(
20992 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20993 : : (TARGET_SSE && 1 && 1) &&
20994 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20995 : : (TARGET_AVX512F)))
20996 : : return -1;
20997 : : return 2983; /* avx512f_sqrtv8df2 */
20998 : :
20999 : : case E_V4DFmode:
21000 : : if (!register_operand (operands[0], E_V4DFmode)
21001 : : || GET_MODE (x3) != E_V4DFmode
21002 : : || !vector_operand (operands[1], E_V4DFmode)
21003 : : || !(
21004 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21005 : : (TARGET_SSE && 1 && 1) &&
21006 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21007 : : (TARGET_AVX)))
21008 : : return -1;
21009 : : return 2987; /* avx_sqrtv4df2 */
21010 : :
21011 : : case E_V2DFmode:
21012 : : if (!register_operand (operands[0], E_V2DFmode)
21013 : : || GET_MODE (x3) != E_V2DFmode
21014 : : || !vector_operand (operands[1], E_V2DFmode)
21015 : : || !(
21016 : : #line 3083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21017 : : (TARGET_SSE && 1 && 1) &&
21018 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21019 : : (TARGET_SSE2)))
21020 : : return -1;
21021 : : return 2989; /* sse2_sqrtv2df2 */
21022 : :
21023 : : case E_V32BFmode:
21024 : : if (!register_operand (operands[0], E_V32BFmode)
21025 : : || GET_MODE (x3) != E_V32BFmode
21026 : : || !nonimmediate_operand (operands[1], E_V32BFmode)
21027 : : || !
21028 : : #line 32814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21029 : : (TARGET_AVX10_2))
21030 : : return -1;
21031 : : return 10746; /* avx10_2_sqrtbf16_v32bf */
21032 : :
21033 : : case E_V16BFmode:
21034 : : if (!register_operand (operands[0], E_V16BFmode)
21035 : : || GET_MODE (x3) != E_V16BFmode
21036 : : || !nonimmediate_operand (operands[1], E_V16BFmode)
21037 : : || !
21038 : : #line 32814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21039 : : (TARGET_AVX10_2))
21040 : : return -1;
21041 : : return 10748; /* avx10_2_sqrtbf16_v16bf */
21042 : :
21043 : : case E_V8BFmode:
21044 : : if (!register_operand (operands[0], E_V8BFmode)
21045 : : || GET_MODE (x3) != E_V8BFmode
21046 : : || !nonimmediate_operand (operands[1], E_V8BFmode)
21047 : : || !
21048 : : #line 32814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21049 : : (TARGET_AVX10_2))
21050 : : return -1;
21051 : : return 10750; /* avx10_2_sqrtbf16_v8bf */
21052 : :
21053 : : default:
21054 : : return -1;
21055 : : }
21056 : : }
21057 : :
21058 : : int
21059 : : recog_346 (rtx x1 ATTRIBUTE_UNUSED,
21060 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21061 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21062 : : {
21063 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21064 : : rtx x2, x3, x4, x5, x6;
21065 : : int res ATTRIBUTE_UNUSED;
21066 : : x2 = XEXP (x1, 0);
21067 : : operands[0] = x2;
21068 : : x3 = XEXP (x1, 1);
21069 : : switch (GET_CODE (x3))
21070 : : {
21071 : : case AND:
21072 : : res = recog_306 (x1, insn, pnum_clobbers);
21073 : : if (res >= 0)
21074 : : return res;
21075 : : break;
21076 : :
21077 : : case IOR:
21078 : : res = recog_318 (x1, insn, pnum_clobbers);
21079 : : if (res >= 0)
21080 : : return res;
21081 : : break;
21082 : :
21083 : : case XOR:
21084 : : res = recog_311 (x1, insn, pnum_clobbers);
21085 : : if (res >= 0)
21086 : : return res;
21087 : : break;
21088 : :
21089 : : case NOT:
21090 : : x4 = XEXP (x3, 0);
21091 : : if (GET_CODE (x4) == XOR)
21092 : : {
21093 : : x5 = XEXP (x4, 0);
21094 : : operands[1] = x5;
21095 : : x6 = XEXP (x4, 1);
21096 : : operands[2] = x6;
21097 : : switch (GET_MODE (operands[0]))
21098 : : {
21099 : : case E_V16SImode:
21100 : : if (pattern806 (x3,
21101 : : E_V16SImode) == 0
21102 : : && (
21103 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21104 : : ((64 == 64 || TARGET_AVX512VL
21105 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21106 : : && (register_operand (operands[1], V16SImode)
21107 : : || register_operand (operands[2], V16SImode))) &&
21108 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21109 : : (TARGET_AVX512F)))
21110 : : return 8110; /* *xnorv16si3 */
21111 : : break;
21112 : :
21113 : : case E_V8DImode:
21114 : : if (pattern806 (x3,
21115 : : E_V8DImode) == 0
21116 : : && (
21117 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21118 : : ((64 == 64 || TARGET_AVX512VL
21119 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21120 : : && (register_operand (operands[1], V8DImode)
21121 : : || register_operand (operands[2], V8DImode))) &&
21122 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21123 : : (TARGET_AVX512F)))
21124 : : return 8111; /* *xnorv8di3 */
21125 : : break;
21126 : :
21127 : : case E_V64QImode:
21128 : : if (pattern806 (x3,
21129 : : E_V64QImode) == 0
21130 : : && (
21131 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21132 : : ((64 == 64 || TARGET_AVX512VL
21133 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21134 : : && (register_operand (operands[1], V64QImode)
21135 : : || register_operand (operands[2], V64QImode))) &&
21136 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21137 : : (TARGET_AVX512BW)))
21138 : : return 8112; /* *xnorv64qi3 */
21139 : : break;
21140 : :
21141 : : case E_V32QImode:
21142 : : if (pattern806 (x3,
21143 : : E_V32QImode) == 0
21144 : : && (
21145 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21146 : : ((32 == 64 || TARGET_AVX512VL
21147 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21148 : : && (register_operand (operands[1], V32QImode)
21149 : : || register_operand (operands[2], V32QImode))) &&
21150 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21151 : : (TARGET_AVX)))
21152 : : return 8113; /* *xnorv32qi3 */
21153 : : break;
21154 : :
21155 : : case E_V16QImode:
21156 : : if (pattern806 (x3,
21157 : : E_V16QImode) == 0
21158 : : &&
21159 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21160 : : ((16 == 64 || TARGET_AVX512VL
21161 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21162 : : && (register_operand (operands[1], V16QImode)
21163 : : || register_operand (operands[2], V16QImode))))
21164 : : return 8114; /* *xnorv16qi3 */
21165 : : break;
21166 : :
21167 : : case E_V32HImode:
21168 : : if (pattern806 (x3,
21169 : : E_V32HImode) == 0
21170 : : && (
21171 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21172 : : ((64 == 64 || TARGET_AVX512VL
21173 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21174 : : && (register_operand (operands[1], V32HImode)
21175 : : || register_operand (operands[2], V32HImode))) &&
21176 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21177 : : (TARGET_AVX512BW)))
21178 : : return 8115; /* *xnorv32hi3 */
21179 : : break;
21180 : :
21181 : : case E_V16HImode:
21182 : : if (pattern806 (x3,
21183 : : E_V16HImode) == 0
21184 : : && (
21185 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21186 : : ((32 == 64 || TARGET_AVX512VL
21187 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21188 : : && (register_operand (operands[1], V16HImode)
21189 : : || register_operand (operands[2], V16HImode))) &&
21190 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21191 : : (TARGET_AVX)))
21192 : : return 8116; /* *xnorv16hi3 */
21193 : : break;
21194 : :
21195 : : case E_V8HImode:
21196 : : if (pattern806 (x3,
21197 : : E_V8HImode) == 0
21198 : : &&
21199 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21200 : : ((16 == 64 || TARGET_AVX512VL
21201 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21202 : : && (register_operand (operands[1], V8HImode)
21203 : : || register_operand (operands[2], V8HImode))))
21204 : : return 8117; /* *xnorv8hi3 */
21205 : : break;
21206 : :
21207 : : case E_V8SImode:
21208 : : if (pattern806 (x3,
21209 : : E_V8SImode) == 0
21210 : : && (
21211 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21212 : : ((32 == 64 || TARGET_AVX512VL
21213 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21214 : : && (register_operand (operands[1], V8SImode)
21215 : : || register_operand (operands[2], V8SImode))) &&
21216 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21217 : : (TARGET_AVX)))
21218 : : return 8118; /* *xnorv8si3 */
21219 : : break;
21220 : :
21221 : : case E_V4SImode:
21222 : : if (pattern806 (x3,
21223 : : E_V4SImode) == 0
21224 : : &&
21225 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21226 : : ((16 == 64 || TARGET_AVX512VL
21227 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21228 : : && (register_operand (operands[1], V4SImode)
21229 : : || register_operand (operands[2], V4SImode))))
21230 : : return 8119; /* *xnorv4si3 */
21231 : : break;
21232 : :
21233 : : case E_V4DImode:
21234 : : if (pattern806 (x3,
21235 : : E_V4DImode) == 0
21236 : : && (
21237 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21238 : : ((32 == 64 || TARGET_AVX512VL
21239 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21240 : : && (register_operand (operands[1], V4DImode)
21241 : : || register_operand (operands[2], V4DImode))) &&
21242 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21243 : : (TARGET_AVX)))
21244 : : return 8120; /* *xnorv4di3 */
21245 : : break;
21246 : :
21247 : : case E_V2DImode:
21248 : : if (pattern806 (x3,
21249 : : E_V2DImode) == 0
21250 : : &&
21251 : : #line 19276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21252 : : ((16 == 64 || TARGET_AVX512VL
21253 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21254 : : && (register_operand (operands[1], V2DImode)
21255 : : || register_operand (operands[2], V2DImode))))
21256 : : return 8121; /* *xnorv2di3 */
21257 : : break;
21258 : :
21259 : : default:
21260 : : break;
21261 : : }
21262 : : }
21263 : : break;
21264 : :
21265 : : default:
21266 : : break;
21267 : : }
21268 : : operands[1] = x3;
21269 : : switch (pattern203 ())
21270 : : {
21271 : : case 0:
21272 : : if ((
21273 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21274 : : ((64 == 64 || TARGET_AVX512VL
21275 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21276 : : && ix86_pre_reload_split ()) &&
21277 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21278 : : (TARGET_AVX512F)))
21279 : : return 5518; /* *avx512bw_vpternlogv32hf_0 */
21280 : : break;
21281 : :
21282 : : case 1:
21283 : : if ((
21284 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21285 : : ((32 == 64 || TARGET_AVX512VL
21286 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21287 : : && ix86_pre_reload_split ()) &&
21288 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21289 : : (TARGET_AVX)))
21290 : : return 5519; /* *avx512vl_vpternlogv16hf_0 */
21291 : : break;
21292 : :
21293 : : case 2:
21294 : : if (
21295 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21296 : : ((16 == 64 || TARGET_AVX512VL
21297 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21298 : : && ix86_pre_reload_split ()))
21299 : : return 5520; /* *avx512fp16_vpternlogv8hf_0 */
21300 : : break;
21301 : :
21302 : : case 3:
21303 : : if ((
21304 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21305 : : ((64 == 64 || TARGET_AVX512VL
21306 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21307 : : && ix86_pre_reload_split ()) &&
21308 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21309 : : (TARGET_AVX512F)))
21310 : : return 5521; /* *avx512bw_vpternlogv32bf_0 */
21311 : : break;
21312 : :
21313 : : case 4:
21314 : : if ((
21315 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21316 : : ((32 == 64 || TARGET_AVX512VL
21317 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21318 : : && ix86_pre_reload_split ()) &&
21319 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21320 : : (TARGET_AVX)))
21321 : : return 5522; /* *avx512vl_vpternlogv16bf_0 */
21322 : : break;
21323 : :
21324 : : case 5:
21325 : : if (
21326 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21327 : : ((16 == 64 || TARGET_AVX512VL
21328 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21329 : : && ix86_pre_reload_split ()))
21330 : : return 5523; /* *avx512vl_vpternlogv8bf_0 */
21331 : : break;
21332 : :
21333 : : case 6:
21334 : : if ((
21335 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21336 : : ((64 == 64 || TARGET_AVX512VL
21337 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21338 : : && ix86_pre_reload_split ()) &&
21339 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21340 : : (TARGET_AVX512F)))
21341 : : return 5524; /* *avx512f_vpternlogv16sf_0 */
21342 : : break;
21343 : :
21344 : : case 7:
21345 : : if ((
21346 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21347 : : ((32 == 64 || TARGET_AVX512VL
21348 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21349 : : && ix86_pre_reload_split ()) &&
21350 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21351 : : (TARGET_AVX)))
21352 : : return 5525; /* *avx512vl_vpternlogv8sf_0 */
21353 : : break;
21354 : :
21355 : : case 8:
21356 : : if (
21357 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21358 : : ((16 == 64 || TARGET_AVX512VL
21359 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21360 : : && ix86_pre_reload_split ()))
21361 : : return 5526; /* *avx512vl_vpternlogv4sf_0 */
21362 : : break;
21363 : :
21364 : : case 9:
21365 : : if ((
21366 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21367 : : ((64 == 64 || TARGET_AVX512VL
21368 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21369 : : && ix86_pre_reload_split ()) &&
21370 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21371 : : (TARGET_AVX512F)))
21372 : : return 5527; /* *avx512f_vpternlogv8df_0 */
21373 : : break;
21374 : :
21375 : : case 10:
21376 : : if ((
21377 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21378 : : ((32 == 64 || TARGET_AVX512VL
21379 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21380 : : && ix86_pre_reload_split ()) &&
21381 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21382 : : (TARGET_AVX)))
21383 : : return 5528; /* *avx512vl_vpternlogv4df_0 */
21384 : : break;
21385 : :
21386 : : case 11:
21387 : : if ((
21388 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21389 : : ((16 == 64 || TARGET_AVX512VL
21390 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21391 : : && ix86_pre_reload_split ()) &&
21392 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21393 : : (TARGET_SSE2)))
21394 : : return 5529; /* *avx512vl_vpternlogv2df_0 */
21395 : : break;
21396 : :
21397 : : default:
21398 : : break;
21399 : : }
21400 : : switch (GET_CODE (x3))
21401 : : {
21402 : : case AND:
21403 : : return recog_317 (x1, insn, pnum_clobbers);
21404 : :
21405 : : case IOR:
21406 : : return recog_316 (x1, insn, pnum_clobbers);
21407 : :
21408 : : case XOR:
21409 : : return recog_315 (x1, insn, pnum_clobbers);
21410 : :
21411 : : default:
21412 : : return -1;
21413 : : }
21414 : : }
21415 : :
21416 : : int
21417 : : recog_356 (rtx x1 ATTRIBUTE_UNUSED,
21418 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21419 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21420 : : {
21421 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21422 : : int res ATTRIBUTE_UNUSED;
21423 : : switch (pattern33 (x1))
21424 : : {
21425 : : case 0:
21426 : : if (!
21427 : : #line 17826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21428 : : (TARGET_SSE2 && TARGET_64BIT
21429 : : && ix86_pre_reload_split ()))
21430 : : return -1;
21431 : : return 7727; /* *rotlv1ti3_internal */
21432 : :
21433 : : case 1:
21434 : : if (!
21435 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21436 : : (TARGET_AVX512F))
21437 : : return -1;
21438 : : return 7763; /* avx512f_rolv16si */
21439 : :
21440 : : case 2:
21441 : : if (!(
21442 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21443 : : (TARGET_AVX512F) &&
21444 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21445 : : (TARGET_AVX512VL)))
21446 : : return -1;
21447 : : return 7767; /* avx512vl_rolv8si */
21448 : :
21449 : : case 3:
21450 : : if (const_0_to_255_operand (operands[2], E_SImode)
21451 : : && (
21452 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21453 : : (TARGET_AVX512F) &&
21454 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21455 : : (TARGET_AVX512VL)))
21456 : : return 7771; /* avx512vl_rolv4si */
21457 : : if (!const_0_to_31_operand (operands[2], E_SImode)
21458 : : || !
21459 : : #line 26925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21460 : : (TARGET_XOP))
21461 : : return -1;
21462 : : return 9079; /* xop_rotlv4si3 */
21463 : :
21464 : : case 4:
21465 : : if (!
21466 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21467 : : (TARGET_AVX512F))
21468 : : return -1;
21469 : : return 7775; /* avx512f_rolv8di */
21470 : :
21471 : : case 5:
21472 : : if (!(
21473 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21474 : : (TARGET_AVX512F) &&
21475 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21476 : : (TARGET_AVX512VL)))
21477 : : return -1;
21478 : : return 7779; /* avx512vl_rolv4di */
21479 : :
21480 : : case 6:
21481 : : if (const_0_to_255_operand (operands[2], E_SImode)
21482 : : && (
21483 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21484 : : (TARGET_AVX512F) &&
21485 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21486 : : (TARGET_AVX512VL)))
21487 : : return 7783; /* avx512vl_rolv2di */
21488 : : if (!const_0_to_63_operand (operands[2], E_SImode)
21489 : : || !
21490 : : #line 26925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21491 : : (TARGET_XOP))
21492 : : return -1;
21493 : : return 9080; /* xop_rotlv2di3 */
21494 : :
21495 : : case 7:
21496 : : if (!
21497 : : #line 26925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21498 : : (TARGET_XOP))
21499 : : return -1;
21500 : : return 9077; /* xop_rotlv16qi3 */
21501 : :
21502 : : case 8:
21503 : : if (!
21504 : : #line 26925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21505 : : (TARGET_XOP))
21506 : : return -1;
21507 : : return 9078; /* xop_rotlv8hi3 */
21508 : :
21509 : : case 9:
21510 : : if (!
21511 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21512 : : (TARGET_AVX512F))
21513 : : return -1;
21514 : : return 7739; /* avx512f_rolvv16si */
21515 : :
21516 : : case 10:
21517 : : if (!(
21518 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21519 : : (TARGET_AVX512F) &&
21520 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21521 : : (TARGET_AVX512VL)))
21522 : : return -1;
21523 : : return 7743; /* avx512vl_rolvv8si */
21524 : :
21525 : : case 11:
21526 : : if (!(
21527 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21528 : : (TARGET_AVX512F) &&
21529 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21530 : : (TARGET_AVX512VL)))
21531 : : return -1;
21532 : : return 7747; /* avx512vl_rolvv4si */
21533 : :
21534 : : case 12:
21535 : : if (!
21536 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21537 : : (TARGET_AVX512F))
21538 : : return -1;
21539 : : return 7751; /* avx512f_rolvv8di */
21540 : :
21541 : : case 13:
21542 : : if (!(
21543 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21544 : : (TARGET_AVX512F) &&
21545 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21546 : : (TARGET_AVX512VL)))
21547 : : return -1;
21548 : : return 7755; /* avx512vl_rolvv4di */
21549 : :
21550 : : case 14:
21551 : : if (!(
21552 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21553 : : (TARGET_AVX512F) &&
21554 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21555 : : (TARGET_AVX512VL)))
21556 : : return -1;
21557 : : return 7759; /* avx512vl_rolvv2di */
21558 : :
21559 : : default:
21560 : : return -1;
21561 : : }
21562 : : }
21563 : :
21564 : : int
21565 : : recog_366 (rtx x1 ATTRIBUTE_UNUSED,
21566 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21567 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21568 : : {
21569 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21570 : : rtx x2, x3, x4;
21571 : : int res ATTRIBUTE_UNUSED;
21572 : : x2 = XVECEXP (x1, 0, 0);
21573 : : x3 = XEXP (x2, 0);
21574 : : switch (GET_CODE (x3))
21575 : : {
21576 : : case REG:
21577 : : case SUBREG:
21578 : : case MEM:
21579 : : operands[0] = x3;
21580 : : switch (GET_MODE (operands[0]))
21581 : : {
21582 : : case E_DImode:
21583 : : x4 = XEXP (x2, 1);
21584 : : if (GET_MODE (x4) != E_DImode)
21585 : : return -1;
21586 : : if (register_operand (operands[0], E_DImode)
21587 : : && register_operand (operands[1], E_DImode)
21588 : : && nonmemory_operand (operands[2], E_QImode)
21589 : : &&
21590 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21591 : : (!TARGET_64BIT))
21592 : : return 1163; /* ashrdi3_doubleword */
21593 : : if (!nonimmediate_operand (operands[0], E_DImode)
21594 : : || !nonimmediate_operand (operands[1], E_DImode))
21595 : : return -1;
21596 : : if (const_int_operand (operands[2], E_QImode)
21597 : : && (
21598 : : #line 17538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21599 : : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
21600 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
21601 : : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
21602 : : && true) &&
21603 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21604 : : (TARGET_64BIT)))
21605 : : return 1201; /* ashrdi3_cvt */
21606 : : if (!nonmemory_operand (operands[2], E_QImode)
21607 : : || !(
21608 : : #line 17617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21609 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
21610 : : && true) &&
21611 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21612 : : (TARGET_64BIT)))
21613 : : return -1;
21614 : : return 1210; /* *ashrdi3_1 */
21615 : :
21616 : : case E_TImode:
21617 : : x4 = XEXP (x2, 1);
21618 : : if (pattern1336 (x4,
21619 : : E_TImode) != 0
21620 : : || !
21621 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21622 : : (TARGET_64BIT))
21623 : : return -1;
21624 : : return 1165; /* ashrti3_doubleword */
21625 : :
21626 : : case E_SImode:
21627 : : x4 = XEXP (x2, 1);
21628 : : if (pattern1526 (x4,
21629 : : E_SImode) != 0
21630 : : || !
21631 : : #line 17617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21632 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
21633 : : && true))
21634 : : return -1;
21635 : : return 1208; /* *ashrsi3_1 */
21636 : :
21637 : : case E_QImode:
21638 : : x4 = XEXP (x2, 1);
21639 : : if (pattern1526 (x4,
21640 : : E_QImode) != 0
21641 : : || !
21642 : : #line 17826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21643 : : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
21644 : : && true))
21645 : : return -1;
21646 : : return 1241; /* *ashrqi3_1 */
21647 : :
21648 : : case E_HImode:
21649 : : x4 = XEXP (x2, 1);
21650 : : if (pattern1526 (x4,
21651 : : E_HImode) != 0
21652 : : || !
21653 : : #line 17826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21654 : : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
21655 : : && true))
21656 : : return -1;
21657 : : return 1243; /* *ashrhi3_1 */
21658 : :
21659 : : case E_V2QImode:
21660 : : x4 = XEXP (x2, 1);
21661 : : if (pattern1336 (x4,
21662 : : E_V2QImode) != 0
21663 : : || !
21664 : : #line 4030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21665 : : (!TARGET_PARTIAL_REG_STALL || optimize_size))
21666 : : return -1;
21667 : : return 2273; /* ashrv2qi3 */
21668 : :
21669 : : default:
21670 : : return -1;
21671 : : }
21672 : :
21673 : : case STRICT_LOW_PART:
21674 : : switch (pattern1337 (x2))
21675 : : {
21676 : : case 0:
21677 : : if (!
21678 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21679 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21680 : : return -1;
21681 : : return 1249; /* *ashrqi3_1_slp */
21682 : :
21683 : : case 1:
21684 : : if (!
21685 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21686 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21687 : : return -1;
21688 : : return 1251; /* *ashrhi3_1_slp */
21689 : :
21690 : : default:
21691 : : return -1;
21692 : : }
21693 : :
21694 : : default:
21695 : : return -1;
21696 : : }
21697 : : }
21698 : :
21699 : : int
21700 : : recog_371 (rtx x1 ATTRIBUTE_UNUSED,
21701 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21702 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21703 : : {
21704 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21705 : : rtx x2, x3, x4, x5, x6, x7, x8;
21706 : : int res ATTRIBUTE_UNUSED;
21707 : : x2 = XVECEXP (x1, 0, 0);
21708 : : x3 = XEXP (x2, 0);
21709 : : if (GET_MODE (x3) != E_CCCmode)
21710 : : return -1;
21711 : : x4 = XEXP (x2, 1);
21712 : : if (GET_MODE (x4) != E_CCCmode)
21713 : : return -1;
21714 : : x5 = XVECEXP (x1, 0, 1);
21715 : : switch (GET_CODE (x5))
21716 : : {
21717 : : case SET:
21718 : : x6 = XEXP (x5, 1);
21719 : : if (GET_CODE (x6) != NEG)
21720 : : return -1;
21721 : : x7 = XEXP (x5, 0);
21722 : : operands[0] = x7;
21723 : : x8 = XEXP (x6, 0);
21724 : : if (!rtx_equal_p (x8, operands[1]))
21725 : : return -1;
21726 : : switch (GET_MODE (operands[1]))
21727 : : {
21728 : : case E_QImode:
21729 : : if (!nonimmediate_operand (operands[1], E_QImode)
21730 : : || !nonimmediate_operand (operands[0], E_QImode)
21731 : : || GET_MODE (x6) != E_QImode)
21732 : : return -1;
21733 : : return 1012; /* *negqi_ccc_1 */
21734 : :
21735 : : case E_HImode:
21736 : : if (!nonimmediate_operand (operands[1], E_HImode)
21737 : : || !nonimmediate_operand (operands[0], E_HImode)
21738 : : || GET_MODE (x6) != E_HImode)
21739 : : return -1;
21740 : : return 1013; /* *neghi_ccc_1 */
21741 : :
21742 : : case E_SImode:
21743 : : if (!nonimmediate_operand (operands[1], E_SImode)
21744 : : || !nonimmediate_operand (operands[0], E_SImode)
21745 : : || GET_MODE (x6) != E_SImode)
21746 : : return -1;
21747 : : return 1014; /* *negsi_ccc_1 */
21748 : :
21749 : : case E_DImode:
21750 : : if (!nonimmediate_operand (operands[1], E_DImode)
21751 : : || !nonimmediate_operand (operands[0], E_DImode)
21752 : : || GET_MODE (x6) != E_DImode
21753 : : || !
21754 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21755 : : (TARGET_64BIT))
21756 : : return -1;
21757 : : return 1015; /* *negdi_ccc_1 */
21758 : :
21759 : : default:
21760 : : return -1;
21761 : : }
21762 : :
21763 : : case CLOBBER:
21764 : : x7 = XEXP (x5, 0);
21765 : : operands[0] = x7;
21766 : : switch (GET_MODE (operands[1]))
21767 : : {
21768 : : case E_QImode:
21769 : : if (!nonimmediate_operand (operands[1], E_QImode)
21770 : : || !scratch_operand (operands[0], E_QImode))
21771 : : return -1;
21772 : : return 1016; /* *negqi_ccc_2 */
21773 : :
21774 : : case E_HImode:
21775 : : if (!nonimmediate_operand (operands[1], E_HImode)
21776 : : || !scratch_operand (operands[0], E_HImode))
21777 : : return -1;
21778 : : return 1017; /* *neghi_ccc_2 */
21779 : :
21780 : : case E_SImode:
21781 : : if (!nonimmediate_operand (operands[1], E_SImode)
21782 : : || !scratch_operand (operands[0], E_SImode))
21783 : : return -1;
21784 : : return 1018; /* *negsi_ccc_2 */
21785 : :
21786 : : case E_DImode:
21787 : : if (!nonimmediate_operand (operands[1], E_DImode)
21788 : : || !scratch_operand (operands[0], E_DImode)
21789 : : || !
21790 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21791 : : (TARGET_64BIT))
21792 : : return -1;
21793 : : return 1019; /* *negdi_ccc_2 */
21794 : :
21795 : : default:
21796 : : return -1;
21797 : : }
21798 : :
21799 : : default:
21800 : : return -1;
21801 : : }
21802 : : }
21803 : :
21804 : : int
21805 : : recog_375 (rtx x1 ATTRIBUTE_UNUSED,
21806 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21807 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21808 : : {
21809 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21810 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21811 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21812 : : rtx x18, x19, x20, x21, x22;
21813 : : int res ATTRIBUTE_UNUSED;
21814 : : x2 = XVECEXP (x1, 0, 0);
21815 : : x3 = XEXP (x2, 1);
21816 : : switch (XVECLEN (x3, 0))
21817 : : {
21818 : : case 1:
21819 : : return recog_374 (x1, insn, pnum_clobbers);
21820 : :
21821 : : case 2:
21822 : : return recog_373 (x1, insn, pnum_clobbers);
21823 : :
21824 : : case 3:
21825 : : return recog_372 (x1, insn, pnum_clobbers);
21826 : :
21827 : : case 4:
21828 : : x4 = XVECEXP (x1, 0, 1);
21829 : : if (GET_CODE (x4) != CLOBBER)
21830 : : return -1;
21831 : : x5 = XEXP (x2, 0);
21832 : : operands[0] = x5;
21833 : : switch (XINT (x3, 1))
21834 : : {
21835 : : case 23:
21836 : : if (pattern816 (x3) != 0)
21837 : : return -1;
21838 : : x6 = XEXP (x4, 0);
21839 : : if (GET_CODE (x6) != REG
21840 : : || REGNO (x6) != 17
21841 : : || GET_MODE (x6) != E_CCmode
21842 : : || !register_operand (operands[0], E_SImode))
21843 : : return -1;
21844 : : x7 = XVECEXP (x3, 0, 0);
21845 : : operands[1] = x7;
21846 : : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
21847 : : return -1;
21848 : : x8 = XVECEXP (x3, 0, 1);
21849 : : operands[2] = x8;
21850 : : if (!register_operand (operands[2], E_SImode))
21851 : : return -1;
21852 : : x9 = XVECEXP (x3, 0, 2);
21853 : : operands[3] = x9;
21854 : : if (!register_operand (operands[3], E_SImode)
21855 : : || !
21856 : : #line 23615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21857 : : (!TARGET_64BIT && TARGET_GNU2_TLS))
21858 : : return -1;
21859 : : return 1699; /* *tls_dynamic_gnu2_call_32 */
21860 : :
21861 : : case 24:
21862 : : if (pnum_clobbers == NULL)
21863 : : return -1;
21864 : : x7 = XVECEXP (x3, 0, 0);
21865 : : if (GET_CODE (x7) != MEM
21866 : : || GET_MODE (x7) != E_BLKmode)
21867 : : return -1;
21868 : : switch (pattern1154 (x1))
21869 : : {
21870 : : case 0:
21871 : : if (!(
21872 : : #line 26521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21873 : : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
21874 : : && ix86_check_no_addr_space (insn)) &&
21875 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21876 : : (Pmode == SImode)))
21877 : : return -1;
21878 : : *pnum_clobbers = 1;
21879 : : return 1827; /* *strlenqi_1 */
21880 : :
21881 : : case 1:
21882 : : if (!(
21883 : : #line 26521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21884 : : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
21885 : : && ix86_check_no_addr_space (insn)) &&
21886 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21887 : : (Pmode == DImode)))
21888 : : return -1;
21889 : : *pnum_clobbers = 1;
21890 : : return 1828; /* *strlenqi_1 */
21891 : :
21892 : : default:
21893 : : return -1;
21894 : : }
21895 : :
21896 : : case 154:
21897 : : x8 = XVECEXP (x3, 0, 1);
21898 : : if (GET_CODE (x8) != MEM)
21899 : : return -1;
21900 : : x10 = XEXP (x8, 0);
21901 : : if (GET_CODE (x10) != UNSPEC
21902 : : || XVECLEN (x10, 0) != 3
21903 : : || XINT (x10, 1) != 155)
21904 : : return -1;
21905 : : x9 = XVECEXP (x3, 0, 2);
21906 : : if (GET_CODE (x9) != MEM
21907 : : || GET_MODE (x9) != E_BLKmode)
21908 : : return -1;
21909 : : x11 = XEXP (x9, 0);
21910 : : if (GET_CODE (x11) != SCRATCH)
21911 : : return -1;
21912 : : x12 = XVECEXP (x10, 0, 2);
21913 : : if (!const1248_operand (x12, E_SImode))
21914 : : return -1;
21915 : : x6 = XEXP (x4, 0);
21916 : : operands[1] = x6;
21917 : : x7 = XVECEXP (x3, 0, 0);
21918 : : switch (GET_CODE (x7))
21919 : : {
21920 : : case REG:
21921 : : case SUBREG:
21922 : : operands[2] = x7;
21923 : : operands[7] = x8;
21924 : : x13 = XVECEXP (x10, 0, 0);
21925 : : operands[3] = x13;
21926 : : x14 = XVECEXP (x10, 0, 1);
21927 : : operands[4] = x14;
21928 : : operands[6] = x12;
21929 : : x15 = XVECEXP (x3, 0, 3);
21930 : : operands[5] = x15;
21931 : : switch (GET_MODE (operands[0]))
21932 : : {
21933 : : case E_V2DImode:
21934 : : switch (pattern1807 (x3,
21935 : : E_V2DImode,
21936 : : E_DImode))
21937 : : {
21938 : : case 0:
21939 : : if (!(
21940 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21941 : : (TARGET_AVX2) &&
21942 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21943 : : (Pmode == SImode)))
21944 : : return -1;
21945 : : return 9734; /* *avx2_gathersiv2di */
21946 : :
21947 : : case 1:
21948 : : if (!(
21949 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21950 : : (TARGET_AVX2) &&
21951 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21952 : : (Pmode == SImode)))
21953 : : return -1;
21954 : : return 9766; /* *avx2_gatherdiv2di */
21955 : :
21956 : : case 2:
21957 : : if (!(
21958 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21959 : : (TARGET_AVX2) &&
21960 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21961 : : (Pmode == DImode)))
21962 : : return -1;
21963 : : return 9742; /* *avx2_gathersiv2di */
21964 : :
21965 : : case 3:
21966 : : if (!(
21967 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21968 : : (TARGET_AVX2) &&
21969 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21970 : : (Pmode == DImode)))
21971 : : return -1;
21972 : : return 9774; /* *avx2_gatherdiv2di */
21973 : :
21974 : : default:
21975 : : return -1;
21976 : : }
21977 : :
21978 : : case E_V2DFmode:
21979 : : switch (pattern1807 (x3,
21980 : : E_V2DFmode,
21981 : : E_DFmode))
21982 : : {
21983 : : case 0:
21984 : : if (!(
21985 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21986 : : (TARGET_AVX2) &&
21987 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21988 : : (Pmode == SImode)))
21989 : : return -1;
21990 : : return 9735; /* *avx2_gathersiv2df */
21991 : :
21992 : : case 1:
21993 : : if (!(
21994 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21995 : : (TARGET_AVX2) &&
21996 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21997 : : (Pmode == SImode)))
21998 : : return -1;
21999 : : return 9767; /* *avx2_gatherdiv2df */
22000 : :
22001 : : case 2:
22002 : : if (!(
22003 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22004 : : (TARGET_AVX2) &&
22005 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22006 : : (Pmode == DImode)))
22007 : : return -1;
22008 : : return 9743; /* *avx2_gathersiv2df */
22009 : :
22010 : : case 3:
22011 : : if (!(
22012 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22013 : : (TARGET_AVX2) &&
22014 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22015 : : (Pmode == DImode)))
22016 : : return -1;
22017 : : return 9775; /* *avx2_gatherdiv2df */
22018 : :
22019 : : default:
22020 : : return -1;
22021 : : }
22022 : :
22023 : : case E_V4DImode:
22024 : : switch (pattern1809 (x3,
22025 : : E_V4DImode,
22026 : : E_DImode))
22027 : : {
22028 : : case 0:
22029 : : if (!(
22030 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22031 : : (TARGET_AVX2) &&
22032 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22033 : : (Pmode == SImode)))
22034 : : return -1;
22035 : : return 9736; /* *avx2_gathersiv4di */
22036 : :
22037 : : case 1:
22038 : : if (!(
22039 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22040 : : (TARGET_AVX2) &&
22041 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22042 : : (Pmode == SImode)))
22043 : : return -1;
22044 : : return 9768; /* *avx2_gatherdiv4di */
22045 : :
22046 : : case 2:
22047 : : if (!(
22048 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22049 : : (TARGET_AVX2) &&
22050 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22051 : : (Pmode == DImode)))
22052 : : return -1;
22053 : : return 9744; /* *avx2_gathersiv4di */
22054 : :
22055 : : case 3:
22056 : : if (!(
22057 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22058 : : (TARGET_AVX2) &&
22059 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22060 : : (Pmode == DImode)))
22061 : : return -1;
22062 : : return 9776; /* *avx2_gatherdiv4di */
22063 : :
22064 : : default:
22065 : : return -1;
22066 : : }
22067 : :
22068 : : case E_V4DFmode:
22069 : : switch (pattern1809 (x3,
22070 : : E_V4DFmode,
22071 : : E_DFmode))
22072 : : {
22073 : : case 0:
22074 : : if (!(
22075 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22076 : : (TARGET_AVX2) &&
22077 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22078 : : (Pmode == SImode)))
22079 : : return -1;
22080 : : return 9737; /* *avx2_gathersiv4df */
22081 : :
22082 : : case 1:
22083 : : if (!(
22084 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22085 : : (TARGET_AVX2) &&
22086 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22087 : : (Pmode == SImode)))
22088 : : return -1;
22089 : : return 9769; /* *avx2_gatherdiv4df */
22090 : :
22091 : : case 2:
22092 : : if (!(
22093 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22094 : : (TARGET_AVX2) &&
22095 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22096 : : (Pmode == DImode)))
22097 : : return -1;
22098 : : return 9745; /* *avx2_gathersiv4df */
22099 : :
22100 : : case 3:
22101 : : if (!(
22102 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22103 : : (TARGET_AVX2) &&
22104 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22105 : : (Pmode == DImode)))
22106 : : return -1;
22107 : : return 9777; /* *avx2_gatherdiv4df */
22108 : :
22109 : : default:
22110 : : return -1;
22111 : : }
22112 : :
22113 : : case E_V4SImode:
22114 : : switch (pattern1807 (x3,
22115 : : E_V4SImode,
22116 : : E_SImode))
22117 : : {
22118 : : case 0:
22119 : : if (!(
22120 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22121 : : (TARGET_AVX2) &&
22122 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22123 : : (Pmode == SImode)))
22124 : : return -1;
22125 : : return 9738; /* *avx2_gathersiv4si */
22126 : :
22127 : : case 1:
22128 : : if (!(
22129 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22130 : : (TARGET_AVX2) &&
22131 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22132 : : (Pmode == SImode)))
22133 : : return -1;
22134 : : return 9770; /* *avx2_gatherdiv4si */
22135 : :
22136 : : case 2:
22137 : : if (!(
22138 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22139 : : (TARGET_AVX2) &&
22140 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22141 : : (Pmode == DImode)))
22142 : : return -1;
22143 : : return 9746; /* *avx2_gathersiv4si */
22144 : :
22145 : : case 3:
22146 : : if (!(
22147 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22148 : : (TARGET_AVX2) &&
22149 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22150 : : (Pmode == DImode)))
22151 : : return -1;
22152 : : return 9778; /* *avx2_gatherdiv4si */
22153 : :
22154 : : default:
22155 : : return -1;
22156 : : }
22157 : :
22158 : : case E_V4SFmode:
22159 : : switch (pattern1807 (x3,
22160 : : E_V4SFmode,
22161 : : E_SFmode))
22162 : : {
22163 : : case 0:
22164 : : if (!(
22165 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22166 : : (TARGET_AVX2) &&
22167 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22168 : : (Pmode == SImode)))
22169 : : return -1;
22170 : : return 9739; /* *avx2_gathersiv4sf */
22171 : :
22172 : : case 1:
22173 : : if (!(
22174 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22175 : : (TARGET_AVX2) &&
22176 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22177 : : (Pmode == SImode)))
22178 : : return -1;
22179 : : return 9771; /* *avx2_gatherdiv4sf */
22180 : :
22181 : : case 2:
22182 : : if (!(
22183 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22184 : : (TARGET_AVX2) &&
22185 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22186 : : (Pmode == DImode)))
22187 : : return -1;
22188 : : return 9747; /* *avx2_gathersiv4sf */
22189 : :
22190 : : case 3:
22191 : : if (!(
22192 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22193 : : (TARGET_AVX2) &&
22194 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22195 : : (Pmode == DImode)))
22196 : : return -1;
22197 : : return 9779; /* *avx2_gatherdiv4sf */
22198 : :
22199 : : default:
22200 : : return -1;
22201 : : }
22202 : :
22203 : : case E_V8SImode:
22204 : : if (pattern1810 (x3,
22205 : : E_V8SImode,
22206 : : E_SImode) != 0)
22207 : : return -1;
22208 : : switch (GET_MODE (operands[2]))
22209 : : {
22210 : : case E_V8SImode:
22211 : : if (!register_operand (operands[2], E_V8SImode)
22212 : : || !register_operand (operands[4], E_V8SImode))
22213 : : return -1;
22214 : : switch (pattern1860 (x10,
22215 : : E_V8SImode))
22216 : : {
22217 : : case 0:
22218 : : if (!(
22219 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22220 : : (TARGET_AVX2) &&
22221 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22222 : : (Pmode == SImode)))
22223 : : return -1;
22224 : : return 9740; /* *avx2_gathersiv8si */
22225 : :
22226 : : case 1:
22227 : : if (!(
22228 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22229 : : (TARGET_AVX2) &&
22230 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22231 : : (Pmode == DImode)))
22232 : : return -1;
22233 : : return 9748; /* *avx2_gathersiv8si */
22234 : :
22235 : : default:
22236 : : return -1;
22237 : : }
22238 : :
22239 : : case E_V4SImode:
22240 : : switch (pattern1861 (x10,
22241 : : E_V4SImode,
22242 : : E_V4DImode))
22243 : : {
22244 : : case 0:
22245 : : if (!(
22246 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22247 : : (TARGET_AVX2) &&
22248 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22249 : : (Pmode == SImode)))
22250 : : return -1;
22251 : : return 9772; /* *avx2_gatherdiv8si */
22252 : :
22253 : : case 1:
22254 : : if (!(
22255 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22256 : : (TARGET_AVX2) &&
22257 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22258 : : (Pmode == DImode)))
22259 : : return -1;
22260 : : return 9780; /* *avx2_gatherdiv8si */
22261 : :
22262 : : default:
22263 : : return -1;
22264 : : }
22265 : :
22266 : : default:
22267 : : return -1;
22268 : : }
22269 : :
22270 : : case E_V8SFmode:
22271 : : if (pattern1810 (x3,
22272 : : E_V8SFmode,
22273 : : E_SFmode) != 0)
22274 : : return -1;
22275 : : switch (GET_MODE (operands[2]))
22276 : : {
22277 : : case E_V8SFmode:
22278 : : switch (pattern1861 (x10,
22279 : : E_V8SFmode,
22280 : : E_V8SImode))
22281 : : {
22282 : : case 0:
22283 : : if (!(
22284 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22285 : : (TARGET_AVX2) &&
22286 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22287 : : (Pmode == SImode)))
22288 : : return -1;
22289 : : return 9741; /* *avx2_gathersiv8sf */
22290 : :
22291 : : case 1:
22292 : : if (!(
22293 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22294 : : (TARGET_AVX2) &&
22295 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22296 : : (Pmode == DImode)))
22297 : : return -1;
22298 : : return 9749; /* *avx2_gathersiv8sf */
22299 : :
22300 : : default:
22301 : : return -1;
22302 : : }
22303 : :
22304 : : case E_V4SFmode:
22305 : : switch (pattern1861 (x10,
22306 : : E_V4SFmode,
22307 : : E_V4DImode))
22308 : : {
22309 : : case 0:
22310 : : if (!(
22311 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22312 : : (TARGET_AVX2) &&
22313 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22314 : : (Pmode == SImode)))
22315 : : return -1;
22316 : : return 9773; /* *avx2_gatherdiv8sf */
22317 : :
22318 : : case 1:
22319 : : if (!(
22320 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22321 : : (TARGET_AVX2) &&
22322 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22323 : : (Pmode == DImode)))
22324 : : return -1;
22325 : : return 9781; /* *avx2_gatherdiv8sf */
22326 : :
22327 : : default:
22328 : : return -1;
22329 : : }
22330 : :
22331 : : default:
22332 : : return -1;
22333 : : }
22334 : :
22335 : : default:
22336 : : return -1;
22337 : : }
22338 : :
22339 : : case PC:
22340 : : operands[6] = x8;
22341 : : x13 = XVECEXP (x10, 0, 0);
22342 : : operands[2] = x13;
22343 : : x14 = XVECEXP (x10, 0, 1);
22344 : : operands[3] = x14;
22345 : : operands[5] = x12;
22346 : : x15 = XVECEXP (x3, 0, 3);
22347 : : operands[4] = x15;
22348 : : switch (GET_MODE (operands[0]))
22349 : : {
22350 : : case E_V2DImode:
22351 : : switch (pattern1789 (x3,
22352 : : E_V2DImode,
22353 : : E_DImode))
22354 : : {
22355 : : case 0:
22356 : : if (!(
22357 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22358 : : (TARGET_AVX2) &&
22359 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22360 : : (Pmode == SImode)))
22361 : : return -1;
22362 : : return 9750; /* *avx2_gathersiv2di_2 */
22363 : :
22364 : : case 1:
22365 : : if (!(
22366 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22367 : : (TARGET_AVX2) &&
22368 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22369 : : (Pmode == SImode)))
22370 : : return -1;
22371 : : return 9782; /* *avx2_gatherdiv2di_2 */
22372 : :
22373 : : case 2:
22374 : : if (!(
22375 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22376 : : (TARGET_AVX2) &&
22377 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22378 : : (Pmode == DImode)))
22379 : : return -1;
22380 : : return 9758; /* *avx2_gathersiv2di_2 */
22381 : :
22382 : : case 3:
22383 : : if (!(
22384 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22385 : : (TARGET_AVX2) &&
22386 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22387 : : (Pmode == DImode)))
22388 : : return -1;
22389 : : return 9790; /* *avx2_gatherdiv2di_2 */
22390 : :
22391 : : default:
22392 : : return -1;
22393 : : }
22394 : :
22395 : : case E_V2DFmode:
22396 : : switch (pattern1789 (x3,
22397 : : E_V2DFmode,
22398 : : E_DFmode))
22399 : : {
22400 : : case 0:
22401 : : if (!(
22402 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22403 : : (TARGET_AVX2) &&
22404 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22405 : : (Pmode == SImode)))
22406 : : return -1;
22407 : : return 9751; /* *avx2_gathersiv2df_2 */
22408 : :
22409 : : case 1:
22410 : : if (!(
22411 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22412 : : (TARGET_AVX2) &&
22413 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22414 : : (Pmode == SImode)))
22415 : : return -1;
22416 : : return 9783; /* *avx2_gatherdiv2df_2 */
22417 : :
22418 : : case 2:
22419 : : if (!(
22420 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22421 : : (TARGET_AVX2) &&
22422 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22423 : : (Pmode == DImode)))
22424 : : return -1;
22425 : : return 9759; /* *avx2_gathersiv2df_2 */
22426 : :
22427 : : case 3:
22428 : : if (!(
22429 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22430 : : (TARGET_AVX2) &&
22431 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22432 : : (Pmode == DImode)))
22433 : : return -1;
22434 : : return 9791; /* *avx2_gatherdiv2df_2 */
22435 : :
22436 : : default:
22437 : : return -1;
22438 : : }
22439 : :
22440 : : case E_V4DImode:
22441 : : switch (pattern1791 (x3,
22442 : : E_V4DImode,
22443 : : E_DImode))
22444 : : {
22445 : : case 0:
22446 : : if (!(
22447 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22448 : : (TARGET_AVX2) &&
22449 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22450 : : (Pmode == SImode)))
22451 : : return -1;
22452 : : return 9752; /* *avx2_gathersiv4di_2 */
22453 : :
22454 : : case 1:
22455 : : if (!(
22456 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22457 : : (TARGET_AVX2) &&
22458 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22459 : : (Pmode == SImode)))
22460 : : return -1;
22461 : : return 9784; /* *avx2_gatherdiv4di_2 */
22462 : :
22463 : : case 2:
22464 : : if (!(
22465 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22466 : : (TARGET_AVX2) &&
22467 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22468 : : (Pmode == DImode)))
22469 : : return -1;
22470 : : return 9760; /* *avx2_gathersiv4di_2 */
22471 : :
22472 : : case 3:
22473 : : if (!(
22474 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22475 : : (TARGET_AVX2) &&
22476 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22477 : : (Pmode == DImode)))
22478 : : return -1;
22479 : : return 9792; /* *avx2_gatherdiv4di_2 */
22480 : :
22481 : : default:
22482 : : return -1;
22483 : : }
22484 : :
22485 : : case E_V4DFmode:
22486 : : switch (pattern1791 (x3,
22487 : : E_V4DFmode,
22488 : : E_DFmode))
22489 : : {
22490 : : case 0:
22491 : : if (!(
22492 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22493 : : (TARGET_AVX2) &&
22494 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22495 : : (Pmode == SImode)))
22496 : : return -1;
22497 : : return 9753; /* *avx2_gathersiv4df_2 */
22498 : :
22499 : : case 1:
22500 : : if (!(
22501 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22502 : : (TARGET_AVX2) &&
22503 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22504 : : (Pmode == SImode)))
22505 : : return -1;
22506 : : return 9785; /* *avx2_gatherdiv4df_2 */
22507 : :
22508 : : case 2:
22509 : : if (!(
22510 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22511 : : (TARGET_AVX2) &&
22512 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22513 : : (Pmode == DImode)))
22514 : : return -1;
22515 : : return 9761; /* *avx2_gathersiv4df_2 */
22516 : :
22517 : : case 3:
22518 : : if (!(
22519 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22520 : : (TARGET_AVX2) &&
22521 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22522 : : (Pmode == DImode)))
22523 : : return -1;
22524 : : return 9793; /* *avx2_gatherdiv4df_2 */
22525 : :
22526 : : default:
22527 : : return -1;
22528 : : }
22529 : :
22530 : : case E_V4SImode:
22531 : : switch (pattern1789 (x3,
22532 : : E_V4SImode,
22533 : : E_SImode))
22534 : : {
22535 : : case 0:
22536 : : if (!(
22537 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22538 : : (TARGET_AVX2) &&
22539 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22540 : : (Pmode == SImode)))
22541 : : return -1;
22542 : : return 9754; /* *avx2_gathersiv4si_2 */
22543 : :
22544 : : case 1:
22545 : : if (!(
22546 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22547 : : (TARGET_AVX2) &&
22548 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22549 : : (Pmode == SImode)))
22550 : : return -1;
22551 : : return 9786; /* *avx2_gatherdiv4si_2 */
22552 : :
22553 : : case 2:
22554 : : if (!(
22555 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22556 : : (TARGET_AVX2) &&
22557 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22558 : : (Pmode == DImode)))
22559 : : return -1;
22560 : : return 9762; /* *avx2_gathersiv4si_2 */
22561 : :
22562 : : case 3:
22563 : : if (!(
22564 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22565 : : (TARGET_AVX2) &&
22566 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22567 : : (Pmode == DImode)))
22568 : : return -1;
22569 : : return 9794; /* *avx2_gatherdiv4si_2 */
22570 : :
22571 : : default:
22572 : : return -1;
22573 : : }
22574 : :
22575 : : case E_V4SFmode:
22576 : : switch (pattern1789 (x3,
22577 : : E_V4SFmode,
22578 : : E_SFmode))
22579 : : {
22580 : : case 0:
22581 : : if (!(
22582 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22583 : : (TARGET_AVX2) &&
22584 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22585 : : (Pmode == SImode)))
22586 : : return -1;
22587 : : return 9755; /* *avx2_gathersiv4sf_2 */
22588 : :
22589 : : case 1:
22590 : : if (!(
22591 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22592 : : (TARGET_AVX2) &&
22593 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22594 : : (Pmode == SImode)))
22595 : : return -1;
22596 : : return 9787; /* *avx2_gatherdiv4sf_2 */
22597 : :
22598 : : case 2:
22599 : : if (!(
22600 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22601 : : (TARGET_AVX2) &&
22602 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22603 : : (Pmode == DImode)))
22604 : : return -1;
22605 : : return 9763; /* *avx2_gathersiv4sf_2 */
22606 : :
22607 : : case 3:
22608 : : if (!(
22609 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22610 : : (TARGET_AVX2) &&
22611 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22612 : : (Pmode == DImode)))
22613 : : return -1;
22614 : : return 9795; /* *avx2_gatherdiv4sf_2 */
22615 : :
22616 : : default:
22617 : : return -1;
22618 : : }
22619 : :
22620 : : case E_V8SImode:
22621 : : switch (pattern1792 (x3,
22622 : : E_V8SImode,
22623 : : E_SImode))
22624 : : {
22625 : : case 0:
22626 : : switch (pattern1855 (
22627 : : E_SImode))
22628 : : {
22629 : : case 0:
22630 : : if (!(
22631 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22632 : : (TARGET_AVX2) &&
22633 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22634 : : (Pmode == SImode)))
22635 : : return -1;
22636 : : return 9756; /* *avx2_gathersiv8si_2 */
22637 : :
22638 : : case 1:
22639 : : if (!(
22640 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22641 : : (TARGET_AVX2) &&
22642 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22643 : : (Pmode == SImode)))
22644 : : return -1;
22645 : : return 9788; /* *avx2_gatherdiv8si_2 */
22646 : :
22647 : : default:
22648 : : return -1;
22649 : : }
22650 : :
22651 : : case 1:
22652 : : switch (pattern1855 (
22653 : : E_DImode))
22654 : : {
22655 : : case 0:
22656 : : if (!(
22657 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22658 : : (TARGET_AVX2) &&
22659 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22660 : : (Pmode == DImode)))
22661 : : return -1;
22662 : : return 9764; /* *avx2_gathersiv8si_2 */
22663 : :
22664 : : case 1:
22665 : : if (!(
22666 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22667 : : (TARGET_AVX2) &&
22668 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22669 : : (Pmode == DImode)))
22670 : : return -1;
22671 : : return 9796; /* *avx2_gatherdiv8si_2 */
22672 : :
22673 : : default:
22674 : : return -1;
22675 : : }
22676 : :
22677 : : default:
22678 : : return -1;
22679 : : }
22680 : :
22681 : : case E_V8SFmode:
22682 : : switch (pattern1792 (x3,
22683 : : E_V8SFmode,
22684 : : E_SFmode))
22685 : : {
22686 : : case 0:
22687 : : switch (pattern1856 (
22688 : : E_SImode))
22689 : : {
22690 : : case 0:
22691 : : if (!(
22692 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22693 : : (TARGET_AVX2) &&
22694 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22695 : : (Pmode == SImode)))
22696 : : return -1;
22697 : : return 9757; /* *avx2_gathersiv8sf_2 */
22698 : :
22699 : : case 1:
22700 : : if (!(
22701 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22702 : : (TARGET_AVX2) &&
22703 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22704 : : (Pmode == SImode)))
22705 : : return -1;
22706 : : return 9789; /* *avx2_gatherdiv8sf_2 */
22707 : :
22708 : : default:
22709 : : return -1;
22710 : : }
22711 : :
22712 : : case 1:
22713 : : switch (pattern1856 (
22714 : : E_DImode))
22715 : : {
22716 : : case 0:
22717 : : if (!(
22718 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22719 : : (TARGET_AVX2) &&
22720 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22721 : : (Pmode == DImode)))
22722 : : return -1;
22723 : : return 9765; /* *avx2_gathersiv8sf_2 */
22724 : :
22725 : : case 1:
22726 : : if (!(
22727 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22728 : : (TARGET_AVX2) &&
22729 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22730 : : (Pmode == DImode)))
22731 : : return -1;
22732 : : return 9797; /* *avx2_gatherdiv8sf_2 */
22733 : :
22734 : : default:
22735 : : return -1;
22736 : : }
22737 : :
22738 : : default:
22739 : : return -1;
22740 : : }
22741 : :
22742 : : default:
22743 : : return -1;
22744 : : }
22745 : :
22746 : : default:
22747 : : return -1;
22748 : : }
22749 : :
22750 : : default:
22751 : : return -1;
22752 : : }
22753 : :
22754 : : case 5:
22755 : : if (XINT (x3, 1) != 132
22756 : : || pattern549 (x1,
22757 : : 132,
22758 : : 5) != 0)
22759 : : return -1;
22760 : : x7 = XVECEXP (x3, 0, 0);
22761 : : operands[1] = x7;
22762 : : if (!register_operand (operands[1], E_V16QImode))
22763 : : return -1;
22764 : : x8 = XVECEXP (x3, 0, 1);
22765 : : operands[2] = x8;
22766 : : if (!register_operand (operands[2], E_SImode))
22767 : : return -1;
22768 : : x9 = XVECEXP (x3, 0, 2);
22769 : : operands[3] = x9;
22770 : : if (!nonimmediate_operand (operands[3], E_V16QImode))
22771 : : return -1;
22772 : : x15 = XVECEXP (x3, 0, 3);
22773 : : operands[4] = x15;
22774 : : if (!register_operand (operands[4], E_SImode))
22775 : : return -1;
22776 : : x16 = XVECEXP (x3, 0, 4);
22777 : : operands[5] = x16;
22778 : : if (!const_0_to_255_operand (operands[5], E_SImode))
22779 : : return -1;
22780 : : x4 = XVECEXP (x1, 0, 1);
22781 : : x17 = XEXP (x4, 1);
22782 : : x18 = XVECEXP (x17, 0, 0);
22783 : : if (!rtx_equal_p (x18, operands[1]))
22784 : : return -1;
22785 : : x19 = XVECEXP (x17, 0, 1);
22786 : : if (!rtx_equal_p (x19, operands[2]))
22787 : : return -1;
22788 : : x20 = XVECEXP (x17, 0, 2);
22789 : : if (!rtx_equal_p (x20, operands[3]))
22790 : : return -1;
22791 : : x21 = XVECEXP (x17, 0, 3);
22792 : : if (!rtx_equal_p (x21, operands[4]))
22793 : : return -1;
22794 : : x22 = XVECEXP (x17, 0, 4);
22795 : : if (!rtx_equal_p (x22, operands[5]))
22796 : : return -1;
22797 : : switch (pattern1787 (x3))
22798 : : {
22799 : : case 0:
22800 : : if (!
22801 : : #line 26222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22802 : : (TARGET_SSE4_2))
22803 : : return -1;
22804 : : return 9023; /* sse4_2_pcmpestri */
22805 : :
22806 : : case 1:
22807 : : if (!
22808 : : #line 26250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22809 : : (TARGET_SSE4_2))
22810 : : return -1;
22811 : : return 9024; /* sse4_2_pcmpestrm */
22812 : :
22813 : : default:
22814 : : return -1;
22815 : : }
22816 : :
22817 : : default:
22818 : : return -1;
22819 : : }
22820 : : }
22821 : :
22822 : : int
22823 : : recog_397 (rtx x1 ATTRIBUTE_UNUSED,
22824 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22825 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22826 : : {
22827 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22828 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22829 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22830 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
22831 : : rtx x26, x27, x28, x29, x30;
22832 : : int res ATTRIBUTE_UNUSED;
22833 : : x2 = XVECEXP (x1, 0, 0);
22834 : : x3 = XEXP (x2, 1);
22835 : : x4 = XEXP (x3, 0);
22836 : : switch (GET_CODE (x4))
22837 : : {
22838 : : case PLUS:
22839 : : return recog_392 (x1, insn, pnum_clobbers);
22840 : :
22841 : : case NEG:
22842 : : x5 = XEXP (x2, 0);
22843 : : if (GET_CODE (x5) != REG
22844 : : || REGNO (x5) != 17)
22845 : : return -1;
22846 : : x6 = XEXP (x3, 1);
22847 : : switch (GET_CODE (x6))
22848 : : {
22849 : : case REG:
22850 : : case SUBREG:
22851 : : case MEM:
22852 : : operands[1] = x6;
22853 : : x7 = XEXP (x4, 0);
22854 : : operands[2] = x7;
22855 : : x8 = XVECEXP (x1, 0, 1);
22856 : : switch (GET_CODE (x8))
22857 : : {
22858 : : case CLOBBER:
22859 : : x9 = XEXP (x8, 0);
22860 : : operands[0] = x9;
22861 : : switch (GET_MODE (x4))
22862 : : {
22863 : : case E_QImode:
22864 : : if (!general_operand (operands[2], E_QImode)
22865 : : || !nonimmediate_operand (operands[1], E_QImode)
22866 : : || !scratch_operand (operands[0], E_QImode)
22867 : : || !
22868 : : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22869 : : (ix86_match_ccmode (insn, CCZmode)
22870 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22871 : : return -1;
22872 : : return 318; /* *addqi_3 */
22873 : :
22874 : : case E_HImode:
22875 : : if (!general_operand (operands[2], E_HImode)
22876 : : || !nonimmediate_operand (operands[1], E_HImode)
22877 : : || !scratch_operand (operands[0], E_HImode)
22878 : : || !
22879 : : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22880 : : (ix86_match_ccmode (insn, CCZmode)
22881 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22882 : : return -1;
22883 : : return 319; /* *addhi_3 */
22884 : :
22885 : : case E_SImode:
22886 : : if (!x86_64_general_operand (operands[2], E_SImode)
22887 : : || !nonimmediate_operand (operands[1], E_SImode)
22888 : : || !scratch_operand (operands[0], E_SImode)
22889 : : || !
22890 : : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22891 : : (ix86_match_ccmode (insn, CCZmode)
22892 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22893 : : return -1;
22894 : : return 320; /* *addsi_3 */
22895 : :
22896 : : case E_DImode:
22897 : : if (!x86_64_general_operand (operands[2], E_DImode)
22898 : : || !nonimmediate_operand (operands[1], E_DImode)
22899 : : || !scratch_operand (operands[0], E_DImode)
22900 : : || !(
22901 : : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22902 : : (ix86_match_ccmode (insn, CCZmode)
22903 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22904 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22905 : : (TARGET_64BIT)))
22906 : : return -1;
22907 : : return 321; /* *adddi_3 */
22908 : :
22909 : : default:
22910 : : return -1;
22911 : : }
22912 : :
22913 : : case SET:
22914 : : x10 = XEXP (x8, 1);
22915 : : if (GET_CODE (x10) != ZERO_EXTEND
22916 : : || pattern1240 (x1,
22917 : : PLUS) != 0
22918 : : || !x86_64_general_operand (operands[2], E_SImode)
22919 : : || !nonimmediate_operand (operands[1], E_SImode))
22920 : : return -1;
22921 : : x9 = XEXP (x8, 0);
22922 : : operands[0] = x9;
22923 : : if (!register_operand (operands[0], E_DImode))
22924 : : return -1;
22925 : : x11 = XEXP (x10, 0);
22926 : : x12 = XEXP (x11, 0);
22927 : : if (!rtx_equal_p (x12, operands[1]))
22928 : : return -1;
22929 : : x13 = XEXP (x11, 1);
22930 : : if (!rtx_equal_p (x13, operands[2])
22931 : : || !
22932 : : #line 7277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22933 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCZmode)
22934 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22935 : : return -1;
22936 : : return 322; /* *addsi_3_zext */
22937 : :
22938 : : default:
22939 : : return -1;
22940 : : }
22941 : :
22942 : : case CONST_INT:
22943 : : if (XWINT (x6, 0) != 0L)
22944 : : return -1;
22945 : : x8 = XVECEXP (x1, 0, 1);
22946 : : if (GET_CODE (x8) != SET)
22947 : : return -1;
22948 : : x7 = XEXP (x4, 0);
22949 : : operands[1] = x7;
22950 : : x9 = XEXP (x8, 0);
22951 : : operands[0] = x9;
22952 : : x10 = XEXP (x8, 1);
22953 : : switch (GET_CODE (x10))
22954 : : {
22955 : : case NEG:
22956 : : switch (pattern1242 (x1))
22957 : : {
22958 : : case 0:
22959 : : if (!
22960 : : #line 14711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22961 : : (ix86_match_ccmode (insn, CCGOCmode)
22962 : : && ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)))
22963 : : return -1;
22964 : : return 1007; /* *negqi_2 */
22965 : :
22966 : : case 1:
22967 : : if (!
22968 : : #line 14711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22969 : : (ix86_match_ccmode (insn, CCGOCmode)
22970 : : && ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)))
22971 : : return -1;
22972 : : return 1008; /* *neghi_2 */
22973 : :
22974 : : case 2:
22975 : : if (!
22976 : : #line 14711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22977 : : (ix86_match_ccmode (insn, CCGOCmode)
22978 : : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
22979 : : return -1;
22980 : : return 1009; /* *negsi_2 */
22981 : :
22982 : : case 3:
22983 : : if (!(
22984 : : #line 14711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22985 : : (ix86_match_ccmode (insn, CCGOCmode)
22986 : : && ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)) &&
22987 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22988 : : (TARGET_64BIT)))
22989 : : return -1;
22990 : : return 1010; /* *negdi_2 */
22991 : :
22992 : : default:
22993 : : return -1;
22994 : : }
22995 : :
22996 : : case ZERO_EXTEND:
22997 : : if (pattern1243 (x1,
22998 : : NEG) != 0
22999 : : || !
23000 : : #line 14728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23001 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
23002 : : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
23003 : : return -1;
23004 : : return 1011; /* *negsi_2_zext */
23005 : :
23006 : : default:
23007 : : return -1;
23008 : : }
23009 : :
23010 : : default:
23011 : : return -1;
23012 : : }
23013 : :
23014 : : case REG:
23015 : : case SUBREG:
23016 : : case MEM:
23017 : : operands[1] = x4;
23018 : : x5 = XEXP (x2, 0);
23019 : : if (GET_CODE (x5) != REG
23020 : : || REGNO (x5) != 17)
23021 : : return -1;
23022 : : x6 = XEXP (x3, 1);
23023 : : operands[2] = x6;
23024 : : res = recog_388 (x1, insn, pnum_clobbers);
23025 : : if (res >= 0)
23026 : : return res;
23027 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23028 : : return -1;
23029 : : x8 = XVECEXP (x1, 0, 1);
23030 : : if (GET_CODE (x8) != SET)
23031 : : return -1;
23032 : : x9 = XEXP (x8, 0);
23033 : : operands[0] = x9;
23034 : : x10 = XEXP (x8, 1);
23035 : : switch (GET_CODE (x10))
23036 : : {
23037 : : case CTZ:
23038 : : x11 = XEXP (x10, 0);
23039 : : if (!rtx_equal_p (x11, operands[1]))
23040 : : return -1;
23041 : : switch (GET_MODE (x5))
23042 : : {
23043 : : case E_CCCmode:
23044 : : if (GET_MODE (x3) != E_CCCmode)
23045 : : return -1;
23046 : : switch (pattern1495 (x10))
23047 : : {
23048 : : case 0:
23049 : : if (!
23050 : : #line 21304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23051 : : (TARGET_BMI))
23052 : : return -1;
23053 : : return 1540; /* *tzcntsi_1 */
23054 : :
23055 : : case 1:
23056 : : if (!(
23057 : : #line 21304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23058 : : (TARGET_BMI) &&
23059 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23060 : : (TARGET_64BIT)))
23061 : : return -1;
23062 : : return 1541; /* *tzcntdi_1 */
23063 : :
23064 : : default:
23065 : : return -1;
23066 : : }
23067 : :
23068 : : case E_CCZmode:
23069 : : if (GET_MODE (x3) != E_CCZmode)
23070 : : return -1;
23071 : : switch (pattern1495 (x10))
23072 : : {
23073 : : case 0:
23074 : : return 1544; /* *bsfsi_1 */
23075 : :
23076 : : case 1:
23077 : : if (!
23078 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23079 : : (TARGET_64BIT))
23080 : : return -1;
23081 : : return 1545; /* *bsfdi_1 */
23082 : :
23083 : : default:
23084 : : return -1;
23085 : : }
23086 : :
23087 : : default:
23088 : : return -1;
23089 : : }
23090 : :
23091 : : case MINUS:
23092 : : x11 = XEXP (x10, 0);
23093 : : if (GET_CODE (x11) != CONST_INT)
23094 : : return -1;
23095 : : x14 = XEXP (x10, 1);
23096 : : if (GET_CODE (x14) != CLZ
23097 : : || GET_MODE (x5) != E_CCZmode
23098 : : || GET_MODE (x3) != E_CCZmode)
23099 : : return -1;
23100 : : x15 = XEXP (x14, 0);
23101 : : if (!rtx_equal_p (x15, operands[1]))
23102 : : return -1;
23103 : : switch (XWINT (x11, 0))
23104 : : {
23105 : : case 63L:
23106 : : if (pattern1632 (x10,
23107 : : E_DImode) != 0
23108 : : || !
23109 : : #line 21533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23110 : : (TARGET_64BIT))
23111 : : return -1;
23112 : : return 1556; /* bsr_rex64 */
23113 : :
23114 : : case 31L:
23115 : : if (pattern1632 (x10,
23116 : : E_SImode) != 0)
23117 : : return -1;
23118 : : return 1559; /* bsr */
23119 : :
23120 : : default:
23121 : : return -1;
23122 : : }
23123 : :
23124 : : default:
23125 : : return -1;
23126 : : }
23127 : :
23128 : : case MINUS:
23129 : : return recog_393 (x1, insn, pnum_clobbers);
23130 : :
23131 : : case ZERO_EXTEND:
23132 : : return recog_394 (x1, insn, pnum_clobbers);
23133 : :
23134 : : case AND:
23135 : : return recog_396 (x1, insn, pnum_clobbers);
23136 : :
23137 : : case IOR:
23138 : : return recog_395 (x1, insn, pnum_clobbers);
23139 : :
23140 : : case XOR:
23141 : : switch (pattern371 (x1,
23142 : : XOR))
23143 : : {
23144 : : case 0:
23145 : : if (general_operand (operands[2], E_QImode))
23146 : : {
23147 : : switch (pattern946 (x1,
23148 : : XOR))
23149 : : {
23150 : : case 0:
23151 : : if (
23152 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23153 : : (ix86_match_ccmode (insn, CCNOmode)))
23154 : : return 812; /* *xorqi_exthi_1_cc */
23155 : : break;
23156 : :
23157 : : case 1:
23158 : : if (
23159 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23160 : : (ix86_match_ccmode (insn, CCNOmode)))
23161 : : return 815; /* *xorqi_extsi_1_cc */
23162 : : break;
23163 : :
23164 : : case 2:
23165 : : if ((
23166 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23167 : : (ix86_match_ccmode (insn, CCNOmode)) &&
23168 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23169 : : (TARGET_64BIT)))
23170 : : return 818; /* *xorqi_extdi_1_cc */
23171 : : break;
23172 : :
23173 : : default:
23174 : : break;
23175 : : }
23176 : : }
23177 : : x5 = XEXP (x2, 0);
23178 : : if (GET_CODE (x5) != REG
23179 : : || REGNO (x5) != 17)
23180 : : return -1;
23181 : : x7 = XEXP (x4, 0);
23182 : : operands[1] = x7;
23183 : : x8 = XVECEXP (x1, 0, 1);
23184 : : switch (GET_CODE (x8))
23185 : : {
23186 : : case SET:
23187 : : x9 = XEXP (x8, 0);
23188 : : operands[0] = x9;
23189 : : x10 = XEXP (x8, 1);
23190 : : switch (GET_CODE (x10))
23191 : : {
23192 : : case XOR:
23193 : : switch (pattern1433 (x1))
23194 : : {
23195 : : case 0:
23196 : : if (!
23197 : : #line 14159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23198 : : (ix86_match_ccmode (insn, CCNOmode)
23199 : : && ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
23200 : : return -1;
23201 : : return 901; /* *xorqi_2 */
23202 : :
23203 : : case 1:
23204 : : if (!
23205 : : #line 14159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23206 : : (ix86_match_ccmode (insn, CCNOmode)
23207 : : && ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
23208 : : return -1;
23209 : : return 903; /* *xorhi_2 */
23210 : :
23211 : : case 2:
23212 : : if (!
23213 : : #line 14159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23214 : : (ix86_match_ccmode (insn, CCNOmode)
23215 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23216 : : return -1;
23217 : : return 905; /* *xorsi_2 */
23218 : :
23219 : : case 3:
23220 : : if (!(
23221 : : #line 14159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23222 : : (ix86_match_ccmode (insn, CCNOmode)
23223 : : && ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
23224 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23225 : : (TARGET_64BIT)))
23226 : : return -1;
23227 : : return 907; /* *xordi_2 */
23228 : :
23229 : : case 4:
23230 : : if (!
23231 : : #line 14197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23232 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
23233 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23234 : : return -1;
23235 : : return 911; /* *xorsi_2_zext_imm */
23236 : :
23237 : : default:
23238 : : return -1;
23239 : : }
23240 : :
23241 : : case ZERO_EXTEND:
23242 : : if (pattern1429 (x1,
23243 : : XOR) != 0
23244 : : || !
23245 : : #line 14179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23246 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
23247 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23248 : : return -1;
23249 : : return 909; /* *xorsi_2_zext */
23250 : :
23251 : : default:
23252 : : return -1;
23253 : : }
23254 : :
23255 : : case CLOBBER:
23256 : : x9 = XEXP (x8, 0);
23257 : : operands[0] = x9;
23258 : : switch (pattern1322 (x4))
23259 : : {
23260 : : case 0:
23261 : : if (!
23262 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23263 : : (ix86_match_ccmode (insn, CCNOmode)
23264 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23265 : : return -1;
23266 : : return 917; /* *xorqi_3 */
23267 : :
23268 : : case 1:
23269 : : if (!
23270 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23271 : : (ix86_match_ccmode (insn, CCNOmode)
23272 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23273 : : return -1;
23274 : : return 919; /* *xorhi_3 */
23275 : :
23276 : : case 2:
23277 : : if (!
23278 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23279 : : (ix86_match_ccmode (insn, CCNOmode)
23280 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23281 : : return -1;
23282 : : return 921; /* *xorsi_3 */
23283 : :
23284 : : case 3:
23285 : : if (!(
23286 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23287 : : (ix86_match_ccmode (insn, CCNOmode)
23288 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23289 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23290 : : (TARGET_64BIT)))
23291 : : return -1;
23292 : : return 923; /* *xordi_3 */
23293 : :
23294 : : default:
23295 : : return -1;
23296 : : }
23297 : :
23298 : : default:
23299 : : return -1;
23300 : : }
23301 : :
23302 : : case 1:
23303 : : return 11119; /* atomic_xor_fetch_cmp_0qi_1 */
23304 : :
23305 : : case 2:
23306 : : return 11122; /* atomic_xor_fetch_cmp_0hi_1 */
23307 : :
23308 : : case 3:
23309 : : return 11125; /* atomic_xor_fetch_cmp_0si_1 */
23310 : :
23311 : : case 4:
23312 : : if (!
23313 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23314 : : (TARGET_64BIT))
23315 : : return -1;
23316 : : return 11128; /* atomic_xor_fetch_cmp_0di_1 */
23317 : :
23318 : : default:
23319 : : return -1;
23320 : : }
23321 : :
23322 : : case NOT:
23323 : : x6 = XEXP (x3, 1);
23324 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23325 : : return -1;
23326 : : x5 = XEXP (x2, 0);
23327 : : if (GET_CODE (x5) != REG
23328 : : || REGNO (x5) != 17)
23329 : : return -1;
23330 : : x8 = XVECEXP (x1, 0, 1);
23331 : : if (GET_CODE (x8) != SET)
23332 : : return -1;
23333 : : x7 = XEXP (x4, 0);
23334 : : operands[1] = x7;
23335 : : x9 = XEXP (x8, 0);
23336 : : operands[0] = x9;
23337 : : x10 = XEXP (x8, 1);
23338 : : switch (GET_CODE (x10))
23339 : : {
23340 : : case NOT:
23341 : : switch (pattern1242 (x1))
23342 : : {
23343 : : case 0:
23344 : : if (!
23345 : : #line 15381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23346 : : (ix86_match_ccmode (insn, CCNOmode)
23347 : : && ix86_unary_operator_ok (NOT, QImode, operands, TARGET_APX_NDD)))
23348 : : return -1;
23349 : : return 1076; /* *one_cmplqi2_2 */
23350 : :
23351 : : case 1:
23352 : : if (!
23353 : : #line 15381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23354 : : (ix86_match_ccmode (insn, CCNOmode)
23355 : : && ix86_unary_operator_ok (NOT, HImode, operands, TARGET_APX_NDD)))
23356 : : return -1;
23357 : : return 1077; /* *one_cmplhi2_2 */
23358 : :
23359 : : case 2:
23360 : : if (!
23361 : : #line 15381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23362 : : (ix86_match_ccmode (insn, CCNOmode)
23363 : : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
23364 : : return -1;
23365 : : return 1078; /* *one_cmplsi2_2 */
23366 : :
23367 : : case 3:
23368 : : if (!(
23369 : : #line 15381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23370 : : (ix86_match_ccmode (insn, CCNOmode)
23371 : : && ix86_unary_operator_ok (NOT, DImode, operands, TARGET_APX_NDD)) &&
23372 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23373 : : (TARGET_64BIT)))
23374 : : return -1;
23375 : : return 1079; /* *one_cmpldi2_2 */
23376 : :
23377 : : default:
23378 : : return -1;
23379 : : }
23380 : :
23381 : : case ZERO_EXTEND:
23382 : : if (pattern1243 (x1,
23383 : : NOT) != 0
23384 : : || !
23385 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23386 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
23387 : : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
23388 : : return -1;
23389 : : return 1080; /* *one_cmplsi2_2_zext */
23390 : :
23391 : : default:
23392 : : return -1;
23393 : : }
23394 : :
23395 : : case ASHIFT:
23396 : : switch (pattern372 (x1))
23397 : : {
23398 : : case 0:
23399 : : x8 = XVECEXP (x1, 0, 1);
23400 : : x10 = XEXP (x8, 1);
23401 : : switch (GET_CODE (x10))
23402 : : {
23403 : : case ASHIFT:
23404 : : switch (pattern1324 (x1))
23405 : : {
23406 : : case 0:
23407 : : if (!
23408 : : #line 16637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23409 : : ((optimize_function_for_size_p (cfun)
23410 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23411 : : || (operands[2] == const1_rtx
23412 : : && (TARGET_SHIFT1
23413 : : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
23414 : : && ix86_match_ccmode (insn, CCGOCmode)
23415 : : && ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)))
23416 : : return -1;
23417 : : return 1142; /* *ashlqi3_cmp */
23418 : :
23419 : : case 1:
23420 : : if (!
23421 : : #line 16637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23422 : : ((optimize_function_for_size_p (cfun)
23423 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23424 : : || (operands[2] == const1_rtx
23425 : : && (TARGET_SHIFT1
23426 : : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
23427 : : && ix86_match_ccmode (insn, CCGOCmode)
23428 : : && ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)))
23429 : : return -1;
23430 : : return 1143; /* *ashlhi3_cmp */
23431 : :
23432 : : case 2:
23433 : : if (!
23434 : : #line 16637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23435 : : ((optimize_function_for_size_p (cfun)
23436 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23437 : : || (operands[2] == const1_rtx
23438 : : && (TARGET_SHIFT1
23439 : : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
23440 : : && ix86_match_ccmode (insn, CCGOCmode)
23441 : : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
23442 : : return -1;
23443 : : return 1144; /* *ashlsi3_cmp */
23444 : :
23445 : : case 3:
23446 : : if (!(
23447 : : #line 16637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23448 : : ((optimize_function_for_size_p (cfun)
23449 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23450 : : || (operands[2] == const1_rtx
23451 : : && (TARGET_SHIFT1
23452 : : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
23453 : : && ix86_match_ccmode (insn, CCGOCmode)
23454 : : && ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)) &&
23455 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23456 : : (TARGET_64BIT)))
23457 : : return -1;
23458 : : return 1145; /* *ashldi3_cmp */
23459 : :
23460 : : default:
23461 : : return -1;
23462 : : }
23463 : :
23464 : : case ZERO_EXTEND:
23465 : : if (pattern1325 (x1,
23466 : : ASHIFT) != 0
23467 : : || !
23468 : : #line 16691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23469 : : (TARGET_64BIT
23470 : : && (optimize_function_for_size_p (cfun)
23471 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23472 : : || (operands[2] == const1_rtx
23473 : : && (TARGET_SHIFT1
23474 : : || TARGET_DOUBLE_WITH_ADD)))
23475 : : && ix86_match_ccmode (insn, CCGOCmode)
23476 : : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
23477 : : return -1;
23478 : : return 1146; /* *ashlsi3_cmp_zext */
23479 : :
23480 : : default:
23481 : : return -1;
23482 : : }
23483 : :
23484 : : case 1:
23485 : : if (!
23486 : : #line 16744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23487 : : ((optimize_function_for_size_p (cfun)
23488 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23489 : : || (operands[2] == const1_rtx
23490 : : && (TARGET_SHIFT1
23491 : : || TARGET_DOUBLE_WITH_ADD)))
23492 : : && ix86_match_ccmode (insn, CCGOCmode)))
23493 : : return -1;
23494 : : return 1147; /* *ashlqi3_cconly */
23495 : :
23496 : : case 2:
23497 : : if (!
23498 : : #line 16744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23499 : : ((optimize_function_for_size_p (cfun)
23500 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23501 : : || (operands[2] == const1_rtx
23502 : : && (TARGET_SHIFT1
23503 : : || TARGET_DOUBLE_WITH_ADD)))
23504 : : && ix86_match_ccmode (insn, CCGOCmode)))
23505 : : return -1;
23506 : : return 1148; /* *ashlhi3_cconly */
23507 : :
23508 : : case 3:
23509 : : if (!
23510 : : #line 16744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23511 : : ((optimize_function_for_size_p (cfun)
23512 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23513 : : || (operands[2] == const1_rtx
23514 : : && (TARGET_SHIFT1
23515 : : || TARGET_DOUBLE_WITH_ADD)))
23516 : : && ix86_match_ccmode (insn, CCGOCmode)))
23517 : : return -1;
23518 : : return 1149; /* *ashlsi3_cconly */
23519 : :
23520 : : case 4:
23521 : : if (!(
23522 : : #line 16744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23523 : : ((optimize_function_for_size_p (cfun)
23524 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23525 : : || (operands[2] == const1_rtx
23526 : : && (TARGET_SHIFT1
23527 : : || TARGET_DOUBLE_WITH_ADD)))
23528 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
23529 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23530 : : (TARGET_64BIT)))
23531 : : return -1;
23532 : : return 1150; /* *ashldi3_cconly */
23533 : :
23534 : : default:
23535 : : return -1;
23536 : : }
23537 : :
23538 : : case LSHIFTRT:
23539 : : switch (pattern372 (x1))
23540 : : {
23541 : : case 0:
23542 : : x8 = XVECEXP (x1, 0, 1);
23543 : : x10 = XEXP (x8, 1);
23544 : : switch (GET_CODE (x10))
23545 : : {
23546 : : case LSHIFTRT:
23547 : : switch (pattern1324 (x1))
23548 : : {
23549 : : case 0:
23550 : : if (!
23551 : : #line 17973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23552 : : ((optimize_function_for_size_p (cfun)
23553 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23554 : : || (operands[2] == const1_rtx
23555 : : && TARGET_SHIFT1))
23556 : : && ix86_match_ccmode (insn, CCGOCmode)
23557 : : && ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)))
23558 : : return -1;
23559 : : return 1252; /* *lshrqi3_cmp */
23560 : :
23561 : : case 1:
23562 : : if (!
23563 : : #line 17973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23564 : : ((optimize_function_for_size_p (cfun)
23565 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23566 : : || (operands[2] == const1_rtx
23567 : : && TARGET_SHIFT1))
23568 : : && ix86_match_ccmode (insn, CCGOCmode)
23569 : : && ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)))
23570 : : return -1;
23571 : : return 1254; /* *lshrhi3_cmp */
23572 : :
23573 : : case 2:
23574 : : if (!
23575 : : #line 17973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23576 : : ((optimize_function_for_size_p (cfun)
23577 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23578 : : || (operands[2] == const1_rtx
23579 : : && TARGET_SHIFT1))
23580 : : && ix86_match_ccmode (insn, CCGOCmode)
23581 : : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
23582 : : return -1;
23583 : : return 1256; /* *lshrsi3_cmp */
23584 : :
23585 : : case 3:
23586 : : if (!(
23587 : : #line 17973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23588 : : ((optimize_function_for_size_p (cfun)
23589 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23590 : : || (operands[2] == const1_rtx
23591 : : && TARGET_SHIFT1))
23592 : : && ix86_match_ccmode (insn, CCGOCmode)
23593 : : && ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)) &&
23594 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23595 : : (TARGET_64BIT)))
23596 : : return -1;
23597 : : return 1258; /* *lshrdi3_cmp */
23598 : :
23599 : : default:
23600 : : return -1;
23601 : : }
23602 : :
23603 : : case ZERO_EXTEND:
23604 : : if (pattern1325 (x1,
23605 : : LSHIFTRT) != 0
23606 : : || !
23607 : : #line 18008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23608 : : (TARGET_64BIT
23609 : : && (optimize_function_for_size_p (cfun)
23610 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23611 : : || (operands[2] == const1_rtx
23612 : : && TARGET_SHIFT1))
23613 : : && ix86_match_ccmode (insn, CCGOCmode)
23614 : : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
23615 : : return -1;
23616 : : return 1260; /* *lshrsi3_cmp_zext */
23617 : :
23618 : : default:
23619 : : return -1;
23620 : : }
23621 : :
23622 : : case 1:
23623 : : if (!
23624 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23625 : : ((optimize_function_for_size_p (cfun)
23626 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23627 : : || (operands[2] == const1_rtx
23628 : : && TARGET_SHIFT1))
23629 : : && ix86_match_ccmode (insn, CCGOCmode)))
23630 : : return -1;
23631 : : return 1262; /* *lshrqi3_cconly */
23632 : :
23633 : : case 2:
23634 : : if (!
23635 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23636 : : ((optimize_function_for_size_p (cfun)
23637 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23638 : : || (operands[2] == const1_rtx
23639 : : && TARGET_SHIFT1))
23640 : : && ix86_match_ccmode (insn, CCGOCmode)))
23641 : : return -1;
23642 : : return 1264; /* *lshrhi3_cconly */
23643 : :
23644 : : case 3:
23645 : : if (!
23646 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23647 : : ((optimize_function_for_size_p (cfun)
23648 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23649 : : || (operands[2] == const1_rtx
23650 : : && TARGET_SHIFT1))
23651 : : && ix86_match_ccmode (insn, CCGOCmode)))
23652 : : return -1;
23653 : : return 1266; /* *lshrsi3_cconly */
23654 : :
23655 : : case 4:
23656 : : if (!(
23657 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23658 : : ((optimize_function_for_size_p (cfun)
23659 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23660 : : || (operands[2] == const1_rtx
23661 : : && TARGET_SHIFT1))
23662 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
23663 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23664 : : (TARGET_64BIT)))
23665 : : return -1;
23666 : : return 1268; /* *lshrdi3_cconly */
23667 : :
23668 : : default:
23669 : : return -1;
23670 : : }
23671 : :
23672 : : case ASHIFTRT:
23673 : : switch (pattern372 (x1))
23674 : : {
23675 : : case 0:
23676 : : x8 = XVECEXP (x1, 0, 1);
23677 : : x10 = XEXP (x8, 1);
23678 : : switch (GET_CODE (x10))
23679 : : {
23680 : : case ASHIFTRT:
23681 : : switch (pattern1324 (x1))
23682 : : {
23683 : : case 0:
23684 : : if (!
23685 : : #line 17973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23686 : : ((optimize_function_for_size_p (cfun)
23687 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23688 : : || (operands[2] == const1_rtx
23689 : : && TARGET_SHIFT1))
23690 : : && ix86_match_ccmode (insn, CCGOCmode)
23691 : : && ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)))
23692 : : return -1;
23693 : : return 1253; /* *ashrqi3_cmp */
23694 : :
23695 : : case 1:
23696 : : if (!
23697 : : #line 17973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23698 : : ((optimize_function_for_size_p (cfun)
23699 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23700 : : || (operands[2] == const1_rtx
23701 : : && TARGET_SHIFT1))
23702 : : && ix86_match_ccmode (insn, CCGOCmode)
23703 : : && ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)))
23704 : : return -1;
23705 : : return 1255; /* *ashrhi3_cmp */
23706 : :
23707 : : case 2:
23708 : : if (!
23709 : : #line 17973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23710 : : ((optimize_function_for_size_p (cfun)
23711 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23712 : : || (operands[2] == const1_rtx
23713 : : && TARGET_SHIFT1))
23714 : : && ix86_match_ccmode (insn, CCGOCmode)
23715 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
23716 : : return -1;
23717 : : return 1257; /* *ashrsi3_cmp */
23718 : :
23719 : : case 3:
23720 : : if (!(
23721 : : #line 17973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23722 : : ((optimize_function_for_size_p (cfun)
23723 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23724 : : || (operands[2] == const1_rtx
23725 : : && TARGET_SHIFT1))
23726 : : && ix86_match_ccmode (insn, CCGOCmode)
23727 : : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)) &&
23728 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23729 : : (TARGET_64BIT)))
23730 : : return -1;
23731 : : return 1259; /* *ashrdi3_cmp */
23732 : :
23733 : : default:
23734 : : return -1;
23735 : : }
23736 : :
23737 : : case ZERO_EXTEND:
23738 : : if (pattern1325 (x1,
23739 : : ASHIFTRT) != 0
23740 : : || !
23741 : : #line 18008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23742 : : (TARGET_64BIT
23743 : : && (optimize_function_for_size_p (cfun)
23744 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23745 : : || (operands[2] == const1_rtx
23746 : : && TARGET_SHIFT1))
23747 : : && ix86_match_ccmode (insn, CCGOCmode)
23748 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
23749 : : return -1;
23750 : : return 1261; /* *ashrsi3_cmp_zext */
23751 : :
23752 : : default:
23753 : : return -1;
23754 : : }
23755 : :
23756 : : case 1:
23757 : : if (!
23758 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23759 : : ((optimize_function_for_size_p (cfun)
23760 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23761 : : || (operands[2] == const1_rtx
23762 : : && TARGET_SHIFT1))
23763 : : && ix86_match_ccmode (insn, CCGOCmode)))
23764 : : return -1;
23765 : : return 1263; /* *ashrqi3_cconly */
23766 : :
23767 : : case 2:
23768 : : if (!
23769 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23770 : : ((optimize_function_for_size_p (cfun)
23771 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23772 : : || (operands[2] == const1_rtx
23773 : : && TARGET_SHIFT1))
23774 : : && ix86_match_ccmode (insn, CCGOCmode)))
23775 : : return -1;
23776 : : return 1265; /* *ashrhi3_cconly */
23777 : :
23778 : : case 3:
23779 : : if (!
23780 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23781 : : ((optimize_function_for_size_p (cfun)
23782 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23783 : : || (operands[2] == const1_rtx
23784 : : && TARGET_SHIFT1))
23785 : : && ix86_match_ccmode (insn, CCGOCmode)))
23786 : : return -1;
23787 : : return 1267; /* *ashrsi3_cconly */
23788 : :
23789 : : case 4:
23790 : : if (!(
23791 : : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23792 : : ((optimize_function_for_size_p (cfun)
23793 : : || !TARGET_PARTIAL_FLAG_REG_STALL
23794 : : || (operands[2] == const1_rtx
23795 : : && TARGET_SHIFT1))
23796 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
23797 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23798 : : (TARGET_64BIT)))
23799 : : return -1;
23800 : : return 1269; /* *ashrdi3_cconly */
23801 : :
23802 : : default:
23803 : : return -1;
23804 : : }
23805 : :
23806 : : case UNSPEC:
23807 : : if (XVECLEN (x4, 0) != 2
23808 : : || XINT (x4, 1) != 99
23809 : : || pattern685 (x1) != 0)
23810 : : return -1;
23811 : : x16 = XVECEXP (x4, 0, 0);
23812 : : operands[1] = x16;
23813 : : x17 = XVECEXP (x4, 0, 1);
23814 : : operands[2] = x17;
23815 : : x8 = XVECEXP (x1, 0, 1);
23816 : : x9 = XEXP (x8, 0);
23817 : : operands[0] = x9;
23818 : : switch (GET_MODE (x4))
23819 : : {
23820 : : case E_SImode:
23821 : : if (!nonimmediate_operand (operands[1], E_SImode)
23822 : : || !register_operand (operands[2], E_SImode)
23823 : : || !scratch_operand (operands[0], E_SImode)
23824 : : || !
23825 : : #line 22059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23826 : : (TARGET_BMI))
23827 : : return -1;
23828 : : return 1602; /* *bmi_bextr_si_ccz */
23829 : :
23830 : : case E_DImode:
23831 : : if (!nonimmediate_operand (operands[1], E_DImode)
23832 : : || !register_operand (operands[2], E_DImode)
23833 : : || !scratch_operand (operands[0], E_DImode)
23834 : : || !(
23835 : : #line 22059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23836 : : (TARGET_BMI) &&
23837 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23838 : : (TARGET_64BIT)))
23839 : : return -1;
23840 : : return 1603; /* *bmi_bextr_di_ccz */
23841 : :
23842 : : default:
23843 : : return -1;
23844 : : }
23845 : :
23846 : : case IF_THEN_ELSE:
23847 : : x7 = XEXP (x4, 0);
23848 : : if (GET_CODE (x7) != NE
23849 : : || GET_MODE (x7) != E_QImode)
23850 : : return -1;
23851 : : x18 = XEXP (x7, 1);
23852 : : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23853 : : return -1;
23854 : : x19 = XEXP (x4, 1);
23855 : : if (GET_CODE (x19) != ZERO_EXTRACT)
23856 : : return -1;
23857 : : x20 = XEXP (x19, 1);
23858 : : if (GET_CODE (x20) != UMIN
23859 : : || GET_MODE (x20) != E_QImode)
23860 : : return -1;
23861 : : x21 = XEXP (x19, 2);
23862 : : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23863 : : return -1;
23864 : : x22 = XEXP (x4, 2);
23865 : : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23866 : : || pattern685 (x1) != 0)
23867 : : return -1;
23868 : : x23 = XEXP (x7, 0);
23869 : : operands[2] = x23;
23870 : : if (!register_operand (operands[2], E_QImode))
23871 : : return -1;
23872 : : x24 = XEXP (x19, 0);
23873 : : operands[1] = x24;
23874 : : x25 = XEXP (x20, 1);
23875 : : operands[3] = x25;
23876 : : if (!const_int_operand (operands[3], E_QImode))
23877 : : return -1;
23878 : : x8 = XVECEXP (x1, 0, 1);
23879 : : x9 = XEXP (x8, 0);
23880 : : operands[0] = x9;
23881 : : x26 = XEXP (x20, 0);
23882 : : if (!rtx_equal_p (x26, operands[2]))
23883 : : return -1;
23884 : : switch (GET_MODE (x4))
23885 : : {
23886 : : case E_SImode:
23887 : : if (GET_MODE (x19) != E_SImode
23888 : : || !nonimmediate_operand (operands[1], E_SImode)
23889 : : || !scratch_operand (operands[0], E_SImode)
23890 : : || !
23891 : : #line 22366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23892 : : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
23893 : : return -1;
23894 : : return 1626; /* *bmi2_bzhi_si3_1_ccz */
23895 : :
23896 : : case E_DImode:
23897 : : if (GET_MODE (x19) != E_DImode
23898 : : || !nonimmediate_operand (operands[1], E_DImode)
23899 : : || !scratch_operand (operands[0], E_DImode)
23900 : : || !(
23901 : : #line 22366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23902 : : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
23903 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23904 : : (TARGET_64BIT)))
23905 : : return -1;
23906 : : return 1627; /* *bmi2_bzhi_di3_1_ccz */
23907 : :
23908 : : default:
23909 : : return -1;
23910 : : }
23911 : :
23912 : : case UNSPEC_VOLATILE:
23913 : : if (XVECLEN (x4, 0) != 2
23914 : : || XINT (x4, 1) != 110)
23915 : : return -1;
23916 : : x6 = XEXP (x3, 1);
23917 : : if (GET_CODE (x6) != CONST_INT)
23918 : : return -1;
23919 : : operands[2] = x6;
23920 : : res = recog_391 (x1, insn, pnum_clobbers);
23921 : : if (res >= 0)
23922 : : return res;
23923 : : if (XWINT (x6, 0) != 0L)
23924 : : return -1;
23925 : : x5 = XEXP (x2, 0);
23926 : : if (GET_CODE (x5) != REG
23927 : : || REGNO (x5) != 17
23928 : : || GET_MODE (x5) != E_CCCmode)
23929 : : return -1;
23930 : : x8 = XVECEXP (x1, 0, 1);
23931 : : if (GET_CODE (x8) != SET)
23932 : : return -1;
23933 : : x9 = XEXP (x8, 0);
23934 : : if (GET_CODE (x9) != ZERO_EXTRACT)
23935 : : return -1;
23936 : : x27 = XEXP (x9, 1);
23937 : : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
23938 : : || GET_MODE (x3) != E_CCCmode)
23939 : : return -1;
23940 : : x16 = XVECEXP (x4, 0, 0);
23941 : : operands[0] = x16;
23942 : : x17 = XVECEXP (x4, 0, 1);
23943 : : operands[2] = x17;
23944 : : if (!const_int_operand (operands[2], E_SImode))
23945 : : return -1;
23946 : : x28 = XEXP (x9, 2);
23947 : : operands[1] = x28;
23948 : : x29 = XEXP (x9, 0);
23949 : : if (!rtx_equal_p (x29, operands[0]))
23950 : : return -1;
23951 : : x10 = XEXP (x8, 1);
23952 : : switch (GET_CODE (x10))
23953 : : {
23954 : : case CONST_INT:
23955 : : switch (XWINT (x10, 0))
23956 : : {
23957 : : case 1L:
23958 : : switch (pattern1774 (x1))
23959 : : {
23960 : : case 0:
23961 : : return 11100; /* atomic_bit_test_and_sethi_1 */
23962 : :
23963 : : case 1:
23964 : : return 11101; /* atomic_bit_test_and_setsi_1 */
23965 : :
23966 : : case 2:
23967 : : if (!
23968 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23969 : : (TARGET_64BIT))
23970 : : return -1;
23971 : : return 11102; /* atomic_bit_test_and_setdi_1 */
23972 : :
23973 : : default:
23974 : : return -1;
23975 : : }
23976 : :
23977 : : case 0L:
23978 : : switch (pattern1774 (x1))
23979 : : {
23980 : : case 0:
23981 : : return 11106; /* atomic_bit_test_and_resethi_1 */
23982 : :
23983 : : case 1:
23984 : : return 11107; /* atomic_bit_test_and_resetsi_1 */
23985 : :
23986 : : case 2:
23987 : : if (!
23988 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23989 : : (TARGET_64BIT))
23990 : : return -1;
23991 : : return 11108; /* atomic_bit_test_and_resetdi_1 */
23992 : :
23993 : : default:
23994 : : return -1;
23995 : : }
23996 : :
23997 : : default:
23998 : : return -1;
23999 : : }
24000 : :
24001 : : case NOT:
24002 : : x11 = XEXP (x10, 0);
24003 : : if (GET_CODE (x11) != ZERO_EXTRACT)
24004 : : return -1;
24005 : : x13 = XEXP (x11, 1);
24006 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24007 : : return -1;
24008 : : x12 = XEXP (x11, 0);
24009 : : if (!rtx_equal_p (x12, operands[0]))
24010 : : return -1;
24011 : : x30 = XEXP (x11, 2);
24012 : : if (!rtx_equal_p (x30, operands[1]))
24013 : : return -1;
24014 : : switch (GET_MODE (x4))
24015 : : {
24016 : : case E_HImode:
24017 : : if (pattern1845 (x8,
24018 : : E_HImode) != 0)
24019 : : return -1;
24020 : : return 11103; /* atomic_bit_test_and_complementhi_1 */
24021 : :
24022 : : case E_SImode:
24023 : : if (pattern1845 (x8,
24024 : : E_SImode) != 0)
24025 : : return -1;
24026 : : return 11104; /* atomic_bit_test_and_complementsi_1 */
24027 : :
24028 : : case E_DImode:
24029 : : if (pattern1845 (x8,
24030 : : E_DImode) != 0
24031 : : || !
24032 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24033 : : (TARGET_64BIT))
24034 : : return -1;
24035 : : return 11105; /* atomic_bit_test_and_complementdi_1 */
24036 : :
24037 : : default:
24038 : : return -1;
24039 : : }
24040 : :
24041 : : default:
24042 : : return -1;
24043 : : }
24044 : :
24045 : : default:
24046 : : return -1;
24047 : : }
24048 : : }
24049 : :
24050 : : int
24051 : : recog_435 (rtx x1 ATTRIBUTE_UNUSED,
24052 : : rtx_insn *insn ATTRIBUTE_UNUSED,
24053 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
24054 : : {
24055 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24056 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24057 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24058 : : rtx x18, x19, x20;
24059 : : int res ATTRIBUTE_UNUSED;
24060 : : x2 = XVECEXP (x1, 0, 0);
24061 : : x3 = XEXP (x2, 1);
24062 : : if (GET_MODE (x3) != E_CCOmode)
24063 : : return -1;
24064 : : x4 = XEXP (x3, 0);
24065 : : if (GET_CODE (x4) != MULT)
24066 : : return -1;
24067 : : x5 = XEXP (x4, 0);
24068 : : if (GET_CODE (x5) != ZERO_EXTEND)
24069 : : return -1;
24070 : : x6 = XEXP (x4, 1);
24071 : : if (GET_CODE (x6) != ZERO_EXTEND)
24072 : : return -1;
24073 : : x7 = XEXP (x3, 1);
24074 : : if (GET_CODE (x7) != ZERO_EXTEND)
24075 : : return -1;
24076 : : x8 = XEXP (x7, 0);
24077 : : if (GET_CODE (x8) != MULT)
24078 : : return -1;
24079 : : x9 = XEXP (x2, 0);
24080 : : if (GET_CODE (x9) != REG
24081 : : || REGNO (x9) != 17
24082 : : || GET_MODE (x9) != E_CCOmode)
24083 : : return -1;
24084 : : x10 = XVECEXP (x1, 0, 1);
24085 : : if (GET_CODE (x10) != SET)
24086 : : return -1;
24087 : : x11 = XEXP (x10, 1);
24088 : : if (GET_CODE (x11) != MULT)
24089 : : return -1;
24090 : : x12 = XVECEXP (x1, 0, 2);
24091 : : if (GET_CODE (x12) != CLOBBER)
24092 : : return -1;
24093 : : x13 = XEXP (x5, 0);
24094 : : operands[1] = x13;
24095 : : x14 = XEXP (x6, 0);
24096 : : operands[2] = x14;
24097 : : x15 = XEXP (x10, 0);
24098 : : operands[0] = x15;
24099 : : x16 = XEXP (x12, 0);
24100 : : operands[3] = x16;
24101 : : x17 = XEXP (x8, 0);
24102 : : if (!rtx_equal_p (x17, operands[1]))
24103 : : return -1;
24104 : : x18 = XEXP (x8, 1);
24105 : : if (!rtx_equal_p (x18, operands[2]))
24106 : : return -1;
24107 : : x19 = XEXP (x11, 0);
24108 : : if (!rtx_equal_p (x19, operands[1]))
24109 : : return -1;
24110 : : x20 = XEXP (x11, 1);
24111 : : if (!rtx_equal_p (x20, operands[2]))
24112 : : return -1;
24113 : : switch (GET_MODE (x4))
24114 : : {
24115 : : case E_SImode:
24116 : : if (pattern1821 (x1,
24117 : : E_HImode,
24118 : : E_SImode) != 0
24119 : : || !
24120 : : #line 11173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24121 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
24122 : : return -1;
24123 : : return 638; /* *umulvhi4 */
24124 : :
24125 : : case E_DImode:
24126 : : if (pattern1821 (x1,
24127 : : E_SImode,
24128 : : E_DImode) != 0
24129 : : || !
24130 : : #line 11173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24131 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
24132 : : return -1;
24133 : : return 639; /* *umulvsi4 */
24134 : :
24135 : : case E_TImode:
24136 : : if (pattern1821 (x1,
24137 : : E_DImode,
24138 : : E_TImode) != 0
24139 : : || !(
24140 : : #line 11173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24141 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
24142 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24143 : : (TARGET_64BIT)))
24144 : : return -1;
24145 : : return 640; /* *umulvdi4 */
24146 : :
24147 : : default:
24148 : : return -1;
24149 : : }
24150 : : }
24151 : :
24152 : : int
24153 : : recog_439 (rtx x1 ATTRIBUTE_UNUSED,
24154 : : rtx_insn *insn ATTRIBUTE_UNUSED,
24155 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
24156 : : {
24157 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24158 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24159 : : rtx x10, x11, x12, x13, x14, x15;
24160 : : int res ATTRIBUTE_UNUSED;
24161 : : if (pattern36 (x1) != 0)
24162 : : return -1;
24163 : : x2 = XVECEXP (x1, 0, 0);
24164 : : x3 = XEXP (x2, 1);
24165 : : x4 = XEXP (x3, 1);
24166 : : x5 = XEXP (x4, 0);
24167 : : operands[5] = x5;
24168 : : x6 = XVECEXP (x1, 0, 1);
24169 : : x7 = XEXP (x6, 0);
24170 : : operands[6] = x7;
24171 : : x8 = XVECEXP (x1, 0, 2);
24172 : : x9 = XEXP (x8, 0);
24173 : : operands[3] = x9;
24174 : : if (!immediate_operand (operands[3], E_SImode))
24175 : : return -1;
24176 : : x10 = XVECEXP (x1, 0, 3);
24177 : : x11 = XEXP (x10, 0);
24178 : : operands[0] = x11;
24179 : : x12 = XVECEXP (x1, 0, 4);
24180 : : x13 = XEXP (x12, 0);
24181 : : operands[1] = x13;
24182 : : x14 = XVECEXP (x1, 0, 5);
24183 : : x15 = XEXP (x14, 0);
24184 : : operands[2] = x15;
24185 : : switch (GET_MODE (operands[4]))
24186 : : {
24187 : : case E_SImode:
24188 : : if (pattern1840 (
24189 : : E_SImode) != 0
24190 : : || !(
24191 : : #line 26434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24192 : : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24193 : : && ix86_check_no_addr_space (insn)) &&
24194 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24195 : : (Pmode == SImode)))
24196 : : return -1;
24197 : : return 1823; /* *cmpstrnqi_nz_1 */
24198 : :
24199 : : case E_DImode:
24200 : : if (pattern1840 (
24201 : : E_DImode) != 0
24202 : : || !(
24203 : : #line 26434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24204 : : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24205 : : && ix86_check_no_addr_space (insn)) &&
24206 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24207 : : (Pmode == DImode)))
24208 : : return -1;
24209 : : return 1824; /* *cmpstrnqi_nz_1 */
24210 : :
24211 : : default:
24212 : : return -1;
24213 : : }
24214 : : }
24215 : :
24216 : : int
24217 : : recog_442 (rtx x1 ATTRIBUTE_UNUSED,
24218 : : rtx_insn *insn ATTRIBUTE_UNUSED,
24219 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
24220 : : {
24221 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24222 : : rtx x2, x3, x4, x5, x6;
24223 : : int res ATTRIBUTE_UNUSED;
24224 : : x2 = XVECEXP (x1, 0, 0);
24225 : : if (GET_CODE (x2) != RETURN)
24226 : : return -1;
24227 : : x3 = XVECEXP (x1, 0, 1);
24228 : : if (GET_CODE (x3) != USE)
24229 : : return -1;
24230 : : x4 = XVECEXP (x1, 0, 2);
24231 : : if (GET_CODE (x4) != SET)
24232 : : return -1;
24233 : : x5 = XEXP (x4, 1);
24234 : : if (GET_CODE (x5) != REG
24235 : : || REGNO (x5) != 38
24236 : : || pattern720 (x4,
24237 : : E_DImode,
24238 : : 7) != 0)
24239 : : return -1;
24240 : : x6 = XEXP (x3, 0);
24241 : : operands[1] = x6;
24242 : : switch (GET_MODE (operands[1]))
24243 : : {
24244 : : case E_SImode:
24245 : : if (!symbol_operand (operands[1], E_SImode)
24246 : : || !(
24247 : : #line 30720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24248 : : (TARGET_SSE && TARGET_64BIT) &&
24249 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24250 : : (Pmode == SImode)))
24251 : : return -1;
24252 : : return 10213; /* *restore_multiple_and_returnsi */
24253 : :
24254 : : case E_DImode:
24255 : : if (!symbol_operand (operands[1], E_DImode)
24256 : : || !(
24257 : : #line 30720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24258 : : (TARGET_SSE && TARGET_64BIT) &&
24259 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24260 : : (Pmode == DImode)))
24261 : : return -1;
24262 : : return 10214; /* *restore_multiple_and_returndi */
24263 : :
24264 : : default:
24265 : : return -1;
24266 : : }
24267 : : }
24268 : :
24269 : : int
24270 : : recog (rtx x1 ATTRIBUTE_UNUSED,
24271 : : rtx_insn *insn ATTRIBUTE_UNUSED,
24272 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
24273 : : {
24274 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24275 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24276 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24277 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
24278 : : rtx x26, x27;
24279 : : int res ATTRIBUTE_UNUSED;
24280 : : recog_data.insn = NULL;
24281 : : switch (GET_CODE (x1))
24282 : : {
24283 : : case SET:
24284 : : return recog_443 (x1, insn, pnum_clobbers);
24285 : :
24286 : : case PARALLEL:
24287 : : switch (XVECLEN (x1, 0))
24288 : : {
24289 : : case 2:
24290 : : res = recog_428 (x1, insn, pnum_clobbers);
24291 : : if (res >= 0)
24292 : : return res;
24293 : : break;
24294 : :
24295 : : case 3:
24296 : : res = recog_436 (x1, insn, pnum_clobbers);
24297 : : if (res >= 0)
24298 : : return res;
24299 : : break;
24300 : :
24301 : : case 4:
24302 : : res = recog_437 (x1, insn, pnum_clobbers);
24303 : : if (res >= 0)
24304 : : return res;
24305 : : break;
24306 : :
24307 : : case 5:
24308 : : res = recog_438 (x1, insn, pnum_clobbers);
24309 : : if (res >= 0)
24310 : : return res;
24311 : : break;
24312 : :
24313 : : case 6:
24314 : : res = recog_439 (x1, insn, pnum_clobbers);
24315 : : if (res >= 0)
24316 : : return res;
24317 : : break;
24318 : :
24319 : : case 9:
24320 : : if (pattern37 (x1) == 0)
24321 : : {
24322 : : x2 = XVECEXP (x1, 0, 0);
24323 : : switch (GET_CODE (x2))
24324 : : {
24325 : : case SET:
24326 : : x3 = XEXP (x2, 1);
24327 : : if (GET_CODE (x3) == UNSPEC_VOLATILE
24328 : : && XVECLEN (x3, 0) == 1
24329 : : && XINT (x3, 1) == 40
24330 : : && GET_MODE (x3) == E_BLKmode)
24331 : : {
24332 : : x4 = XVECEXP (x3, 0, 0);
24333 : : if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
24334 : : {
24335 : : x5 = XEXP (x2, 0);
24336 : : operands[0] = x5;
24337 : : if (memory_operand (operands[0], E_BLKmode)
24338 : : &&
24339 : : #line 30007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24340 : : (TARGET_80387))
24341 : : return 1981; /* fnstenv */
24342 : : }
24343 : : }
24344 : : break;
24345 : :
24346 : : case UNSPEC_VOLATILE:
24347 : : if (XVECLEN (x2, 0) == 1
24348 : : && XINT (x2, 1) == 41)
24349 : : {
24350 : : x6 = XVECEXP (x2, 0, 0);
24351 : : operands[0] = x6;
24352 : : if (memory_operand (operands[0], E_BLKmode)
24353 : : &&
24354 : : #line 30025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24355 : : (TARGET_80387))
24356 : : return 1982; /* fldenv */
24357 : : }
24358 : : break;
24359 : :
24360 : : default:
24361 : : break;
24362 : : }
24363 : : }
24364 : : break;
24365 : :
24366 : : case 17:
24367 : : res = recog_440 (x1, insn, pnum_clobbers);
24368 : : if (res >= 0)
24369 : : return res;
24370 : : break;
24371 : :
24372 : : default:
24373 : : break;
24374 : : }
24375 : : if (XVECLEN (x1, 0) >= 1)
24376 : : {
24377 : : res = recog_441 (x1, insn, pnum_clobbers);
24378 : : if (res >= 0)
24379 : : return res;
24380 : : }
24381 : : operands[0] = x1;
24382 : : if (XVECLEN (operands[0], 0) >= 3
24383 : : && restore_multiple (operands[0], E_VOIDmode))
24384 : : {
24385 : : res = recog_442 (x1, insn, pnum_clobbers);
24386 : : if (res >= 0)
24387 : : return res;
24388 : : }
24389 : : if (XVECLEN (operands[0], 0) < 5
24390 : : || !restore_multiple (operands[0], E_VOIDmode))
24391 : : return -1;
24392 : : x2 = XVECEXP (x1, 0, 0);
24393 : : if (GET_CODE (x2) != RETURN)
24394 : : return -1;
24395 : : x7 = XVECEXP (x1, 0, 1);
24396 : : if (GET_CODE (x7) != USE)
24397 : : return -1;
24398 : : x8 = XVECEXP (x1, 0, 2);
24399 : : if (GET_CODE (x8) != SET)
24400 : : return -1;
24401 : : x9 = XEXP (x8, 1);
24402 : : if (GET_CODE (x9) != PLUS
24403 : : || GET_MODE (x9) != E_DImode)
24404 : : return -1;
24405 : : x10 = XEXP (x9, 0);
24406 : : if (GET_CODE (x10) != REG
24407 : : || REGNO (x10) != 6
24408 : : || GET_MODE (x10) != E_DImode)
24409 : : return -1;
24410 : : x11 = XEXP (x9, 1);
24411 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
24412 : : return -1;
24413 : : x12 = XEXP (x8, 0);
24414 : : if (GET_CODE (x12) != REG
24415 : : || REGNO (x12) != 7
24416 : : || GET_MODE (x12) != E_DImode)
24417 : : return -1;
24418 : : x13 = XVECEXP (x1, 0, 3);
24419 : : if (GET_CODE (x13) != SET)
24420 : : return -1;
24421 : : x14 = XEXP (x13, 1);
24422 : : if (GET_CODE (x14) != MEM
24423 : : || GET_MODE (x14) != E_DImode)
24424 : : return -1;
24425 : : x15 = XEXP (x14, 0);
24426 : : if (GET_CODE (x15) != REG
24427 : : || REGNO (x15) != 6
24428 : : || GET_MODE (x15) != E_DImode)
24429 : : return -1;
24430 : : x16 = XEXP (x13, 0);
24431 : : if (GET_CODE (x16) != REG
24432 : : || REGNO (x16) != 6
24433 : : || GET_MODE (x16) != E_DImode)
24434 : : return -1;
24435 : : x17 = XVECEXP (x1, 0, 4);
24436 : : if (GET_CODE (x17) != CLOBBER)
24437 : : return -1;
24438 : : x18 = XEXP (x17, 0);
24439 : : if (GET_CODE (x18) != MEM
24440 : : || GET_MODE (x18) != E_BLKmode)
24441 : : return -1;
24442 : : x19 = XEXP (x18, 0);
24443 : : if (GET_CODE (x19) != SCRATCH)
24444 : : return -1;
24445 : : x20 = XEXP (x7, 0);
24446 : : operands[1] = x20;
24447 : : switch (GET_MODE (operands[1]))
24448 : : {
24449 : : case E_SImode:
24450 : : if (!symbol_operand (operands[1], E_SImode)
24451 : : || !(
24452 : : #line 30733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24453 : : (TARGET_SSE && TARGET_64BIT) &&
24454 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24455 : : (Pmode == SImode)))
24456 : : return -1;
24457 : : return 10215; /* *restore_multiple_leave_returnsi */
24458 : :
24459 : : case E_DImode:
24460 : : if (!symbol_operand (operands[1], E_DImode)
24461 : : || !(
24462 : : #line 30733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24463 : : (TARGET_SSE && TARGET_64BIT) &&
24464 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24465 : : (Pmode == DImode)))
24466 : : return -1;
24467 : : return 10216; /* *restore_multiple_leave_returndi */
24468 : :
24469 : : default:
24470 : : return -1;
24471 : : }
24472 : :
24473 : : case CALL:
24474 : : x21 = XEXP (x1, 0);
24475 : : if (GET_CODE (x21) != MEM
24476 : : || GET_MODE (x21) != E_QImode)
24477 : : return -1;
24478 : : x22 = XEXP (x21, 0);
24479 : : operands[0] = x22;
24480 : : x23 = XEXP (x1, 1);
24481 : : operands[1] = x23;
24482 : : if (call_insn_operand (operands[0], E_SImode)
24483 : : && (
24484 : : #line 20437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24485 : : (!SIBLING_CALL_P (insn)) &&
24486 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24487 : : (word_mode == SImode)))
24488 : : return 1496; /* *call */
24489 : : if (call_insn_operand (operands[0], E_DImode)
24490 : : && (
24491 : : #line 20437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24492 : : (!SIBLING_CALL_P (insn)) &&
24493 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24494 : : (word_mode == DImode)))
24495 : : return 1497; /* *call */
24496 : : switch (GET_CODE (x22))
24497 : : {
24498 : : case ZERO_EXTEND:
24499 : : if (GET_MODE (x22) == E_DImode)
24500 : : {
24501 : : x24 = XEXP (x22, 0);
24502 : : operands[0] = x24;
24503 : : if (GOT_memory_operand (operands[0], E_SImode))
24504 : : {
24505 : : operands[1] = x23;
24506 : : if (
24507 : : #line 20446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24508 : : (TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER))
24509 : : return 1498; /* *call_got_x32 */
24510 : : }
24511 : : }
24512 : : break;
24513 : :
24514 : : case MEM:
24515 : : if (GET_MODE (x22) == E_SImode)
24516 : : {
24517 : : x24 = XEXP (x22, 0);
24518 : : if (GET_CODE (x24) == PLUS
24519 : : && GET_MODE (x24) == E_SImode)
24520 : : {
24521 : : x25 = XEXP (x24, 0);
24522 : : operands[0] = x25;
24523 : : if (register_no_elim_operand (operands[0], E_SImode))
24524 : : {
24525 : : x26 = XEXP (x24, 1);
24526 : : operands[1] = x26;
24527 : : if (GOT32_symbol_operand (operands[1], E_SImode))
24528 : : {
24529 : : operands[2] = x23;
24530 : : if (
24531 : : #line 20461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24532 : : (!TARGET_MACHO
24533 : : && !TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER
24534 : : && SIBLING_CALL_P (insn)))
24535 : : return 1499; /* *sibcall_GOT_32 */
24536 : : }
24537 : : }
24538 : : }
24539 : : }
24540 : : break;
24541 : :
24542 : : default:
24543 : : break;
24544 : : }
24545 : : operands[0] = x22;
24546 : : operands[1] = x23;
24547 : : if (sibcall_insn_operand (operands[0], E_SImode)
24548 : : && (
24549 : : #line 20474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24550 : : (SIBLING_CALL_P (insn)) &&
24551 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24552 : : (word_mode == SImode)))
24553 : : return 1500; /* *sibcall */
24554 : : if (!sibcall_insn_operand (operands[0], E_DImode)
24555 : : || !(
24556 : : #line 20474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24557 : : (SIBLING_CALL_P (insn)) &&
24558 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24559 : : (word_mode == DImode)))
24560 : : return -1;
24561 : : return 1501; /* *sibcall */
24562 : :
24563 : : case UNSPEC_VOLATILE:
24564 : : return recog_444 (x1, insn, pnum_clobbers);
24565 : :
24566 : : case SIMPLE_RETURN:
24567 : : if (!
24568 : : #line 20935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24569 : : (reload_completed))
24570 : : return -1;
24571 : : return 1521; /* simple_return_internal */
24572 : :
24573 : : case CONST_INT:
24574 : : if (XWINT (x1, 0) != 0L)
24575 : : return -1;
24576 : : return 1527; /* nop */
24577 : :
24578 : : case EH_RETURN:
24579 : : return 1535; /* eh_return_internal */
24580 : :
24581 : : case TRAP_IF:
24582 : : x21 = XEXP (x1, 0);
24583 : : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24584 : : return -1;
24585 : : x23 = XEXP (x1, 1);
24586 : : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
24587 : : return -1;
24588 : : return 1939; /* trap */
24589 : :
24590 : : case PREFETCH:
24591 : : x23 = XEXP (x1, 1);
24592 : : if (GET_CODE (x23) != CONST_INT)
24593 : : return -1;
24594 : : x21 = XEXP (x1, 0);
24595 : : operands[0] = x21;
24596 : : if (!address_operand (operands[0], E_VOIDmode))
24597 : : return -1;
24598 : : switch (XWINT (x23, 0))
24599 : : {
24600 : : case 0L:
24601 : : x27 = XEXP (x1, 2);
24602 : : operands[1] = x27;
24603 : : if (const_int_operand (operands[1], E_SImode)
24604 : : &&
24605 : : #line 29610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24606 : : (TARGET_PREFETCH_SSE))
24607 : : return 1941; /* *prefetch_sse */
24608 : : break;
24609 : :
24610 : : case 2L:
24611 : : x27 = XEXP (x1, 2);
24612 : : if (x27 == const_int_rtx[MAX_SAVED_CONST_INT + 1]
24613 : : &&
24614 : : #line 29667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24615 : : (TARGET_MOVRS))
24616 : : return 1944; /* *prefetch_rst2 */
24617 : : break;
24618 : :
24619 : : default:
24620 : : break;
24621 : : }
24622 : : x27 = XEXP (x1, 2);
24623 : : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
24624 : : return -1;
24625 : : operands[1] = x23;
24626 : : if (!const_int_operand (operands[1], E_SImode)
24627 : : || !
24628 : : #line 29631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24629 : : (TARGET_3DNOW || TARGET_PRFCHW))
24630 : : return -1;
24631 : : return 1942; /* *prefetch_3dnow */
24632 : :
24633 : : default:
24634 : : return -1;
24635 : : }
24636 : : }
24637 : :
24638 : : rtx_insn *
24639 : : split_9 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24640 : : {
24641 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24642 : : rtx x2, x3, x4, x5;
24643 : : rtx_insn *res ATTRIBUTE_UNUSED;
24644 : : x2 = XEXP (x1, 0);
24645 : : operands[0] = x2;
24646 : : x3 = XEXP (x1, 1);
24647 : : x4 = XEXP (x3, 0);
24648 : : operands[1] = x4;
24649 : : switch (GET_CODE (operands[1]))
24650 : : {
24651 : : case CONST_INT:
24652 : : switch (pattern577 (x3))
24653 : : {
24654 : : case 0:
24655 : : if (!
24656 : : #line 18465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24657 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24658 : : == GET_MODE_BITSIZE (QImode) - 1))
24659 : : return NULL;
24660 : : return gen_split_692 (insn, operands);
24661 : :
24662 : : case 1:
24663 : : if (!
24664 : : #line 18465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24665 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24666 : : == GET_MODE_BITSIZE (HImode) - 1))
24667 : : return NULL;
24668 : : return gen_split_694 (insn, operands);
24669 : :
24670 : : case 2:
24671 : : if (!
24672 : : #line 18465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24673 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24674 : : == GET_MODE_BITSIZE (SImode) - 1))
24675 : : return NULL;
24676 : : return gen_split_696 (insn, operands);
24677 : :
24678 : : case 3:
24679 : : if (!(
24680 : : #line 18465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24681 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24682 : : == GET_MODE_BITSIZE (DImode) - 1) &&
24683 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24684 : : (TARGET_64BIT)))
24685 : : return NULL;
24686 : : return gen_split_698 (insn, operands);
24687 : :
24688 : : case 4:
24689 : : if (!
24690 : : #line 18549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24691 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24692 : : return NULL;
24693 : : return gen_split_724 (insn, operands);
24694 : :
24695 : : case 5:
24696 : : if (!
24697 : : #line 18549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24698 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24699 : : return NULL;
24700 : : return gen_split_726 (insn, operands);
24701 : :
24702 : : case 6:
24703 : : if (!
24704 : : #line 18549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24705 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24706 : : return NULL;
24707 : : return gen_split_728 (insn, operands);
24708 : :
24709 : : case 7:
24710 : : if (!(
24711 : : #line 18549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24712 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24713 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24714 : : (TARGET_64BIT)))
24715 : : return NULL;
24716 : : return gen_split_730 (insn, operands);
24717 : :
24718 : : case 8:
24719 : : if (!
24720 : : #line 18618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24721 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24722 : : return NULL;
24723 : : return gen_split_756 (insn, operands);
24724 : :
24725 : : case 9:
24726 : : if (!
24727 : : #line 18618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24728 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24729 : : return NULL;
24730 : : return gen_split_758 (insn, operands);
24731 : :
24732 : : case 10:
24733 : : if (!
24734 : : #line 18618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24735 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24736 : : return NULL;
24737 : : return gen_split_760 (insn, operands);
24738 : :
24739 : : case 11:
24740 : : if (!(
24741 : : #line 18618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24742 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24743 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24744 : : (TARGET_64BIT)))
24745 : : return NULL;
24746 : : return gen_split_762 (insn, operands);
24747 : :
24748 : : case 12:
24749 : : if (!
24750 : : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24751 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24752 : : == GET_MODE_BITSIZE (QImode) - 1))
24753 : : return NULL;
24754 : : return gen_split_708 (insn, operands);
24755 : :
24756 : : case 13:
24757 : : if (!
24758 : : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24759 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24760 : : == GET_MODE_BITSIZE (HImode) - 1))
24761 : : return NULL;
24762 : : return gen_split_710 (insn, operands);
24763 : :
24764 : : case 14:
24765 : : if (!
24766 : : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24767 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24768 : : == GET_MODE_BITSIZE (SImode) - 1))
24769 : : return NULL;
24770 : : return gen_split_712 (insn, operands);
24771 : :
24772 : : case 15:
24773 : : if (!(
24774 : : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24775 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24776 : : == GET_MODE_BITSIZE (DImode) - 1) &&
24777 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24778 : : (TARGET_64BIT)))
24779 : : return NULL;
24780 : : return gen_split_714 (insn, operands);
24781 : :
24782 : : case 16:
24783 : : if (!
24784 : : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24785 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24786 : : return NULL;
24787 : : return gen_split_740 (insn, operands);
24788 : :
24789 : : case 17:
24790 : : if (!
24791 : : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24792 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24793 : : return NULL;
24794 : : return gen_split_742 (insn, operands);
24795 : :
24796 : : case 18:
24797 : : if (!
24798 : : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24799 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24800 : : return NULL;
24801 : : return gen_split_744 (insn, operands);
24802 : :
24803 : : case 19:
24804 : : if (!(
24805 : : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24806 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24807 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24808 : : (TARGET_64BIT)))
24809 : : return NULL;
24810 : : return gen_split_746 (insn, operands);
24811 : :
24812 : : case 20:
24813 : : if (!
24814 : : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24815 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24816 : : return NULL;
24817 : : return gen_split_772 (insn, operands);
24818 : :
24819 : : case 21:
24820 : : if (!
24821 : : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24822 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24823 : : return NULL;
24824 : : return gen_split_774 (insn, operands);
24825 : :
24826 : : case 22:
24827 : : if (!
24828 : : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24829 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24830 : : return NULL;
24831 : : return gen_split_776 (insn, operands);
24832 : :
24833 : : case 23:
24834 : : if (!(
24835 : : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24836 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24837 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24838 : : (TARGET_64BIT)))
24839 : : return NULL;
24840 : : return gen_split_778 (insn, operands);
24841 : :
24842 : : default:
24843 : : return NULL;
24844 : : }
24845 : :
24846 : : case REG:
24847 : : case SUBREG:
24848 : : case MEM:
24849 : : x5 = XEXP (x3, 1);
24850 : : if (GET_CODE (x5) != CONST_INT)
24851 : : return NULL;
24852 : : switch (XWINT (x5, 0))
24853 : : {
24854 : : case 32L:
24855 : : if (register_operand (operands[0], E_DImode)
24856 : : && GET_MODE (x3) == E_DImode
24857 : : && register_operand (operands[1], E_DImode)
24858 : : && (
24859 : : #line 18737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24860 : : (!TARGET_64BIT) &&
24861 : : #line 18739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24862 : : ( reload_completed)))
24863 : : return gen_split_784 (insn, operands);
24864 : : break;
24865 : :
24866 : : case 64L:
24867 : : if (register_operand (operands[0], E_TImode)
24868 : : && GET_MODE (x3) == E_TImode
24869 : : && register_operand (operands[1], E_TImode)
24870 : : && (
24871 : : #line 18755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24872 : : (TARGET_64BIT) &&
24873 : : #line 18757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24874 : : ( reload_completed)))
24875 : : return gen_split_786 (insn, operands);
24876 : : break;
24877 : :
24878 : : default:
24879 : : break;
24880 : : }
24881 : : operands[2] = x5;
24882 : : if (!const_int_operand (operands[2], E_QImode))
24883 : : return NULL;
24884 : : switch (pattern132 (x3))
24885 : : {
24886 : : case 0:
24887 : : if (!
24888 : : #line 18846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24889 : : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)
24890 : : && !TARGET_APX_NDD))
24891 : : return NULL;
24892 : : return gen_split_790 (insn, operands);
24893 : :
24894 : : case 1:
24895 : : if (!(
24896 : : #line 18846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24897 : : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)
24898 : : && !TARGET_APX_NDD) &&
24899 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24900 : : (TARGET_64BIT)))
24901 : : return NULL;
24902 : : return gen_split_791 (insn, operands);
24903 : :
24904 : : default:
24905 : : return NULL;
24906 : : }
24907 : :
24908 : : default:
24909 : : return NULL;
24910 : : }
24911 : : }
24912 : :
24913 : : rtx_insn *
24914 : : split_11 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24915 : : {
24916 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24917 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24918 : : rtx x10, x11;
24919 : : rtx_insn *res ATTRIBUTE_UNUSED;
24920 : : x2 = XEXP (x1, 1);
24921 : : x3 = XEXP (x2, 0);
24922 : : switch (GET_CODE (x3))
24923 : : {
24924 : : case NE:
24925 : : case EQ:
24926 : : operands[5] = x3;
24927 : : if (bt_comparison_operator (operands[5], E_VOIDmode))
24928 : : {
24929 : : res = split_3 (x1, insn);
24930 : : if (res != NULL_RTX)
24931 : : return res;
24932 : : }
24933 : : x4 = XEXP (x3, 0);
24934 : : if (!ix86_comparison_operator (x4, E_VOIDmode))
24935 : : return NULL;
24936 : : operands[0] = x4;
24937 : : x5 = XEXP (x4, 0);
24938 : : if (GET_CODE (x5) != REG
24939 : : || REGNO (x5) != 17)
24940 : : return NULL;
24941 : : x6 = XEXP (x4, 1);
24942 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24943 : : return NULL;
24944 : : x7 = XEXP (x3, 1);
24945 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24946 : : return NULL;
24947 : : x8 = XEXP (x2, 1);
24948 : : if (GET_CODE (x8) != LABEL_REF)
24949 : : return NULL;
24950 : : x9 = XEXP (x2, 2);
24951 : : if (GET_CODE (x9) != PC)
24952 : : return NULL;
24953 : : x10 = XEXP (x1, 0);
24954 : : if (GET_CODE (x10) != PC)
24955 : : return NULL;
24956 : : x11 = XEXP (x8, 0);
24957 : : operands[1] = x11;
24958 : : switch (GET_CODE (x3))
24959 : : {
24960 : : case NE:
24961 : : return gen_split_872 (insn, operands);
24962 : :
24963 : : case EQ:
24964 : : return gen_split_873 (insn, operands);
24965 : :
24966 : : default:
24967 : : return NULL;
24968 : : }
24969 : :
24970 : : case GEU:
24971 : : case LTU:
24972 : : operands[1] = x3;
24973 : : if (!add_comparison_operator (operands[1], E_VOIDmode))
24974 : : return NULL;
24975 : : x4 = XEXP (x3, 0);
24976 : : if (GET_CODE (x4) != NOT)
24977 : : return NULL;
24978 : : x8 = XEXP (x2, 1);
24979 : : if (GET_CODE (x8) != LABEL_REF)
24980 : : return NULL;
24981 : : x9 = XEXP (x2, 2);
24982 : : if (GET_CODE (x9) != PC)
24983 : : return NULL;
24984 : : x10 = XEXP (x1, 0);
24985 : : if (GET_CODE (x10) != PC)
24986 : : return NULL;
24987 : : x5 = XEXP (x4, 0);
24988 : : operands[2] = x5;
24989 : : x7 = XEXP (x3, 1);
24990 : : operands[3] = x7;
24991 : : x11 = XEXP (x8, 0);
24992 : : operands[0] = x11;
24993 : : switch (GET_MODE (x4))
24994 : : {
24995 : : case E_QImode:
24996 : : if (!register_operand (operands[2], E_QImode)
24997 : : || !nonimmediate_operand (operands[3], E_QImode))
24998 : : return NULL;
24999 : : return gen_split_867 (insn, operands);
25000 : :
25001 : : case E_HImode:
25002 : : if (!register_operand (operands[2], E_HImode)
25003 : : || !nonimmediate_operand (operands[3], E_HImode))
25004 : : return NULL;
25005 : : return gen_split_868 (insn, operands);
25006 : :
25007 : : case E_SImode:
25008 : : if (!register_operand (operands[2], E_SImode)
25009 : : || !nonimmediate_operand (operands[3], E_SImode))
25010 : : return NULL;
25011 : : return gen_split_869 (insn, operands);
25012 : :
25013 : : case E_DImode:
25014 : : if (!register_operand (operands[2], E_DImode)
25015 : : || !nonimmediate_operand (operands[3], E_DImode)
25016 : : || !
25017 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25018 : : (TARGET_64BIT))
25019 : : return NULL;
25020 : : return gen_split_870 (insn, operands);
25021 : :
25022 : : default:
25023 : : return NULL;
25024 : : }
25025 : :
25026 : : case GTU:
25027 : : case LEU:
25028 : : operands[1] = x3;
25029 : : if (!shr_comparison_operator (operands[1], E_VOIDmode))
25030 : : return NULL;
25031 : : x8 = XEXP (x2, 1);
25032 : : if (GET_CODE (x8) != LABEL_REF)
25033 : : return NULL;
25034 : : x9 = XEXP (x2, 2);
25035 : : if (GET_CODE (x9) != PC)
25036 : : return NULL;
25037 : : x10 = XEXP (x1, 0);
25038 : : if (GET_CODE (x10) != PC)
25039 : : return NULL;
25040 : : x4 = XEXP (x3, 0);
25041 : : operands[2] = x4;
25042 : : if (!register_operand (operands[2], E_DImode))
25043 : : return NULL;
25044 : : x7 = XEXP (x3, 1);
25045 : : operands[3] = x7;
25046 : : if (!const_int_operand (operands[3], E_VOIDmode))
25047 : : return NULL;
25048 : : x11 = XEXP (x8, 0);
25049 : : operands[0] = x11;
25050 : : if (!
25051 : : #line 20039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25052 : : (TARGET_64BIT
25053 : : && IN_RANGE (exact_log2 (UINTVAL (operands[3]) + 1), 32, 63)))
25054 : : return NULL;
25055 : : return gen_split_871 (insn, operands);
25056 : :
25057 : : default:
25058 : : return NULL;
25059 : : }
25060 : : }
25061 : :
25062 : : rtx_insn *
25063 : : split_12 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25064 : : {
25065 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25066 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25067 : : rtx x10, x11;
25068 : : rtx_insn *res ATTRIBUTE_UNUSED;
25069 : : x2 = XEXP (x1, 0);
25070 : : operands[0] = x2;
25071 : : x3 = XEXP (x1, 1);
25072 : : x4 = XEXP (x3, 0);
25073 : : operands[2] = x4;
25074 : : x5 = XEXP (x3, 1);
25075 : : switch (GET_CODE (x5))
25076 : : {
25077 : : case XOR:
25078 : : x6 = XEXP (x5, 1);
25079 : : if (GET_CODE (x6) != CONST_INT)
25080 : : return NULL;
25081 : : x7 = XEXP (x5, 0);
25082 : : switch (GET_CODE (x7))
25083 : : {
25084 : : case MINUS:
25085 : : if (GET_MODE (x7) != E_SImode)
25086 : : return NULL;
25087 : : x8 = XEXP (x7, 0);
25088 : : if (GET_CODE (x8) != CONST_INT
25089 : : || !register_operand (operands[0], E_SImode)
25090 : : || GET_MODE (x3) != E_SImode
25091 : : || !const_int_operand (operands[2], E_SImode)
25092 : : || GET_MODE (x5) != E_SImode)
25093 : : return NULL;
25094 : : x9 = XEXP (x7, 1);
25095 : : if (GET_MODE (x9) != E_SImode)
25096 : : return NULL;
25097 : : switch (XWINT (x8, 0))
25098 : : {
25099 : : case 63L:
25100 : : if (GET_CODE (x9) != SUBREG
25101 : : || maybe_ne (SUBREG_BYTE (x9), 0))
25102 : : return NULL;
25103 : : x10 = XEXP (x9, 0);
25104 : : if (GET_CODE (x10) != CLZ
25105 : : || GET_MODE (x10) != E_DImode
25106 : : || XWINT (x6, 0) != 63L)
25107 : : return NULL;
25108 : : x11 = XEXP (x10, 0);
25109 : : operands[1] = x11;
25110 : : if (!nonimmediate_operand (operands[1], E_DImode)
25111 : : || !
25112 : : #line 21669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25113 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
25114 : : return NULL;
25115 : : return gen_split_888 (insn, operands);
25116 : :
25117 : : case 31L:
25118 : : if (GET_CODE (x9) != CLZ
25119 : : || XWINT (x6, 0) != 31L)
25120 : : return NULL;
25121 : : x10 = XEXP (x9, 0);
25122 : : operands[1] = x10;
25123 : : if (!nonimmediate_operand (operands[1], E_SImode)
25124 : : || !
25125 : : #line 21694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25126 : : (!TARGET_LZCNT && ix86_pre_reload_split ()))
25127 : : return NULL;
25128 : : return gen_split_889 (insn, operands);
25129 : :
25130 : : default:
25131 : : return NULL;
25132 : : }
25133 : :
25134 : : case SIGN_EXTEND:
25135 : : if (pattern833 (x3) != 0
25136 : : || !
25137 : : #line 21720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25138 : : (!TARGET_LZCNT
25139 : : && TARGET_64BIT
25140 : : && ix86_pre_reload_split ()
25141 : : && ((unsigned HOST_WIDE_INT)
25142 : : trunc_int_for_mode (UINTVAL (operands[2]) - 63, SImode)
25143 : : == UINTVAL (operands[2]) - 63)))
25144 : : return NULL;
25145 : : return gen_split_890 (insn, operands);
25146 : :
25147 : : case ZERO_EXTEND:
25148 : : if (pattern833 (x3) != 0
25149 : : || !
25150 : : #line 21720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25151 : : (!TARGET_LZCNT
25152 : : && TARGET_64BIT
25153 : : && ix86_pre_reload_split ()
25154 : : && ((unsigned HOST_WIDE_INT)
25155 : : trunc_int_for_mode (UINTVAL (operands[2]) - 63, SImode)
25156 : : == UINTVAL (operands[2]) - 63)))
25157 : : return NULL;
25158 : : return gen_split_891 (insn, operands);
25159 : :
25160 : : default:
25161 : : return NULL;
25162 : : }
25163 : :
25164 : : case SIGN_EXTEND:
25165 : : if (pattern578 (x3) != 0
25166 : : || !
25167 : : #line 21749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25168 : : (!TARGET_LZCNT
25169 : : && TARGET_64BIT
25170 : : && ix86_pre_reload_split ()
25171 : : && ((unsigned HOST_WIDE_INT)
25172 : : trunc_int_for_mode (UINTVAL (operands[2]) - 31, SImode)
25173 : : == UINTVAL (operands[2]) - 31)))
25174 : : return NULL;
25175 : : return gen_split_892 (insn, operands);
25176 : :
25177 : : case ZERO_EXTEND:
25178 : : if (pattern578 (x3) != 0
25179 : : || !
25180 : : #line 21749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25181 : : (!TARGET_LZCNT
25182 : : && TARGET_64BIT
25183 : : && ix86_pre_reload_split ()
25184 : : && ((unsigned HOST_WIDE_INT)
25185 : : trunc_int_for_mode (UINTVAL (operands[2]) - 31, SImode)
25186 : : == UINTVAL (operands[2]) - 31)))
25187 : : return NULL;
25188 : : return gen_split_893 (insn, operands);
25189 : :
25190 : : default:
25191 : : return NULL;
25192 : : }
25193 : : }
25194 : :
25195 : : rtx_insn *
25196 : : split_18 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25197 : : {
25198 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25199 : : rtx x2, x3, x4, x5, x6, x7;
25200 : : rtx_insn *res ATTRIBUTE_UNUSED;
25201 : : x2 = XVECEXP (x1, 0, 0);
25202 : : x3 = XEXP (x2, 1);
25203 : : x4 = XEXP (x3, 1);
25204 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
25205 : : return NULL;
25206 : : x5 = XEXP (x3, 0);
25207 : : operands[1] = x5;
25208 : : x6 = XEXP (x2, 0);
25209 : : if (GET_CODE (x6) == SUBREG)
25210 : : {
25211 : : switch (pattern1317 (x2))
25212 : : {
25213 : : case 0:
25214 : : if ((
25215 : : #line 19634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25216 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25217 : : #line 19636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25218 : : ( 1)))
25219 : : return gen_split_842 (insn, operands);
25220 : : break;
25221 : :
25222 : : case 1:
25223 : : if (((
25224 : : #line 19634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25225 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25226 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25227 : : (TARGET_64BIT)) &&
25228 : : #line 19636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25229 : : ( 1)))
25230 : : return gen_split_843 (insn, operands);
25231 : : break;
25232 : :
25233 : : default:
25234 : : break;
25235 : : }
25236 : : }
25237 : : x7 = XEXP (x3, 2);
25238 : : if (GET_CODE (x7) != SUBREG)
25239 : : return NULL;
25240 : : switch (pattern1319 (x2))
25241 : : {
25242 : : case 0:
25243 : : if (!(
25244 : : #line 19715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25245 : : (TARGET_USE_BT
25246 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25247 : : == GET_MODE_BITSIZE (SImode)-1
25248 : : && ix86_pre_reload_split ()) &&
25249 : : #line 19720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25250 : : ( 1)))
25251 : : return NULL;
25252 : : return gen_split_850 (insn, operands);
25253 : :
25254 : : case 1:
25255 : : if (!((
25256 : : #line 19715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25257 : : (TARGET_USE_BT
25258 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25259 : : == GET_MODE_BITSIZE (DImode)-1
25260 : : && ix86_pre_reload_split ()) &&
25261 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25262 : : (TARGET_64BIT)) &&
25263 : : #line 19720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25264 : : ( 1)))
25265 : : return NULL;
25266 : : return gen_split_851 (insn, operands);
25267 : :
25268 : : default:
25269 : : return NULL;
25270 : : }
25271 : : }
25272 : :
25273 : : rtx_insn *
25274 : : split_23 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25275 : : {
25276 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25277 : : rtx x2, x3, x4;
25278 : : rtx_insn *res ATTRIBUTE_UNUSED;
25279 : : x2 = XVECEXP (x1, 0, 0);
25280 : : x3 = XEXP (x2, 0);
25281 : : switch (GET_CODE (x3))
25282 : : {
25283 : : case REG:
25284 : : case SUBREG:
25285 : : operands[0] = x3;
25286 : : switch (GET_MODE (operands[0]))
25287 : : {
25288 : : case E_DImode:
25289 : : x4 = XEXP (x2, 1);
25290 : : if (GET_MODE (x4) != E_DImode)
25291 : : return NULL;
25292 : : if (register_operand (operands[0], E_DImode))
25293 : : {
25294 : : if (nonmemory_operand (operands[1], E_DImode)
25295 : : && nonmemory_operand (operands[2], E_QImode)
25296 : : && (
25297 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25298 : : (epilogue_completed) &&
25299 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25300 : : (!TARGET_64BIT)))
25301 : : return gen_split_562 (insn, operands);
25302 : : if (nonimmediate_operand (operands[1], E_DImode)
25303 : : && register_operand (operands[2], E_QImode)
25304 : : && (
25305 : : #line 16284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25306 : : (TARGET_BMI2 && reload_completed) &&
25307 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25308 : : (TARGET_64BIT)))
25309 : : return gen_split_579 (insn, operands);
25310 : : }
25311 : : if (!general_reg_operand (operands[0], E_DImode)
25312 : : || !index_reg_operand (operands[1], E_DImode)
25313 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
25314 : : || !(
25315 : : #line 16579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25316 : : (reload_completed
25317 : : && REGNO (operands[0]) != REGNO (operands[1])) &&
25318 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25319 : : (TARGET_64BIT)))
25320 : : return NULL;
25321 : : return gen_split_586 (insn, operands);
25322 : :
25323 : : case E_TImode:
25324 : : if (!register_operand (operands[0], E_TImode))
25325 : : return NULL;
25326 : : x4 = XEXP (x2, 1);
25327 : : if (GET_MODE (x4) != E_TImode
25328 : : || !nonmemory_operand (operands[1], E_TImode)
25329 : : || !nonmemory_operand (operands[2], E_QImode)
25330 : : || !(
25331 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25332 : : (epilogue_completed) &&
25333 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25334 : : (TARGET_64BIT)))
25335 : : return NULL;
25336 : : return gen_split_563 (insn, operands);
25337 : :
25338 : : default:
25339 : : return NULL;
25340 : : }
25341 : :
25342 : : case STRICT_LOW_PART:
25343 : : switch (pattern1337 (x2))
25344 : : {
25345 : : case 0:
25346 : : if (!(
25347 : : #line 16529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25348 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25349 : : #line 16548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25350 : : ( reload_completed
25351 : : && !(rtx_equal_p (operands[0], operands[1])))))
25352 : : return NULL;
25353 : : return gen_split_581 (insn, operands);
25354 : :
25355 : : case 1:
25356 : : if (!(
25357 : : #line 16529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25358 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25359 : : #line 16548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25360 : : ( reload_completed
25361 : : && !(rtx_equal_p (operands[0], operands[1])))))
25362 : : return NULL;
25363 : : return gen_split_582 (insn, operands);
25364 : :
25365 : : default:
25366 : : return NULL;
25367 : : }
25368 : :
25369 : : default:
25370 : : return NULL;
25371 : : }
25372 : : }
25373 : :
25374 : : rtx_insn *
25375 : : split_26 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25376 : : {
25377 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25378 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25379 : : rtx x10, x11, x12, x13;
25380 : : rtx_insn *res ATTRIBUTE_UNUSED;
25381 : : x2 = XVECEXP (x1, 0, 1);
25382 : : if (pattern235 (x2,
25383 : : E_CCmode,
25384 : : 17) != 0)
25385 : : return NULL;
25386 : : x3 = XVECEXP (x1, 0, 0);
25387 : : x4 = XEXP (x3, 1);
25388 : : x5 = XEXP (x4, 0);
25389 : : switch (GET_CODE (x5))
25390 : : {
25391 : : case CONST_INT:
25392 : : case CONST_WIDE_INT:
25393 : : case CONST_POLY_INT:
25394 : : case CONST_FIXED:
25395 : : case CONST_DOUBLE:
25396 : : case CONST_VECTOR:
25397 : : case CONST:
25398 : : case REG:
25399 : : case SUBREG:
25400 : : case MEM:
25401 : : case LABEL_REF:
25402 : : case SYMBOL_REF:
25403 : : case HIGH:
25404 : : operands[1] = x5;
25405 : : switch (pattern1181 (x3))
25406 : : {
25407 : : case 0:
25408 : : if ((
25409 : : #line 13041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25410 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25411 : : #line 13045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25412 : : ( reload_completed
25413 : : && !(rtx_equal_p (operands[0], operands[1])
25414 : : || rtx_equal_p (operands[0], operands[2])))))
25415 : : return gen_split_294 (insn, operands);
25416 : : break;
25417 : :
25418 : : case 1:
25419 : : if ((
25420 : : #line 13041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25421 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25422 : : #line 13045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25423 : : ( reload_completed
25424 : : && !(rtx_equal_p (operands[0], operands[1])
25425 : : || rtx_equal_p (operands[0], operands[2])))))
25426 : : return gen_split_297 (insn, operands);
25427 : : break;
25428 : :
25429 : : case 2:
25430 : : if (nonimmediate_operand (operands[0], E_DImode)
25431 : : && nonimmediate_operand (operands[1], E_DImode))
25432 : : {
25433 : : if (x86_64_hilo_general_operand (operands[2], E_DImode)
25434 : : && ((
25435 : : #line 13805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25436 : : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
25437 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25438 : : (!TARGET_64BIT)) &&
25439 : : #line 13807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25440 : : ( reload_completed)))
25441 : : return gen_split_393 (insn, operands);
25442 : : if (const_int_operand (operands[2], E_DImode)
25443 : : && (
25444 : : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25445 : : (TARGET_64BIT && TARGET_USE_BT
25446 : : && ix86_binary_operator_ok (IOR, DImode, operands)
25447 : : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)) &&
25448 : : #line 13915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25449 : : ( reload_completed)))
25450 : : return gen_split_400 (insn, operands);
25451 : : }
25452 : : if (const_int_operand (operands[2], E_DImode))
25453 : : {
25454 : : if (QIreg_operand (operands[0], E_DImode)
25455 : : && register_operand (operands[1], E_DImode)
25456 : : && (
25457 : : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25458 : : (reload_completed
25459 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25460 : : && !(INTVAL (operands[2]) & ~(255 << 8))
25461 : : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))) &&
25462 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25463 : : (TARGET_64BIT)))
25464 : : return gen_split_428 (insn, operands);
25465 : : if (any_QIreg_operand (operands[0], E_DImode)
25466 : : && general_operand (operands[1], E_DImode)
25467 : : && (
25468 : : #line 14284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25469 : : (reload_completed
25470 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25471 : : && !(INTVAL (operands[2]) & ~255)
25472 : : && (INTVAL (operands[2]) & 128)
25473 : : && !(TARGET_APX_NDD
25474 : : && !rtx_equal_p (operands[0], operands[1]))) &&
25475 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25476 : : (TARGET_64BIT)))
25477 : : return gen_split_434 (insn, operands);
25478 : : }
25479 : : break;
25480 : :
25481 : : case 3:
25482 : : if (((
25483 : : #line 13805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25484 : : (ix86_binary_operator_ok (IOR, TImode, operands, TARGET_APX_NDD)) &&
25485 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25486 : : (TARGET_64BIT)) &&
25487 : : #line 13807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25488 : : ( reload_completed)))
25489 : : return gen_split_395 (insn, operands);
25490 : : break;
25491 : :
25492 : : case 4:
25493 : : if (QIreg_operand (operands[0], E_HImode)
25494 : : && register_operand (operands[1], E_HImode)
25495 : : &&
25496 : : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25497 : : (reload_completed
25498 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25499 : : && !(INTVAL (operands[2]) & ~(255 << 8))
25500 : : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
25501 : : return gen_split_424 (insn, operands);
25502 : : if (any_QIreg_operand (operands[0], E_HImode)
25503 : : && general_operand (operands[1], E_HImode)
25504 : : &&
25505 : : #line 14284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25506 : : (reload_completed
25507 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25508 : : && !(INTVAL (operands[2]) & ~255)
25509 : : && (INTVAL (operands[2]) & 128)
25510 : : && !(TARGET_APX_NDD
25511 : : && !rtx_equal_p (operands[0], operands[1]))))
25512 : : return gen_split_430 (insn, operands);
25513 : : break;
25514 : :
25515 : : case 5:
25516 : : if (QIreg_operand (operands[0], E_SImode)
25517 : : && register_operand (operands[1], E_SImode)
25518 : : &&
25519 : : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25520 : : (reload_completed
25521 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25522 : : && !(INTVAL (operands[2]) & ~(255 << 8))
25523 : : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
25524 : : return gen_split_426 (insn, operands);
25525 : : if (any_QIreg_operand (operands[0], E_SImode)
25526 : : && general_operand (operands[1], E_SImode)
25527 : : &&
25528 : : #line 14284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25529 : : (reload_completed
25530 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25531 : : && !(INTVAL (operands[2]) & ~255)
25532 : : && (INTVAL (operands[2]) & 128)
25533 : : && !(TARGET_APX_NDD
25534 : : && !rtx_equal_p (operands[0], operands[1]))))
25535 : : return gen_split_432 (insn, operands);
25536 : : break;
25537 : :
25538 : : default:
25539 : : break;
25540 : : }
25541 : : if (GET_CODE (x5) != SUBREG
25542 : : || pattern1180 (x4) != 0)
25543 : : return NULL;
25544 : : x6 = XEXP (x5, 0);
25545 : : x7 = XEXP (x6, 0);
25546 : : operands[2] = x7;
25547 : : switch (pattern1637 (x3))
25548 : : {
25549 : : case 0:
25550 : : if ((
25551 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25552 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25553 : : #line 13070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25554 : : ( reload_completed
25555 : : && !rtx_equal_p (operands[0], operands[1]))))
25556 : : return gen_split_300 (insn, operands);
25557 : : break;
25558 : :
25559 : : case 1:
25560 : : if ((
25561 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25562 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25563 : : #line 13070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25564 : : ( reload_completed
25565 : : && !rtx_equal_p (operands[0], operands[1]))))
25566 : : return gen_split_303 (insn, operands);
25567 : : break;
25568 : :
25569 : : case 2:
25570 : : if (((
25571 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25572 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25573 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25574 : : (TARGET_64BIT)) &&
25575 : : #line 13070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25576 : : ( reload_completed
25577 : : && !rtx_equal_p (operands[0], operands[1]))))
25578 : : return gen_split_306 (insn, operands);
25579 : : break;
25580 : :
25581 : : default:
25582 : : break;
25583 : : }
25584 : : operands[1] = x7;
25585 : : switch (pattern1638 (x3))
25586 : : {
25587 : : case 0:
25588 : : if (!(
25589 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25590 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25591 : : #line 13097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25592 : : ( reload_completed)))
25593 : : return NULL;
25594 : : return gen_split_309 (insn, operands);
25595 : :
25596 : : case 1:
25597 : : if (!(
25598 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25599 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25600 : : #line 13097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25601 : : ( reload_completed)))
25602 : : return NULL;
25603 : : return gen_split_312 (insn, operands);
25604 : :
25605 : : case 2:
25606 : : if (!((
25607 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25608 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25609 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25610 : : (TARGET_64BIT)) &&
25611 : : #line 13097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25612 : : ( reload_completed)))
25613 : : return NULL;
25614 : : return gen_split_315 (insn, operands);
25615 : :
25616 : : case 3:
25617 : : if (!
25618 : : #line 13332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25619 : : ( reload_completed))
25620 : : return NULL;
25621 : : return gen_split_329 (insn, operands);
25622 : :
25623 : : case 4:
25624 : : if (!
25625 : : #line 13332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25626 : : ( reload_completed))
25627 : : return NULL;
25628 : : return gen_split_332 (insn, operands);
25629 : :
25630 : : case 5:
25631 : : if (!(
25632 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25633 : : (TARGET_64BIT) &&
25634 : : #line 13332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25635 : : ( reload_completed)))
25636 : : return NULL;
25637 : : return gen_split_335 (insn, operands);
25638 : :
25639 : : default:
25640 : : return NULL;
25641 : : }
25642 : :
25643 : : case ASHIFT:
25644 : : x8 = XEXP (x3, 0);
25645 : : operands[0] = x8;
25646 : : x6 = XEXP (x5, 0);
25647 : : switch (GET_CODE (x6))
25648 : : {
25649 : : case REG:
25650 : : case SUBREG:
25651 : : case MEM:
25652 : : x9 = XEXP (x4, 1);
25653 : : if (GET_CODE (x9) != LSHIFTRT)
25654 : : return NULL;
25655 : : switch (pattern1246 (x4))
25656 : : {
25657 : : case 0:
25658 : : if (!(
25659 : : #line 15827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25660 : : (TARGET_64BIT
25661 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
25662 : : && ix86_pre_reload_split ()) &&
25663 : : #line 15831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25664 : : ( 1)))
25665 : : return NULL;
25666 : : return gen_split_569 (insn, operands);
25667 : :
25668 : : case 1:
25669 : : if (!(
25670 : : #line 16059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25671 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
25672 : : && ix86_pre_reload_split ()) &&
25673 : : #line 16062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25674 : : ( 1)))
25675 : : return NULL;
25676 : : return gen_split_573 (insn, operands);
25677 : :
25678 : : case 2:
25679 : : x10 = XEXP (x9, 0);
25680 : : operands[1] = x10;
25681 : : if (nonimmediate_operand (operands[0], E_DImode))
25682 : : {
25683 : : x11 = XEXP (x5, 1);
25684 : : operands[2] = x11;
25685 : : if (rtx_equal_p (x6, operands[0]))
25686 : : {
25687 : : x12 = XEXP (x9, 1);
25688 : : x13 = XEXP (x12, 1);
25689 : : if (rtx_equal_p (x13, operands[2])
25690 : : && (
25691 : : #line 15880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25692 : : (TARGET_64BIT && ix86_pre_reload_split ()) &&
25693 : : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25694 : : ( 1)))
25695 : : return gen_split_570 (insn, operands);
25696 : : }
25697 : : }
25698 : : operands[2] = x10;
25699 : : if (!register_operand (operands[0], E_DImode))
25700 : : return NULL;
25701 : : operands[1] = x6;
25702 : : if (!nonimmediate_operand (operands[1], E_DImode))
25703 : : return NULL;
25704 : : x11 = XEXP (x5, 1);
25705 : : operands[3] = x11;
25706 : : x12 = XEXP (x9, 1);
25707 : : x13 = XEXP (x12, 1);
25708 : : if (!rtx_equal_p (x13, operands[3])
25709 : : || !(
25710 : : #line 15901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25711 : : (TARGET_APX_NDD
25712 : : && ix86_pre_reload_split ()) &&
25713 : : #line 15904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25714 : : ( 1)))
25715 : : return NULL;
25716 : : return gen_split_571 (insn, operands);
25717 : :
25718 : : case 3:
25719 : : x10 = XEXP (x9, 0);
25720 : : operands[1] = x10;
25721 : : if (nonimmediate_operand (operands[0], E_SImode))
25722 : : {
25723 : : x11 = XEXP (x5, 1);
25724 : : operands[2] = x11;
25725 : : if (rtx_equal_p (x6, operands[0]))
25726 : : {
25727 : : x12 = XEXP (x9, 1);
25728 : : x13 = XEXP (x12, 1);
25729 : : if (rtx_equal_p (x13, operands[2])
25730 : : && (
25731 : : #line 16111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25732 : : (TARGET_64BIT && ix86_pre_reload_split ()) &&
25733 : : #line 16113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25734 : : ( 1)))
25735 : : return gen_split_574 (insn, operands);
25736 : : }
25737 : : }
25738 : : operands[2] = x10;
25739 : : if (!register_operand (operands[0], E_SImode))
25740 : : return NULL;
25741 : : operands[1] = x6;
25742 : : if (!nonimmediate_operand (operands[1], E_SImode))
25743 : : return NULL;
25744 : : x11 = XEXP (x5, 1);
25745 : : operands[3] = x11;
25746 : : x12 = XEXP (x9, 1);
25747 : : x13 = XEXP (x12, 1);
25748 : : if (!rtx_equal_p (x13, operands[3])
25749 : : || !(
25750 : : #line 16132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25751 : : (TARGET_APX_NDD
25752 : : && ix86_pre_reload_split ()) &&
25753 : : #line 16135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25754 : : ( 1)))
25755 : : return NULL;
25756 : : return gen_split_575 (insn, operands);
25757 : :
25758 : : default:
25759 : : return NULL;
25760 : : }
25761 : :
25762 : : case CONST_INT:
25763 : : if (XWINT (x6, 0) != 1L)
25764 : : return NULL;
25765 : : switch (pattern1060 (x4))
25766 : : {
25767 : : case 0:
25768 : : if (!(
25769 : : #line 19134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25770 : : (TARGET_USE_BT
25771 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
25772 : : == GET_MODE_BITSIZE (SImode)-1
25773 : : && ix86_pre_reload_split ()) &&
25774 : : #line 19139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25775 : : ( 1)))
25776 : : return NULL;
25777 : : return gen_split_802 (insn, operands);
25778 : :
25779 : : case 1:
25780 : : if (!((
25781 : : #line 19134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25782 : : (TARGET_USE_BT
25783 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
25784 : : == GET_MODE_BITSIZE (DImode)-1
25785 : : && ix86_pre_reload_split ()) &&
25786 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25787 : : (TARGET_64BIT)) &&
25788 : : #line 19139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25789 : : ( 1)))
25790 : : return NULL;
25791 : : return gen_split_804 (insn, operands);
25792 : :
25793 : : case 2:
25794 : : if (!(
25795 : : #line 19162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25796 : : (TARGET_USE_BT
25797 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
25798 : : == GET_MODE_BITSIZE (SImode)-1
25799 : : && ix86_pre_reload_split ()) &&
25800 : : #line 19167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25801 : : ( 1)))
25802 : : return NULL;
25803 : : return gen_split_806 (insn, operands);
25804 : :
25805 : : case 3:
25806 : : if (!((
25807 : : #line 19162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25808 : : (TARGET_USE_BT
25809 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
25810 : : == GET_MODE_BITSIZE (DImode)-1
25811 : : && ix86_pre_reload_split ()) &&
25812 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25813 : : (TARGET_64BIT)) &&
25814 : : #line 19167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25815 : : ( 1)))
25816 : : return NULL;
25817 : : return gen_split_808 (insn, operands);
25818 : :
25819 : : default:
25820 : : return NULL;
25821 : : }
25822 : :
25823 : : default:
25824 : : return NULL;
25825 : : }
25826 : :
25827 : : case LSHIFTRT:
25828 : : x9 = XEXP (x4, 1);
25829 : : if (GET_CODE (x9) != ASHIFT)
25830 : : return NULL;
25831 : : x8 = XEXP (x3, 0);
25832 : : operands[0] = x8;
25833 : : switch (pattern1246 (x4))
25834 : : {
25835 : : case 0:
25836 : : if (!(
25837 : : #line 17210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25838 : : (TARGET_64BIT
25839 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
25840 : : && ix86_pre_reload_split ()) &&
25841 : : #line 17214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25842 : : ( 1)))
25843 : : return NULL;
25844 : : return gen_split_616 (insn, operands);
25845 : :
25846 : : case 1:
25847 : : if (!(
25848 : : #line 17441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25849 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
25850 : : && ix86_pre_reload_split ()) &&
25851 : : #line 17444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25852 : : ( 1)))
25853 : : return NULL;
25854 : : return gen_split_620 (insn, operands);
25855 : :
25856 : : case 2:
25857 : : x10 = XEXP (x9, 0);
25858 : : operands[1] = x10;
25859 : : if (nonimmediate_operand (operands[0], E_DImode))
25860 : : {
25861 : : x11 = XEXP (x5, 1);
25862 : : operands[2] = x11;
25863 : : x6 = XEXP (x5, 0);
25864 : : if (rtx_equal_p (x6, operands[0]))
25865 : : {
25866 : : x12 = XEXP (x9, 1);
25867 : : x13 = XEXP (x12, 1);
25868 : : if (rtx_equal_p (x13, operands[2])
25869 : : && (
25870 : : #line 17263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25871 : : (TARGET_64BIT && ix86_pre_reload_split ()) &&
25872 : : #line 17265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25873 : : ( 1)))
25874 : : return gen_split_617 (insn, operands);
25875 : : }
25876 : : }
25877 : : operands[2] = x10;
25878 : : if (!register_operand (operands[0], E_DImode))
25879 : : return NULL;
25880 : : x6 = XEXP (x5, 0);
25881 : : operands[1] = x6;
25882 : : if (!nonimmediate_operand (operands[1], E_DImode))
25883 : : return NULL;
25884 : : x11 = XEXP (x5, 1);
25885 : : operands[3] = x11;
25886 : : x12 = XEXP (x9, 1);
25887 : : x13 = XEXP (x12, 1);
25888 : : if (!rtx_equal_p (x13, operands[2])
25889 : : || !(
25890 : : #line 17284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25891 : : (TARGET_APX_NDD
25892 : : && ix86_pre_reload_split ()) &&
25893 : : #line 17287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25894 : : ( 1)))
25895 : : return NULL;
25896 : : return gen_split_618 (insn, operands);
25897 : :
25898 : : case 3:
25899 : : x10 = XEXP (x9, 0);
25900 : : operands[1] = x10;
25901 : : if (nonimmediate_operand (operands[0], E_SImode))
25902 : : {
25903 : : x11 = XEXP (x5, 1);
25904 : : operands[2] = x11;
25905 : : x6 = XEXP (x5, 0);
25906 : : if (rtx_equal_p (x6, operands[0]))
25907 : : {
25908 : : x12 = XEXP (x9, 1);
25909 : : x13 = XEXP (x12, 1);
25910 : : if (rtx_equal_p (x13, operands[2])
25911 : : && (
25912 : : #line 17493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25913 : : (TARGET_64BIT && ix86_pre_reload_split ()) &&
25914 : : #line 17495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25915 : : ( 1)))
25916 : : return gen_split_621 (insn, operands);
25917 : : }
25918 : : }
25919 : : operands[2] = x10;
25920 : : if (!register_operand (operands[0], E_SImode))
25921 : : return NULL;
25922 : : x6 = XEXP (x5, 0);
25923 : : operands[1] = x6;
25924 : : if (!nonimmediate_operand (operands[1], E_SImode))
25925 : : return NULL;
25926 : : x11 = XEXP (x5, 1);
25927 : : operands[3] = x11;
25928 : : x12 = XEXP (x9, 1);
25929 : : x13 = XEXP (x12, 1);
25930 : : if (!rtx_equal_p (x13, operands[3])
25931 : : || !(
25932 : : #line 17514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25933 : : (TARGET_APX_NDD
25934 : : && ix86_pre_reload_split ()) &&
25935 : : #line 17517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25936 : : ( 1)))
25937 : : return NULL;
25938 : : return gen_split_622 (insn, operands);
25939 : :
25940 : : default:
25941 : : return NULL;
25942 : : }
25943 : :
25944 : : default:
25945 : : return NULL;
25946 : : }
25947 : : }
25948 : :
25949 : : rtx_insn *
25950 : : split_38 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25951 : : {
25952 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25953 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25954 : : rtx_insn *res ATTRIBUTE_UNUSED;
25955 : : x2 = XVECEXP (x1, 0, 0);
25956 : : x3 = XEXP (x2, 1);
25957 : : operands[3] = x3;
25958 : : if (promotable_binary_operator (operands[3], E_VOIDmode)
25959 : : && pattern347 (x1) == 0
25960 : : && general_reg_operand (operands[0], E_VOIDmode))
25961 : : {
25962 : : x4 = XEXP (x3, 0);
25963 : : operands[1] = x4;
25964 : : if (general_reg_operand (operands[1], E_VOIDmode))
25965 : : {
25966 : : x5 = XEXP (x3, 1);
25967 : : operands[2] = x5;
25968 : : if (aligned_operand (operands[2], E_VOIDmode)
25969 : : &&
25970 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25971 : : (! TARGET_PARTIAL_REG_STALL && reload_completed
25972 : : && ((GET_MODE (operands[0]) == HImode
25973 : : && ((optimize_function_for_speed_p (cfun) && !TARGET_FAST_PREFIX)
25974 : : /* ??? next two lines just !satisfies_constraint_K (...) */
25975 : : || !CONST_INT_P (operands[2])
25976 : : || satisfies_constraint_K (operands[2])))
25977 : : || (GET_MODE (operands[0]) == QImode
25978 : : && (TARGET_PROMOTE_QImode || optimize_function_for_size_p (cfun))))))
25979 : : return gen_split_1011 (insn, operands);
25980 : : }
25981 : : }
25982 : : x6 = XVECEXP (x1, 0, 1);
25983 : : if (GET_CODE (x6) != CLOBBER)
25984 : : return NULL;
25985 : : x7 = XEXP (x6, 0);
25986 : : if (GET_CODE (x7) != REG
25987 : : || REGNO (x7) != 17
25988 : : || GET_MODE (x7) != E_CCmode)
25989 : : return NULL;
25990 : : x8 = XEXP (x2, 0);
25991 : : operands[0] = x8;
25992 : : x5 = XEXP (x3, 1);
25993 : : operands[2] = x5;
25994 : : switch (GET_CODE (x3))
25995 : : {
25996 : : case PLUS:
25997 : : if (GET_MODE (x3) != E_V2QImode)
25998 : : return NULL;
25999 : : x4 = XEXP (x3, 0);
26000 : : operands[1] = x4;
26001 : : if (general_reg_operand (operands[1], E_V2QImode)
26002 : : && general_reg_operand (operands[0], E_V2QImode)
26003 : : && general_reg_operand (operands[2], E_V2QImode)
26004 : : &&
26005 : : #line 3283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26006 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
26007 : : && reload_completed))
26008 : : return gen_split_1092 (insn, operands);
26009 : : if (!sse_reg_operand (operands[1], E_V2QImode)
26010 : : || !sse_reg_operand (operands[0], E_V2QImode)
26011 : : || !sse_reg_operand (operands[2], E_V2QImode)
26012 : : || !
26013 : : #line 3317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26014 : : (TARGET_SSE2 && reload_completed))
26015 : : return NULL;
26016 : : return gen_split_1094 (insn, operands);
26017 : :
26018 : : case MINUS:
26019 : : if (GET_MODE (x3) != E_V2QImode)
26020 : : return NULL;
26021 : : x4 = XEXP (x3, 0);
26022 : : operands[1] = x4;
26023 : : if (general_reg_operand (operands[1], E_V2QImode)
26024 : : && general_reg_operand (operands[0], E_V2QImode)
26025 : : && general_reg_operand (operands[2], E_V2QImode)
26026 : : &&
26027 : : #line 3283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26028 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
26029 : : && reload_completed))
26030 : : return gen_split_1093 (insn, operands);
26031 : : if (!sse_reg_operand (operands[1], E_V2QImode)
26032 : : || !sse_reg_operand (operands[0], E_V2QImode)
26033 : : || !sse_reg_operand (operands[2], E_V2QImode)
26034 : : || !
26035 : : #line 3317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26036 : : (TARGET_SSE2 && reload_completed))
26037 : : return NULL;
26038 : : return gen_split_1095 (insn, operands);
26039 : :
26040 : : case ASHIFT:
26041 : : x4 = XEXP (x3, 0);
26042 : : operands[1] = x4;
26043 : : switch (GET_MODE (operands[0]))
26044 : : {
26045 : : case E_V2QImode:
26046 : : if (pattern1336 (x3,
26047 : : E_V2QImode) != 0
26048 : : || !
26049 : : #line 4032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26050 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
26051 : : && reload_completed))
26052 : : return NULL;
26053 : : return gen_split_1103 (insn, operands);
26054 : :
26055 : : case E_QImode:
26056 : : if (pattern1342 (x3,
26057 : : E_QImode) != 0
26058 : : || !
26059 : : #line 2311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26060 : : (TARGET_AVX512F && reload_completed))
26061 : : return NULL;
26062 : : return gen_split_1274 (insn, operands);
26063 : :
26064 : : case E_HImode:
26065 : : if (pattern1342 (x3,
26066 : : E_HImode) != 0
26067 : : || !
26068 : : #line 2311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26069 : : (TARGET_AVX512F && reload_completed))
26070 : : return NULL;
26071 : : return gen_split_1276 (insn, operands);
26072 : :
26073 : : case E_SImode:
26074 : : if (pattern1342 (x3,
26075 : : E_SImode) != 0
26076 : : || !(
26077 : : #line 2311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26078 : : (TARGET_AVX512F && reload_completed) &&
26079 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26080 : : (TARGET_AVX512BW)))
26081 : : return NULL;
26082 : : return gen_split_1278 (insn, operands);
26083 : :
26084 : : case E_DImode:
26085 : : if (pattern1342 (x3,
26086 : : E_DImode) != 0
26087 : : || !(
26088 : : #line 2311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26089 : : (TARGET_AVX512F && reload_completed) &&
26090 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26091 : : (TARGET_AVX512BW)))
26092 : : return NULL;
26093 : : return gen_split_1280 (insn, operands);
26094 : :
26095 : : default:
26096 : : return NULL;
26097 : : }
26098 : :
26099 : : case AND:
26100 : : x4 = XEXP (x3, 0);
26101 : : switch (GET_CODE (x4))
26102 : : {
26103 : : case NOT:
26104 : : x9 = XEXP (x4, 0);
26105 : : operands[1] = x9;
26106 : : switch (GET_MODE (operands[0]))
26107 : : {
26108 : : case E_V4QImode:
26109 : : if (GET_MODE (x3) != E_V4QImode
26110 : : || GET_MODE (x4) != E_V4QImode)
26111 : : return NULL;
26112 : : if (general_reg_operand (operands[0], E_V4QImode)
26113 : : && general_reg_operand (operands[1], E_V4QImode)
26114 : : && general_reg_operand (operands[2], E_V4QImode))
26115 : : {
26116 : : if (
26117 : : #line 4645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26118 : : (TARGET_BMI && reload_completed))
26119 : : return gen_split_1119 (insn, operands);
26120 : : if (
26121 : : #line 4662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26122 : : (!TARGET_BMI && reload_completed))
26123 : : return gen_split_1122 (insn, operands);
26124 : : }
26125 : : if (!sse_reg_operand (operands[0], E_V4QImode)
26126 : : || !sse_reg_operand (operands[1], E_V4QImode)
26127 : : || !sse_reg_operand (operands[2], E_V4QImode)
26128 : : || !
26129 : : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26130 : : (TARGET_SSE2 && reload_completed))
26131 : : return NULL;
26132 : : return gen_split_1125 (insn, operands);
26133 : :
26134 : : case E_V2QImode:
26135 : : if (GET_MODE (x3) != E_V2QImode
26136 : : || GET_MODE (x4) != E_V2QImode)
26137 : : return NULL;
26138 : : if (general_reg_operand (operands[0], E_V2QImode)
26139 : : && general_reg_operand (operands[1], E_V2QImode)
26140 : : && general_reg_operand (operands[2], E_V2QImode))
26141 : : {
26142 : : if (
26143 : : #line 4645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26144 : : (TARGET_BMI && reload_completed))
26145 : : return gen_split_1120 (insn, operands);
26146 : : if (
26147 : : #line 4662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26148 : : (!TARGET_BMI && reload_completed))
26149 : : return gen_split_1123 (insn, operands);
26150 : : }
26151 : : if (!sse_reg_operand (operands[0], E_V2QImode)
26152 : : || !sse_reg_operand (operands[1], E_V2QImode)
26153 : : || !sse_reg_operand (operands[2], E_V2QImode)
26154 : : || !
26155 : : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26156 : : (TARGET_SSE2 && reload_completed))
26157 : : return NULL;
26158 : : return gen_split_1126 (insn, operands);
26159 : :
26160 : : case E_V2HImode:
26161 : : if (GET_MODE (x3) != E_V2HImode
26162 : : || GET_MODE (x4) != E_V2HImode)
26163 : : return NULL;
26164 : : if (general_reg_operand (operands[0], E_V2HImode)
26165 : : && general_reg_operand (operands[1], E_V2HImode)
26166 : : && general_reg_operand (operands[2], E_V2HImode))
26167 : : {
26168 : : if (
26169 : : #line 4645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26170 : : (TARGET_BMI && reload_completed))
26171 : : return gen_split_1121 (insn, operands);
26172 : : if (
26173 : : #line 4662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26174 : : (!TARGET_BMI && reload_completed))
26175 : : return gen_split_1124 (insn, operands);
26176 : : }
26177 : : if (!sse_reg_operand (operands[0], E_V2HImode)
26178 : : || !sse_reg_operand (operands[1], E_V2HImode)
26179 : : || !sse_reg_operand (operands[2], E_V2HImode)
26180 : : || !
26181 : : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26182 : : (TARGET_SSE2 && reload_completed))
26183 : : return NULL;
26184 : : return gen_split_1127 (insn, operands);
26185 : :
26186 : : case E_QImode:
26187 : : if (pattern1507 (x3,
26188 : : E_QImode) != 0
26189 : : || !
26190 : : #line 2181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26191 : : (TARGET_AVX512F && reload_completed))
26192 : : return NULL;
26193 : : return gen_split_1257 (insn, operands);
26194 : :
26195 : : case E_HImode:
26196 : : if (pattern1507 (x3,
26197 : : E_HImode) != 0
26198 : : || !
26199 : : #line 2181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26200 : : (TARGET_AVX512F && reload_completed))
26201 : : return NULL;
26202 : : return gen_split_1258 (insn, operands);
26203 : :
26204 : : case E_SImode:
26205 : : if (pattern1507 (x3,
26206 : : E_SImode) != 0
26207 : : || !(
26208 : : #line 2181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26209 : : (TARGET_AVX512F && reload_completed) &&
26210 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26211 : : (TARGET_AVX512BW)))
26212 : : return NULL;
26213 : : return gen_split_1259 (insn, operands);
26214 : :
26215 : : case E_DImode:
26216 : : if (pattern1507 (x3,
26217 : : E_DImode) != 0
26218 : : || !(
26219 : : #line 2181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26220 : : (TARGET_AVX512F && reload_completed) &&
26221 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26222 : : (TARGET_AVX512BW)))
26223 : : return NULL;
26224 : : return gen_split_1260 (insn, operands);
26225 : :
26226 : : default:
26227 : : return NULL;
26228 : : }
26229 : :
26230 : : case REG:
26231 : : case SUBREG:
26232 : : case MEM:
26233 : : switch (pattern1255 (x3))
26234 : : {
26235 : : case 0:
26236 : : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26237 : : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26238 : : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26239 : : &&
26240 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26241 : : (reload_completed))
26242 : : return gen_split_1128 (insn, operands);
26243 : : if (!sse_reg_operand (operands[0], E_V4QImode)
26244 : : || !sse_reg_operand (operands[1], E_V4QImode)
26245 : : || !sse_reg_operand (operands[2], E_V4QImode)
26246 : : || !
26247 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26248 : : (TARGET_SSE2 && reload_completed))
26249 : : return NULL;
26250 : : return gen_split_1137 (insn, operands);
26251 : :
26252 : : case 1:
26253 : : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26254 : : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26255 : : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26256 : : &&
26257 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26258 : : (reload_completed))
26259 : : return gen_split_1131 (insn, operands);
26260 : : if (!sse_reg_operand (operands[0], E_V2QImode)
26261 : : || !sse_reg_operand (operands[1], E_V2QImode)
26262 : : || !sse_reg_operand (operands[2], E_V2QImode)
26263 : : || !
26264 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26265 : : (TARGET_SSE2 && reload_completed))
26266 : : return NULL;
26267 : : return gen_split_1140 (insn, operands);
26268 : :
26269 : : case 2:
26270 : : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26271 : : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26272 : : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26273 : : &&
26274 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26275 : : (reload_completed))
26276 : : return gen_split_1134 (insn, operands);
26277 : : if (!sse_reg_operand (operands[0], E_V2HImode)
26278 : : || !sse_reg_operand (operands[1], E_V2HImode)
26279 : : || !sse_reg_operand (operands[2], E_V2HImode)
26280 : : || !
26281 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26282 : : (TARGET_SSE2 && reload_completed))
26283 : : return NULL;
26284 : : return gen_split_1143 (insn, operands);
26285 : :
26286 : : case 3:
26287 : : if (!
26288 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26289 : : (TARGET_AVX512F && reload_completed))
26290 : : return NULL;
26291 : : return gen_split_1245 (insn, operands);
26292 : :
26293 : : case 4:
26294 : : if (!
26295 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26296 : : (TARGET_AVX512F && reload_completed))
26297 : : return NULL;
26298 : : return gen_split_1248 (insn, operands);
26299 : :
26300 : : case 5:
26301 : : if (!(
26302 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26303 : : (TARGET_AVX512F && reload_completed) &&
26304 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26305 : : (TARGET_AVX512BW)))
26306 : : return NULL;
26307 : : return gen_split_1251 (insn, operands);
26308 : :
26309 : : case 6:
26310 : : if (!(
26311 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26312 : : (TARGET_AVX512F && reload_completed) &&
26313 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26314 : : (TARGET_AVX512BW)))
26315 : : return NULL;
26316 : : return gen_split_1254 (insn, operands);
26317 : :
26318 : : default:
26319 : : return NULL;
26320 : : }
26321 : :
26322 : : default:
26323 : : return NULL;
26324 : : }
26325 : :
26326 : : case IOR:
26327 : : switch (pattern1255 (x3))
26328 : : {
26329 : : case 0:
26330 : : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26331 : : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26332 : : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26333 : : &&
26334 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26335 : : (reload_completed))
26336 : : return gen_split_1129 (insn, operands);
26337 : : if (!sse_reg_operand (operands[0], E_V4QImode)
26338 : : || !sse_reg_operand (operands[1], E_V4QImode)
26339 : : || !sse_reg_operand (operands[2], E_V4QImode)
26340 : : || !
26341 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26342 : : (TARGET_SSE2 && reload_completed))
26343 : : return NULL;
26344 : : return gen_split_1138 (insn, operands);
26345 : :
26346 : : case 1:
26347 : : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26348 : : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26349 : : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26350 : : &&
26351 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26352 : : (reload_completed))
26353 : : return gen_split_1132 (insn, operands);
26354 : : if (!sse_reg_operand (operands[0], E_V2QImode)
26355 : : || !sse_reg_operand (operands[1], E_V2QImode)
26356 : : || !sse_reg_operand (operands[2], E_V2QImode)
26357 : : || !
26358 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26359 : : (TARGET_SSE2 && reload_completed))
26360 : : return NULL;
26361 : : return gen_split_1141 (insn, operands);
26362 : :
26363 : : case 2:
26364 : : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26365 : : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26366 : : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26367 : : &&
26368 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26369 : : (reload_completed))
26370 : : return gen_split_1135 (insn, operands);
26371 : : if (!sse_reg_operand (operands[0], E_V2HImode)
26372 : : || !sse_reg_operand (operands[1], E_V2HImode)
26373 : : || !sse_reg_operand (operands[2], E_V2HImode)
26374 : : || !
26375 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26376 : : (TARGET_SSE2 && reload_completed))
26377 : : return NULL;
26378 : : return gen_split_1144 (insn, operands);
26379 : :
26380 : : case 3:
26381 : : if (!
26382 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26383 : : (TARGET_AVX512F && reload_completed))
26384 : : return NULL;
26385 : : return gen_split_1246 (insn, operands);
26386 : :
26387 : : case 4:
26388 : : if (!
26389 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26390 : : (TARGET_AVX512F && reload_completed))
26391 : : return NULL;
26392 : : return gen_split_1249 (insn, operands);
26393 : :
26394 : : case 5:
26395 : : if (!(
26396 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26397 : : (TARGET_AVX512F && reload_completed) &&
26398 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26399 : : (TARGET_AVX512BW)))
26400 : : return NULL;
26401 : : return gen_split_1252 (insn, operands);
26402 : :
26403 : : case 6:
26404 : : if (!(
26405 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26406 : : (TARGET_AVX512F && reload_completed) &&
26407 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26408 : : (TARGET_AVX512BW)))
26409 : : return NULL;
26410 : : return gen_split_1255 (insn, operands);
26411 : :
26412 : : default:
26413 : : return NULL;
26414 : : }
26415 : :
26416 : : case XOR:
26417 : : switch (pattern1255 (x3))
26418 : : {
26419 : : case 0:
26420 : : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26421 : : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26422 : : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26423 : : &&
26424 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26425 : : (reload_completed))
26426 : : return gen_split_1130 (insn, operands);
26427 : : if (!sse_reg_operand (operands[0], E_V4QImode)
26428 : : || !sse_reg_operand (operands[1], E_V4QImode)
26429 : : || !sse_reg_operand (operands[2], E_V4QImode)
26430 : : || !
26431 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26432 : : (TARGET_SSE2 && reload_completed))
26433 : : return NULL;
26434 : : return gen_split_1139 (insn, operands);
26435 : :
26436 : : case 1:
26437 : : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26438 : : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26439 : : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26440 : : &&
26441 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26442 : : (reload_completed))
26443 : : return gen_split_1133 (insn, operands);
26444 : : if (!sse_reg_operand (operands[0], E_V2QImode)
26445 : : || !sse_reg_operand (operands[1], E_V2QImode)
26446 : : || !sse_reg_operand (operands[2], E_V2QImode)
26447 : : || !
26448 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26449 : : (TARGET_SSE2 && reload_completed))
26450 : : return NULL;
26451 : : return gen_split_1142 (insn, operands);
26452 : :
26453 : : case 2:
26454 : : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26455 : : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26456 : : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26457 : : &&
26458 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26459 : : (reload_completed))
26460 : : return gen_split_1136 (insn, operands);
26461 : : if (!sse_reg_operand (operands[0], E_V2HImode)
26462 : : || !sse_reg_operand (operands[1], E_V2HImode)
26463 : : || !sse_reg_operand (operands[2], E_V2HImode)
26464 : : || !
26465 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26466 : : (TARGET_SSE2 && reload_completed))
26467 : : return NULL;
26468 : : return gen_split_1145 (insn, operands);
26469 : :
26470 : : case 3:
26471 : : if (!
26472 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26473 : : (TARGET_AVX512F && reload_completed))
26474 : : return NULL;
26475 : : return gen_split_1247 (insn, operands);
26476 : :
26477 : : case 4:
26478 : : if (!
26479 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26480 : : (TARGET_AVX512F && reload_completed))
26481 : : return NULL;
26482 : : return gen_split_1250 (insn, operands);
26483 : :
26484 : : case 5:
26485 : : if (!(
26486 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26487 : : (TARGET_AVX512F && reload_completed) &&
26488 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26489 : : (TARGET_AVX512BW)))
26490 : : return NULL;
26491 : : return gen_split_1253 (insn, operands);
26492 : :
26493 : : case 6:
26494 : : if (!(
26495 : : #line 2145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26496 : : (TARGET_AVX512F && reload_completed) &&
26497 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26498 : : (TARGET_AVX512BW)))
26499 : : return NULL;
26500 : : return gen_split_1256 (insn, operands);
26501 : :
26502 : : default:
26503 : : return NULL;
26504 : : }
26505 : :
26506 : : default:
26507 : : return NULL;
26508 : : }
26509 : : }
26510 : :
26511 : : rtx_insn *
26512 : : split_55 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26513 : : {
26514 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26515 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
26516 : : rtx x10;
26517 : : rtx_insn *res ATTRIBUTE_UNUSED;
26518 : : x2 = XEXP (x1, 0);
26519 : : operands[0] = x2;
26520 : : x3 = XEXP (x1, 1);
26521 : : x4 = XEXP (x3, 0);
26522 : : switch (GET_CODE (x4))
26523 : : {
26524 : : case VEC_SELECT:
26525 : : if (GET_MODE (x4) != E_SImode)
26526 : : return NULL;
26527 : : x5 = XEXP (x4, 1);
26528 : : if (GET_CODE (x5) != PARALLEL
26529 : : || XVECLEN (x5, 0) != 1)
26530 : : return NULL;
26531 : : x6 = XVECEXP (x5, 0, 0);
26532 : : if (GET_CODE (x6) != CONST_INT
26533 : : || !register_operand (operands[0], E_DImode)
26534 : : || GET_MODE (x3) != E_DImode)
26535 : : return NULL;
26536 : : x7 = XEXP (x4, 0);
26537 : : operands[1] = x7;
26538 : : if (XWINT (x6, 0) == 0L)
26539 : : {
26540 : : switch (GET_MODE (operands[1]))
26541 : : {
26542 : : case E_V2SImode:
26543 : : if (register_operand (operands[1], E_V2SImode)
26544 : : &&
26545 : : #line 5797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26546 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
26547 : : && TARGET_SSE2 && reload_completed))
26548 : : return gen_split_1163 (insn, operands);
26549 : : break;
26550 : :
26551 : : case E_V4SImode:
26552 : : if (register_operand (operands[1], E_V4SImode)
26553 : : &&
26554 : : #line 21526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26555 : : (TARGET_SSE2 && reload_completed))
26556 : : return gen_split_3474 (insn, operands);
26557 : : break;
26558 : :
26559 : : default:
26560 : : break;
26561 : : }
26562 : : }
26563 : : operands[2] = x6;
26564 : : switch (GET_MODE (operands[1]))
26565 : : {
26566 : : case E_V2SImode:
26567 : : if (!memory_operand (operands[1], E_V2SImode)
26568 : : || !const_0_to_1_operand (operands[2], E_SImode)
26569 : : || !(
26570 : : #line 5865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26571 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_64BIT) &&
26572 : : #line 5867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26573 : : ( reload_completed)))
26574 : : return NULL;
26575 : : return gen_split_1165 (insn, operands);
26576 : :
26577 : : case E_V4SImode:
26578 : : if (!memory_operand (operands[1], E_V4SImode)
26579 : : || !const_0_to_3_operand (operands[2], E_SImode)
26580 : : || !(
26581 : : #line 21601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26582 : : (TARGET_64BIT && TARGET_SSE) &&
26583 : : #line 21603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26584 : : ( reload_completed)))
26585 : : return NULL;
26586 : : return gen_split_3475 (insn, operands);
26587 : :
26588 : : default:
26589 : : return NULL;
26590 : : }
26591 : :
26592 : : case NOT:
26593 : : x7 = XEXP (x4, 0);
26594 : : switch (GET_CODE (x7))
26595 : : {
26596 : : case REG:
26597 : : operands[1] = x7;
26598 : : if (!mask_reg_operand (operands[1], E_SImode)
26599 : : || !mask_reg_operand (operands[0], E_DImode)
26600 : : || GET_MODE (x3) != E_DImode
26601 : : || GET_MODE (x4) != E_SImode
26602 : : || !
26603 : : #line 2258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26604 : : (TARGET_AVX512BW && reload_completed))
26605 : : return NULL;
26606 : : return gen_split_1265 (insn, operands);
26607 : :
26608 : : case SUBREG:
26609 : : if (maybe_ne (SUBREG_BYTE (x7), 0)
26610 : : || GET_MODE (x7) != E_HImode)
26611 : : return NULL;
26612 : : x8 = XEXP (x7, 0);
26613 : : if (GET_CODE (x8) != UNSPEC
26614 : : || XVECLEN (x8, 0) != 1
26615 : : || XINT (x8, 1) != 50
26616 : : || GET_MODE (x8) != E_SImode
26617 : : || !register_operand (operands[0], E_SImode)
26618 : : || GET_MODE (x3) != E_SImode
26619 : : || GET_MODE (x4) != E_HImode)
26620 : : return NULL;
26621 : : x9 = XVECEXP (x8, 0, 0);
26622 : : operands[1] = x9;
26623 : : if (!register_operand (operands[1], E_V16QImode)
26624 : : || !
26625 : : #line 22453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26626 : : (TARGET_SSE2))
26627 : : return NULL;
26628 : : return gen_split_3524 (insn, operands);
26629 : :
26630 : : default:
26631 : : return NULL;
26632 : : }
26633 : :
26634 : : case UNSPEC:
26635 : : if (XVECLEN (x4, 0) != 1
26636 : : || XINT (x4, 1) != 50
26637 : : || GET_MODE (x4) != E_SImode
26638 : : || !register_operand (operands[0], E_DImode)
26639 : : || GET_MODE (x3) != E_DImode)
26640 : : return NULL;
26641 : : x10 = XVECEXP (x4, 0, 0);
26642 : : switch (GET_CODE (x10))
26643 : : {
26644 : : case LT:
26645 : : switch (pattern977 (x10))
26646 : : {
26647 : : case 0:
26648 : : if (!((
26649 : : #line 22304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26650 : : (TARGET_64BIT && TARGET_SSE) &&
26651 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26652 : : (TARGET_AVX)) &&
26653 : : #line 22306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26654 : : ( reload_completed)))
26655 : : return NULL;
26656 : : return gen_split_3496 (insn, operands);
26657 : :
26658 : : case 1:
26659 : : if (!(
26660 : : #line 22304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26661 : : (TARGET_64BIT && TARGET_SSE) &&
26662 : : #line 22306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26663 : : ( reload_completed)))
26664 : : return NULL;
26665 : : return gen_split_3498 (insn, operands);
26666 : :
26667 : : case 2:
26668 : : if (!((
26669 : : #line 22304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26670 : : (TARGET_64BIT && TARGET_SSE) &&
26671 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26672 : : (TARGET_AVX)) &&
26673 : : #line 22306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26674 : : ( reload_completed)))
26675 : : return NULL;
26676 : : return gen_split_3500 (insn, operands);
26677 : :
26678 : : case 3:
26679 : : if (!((
26680 : : #line 22304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26681 : : (TARGET_64BIT && TARGET_SSE) &&
26682 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26683 : : (TARGET_SSE2)) &&
26684 : : #line 22306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26685 : : ( reload_completed)))
26686 : : return NULL;
26687 : : return gen_split_3502 (insn, operands);
26688 : :
26689 : : case 4:
26690 : : if (!((
26691 : : #line 22564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26692 : : (TARGET_64BIT && TARGET_SSE2) &&
26693 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26694 : : (TARGET_AVX2)) &&
26695 : : #line 22566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26696 : : ( 1)))
26697 : : return NULL;
26698 : : return gen_split_3533 (insn, operands);
26699 : :
26700 : : case 5:
26701 : : if (!(
26702 : : #line 22564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26703 : : (TARGET_64BIT && TARGET_SSE2) &&
26704 : : #line 22566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26705 : : ( 1)))
26706 : : return NULL;
26707 : : return gen_split_3534 (insn, operands);
26708 : :
26709 : : default:
26710 : : return NULL;
26711 : : }
26712 : :
26713 : : case SUBREG:
26714 : : switch (pattern1091 (x10))
26715 : : {
26716 : : case 0:
26717 : : if (!((
26718 : : #line 22329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26719 : : (TARGET_64BIT && TARGET_SSE) &&
26720 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26721 : : (TARGET_AVX)) &&
26722 : : #line 22331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26723 : : ( reload_completed)))
26724 : : return NULL;
26725 : : return gen_split_3504 (insn, operands);
26726 : :
26727 : : case 1:
26728 : : if (!(
26729 : : #line 22329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26730 : : (TARGET_64BIT && TARGET_SSE) &&
26731 : : #line 22331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26732 : : ( reload_completed)))
26733 : : return NULL;
26734 : : return gen_split_3506 (insn, operands);
26735 : :
26736 : : case 2:
26737 : : if (!((
26738 : : #line 22329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26739 : : (TARGET_64BIT && TARGET_SSE) &&
26740 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26741 : : (TARGET_AVX)) &&
26742 : : #line 22331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26743 : : ( reload_completed)))
26744 : : return NULL;
26745 : : return gen_split_3508 (insn, operands);
26746 : :
26747 : : case 3:
26748 : : if (!((
26749 : : #line 22329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26750 : : (TARGET_64BIT && TARGET_SSE) &&
26751 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26752 : : (TARGET_SSE2)) &&
26753 : : #line 22331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26754 : : ( reload_completed)))
26755 : : return NULL;
26756 : : return gen_split_3510 (insn, operands);
26757 : :
26758 : : case 4:
26759 : : if (!((
26760 : : #line 22368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26761 : : (TARGET_64BIT && TARGET_SSE) &&
26762 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26763 : : (TARGET_AVX)) &&
26764 : : #line 22370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26765 : : ( reload_completed)))
26766 : : return NULL;
26767 : : return gen_split_3516 (insn, operands);
26768 : :
26769 : : case 5:
26770 : : if (!(
26771 : : #line 22368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26772 : : (TARGET_64BIT && TARGET_SSE) &&
26773 : : #line 22370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26774 : : ( reload_completed)))
26775 : : return NULL;
26776 : : return gen_split_3518 (insn, operands);
26777 : :
26778 : : case 6:
26779 : : if (!((
26780 : : #line 22368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26781 : : (TARGET_64BIT && TARGET_SSE) &&
26782 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26783 : : (TARGET_AVX)) &&
26784 : : #line 22370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26785 : : ( reload_completed)))
26786 : : return NULL;
26787 : : return gen_split_3520 (insn, operands);
26788 : :
26789 : : case 7:
26790 : : if (!((
26791 : : #line 22368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26792 : : (TARGET_64BIT && TARGET_SSE) &&
26793 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26794 : : (TARGET_SSE2)) &&
26795 : : #line 22370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26796 : : ( reload_completed)))
26797 : : return NULL;
26798 : : return gen_split_3522 (insn, operands);
26799 : :
26800 : : default:
26801 : : return NULL;
26802 : : }
26803 : :
26804 : : case VEC_MERGE:
26805 : : switch (pattern979 (x10))
26806 : : {
26807 : : case 0:
26808 : : if (!((
26809 : : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26810 : : (TARGET_64BIT && TARGET_SSE2) &&
26811 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26812 : : (TARGET_AVX2)) &&
26813 : : #line 22595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26814 : : ( 1)))
26815 : : return NULL;
26816 : : return gen_split_3535 (insn, operands);
26817 : :
26818 : : case 1:
26819 : : if (!(
26820 : : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26821 : : (TARGET_64BIT && TARGET_SSE2) &&
26822 : : #line 22595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26823 : : ( 1)))
26824 : : return NULL;
26825 : : return gen_split_3536 (insn, operands);
26826 : :
26827 : : default:
26828 : : return NULL;
26829 : : }
26830 : :
26831 : : default:
26832 : : return NULL;
26833 : : }
26834 : :
26835 : : case SUBREG:
26836 : : if (pattern118 (x3) != 0
26837 : : || !(
26838 : : #line 22439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26839 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26840 : : #line 22441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26841 : : ( 1)))
26842 : : return NULL;
26843 : : return gen_split_3523 (insn, operands);
26844 : :
26845 : : default:
26846 : : return NULL;
26847 : : }
26848 : : }
26849 : :
26850 : : rtx_insn *
26851 : : split_62 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26852 : : {
26853 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26854 : : rtx x2, x3, x4, x5, x6, x7;
26855 : : rtx_insn *res ATTRIBUTE_UNUSED;
26856 : : x2 = XEXP (x1, 1);
26857 : : x3 = XEXP (x2, 0);
26858 : : x4 = XEXP (x3, 1);
26859 : : if (!rtx_equal_p (x4, operands[1]))
26860 : : return NULL;
26861 : : x5 = XEXP (x2, 1);
26862 : : if (XVECLEN (x5, 0) != 2)
26863 : : return NULL;
26864 : : x6 = XVECEXP (x5, 0, 0);
26865 : : if (GET_CODE (x6) != CONST_INT
26866 : : || GET_MODE (x2) != E_V2DFmode
26867 : : || GET_MODE (x3) != E_V4DFmode)
26868 : : return NULL;
26869 : : if (XWINT (x6, 0) == 0L)
26870 : : {
26871 : : x7 = XVECEXP (x5, 0, 1);
26872 : : if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 2]
26873 : : && memory_operand (operands[0], E_V2DFmode)
26874 : : && register_operand (operands[1], E_V2DFmode)
26875 : : &&
26876 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26877 : : (TARGET_SSE3 && reload_completed))
26878 : : return gen_split_1659 (insn, operands);
26879 : : }
26880 : : if (!register_operand (operands[0], E_V2DFmode)
26881 : : || !memory_operand (operands[1], E_V2DFmode))
26882 : : return NULL;
26883 : : operands[2] = x6;
26884 : : if (!const_0_to_1_operand (operands[2], E_SImode))
26885 : : return NULL;
26886 : : x7 = XVECEXP (x5, 0, 1);
26887 : : operands[3] = x7;
26888 : : if (!const_int_operand (operands[3], E_SImode)
26889 : : || !
26890 : : #line 13870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26891 : : (TARGET_SSE3 && INTVAL (operands[2]) + 2 == INTVAL (operands[3])))
26892 : : return NULL;
26893 : : return gen_split_1660 (insn, operands);
26894 : : }
26895 : :
26896 : : rtx_insn *
26897 : : split_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26898 : : {
26899 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26900 : : rtx x2, x3, x4, x5;
26901 : : rtx_insn *res ATTRIBUTE_UNUSED;
26902 : : x2 = XEXP (x1, 1);
26903 : : x3 = XEXP (x2, 1);
26904 : : x4 = XVECEXP (x3, 0, 0);
26905 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26906 : : return NULL;
26907 : : x5 = XVECEXP (x3, 0, 1);
26908 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
26909 : : return NULL;
26910 : : switch (GET_MODE (operands[0]))
26911 : : {
26912 : : case E_V2DFmode:
26913 : : if (!nonimmediate_operand (operands[0], E_V2DFmode)
26914 : : || GET_MODE (x2) != E_V2DFmode)
26915 : : return NULL;
26916 : : switch (GET_MODE (operands[1]))
26917 : : {
26918 : : case E_V8DFmode:
26919 : : if (!register_operand (operands[1], E_V8DFmode)
26920 : : || !
26921 : : #line 12746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26922 : : (TARGET_AVX512DQ
26923 : : && reload_completed
26924 : : && (TARGET_AVX512VL
26925 : : || REG_P (operands[0])
26926 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26927 : : return NULL;
26928 : : return gen_split_1633 (insn, operands);
26929 : :
26930 : : case E_V4DFmode:
26931 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
26932 : : || !
26933 : : #line 13162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26934 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26935 : : && reload_completed))
26936 : : return NULL;
26937 : : return gen_split_1642 (insn, operands);
26938 : :
26939 : : default:
26940 : : return NULL;
26941 : : }
26942 : :
26943 : : case E_V2DImode:
26944 : : if (!nonimmediate_operand (operands[0], E_V2DImode)
26945 : : || GET_MODE (x2) != E_V2DImode)
26946 : : return NULL;
26947 : : switch (GET_MODE (operands[1]))
26948 : : {
26949 : : case E_V8DImode:
26950 : : if (!register_operand (operands[1], E_V8DImode)
26951 : : || !
26952 : : #line 12746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26953 : : (TARGET_AVX512DQ
26954 : : && reload_completed
26955 : : && (TARGET_AVX512VL
26956 : : || REG_P (operands[0])
26957 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26958 : : return NULL;
26959 : : return gen_split_1634 (insn, operands);
26960 : :
26961 : : case E_V4DImode:
26962 : : if (!nonimmediate_operand (operands[1], E_V4DImode)
26963 : : || !
26964 : : #line 13162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26965 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26966 : : && reload_completed))
26967 : : return NULL;
26968 : : return gen_split_1641 (insn, operands);
26969 : :
26970 : : default:
26971 : : return NULL;
26972 : : }
26973 : :
26974 : : default:
26975 : : return NULL;
26976 : : }
26977 : : }
26978 : :
26979 : : rtx_insn *
26980 : : split_64 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26981 : : {
26982 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26983 : : rtx x2, x3;
26984 : : rtx_insn *res ATTRIBUTE_UNUSED;
26985 : : x2 = XEXP (x1, 1);
26986 : : x3 = XEXP (x2, 1);
26987 : : if (pattern836 (x3) != 0)
26988 : : return NULL;
26989 : : switch (GET_MODE (operands[0]))
26990 : : {
26991 : : case E_V4SFmode:
26992 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
26993 : : || GET_MODE (x2) != E_V4SFmode)
26994 : : return NULL;
26995 : : switch (GET_MODE (operands[1]))
26996 : : {
26997 : : case E_V16SFmode:
26998 : : if (!register_operand (operands[1], E_V16SFmode)
26999 : : || !
27000 : : #line 12816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27001 : : (TARGET_AVX512F
27002 : : && reload_completed
27003 : : && (TARGET_AVX512VL
27004 : : || REG_P (operands[0])
27005 : : || !EXT_REX_SSE_REG_P (operands[1]))))
27006 : : return NULL;
27007 : : return gen_split_1635 (insn, operands);
27008 : :
27009 : : case E_V8SFmode:
27010 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
27011 : : || !
27012 : : #line 13215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27013 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
27014 : : && reload_completed))
27015 : : return NULL;
27016 : : return gen_split_1644 (insn, operands);
27017 : :
27018 : : default:
27019 : : return NULL;
27020 : : }
27021 : :
27022 : : case E_V4SImode:
27023 : : if (!nonimmediate_operand (operands[0], E_V4SImode)
27024 : : || GET_MODE (x2) != E_V4SImode)
27025 : : return NULL;
27026 : : switch (GET_MODE (operands[1]))
27027 : : {
27028 : : case E_V16SImode:
27029 : : if (!register_operand (operands[1], E_V16SImode)
27030 : : || !
27031 : : #line 12816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27032 : : (TARGET_AVX512F
27033 : : && reload_completed
27034 : : && (TARGET_AVX512VL
27035 : : || REG_P (operands[0])
27036 : : || !EXT_REX_SSE_REG_P (operands[1]))))
27037 : : return NULL;
27038 : : return gen_split_1636 (insn, operands);
27039 : :
27040 : : case E_V8SImode:
27041 : : if (!nonimmediate_operand (operands[1], E_V8SImode)
27042 : : || !
27043 : : #line 13215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27044 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
27045 : : && reload_completed))
27046 : : return NULL;
27047 : : return gen_split_1643 (insn, operands);
27048 : :
27049 : : default:
27050 : : return NULL;
27051 : : }
27052 : :
27053 : : case E_V4DFmode:
27054 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
27055 : : || GET_MODE (x2) != E_V4DFmode
27056 : : || !nonimmediate_operand (operands[1], E_V8DFmode)
27057 : : || !
27058 : : #line 12879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27059 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
27060 : : && reload_completed
27061 : : && (TARGET_AVX512VL
27062 : : || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
27063 : : return NULL;
27064 : : return gen_split_1637 (insn, operands);
27065 : :
27066 : : case E_V4DImode:
27067 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
27068 : : || GET_MODE (x2) != E_V4DImode
27069 : : || !nonimmediate_operand (operands[1], E_V8DImode)
27070 : : || !
27071 : : #line 12879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27072 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
27073 : : && reload_completed
27074 : : && (TARGET_AVX512VL
27075 : : || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
27076 : : return NULL;
27077 : : return gen_split_1638 (insn, operands);
27078 : :
27079 : : default:
27080 : : return NULL;
27081 : : }
27082 : : }
27083 : :
27084 : : rtx_insn *
27085 : : split_66 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27086 : : {
27087 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27088 : : rtx x2, x3, x4, x5;
27089 : : rtx_insn *res ATTRIBUTE_UNUSED;
27090 : : x2 = XEXP (x1, 1);
27091 : : x3 = XEXP (x2, 1);
27092 : : switch (XVECLEN (x3, 0))
27093 : : {
27094 : : case 2:
27095 : : res = split_63 (x1, insn);
27096 : : if (res != NULL_RTX)
27097 : : return res;
27098 : : break;
27099 : :
27100 : : case 4:
27101 : : res = split_64 (x1, insn);
27102 : : if (res != NULL_RTX)
27103 : : return res;
27104 : : break;
27105 : :
27106 : : case 8:
27107 : : res = split_65 (x1, insn);
27108 : : if (res != NULL_RTX)
27109 : : return res;
27110 : : break;
27111 : :
27112 : : case 16:
27113 : : if (pattern837 (x3,
27114 : : 6,
27115 : : 5,
27116 : : 4) == 0
27117 : : && pattern1508 (x3,
27118 : : 11,
27119 : : 10,
27120 : : 9,
27121 : : 8,
27122 : : 7) == 0)
27123 : : {
27124 : : switch (pattern1795 (x2))
27125 : : {
27126 : : case 0:
27127 : : if ((
27128 : : #line 13298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27129 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27130 : : #line 13307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27131 : : ( reload_completed
27132 : : && (TARGET_AVX512VL
27133 : : || REG_P (operands[0])
27134 : : || !EXT_REX_SSE_REG_P (operands[1])))))
27135 : : return gen_split_1645 (insn, operands);
27136 : : break;
27137 : :
27138 : : case 1:
27139 : : if ((
27140 : : #line 13298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27141 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27142 : : #line 13307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27143 : : ( reload_completed
27144 : : && (TARGET_AVX512VL
27145 : : || REG_P (operands[0])
27146 : : || !EXT_REX_SSE_REG_P (operands[1])))))
27147 : : return gen_split_1646 (insn, operands);
27148 : : break;
27149 : :
27150 : : case 2:
27151 : : if ((
27152 : : #line 13298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27153 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27154 : : #line 13307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27155 : : ( reload_completed
27156 : : && (TARGET_AVX512VL
27157 : : || REG_P (operands[0])
27158 : : || !EXT_REX_SSE_REG_P (operands[1])))))
27159 : : return gen_split_1647 (insn, operands);
27160 : : break;
27161 : :
27162 : : case 3:
27163 : : if ((
27164 : : #line 13468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27165 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27166 : : #line 13470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27167 : : ( reload_completed)))
27168 : : return gen_split_1652 (insn, operands);
27169 : : break;
27170 : :
27171 : : default:
27172 : : break;
27173 : : }
27174 : : }
27175 : : break;
27176 : :
27177 : : case 32:
27178 : : if (pattern839 (x3,
27179 : : 11,
27180 : : 10,
27181 : : 9,
27182 : : 8) == 0
27183 : : && pattern1702 (x3,
27184 : : 15,
27185 : : 14,
27186 : : 13,
27187 : : 12,
27188 : : 16) == 0
27189 : : && pattern1822 (x3,
27190 : : 21,
27191 : : 20,
27192 : : 19,
27193 : : 18,
27194 : : 17) == 0
27195 : : && pattern1864 (x3,
27196 : : 26,
27197 : : 25,
27198 : : 24,
27199 : : 23,
27200 : : 22) == 0)
27201 : : {
27202 : : x4 = XVECEXP (x3, 0, 27);
27203 : : if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 27]
27204 : : && pattern1882 (x3,
27205 : : 31,
27206 : : 30,
27207 : : 29,
27208 : : 28) == 0
27209 : : && nonimmediate_operand (operands[0], E_V32QImode)
27210 : : && GET_MODE (x2) == E_V32QImode
27211 : : && nonimmediate_operand (operands[1], E_V64QImode)
27212 : : && (
27213 : : #line 13400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27214 : : (TARGET_AVX512F
27215 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27216 : : #line 13410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27217 : : ( reload_completed
27218 : : && (TARGET_AVX512VL
27219 : : || REG_P (operands[0])
27220 : : || !EXT_REX_SSE_REG_P (operands[1])))))
27221 : : return gen_split_1651 (insn, operands);
27222 : : }
27223 : : break;
27224 : :
27225 : : default:
27226 : : break;
27227 : : }
27228 : : if (XVECLEN (x3, 0) < 1)
27229 : : return NULL;
27230 : : operands[2] = x3;
27231 : : if (!avx_vbroadcast_operand (operands[2], E_VOIDmode))
27232 : : return NULL;
27233 : : x5 = XVECEXP (x3, 0, 0);
27234 : : operands[3] = x5;
27235 : : if (!const_int_operand (operands[3], E_VOIDmode))
27236 : : return NULL;
27237 : : switch (GET_MODE (operands[0]))
27238 : : {
27239 : : case E_V8SFmode:
27240 : : if (!register_operand (operands[0], E_V8SFmode)
27241 : : || GET_MODE (x2) != E_V8SFmode
27242 : : || !nonimmediate_operand (operands[1], E_V8SFmode)
27243 : : || !(
27244 : : #line 27788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27245 : : (TARGET_AVX
27246 : : && (V8SFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)) &&
27247 : : #line 27791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27248 : : ( reload_completed)))
27249 : : return NULL;
27250 : : return gen_split_3816 (insn, operands);
27251 : :
27252 : : case E_V4DFmode:
27253 : : if (!register_operand (operands[0], E_V4DFmode)
27254 : : || GET_MODE (x2) != E_V4DFmode
27255 : : || !nonimmediate_operand (operands[1], E_V4DFmode)
27256 : : || !(
27257 : : #line 27788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27258 : : (TARGET_AVX
27259 : : && (V4DFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)) &&
27260 : : #line 27791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27261 : : ( reload_completed)))
27262 : : return NULL;
27263 : : return gen_split_3817 (insn, operands);
27264 : :
27265 : : default:
27266 : : return NULL;
27267 : : }
27268 : : }
27269 : :
27270 : : rtx_insn *
27271 : : split_68 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27272 : : {
27273 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27274 : : rtx x2, x3, x4;
27275 : : rtx_insn *res ATTRIBUTE_UNUSED;
27276 : : x2 = XEXP (x1, 1);
27277 : : x3 = XEXP (x2, 0);
27278 : : x4 = XEXP (x3, 0);
27279 : : switch (GET_CODE (x4))
27280 : : {
27281 : : case REG:
27282 : : case SUBREG:
27283 : : case MEM:
27284 : : case NOT:
27285 : : switch (pattern530 (x2))
27286 : : {
27287 : : case 0:
27288 : : if (!((
27289 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27290 : : ((64 == 64 || TARGET_AVX512VL
27291 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27292 : : && ix86_pre_reload_split ()
27293 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27294 : : STRIP_UNARY (operands[4]))
27295 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27296 : : STRIP_UNARY (operands[4]))
27297 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27298 : : STRIP_UNARY (operands[3]))
27299 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27300 : : STRIP_UNARY (operands[3])))) &&
27301 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27302 : : (TARGET_AVX512F)) &&
27303 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27304 : : ( 1)))
27305 : : return NULL;
27306 : : return gen_split_1742 (insn, operands);
27307 : :
27308 : : case 1:
27309 : : if (!((
27310 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27311 : : ((32 == 64 || TARGET_AVX512VL
27312 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27313 : : && ix86_pre_reload_split ()
27314 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27315 : : STRIP_UNARY (operands[4]))
27316 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27317 : : STRIP_UNARY (operands[4]))
27318 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27319 : : STRIP_UNARY (operands[3]))
27320 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27321 : : STRIP_UNARY (operands[3])))) &&
27322 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27323 : : (TARGET_AVX)) &&
27324 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27325 : : ( 1)))
27326 : : return NULL;
27327 : : return gen_split_1769 (insn, operands);
27328 : :
27329 : : case 2:
27330 : : if (!(
27331 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27332 : : ((16 == 64 || TARGET_AVX512VL
27333 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27334 : : && ix86_pre_reload_split ()
27335 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27336 : : STRIP_UNARY (operands[4]))
27337 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27338 : : STRIP_UNARY (operands[4]))
27339 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27340 : : STRIP_UNARY (operands[3]))
27341 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27342 : : STRIP_UNARY (operands[3])))) &&
27343 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27344 : : ( 1)))
27345 : : return NULL;
27346 : : return gen_split_1796 (insn, operands);
27347 : :
27348 : : case 3:
27349 : : if (!((
27350 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27351 : : ((64 == 64 || TARGET_AVX512VL
27352 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27353 : : && ix86_pre_reload_split ()
27354 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27355 : : STRIP_UNARY (operands[4]))
27356 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27357 : : STRIP_UNARY (operands[4]))
27358 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27359 : : STRIP_UNARY (operands[3]))
27360 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27361 : : STRIP_UNARY (operands[3])))) &&
27362 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27363 : : (TARGET_AVX512F)) &&
27364 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27365 : : ( 1)))
27366 : : return NULL;
27367 : : return gen_split_1823 (insn, operands);
27368 : :
27369 : : case 4:
27370 : : if (!((
27371 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27372 : : ((32 == 64 || TARGET_AVX512VL
27373 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27374 : : && ix86_pre_reload_split ()
27375 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27376 : : STRIP_UNARY (operands[4]))
27377 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27378 : : STRIP_UNARY (operands[4]))
27379 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27380 : : STRIP_UNARY (operands[3]))
27381 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27382 : : STRIP_UNARY (operands[3])))) &&
27383 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27384 : : (TARGET_AVX)) &&
27385 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27386 : : ( 1)))
27387 : : return NULL;
27388 : : return gen_split_1850 (insn, operands);
27389 : :
27390 : : case 5:
27391 : : if (!(
27392 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27393 : : ((16 == 64 || TARGET_AVX512VL
27394 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27395 : : && ix86_pre_reload_split ()
27396 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27397 : : STRIP_UNARY (operands[4]))
27398 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27399 : : STRIP_UNARY (operands[4]))
27400 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27401 : : STRIP_UNARY (operands[3]))
27402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27403 : : STRIP_UNARY (operands[3])))) &&
27404 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27405 : : ( 1)))
27406 : : return NULL;
27407 : : return gen_split_1877 (insn, operands);
27408 : :
27409 : : case 6:
27410 : : if (!((
27411 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27412 : : ((64 == 64 || TARGET_AVX512VL
27413 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27414 : : && ix86_pre_reload_split ()
27415 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27416 : : STRIP_UNARY (operands[4]))
27417 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27418 : : STRIP_UNARY (operands[4]))
27419 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27420 : : STRIP_UNARY (operands[3]))
27421 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27422 : : STRIP_UNARY (operands[3])))) &&
27423 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27424 : : (TARGET_AVX512F)) &&
27425 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27426 : : ( 1)))
27427 : : return NULL;
27428 : : return gen_split_1904 (insn, operands);
27429 : :
27430 : : case 7:
27431 : : if (!((
27432 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27433 : : ((32 == 64 || TARGET_AVX512VL
27434 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27435 : : && ix86_pre_reload_split ()
27436 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27437 : : STRIP_UNARY (operands[4]))
27438 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27439 : : STRIP_UNARY (operands[4]))
27440 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27441 : : STRIP_UNARY (operands[3]))
27442 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27443 : : STRIP_UNARY (operands[3])))) &&
27444 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27445 : : (TARGET_AVX)) &&
27446 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27447 : : ( 1)))
27448 : : return NULL;
27449 : : return gen_split_1931 (insn, operands);
27450 : :
27451 : : case 8:
27452 : : if (!(
27453 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27454 : : ((16 == 64 || TARGET_AVX512VL
27455 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27456 : : && ix86_pre_reload_split ()
27457 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27458 : : STRIP_UNARY (operands[4]))
27459 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27460 : : STRIP_UNARY (operands[4]))
27461 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27462 : : STRIP_UNARY (operands[3]))
27463 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27464 : : STRIP_UNARY (operands[3])))) &&
27465 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27466 : : ( 1)))
27467 : : return NULL;
27468 : : return gen_split_1958 (insn, operands);
27469 : :
27470 : : case 9:
27471 : : if (!((
27472 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27473 : : ((64 == 64 || TARGET_AVX512VL
27474 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27475 : : && ix86_pre_reload_split ()
27476 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27477 : : STRIP_UNARY (operands[4]))
27478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27479 : : STRIP_UNARY (operands[4]))
27480 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27481 : : STRIP_UNARY (operands[3]))
27482 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27483 : : STRIP_UNARY (operands[3])))) &&
27484 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27485 : : (TARGET_AVX512F)) &&
27486 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27487 : : ( 1)))
27488 : : return NULL;
27489 : : return gen_split_1985 (insn, operands);
27490 : :
27491 : : case 10:
27492 : : if (!((
27493 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27494 : : ((32 == 64 || TARGET_AVX512VL
27495 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27496 : : && ix86_pre_reload_split ()
27497 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27498 : : STRIP_UNARY (operands[4]))
27499 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27500 : : STRIP_UNARY (operands[4]))
27501 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27502 : : STRIP_UNARY (operands[3]))
27503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27504 : : STRIP_UNARY (operands[3])))) &&
27505 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27506 : : (TARGET_AVX)) &&
27507 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27508 : : ( 1)))
27509 : : return NULL;
27510 : : return gen_split_2012 (insn, operands);
27511 : :
27512 : : case 11:
27513 : : if (!(
27514 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27515 : : ((16 == 64 || TARGET_AVX512VL
27516 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27517 : : && ix86_pre_reload_split ()
27518 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27519 : : STRIP_UNARY (operands[4]))
27520 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27521 : : STRIP_UNARY (operands[4]))
27522 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27523 : : STRIP_UNARY (operands[3]))
27524 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27525 : : STRIP_UNARY (operands[3])))) &&
27526 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27527 : : ( 1)))
27528 : : return NULL;
27529 : : return gen_split_2039 (insn, operands);
27530 : :
27531 : : case 12:
27532 : : if (!((
27533 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27534 : : ((64 == 64 || TARGET_AVX512VL
27535 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27536 : : && ix86_pre_reload_split ()
27537 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27538 : : STRIP_UNARY (operands[4]))
27539 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27540 : : STRIP_UNARY (operands[4]))
27541 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27542 : : STRIP_UNARY (operands[3]))
27543 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27544 : : STRIP_UNARY (operands[3])))) &&
27545 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27546 : : (TARGET_AVX512F)) &&
27547 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27548 : : ( 1)))
27549 : : return NULL;
27550 : : return gen_split_1745 (insn, operands);
27551 : :
27552 : : case 13:
27553 : : if (!((
27554 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27555 : : ((32 == 64 || TARGET_AVX512VL
27556 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27557 : : && ix86_pre_reload_split ()
27558 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27559 : : STRIP_UNARY (operands[4]))
27560 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27561 : : STRIP_UNARY (operands[4]))
27562 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27563 : : STRIP_UNARY (operands[3]))
27564 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27565 : : STRIP_UNARY (operands[3])))) &&
27566 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27567 : : (TARGET_AVX)) &&
27568 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27569 : : ( 1)))
27570 : : return NULL;
27571 : : return gen_split_1772 (insn, operands);
27572 : :
27573 : : case 14:
27574 : : if (!(
27575 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27576 : : ((16 == 64 || TARGET_AVX512VL
27577 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27578 : : && ix86_pre_reload_split ()
27579 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27580 : : STRIP_UNARY (operands[4]))
27581 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27582 : : STRIP_UNARY (operands[4]))
27583 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27584 : : STRIP_UNARY (operands[3]))
27585 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27586 : : STRIP_UNARY (operands[3])))) &&
27587 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27588 : : ( 1)))
27589 : : return NULL;
27590 : : return gen_split_1799 (insn, operands);
27591 : :
27592 : : case 15:
27593 : : if (!((
27594 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27595 : : ((64 == 64 || TARGET_AVX512VL
27596 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27597 : : && ix86_pre_reload_split ()
27598 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27599 : : STRIP_UNARY (operands[4]))
27600 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27601 : : STRIP_UNARY (operands[4]))
27602 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27603 : : STRIP_UNARY (operands[3]))
27604 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27605 : : STRIP_UNARY (operands[3])))) &&
27606 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27607 : : (TARGET_AVX512F)) &&
27608 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27609 : : ( 1)))
27610 : : return NULL;
27611 : : return gen_split_1826 (insn, operands);
27612 : :
27613 : : case 16:
27614 : : if (!((
27615 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27616 : : ((32 == 64 || TARGET_AVX512VL
27617 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27618 : : && ix86_pre_reload_split ()
27619 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27620 : : STRIP_UNARY (operands[4]))
27621 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27622 : : STRIP_UNARY (operands[4]))
27623 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27624 : : STRIP_UNARY (operands[3]))
27625 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27626 : : STRIP_UNARY (operands[3])))) &&
27627 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27628 : : (TARGET_AVX)) &&
27629 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27630 : : ( 1)))
27631 : : return NULL;
27632 : : return gen_split_1853 (insn, operands);
27633 : :
27634 : : case 17:
27635 : : if (!(
27636 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27637 : : ((16 == 64 || TARGET_AVX512VL
27638 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27639 : : && ix86_pre_reload_split ()
27640 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27641 : : STRIP_UNARY (operands[4]))
27642 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27643 : : STRIP_UNARY (operands[4]))
27644 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27645 : : STRIP_UNARY (operands[3]))
27646 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27647 : : STRIP_UNARY (operands[3])))) &&
27648 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27649 : : ( 1)))
27650 : : return NULL;
27651 : : return gen_split_1880 (insn, operands);
27652 : :
27653 : : case 18:
27654 : : if (!((
27655 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27656 : : ((64 == 64 || TARGET_AVX512VL
27657 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27658 : : && ix86_pre_reload_split ()
27659 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27660 : : STRIP_UNARY (operands[4]))
27661 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27662 : : STRIP_UNARY (operands[4]))
27663 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27664 : : STRIP_UNARY (operands[3]))
27665 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27666 : : STRIP_UNARY (operands[3])))) &&
27667 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27668 : : (TARGET_AVX512F)) &&
27669 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27670 : : ( 1)))
27671 : : return NULL;
27672 : : return gen_split_1907 (insn, operands);
27673 : :
27674 : : case 19:
27675 : : if (!((
27676 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27677 : : ((32 == 64 || TARGET_AVX512VL
27678 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27679 : : && ix86_pre_reload_split ()
27680 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27681 : : STRIP_UNARY (operands[4]))
27682 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27683 : : STRIP_UNARY (operands[4]))
27684 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27685 : : STRIP_UNARY (operands[3]))
27686 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27687 : : STRIP_UNARY (operands[3])))) &&
27688 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27689 : : (TARGET_AVX)) &&
27690 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27691 : : ( 1)))
27692 : : return NULL;
27693 : : return gen_split_1934 (insn, operands);
27694 : :
27695 : : case 20:
27696 : : if (!(
27697 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27698 : : ((16 == 64 || TARGET_AVX512VL
27699 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27700 : : && ix86_pre_reload_split ()
27701 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27702 : : STRIP_UNARY (operands[4]))
27703 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27704 : : STRIP_UNARY (operands[4]))
27705 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27706 : : STRIP_UNARY (operands[3]))
27707 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27708 : : STRIP_UNARY (operands[3])))) &&
27709 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27710 : : ( 1)))
27711 : : return NULL;
27712 : : return gen_split_1961 (insn, operands);
27713 : :
27714 : : case 21:
27715 : : if (!((
27716 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27717 : : ((64 == 64 || TARGET_AVX512VL
27718 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27719 : : && ix86_pre_reload_split ()
27720 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27721 : : STRIP_UNARY (operands[4]))
27722 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27723 : : STRIP_UNARY (operands[4]))
27724 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27725 : : STRIP_UNARY (operands[3]))
27726 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27727 : : STRIP_UNARY (operands[3])))) &&
27728 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27729 : : (TARGET_AVX512F)) &&
27730 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27731 : : ( 1)))
27732 : : return NULL;
27733 : : return gen_split_1988 (insn, operands);
27734 : :
27735 : : case 22:
27736 : : if (!((
27737 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27738 : : ((32 == 64 || TARGET_AVX512VL
27739 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27740 : : && ix86_pre_reload_split ()
27741 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27742 : : STRIP_UNARY (operands[4]))
27743 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27744 : : STRIP_UNARY (operands[4]))
27745 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27746 : : STRIP_UNARY (operands[3]))
27747 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27748 : : STRIP_UNARY (operands[3])))) &&
27749 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27750 : : (TARGET_AVX)) &&
27751 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27752 : : ( 1)))
27753 : : return NULL;
27754 : : return gen_split_2015 (insn, operands);
27755 : :
27756 : : case 23:
27757 : : if (!(
27758 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27759 : : ((16 == 64 || TARGET_AVX512VL
27760 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27761 : : && ix86_pre_reload_split ()
27762 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27763 : : STRIP_UNARY (operands[4]))
27764 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27765 : : STRIP_UNARY (operands[4]))
27766 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27767 : : STRIP_UNARY (operands[3]))
27768 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27769 : : STRIP_UNARY (operands[3])))) &&
27770 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27771 : : ( 1)))
27772 : : return NULL;
27773 : : return gen_split_2042 (insn, operands);
27774 : :
27775 : : case 24:
27776 : : if (!((
27777 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27778 : : ((64 == 64 || TARGET_AVX512VL
27779 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27780 : : && ix86_pre_reload_split ()
27781 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27782 : : STRIP_UNARY (operands[4]))
27783 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27784 : : STRIP_UNARY (operands[4]))
27785 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27786 : : STRIP_UNARY (operands[3]))
27787 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27788 : : STRIP_UNARY (operands[3])))) &&
27789 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27790 : : (TARGET_AVX512F)) &&
27791 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27792 : : ( 1)))
27793 : : return NULL;
27794 : : return gen_split_1748 (insn, operands);
27795 : :
27796 : : case 25:
27797 : : if (!((
27798 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27799 : : ((32 == 64 || TARGET_AVX512VL
27800 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27801 : : && ix86_pre_reload_split ()
27802 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27803 : : STRIP_UNARY (operands[4]))
27804 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27805 : : STRIP_UNARY (operands[4]))
27806 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27807 : : STRIP_UNARY (operands[3]))
27808 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27809 : : STRIP_UNARY (operands[3])))) &&
27810 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27811 : : (TARGET_AVX)) &&
27812 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27813 : : ( 1)))
27814 : : return NULL;
27815 : : return gen_split_1775 (insn, operands);
27816 : :
27817 : : case 26:
27818 : : if (!(
27819 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27820 : : ((16 == 64 || TARGET_AVX512VL
27821 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27822 : : && ix86_pre_reload_split ()
27823 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27824 : : STRIP_UNARY (operands[4]))
27825 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27826 : : STRIP_UNARY (operands[4]))
27827 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27828 : : STRIP_UNARY (operands[3]))
27829 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27830 : : STRIP_UNARY (operands[3])))) &&
27831 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27832 : : ( 1)))
27833 : : return NULL;
27834 : : return gen_split_1802 (insn, operands);
27835 : :
27836 : : case 27:
27837 : : if (!((
27838 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27839 : : ((64 == 64 || TARGET_AVX512VL
27840 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27841 : : && ix86_pre_reload_split ()
27842 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27843 : : STRIP_UNARY (operands[4]))
27844 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27845 : : STRIP_UNARY (operands[4]))
27846 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27847 : : STRIP_UNARY (operands[3]))
27848 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27849 : : STRIP_UNARY (operands[3])))) &&
27850 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27851 : : (TARGET_AVX512F)) &&
27852 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27853 : : ( 1)))
27854 : : return NULL;
27855 : : return gen_split_1829 (insn, operands);
27856 : :
27857 : : case 28:
27858 : : if (!((
27859 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27860 : : ((32 == 64 || TARGET_AVX512VL
27861 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27862 : : && ix86_pre_reload_split ()
27863 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27864 : : STRIP_UNARY (operands[4]))
27865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27866 : : STRIP_UNARY (operands[4]))
27867 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27868 : : STRIP_UNARY (operands[3]))
27869 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27870 : : STRIP_UNARY (operands[3])))) &&
27871 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27872 : : (TARGET_AVX)) &&
27873 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27874 : : ( 1)))
27875 : : return NULL;
27876 : : return gen_split_1856 (insn, operands);
27877 : :
27878 : : case 29:
27879 : : if (!(
27880 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27881 : : ((16 == 64 || TARGET_AVX512VL
27882 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27883 : : && ix86_pre_reload_split ()
27884 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27885 : : STRIP_UNARY (operands[4]))
27886 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27887 : : STRIP_UNARY (operands[4]))
27888 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27889 : : STRIP_UNARY (operands[3]))
27890 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27891 : : STRIP_UNARY (operands[3])))) &&
27892 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27893 : : ( 1)))
27894 : : return NULL;
27895 : : return gen_split_1883 (insn, operands);
27896 : :
27897 : : case 30:
27898 : : if (!((
27899 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27900 : : ((64 == 64 || TARGET_AVX512VL
27901 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27902 : : && ix86_pre_reload_split ()
27903 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27904 : : STRIP_UNARY (operands[4]))
27905 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27906 : : STRIP_UNARY (operands[4]))
27907 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27908 : : STRIP_UNARY (operands[3]))
27909 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27910 : : STRIP_UNARY (operands[3])))) &&
27911 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27912 : : (TARGET_AVX512F)) &&
27913 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27914 : : ( 1)))
27915 : : return NULL;
27916 : : return gen_split_1910 (insn, operands);
27917 : :
27918 : : case 31:
27919 : : if (!((
27920 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27921 : : ((32 == 64 || TARGET_AVX512VL
27922 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27923 : : && ix86_pre_reload_split ()
27924 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27925 : : STRIP_UNARY (operands[4]))
27926 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27927 : : STRIP_UNARY (operands[4]))
27928 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27929 : : STRIP_UNARY (operands[3]))
27930 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27931 : : STRIP_UNARY (operands[3])))) &&
27932 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27933 : : (TARGET_AVX)) &&
27934 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27935 : : ( 1)))
27936 : : return NULL;
27937 : : return gen_split_1937 (insn, operands);
27938 : :
27939 : : case 32:
27940 : : if (!(
27941 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27942 : : ((16 == 64 || TARGET_AVX512VL
27943 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27944 : : && ix86_pre_reload_split ()
27945 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27946 : : STRIP_UNARY (operands[4]))
27947 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27948 : : STRIP_UNARY (operands[4]))
27949 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27950 : : STRIP_UNARY (operands[3]))
27951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27952 : : STRIP_UNARY (operands[3])))) &&
27953 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27954 : : ( 1)))
27955 : : return NULL;
27956 : : return gen_split_1964 (insn, operands);
27957 : :
27958 : : case 33:
27959 : : if (!((
27960 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27961 : : ((64 == 64 || TARGET_AVX512VL
27962 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27963 : : && ix86_pre_reload_split ()
27964 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27965 : : STRIP_UNARY (operands[4]))
27966 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27967 : : STRIP_UNARY (operands[4]))
27968 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27969 : : STRIP_UNARY (operands[3]))
27970 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27971 : : STRIP_UNARY (operands[3])))) &&
27972 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27973 : : (TARGET_AVX512F)) &&
27974 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27975 : : ( 1)))
27976 : : return NULL;
27977 : : return gen_split_1991 (insn, operands);
27978 : :
27979 : : case 34:
27980 : : if (!((
27981 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27982 : : ((32 == 64 || TARGET_AVX512VL
27983 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27984 : : && ix86_pre_reload_split ()
27985 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27986 : : STRIP_UNARY (operands[4]))
27987 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27988 : : STRIP_UNARY (operands[4]))
27989 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27990 : : STRIP_UNARY (operands[3]))
27991 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27992 : : STRIP_UNARY (operands[3])))) &&
27993 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27994 : : (TARGET_AVX)) &&
27995 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27996 : : ( 1)))
27997 : : return NULL;
27998 : : return gen_split_2018 (insn, operands);
27999 : :
28000 : : case 35:
28001 : : if (!(
28002 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28003 : : ((16 == 64 || TARGET_AVX512VL
28004 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28005 : : && ix86_pre_reload_split ()
28006 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28007 : : STRIP_UNARY (operands[4]))
28008 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28009 : : STRIP_UNARY (operands[4]))
28010 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28011 : : STRIP_UNARY (operands[3]))
28012 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28013 : : STRIP_UNARY (operands[3])))) &&
28014 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28015 : : ( 1)))
28016 : : return NULL;
28017 : : return gen_split_2045 (insn, operands);
28018 : :
28019 : : case 36:
28020 : : if (!((
28021 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28022 : : ((64 == 64 || TARGET_AVX512VL
28023 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28024 : : && ix86_pre_reload_split ()) &&
28025 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28026 : : (TARGET_AVX512F)) &&
28027 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28028 : : ( 1)))
28029 : : return NULL;
28030 : : return gen_split_3032 (insn, operands);
28031 : :
28032 : : case 37:
28033 : : if (!((
28034 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28035 : : ((32 == 64 || TARGET_AVX512VL
28036 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28037 : : && ix86_pre_reload_split ()) &&
28038 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28039 : : (TARGET_AVX)) &&
28040 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28041 : : ( 1)))
28042 : : return NULL;
28043 : : return gen_split_3041 (insn, operands);
28044 : :
28045 : : case 38:
28046 : : if (!(
28047 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28048 : : ((16 == 64 || TARGET_AVX512VL
28049 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28050 : : && ix86_pre_reload_split ()) &&
28051 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28052 : : ( 1)))
28053 : : return NULL;
28054 : : return gen_split_3050 (insn, operands);
28055 : :
28056 : : case 39:
28057 : : if (!((
28058 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28059 : : ((64 == 64 || TARGET_AVX512VL
28060 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28061 : : && ix86_pre_reload_split ()) &&
28062 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28063 : : (TARGET_AVX512F)) &&
28064 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28065 : : ( 1)))
28066 : : return NULL;
28067 : : return gen_split_3059 (insn, operands);
28068 : :
28069 : : case 40:
28070 : : if (!((
28071 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28072 : : ((32 == 64 || TARGET_AVX512VL
28073 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28074 : : && ix86_pre_reload_split ()) &&
28075 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28076 : : (TARGET_AVX)) &&
28077 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28078 : : ( 1)))
28079 : : return NULL;
28080 : : return gen_split_3068 (insn, operands);
28081 : :
28082 : : case 41:
28083 : : if (!(
28084 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28085 : : ((16 == 64 || TARGET_AVX512VL
28086 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28087 : : && ix86_pre_reload_split ()) &&
28088 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28089 : : ( 1)))
28090 : : return NULL;
28091 : : return gen_split_3077 (insn, operands);
28092 : :
28093 : : case 42:
28094 : : if (!((
28095 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28096 : : ((64 == 64 || TARGET_AVX512VL
28097 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28098 : : && ix86_pre_reload_split ()) &&
28099 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28100 : : (TARGET_AVX512F)) &&
28101 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28102 : : ( 1)))
28103 : : return NULL;
28104 : : return gen_split_3086 (insn, operands);
28105 : :
28106 : : case 43:
28107 : : if (!((
28108 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28109 : : ((32 == 64 || TARGET_AVX512VL
28110 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28111 : : && ix86_pre_reload_split ()) &&
28112 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28113 : : (TARGET_AVX)) &&
28114 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28115 : : ( 1)))
28116 : : return NULL;
28117 : : return gen_split_3095 (insn, operands);
28118 : :
28119 : : case 44:
28120 : : if (!(
28121 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28122 : : ((16 == 64 || TARGET_AVX512VL
28123 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28124 : : && ix86_pre_reload_split ()) &&
28125 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28126 : : ( 1)))
28127 : : return NULL;
28128 : : return gen_split_3104 (insn, operands);
28129 : :
28130 : : case 45:
28131 : : if (!((
28132 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28133 : : ((64 == 64 || TARGET_AVX512VL
28134 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28135 : : && ix86_pre_reload_split ()) &&
28136 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28137 : : (TARGET_AVX512F)) &&
28138 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28139 : : ( 1)))
28140 : : return NULL;
28141 : : return gen_split_3113 (insn, operands);
28142 : :
28143 : : case 46:
28144 : : if (!((
28145 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28146 : : ((32 == 64 || TARGET_AVX512VL
28147 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28148 : : && ix86_pre_reload_split ()) &&
28149 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28150 : : (TARGET_AVX)) &&
28151 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28152 : : ( 1)))
28153 : : return NULL;
28154 : : return gen_split_3122 (insn, operands);
28155 : :
28156 : : case 47:
28157 : : if (!(
28158 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28159 : : ((16 == 64 || TARGET_AVX512VL
28160 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28161 : : && ix86_pre_reload_split ()) &&
28162 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28163 : : ( 1)))
28164 : : return NULL;
28165 : : return gen_split_3131 (insn, operands);
28166 : :
28167 : : default:
28168 : : return NULL;
28169 : : }
28170 : :
28171 : : case AND:
28172 : : switch (pattern532 (x2))
28173 : : {
28174 : : case 0:
28175 : : if (!((
28176 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28177 : : ((64 == 64 || TARGET_AVX512VL
28178 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28179 : : && ix86_pre_reload_split ()
28180 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28181 : : STRIP_UNARY (operands[4]))
28182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28183 : : STRIP_UNARY (operands[4]))
28184 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28185 : : STRIP_UNARY (operands[3]))
28186 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28187 : : STRIP_UNARY (operands[3])))) &&
28188 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28189 : : (TARGET_AVX512F)) &&
28190 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28191 : : ( 1)))
28192 : : return NULL;
28193 : : return gen_split_2390 (insn, operands);
28194 : :
28195 : : case 1:
28196 : : if (!((
28197 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28198 : : ((32 == 64 || TARGET_AVX512VL
28199 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28200 : : && ix86_pre_reload_split ()
28201 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28202 : : STRIP_UNARY (operands[4]))
28203 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28204 : : STRIP_UNARY (operands[4]))
28205 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28206 : : STRIP_UNARY (operands[3]))
28207 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28208 : : STRIP_UNARY (operands[3])))) &&
28209 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28210 : : (TARGET_AVX)) &&
28211 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28212 : : ( 1)))
28213 : : return NULL;
28214 : : return gen_split_2417 (insn, operands);
28215 : :
28216 : : case 2:
28217 : : if (!(
28218 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28219 : : ((16 == 64 || TARGET_AVX512VL
28220 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28221 : : && ix86_pre_reload_split ()
28222 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28223 : : STRIP_UNARY (operands[4]))
28224 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28225 : : STRIP_UNARY (operands[4]))
28226 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28227 : : STRIP_UNARY (operands[3]))
28228 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28229 : : STRIP_UNARY (operands[3])))) &&
28230 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28231 : : ( 1)))
28232 : : return NULL;
28233 : : return gen_split_2444 (insn, operands);
28234 : :
28235 : : case 3:
28236 : : if (!((
28237 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28238 : : ((64 == 64 || TARGET_AVX512VL
28239 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28240 : : && ix86_pre_reload_split ()
28241 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28242 : : STRIP_UNARY (operands[4]))
28243 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28244 : : STRIP_UNARY (operands[4]))
28245 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28246 : : STRIP_UNARY (operands[3]))
28247 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28248 : : STRIP_UNARY (operands[3])))) &&
28249 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28250 : : (TARGET_AVX512F)) &&
28251 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28252 : : ( 1)))
28253 : : return NULL;
28254 : : return gen_split_2471 (insn, operands);
28255 : :
28256 : : case 4:
28257 : : if (!((
28258 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28259 : : ((32 == 64 || TARGET_AVX512VL
28260 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28261 : : && ix86_pre_reload_split ()
28262 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28263 : : STRIP_UNARY (operands[4]))
28264 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28265 : : STRIP_UNARY (operands[4]))
28266 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28267 : : STRIP_UNARY (operands[3]))
28268 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28269 : : STRIP_UNARY (operands[3])))) &&
28270 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28271 : : (TARGET_AVX)) &&
28272 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28273 : : ( 1)))
28274 : : return NULL;
28275 : : return gen_split_2498 (insn, operands);
28276 : :
28277 : : case 5:
28278 : : if (!(
28279 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28280 : : ((16 == 64 || TARGET_AVX512VL
28281 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28282 : : && ix86_pre_reload_split ()
28283 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28284 : : STRIP_UNARY (operands[4]))
28285 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28286 : : STRIP_UNARY (operands[4]))
28287 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28288 : : STRIP_UNARY (operands[3]))
28289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28290 : : STRIP_UNARY (operands[3])))) &&
28291 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28292 : : ( 1)))
28293 : : return NULL;
28294 : : return gen_split_2525 (insn, operands);
28295 : :
28296 : : case 6:
28297 : : if (!((
28298 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28299 : : ((64 == 64 || TARGET_AVX512VL
28300 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28301 : : && ix86_pre_reload_split ()
28302 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28303 : : STRIP_UNARY (operands[4]))
28304 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28305 : : STRIP_UNARY (operands[4]))
28306 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28307 : : STRIP_UNARY (operands[3]))
28308 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28309 : : STRIP_UNARY (operands[3])))) &&
28310 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28311 : : (TARGET_AVX512F)) &&
28312 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28313 : : ( 1)))
28314 : : return NULL;
28315 : : return gen_split_2552 (insn, operands);
28316 : :
28317 : : case 7:
28318 : : if (!((
28319 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28320 : : ((32 == 64 || TARGET_AVX512VL
28321 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28322 : : && ix86_pre_reload_split ()
28323 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28324 : : STRIP_UNARY (operands[4]))
28325 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28326 : : STRIP_UNARY (operands[4]))
28327 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28328 : : STRIP_UNARY (operands[3]))
28329 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28330 : : STRIP_UNARY (operands[3])))) &&
28331 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28332 : : (TARGET_AVX)) &&
28333 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28334 : : ( 1)))
28335 : : return NULL;
28336 : : return gen_split_2579 (insn, operands);
28337 : :
28338 : : case 8:
28339 : : if (!(
28340 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28341 : : ((16 == 64 || TARGET_AVX512VL
28342 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28343 : : && ix86_pre_reload_split ()
28344 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28345 : : STRIP_UNARY (operands[4]))
28346 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28347 : : STRIP_UNARY (operands[4]))
28348 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28349 : : STRIP_UNARY (operands[3]))
28350 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28351 : : STRIP_UNARY (operands[3])))) &&
28352 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28353 : : ( 1)))
28354 : : return NULL;
28355 : : return gen_split_2606 (insn, operands);
28356 : :
28357 : : case 9:
28358 : : if (!((
28359 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28360 : : ((64 == 64 || TARGET_AVX512VL
28361 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28362 : : && ix86_pre_reload_split ()
28363 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28364 : : STRIP_UNARY (operands[4]))
28365 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28366 : : STRIP_UNARY (operands[4]))
28367 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28368 : : STRIP_UNARY (operands[3]))
28369 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28370 : : STRIP_UNARY (operands[3])))) &&
28371 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28372 : : (TARGET_AVX512F)) &&
28373 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28374 : : ( 1)))
28375 : : return NULL;
28376 : : return gen_split_2633 (insn, operands);
28377 : :
28378 : : case 10:
28379 : : if (!((
28380 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28381 : : ((32 == 64 || TARGET_AVX512VL
28382 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28383 : : && ix86_pre_reload_split ()
28384 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28385 : : STRIP_UNARY (operands[4]))
28386 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28387 : : STRIP_UNARY (operands[4]))
28388 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28389 : : STRIP_UNARY (operands[3]))
28390 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28391 : : STRIP_UNARY (operands[3])))) &&
28392 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28393 : : (TARGET_AVX)) &&
28394 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28395 : : ( 1)))
28396 : : return NULL;
28397 : : return gen_split_2660 (insn, operands);
28398 : :
28399 : : case 11:
28400 : : if (!(
28401 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28402 : : ((16 == 64 || TARGET_AVX512VL
28403 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28404 : : && ix86_pre_reload_split ()
28405 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28406 : : STRIP_UNARY (operands[4]))
28407 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28408 : : STRIP_UNARY (operands[4]))
28409 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28410 : : STRIP_UNARY (operands[3]))
28411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28412 : : STRIP_UNARY (operands[3])))) &&
28413 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28414 : : ( 1)))
28415 : : return NULL;
28416 : : return gen_split_2687 (insn, operands);
28417 : :
28418 : : default:
28419 : : return NULL;
28420 : : }
28421 : :
28422 : : case IOR:
28423 : : switch (pattern532 (x2))
28424 : : {
28425 : : case 0:
28426 : : if (!((
28427 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28428 : : ((64 == 64 || TARGET_AVX512VL
28429 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28430 : : && ix86_pre_reload_split ()
28431 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28432 : : STRIP_UNARY (operands[4]))
28433 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28434 : : STRIP_UNARY (operands[4]))
28435 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28436 : : STRIP_UNARY (operands[3]))
28437 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28438 : : STRIP_UNARY (operands[3])))) &&
28439 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28440 : : (TARGET_AVX512F)) &&
28441 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28442 : : ( 1)))
28443 : : return NULL;
28444 : : return gen_split_2393 (insn, operands);
28445 : :
28446 : : case 1:
28447 : : if (!((
28448 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28449 : : ((32 == 64 || TARGET_AVX512VL
28450 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28451 : : && ix86_pre_reload_split ()
28452 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28453 : : STRIP_UNARY (operands[4]))
28454 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28455 : : STRIP_UNARY (operands[4]))
28456 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28457 : : STRIP_UNARY (operands[3]))
28458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28459 : : STRIP_UNARY (operands[3])))) &&
28460 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28461 : : (TARGET_AVX)) &&
28462 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28463 : : ( 1)))
28464 : : return NULL;
28465 : : return gen_split_2420 (insn, operands);
28466 : :
28467 : : case 2:
28468 : : if (!(
28469 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28470 : : ((16 == 64 || TARGET_AVX512VL
28471 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28472 : : && ix86_pre_reload_split ()
28473 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28474 : : STRIP_UNARY (operands[4]))
28475 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28476 : : STRIP_UNARY (operands[4]))
28477 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28478 : : STRIP_UNARY (operands[3]))
28479 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28480 : : STRIP_UNARY (operands[3])))) &&
28481 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28482 : : ( 1)))
28483 : : return NULL;
28484 : : return gen_split_2447 (insn, operands);
28485 : :
28486 : : case 3:
28487 : : if (!((
28488 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28489 : : ((64 == 64 || TARGET_AVX512VL
28490 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28491 : : && ix86_pre_reload_split ()
28492 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28493 : : STRIP_UNARY (operands[4]))
28494 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28495 : : STRIP_UNARY (operands[4]))
28496 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28497 : : STRIP_UNARY (operands[3]))
28498 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28499 : : STRIP_UNARY (operands[3])))) &&
28500 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28501 : : (TARGET_AVX512F)) &&
28502 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28503 : : ( 1)))
28504 : : return NULL;
28505 : : return gen_split_2474 (insn, operands);
28506 : :
28507 : : case 4:
28508 : : if (!((
28509 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28510 : : ((32 == 64 || TARGET_AVX512VL
28511 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28512 : : && ix86_pre_reload_split ()
28513 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28514 : : STRIP_UNARY (operands[4]))
28515 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28516 : : STRIP_UNARY (operands[4]))
28517 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28518 : : STRIP_UNARY (operands[3]))
28519 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28520 : : STRIP_UNARY (operands[3])))) &&
28521 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28522 : : (TARGET_AVX)) &&
28523 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28524 : : ( 1)))
28525 : : return NULL;
28526 : : return gen_split_2501 (insn, operands);
28527 : :
28528 : : case 5:
28529 : : if (!(
28530 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28531 : : ((16 == 64 || TARGET_AVX512VL
28532 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28533 : : && ix86_pre_reload_split ()
28534 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28535 : : STRIP_UNARY (operands[4]))
28536 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28537 : : STRIP_UNARY (operands[4]))
28538 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28539 : : STRIP_UNARY (operands[3]))
28540 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28541 : : STRIP_UNARY (operands[3])))) &&
28542 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28543 : : ( 1)))
28544 : : return NULL;
28545 : : return gen_split_2528 (insn, operands);
28546 : :
28547 : : case 6:
28548 : : if (!((
28549 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28550 : : ((64 == 64 || TARGET_AVX512VL
28551 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28552 : : && ix86_pre_reload_split ()
28553 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28554 : : STRIP_UNARY (operands[4]))
28555 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28556 : : STRIP_UNARY (operands[4]))
28557 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28558 : : STRIP_UNARY (operands[3]))
28559 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28560 : : STRIP_UNARY (operands[3])))) &&
28561 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28562 : : (TARGET_AVX512F)) &&
28563 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28564 : : ( 1)))
28565 : : return NULL;
28566 : : return gen_split_2555 (insn, operands);
28567 : :
28568 : : case 7:
28569 : : if (!((
28570 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28571 : : ((32 == 64 || TARGET_AVX512VL
28572 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28573 : : && ix86_pre_reload_split ()
28574 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28575 : : STRIP_UNARY (operands[4]))
28576 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28577 : : STRIP_UNARY (operands[4]))
28578 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28579 : : STRIP_UNARY (operands[3]))
28580 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28581 : : STRIP_UNARY (operands[3])))) &&
28582 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28583 : : (TARGET_AVX)) &&
28584 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28585 : : ( 1)))
28586 : : return NULL;
28587 : : return gen_split_2582 (insn, operands);
28588 : :
28589 : : case 8:
28590 : : if (!(
28591 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28592 : : ((16 == 64 || TARGET_AVX512VL
28593 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28594 : : && ix86_pre_reload_split ()
28595 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28596 : : STRIP_UNARY (operands[4]))
28597 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28598 : : STRIP_UNARY (operands[4]))
28599 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28600 : : STRIP_UNARY (operands[3]))
28601 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28602 : : STRIP_UNARY (operands[3])))) &&
28603 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28604 : : ( 1)))
28605 : : return NULL;
28606 : : return gen_split_2609 (insn, operands);
28607 : :
28608 : : case 9:
28609 : : if (!((
28610 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28611 : : ((64 == 64 || TARGET_AVX512VL
28612 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28613 : : && ix86_pre_reload_split ()
28614 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28615 : : STRIP_UNARY (operands[4]))
28616 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28617 : : STRIP_UNARY (operands[4]))
28618 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28619 : : STRIP_UNARY (operands[3]))
28620 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28621 : : STRIP_UNARY (operands[3])))) &&
28622 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28623 : : (TARGET_AVX512F)) &&
28624 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28625 : : ( 1)))
28626 : : return NULL;
28627 : : return gen_split_2636 (insn, operands);
28628 : :
28629 : : case 10:
28630 : : if (!((
28631 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28632 : : ((32 == 64 || TARGET_AVX512VL
28633 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28634 : : && ix86_pre_reload_split ()
28635 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28636 : : STRIP_UNARY (operands[4]))
28637 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28638 : : STRIP_UNARY (operands[4]))
28639 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28640 : : STRIP_UNARY (operands[3]))
28641 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28642 : : STRIP_UNARY (operands[3])))) &&
28643 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28644 : : (TARGET_AVX)) &&
28645 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28646 : : ( 1)))
28647 : : return NULL;
28648 : : return gen_split_2663 (insn, operands);
28649 : :
28650 : : case 11:
28651 : : if (!(
28652 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28653 : : ((16 == 64 || TARGET_AVX512VL
28654 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28655 : : && ix86_pre_reload_split ()
28656 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28657 : : STRIP_UNARY (operands[4]))
28658 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28659 : : STRIP_UNARY (operands[4]))
28660 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28661 : : STRIP_UNARY (operands[3]))
28662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28663 : : STRIP_UNARY (operands[3])))) &&
28664 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28665 : : ( 1)))
28666 : : return NULL;
28667 : : return gen_split_2690 (insn, operands);
28668 : :
28669 : : default:
28670 : : return NULL;
28671 : : }
28672 : :
28673 : : case XOR:
28674 : : switch (pattern532 (x2))
28675 : : {
28676 : : case 0:
28677 : : if (!((
28678 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28679 : : ((64 == 64 || TARGET_AVX512VL
28680 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28681 : : && ix86_pre_reload_split ()
28682 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28683 : : STRIP_UNARY (operands[4]))
28684 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28685 : : STRIP_UNARY (operands[4]))
28686 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28687 : : STRIP_UNARY (operands[3]))
28688 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28689 : : STRIP_UNARY (operands[3])))) &&
28690 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28691 : : (TARGET_AVX512F)) &&
28692 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28693 : : ( 1)))
28694 : : return NULL;
28695 : : return gen_split_2396 (insn, operands);
28696 : :
28697 : : case 1:
28698 : : if (!((
28699 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28700 : : ((32 == 64 || TARGET_AVX512VL
28701 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28702 : : && ix86_pre_reload_split ()
28703 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28704 : : STRIP_UNARY (operands[4]))
28705 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28706 : : STRIP_UNARY (operands[4]))
28707 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28708 : : STRIP_UNARY (operands[3]))
28709 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28710 : : STRIP_UNARY (operands[3])))) &&
28711 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28712 : : (TARGET_AVX)) &&
28713 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28714 : : ( 1)))
28715 : : return NULL;
28716 : : return gen_split_2423 (insn, operands);
28717 : :
28718 : : case 2:
28719 : : if (!(
28720 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28721 : : ((16 == 64 || TARGET_AVX512VL
28722 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28723 : : && ix86_pre_reload_split ()
28724 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28725 : : STRIP_UNARY (operands[4]))
28726 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28727 : : STRIP_UNARY (operands[4]))
28728 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28729 : : STRIP_UNARY (operands[3]))
28730 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28731 : : STRIP_UNARY (operands[3])))) &&
28732 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28733 : : ( 1)))
28734 : : return NULL;
28735 : : return gen_split_2450 (insn, operands);
28736 : :
28737 : : case 3:
28738 : : if (!((
28739 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28740 : : ((64 == 64 || TARGET_AVX512VL
28741 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28742 : : && ix86_pre_reload_split ()
28743 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28744 : : STRIP_UNARY (operands[4]))
28745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28746 : : STRIP_UNARY (operands[4]))
28747 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28748 : : STRIP_UNARY (operands[3]))
28749 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28750 : : STRIP_UNARY (operands[3])))) &&
28751 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28752 : : (TARGET_AVX512F)) &&
28753 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28754 : : ( 1)))
28755 : : return NULL;
28756 : : return gen_split_2477 (insn, operands);
28757 : :
28758 : : case 4:
28759 : : if (!((
28760 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28761 : : ((32 == 64 || TARGET_AVX512VL
28762 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28763 : : && ix86_pre_reload_split ()
28764 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28765 : : STRIP_UNARY (operands[4]))
28766 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28767 : : STRIP_UNARY (operands[4]))
28768 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28769 : : STRIP_UNARY (operands[3]))
28770 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28771 : : STRIP_UNARY (operands[3])))) &&
28772 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28773 : : (TARGET_AVX)) &&
28774 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28775 : : ( 1)))
28776 : : return NULL;
28777 : : return gen_split_2504 (insn, operands);
28778 : :
28779 : : case 5:
28780 : : if (!(
28781 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28782 : : ((16 == 64 || TARGET_AVX512VL
28783 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28784 : : && ix86_pre_reload_split ()
28785 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28786 : : STRIP_UNARY (operands[4]))
28787 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28788 : : STRIP_UNARY (operands[4]))
28789 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28790 : : STRIP_UNARY (operands[3]))
28791 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28792 : : STRIP_UNARY (operands[3])))) &&
28793 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28794 : : ( 1)))
28795 : : return NULL;
28796 : : return gen_split_2531 (insn, operands);
28797 : :
28798 : : case 6:
28799 : : if (!((
28800 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28801 : : ((64 == 64 || TARGET_AVX512VL
28802 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28803 : : && ix86_pre_reload_split ()
28804 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28805 : : STRIP_UNARY (operands[4]))
28806 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28807 : : STRIP_UNARY (operands[4]))
28808 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28809 : : STRIP_UNARY (operands[3]))
28810 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28811 : : STRIP_UNARY (operands[3])))) &&
28812 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28813 : : (TARGET_AVX512F)) &&
28814 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28815 : : ( 1)))
28816 : : return NULL;
28817 : : return gen_split_2558 (insn, operands);
28818 : :
28819 : : case 7:
28820 : : if (!((
28821 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28822 : : ((32 == 64 || TARGET_AVX512VL
28823 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28824 : : && ix86_pre_reload_split ()
28825 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28826 : : STRIP_UNARY (operands[4]))
28827 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28828 : : STRIP_UNARY (operands[4]))
28829 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28830 : : STRIP_UNARY (operands[3]))
28831 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28832 : : STRIP_UNARY (operands[3])))) &&
28833 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28834 : : (TARGET_AVX)) &&
28835 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28836 : : ( 1)))
28837 : : return NULL;
28838 : : return gen_split_2585 (insn, operands);
28839 : :
28840 : : case 8:
28841 : : if (!(
28842 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28843 : : ((16 == 64 || TARGET_AVX512VL
28844 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28845 : : && ix86_pre_reload_split ()
28846 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28847 : : STRIP_UNARY (operands[4]))
28848 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28849 : : STRIP_UNARY (operands[4]))
28850 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28851 : : STRIP_UNARY (operands[3]))
28852 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28853 : : STRIP_UNARY (operands[3])))) &&
28854 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28855 : : ( 1)))
28856 : : return NULL;
28857 : : return gen_split_2612 (insn, operands);
28858 : :
28859 : : case 9:
28860 : : if (!((
28861 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28862 : : ((64 == 64 || TARGET_AVX512VL
28863 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28864 : : && ix86_pre_reload_split ()
28865 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28866 : : STRIP_UNARY (operands[4]))
28867 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28868 : : STRIP_UNARY (operands[4]))
28869 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28870 : : STRIP_UNARY (operands[3]))
28871 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28872 : : STRIP_UNARY (operands[3])))) &&
28873 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28874 : : (TARGET_AVX512F)) &&
28875 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28876 : : ( 1)))
28877 : : return NULL;
28878 : : return gen_split_2639 (insn, operands);
28879 : :
28880 : : case 10:
28881 : : if (!((
28882 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28883 : : ((32 == 64 || TARGET_AVX512VL
28884 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28885 : : && ix86_pre_reload_split ()
28886 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28887 : : STRIP_UNARY (operands[4]))
28888 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28889 : : STRIP_UNARY (operands[4]))
28890 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28891 : : STRIP_UNARY (operands[3]))
28892 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28893 : : STRIP_UNARY (operands[3])))) &&
28894 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28895 : : (TARGET_AVX)) &&
28896 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28897 : : ( 1)))
28898 : : return NULL;
28899 : : return gen_split_2666 (insn, operands);
28900 : :
28901 : : case 11:
28902 : : if (!(
28903 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28904 : : ((16 == 64 || TARGET_AVX512VL
28905 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28906 : : && ix86_pre_reload_split ()
28907 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28908 : : STRIP_UNARY (operands[4]))
28909 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28910 : : STRIP_UNARY (operands[4]))
28911 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28912 : : STRIP_UNARY (operands[3]))
28913 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28914 : : STRIP_UNARY (operands[3])))) &&
28915 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28916 : : ( 1)))
28917 : : return NULL;
28918 : : return gen_split_2693 (insn, operands);
28919 : :
28920 : : default:
28921 : : return NULL;
28922 : : }
28923 : :
28924 : : default:
28925 : : return NULL;
28926 : : }
28927 : : }
28928 : :
28929 : : rtx_insn *
28930 : : split_78 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28931 : : {
28932 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28933 : : rtx x2, x3, x4;
28934 : : rtx_insn *res ATTRIBUTE_UNUSED;
28935 : : x2 = XEXP (x1, 1);
28936 : : x3 = XEXP (x2, 0);
28937 : : switch (GET_CODE (x3))
28938 : : {
28939 : : case AND:
28940 : : x4 = XEXP (x3, 0);
28941 : : switch (GET_CODE (x4))
28942 : : {
28943 : : case REG:
28944 : : case SUBREG:
28945 : : case MEM:
28946 : : case NOT:
28947 : : switch (pattern534 (x2))
28948 : : {
28949 : : case 0:
28950 : : if (!((
28951 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28952 : : ((64 == 64 || TARGET_AVX512VL
28953 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28954 : : && ix86_pre_reload_split ()
28955 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28956 : : STRIP_UNARY (operands[4]))
28957 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28958 : : STRIP_UNARY (operands[4]))
28959 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28960 : : STRIP_UNARY (operands[3]))
28961 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28962 : : STRIP_UNARY (operands[3])))) &&
28963 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28964 : : (TARGET_AVX512F)) &&
28965 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28966 : : ( 1)))
28967 : : return NULL;
28968 : : return gen_split_2058 (insn, operands);
28969 : :
28970 : : case 1:
28971 : : if (!((
28972 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28973 : : ((32 == 64 || TARGET_AVX512VL
28974 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28975 : : && ix86_pre_reload_split ()
28976 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28977 : : STRIP_UNARY (operands[4]))
28978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28979 : : STRIP_UNARY (operands[4]))
28980 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28981 : : STRIP_UNARY (operands[3]))
28982 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28983 : : STRIP_UNARY (operands[3])))) &&
28984 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28985 : : (TARGET_AVX)) &&
28986 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28987 : : ( 1)))
28988 : : return NULL;
28989 : : return gen_split_2085 (insn, operands);
28990 : :
28991 : : case 2:
28992 : : if (!(
28993 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28994 : : ((16 == 64 || TARGET_AVX512VL
28995 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28996 : : && ix86_pre_reload_split ()
28997 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28998 : : STRIP_UNARY (operands[4]))
28999 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29000 : : STRIP_UNARY (operands[4]))
29001 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29002 : : STRIP_UNARY (operands[3]))
29003 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29004 : : STRIP_UNARY (operands[3])))) &&
29005 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29006 : : ( 1)))
29007 : : return NULL;
29008 : : return gen_split_2112 (insn, operands);
29009 : :
29010 : : case 3:
29011 : : if (!((
29012 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29013 : : ((64 == 64 || TARGET_AVX512VL
29014 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29015 : : && ix86_pre_reload_split ()
29016 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29017 : : STRIP_UNARY (operands[4]))
29018 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29019 : : STRIP_UNARY (operands[4]))
29020 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29021 : : STRIP_UNARY (operands[3]))
29022 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29023 : : STRIP_UNARY (operands[3])))) &&
29024 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29025 : : (TARGET_AVX512F)) &&
29026 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29027 : : ( 1)))
29028 : : return NULL;
29029 : : return gen_split_2139 (insn, operands);
29030 : :
29031 : : case 4:
29032 : : if (!((
29033 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29034 : : ((32 == 64 || TARGET_AVX512VL
29035 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29036 : : && ix86_pre_reload_split ()
29037 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29038 : : STRIP_UNARY (operands[4]))
29039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29040 : : STRIP_UNARY (operands[4]))
29041 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29042 : : STRIP_UNARY (operands[3]))
29043 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29044 : : STRIP_UNARY (operands[3])))) &&
29045 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29046 : : (TARGET_AVX)) &&
29047 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29048 : : ( 1)))
29049 : : return NULL;
29050 : : return gen_split_2166 (insn, operands);
29051 : :
29052 : : case 5:
29053 : : if (!(
29054 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29055 : : ((16 == 64 || TARGET_AVX512VL
29056 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29057 : : && ix86_pre_reload_split ()
29058 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29059 : : STRIP_UNARY (operands[4]))
29060 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29061 : : STRIP_UNARY (operands[4]))
29062 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29063 : : STRIP_UNARY (operands[3]))
29064 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29065 : : STRIP_UNARY (operands[3])))) &&
29066 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29067 : : ( 1)))
29068 : : return NULL;
29069 : : return gen_split_2193 (insn, operands);
29070 : :
29071 : : case 6:
29072 : : if (!((
29073 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29074 : : ((64 == 64 || TARGET_AVX512VL
29075 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29076 : : && ix86_pre_reload_split ()
29077 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29078 : : STRIP_UNARY (operands[4]))
29079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29080 : : STRIP_UNARY (operands[4]))
29081 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29082 : : STRIP_UNARY (operands[3]))
29083 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29084 : : STRIP_UNARY (operands[3])))) &&
29085 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29086 : : (TARGET_AVX512F)) &&
29087 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29088 : : ( 1)))
29089 : : return NULL;
29090 : : return gen_split_2220 (insn, operands);
29091 : :
29092 : : case 7:
29093 : : if (!((
29094 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29095 : : ((32 == 64 || TARGET_AVX512VL
29096 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29097 : : && ix86_pre_reload_split ()
29098 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29099 : : STRIP_UNARY (operands[4]))
29100 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29101 : : STRIP_UNARY (operands[4]))
29102 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29103 : : STRIP_UNARY (operands[3]))
29104 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29105 : : STRIP_UNARY (operands[3])))) &&
29106 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29107 : : (TARGET_AVX)) &&
29108 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29109 : : ( 1)))
29110 : : return NULL;
29111 : : return gen_split_2247 (insn, operands);
29112 : :
29113 : : case 8:
29114 : : if (!(
29115 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29116 : : ((16 == 64 || TARGET_AVX512VL
29117 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29118 : : && ix86_pre_reload_split ()
29119 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29120 : : STRIP_UNARY (operands[4]))
29121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29122 : : STRIP_UNARY (operands[4]))
29123 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29124 : : STRIP_UNARY (operands[3]))
29125 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29126 : : STRIP_UNARY (operands[3])))) &&
29127 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29128 : : ( 1)))
29129 : : return NULL;
29130 : : return gen_split_2274 (insn, operands);
29131 : :
29132 : : case 9:
29133 : : if (!((
29134 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29135 : : ((64 == 64 || TARGET_AVX512VL
29136 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29137 : : && ix86_pre_reload_split ()
29138 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29139 : : STRIP_UNARY (operands[4]))
29140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29141 : : STRIP_UNARY (operands[4]))
29142 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29143 : : STRIP_UNARY (operands[3]))
29144 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29145 : : STRIP_UNARY (operands[3])))) &&
29146 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29147 : : (TARGET_AVX512F)) &&
29148 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29149 : : ( 1)))
29150 : : return NULL;
29151 : : return gen_split_2301 (insn, operands);
29152 : :
29153 : : case 10:
29154 : : if (!((
29155 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29156 : : ((32 == 64 || TARGET_AVX512VL
29157 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29158 : : && ix86_pre_reload_split ()
29159 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29160 : : STRIP_UNARY (operands[4]))
29161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29162 : : STRIP_UNARY (operands[4]))
29163 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29164 : : STRIP_UNARY (operands[3]))
29165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29166 : : STRIP_UNARY (operands[3])))) &&
29167 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29168 : : (TARGET_AVX)) &&
29169 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29170 : : ( 1)))
29171 : : return NULL;
29172 : : return gen_split_2328 (insn, operands);
29173 : :
29174 : : case 11:
29175 : : if (!((
29176 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29177 : : ((16 == 64 || TARGET_AVX512VL
29178 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29179 : : && ix86_pre_reload_split ()
29180 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29181 : : STRIP_UNARY (operands[4]))
29182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29183 : : STRIP_UNARY (operands[4]))
29184 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29185 : : STRIP_UNARY (operands[3]))
29186 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29187 : : STRIP_UNARY (operands[3])))) &&
29188 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29189 : : (TARGET_SSE2)) &&
29190 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29191 : : ( 1)))
29192 : : return NULL;
29193 : : return gen_split_2355 (insn, operands);
29194 : :
29195 : : case 12:
29196 : : if (!((
29197 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29198 : : ((64 == 64 || TARGET_AVX512VL
29199 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29200 : : && ix86_pre_reload_split ()
29201 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29202 : : STRIP_UNARY (operands[4]))
29203 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29204 : : STRIP_UNARY (operands[4]))
29205 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29206 : : STRIP_UNARY (operands[3]))
29207 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29208 : : STRIP_UNARY (operands[3])))) &&
29209 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29210 : : (TARGET_AVX512F)) &&
29211 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29212 : : ( 1)))
29213 : : return NULL;
29214 : : return gen_split_2061 (insn, operands);
29215 : :
29216 : : case 13:
29217 : : if (!((
29218 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29219 : : ((32 == 64 || TARGET_AVX512VL
29220 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29221 : : && ix86_pre_reload_split ()
29222 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29223 : : STRIP_UNARY (operands[4]))
29224 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29225 : : STRIP_UNARY (operands[4]))
29226 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29227 : : STRIP_UNARY (operands[3]))
29228 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29229 : : STRIP_UNARY (operands[3])))) &&
29230 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29231 : : (TARGET_AVX)) &&
29232 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29233 : : ( 1)))
29234 : : return NULL;
29235 : : return gen_split_2088 (insn, operands);
29236 : :
29237 : : case 14:
29238 : : if (!(
29239 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29240 : : ((16 == 64 || TARGET_AVX512VL
29241 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29242 : : && ix86_pre_reload_split ()
29243 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29244 : : STRIP_UNARY (operands[4]))
29245 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29246 : : STRIP_UNARY (operands[4]))
29247 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29248 : : STRIP_UNARY (operands[3]))
29249 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29250 : : STRIP_UNARY (operands[3])))) &&
29251 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29252 : : ( 1)))
29253 : : return NULL;
29254 : : return gen_split_2115 (insn, operands);
29255 : :
29256 : : case 15:
29257 : : if (!((
29258 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29259 : : ((64 == 64 || TARGET_AVX512VL
29260 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29261 : : && ix86_pre_reload_split ()
29262 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29263 : : STRIP_UNARY (operands[4]))
29264 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29265 : : STRIP_UNARY (operands[4]))
29266 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29267 : : STRIP_UNARY (operands[3]))
29268 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29269 : : STRIP_UNARY (operands[3])))) &&
29270 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29271 : : (TARGET_AVX512F)) &&
29272 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29273 : : ( 1)))
29274 : : return NULL;
29275 : : return gen_split_2142 (insn, operands);
29276 : :
29277 : : case 16:
29278 : : if (!((
29279 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29280 : : ((32 == 64 || TARGET_AVX512VL
29281 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29282 : : && ix86_pre_reload_split ()
29283 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29284 : : STRIP_UNARY (operands[4]))
29285 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29286 : : STRIP_UNARY (operands[4]))
29287 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29288 : : STRIP_UNARY (operands[3]))
29289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29290 : : STRIP_UNARY (operands[3])))) &&
29291 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29292 : : (TARGET_AVX)) &&
29293 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29294 : : ( 1)))
29295 : : return NULL;
29296 : : return gen_split_2169 (insn, operands);
29297 : :
29298 : : case 17:
29299 : : if (!(
29300 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29301 : : ((16 == 64 || TARGET_AVX512VL
29302 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29303 : : && ix86_pre_reload_split ()
29304 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29305 : : STRIP_UNARY (operands[4]))
29306 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29307 : : STRIP_UNARY (operands[4]))
29308 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29309 : : STRIP_UNARY (operands[3]))
29310 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29311 : : STRIP_UNARY (operands[3])))) &&
29312 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29313 : : ( 1)))
29314 : : return NULL;
29315 : : return gen_split_2196 (insn, operands);
29316 : :
29317 : : case 18:
29318 : : if (!((
29319 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29320 : : ((64 == 64 || TARGET_AVX512VL
29321 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29322 : : && ix86_pre_reload_split ()
29323 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29324 : : STRIP_UNARY (operands[4]))
29325 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29326 : : STRIP_UNARY (operands[4]))
29327 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29328 : : STRIP_UNARY (operands[3]))
29329 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29330 : : STRIP_UNARY (operands[3])))) &&
29331 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29332 : : (TARGET_AVX512F)) &&
29333 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29334 : : ( 1)))
29335 : : return NULL;
29336 : : return gen_split_2223 (insn, operands);
29337 : :
29338 : : case 19:
29339 : : if (!((
29340 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29341 : : ((32 == 64 || TARGET_AVX512VL
29342 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29343 : : && ix86_pre_reload_split ()
29344 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29345 : : STRIP_UNARY (operands[4]))
29346 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29347 : : STRIP_UNARY (operands[4]))
29348 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29349 : : STRIP_UNARY (operands[3]))
29350 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29351 : : STRIP_UNARY (operands[3])))) &&
29352 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29353 : : (TARGET_AVX)) &&
29354 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29355 : : ( 1)))
29356 : : return NULL;
29357 : : return gen_split_2250 (insn, operands);
29358 : :
29359 : : case 20:
29360 : : if (!(
29361 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29362 : : ((16 == 64 || TARGET_AVX512VL
29363 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29364 : : && ix86_pre_reload_split ()
29365 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29366 : : STRIP_UNARY (operands[4]))
29367 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29368 : : STRIP_UNARY (operands[4]))
29369 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29370 : : STRIP_UNARY (operands[3]))
29371 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29372 : : STRIP_UNARY (operands[3])))) &&
29373 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29374 : : ( 1)))
29375 : : return NULL;
29376 : : return gen_split_2277 (insn, operands);
29377 : :
29378 : : case 21:
29379 : : if (!((
29380 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29381 : : ((64 == 64 || TARGET_AVX512VL
29382 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29383 : : && ix86_pre_reload_split ()
29384 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29385 : : STRIP_UNARY (operands[4]))
29386 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29387 : : STRIP_UNARY (operands[4]))
29388 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29389 : : STRIP_UNARY (operands[3]))
29390 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29391 : : STRIP_UNARY (operands[3])))) &&
29392 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29393 : : (TARGET_AVX512F)) &&
29394 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29395 : : ( 1)))
29396 : : return NULL;
29397 : : return gen_split_2304 (insn, operands);
29398 : :
29399 : : case 22:
29400 : : if (!((
29401 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29402 : : ((32 == 64 || TARGET_AVX512VL
29403 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29404 : : && ix86_pre_reload_split ()
29405 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29406 : : STRIP_UNARY (operands[4]))
29407 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29408 : : STRIP_UNARY (operands[4]))
29409 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29410 : : STRIP_UNARY (operands[3]))
29411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29412 : : STRIP_UNARY (operands[3])))) &&
29413 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29414 : : (TARGET_AVX)) &&
29415 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29416 : : ( 1)))
29417 : : return NULL;
29418 : : return gen_split_2331 (insn, operands);
29419 : :
29420 : : case 23:
29421 : : if (!((
29422 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29423 : : ((16 == 64 || TARGET_AVX512VL
29424 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29425 : : && ix86_pre_reload_split ()
29426 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29427 : : STRIP_UNARY (operands[4]))
29428 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29429 : : STRIP_UNARY (operands[4]))
29430 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29431 : : STRIP_UNARY (operands[3]))
29432 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29433 : : STRIP_UNARY (operands[3])))) &&
29434 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29435 : : (TARGET_SSE2)) &&
29436 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29437 : : ( 1)))
29438 : : return NULL;
29439 : : return gen_split_2358 (insn, operands);
29440 : :
29441 : : case 24:
29442 : : if (!((
29443 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29444 : : ((64 == 64 || TARGET_AVX512VL
29445 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29446 : : && ix86_pre_reload_split ()
29447 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29448 : : STRIP_UNARY (operands[4]))
29449 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29450 : : STRIP_UNARY (operands[4]))
29451 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29452 : : STRIP_UNARY (operands[3]))
29453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29454 : : STRIP_UNARY (operands[3])))) &&
29455 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29456 : : (TARGET_AVX512F)) &&
29457 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29458 : : ( 1)))
29459 : : return NULL;
29460 : : return gen_split_2064 (insn, operands);
29461 : :
29462 : : case 25:
29463 : : if (!((
29464 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29465 : : ((32 == 64 || TARGET_AVX512VL
29466 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29467 : : && ix86_pre_reload_split ()
29468 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29469 : : STRIP_UNARY (operands[4]))
29470 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29471 : : STRIP_UNARY (operands[4]))
29472 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29473 : : STRIP_UNARY (operands[3]))
29474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29475 : : STRIP_UNARY (operands[3])))) &&
29476 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29477 : : (TARGET_AVX)) &&
29478 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29479 : : ( 1)))
29480 : : return NULL;
29481 : : return gen_split_2091 (insn, operands);
29482 : :
29483 : : case 26:
29484 : : if (!(
29485 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29486 : : ((16 == 64 || TARGET_AVX512VL
29487 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29488 : : && ix86_pre_reload_split ()
29489 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29490 : : STRIP_UNARY (operands[4]))
29491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29492 : : STRIP_UNARY (operands[4]))
29493 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29494 : : STRIP_UNARY (operands[3]))
29495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29496 : : STRIP_UNARY (operands[3])))) &&
29497 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29498 : : ( 1)))
29499 : : return NULL;
29500 : : return gen_split_2118 (insn, operands);
29501 : :
29502 : : case 27:
29503 : : if (!((
29504 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29505 : : ((64 == 64 || TARGET_AVX512VL
29506 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29507 : : && ix86_pre_reload_split ()
29508 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29509 : : STRIP_UNARY (operands[4]))
29510 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29511 : : STRIP_UNARY (operands[4]))
29512 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29513 : : STRIP_UNARY (operands[3]))
29514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29515 : : STRIP_UNARY (operands[3])))) &&
29516 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29517 : : (TARGET_AVX512F)) &&
29518 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29519 : : ( 1)))
29520 : : return NULL;
29521 : : return gen_split_2145 (insn, operands);
29522 : :
29523 : : case 28:
29524 : : if (!((
29525 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29526 : : ((32 == 64 || TARGET_AVX512VL
29527 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29528 : : && ix86_pre_reload_split ()
29529 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29530 : : STRIP_UNARY (operands[4]))
29531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29532 : : STRIP_UNARY (operands[4]))
29533 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29534 : : STRIP_UNARY (operands[3]))
29535 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29536 : : STRIP_UNARY (operands[3])))) &&
29537 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29538 : : (TARGET_AVX)) &&
29539 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29540 : : ( 1)))
29541 : : return NULL;
29542 : : return gen_split_2172 (insn, operands);
29543 : :
29544 : : case 29:
29545 : : if (!(
29546 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29547 : : ((16 == 64 || TARGET_AVX512VL
29548 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29549 : : && ix86_pre_reload_split ()
29550 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29551 : : STRIP_UNARY (operands[4]))
29552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29553 : : STRIP_UNARY (operands[4]))
29554 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29555 : : STRIP_UNARY (operands[3]))
29556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29557 : : STRIP_UNARY (operands[3])))) &&
29558 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29559 : : ( 1)))
29560 : : return NULL;
29561 : : return gen_split_2199 (insn, operands);
29562 : :
29563 : : case 30:
29564 : : if (!((
29565 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29566 : : ((64 == 64 || TARGET_AVX512VL
29567 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29568 : : && ix86_pre_reload_split ()
29569 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29570 : : STRIP_UNARY (operands[4]))
29571 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29572 : : STRIP_UNARY (operands[4]))
29573 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29574 : : STRIP_UNARY (operands[3]))
29575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29576 : : STRIP_UNARY (operands[3])))) &&
29577 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29578 : : (TARGET_AVX512F)) &&
29579 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29580 : : ( 1)))
29581 : : return NULL;
29582 : : return gen_split_2226 (insn, operands);
29583 : :
29584 : : case 31:
29585 : : if (!((
29586 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29587 : : ((32 == 64 || TARGET_AVX512VL
29588 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29589 : : && ix86_pre_reload_split ()
29590 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29591 : : STRIP_UNARY (operands[4]))
29592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29593 : : STRIP_UNARY (operands[4]))
29594 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29595 : : STRIP_UNARY (operands[3]))
29596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29597 : : STRIP_UNARY (operands[3])))) &&
29598 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29599 : : (TARGET_AVX)) &&
29600 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29601 : : ( 1)))
29602 : : return NULL;
29603 : : return gen_split_2253 (insn, operands);
29604 : :
29605 : : case 32:
29606 : : if (!(
29607 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29608 : : ((16 == 64 || TARGET_AVX512VL
29609 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29610 : : && ix86_pre_reload_split ()
29611 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29612 : : STRIP_UNARY (operands[4]))
29613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29614 : : STRIP_UNARY (operands[4]))
29615 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29616 : : STRIP_UNARY (operands[3]))
29617 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29618 : : STRIP_UNARY (operands[3])))) &&
29619 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29620 : : ( 1)))
29621 : : return NULL;
29622 : : return gen_split_2280 (insn, operands);
29623 : :
29624 : : case 33:
29625 : : if (!((
29626 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29627 : : ((64 == 64 || TARGET_AVX512VL
29628 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29629 : : && ix86_pre_reload_split ()
29630 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29631 : : STRIP_UNARY (operands[4]))
29632 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29633 : : STRIP_UNARY (operands[4]))
29634 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29635 : : STRIP_UNARY (operands[3]))
29636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29637 : : STRIP_UNARY (operands[3])))) &&
29638 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29639 : : (TARGET_AVX512F)) &&
29640 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29641 : : ( 1)))
29642 : : return NULL;
29643 : : return gen_split_2307 (insn, operands);
29644 : :
29645 : : case 34:
29646 : : if (!((
29647 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29648 : : ((32 == 64 || TARGET_AVX512VL
29649 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29650 : : && ix86_pre_reload_split ()
29651 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29652 : : STRIP_UNARY (operands[4]))
29653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29654 : : STRIP_UNARY (operands[4]))
29655 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29656 : : STRIP_UNARY (operands[3]))
29657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29658 : : STRIP_UNARY (operands[3])))) &&
29659 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29660 : : (TARGET_AVX)) &&
29661 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29662 : : ( 1)))
29663 : : return NULL;
29664 : : return gen_split_2334 (insn, operands);
29665 : :
29666 : : case 35:
29667 : : if (!((
29668 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29669 : : ((16 == 64 || TARGET_AVX512VL
29670 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29671 : : && ix86_pre_reload_split ()
29672 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29673 : : STRIP_UNARY (operands[4]))
29674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29675 : : STRIP_UNARY (operands[4]))
29676 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29677 : : STRIP_UNARY (operands[3]))
29678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29679 : : STRIP_UNARY (operands[3])))) &&
29680 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29681 : : (TARGET_SSE2)) &&
29682 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29683 : : ( 1)))
29684 : : return NULL;
29685 : : return gen_split_2361 (insn, operands);
29686 : :
29687 : : case 36:
29688 : : if (!((
29689 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29690 : : ((64 == 64 || TARGET_AVX512VL
29691 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29692 : : && ix86_pre_reload_split ()) &&
29693 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29694 : : (TARGET_AVX512F)) &&
29695 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29696 : : ( 1)))
29697 : : return NULL;
29698 : : return gen_split_3138 (insn, operands);
29699 : :
29700 : : case 37:
29701 : : if (!((
29702 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29703 : : ((32 == 64 || TARGET_AVX512VL
29704 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29705 : : && ix86_pre_reload_split ()) &&
29706 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29707 : : (TARGET_AVX)) &&
29708 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29709 : : ( 1)))
29710 : : return NULL;
29711 : : return gen_split_3147 (insn, operands);
29712 : :
29713 : : case 38:
29714 : : if (!(
29715 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29716 : : ((16 == 64 || TARGET_AVX512VL
29717 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29718 : : && ix86_pre_reload_split ()) &&
29719 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29720 : : ( 1)))
29721 : : return NULL;
29722 : : return gen_split_3156 (insn, operands);
29723 : :
29724 : : case 39:
29725 : : if (!((
29726 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29727 : : ((64 == 64 || TARGET_AVX512VL
29728 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29729 : : && ix86_pre_reload_split ()) &&
29730 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29731 : : (TARGET_AVX512F)) &&
29732 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29733 : : ( 1)))
29734 : : return NULL;
29735 : : return gen_split_3165 (insn, operands);
29736 : :
29737 : : case 40:
29738 : : if (!((
29739 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29740 : : ((32 == 64 || TARGET_AVX512VL
29741 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29742 : : && ix86_pre_reload_split ()) &&
29743 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29744 : : (TARGET_AVX)) &&
29745 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29746 : : ( 1)))
29747 : : return NULL;
29748 : : return gen_split_3174 (insn, operands);
29749 : :
29750 : : case 41:
29751 : : if (!(
29752 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29753 : : ((16 == 64 || TARGET_AVX512VL
29754 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29755 : : && ix86_pre_reload_split ()) &&
29756 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29757 : : ( 1)))
29758 : : return NULL;
29759 : : return gen_split_3183 (insn, operands);
29760 : :
29761 : : case 42:
29762 : : if (!((
29763 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29764 : : ((64 == 64 || TARGET_AVX512VL
29765 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29766 : : && ix86_pre_reload_split ()) &&
29767 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29768 : : (TARGET_AVX512F)) &&
29769 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29770 : : ( 1)))
29771 : : return NULL;
29772 : : return gen_split_3192 (insn, operands);
29773 : :
29774 : : case 43:
29775 : : if (!((
29776 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29777 : : ((32 == 64 || TARGET_AVX512VL
29778 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29779 : : && ix86_pre_reload_split ()) &&
29780 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29781 : : (TARGET_AVX)) &&
29782 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29783 : : ( 1)))
29784 : : return NULL;
29785 : : return gen_split_3201 (insn, operands);
29786 : :
29787 : : case 44:
29788 : : if (!(
29789 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29790 : : ((16 == 64 || TARGET_AVX512VL
29791 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29792 : : && ix86_pre_reload_split ()) &&
29793 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29794 : : ( 1)))
29795 : : return NULL;
29796 : : return gen_split_3210 (insn, operands);
29797 : :
29798 : : case 45:
29799 : : if (!((
29800 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29801 : : ((64 == 64 || TARGET_AVX512VL
29802 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29803 : : && ix86_pre_reload_split ()) &&
29804 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29805 : : (TARGET_AVX512F)) &&
29806 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29807 : : ( 1)))
29808 : : return NULL;
29809 : : return gen_split_3219 (insn, operands);
29810 : :
29811 : : case 46:
29812 : : if (!((
29813 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29814 : : ((32 == 64 || TARGET_AVX512VL
29815 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29816 : : && ix86_pre_reload_split ()) &&
29817 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29818 : : (TARGET_AVX)) &&
29819 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29820 : : ( 1)))
29821 : : return NULL;
29822 : : return gen_split_3228 (insn, operands);
29823 : :
29824 : : case 47:
29825 : : if (!((
29826 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29827 : : ((16 == 64 || TARGET_AVX512VL
29828 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29829 : : && ix86_pre_reload_split ()) &&
29830 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29831 : : (TARGET_SSE2)) &&
29832 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29833 : : ( 1)))
29834 : : return NULL;
29835 : : return gen_split_3237 (insn, operands);
29836 : :
29837 : : default:
29838 : : return NULL;
29839 : : }
29840 : :
29841 : : case AND:
29842 : : switch (pattern535 (x2))
29843 : : {
29844 : : case 0:
29845 : : if (!((
29846 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29847 : : ((64 == 64 || TARGET_AVX512VL
29848 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29849 : : && ix86_pre_reload_split ()
29850 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29851 : : STRIP_UNARY (operands[4]))
29852 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29853 : : STRIP_UNARY (operands[4]))
29854 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29855 : : STRIP_UNARY (operands[3]))
29856 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29857 : : STRIP_UNARY (operands[3])))) &&
29858 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29859 : : (TARGET_AVX512F)) &&
29860 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29861 : : ( 1)))
29862 : : return NULL;
29863 : : return gen_split_2706 (insn, operands);
29864 : :
29865 : : case 1:
29866 : : if (!((
29867 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29868 : : ((32 == 64 || TARGET_AVX512VL
29869 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29870 : : && ix86_pre_reload_split ()
29871 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29872 : : STRIP_UNARY (operands[4]))
29873 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29874 : : STRIP_UNARY (operands[4]))
29875 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29876 : : STRIP_UNARY (operands[3]))
29877 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29878 : : STRIP_UNARY (operands[3])))) &&
29879 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29880 : : (TARGET_AVX)) &&
29881 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29882 : : ( 1)))
29883 : : return NULL;
29884 : : return gen_split_2733 (insn, operands);
29885 : :
29886 : : case 2:
29887 : : if (!(
29888 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29889 : : ((16 == 64 || TARGET_AVX512VL
29890 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29891 : : && ix86_pre_reload_split ()
29892 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29893 : : STRIP_UNARY (operands[4]))
29894 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29895 : : STRIP_UNARY (operands[4]))
29896 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29897 : : STRIP_UNARY (operands[3]))
29898 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29899 : : STRIP_UNARY (operands[3])))) &&
29900 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29901 : : ( 1)))
29902 : : return NULL;
29903 : : return gen_split_2760 (insn, operands);
29904 : :
29905 : : case 3:
29906 : : if (!((
29907 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29908 : : ((64 == 64 || TARGET_AVX512VL
29909 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29910 : : && ix86_pre_reload_split ()
29911 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29912 : : STRIP_UNARY (operands[4]))
29913 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29914 : : STRIP_UNARY (operands[4]))
29915 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29916 : : STRIP_UNARY (operands[3]))
29917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29918 : : STRIP_UNARY (operands[3])))) &&
29919 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29920 : : (TARGET_AVX512F)) &&
29921 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29922 : : ( 1)))
29923 : : return NULL;
29924 : : return gen_split_2787 (insn, operands);
29925 : :
29926 : : case 4:
29927 : : if (!((
29928 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29929 : : ((32 == 64 || TARGET_AVX512VL
29930 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29931 : : && ix86_pre_reload_split ()
29932 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29933 : : STRIP_UNARY (operands[4]))
29934 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29935 : : STRIP_UNARY (operands[4]))
29936 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29937 : : STRIP_UNARY (operands[3]))
29938 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29939 : : STRIP_UNARY (operands[3])))) &&
29940 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29941 : : (TARGET_AVX)) &&
29942 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29943 : : ( 1)))
29944 : : return NULL;
29945 : : return gen_split_2814 (insn, operands);
29946 : :
29947 : : case 5:
29948 : : if (!(
29949 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29950 : : ((16 == 64 || TARGET_AVX512VL
29951 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29952 : : && ix86_pre_reload_split ()
29953 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29954 : : STRIP_UNARY (operands[4]))
29955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29956 : : STRIP_UNARY (operands[4]))
29957 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29958 : : STRIP_UNARY (operands[3]))
29959 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29960 : : STRIP_UNARY (operands[3])))) &&
29961 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29962 : : ( 1)))
29963 : : return NULL;
29964 : : return gen_split_2841 (insn, operands);
29965 : :
29966 : : case 6:
29967 : : if (!((
29968 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29969 : : ((64 == 64 || TARGET_AVX512VL
29970 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29971 : : && ix86_pre_reload_split ()
29972 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29973 : : STRIP_UNARY (operands[4]))
29974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29975 : : STRIP_UNARY (operands[4]))
29976 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29977 : : STRIP_UNARY (operands[3]))
29978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29979 : : STRIP_UNARY (operands[3])))) &&
29980 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29981 : : (TARGET_AVX512F)) &&
29982 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29983 : : ( 1)))
29984 : : return NULL;
29985 : : return gen_split_2868 (insn, operands);
29986 : :
29987 : : case 7:
29988 : : if (!((
29989 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29990 : : ((32 == 64 || TARGET_AVX512VL
29991 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29992 : : && ix86_pre_reload_split ()
29993 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29994 : : STRIP_UNARY (operands[4]))
29995 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29996 : : STRIP_UNARY (operands[4]))
29997 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29998 : : STRIP_UNARY (operands[3]))
29999 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30000 : : STRIP_UNARY (operands[3])))) &&
30001 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30002 : : (TARGET_AVX)) &&
30003 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30004 : : ( 1)))
30005 : : return NULL;
30006 : : return gen_split_2895 (insn, operands);
30007 : :
30008 : : case 8:
30009 : : if (!(
30010 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30011 : : ((16 == 64 || TARGET_AVX512VL
30012 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30013 : : && ix86_pre_reload_split ()
30014 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30015 : : STRIP_UNARY (operands[4]))
30016 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30017 : : STRIP_UNARY (operands[4]))
30018 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30019 : : STRIP_UNARY (operands[3]))
30020 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30021 : : STRIP_UNARY (operands[3])))) &&
30022 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30023 : : ( 1)))
30024 : : return NULL;
30025 : : return gen_split_2922 (insn, operands);
30026 : :
30027 : : case 9:
30028 : : if (!((
30029 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30030 : : ((64 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30042 : : (TARGET_AVX512F)) &&
30043 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30044 : : ( 1)))
30045 : : return NULL;
30046 : : return gen_split_2949 (insn, operands);
30047 : :
30048 : : case 10:
30049 : : if (!((
30050 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30051 : : ((32 == 64 || TARGET_AVX512VL
30052 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30053 : : && ix86_pre_reload_split ()
30054 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30055 : : STRIP_UNARY (operands[4]))
30056 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30057 : : STRIP_UNARY (operands[4]))
30058 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30059 : : STRIP_UNARY (operands[3]))
30060 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30061 : : STRIP_UNARY (operands[3])))) &&
30062 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30063 : : (TARGET_AVX)) &&
30064 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30065 : : ( 1)))
30066 : : return NULL;
30067 : : return gen_split_2976 (insn, operands);
30068 : :
30069 : : case 11:
30070 : : if (!((
30071 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30072 : : ((16 == 64 || TARGET_AVX512VL
30073 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30074 : : && ix86_pre_reload_split ()
30075 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30076 : : STRIP_UNARY (operands[4]))
30077 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30078 : : STRIP_UNARY (operands[4]))
30079 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30080 : : STRIP_UNARY (operands[3]))
30081 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30082 : : STRIP_UNARY (operands[3])))) &&
30083 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30084 : : (TARGET_SSE2)) &&
30085 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30086 : : ( 1)))
30087 : : return NULL;
30088 : : return gen_split_3003 (insn, operands);
30089 : :
30090 : : default:
30091 : : return NULL;
30092 : : }
30093 : :
30094 : : case IOR:
30095 : : switch (pattern535 (x2))
30096 : : {
30097 : : case 0:
30098 : : if (!((
30099 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30100 : : ((64 == 64 || TARGET_AVX512VL
30101 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30102 : : && ix86_pre_reload_split ()
30103 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30104 : : STRIP_UNARY (operands[4]))
30105 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30106 : : STRIP_UNARY (operands[4]))
30107 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30108 : : STRIP_UNARY (operands[3]))
30109 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30110 : : STRIP_UNARY (operands[3])))) &&
30111 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30112 : : (TARGET_AVX512F)) &&
30113 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30114 : : ( 1)))
30115 : : return NULL;
30116 : : return gen_split_2709 (insn, operands);
30117 : :
30118 : : case 1:
30119 : : if (!((
30120 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30121 : : ((32 == 64 || TARGET_AVX512VL
30122 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30123 : : && ix86_pre_reload_split ()
30124 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30125 : : STRIP_UNARY (operands[4]))
30126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30127 : : STRIP_UNARY (operands[4]))
30128 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30129 : : STRIP_UNARY (operands[3]))
30130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30131 : : STRIP_UNARY (operands[3])))) &&
30132 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30133 : : (TARGET_AVX)) &&
30134 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30135 : : ( 1)))
30136 : : return NULL;
30137 : : return gen_split_2736 (insn, operands);
30138 : :
30139 : : case 2:
30140 : : if (!(
30141 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30142 : : ((16 == 64 || TARGET_AVX512VL
30143 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30144 : : && ix86_pre_reload_split ()
30145 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30146 : : STRIP_UNARY (operands[4]))
30147 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30148 : : STRIP_UNARY (operands[4]))
30149 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30150 : : STRIP_UNARY (operands[3]))
30151 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30152 : : STRIP_UNARY (operands[3])))) &&
30153 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30154 : : ( 1)))
30155 : : return NULL;
30156 : : return gen_split_2763 (insn, operands);
30157 : :
30158 : : case 3:
30159 : : if (!((
30160 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30161 : : ((64 == 64 || TARGET_AVX512VL
30162 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30163 : : && ix86_pre_reload_split ()
30164 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30165 : : STRIP_UNARY (operands[4]))
30166 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30167 : : STRIP_UNARY (operands[4]))
30168 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30169 : : STRIP_UNARY (operands[3]))
30170 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30171 : : STRIP_UNARY (operands[3])))) &&
30172 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30173 : : (TARGET_AVX512F)) &&
30174 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30175 : : ( 1)))
30176 : : return NULL;
30177 : : return gen_split_2790 (insn, operands);
30178 : :
30179 : : case 4:
30180 : : if (!((
30181 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30182 : : ((32 == 64 || TARGET_AVX512VL
30183 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30184 : : && ix86_pre_reload_split ()
30185 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30186 : : STRIP_UNARY (operands[4]))
30187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30188 : : STRIP_UNARY (operands[4]))
30189 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30190 : : STRIP_UNARY (operands[3]))
30191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30192 : : STRIP_UNARY (operands[3])))) &&
30193 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30194 : : (TARGET_AVX)) &&
30195 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30196 : : ( 1)))
30197 : : return NULL;
30198 : : return gen_split_2817 (insn, operands);
30199 : :
30200 : : case 5:
30201 : : if (!(
30202 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30203 : : ((16 == 64 || TARGET_AVX512VL
30204 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30205 : : && ix86_pre_reload_split ()
30206 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30207 : : STRIP_UNARY (operands[4]))
30208 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30209 : : STRIP_UNARY (operands[4]))
30210 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30211 : : STRIP_UNARY (operands[3]))
30212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30213 : : STRIP_UNARY (operands[3])))) &&
30214 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30215 : : ( 1)))
30216 : : return NULL;
30217 : : return gen_split_2844 (insn, operands);
30218 : :
30219 : : case 6:
30220 : : if (!((
30221 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30222 : : ((64 == 64 || TARGET_AVX512VL
30223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30224 : : && ix86_pre_reload_split ()
30225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30226 : : STRIP_UNARY (operands[4]))
30227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30228 : : STRIP_UNARY (operands[4]))
30229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30230 : : STRIP_UNARY (operands[3]))
30231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30232 : : STRIP_UNARY (operands[3])))) &&
30233 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30234 : : (TARGET_AVX512F)) &&
30235 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30236 : : ( 1)))
30237 : : return NULL;
30238 : : return gen_split_2871 (insn, operands);
30239 : :
30240 : : case 7:
30241 : : if (!((
30242 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30243 : : ((32 == 64 || TARGET_AVX512VL
30244 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30245 : : && ix86_pre_reload_split ()
30246 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30247 : : STRIP_UNARY (operands[4]))
30248 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30249 : : STRIP_UNARY (operands[4]))
30250 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30251 : : STRIP_UNARY (operands[3]))
30252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30253 : : STRIP_UNARY (operands[3])))) &&
30254 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30255 : : (TARGET_AVX)) &&
30256 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30257 : : ( 1)))
30258 : : return NULL;
30259 : : return gen_split_2898 (insn, operands);
30260 : :
30261 : : case 8:
30262 : : if (!(
30263 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30264 : : ((16 == 64 || TARGET_AVX512VL
30265 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30266 : : && ix86_pre_reload_split ()
30267 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30268 : : STRIP_UNARY (operands[4]))
30269 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30270 : : STRIP_UNARY (operands[4]))
30271 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30272 : : STRIP_UNARY (operands[3]))
30273 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30274 : : STRIP_UNARY (operands[3])))) &&
30275 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30276 : : ( 1)))
30277 : : return NULL;
30278 : : return gen_split_2925 (insn, operands);
30279 : :
30280 : : case 9:
30281 : : if (!((
30282 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30283 : : ((64 == 64 || TARGET_AVX512VL
30284 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30285 : : && ix86_pre_reload_split ()
30286 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30287 : : STRIP_UNARY (operands[4]))
30288 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30289 : : STRIP_UNARY (operands[4]))
30290 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30291 : : STRIP_UNARY (operands[3]))
30292 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30293 : : STRIP_UNARY (operands[3])))) &&
30294 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30295 : : (TARGET_AVX512F)) &&
30296 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30297 : : ( 1)))
30298 : : return NULL;
30299 : : return gen_split_2952 (insn, operands);
30300 : :
30301 : : case 10:
30302 : : if (!((
30303 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30304 : : ((32 == 64 || TARGET_AVX512VL
30305 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30306 : : && ix86_pre_reload_split ()
30307 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30308 : : STRIP_UNARY (operands[4]))
30309 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30310 : : STRIP_UNARY (operands[4]))
30311 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30312 : : STRIP_UNARY (operands[3]))
30313 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30314 : : STRIP_UNARY (operands[3])))) &&
30315 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30316 : : (TARGET_AVX)) &&
30317 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30318 : : ( 1)))
30319 : : return NULL;
30320 : : return gen_split_2979 (insn, operands);
30321 : :
30322 : : case 11:
30323 : : if (!((
30324 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30325 : : ((16 == 64 || TARGET_AVX512VL
30326 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30327 : : && ix86_pre_reload_split ()
30328 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30329 : : STRIP_UNARY (operands[4]))
30330 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30331 : : STRIP_UNARY (operands[4]))
30332 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30333 : : STRIP_UNARY (operands[3]))
30334 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30335 : : STRIP_UNARY (operands[3])))) &&
30336 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30337 : : (TARGET_SSE2)) &&
30338 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30339 : : ( 1)))
30340 : : return NULL;
30341 : : return gen_split_3006 (insn, operands);
30342 : :
30343 : : default:
30344 : : return NULL;
30345 : : }
30346 : :
30347 : : case XOR:
30348 : : switch (pattern535 (x2))
30349 : : {
30350 : : case 0:
30351 : : if (!((
30352 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30353 : : ((64 == 64 || TARGET_AVX512VL
30354 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30355 : : && ix86_pre_reload_split ()
30356 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30357 : : STRIP_UNARY (operands[4]))
30358 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30359 : : STRIP_UNARY (operands[4]))
30360 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30361 : : STRIP_UNARY (operands[3]))
30362 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30363 : : STRIP_UNARY (operands[3])))) &&
30364 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30365 : : (TARGET_AVX512F)) &&
30366 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30367 : : ( 1)))
30368 : : return NULL;
30369 : : return gen_split_2712 (insn, operands);
30370 : :
30371 : : case 1:
30372 : : if (!((
30373 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30374 : : ((32 == 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 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30386 : : (TARGET_AVX)) &&
30387 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30388 : : ( 1)))
30389 : : return NULL;
30390 : : return gen_split_2739 (insn, operands);
30391 : :
30392 : : case 2:
30393 : : if (!(
30394 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30395 : : ((16 == 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 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30407 : : ( 1)))
30408 : : return NULL;
30409 : : return gen_split_2766 (insn, operands);
30410 : :
30411 : : case 3:
30412 : : if (!((
30413 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30414 : : ((64 == 64 || TARGET_AVX512VL
30415 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30416 : : && ix86_pre_reload_split ()
30417 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30418 : : STRIP_UNARY (operands[4]))
30419 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30420 : : STRIP_UNARY (operands[4]))
30421 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30422 : : STRIP_UNARY (operands[3]))
30423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30424 : : STRIP_UNARY (operands[3])))) &&
30425 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30426 : : (TARGET_AVX512F)) &&
30427 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30428 : : ( 1)))
30429 : : return NULL;
30430 : : return gen_split_2793 (insn, operands);
30431 : :
30432 : : case 4:
30433 : : if (!((
30434 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30435 : : ((32 == 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 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30447 : : (TARGET_AVX)) &&
30448 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30449 : : ( 1)))
30450 : : return NULL;
30451 : : return gen_split_2820 (insn, operands);
30452 : :
30453 : : case 5:
30454 : : if (!(
30455 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30456 : : ((16 == 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 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30468 : : ( 1)))
30469 : : return NULL;
30470 : : return gen_split_2847 (insn, operands);
30471 : :
30472 : : case 6:
30473 : : if (!((
30474 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30475 : : ((64 == 64 || TARGET_AVX512VL
30476 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30477 : : && ix86_pre_reload_split ()
30478 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30479 : : STRIP_UNARY (operands[4]))
30480 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30481 : : STRIP_UNARY (operands[4]))
30482 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30483 : : STRIP_UNARY (operands[3]))
30484 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30485 : : STRIP_UNARY (operands[3])))) &&
30486 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30487 : : (TARGET_AVX512F)) &&
30488 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30489 : : ( 1)))
30490 : : return NULL;
30491 : : return gen_split_2874 (insn, operands);
30492 : :
30493 : : case 7:
30494 : : if (!((
30495 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30496 : : ((32 == 64 || TARGET_AVX512VL
30497 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30498 : : && ix86_pre_reload_split ()
30499 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30500 : : STRIP_UNARY (operands[4]))
30501 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30502 : : STRIP_UNARY (operands[4]))
30503 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30504 : : STRIP_UNARY (operands[3]))
30505 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30506 : : STRIP_UNARY (operands[3])))) &&
30507 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30508 : : (TARGET_AVX)) &&
30509 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30510 : : ( 1)))
30511 : : return NULL;
30512 : : return gen_split_2901 (insn, operands);
30513 : :
30514 : : case 8:
30515 : : if (!(
30516 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30517 : : ((16 == 64 || TARGET_AVX512VL
30518 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30519 : : && ix86_pre_reload_split ()
30520 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30521 : : STRIP_UNARY (operands[4]))
30522 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30523 : : STRIP_UNARY (operands[4]))
30524 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30525 : : STRIP_UNARY (operands[3]))
30526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30527 : : STRIP_UNARY (operands[3])))) &&
30528 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30529 : : ( 1)))
30530 : : return NULL;
30531 : : return gen_split_2928 (insn, operands);
30532 : :
30533 : : case 9:
30534 : : if (!((
30535 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30536 : : ((64 == 64 || TARGET_AVX512VL
30537 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30538 : : && ix86_pre_reload_split ()
30539 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30540 : : STRIP_UNARY (operands[4]))
30541 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30542 : : STRIP_UNARY (operands[4]))
30543 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30544 : : STRIP_UNARY (operands[3]))
30545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30546 : : STRIP_UNARY (operands[3])))) &&
30547 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30548 : : (TARGET_AVX512F)) &&
30549 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30550 : : ( 1)))
30551 : : return NULL;
30552 : : return gen_split_2955 (insn, operands);
30553 : :
30554 : : case 10:
30555 : : if (!((
30556 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30557 : : ((32 == 64 || TARGET_AVX512VL
30558 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30559 : : && ix86_pre_reload_split ()
30560 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30561 : : STRIP_UNARY (operands[4]))
30562 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30563 : : STRIP_UNARY (operands[4]))
30564 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30565 : : STRIP_UNARY (operands[3]))
30566 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30567 : : STRIP_UNARY (operands[3])))) &&
30568 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30569 : : (TARGET_AVX)) &&
30570 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30571 : : ( 1)))
30572 : : return NULL;
30573 : : return gen_split_2982 (insn, operands);
30574 : :
30575 : : case 11:
30576 : : if (!((
30577 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30578 : : ((16 == 64 || TARGET_AVX512VL
30579 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30580 : : && ix86_pre_reload_split ()
30581 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30582 : : STRIP_UNARY (operands[4]))
30583 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30584 : : STRIP_UNARY (operands[4]))
30585 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30586 : : STRIP_UNARY (operands[3]))
30587 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30588 : : STRIP_UNARY (operands[3])))) &&
30589 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30590 : : (TARGET_SSE2)) &&
30591 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30592 : : ( 1)))
30593 : : return NULL;
30594 : : return gen_split_3009 (insn, operands);
30595 : :
30596 : : default:
30597 : : return NULL;
30598 : : }
30599 : :
30600 : : default:
30601 : : return NULL;
30602 : : }
30603 : :
30604 : : case IOR:
30605 : : x4 = XEXP (x3, 0);
30606 : : switch (GET_CODE (x4))
30607 : : {
30608 : : case REG:
30609 : : case SUBREG:
30610 : : case MEM:
30611 : : case NOT:
30612 : : switch (pattern534 (x2))
30613 : : {
30614 : : case 0:
30615 : : if (!((
30616 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30617 : : ((64 == 64 || TARGET_AVX512VL
30618 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30619 : : && ix86_pre_reload_split ()
30620 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30621 : : STRIP_UNARY (operands[4]))
30622 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30623 : : STRIP_UNARY (operands[4]))
30624 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30625 : : STRIP_UNARY (operands[3]))
30626 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30627 : : STRIP_UNARY (operands[3])))) &&
30628 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30629 : : (TARGET_AVX512F)) &&
30630 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30631 : : ( 1)))
30632 : : return NULL;
30633 : : return gen_split_2067 (insn, operands);
30634 : :
30635 : : case 1:
30636 : : if (!((
30637 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30638 : : ((32 == 64 || TARGET_AVX512VL
30639 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30640 : : && ix86_pre_reload_split ()
30641 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30642 : : STRIP_UNARY (operands[4]))
30643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30644 : : STRIP_UNARY (operands[4]))
30645 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30646 : : STRIP_UNARY (operands[3]))
30647 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30648 : : STRIP_UNARY (operands[3])))) &&
30649 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30650 : : (TARGET_AVX)) &&
30651 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30652 : : ( 1)))
30653 : : return NULL;
30654 : : return gen_split_2094 (insn, operands);
30655 : :
30656 : : case 2:
30657 : : if (!(
30658 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30659 : : ((16 == 64 || TARGET_AVX512VL
30660 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30661 : : && ix86_pre_reload_split ()
30662 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30663 : : STRIP_UNARY (operands[4]))
30664 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30665 : : STRIP_UNARY (operands[4]))
30666 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30667 : : STRIP_UNARY (operands[3]))
30668 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30669 : : STRIP_UNARY (operands[3])))) &&
30670 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30671 : : ( 1)))
30672 : : return NULL;
30673 : : return gen_split_2121 (insn, operands);
30674 : :
30675 : : case 3:
30676 : : if (!((
30677 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30678 : : ((64 == 64 || TARGET_AVX512VL
30679 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30680 : : && ix86_pre_reload_split ()
30681 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30682 : : STRIP_UNARY (operands[4]))
30683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30684 : : STRIP_UNARY (operands[4]))
30685 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30686 : : STRIP_UNARY (operands[3]))
30687 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30688 : : STRIP_UNARY (operands[3])))) &&
30689 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30690 : : (TARGET_AVX512F)) &&
30691 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30692 : : ( 1)))
30693 : : return NULL;
30694 : : return gen_split_2148 (insn, operands);
30695 : :
30696 : : case 4:
30697 : : if (!((
30698 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30699 : : ((32 == 64 || TARGET_AVX512VL
30700 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30701 : : && ix86_pre_reload_split ()
30702 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30703 : : STRIP_UNARY (operands[4]))
30704 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30705 : : STRIP_UNARY (operands[4]))
30706 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30707 : : STRIP_UNARY (operands[3]))
30708 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30709 : : STRIP_UNARY (operands[3])))) &&
30710 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30711 : : (TARGET_AVX)) &&
30712 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30713 : : ( 1)))
30714 : : return NULL;
30715 : : return gen_split_2175 (insn, operands);
30716 : :
30717 : : case 5:
30718 : : if (!(
30719 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30720 : : ((16 == 64 || TARGET_AVX512VL
30721 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30722 : : && ix86_pre_reload_split ()
30723 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30724 : : STRIP_UNARY (operands[4]))
30725 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30726 : : STRIP_UNARY (operands[4]))
30727 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30728 : : STRIP_UNARY (operands[3]))
30729 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30730 : : STRIP_UNARY (operands[3])))) &&
30731 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30732 : : ( 1)))
30733 : : return NULL;
30734 : : return gen_split_2202 (insn, operands);
30735 : :
30736 : : case 6:
30737 : : if (!((
30738 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30739 : : ((64 == 64 || TARGET_AVX512VL
30740 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30741 : : && ix86_pre_reload_split ()
30742 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30743 : : STRIP_UNARY (operands[4]))
30744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30745 : : STRIP_UNARY (operands[4]))
30746 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30747 : : STRIP_UNARY (operands[3]))
30748 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30749 : : STRIP_UNARY (operands[3])))) &&
30750 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30751 : : (TARGET_AVX512F)) &&
30752 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30753 : : ( 1)))
30754 : : return NULL;
30755 : : return gen_split_2229 (insn, operands);
30756 : :
30757 : : case 7:
30758 : : if (!((
30759 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30760 : : ((32 == 64 || TARGET_AVX512VL
30761 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30762 : : && ix86_pre_reload_split ()
30763 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30764 : : STRIP_UNARY (operands[4]))
30765 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30766 : : STRIP_UNARY (operands[4]))
30767 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30768 : : STRIP_UNARY (operands[3]))
30769 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30770 : : STRIP_UNARY (operands[3])))) &&
30771 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30772 : : (TARGET_AVX)) &&
30773 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30774 : : ( 1)))
30775 : : return NULL;
30776 : : return gen_split_2256 (insn, operands);
30777 : :
30778 : : case 8:
30779 : : if (!(
30780 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30781 : : ((16 == 64 || TARGET_AVX512VL
30782 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30783 : : && ix86_pre_reload_split ()
30784 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30785 : : STRIP_UNARY (operands[4]))
30786 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30787 : : STRIP_UNARY (operands[4]))
30788 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30789 : : STRIP_UNARY (operands[3]))
30790 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30791 : : STRIP_UNARY (operands[3])))) &&
30792 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30793 : : ( 1)))
30794 : : return NULL;
30795 : : return gen_split_2283 (insn, operands);
30796 : :
30797 : : case 9:
30798 : : if (!((
30799 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30800 : : ((64 == 64 || TARGET_AVX512VL
30801 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30802 : : && ix86_pre_reload_split ()
30803 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30804 : : STRIP_UNARY (operands[4]))
30805 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30806 : : STRIP_UNARY (operands[4]))
30807 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30808 : : STRIP_UNARY (operands[3]))
30809 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30810 : : STRIP_UNARY (operands[3])))) &&
30811 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30812 : : (TARGET_AVX512F)) &&
30813 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30814 : : ( 1)))
30815 : : return NULL;
30816 : : return gen_split_2310 (insn, operands);
30817 : :
30818 : : case 10:
30819 : : if (!((
30820 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30821 : : ((32 == 64 || TARGET_AVX512VL
30822 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30823 : : && ix86_pre_reload_split ()
30824 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30825 : : STRIP_UNARY (operands[4]))
30826 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30827 : : STRIP_UNARY (operands[4]))
30828 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30829 : : STRIP_UNARY (operands[3]))
30830 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30831 : : STRIP_UNARY (operands[3])))) &&
30832 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30833 : : (TARGET_AVX)) &&
30834 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30835 : : ( 1)))
30836 : : return NULL;
30837 : : return gen_split_2337 (insn, operands);
30838 : :
30839 : : case 11:
30840 : : if (!((
30841 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30842 : : ((16 == 64 || TARGET_AVX512VL
30843 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30844 : : && ix86_pre_reload_split ()
30845 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30846 : : STRIP_UNARY (operands[4]))
30847 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30848 : : STRIP_UNARY (operands[4]))
30849 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30850 : : STRIP_UNARY (operands[3]))
30851 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30852 : : STRIP_UNARY (operands[3])))) &&
30853 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30854 : : (TARGET_SSE2)) &&
30855 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30856 : : ( 1)))
30857 : : return NULL;
30858 : : return gen_split_2364 (insn, operands);
30859 : :
30860 : : case 12:
30861 : : if (!((
30862 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30863 : : ((64 == 64 || TARGET_AVX512VL
30864 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30865 : : && ix86_pre_reload_split ()
30866 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30867 : : STRIP_UNARY (operands[4]))
30868 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30869 : : STRIP_UNARY (operands[4]))
30870 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30871 : : STRIP_UNARY (operands[3]))
30872 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30873 : : STRIP_UNARY (operands[3])))) &&
30874 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30875 : : (TARGET_AVX512F)) &&
30876 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30877 : : ( 1)))
30878 : : return NULL;
30879 : : return gen_split_2070 (insn, operands);
30880 : :
30881 : : case 13:
30882 : : if (!((
30883 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30884 : : ((32 == 64 || TARGET_AVX512VL
30885 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30886 : : && ix86_pre_reload_split ()
30887 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30888 : : STRIP_UNARY (operands[4]))
30889 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30890 : : STRIP_UNARY (operands[4]))
30891 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30892 : : STRIP_UNARY (operands[3]))
30893 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30894 : : STRIP_UNARY (operands[3])))) &&
30895 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30896 : : (TARGET_AVX)) &&
30897 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30898 : : ( 1)))
30899 : : return NULL;
30900 : : return gen_split_2097 (insn, operands);
30901 : :
30902 : : case 14:
30903 : : if (!(
30904 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30905 : : ((16 == 64 || TARGET_AVX512VL
30906 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30907 : : && ix86_pre_reload_split ()
30908 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30909 : : STRIP_UNARY (operands[4]))
30910 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30911 : : STRIP_UNARY (operands[4]))
30912 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30913 : : STRIP_UNARY (operands[3]))
30914 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30915 : : STRIP_UNARY (operands[3])))) &&
30916 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30917 : : ( 1)))
30918 : : return NULL;
30919 : : return gen_split_2124 (insn, operands);
30920 : :
30921 : : case 15:
30922 : : if (!((
30923 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30924 : : ((64 == 64 || TARGET_AVX512VL
30925 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30926 : : && ix86_pre_reload_split ()
30927 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30928 : : STRIP_UNARY (operands[4]))
30929 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30930 : : STRIP_UNARY (operands[4]))
30931 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30932 : : STRIP_UNARY (operands[3]))
30933 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30934 : : STRIP_UNARY (operands[3])))) &&
30935 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : : (TARGET_AVX512F)) &&
30937 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30938 : : ( 1)))
30939 : : return NULL;
30940 : : return gen_split_2151 (insn, operands);
30941 : :
30942 : : case 16:
30943 : : if (!((
30944 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30945 : : ((32 == 64 || TARGET_AVX512VL
30946 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30947 : : && ix86_pre_reload_split ()
30948 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30949 : : STRIP_UNARY (operands[4]))
30950 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30951 : : STRIP_UNARY (operands[4]))
30952 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30953 : : STRIP_UNARY (operands[3]))
30954 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30955 : : STRIP_UNARY (operands[3])))) &&
30956 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30957 : : (TARGET_AVX)) &&
30958 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30959 : : ( 1)))
30960 : : return NULL;
30961 : : return gen_split_2178 (insn, operands);
30962 : :
30963 : : case 17:
30964 : : if (!(
30965 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30966 : : ((16 == 64 || TARGET_AVX512VL
30967 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30968 : : && ix86_pre_reload_split ()
30969 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30970 : : STRIP_UNARY (operands[4]))
30971 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30972 : : STRIP_UNARY (operands[4]))
30973 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30974 : : STRIP_UNARY (operands[3]))
30975 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30976 : : STRIP_UNARY (operands[3])))) &&
30977 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30978 : : ( 1)))
30979 : : return NULL;
30980 : : return gen_split_2205 (insn, operands);
30981 : :
30982 : : case 18:
30983 : : if (!((
30984 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30985 : : ((64 == 64 || TARGET_AVX512VL
30986 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30987 : : && ix86_pre_reload_split ()
30988 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30989 : : STRIP_UNARY (operands[4]))
30990 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30991 : : STRIP_UNARY (operands[4]))
30992 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30993 : : STRIP_UNARY (operands[3]))
30994 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30995 : : STRIP_UNARY (operands[3])))) &&
30996 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30997 : : (TARGET_AVX512F)) &&
30998 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30999 : : ( 1)))
31000 : : return NULL;
31001 : : return gen_split_2232 (insn, operands);
31002 : :
31003 : : case 19:
31004 : : if (!((
31005 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31006 : : ((32 == 64 || TARGET_AVX512VL
31007 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31008 : : && ix86_pre_reload_split ()
31009 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31010 : : STRIP_UNARY (operands[4]))
31011 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31012 : : STRIP_UNARY (operands[4]))
31013 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31014 : : STRIP_UNARY (operands[3]))
31015 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31016 : : STRIP_UNARY (operands[3])))) &&
31017 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31018 : : (TARGET_AVX)) &&
31019 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31020 : : ( 1)))
31021 : : return NULL;
31022 : : return gen_split_2259 (insn, operands);
31023 : :
31024 : : case 20:
31025 : : if (!(
31026 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31027 : : ((16 == 64 || TARGET_AVX512VL
31028 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31029 : : && ix86_pre_reload_split ()
31030 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31031 : : STRIP_UNARY (operands[4]))
31032 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31033 : : STRIP_UNARY (operands[4]))
31034 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31035 : : STRIP_UNARY (operands[3]))
31036 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31037 : : STRIP_UNARY (operands[3])))) &&
31038 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31039 : : ( 1)))
31040 : : return NULL;
31041 : : return gen_split_2286 (insn, operands);
31042 : :
31043 : : case 21:
31044 : : if (!((
31045 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31046 : : ((64 == 64 || TARGET_AVX512VL
31047 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31048 : : && ix86_pre_reload_split ()
31049 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31050 : : STRIP_UNARY (operands[4]))
31051 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31052 : : STRIP_UNARY (operands[4]))
31053 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31054 : : STRIP_UNARY (operands[3]))
31055 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31056 : : STRIP_UNARY (operands[3])))) &&
31057 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31058 : : (TARGET_AVX512F)) &&
31059 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31060 : : ( 1)))
31061 : : return NULL;
31062 : : return gen_split_2313 (insn, operands);
31063 : :
31064 : : case 22:
31065 : : if (!((
31066 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31067 : : ((32 == 64 || TARGET_AVX512VL
31068 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31069 : : && ix86_pre_reload_split ()
31070 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31071 : : STRIP_UNARY (operands[4]))
31072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31073 : : STRIP_UNARY (operands[4]))
31074 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31075 : : STRIP_UNARY (operands[3]))
31076 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31077 : : STRIP_UNARY (operands[3])))) &&
31078 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31079 : : (TARGET_AVX)) &&
31080 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31081 : : ( 1)))
31082 : : return NULL;
31083 : : return gen_split_2340 (insn, operands);
31084 : :
31085 : : case 23:
31086 : : if (!((
31087 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31088 : : ((16 == 64 || TARGET_AVX512VL
31089 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31090 : : && ix86_pre_reload_split ()
31091 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31092 : : STRIP_UNARY (operands[4]))
31093 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31094 : : STRIP_UNARY (operands[4]))
31095 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31096 : : STRIP_UNARY (operands[3]))
31097 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31098 : : STRIP_UNARY (operands[3])))) &&
31099 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31100 : : (TARGET_SSE2)) &&
31101 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31102 : : ( 1)))
31103 : : return NULL;
31104 : : return gen_split_2367 (insn, operands);
31105 : :
31106 : : case 24:
31107 : : if (!((
31108 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31109 : : ((64 == 64 || TARGET_AVX512VL
31110 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31111 : : && ix86_pre_reload_split ()
31112 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31113 : : STRIP_UNARY (operands[4]))
31114 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31115 : : STRIP_UNARY (operands[4]))
31116 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31117 : : STRIP_UNARY (operands[3]))
31118 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31119 : : STRIP_UNARY (operands[3])))) &&
31120 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31121 : : (TARGET_AVX512F)) &&
31122 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31123 : : ( 1)))
31124 : : return NULL;
31125 : : return gen_split_2073 (insn, operands);
31126 : :
31127 : : case 25:
31128 : : if (!((
31129 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31130 : : ((32 == 64 || TARGET_AVX512VL
31131 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31132 : : && ix86_pre_reload_split ()
31133 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31134 : : STRIP_UNARY (operands[4]))
31135 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31136 : : STRIP_UNARY (operands[4]))
31137 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31138 : : STRIP_UNARY (operands[3]))
31139 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31140 : : STRIP_UNARY (operands[3])))) &&
31141 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31142 : : (TARGET_AVX)) &&
31143 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31144 : : ( 1)))
31145 : : return NULL;
31146 : : return gen_split_2100 (insn, operands);
31147 : :
31148 : : case 26:
31149 : : if (!(
31150 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31151 : : ((16 == 64 || TARGET_AVX512VL
31152 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31153 : : && ix86_pre_reload_split ()
31154 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31155 : : STRIP_UNARY (operands[4]))
31156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31157 : : STRIP_UNARY (operands[4]))
31158 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31159 : : STRIP_UNARY (operands[3]))
31160 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31161 : : STRIP_UNARY (operands[3])))) &&
31162 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31163 : : ( 1)))
31164 : : return NULL;
31165 : : return gen_split_2127 (insn, operands);
31166 : :
31167 : : case 27:
31168 : : if (!((
31169 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31170 : : ((64 == 64 || TARGET_AVX512VL
31171 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31172 : : && ix86_pre_reload_split ()
31173 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31174 : : STRIP_UNARY (operands[4]))
31175 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31176 : : STRIP_UNARY (operands[4]))
31177 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31178 : : STRIP_UNARY (operands[3]))
31179 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31180 : : STRIP_UNARY (operands[3])))) &&
31181 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31182 : : (TARGET_AVX512F)) &&
31183 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31184 : : ( 1)))
31185 : : return NULL;
31186 : : return gen_split_2154 (insn, operands);
31187 : :
31188 : : case 28:
31189 : : if (!((
31190 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31191 : : ((32 == 64 || TARGET_AVX512VL
31192 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31193 : : && ix86_pre_reload_split ()
31194 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31195 : : STRIP_UNARY (operands[4]))
31196 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31197 : : STRIP_UNARY (operands[4]))
31198 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31199 : : STRIP_UNARY (operands[3]))
31200 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31201 : : STRIP_UNARY (operands[3])))) &&
31202 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31203 : : (TARGET_AVX)) &&
31204 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31205 : : ( 1)))
31206 : : return NULL;
31207 : : return gen_split_2181 (insn, operands);
31208 : :
31209 : : case 29:
31210 : : if (!(
31211 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31212 : : ((16 == 64 || TARGET_AVX512VL
31213 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31214 : : && ix86_pre_reload_split ()
31215 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31216 : : STRIP_UNARY (operands[4]))
31217 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31218 : : STRIP_UNARY (operands[4]))
31219 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31220 : : STRIP_UNARY (operands[3]))
31221 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31222 : : STRIP_UNARY (operands[3])))) &&
31223 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31224 : : ( 1)))
31225 : : return NULL;
31226 : : return gen_split_2208 (insn, operands);
31227 : :
31228 : : case 30:
31229 : : if (!((
31230 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31231 : : ((64 == 64 || TARGET_AVX512VL
31232 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31233 : : && ix86_pre_reload_split ()
31234 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31235 : : STRIP_UNARY (operands[4]))
31236 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31237 : : STRIP_UNARY (operands[4]))
31238 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31239 : : STRIP_UNARY (operands[3]))
31240 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31241 : : STRIP_UNARY (operands[3])))) &&
31242 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31243 : : (TARGET_AVX512F)) &&
31244 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31245 : : ( 1)))
31246 : : return NULL;
31247 : : return gen_split_2235 (insn, operands);
31248 : :
31249 : : case 31:
31250 : : if (!((
31251 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31252 : : ((32 == 64 || TARGET_AVX512VL
31253 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31254 : : && ix86_pre_reload_split ()
31255 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31256 : : STRIP_UNARY (operands[4]))
31257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31258 : : STRIP_UNARY (operands[4]))
31259 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31260 : : STRIP_UNARY (operands[3]))
31261 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31262 : : STRIP_UNARY (operands[3])))) &&
31263 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31264 : : (TARGET_AVX)) &&
31265 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31266 : : ( 1)))
31267 : : return NULL;
31268 : : return gen_split_2262 (insn, operands);
31269 : :
31270 : : case 32:
31271 : : if (!(
31272 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31273 : : ((16 == 64 || TARGET_AVX512VL
31274 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31275 : : && ix86_pre_reload_split ()
31276 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31277 : : STRIP_UNARY (operands[4]))
31278 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31279 : : STRIP_UNARY (operands[4]))
31280 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31281 : : STRIP_UNARY (operands[3]))
31282 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31283 : : STRIP_UNARY (operands[3])))) &&
31284 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31285 : : ( 1)))
31286 : : return NULL;
31287 : : return gen_split_2289 (insn, operands);
31288 : :
31289 : : case 33:
31290 : : if (!((
31291 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31292 : : ((64 == 64 || TARGET_AVX512VL
31293 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31294 : : && ix86_pre_reload_split ()
31295 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31296 : : STRIP_UNARY (operands[4]))
31297 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31298 : : STRIP_UNARY (operands[4]))
31299 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31300 : : STRIP_UNARY (operands[3]))
31301 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31302 : : STRIP_UNARY (operands[3])))) &&
31303 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31304 : : (TARGET_AVX512F)) &&
31305 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31306 : : ( 1)))
31307 : : return NULL;
31308 : : return gen_split_2316 (insn, operands);
31309 : :
31310 : : case 34:
31311 : : if (!((
31312 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31313 : : ((32 == 64 || TARGET_AVX512VL
31314 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31315 : : && ix86_pre_reload_split ()
31316 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31317 : : STRIP_UNARY (operands[4]))
31318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31319 : : STRIP_UNARY (operands[4]))
31320 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31321 : : STRIP_UNARY (operands[3]))
31322 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31323 : : STRIP_UNARY (operands[3])))) &&
31324 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31325 : : (TARGET_AVX)) &&
31326 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31327 : : ( 1)))
31328 : : return NULL;
31329 : : return gen_split_2343 (insn, operands);
31330 : :
31331 : : case 35:
31332 : : if (!((
31333 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31334 : : ((16 == 64 || TARGET_AVX512VL
31335 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31336 : : && ix86_pre_reload_split ()
31337 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31338 : : STRIP_UNARY (operands[4]))
31339 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31340 : : STRIP_UNARY (operands[4]))
31341 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31342 : : STRIP_UNARY (operands[3]))
31343 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31344 : : STRIP_UNARY (operands[3])))) &&
31345 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31346 : : (TARGET_SSE2)) &&
31347 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31348 : : ( 1)))
31349 : : return NULL;
31350 : : return gen_split_2370 (insn, operands);
31351 : :
31352 : : case 36:
31353 : : if (!((
31354 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31355 : : ((64 == 64 || TARGET_AVX512VL
31356 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31357 : : && ix86_pre_reload_split ()) &&
31358 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31359 : : (TARGET_AVX512F)) &&
31360 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31361 : : ( 1)))
31362 : : return NULL;
31363 : : return gen_split_3141 (insn, operands);
31364 : :
31365 : : case 37:
31366 : : if (!((
31367 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31368 : : ((32 == 64 || TARGET_AVX512VL
31369 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31370 : : && ix86_pre_reload_split ()) &&
31371 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31372 : : (TARGET_AVX)) &&
31373 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31374 : : ( 1)))
31375 : : return NULL;
31376 : : return gen_split_3150 (insn, operands);
31377 : :
31378 : : case 38:
31379 : : if (!(
31380 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31381 : : ((16 == 64 || TARGET_AVX512VL
31382 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31383 : : && ix86_pre_reload_split ()) &&
31384 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31385 : : ( 1)))
31386 : : return NULL;
31387 : : return gen_split_3159 (insn, operands);
31388 : :
31389 : : case 39:
31390 : : if (!((
31391 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31392 : : ((64 == 64 || TARGET_AVX512VL
31393 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31394 : : && ix86_pre_reload_split ()) &&
31395 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31396 : : (TARGET_AVX512F)) &&
31397 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31398 : : ( 1)))
31399 : : return NULL;
31400 : : return gen_split_3168 (insn, operands);
31401 : :
31402 : : case 40:
31403 : : if (!((
31404 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31405 : : ((32 == 64 || TARGET_AVX512VL
31406 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31407 : : && ix86_pre_reload_split ()) &&
31408 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31409 : : (TARGET_AVX)) &&
31410 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31411 : : ( 1)))
31412 : : return NULL;
31413 : : return gen_split_3177 (insn, operands);
31414 : :
31415 : : case 41:
31416 : : if (!(
31417 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31418 : : ((16 == 64 || TARGET_AVX512VL
31419 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31420 : : && ix86_pre_reload_split ()) &&
31421 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31422 : : ( 1)))
31423 : : return NULL;
31424 : : return gen_split_3186 (insn, operands);
31425 : :
31426 : : case 42:
31427 : : if (!((
31428 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31429 : : ((64 == 64 || TARGET_AVX512VL
31430 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31431 : : && ix86_pre_reload_split ()) &&
31432 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31433 : : (TARGET_AVX512F)) &&
31434 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31435 : : ( 1)))
31436 : : return NULL;
31437 : : return gen_split_3195 (insn, operands);
31438 : :
31439 : : case 43:
31440 : : if (!((
31441 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31442 : : ((32 == 64 || TARGET_AVX512VL
31443 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31444 : : && ix86_pre_reload_split ()) &&
31445 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31446 : : (TARGET_AVX)) &&
31447 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31448 : : ( 1)))
31449 : : return NULL;
31450 : : return gen_split_3204 (insn, operands);
31451 : :
31452 : : case 44:
31453 : : if (!(
31454 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31455 : : ((16 == 64 || TARGET_AVX512VL
31456 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31457 : : && ix86_pre_reload_split ()) &&
31458 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31459 : : ( 1)))
31460 : : return NULL;
31461 : : return gen_split_3213 (insn, operands);
31462 : :
31463 : : case 45:
31464 : : if (!((
31465 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31466 : : ((64 == 64 || TARGET_AVX512VL
31467 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31468 : : && ix86_pre_reload_split ()) &&
31469 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31470 : : (TARGET_AVX512F)) &&
31471 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31472 : : ( 1)))
31473 : : return NULL;
31474 : : return gen_split_3222 (insn, operands);
31475 : :
31476 : : case 46:
31477 : : if (!((
31478 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31479 : : ((32 == 64 || TARGET_AVX512VL
31480 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31481 : : && ix86_pre_reload_split ()) &&
31482 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31483 : : (TARGET_AVX)) &&
31484 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31485 : : ( 1)))
31486 : : return NULL;
31487 : : return gen_split_3231 (insn, operands);
31488 : :
31489 : : case 47:
31490 : : if (!((
31491 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31492 : : ((16 == 64 || TARGET_AVX512VL
31493 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31494 : : && ix86_pre_reload_split ()) &&
31495 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31496 : : (TARGET_SSE2)) &&
31497 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31498 : : ( 1)))
31499 : : return NULL;
31500 : : return gen_split_3240 (insn, operands);
31501 : :
31502 : : default:
31503 : : return NULL;
31504 : : }
31505 : :
31506 : : case AND:
31507 : : switch (pattern535 (x2))
31508 : : {
31509 : : case 0:
31510 : : if (!((
31511 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31512 : : ((64 == 64 || TARGET_AVX512VL
31513 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31514 : : && ix86_pre_reload_split ()
31515 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31516 : : STRIP_UNARY (operands[4]))
31517 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31518 : : STRIP_UNARY (operands[4]))
31519 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31520 : : STRIP_UNARY (operands[3]))
31521 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31522 : : STRIP_UNARY (operands[3])))) &&
31523 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31524 : : (TARGET_AVX512F)) &&
31525 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31526 : : ( 1)))
31527 : : return NULL;
31528 : : return gen_split_2715 (insn, operands);
31529 : :
31530 : : case 1:
31531 : : if (!((
31532 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31533 : : ((32 == 64 || TARGET_AVX512VL
31534 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31535 : : && ix86_pre_reload_split ()
31536 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31537 : : STRIP_UNARY (operands[4]))
31538 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31539 : : STRIP_UNARY (operands[4]))
31540 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31541 : : STRIP_UNARY (operands[3]))
31542 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31543 : : STRIP_UNARY (operands[3])))) &&
31544 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31545 : : (TARGET_AVX)) &&
31546 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31547 : : ( 1)))
31548 : : return NULL;
31549 : : return gen_split_2742 (insn, operands);
31550 : :
31551 : : case 2:
31552 : : if (!(
31553 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31554 : : ((16 == 64 || TARGET_AVX512VL
31555 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31556 : : && ix86_pre_reload_split ()
31557 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31558 : : STRIP_UNARY (operands[4]))
31559 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31560 : : STRIP_UNARY (operands[4]))
31561 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31562 : : STRIP_UNARY (operands[3]))
31563 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31564 : : STRIP_UNARY (operands[3])))) &&
31565 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31566 : : ( 1)))
31567 : : return NULL;
31568 : : return gen_split_2769 (insn, operands);
31569 : :
31570 : : case 3:
31571 : : if (!((
31572 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31573 : : ((64 == 64 || TARGET_AVX512VL
31574 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31575 : : && ix86_pre_reload_split ()
31576 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31577 : : STRIP_UNARY (operands[4]))
31578 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31579 : : STRIP_UNARY (operands[4]))
31580 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31581 : : STRIP_UNARY (operands[3]))
31582 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31583 : : STRIP_UNARY (operands[3])))) &&
31584 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31585 : : (TARGET_AVX512F)) &&
31586 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31587 : : ( 1)))
31588 : : return NULL;
31589 : : return gen_split_2796 (insn, operands);
31590 : :
31591 : : case 4:
31592 : : if (!((
31593 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31594 : : ((32 == 64 || TARGET_AVX512VL
31595 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31596 : : && ix86_pre_reload_split ()
31597 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31598 : : STRIP_UNARY (operands[4]))
31599 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31600 : : STRIP_UNARY (operands[4]))
31601 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31602 : : STRIP_UNARY (operands[3]))
31603 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31604 : : STRIP_UNARY (operands[3])))) &&
31605 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31606 : : (TARGET_AVX)) &&
31607 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31608 : : ( 1)))
31609 : : return NULL;
31610 : : return gen_split_2823 (insn, operands);
31611 : :
31612 : : case 5:
31613 : : if (!(
31614 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31615 : : ((16 == 64 || TARGET_AVX512VL
31616 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31617 : : && ix86_pre_reload_split ()
31618 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31619 : : STRIP_UNARY (operands[4]))
31620 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31621 : : STRIP_UNARY (operands[4]))
31622 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31623 : : STRIP_UNARY (operands[3]))
31624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31625 : : STRIP_UNARY (operands[3])))) &&
31626 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31627 : : ( 1)))
31628 : : return NULL;
31629 : : return gen_split_2850 (insn, operands);
31630 : :
31631 : : case 6:
31632 : : if (!((
31633 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31634 : : ((64 == 64 || TARGET_AVX512VL
31635 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31636 : : && ix86_pre_reload_split ()
31637 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31638 : : STRIP_UNARY (operands[4]))
31639 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31640 : : STRIP_UNARY (operands[4]))
31641 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31642 : : STRIP_UNARY (operands[3]))
31643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31644 : : STRIP_UNARY (operands[3])))) &&
31645 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31646 : : (TARGET_AVX512F)) &&
31647 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31648 : : ( 1)))
31649 : : return NULL;
31650 : : return gen_split_2877 (insn, operands);
31651 : :
31652 : : case 7:
31653 : : if (!((
31654 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31655 : : ((32 == 64 || TARGET_AVX512VL
31656 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31657 : : && ix86_pre_reload_split ()
31658 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31659 : : STRIP_UNARY (operands[4]))
31660 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31661 : : STRIP_UNARY (operands[4]))
31662 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31663 : : STRIP_UNARY (operands[3]))
31664 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31665 : : STRIP_UNARY (operands[3])))) &&
31666 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31667 : : (TARGET_AVX)) &&
31668 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31669 : : ( 1)))
31670 : : return NULL;
31671 : : return gen_split_2904 (insn, operands);
31672 : :
31673 : : case 8:
31674 : : if (!(
31675 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31676 : : ((16 == 64 || TARGET_AVX512VL
31677 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31678 : : && ix86_pre_reload_split ()
31679 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31680 : : STRIP_UNARY (operands[4]))
31681 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31682 : : STRIP_UNARY (operands[4]))
31683 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31684 : : STRIP_UNARY (operands[3]))
31685 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31686 : : STRIP_UNARY (operands[3])))) &&
31687 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31688 : : ( 1)))
31689 : : return NULL;
31690 : : return gen_split_2931 (insn, operands);
31691 : :
31692 : : case 9:
31693 : : if (!((
31694 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31695 : : ((64 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31707 : : (TARGET_AVX512F)) &&
31708 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31709 : : ( 1)))
31710 : : return NULL;
31711 : : return gen_split_2958 (insn, operands);
31712 : :
31713 : : case 10:
31714 : : if (!((
31715 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31716 : : ((32 == 64 || TARGET_AVX512VL
31717 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31718 : : && ix86_pre_reload_split ()
31719 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31720 : : STRIP_UNARY (operands[4]))
31721 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31722 : : STRIP_UNARY (operands[4]))
31723 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31724 : : STRIP_UNARY (operands[3]))
31725 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31726 : : STRIP_UNARY (operands[3])))) &&
31727 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31728 : : (TARGET_AVX)) &&
31729 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31730 : : ( 1)))
31731 : : return NULL;
31732 : : return gen_split_2985 (insn, operands);
31733 : :
31734 : : case 11:
31735 : : if (!((
31736 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31737 : : ((16 == 64 || TARGET_AVX512VL
31738 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31739 : : && ix86_pre_reload_split ()
31740 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31741 : : STRIP_UNARY (operands[4]))
31742 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31743 : : STRIP_UNARY (operands[4]))
31744 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31745 : : STRIP_UNARY (operands[3]))
31746 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31747 : : STRIP_UNARY (operands[3])))) &&
31748 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31749 : : (TARGET_SSE2)) &&
31750 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31751 : : ( 1)))
31752 : : return NULL;
31753 : : return gen_split_3012 (insn, operands);
31754 : :
31755 : : default:
31756 : : return NULL;
31757 : : }
31758 : :
31759 : : case IOR:
31760 : : switch (pattern535 (x2))
31761 : : {
31762 : : case 0:
31763 : : if (!((
31764 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31765 : : ((64 == 64 || TARGET_AVX512VL
31766 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31767 : : && ix86_pre_reload_split ()
31768 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31769 : : STRIP_UNARY (operands[4]))
31770 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31771 : : STRIP_UNARY (operands[4]))
31772 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31773 : : STRIP_UNARY (operands[3]))
31774 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31775 : : STRIP_UNARY (operands[3])))) &&
31776 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31777 : : (TARGET_AVX512F)) &&
31778 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31779 : : ( 1)))
31780 : : return NULL;
31781 : : return gen_split_2718 (insn, operands);
31782 : :
31783 : : case 1:
31784 : : if (!((
31785 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31786 : : ((32 == 64 || TARGET_AVX512VL
31787 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31788 : : && ix86_pre_reload_split ()
31789 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31790 : : STRIP_UNARY (operands[4]))
31791 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31792 : : STRIP_UNARY (operands[4]))
31793 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31794 : : STRIP_UNARY (operands[3]))
31795 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31796 : : STRIP_UNARY (operands[3])))) &&
31797 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31798 : : (TARGET_AVX)) &&
31799 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31800 : : ( 1)))
31801 : : return NULL;
31802 : : return gen_split_2745 (insn, operands);
31803 : :
31804 : : case 2:
31805 : : if (!(
31806 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31807 : : ((16 == 64 || TARGET_AVX512VL
31808 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31809 : : && ix86_pre_reload_split ()
31810 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31811 : : STRIP_UNARY (operands[4]))
31812 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31813 : : STRIP_UNARY (operands[4]))
31814 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31815 : : STRIP_UNARY (operands[3]))
31816 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31817 : : STRIP_UNARY (operands[3])))) &&
31818 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31819 : : ( 1)))
31820 : : return NULL;
31821 : : return gen_split_2772 (insn, operands);
31822 : :
31823 : : case 3:
31824 : : if (!((
31825 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31826 : : ((64 == 64 || TARGET_AVX512VL
31827 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31828 : : && ix86_pre_reload_split ()
31829 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31830 : : STRIP_UNARY (operands[4]))
31831 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31832 : : STRIP_UNARY (operands[4]))
31833 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31834 : : STRIP_UNARY (operands[3]))
31835 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31836 : : STRIP_UNARY (operands[3])))) &&
31837 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31838 : : (TARGET_AVX512F)) &&
31839 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31840 : : ( 1)))
31841 : : return NULL;
31842 : : return gen_split_2799 (insn, operands);
31843 : :
31844 : : case 4:
31845 : : if (!((
31846 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31847 : : ((32 == 64 || TARGET_AVX512VL
31848 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31849 : : && ix86_pre_reload_split ()
31850 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31851 : : STRIP_UNARY (operands[4]))
31852 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31853 : : STRIP_UNARY (operands[4]))
31854 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31855 : : STRIP_UNARY (operands[3]))
31856 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31857 : : STRIP_UNARY (operands[3])))) &&
31858 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31859 : : (TARGET_AVX)) &&
31860 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31861 : : ( 1)))
31862 : : return NULL;
31863 : : return gen_split_2826 (insn, operands);
31864 : :
31865 : : case 5:
31866 : : if (!(
31867 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31868 : : ((16 == 64 || TARGET_AVX512VL
31869 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31870 : : && ix86_pre_reload_split ()
31871 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31872 : : STRIP_UNARY (operands[4]))
31873 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31874 : : STRIP_UNARY (operands[4]))
31875 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31876 : : STRIP_UNARY (operands[3]))
31877 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31878 : : STRIP_UNARY (operands[3])))) &&
31879 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31880 : : ( 1)))
31881 : : return NULL;
31882 : : return gen_split_2853 (insn, operands);
31883 : :
31884 : : case 6:
31885 : : if (!((
31886 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31887 : : ((64 == 64 || TARGET_AVX512VL
31888 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31889 : : && ix86_pre_reload_split ()
31890 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31891 : : STRIP_UNARY (operands[4]))
31892 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31893 : : STRIP_UNARY (operands[4]))
31894 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31895 : : STRIP_UNARY (operands[3]))
31896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31897 : : STRIP_UNARY (operands[3])))) &&
31898 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31899 : : (TARGET_AVX512F)) &&
31900 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31901 : : ( 1)))
31902 : : return NULL;
31903 : : return gen_split_2880 (insn, operands);
31904 : :
31905 : : case 7:
31906 : : if (!((
31907 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31908 : : ((32 == 64 || TARGET_AVX512VL
31909 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31910 : : && ix86_pre_reload_split ()
31911 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31912 : : STRIP_UNARY (operands[4]))
31913 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31914 : : STRIP_UNARY (operands[4]))
31915 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31916 : : STRIP_UNARY (operands[3]))
31917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31918 : : STRIP_UNARY (operands[3])))) &&
31919 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31920 : : (TARGET_AVX)) &&
31921 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31922 : : ( 1)))
31923 : : return NULL;
31924 : : return gen_split_2907 (insn, operands);
31925 : :
31926 : : case 8:
31927 : : if (!(
31928 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31929 : : ((16 == 64 || TARGET_AVX512VL
31930 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31931 : : && ix86_pre_reload_split ()
31932 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31933 : : STRIP_UNARY (operands[4]))
31934 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31935 : : STRIP_UNARY (operands[4]))
31936 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31937 : : STRIP_UNARY (operands[3]))
31938 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31939 : : STRIP_UNARY (operands[3])))) &&
31940 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31941 : : ( 1)))
31942 : : return NULL;
31943 : : return gen_split_2934 (insn, operands);
31944 : :
31945 : : case 9:
31946 : : if (!((
31947 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31948 : : ((64 == 64 || TARGET_AVX512VL
31949 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31950 : : && ix86_pre_reload_split ()
31951 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31952 : : STRIP_UNARY (operands[4]))
31953 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31954 : : STRIP_UNARY (operands[4]))
31955 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31956 : : STRIP_UNARY (operands[3]))
31957 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31958 : : STRIP_UNARY (operands[3])))) &&
31959 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31960 : : (TARGET_AVX512F)) &&
31961 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31962 : : ( 1)))
31963 : : return NULL;
31964 : : return gen_split_2961 (insn, operands);
31965 : :
31966 : : case 10:
31967 : : if (!((
31968 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31969 : : ((32 == 64 || TARGET_AVX512VL
31970 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31971 : : && ix86_pre_reload_split ()
31972 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31973 : : STRIP_UNARY (operands[4]))
31974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31975 : : STRIP_UNARY (operands[4]))
31976 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31977 : : STRIP_UNARY (operands[3]))
31978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31979 : : STRIP_UNARY (operands[3])))) &&
31980 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31981 : : (TARGET_AVX)) &&
31982 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31983 : : ( 1)))
31984 : : return NULL;
31985 : : return gen_split_2988 (insn, operands);
31986 : :
31987 : : case 11:
31988 : : if (!((
31989 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31990 : : ((16 == 64 || TARGET_AVX512VL
31991 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31992 : : && ix86_pre_reload_split ()
31993 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31994 : : STRIP_UNARY (operands[4]))
31995 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31996 : : STRIP_UNARY (operands[4]))
31997 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31998 : : STRIP_UNARY (operands[3]))
31999 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32000 : : STRIP_UNARY (operands[3])))) &&
32001 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32002 : : (TARGET_SSE2)) &&
32003 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32004 : : ( 1)))
32005 : : return NULL;
32006 : : return gen_split_3015 (insn, operands);
32007 : :
32008 : : default:
32009 : : return NULL;
32010 : : }
32011 : :
32012 : : case XOR:
32013 : : switch (pattern535 (x2))
32014 : : {
32015 : : case 0:
32016 : : if (!((
32017 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32018 : : ((64 == 64 || TARGET_AVX512VL
32019 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32020 : : && ix86_pre_reload_split ()
32021 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32022 : : STRIP_UNARY (operands[4]))
32023 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32024 : : STRIP_UNARY (operands[4]))
32025 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32026 : : STRIP_UNARY (operands[3]))
32027 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32028 : : STRIP_UNARY (operands[3])))) &&
32029 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32030 : : (TARGET_AVX512F)) &&
32031 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32032 : : ( 1)))
32033 : : return NULL;
32034 : : return gen_split_2721 (insn, operands);
32035 : :
32036 : : case 1:
32037 : : if (!((
32038 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32039 : : ((32 == 64 || TARGET_AVX512VL
32040 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32041 : : && ix86_pre_reload_split ()
32042 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32043 : : STRIP_UNARY (operands[4]))
32044 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32045 : : STRIP_UNARY (operands[4]))
32046 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32047 : : STRIP_UNARY (operands[3]))
32048 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32049 : : STRIP_UNARY (operands[3])))) &&
32050 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32051 : : (TARGET_AVX)) &&
32052 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32053 : : ( 1)))
32054 : : return NULL;
32055 : : return gen_split_2748 (insn, operands);
32056 : :
32057 : : case 2:
32058 : : if (!(
32059 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32060 : : ((16 == 64 || TARGET_AVX512VL
32061 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32062 : : && ix86_pre_reload_split ()
32063 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32064 : : STRIP_UNARY (operands[4]))
32065 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32066 : : STRIP_UNARY (operands[4]))
32067 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32068 : : STRIP_UNARY (operands[3]))
32069 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32070 : : STRIP_UNARY (operands[3])))) &&
32071 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32072 : : ( 1)))
32073 : : return NULL;
32074 : : return gen_split_2775 (insn, operands);
32075 : :
32076 : : case 3:
32077 : : if (!((
32078 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32079 : : ((64 == 64 || TARGET_AVX512VL
32080 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32081 : : && ix86_pre_reload_split ()
32082 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32083 : : STRIP_UNARY (operands[4]))
32084 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32085 : : STRIP_UNARY (operands[4]))
32086 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32087 : : STRIP_UNARY (operands[3]))
32088 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32089 : : STRIP_UNARY (operands[3])))) &&
32090 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32091 : : (TARGET_AVX512F)) &&
32092 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32093 : : ( 1)))
32094 : : return NULL;
32095 : : return gen_split_2802 (insn, operands);
32096 : :
32097 : : case 4:
32098 : : if (!((
32099 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32100 : : ((32 == 64 || TARGET_AVX512VL
32101 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32102 : : && ix86_pre_reload_split ()
32103 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32104 : : STRIP_UNARY (operands[4]))
32105 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32106 : : STRIP_UNARY (operands[4]))
32107 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32108 : : STRIP_UNARY (operands[3]))
32109 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32110 : : STRIP_UNARY (operands[3])))) &&
32111 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32112 : : (TARGET_AVX)) &&
32113 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32114 : : ( 1)))
32115 : : return NULL;
32116 : : return gen_split_2829 (insn, operands);
32117 : :
32118 : : case 5:
32119 : : if (!(
32120 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32121 : : ((16 == 64 || TARGET_AVX512VL
32122 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32123 : : && ix86_pre_reload_split ()
32124 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32125 : : STRIP_UNARY (operands[4]))
32126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32127 : : STRIP_UNARY (operands[4]))
32128 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32129 : : STRIP_UNARY (operands[3]))
32130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32131 : : STRIP_UNARY (operands[3])))) &&
32132 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32133 : : ( 1)))
32134 : : return NULL;
32135 : : return gen_split_2856 (insn, operands);
32136 : :
32137 : : case 6:
32138 : : if (!((
32139 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32140 : : ((64 == 64 || TARGET_AVX512VL
32141 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32142 : : && ix86_pre_reload_split ()
32143 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32144 : : STRIP_UNARY (operands[4]))
32145 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32146 : : STRIP_UNARY (operands[4]))
32147 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32148 : : STRIP_UNARY (operands[3]))
32149 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32150 : : STRIP_UNARY (operands[3])))) &&
32151 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32152 : : (TARGET_AVX512F)) &&
32153 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32154 : : ( 1)))
32155 : : return NULL;
32156 : : return gen_split_2883 (insn, operands);
32157 : :
32158 : : case 7:
32159 : : if (!((
32160 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32161 : : ((32 == 64 || TARGET_AVX512VL
32162 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32163 : : && ix86_pre_reload_split ()
32164 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32165 : : STRIP_UNARY (operands[4]))
32166 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32167 : : STRIP_UNARY (operands[4]))
32168 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32169 : : STRIP_UNARY (operands[3]))
32170 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32171 : : STRIP_UNARY (operands[3])))) &&
32172 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32173 : : (TARGET_AVX)) &&
32174 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32175 : : ( 1)))
32176 : : return NULL;
32177 : : return gen_split_2910 (insn, operands);
32178 : :
32179 : : case 8:
32180 : : if (!(
32181 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32182 : : ((16 == 64 || TARGET_AVX512VL
32183 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32184 : : && ix86_pre_reload_split ()
32185 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32186 : : STRIP_UNARY (operands[4]))
32187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32188 : : STRIP_UNARY (operands[4]))
32189 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32190 : : STRIP_UNARY (operands[3]))
32191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32192 : : STRIP_UNARY (operands[3])))) &&
32193 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32194 : : ( 1)))
32195 : : return NULL;
32196 : : return gen_split_2937 (insn, operands);
32197 : :
32198 : : case 9:
32199 : : if (!((
32200 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32201 : : ((64 == 64 || TARGET_AVX512VL
32202 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32203 : : && ix86_pre_reload_split ()
32204 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32205 : : STRIP_UNARY (operands[4]))
32206 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32207 : : STRIP_UNARY (operands[4]))
32208 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32209 : : STRIP_UNARY (operands[3]))
32210 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32211 : : STRIP_UNARY (operands[3])))) &&
32212 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32213 : : (TARGET_AVX512F)) &&
32214 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32215 : : ( 1)))
32216 : : return NULL;
32217 : : return gen_split_2964 (insn, operands);
32218 : :
32219 : : case 10:
32220 : : if (!((
32221 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32222 : : ((32 == 64 || TARGET_AVX512VL
32223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32224 : : && ix86_pre_reload_split ()
32225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32226 : : STRIP_UNARY (operands[4]))
32227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32228 : : STRIP_UNARY (operands[4]))
32229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32230 : : STRIP_UNARY (operands[3]))
32231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32232 : : STRIP_UNARY (operands[3])))) &&
32233 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32234 : : (TARGET_AVX)) &&
32235 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32236 : : ( 1)))
32237 : : return NULL;
32238 : : return gen_split_2991 (insn, operands);
32239 : :
32240 : : case 11:
32241 : : if (!((
32242 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32243 : : ((16 == 64 || TARGET_AVX512VL
32244 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32245 : : && ix86_pre_reload_split ()
32246 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32247 : : STRIP_UNARY (operands[4]))
32248 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32249 : : STRIP_UNARY (operands[4]))
32250 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
32251 : : STRIP_UNARY (operands[3]))
32252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
32253 : : STRIP_UNARY (operands[3])))) &&
32254 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32255 : : (TARGET_SSE2)) &&
32256 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32257 : : ( 1)))
32258 : : return NULL;
32259 : : return gen_split_3018 (insn, operands);
32260 : :
32261 : : default:
32262 : : return NULL;
32263 : : }
32264 : :
32265 : : default:
32266 : : return NULL;
32267 : : }
32268 : :
32269 : : case XOR:
32270 : : return split_74 (x1, insn);
32271 : :
32272 : : default:
32273 : : return NULL;
32274 : : }
32275 : : }
|