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 : 37621 : pattern0 (rtx x1)
57 : : {
58 : 37621 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 37621 : int res ATTRIBUTE_UNUSED;
60 : 37621 : switch (GET_MODE (operands[0]))
61 : : {
62 : 3878 : case E_QImode:
63 : 3878 : if (!nonimmediate_operand (operands[0], E_QImode)
64 : 3524 : || GET_MODE (x1) != E_QImode
65 : 7402 : || !nonimmediate_operand (operands[1], E_QImode))
66 : 709 : return -1;
67 : : return 0;
68 : :
69 : 2681 : case E_HImode:
70 : 2681 : if (!nonimmediate_operand (operands[0], E_HImode)
71 : 2681 : || GET_MODE (x1) != E_HImode
72 : 5362 : || !nonimmediate_operand (operands[1], E_HImode))
73 : 63 : return -1;
74 : : return 1;
75 : :
76 : : default:
77 : : return -1;
78 : : }
79 : : }
80 : :
81 : : int
82 : 27327 : pattern16 (rtx x1)
83 : : {
84 : 27327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
85 : 27327 : rtx x2, x3;
86 : 27327 : int res ATTRIBUTE_UNUSED;
87 : 27327 : x2 = XEXP (x1, 1);
88 : 27327 : x3 = XEXP (x2, 0);
89 : 27327 : operands[2] = x3;
90 : 27327 : if (!register_operand (operands[2], E_QImode))
91 : : return -1;
92 : 23786 : return pattern15 (x1); /* [-1, 1] */
93 : : }
94 : :
95 : : int
96 : 438330 : pattern19 (rtx x1, int *pnum_clobbers)
97 : : {
98 : 438330 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
99 : 438330 : rtx x2, x3, x4, x5;
100 : 438330 : int res ATTRIBUTE_UNUSED;
101 : 438330 : if (pnum_clobbers == NULL)
102 : : return -1;
103 : 432758 : x2 = XEXP (x1, 0);
104 : 432758 : operands[0] = x2;
105 : 432758 : x3 = XEXP (x1, 1);
106 : 432758 : x4 = XEXP (x3, 0);
107 : 432758 : operands[1] = x4;
108 : 432758 : x5 = XEXP (x3, 1);
109 : 432758 : operands[2] = x5;
110 : 432758 : switch (GET_MODE (operands[0]))
111 : : {
112 : 287166 : case E_DImode:
113 : 287166 : return pattern4 (x3,
114 : 287166 : E_DImode); /* [-1, 0] */
115 : :
116 : 96549 : case E_SImode:
117 : 96549 : if (pattern4 (x3,
118 : : E_SImode) != 0)
119 : : return -1;
120 : : return 1;
121 : :
122 : : default:
123 : : return -1;
124 : : }
125 : : }
126 : :
127 : : int
128 : 3107844 : pattern27 (rtx x1)
129 : : {
130 : 3107844 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
131 : 3107844 : rtx x2, x3, x4, x5;
132 : 3107844 : int res ATTRIBUTE_UNUSED;
133 : 3107844 : x2 = XEXP (x1, 0);
134 : 3107844 : operands[0] = x2;
135 : 3107844 : x3 = XEXP (x1, 1);
136 : 3107844 : x4 = XEXP (x3, 0);
137 : 3107844 : operands[1] = x4;
138 : 3107844 : x5 = XEXP (x3, 1);
139 : 3107844 : operands[2] = x5;
140 : 3107844 : switch (GET_MODE (operands[0]))
141 : : {
142 : 3153 : case E_V16HImode:
143 : 3153 : if (!register_operand (operands[0], E_V16HImode)
144 : 3153 : || GET_MODE (x3) != E_V16HImode)
145 : : return -1;
146 : : return 0;
147 : :
148 : 59059 : case E_V8HImode:
149 : 59059 : if (!register_operand (operands[0], E_V8HImode)
150 : 59059 : || GET_MODE (x3) != E_V8HImode)
151 : : return -1;
152 : : return 1;
153 : :
154 : 15152 : case E_V8SImode:
155 : 15152 : if (!register_operand (operands[0], E_V8SImode)
156 : 15152 : || GET_MODE (x3) != E_V8SImode)
157 : : return -1;
158 : : return 2;
159 : :
160 : 178947 : case E_V4SImode:
161 : 178947 : if (!register_operand (operands[0], E_V4SImode)
162 : 178947 : || GET_MODE (x3) != E_V4SImode)
163 : : return -1;
164 : : return 3;
165 : :
166 : 15215 : case E_V4DImode:
167 : 15215 : if (!register_operand (operands[0], E_V4DImode)
168 : 15215 : || GET_MODE (x3) != E_V4DImode)
169 : : return -1;
170 : : return 4;
171 : :
172 : 141376 : case E_V2DImode:
173 : 141376 : if (!register_operand (operands[0], E_V2DImode)
174 : 141376 : || GET_MODE (x3) != E_V2DImode)
175 : : return -1;
176 : : return 5;
177 : :
178 : 1758 : case E_V32HImode:
179 : 1758 : if (!register_operand (operands[0], E_V32HImode)
180 : 1758 : || GET_MODE (x3) != E_V32HImode)
181 : : return -1;
182 : : return 6;
183 : :
184 : 9157 : case E_V16SImode:
185 : 9157 : if (!register_operand (operands[0], E_V16SImode)
186 : 9157 : || GET_MODE (x3) != E_V16SImode)
187 : : return -1;
188 : : return 7;
189 : :
190 : 5817 : case E_V8DImode:
191 : 5817 : if (!register_operand (operands[0], E_V8DImode)
192 : 5817 : || GET_MODE (x3) != E_V8DImode)
193 : : return -1;
194 : : return 8;
195 : :
196 : 391203 : case E_V1TImode:
197 : 391203 : if (!register_operand (operands[0], E_V1TImode)
198 : 391203 : || GET_MODE (x3) != E_V1TImode)
199 : : return -1;
200 : : return 9;
201 : :
202 : 110 : case E_V4TImode:
203 : 110 : if (!register_operand (operands[0], E_V4TImode)
204 : 110 : || GET_MODE (x3) != E_V4TImode
205 : 110 : || !nonimmediate_operand (operands[1], E_V4TImode)
206 : 220 : || !const_0_to_255_mul_8_operand (operands[2], E_SImode))
207 : 0 : return -1;
208 : : return 10;
209 : :
210 : 252 : case E_V2TImode:
211 : 252 : if (!register_operand (operands[0], E_V2TImode)
212 : 252 : || GET_MODE (x3) != E_V2TImode
213 : 504 : || !const_0_to_255_mul_8_operand (operands[2], E_SImode))
214 : 0 : return -1;
215 : : return 11;
216 : :
217 : : default:
218 : : return -1;
219 : : }
220 : : }
221 : :
222 : : int
223 : 10219 : pattern44 (rtx x1)
224 : : {
225 : 10219 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
226 : 10219 : rtx x2, x3;
227 : 10219 : int res ATTRIBUTE_UNUSED;
228 : 10219 : x2 = XEXP (x1, 0);
229 : 10219 : operands[1] = x2;
230 : 10219 : x3 = XEXP (x1, 1);
231 : 10219 : operands[2] = x3;
232 : 10219 : switch (GET_MODE (operands[0]))
233 : : {
234 : 994 : case E_V8QImode:
235 : 994 : return pattern6 (x1,
236 : 994 : E_V8QImode); /* [-1, 0] */
237 : :
238 : 940 : case E_V4HImode:
239 : 940 : if (pattern6 (x1,
240 : : E_V4HImode) != 0)
241 : : return -1;
242 : : return 1;
243 : :
244 : 162 : case E_V4QImode:
245 : 162 : if (pattern5 (x1,
246 : : E_V4QImode) != 0)
247 : : return -1;
248 : : return 2;
249 : :
250 : 220 : case E_V2QImode:
251 : 220 : if (pattern5 (x1,
252 : : E_V2QImode) != 0)
253 : : return -1;
254 : : return 3;
255 : :
256 : 237 : case E_V2HImode:
257 : 237 : if (pattern5 (x1,
258 : : E_V2HImode) != 0)
259 : : return -1;
260 : : return 4;
261 : :
262 : : default:
263 : : return -1;
264 : : }
265 : : }
266 : :
267 : : int
268 : 298 : pattern52 (rtx x1)
269 : : {
270 : 298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
271 : 298 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
272 : 298 : int res ATTRIBUTE_UNUSED;
273 : 298 : x2 = XEXP (x1, 0);
274 : 298 : x3 = XEXP (x2, 0);
275 : 298 : x4 = XEXP (x3, 0);
276 : 298 : operands[1] = x4;
277 : 298 : if (!register_operand (operands[1], E_V4HImode))
278 : : return -1;
279 : 298 : x5 = XEXP (x3, 1);
280 : 298 : operands[2] = x5;
281 : 298 : if (!register_mmxmem_operand (operands[2], E_V4HImode))
282 : : return -1;
283 : 290 : x6 = XEXP (x1, 1);
284 : 290 : x7 = XEXP (x6, 0);
285 : 290 : x8 = XEXP (x7, 0);
286 : 290 : if (!rtx_equal_p (x8, operands[1]))
287 : : return -1;
288 : 290 : x9 = XEXP (x7, 1);
289 : 290 : if (!rtx_equal_p (x9, operands[2]))
290 : : return -1;
291 : : return 0;
292 : : }
293 : :
294 : : int
295 : 3112 : pattern57 (rtx x1)
296 : : {
297 : 3112 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
298 : 3112 : rtx x2, x3, x4;
299 : 3112 : int res ATTRIBUTE_UNUSED;
300 : 3112 : x2 = XEXP (x1, 0);
301 : 3112 : operands[0] = x2;
302 : 3112 : x3 = XEXP (x1, 1);
303 : 3112 : x4 = XVECEXP (x3, 0, 0);
304 : 3112 : operands[1] = x4;
305 : 3112 : switch (GET_MODE (operands[0]))
306 : : {
307 : 221 : case E_SFmode:
308 : 221 : if (!register_operand (operands[0], E_SFmode)
309 : 221 : || GET_MODE (x3) != E_SFmode
310 : 442 : || !nonimmediate_operand (operands[1], E_SFmode))
311 : 31 : return -1;
312 : : return 0;
313 : :
314 : 620 : case E_HFmode:
315 : 620 : if (!register_operand (operands[0], E_HFmode)
316 : 620 : || GET_MODE (x3) != E_HFmode
317 : 1240 : || !nonimmediate_operand (operands[1], E_HFmode))
318 : 0 : return -1;
319 : : return 1;
320 : :
321 : : default:
322 : : return -1;
323 : : }
324 : : }
325 : :
326 : : int
327 : 14175 : pattern66 (rtx x1)
328 : : {
329 : 14175 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
330 : 14175 : int res ATTRIBUTE_UNUSED;
331 : 14175 : switch (GET_MODE (operands[0]))
332 : : {
333 : 3473 : case E_HImode:
334 : 3473 : if (!register_operand (operands[0], E_HImode)
335 : 3473 : || GET_MODE (x1) != E_HImode)
336 : : return -1;
337 : 3419 : switch (GET_MODE (operands[1]))
338 : : {
339 : 856 : case E_V16QImode:
340 : 856 : if (!register_operand (operands[1], E_V16QImode)
341 : 856 : || !nonimmediate_operand (operands[2], E_V16QImode))
342 : 87 : return -1;
343 : : return 0;
344 : :
345 : 1392 : case E_V16HImode:
346 : 1392 : if (!register_operand (operands[1], E_V16HImode)
347 : 1392 : || !nonimmediate_operand (operands[2], E_V16HImode))
348 : 145 : return -1;
349 : : return 1;
350 : :
351 : 1171 : case E_V16SImode:
352 : 1171 : if (!register_operand (operands[1], E_V16SImode)
353 : 1171 : || !nonimmediate_operand (operands[2], E_V16SImode))
354 : 150 : return -1;
355 : : return 2;
356 : :
357 : : default:
358 : : return -1;
359 : : }
360 : :
361 : 7133 : case E_QImode:
362 : 7133 : if (!register_operand (operands[0], E_QImode)
363 : 7133 : || GET_MODE (x1) != E_QImode)
364 : : return -1;
365 : 6936 : switch (GET_MODE (operands[1]))
366 : : {
367 : 1538 : case E_V8HImode:
368 : 1538 : if (!register_operand (operands[1], E_V8HImode)
369 : 1538 : || !nonimmediate_operand (operands[2], E_V8HImode))
370 : 77 : return -1;
371 : : return 3;
372 : :
373 : 1243 : case E_V8SImode:
374 : 1243 : if (!register_operand (operands[1], E_V8SImode)
375 : 1243 : || !nonimmediate_operand (operands[2], E_V8SImode))
376 : 100 : return -1;
377 : : return 4;
378 : :
379 : 931 : case E_V4SImode:
380 : 931 : if (!register_operand (operands[1], E_V4SImode)
381 : 931 : || !nonimmediate_operand (operands[2], E_V4SImode))
382 : 87 : return -1;
383 : : return 5;
384 : :
385 : 1304 : case E_V8DImode:
386 : 1304 : if (!register_operand (operands[1], E_V8DImode)
387 : 1304 : || !nonimmediate_operand (operands[2], E_V8DImode))
388 : 139 : return -1;
389 : : return 6;
390 : :
391 : 1039 : case E_V4DImode:
392 : 1039 : if (!register_operand (operands[1], E_V4DImode)
393 : 1039 : || !nonimmediate_operand (operands[2], E_V4DImode))
394 : 98 : return -1;
395 : : return 7;
396 : :
397 : 881 : case E_V2DImode:
398 : 881 : if (!register_operand (operands[1], E_V2DImode)
399 : 881 : || !nonimmediate_operand (operands[2], E_V2DImode))
400 : 169 : return -1;
401 : : return 8;
402 : :
403 : : default:
404 : : return -1;
405 : : }
406 : :
407 : : default:
408 : : return -1;
409 : : }
410 : : }
411 : :
412 : : int
413 : 1035 : pattern98 (rtx x1, machine_mode i1)
414 : : {
415 : 1035 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
416 : 1035 : rtx x2;
417 : 1035 : int res ATTRIBUTE_UNUSED;
418 : 1035 : if (!memory_operand (operands[0], i1)
419 : 1035 : || GET_MODE (x1) != i1)
420 : : return -1;
421 : 1035 : x2 = XEXP (x1, 0);
422 : 1035 : if (GET_MODE (x2) != i1)
423 : : return -1;
424 : 1035 : switch (GET_MODE (operands[1]))
425 : : {
426 : 536 : case E_V4SImode:
427 : 536 : if (!register_operand (operands[1], E_V4SImode))
428 : : return -1;
429 : : return 0;
430 : :
431 : 499 : case E_V4DImode:
432 : 499 : if (!register_operand (operands[1], E_V4DImode))
433 : : return -1;
434 : : return 1;
435 : :
436 : : default:
437 : : return -1;
438 : : }
439 : : }
440 : :
441 : : int
442 : 1951 : pattern106 (rtx x1, int *pnum_clobbers)
443 : : {
444 : 1951 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
445 : 1951 : rtx x2, x3, x4;
446 : 1951 : int res ATTRIBUTE_UNUSED;
447 : 1951 : if (pnum_clobbers == NULL)
448 : : return -1;
449 : 1951 : x2 = XEXP (x1, 0);
450 : 1951 : if (GET_MODE (x2) != E_SImode
451 : 1860 : || !register_operand (operands[0], E_DImode)
452 : 3809 : || GET_MODE (x1) != E_DImode)
453 : 93 : return -1;
454 : 1858 : x3 = XEXP (x2, 0);
455 : 1858 : operands[1] = x3;
456 : 1858 : if (!register_operand (operands[1], E_SImode))
457 : : return -1;
458 : 1778 : x4 = XEXP (x2, 1);
459 : 1778 : operands[2] = x4;
460 : 1778 : if (!nonimmediate_operand (operands[2], E_SImode))
461 : : return -1;
462 : : return 0;
463 : : }
464 : :
465 : : int
466 : 449650 : pattern113 (rtx x1, rtx_code i1)
467 : : {
468 : 449650 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
469 : 449650 : rtx x2, x3, x4, x5;
470 : 449650 : int res ATTRIBUTE_UNUSED;
471 : 449650 : x2 = XEXP (x1, 0);
472 : 449650 : if (GET_MODE (x2) != E_DImode)
473 : : return -1;
474 : 203831 : x3 = XEXP (x1, 1);
475 : 203831 : if (GET_CODE (x3) != i1
476 : 28974 : || GET_MODE (x3) != E_DImode
477 : 28974 : || !register_operand (operands[0], E_DImode)
478 : 232692 : || GET_MODE (x1) != E_DImode)
479 : 174970 : return -1;
480 : 28861 : x4 = XEXP (x2, 0);
481 : 28861 : operands[1] = x4;
482 : 28861 : if (!register_operand (operands[1], E_SImode))
483 : : return -1;
484 : 17655 : x5 = XEXP (x3, 0);
485 : 17655 : operands[2] = x5;
486 : 17655 : if (!nonimmediate_operand (operands[2], E_SImode))
487 : : return -1;
488 : : return 0;
489 : : }
490 : :
491 : : int
492 : 1233 : pattern120 (rtx x1)
493 : : {
494 : 1233 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
495 : 1233 : rtx x2, x3, x4;
496 : 1233 : int res ATTRIBUTE_UNUSED;
497 : 1233 : x2 = XEXP (x1, 0);
498 : 1233 : operands[0] = x2;
499 : 1233 : x3 = XEXP (x1, 1);
500 : 1233 : x4 = XVECEXP (x3, 0, 0);
501 : 1233 : operands[1] = x4;
502 : 1233 : switch (GET_MODE (operands[0]))
503 : : {
504 : 462 : case E_SImode:
505 : 462 : if (!memory_operand (operands[0], E_SImode)
506 : 439 : || GET_MODE (x3) != E_SImode
507 : 901 : || !register_operand (operands[1], E_SImode))
508 : 85 : return -1;
509 : : return 0;
510 : :
511 : 146 : case E_DImode:
512 : 146 : if (!memory_operand (operands[0], E_DImode)
513 : 140 : || GET_MODE (x3) != E_DImode
514 : 286 : || !register_operand (operands[1], E_DImode))
515 : 15 : return -1;
516 : : return 1;
517 : :
518 : : default:
519 : : return -1;
520 : : }
521 : : }
522 : :
523 : : int
524 : 35555 : pattern131 (rtx x1)
525 : : {
526 : 35555 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
527 : 35555 : rtx x2, x3;
528 : 35555 : int res ATTRIBUTE_UNUSED;
529 : 35555 : x2 = XEXP (x1, 2);
530 : 35555 : if (XWINT (x2, 0) != 1L)
531 : : return -1;
532 : 7262 : x3 = XEXP (x1, 1);
533 : 7262 : if (!rtx_equal_p (x3, operands[1]))
534 : : return -1;
535 : 1716 : switch (GET_MODE (operands[0]))
536 : : {
537 : 128 : case E_V8HFmode:
538 : 128 : return pattern130 (x1,
539 : 128 : E_V8HFmode); /* [-1, 0] */
540 : :
541 : 386 : case E_V4SFmode:
542 : 386 : if (pattern130 (x1,
543 : : E_V4SFmode) != 0)
544 : : return -1;
545 : : return 1;
546 : :
547 : 386 : case E_V2DFmode:
548 : 386 : if (pattern130 (x1,
549 : : E_V2DFmode) != 0)
550 : : return -1;
551 : : return 2;
552 : :
553 : : default:
554 : : return -1;
555 : : }
556 : : }
557 : :
558 : : int
559 : 2556 : pattern142 (rtx x1, machine_mode i1, machine_mode i2)
560 : : {
561 : 2556 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
562 : 2556 : rtx x2;
563 : 2556 : int res ATTRIBUTE_UNUSED;
564 : 2556 : if (!register_operand (operands[0], i1)
565 : 2556 : || GET_MODE (x1) != i1)
566 : : return -1;
567 : 2420 : x2 = XEXP (x1, 0);
568 : 2420 : if (GET_MODE (x2) != i1
569 : 2420 : || !nonimmediate_operand (operands[1], i1)
570 : 2420 : || !nonimm_or_0_operand (operands[3], i1)
571 : 4758 : || !register_operand (operands[4], i2))
572 : 236 : return -1;
573 : : return 0;
574 : : }
575 : :
576 : : int
577 : 673 : pattern146 (rtx x1, machine_mode i1)
578 : : {
579 : 673 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
580 : 673 : rtx x2;
581 : 673 : int res ATTRIBUTE_UNUSED;
582 : 673 : if (!register_operand (operands[0], E_V16HImode)
583 : 673 : || GET_MODE (x1) != E_V16HImode)
584 : : return -1;
585 : 638 : x2 = XEXP (x1, 0);
586 : 638 : if (GET_MODE (x2) != E_V16HImode
587 : 638 : || !nonimmediate_operand (operands[1], i1)
588 : 626 : || !nonimm_or_0_operand (operands[2], E_V16HImode)
589 : 1246 : || !register_operand (operands[3], E_HImode))
590 : 78 : return -1;
591 : : return 0;
592 : : }
593 : :
594 : : int
595 : 0 : pattern149 (rtx x1, machine_mode i1, machine_mode i2)
596 : : {
597 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
598 : 0 : rtx x2;
599 : 0 : int res ATTRIBUTE_UNUSED;
600 : 0 : if (!register_operand (operands[0], i1)
601 : 0 : || GET_MODE (x1) != i1)
602 : : return -1;
603 : 0 : x2 = XEXP (x1, 0);
604 : 0 : if (GET_MODE (x2) != i1
605 : 0 : || !memory_operand (operands[1], i2)
606 : 0 : || !nonimm_or_0_operand (operands[2], i1)
607 : 0 : || !register_operand (operands[3], E_QImode))
608 : 0 : return -1;
609 : : return 0;
610 : : }
611 : :
612 : : int
613 : 1619 : pattern153 (rtx x1, machine_mode i1)
614 : : {
615 : 1619 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
616 : 1619 : int res ATTRIBUTE_UNUSED;
617 : 1619 : if (!register_operand (operands[0], i1)
618 : 1409 : || GET_MODE (x1) != i1
619 : 1409 : || !vector_operand (operands[1], i1)
620 : 3004 : || !vector_operand (operands[2], i1))
621 : 242 : return -1;
622 : : return 0;
623 : : }
624 : :
625 : : int
626 : 116 : pattern155 (rtx x1)
627 : : {
628 : 116 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
629 : 116 : rtx x2, x3, x4, x5;
630 : 116 : int res ATTRIBUTE_UNUSED;
631 : 116 : x2 = XEXP (x1, 1);
632 : 116 : if (GET_MODE (x2) != E_V32HImode)
633 : : return -1;
634 : 116 : x3 = XEXP (x1, 0);
635 : 116 : operands[0] = x3;
636 : 116 : if (!register_operand (operands[0], E_V32HImode))
637 : : return -1;
638 : 108 : x4 = XVECEXP (x2, 0, 0);
639 : 108 : operands[1] = x4;
640 : 108 : if (!nonimmediate_operand (operands[1], E_V32HImode))
641 : : return -1;
642 : 108 : x5 = XVECEXP (x2, 0, 1);
643 : 108 : operands[2] = x5;
644 : 108 : if (!const_0_to_255_operand (operands[2], E_SImode))
645 : : return -1;
646 : : return 0;
647 : : }
648 : :
649 : : int
650 : 405 : pattern158 (rtx x1, machine_mode i1)
651 : : {
652 : 405 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
653 : 405 : rtx x2, x3, x4, x5;
654 : 405 : int res ATTRIBUTE_UNUSED;
655 : 405 : x2 = XEXP (x1, 1);
656 : 405 : if (GET_MODE (x2) != i1)
657 : : return -1;
658 : 405 : x3 = XEXP (x1, 0);
659 : 405 : operands[0] = x3;
660 : 405 : if (!register_operand (operands[0], i1))
661 : : return -1;
662 : 390 : x4 = XVECEXP (x2, 0, 0);
663 : 390 : operands[1] = x4;
664 : 390 : if (!register_operand (operands[1], i1))
665 : : return -1;
666 : 316 : x5 = XVECEXP (x2, 0, 1);
667 : 316 : operands[2] = x5;
668 : 316 : if (!register_operand (operands[2], i1))
669 : : return -1;
670 : : return 0;
671 : : }
672 : :
673 : : int
674 : 477 : pattern166 (rtx x1)
675 : : {
676 : 477 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
677 : 477 : rtx x2, x3, x4, x5;
678 : 477 : int res ATTRIBUTE_UNUSED;
679 : 477 : x2 = XEXP (x1, 0);
680 : 477 : operands[0] = x2;
681 : 477 : x3 = XEXP (x1, 1);
682 : 477 : x4 = XVECEXP (x3, 0, 0);
683 : 477 : operands[1] = x4;
684 : 477 : x5 = XVECEXP (x3, 0, 1);
685 : 477 : operands[2] = x5;
686 : 477 : if (!const_0_to_255_operand (operands[2], E_SImode))
687 : : return -1;
688 : 477 : switch (GET_MODE (operands[0]))
689 : : {
690 : 159 : case E_V32BFmode:
691 : 159 : if (!register_operand (operands[0], E_V32BFmode)
692 : 144 : || GET_MODE (x3) != E_V32BFmode
693 : 303 : || !nonimmediate_operand (operands[1], E_V32BFmode))
694 : 18 : return -1;
695 : : return 0;
696 : :
697 : 159 : case E_V16BFmode:
698 : 159 : if (!register_operand (operands[0], E_V16BFmode)
699 : 144 : || GET_MODE (x3) != E_V16BFmode
700 : 303 : || !nonimmediate_operand (operands[1], E_V16BFmode))
701 : 18 : return -1;
702 : : return 1;
703 : :
704 : 159 : case E_V8BFmode:
705 : 159 : if (!register_operand (operands[0], E_V8BFmode)
706 : 144 : || GET_MODE (x3) != E_V8BFmode
707 : 303 : || !nonimmediate_operand (operands[1], E_V8BFmode))
708 : 18 : return -1;
709 : : return 2;
710 : :
711 : : default:
712 : : return -1;
713 : : }
714 : : }
715 : :
716 : : int
717 : 101 : pattern180 (rtx x1)
718 : : {
719 : 101 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
720 : 101 : rtx x2, x3, x4;
721 : 101 : int res ATTRIBUTE_UNUSED;
722 : 101 : x2 = XEXP (x1, 0);
723 : 101 : if (GET_MODE (x2) != E_DImode)
724 : : return -1;
725 : 60 : x3 = XEXP (x1, 1);
726 : 60 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
727 : 38 : || !register_operand (operands[0], E_V2DImode)
728 : 96 : || GET_MODE (x1) != E_V2DImode)
729 : 24 : return -1;
730 : 36 : x4 = XEXP (x2, 0);
731 : 36 : operands[1] = x4;
732 : 36 : switch (GET_MODE (operands[1]))
733 : : {
734 : 13 : case E_HImode:
735 : 13 : if (!nonimmediate_operand (operands[1], E_HImode))
736 : : return -1;
737 : : return 0;
738 : :
739 : 15 : case E_SImode:
740 : 15 : if (!nonimmediate_operand (operands[1], E_SImode))
741 : : return -1;
742 : : return 1;
743 : :
744 : : default:
745 : : return -1;
746 : : }
747 : : }
748 : :
749 : : int
750 : 386 : pattern187 (rtx x1)
751 : : {
752 : 386 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
753 : 386 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
754 : 386 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
755 : 386 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
756 : 386 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
757 : 386 : rtx x34, x35, x36, x37;
758 : 386 : int res ATTRIBUTE_UNUSED;
759 : 386 : x2 = XEXP (x1, 0);
760 : 386 : x3 = XEXP (x2, 1);
761 : 386 : x4 = XVECEXP (x3, 0, 0);
762 : 386 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
763 : : return -1;
764 : 386 : x5 = XVECEXP (x3, 0, 1);
765 : 386 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
766 : : return -1;
767 : 386 : x6 = XVECEXP (x3, 0, 2);
768 : 386 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
769 : : return -1;
770 : 386 : x7 = XVECEXP (x3, 0, 3);
771 : 386 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
772 : : return -1;
773 : 386 : x8 = XVECEXP (x3, 0, 4);
774 : 386 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
775 : : return -1;
776 : 386 : x9 = XVECEXP (x3, 0, 5);
777 : 386 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
778 : : return -1;
779 : 386 : x10 = XVECEXP (x3, 0, 6);
780 : 386 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
781 : : return -1;
782 : 386 : x11 = XVECEXP (x3, 0, 7);
783 : 386 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
784 : : return -1;
785 : 386 : x12 = XVECEXP (x3, 0, 8);
786 : 386 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
787 : : return -1;
788 : 386 : x13 = XVECEXP (x3, 0, 9);
789 : 386 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
790 : : return -1;
791 : 386 : x14 = XVECEXP (x3, 0, 10);
792 : 386 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
793 : : return -1;
794 : 386 : x15 = XVECEXP (x3, 0, 11);
795 : 386 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
796 : : return -1;
797 : 386 : x16 = XVECEXP (x3, 0, 12);
798 : 386 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
799 : : return -1;
800 : 386 : x17 = XVECEXP (x3, 0, 13);
801 : 386 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
802 : : return -1;
803 : 386 : x18 = XVECEXP (x3, 0, 14);
804 : 386 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
805 : : return -1;
806 : 386 : x19 = XVECEXP (x3, 0, 15);
807 : 386 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
808 : : return -1;
809 : 386 : x20 = XEXP (x1, 1);
810 : 386 : x21 = XEXP (x20, 1);
811 : 386 : if (XVECLEN (x21, 0) != 16)
812 : : return -1;
813 : 386 : x22 = XVECEXP (x21, 0, 0);
814 : 386 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
815 : : return -1;
816 : 386 : x23 = XVECEXP (x21, 0, 1);
817 : 386 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
818 : : return -1;
819 : 386 : x24 = XVECEXP (x21, 0, 2);
820 : 386 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
821 : : return -1;
822 : 386 : x25 = XVECEXP (x21, 0, 3);
823 : 386 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
824 : : return -1;
825 : 386 : x26 = XVECEXP (x21, 0, 4);
826 : 386 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
827 : : return -1;
828 : 386 : x27 = XVECEXP (x21, 0, 5);
829 : 386 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
830 : : return -1;
831 : 386 : x28 = XVECEXP (x21, 0, 6);
832 : 386 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
833 : : return -1;
834 : 386 : x29 = XVECEXP (x21, 0, 7);
835 : 386 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
836 : : return -1;
837 : 386 : x30 = XVECEXP (x21, 0, 8);
838 : 386 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
839 : : return -1;
840 : 386 : x31 = XVECEXP (x21, 0, 9);
841 : 386 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
842 : : return -1;
843 : 386 : x32 = XVECEXP (x21, 0, 10);
844 : 386 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
845 : : return -1;
846 : 386 : x33 = XVECEXP (x21, 0, 11);
847 : 386 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
848 : : return -1;
849 : 386 : x34 = XVECEXP (x21, 0, 12);
850 : 386 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
851 : : return -1;
852 : 386 : x35 = XVECEXP (x21, 0, 13);
853 : 386 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
854 : : return -1;
855 : 386 : x36 = XVECEXP (x21, 0, 14);
856 : 386 : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
857 : : return -1;
858 : 386 : x37 = XVECEXP (x21, 0, 15);
859 : 386 : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
860 : 386 : || pattern186 (x1,
861 : : E_V32HImode,
862 : : E_V16HImode) != 0)
863 : 24 : return -1;
864 : : return 0;
865 : : }
866 : :
867 : : int
868 : 349841 : pattern209 (rtx x1)
869 : : {
870 : 349841 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
871 : 349841 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
872 : 349841 : rtx x10;
873 : 349841 : int res ATTRIBUTE_UNUSED;
874 : 349841 : x2 = XVECEXP (x1, 0, 1);
875 : 349841 : if (GET_CODE (x2) != CLOBBER)
876 : : return -1;
877 : 348328 : x3 = XVECEXP (x1, 0, 2);
878 : 348328 : if (GET_CODE (x3) != CLOBBER)
879 : : return -1;
880 : 348328 : x4 = XEXP (x3, 0);
881 : 348328 : if (GET_CODE (x4) != REG
882 : 348328 : || REGNO (x4) != 17
883 : 696656 : || GET_MODE (x4) != E_CCmode)
884 : : return -1;
885 : 348328 : x5 = XVECEXP (x1, 0, 0);
886 : 348328 : x6 = XEXP (x5, 0);
887 : 348328 : operands[0] = x6;
888 : 348328 : x7 = XEXP (x5, 1);
889 : 348328 : x8 = XEXP (x7, 0);
890 : 348328 : operands[1] = x8;
891 : 348328 : x9 = XEXP (x7, 1);
892 : 348328 : operands[2] = x9;
893 : 348328 : x10 = XEXP (x2, 0);
894 : 348328 : operands[3] = x10;
895 : 348328 : switch (GET_MODE (operands[0]))
896 : : {
897 : 59581 : case E_SImode:
898 : 59581 : return pattern208 (x7,
899 : 59581 : E_SImode); /* [-1, 0] */
900 : :
901 : 288747 : case E_DImode:
902 : 288747 : if (pattern208 (x7,
903 : : E_DImode) != 0)
904 : : return -1;
905 : : return 1;
906 : :
907 : : default:
908 : : return -1;
909 : : }
910 : : }
911 : :
912 : : int
913 : 908937 : pattern217 (rtx x1)
914 : : {
915 : 908937 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
916 : 908937 : rtx x2, x3, x4, x5, x6;
917 : 908937 : int res ATTRIBUTE_UNUSED;
918 : 908937 : x2 = XVECEXP (x1, 0, 0);
919 : 908937 : x3 = XEXP (x2, 1);
920 : 908937 : x4 = XEXP (x3, 1);
921 : 908937 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
922 : : return -1;
923 : 250690 : x5 = XEXP (x2, 0);
924 : 250690 : if (GET_CODE (x5) != REG
925 : 250690 : || REGNO (x5) != 17)
926 : : return -1;
927 : 250690 : x6 = XVECEXP (x1, 0, 1);
928 : 250690 : if (GET_CODE (x6) != SET)
929 : 13170 : return -1;
930 : : return 0;
931 : : }
932 : :
933 : : int
934 : 615450 : pattern225 (rtx x1)
935 : : {
936 : 615450 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
937 : 615450 : rtx x2, x3, x4, x5, x6, x7, x8;
938 : 615450 : int res ATTRIBUTE_UNUSED;
939 : 615450 : x2 = XEXP (x1, 1);
940 : 615450 : if (GET_MODE (x2) != E_QImode)
941 : : return -1;
942 : 461460 : x3 = XEXP (x2, 0);
943 : 461460 : if (!ix86_comparison_operator (x3, E_VOIDmode))
944 : : return -1;
945 : 1241 : operands[1] = x3;
946 : 1241 : x4 = XEXP (x3, 0);
947 : 1241 : if (GET_CODE (x4) != REG
948 : 1241 : || REGNO (x4) != 17)
949 : : return -1;
950 : 623 : x5 = XEXP (x3, 1);
951 : 623 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
952 : : return -1;
953 : 623 : x6 = XEXP (x2, 1);
954 : 623 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
955 : : return -1;
956 : 0 : x7 = XEXP (x1, 0);
957 : 0 : switch (GET_CODE (x7))
958 : : {
959 : 0 : case REG:
960 : 0 : case SUBREG:
961 : 0 : case MEM:
962 : 0 : operands[0] = x7;
963 : 0 : if (!nonimmediate_operand (operands[0], E_QImode))
964 : : return -1;
965 : : return 0;
966 : :
967 : 0 : case STRICT_LOW_PART:
968 : 0 : x8 = XEXP (x7, 0);
969 : 0 : operands[0] = x8;
970 : 0 : if (!register_operand (operands[0], E_QImode))
971 : : return -1;
972 : : return 1;
973 : :
974 : : default:
975 : : return -1;
976 : : }
977 : : }
978 : :
979 : : int
980 : 1935 : pattern241 (rtx x1)
981 : : {
982 : 1935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
983 : 1935 : rtx x2, x3, x4;
984 : 1935 : int res ATTRIBUTE_UNUSED;
985 : 1935 : x2 = XEXP (x1, 1);
986 : 1935 : x3 = XVECEXP (x2, 0, 1);
987 : 1935 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
988 : : return -1;
989 : 1935 : x4 = XEXP (x1, 0);
990 : 1935 : if (GET_CODE (x4) != REG
991 : 1935 : || REGNO (x4) != 17
992 : 3870 : || GET_MODE (x4) != E_CCCmode)
993 : 0 : return -1;
994 : : return 0;
995 : : }
996 : :
997 : : int
998 : 1941 : pattern251 (rtx x1, machine_mode i1)
999 : : {
1000 : 1941 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1001 : 1941 : int res ATTRIBUTE_UNUSED;
1002 : 1941 : if (!register_operand (operands[0], i1)
1003 : 1941 : || GET_MODE (x1) != i1)
1004 : : return -1;
1005 : 1866 : switch (GET_MODE (operands[1]))
1006 : : {
1007 : 1453 : case E_SImode:
1008 : 1453 : if (!nonimmediate_operand (operands[1], E_SImode))
1009 : : return -1;
1010 : : return 0;
1011 : :
1012 : 217 : case E_DImode:
1013 : 217 : if (!nonimmediate_operand (operands[1], E_DImode))
1014 : : return -1;
1015 : : return 1;
1016 : :
1017 : : default:
1018 : : return -1;
1019 : : }
1020 : : }
1021 : :
1022 : : int
1023 : 65168 : pattern260 (rtx x1, machine_mode i1, machine_mode i2)
1024 : : {
1025 : 65168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1026 : 65168 : rtx x2;
1027 : 65168 : int res ATTRIBUTE_UNUSED;
1028 : 65168 : if (!register_operand (operands[0], i1)
1029 : 65168 : || GET_MODE (x1) != i1)
1030 : : return -1;
1031 : 64212 : x2 = XEXP (x1, 0);
1032 : 64212 : if (GET_MODE (x2) != i2
1033 : 64212 : || !register_operand (operands[1], i1)
1034 : 122034 : || !register_mmxmem_operand (operands[2], i1))
1035 : 17335 : return -1;
1036 : : return 0;
1037 : : }
1038 : :
1039 : : int
1040 : 56 : pattern267 (rtx x1, int *pnum_clobbers)
1041 : : {
1042 : 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1043 : 56 : rtx x2, x3, x4, x5, x6;
1044 : 56 : int res ATTRIBUTE_UNUSED;
1045 : 56 : if (pnum_clobbers == NULL)
1046 : : return -1;
1047 : 53 : x2 = XEXP (x1, 0);
1048 : 53 : x3 = XEXP (x2, 0);
1049 : 53 : operands[2] = x3;
1050 : 53 : x4 = XEXP (x3, 0);
1051 : 53 : if (GET_CODE (x4) != REG
1052 : 53 : || REGNO (x4) != 17)
1053 : : return -1;
1054 : 33 : x5 = XEXP (x3, 1);
1055 : 33 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1056 : : return -1;
1057 : 33 : x6 = XEXP (x2, 1);
1058 : 33 : operands[1] = x6;
1059 : 33 : return pattern266 (x1); /* [-1, 4] */
1060 : : }
1061 : :
1062 : : int
1063 : 1505 : pattern274 (rtx x1, int *pnum_clobbers)
1064 : : {
1065 : 1505 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1066 : 1505 : rtx x2, x3;
1067 : 1505 : int res ATTRIBUTE_UNUSED;
1068 : 1505 : if (pnum_clobbers == NULL)
1069 : : return -1;
1070 : 1505 : x2 = XEXP (x1, 0);
1071 : 1505 : x3 = XEXP (x2, 0);
1072 : 1505 : if (XWINT (x3, 0) != 1L)
1073 : : return -1;
1074 : 839 : return pattern273 (x1); /* [-1, 2] */
1075 : : }
1076 : :
1077 : : int
1078 : 41865 : pattern278 (rtx x1, machine_mode i1)
1079 : : {
1080 : 41865 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1081 : 41865 : rtx x2, x3, x4, x5;
1082 : 41865 : int res ATTRIBUTE_UNUSED;
1083 : 41865 : if (!register_operand (operands[0], i1)
1084 : 3681 : || GET_MODE (x1) != i1
1085 : 45546 : || !register_operand (operands[1], i1))
1086 : 39986 : return -1;
1087 : 1879 : x2 = XEXP (x1, 1);
1088 : 1879 : x3 = XEXP (x2, 0);
1089 : 1879 : x4 = XEXP (x3, 0);
1090 : 1879 : operands[2] = x4;
1091 : 1879 : if (!int248_register_operand (operands[2], E_VOIDmode))
1092 : : return -1;
1093 : 1487 : x5 = XEXP (x3, 1);
1094 : 1487 : operands[3] = x5;
1095 : 1487 : if (!const_int_operand (operands[3], E_VOIDmode))
1096 : : return -1;
1097 : : return 0;
1098 : : }
1099 : :
1100 : : int
1101 : 481 : pattern287 (rtx x1)
1102 : : {
1103 : 481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1104 : 481 : rtx x2, x3;
1105 : 481 : int res ATTRIBUTE_UNUSED;
1106 : 481 : x2 = XVECEXP (x1, 0, 0);
1107 : 481 : operands[1] = x2;
1108 : 481 : x3 = XVECEXP (x1, 0, 1);
1109 : 481 : operands[2] = x3;
1110 : 481 : switch (GET_MODE (operands[0]))
1111 : : {
1112 : 231 : case E_SImode:
1113 : 231 : return pattern60 (x1,
1114 : 231 : E_SImode); /* [-1, 0] */
1115 : :
1116 : 250 : case E_DImode:
1117 : 250 : if (pattern60 (x1,
1118 : : E_DImode) != 0)
1119 : : return -1;
1120 : : return 1;
1121 : :
1122 : : default:
1123 : : return -1;
1124 : : }
1125 : : }
1126 : :
1127 : : int
1128 : 1035 : pattern292 (rtx x1)
1129 : : {
1130 : 1035 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1131 : 1035 : rtx x2;
1132 : 1035 : int res ATTRIBUTE_UNUSED;
1133 : 1035 : x2 = XVECEXP (x1, 0, 0);
1134 : 1035 : operands[1] = x2;
1135 : 1035 : switch (GET_MODE (operands[0]))
1136 : : {
1137 : 290 : case E_SImode:
1138 : 290 : if (!register_operand (operands[0], E_SImode)
1139 : 290 : || GET_MODE (x1) != E_SImode
1140 : 580 : || !register_operand (operands[1], E_SImode))
1141 : 160 : return -1;
1142 : : return 0;
1143 : :
1144 : 745 : case E_DImode:
1145 : 745 : if (!register_operand (operands[0], E_DImode)
1146 : 721 : || GET_MODE (x1) != E_DImode
1147 : 1466 : || !register_operand (operands[1], E_DImode))
1148 : 425 : return -1;
1149 : : return 1;
1150 : :
1151 : : default:
1152 : : return -1;
1153 : : }
1154 : : }
1155 : :
1156 : : int
1157 : 0 : pattern304 (rtx x1, machine_mode i1, machine_mode i2)
1158 : : {
1159 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1160 : 0 : rtx x2, x3;
1161 : 0 : int res ATTRIBUTE_UNUSED;
1162 : 0 : if (!register_operand (operands[0], i1)
1163 : 0 : || GET_MODE (x1) != i1
1164 : 0 : || !vector_all_ones_operand (operands[1], i1)
1165 : 0 : || !const0_operand (operands[2], i1))
1166 : 0 : return -1;
1167 : 0 : x2 = XEXP (x1, 2);
1168 : 0 : if (GET_MODE (x2) != i2)
1169 : : return -1;
1170 : 0 : x3 = XEXP (x2, 0);
1171 : 0 : if (GET_MODE (x3) != i2
1172 : 0 : || !nonimmediate_operand (operands[3], i1)
1173 : 0 : || !nonimmediate_operand (operands[4], i1)
1174 : 0 : || !const_0_to_7_operand (operands[5], E_SImode))
1175 : 0 : return -1;
1176 : : return 0;
1177 : : }
1178 : :
1179 : : int
1180 : 2396 : pattern311 (rtx x1)
1181 : : {
1182 : 2396 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1183 : 2396 : rtx x2, x3, x4, x5, x6;
1184 : 2396 : int res ATTRIBUTE_UNUSED;
1185 : 2396 : x2 = XVECEXP (x1, 0, 0);
1186 : 2396 : switch (GET_CODE (x2))
1187 : : {
1188 : 2122 : case REG:
1189 : 2122 : case SUBREG:
1190 : 2122 : case MEM:
1191 : 2122 : operands[1] = x2;
1192 : 2122 : switch (GET_MODE (operands[0]))
1193 : : {
1194 : : case E_V32HImode:
1195 : : return 0;
1196 : :
1197 : 114 : case E_V16SImode:
1198 : 114 : return 1;
1199 : :
1200 : 166 : case E_V8DImode:
1201 : 166 : return 2;
1202 : :
1203 : 114 : case E_V16HImode:
1204 : 114 : return 3;
1205 : :
1206 : 356 : case E_V8SImode:
1207 : 356 : return 4;
1208 : :
1209 : 380 : case E_V4DImode:
1210 : 380 : return 5;
1211 : :
1212 : 114 : case E_V8HImode:
1213 : 114 : return 6;
1214 : :
1215 : 557 : case E_V4SImode:
1216 : 557 : return 7;
1217 : :
1218 : 250 : case E_V2DImode:
1219 : 250 : return 8;
1220 : :
1221 : : default:
1222 : : return -1;
1223 : : }
1224 : :
1225 : 186 : case VEC_SELECT:
1226 : 186 : if (GET_MODE (x2) != E_V2SFmode)
1227 : : return -1;
1228 : 126 : x3 = XEXP (x2, 1);
1229 : 126 : if (GET_CODE (x3) != PARALLEL
1230 : 126 : || XVECLEN (x3, 0) != 2)
1231 : : return -1;
1232 : 126 : x4 = XVECEXP (x3, 0, 0);
1233 : 126 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1234 : : return -1;
1235 : 126 : x5 = XVECEXP (x3, 0, 1);
1236 : 126 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
1237 : 126 : || !register_operand (operands[0], E_V2DImode)
1238 : 240 : || GET_MODE (x1) != E_V2DImode)
1239 : 12 : return -1;
1240 : 114 : x6 = XEXP (x2, 0);
1241 : 114 : operands[1] = x6;
1242 : 114 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
1243 : : return -1;
1244 : : return 9;
1245 : :
1246 : : default:
1247 : : return -1;
1248 : : }
1249 : : }
1250 : :
1251 : : int
1252 : 661976 : pattern319 (rtx x1)
1253 : : {
1254 : 661976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1255 : 661976 : rtx x2, x3, x4, x5;
1256 : 661976 : int res ATTRIBUTE_UNUSED;
1257 : 661976 : x2 = XEXP (x1, 0);
1258 : 661976 : x3 = XEXP (x2, 0);
1259 : 661976 : operands[1] = x3;
1260 : 661976 : x4 = XEXP (x2, 1);
1261 : 661976 : operands[2] = x4;
1262 : 661976 : x5 = XEXP (x1, 1);
1263 : 661976 : operands[3] = x5;
1264 : 661976 : switch (GET_MODE (operands[0]))
1265 : : {
1266 : 6004 : case E_V8HImode:
1267 : 6004 : return pattern318 (x1,
1268 : 6004 : E_V8HImode); /* [-1, 0] */
1269 : :
1270 : 4214 : case E_V4SImode:
1271 : 4214 : if (pattern318 (x1,
1272 : : E_V4SImode) != 0)
1273 : : return -1;
1274 : : return 1;
1275 : :
1276 : : default:
1277 : : return -1;
1278 : : }
1279 : : }
1280 : :
1281 : : int
1282 : 56465 : pattern323 (rtx x1, rtx_code i1)
1283 : : {
1284 : 56465 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1285 : 56465 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1286 : 56465 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1287 : 56465 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1288 : 56465 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
1289 : 56465 : rtx x34, x35;
1290 : 56465 : int res ATTRIBUTE_UNUSED;
1291 : 56465 : x2 = XEXP (x1, 0);
1292 : 56465 : x3 = XEXP (x2, 0);
1293 : 56465 : x4 = XEXP (x3, 0);
1294 : 56465 : if (GET_CODE (x4) != VEC_SELECT)
1295 : : return -1;
1296 : 335 : x5 = XEXP (x4, 1);
1297 : 335 : if (GET_CODE (x5) != PARALLEL)
1298 : : return -1;
1299 : 335 : x6 = XEXP (x2, 1);
1300 : 335 : if (GET_CODE (x6) != i1)
1301 : : return -1;
1302 : 252 : x7 = XEXP (x6, 0);
1303 : 252 : if (GET_CODE (x7) != VEC_SELECT)
1304 : : return -1;
1305 : 190 : x8 = XEXP (x7, 1);
1306 : 190 : if (GET_CODE (x8) != PARALLEL)
1307 : : return -1;
1308 : 190 : x9 = XEXP (x1, 1);
1309 : 190 : if (GET_CODE (x9) != PLUS)
1310 : : return -1;
1311 : 190 : x10 = XEXP (x9, 0);
1312 : 190 : if (GET_CODE (x10) != i1)
1313 : : return -1;
1314 : 190 : x11 = XEXP (x10, 0);
1315 : 190 : if (GET_CODE (x11) != VEC_SELECT)
1316 : : return -1;
1317 : 190 : x12 = XEXP (x11, 1);
1318 : 190 : if (GET_CODE (x12) != PARALLEL)
1319 : : return -1;
1320 : 190 : x13 = XEXP (x9, 1);
1321 : 190 : if (GET_CODE (x13) != i1)
1322 : : return -1;
1323 : 190 : x14 = XEXP (x13, 0);
1324 : 190 : if (GET_CODE (x14) != VEC_SELECT)
1325 : : return -1;
1326 : 190 : x15 = XEXP (x14, 1);
1327 : 190 : if (GET_CODE (x15) != PARALLEL)
1328 : : return -1;
1329 : 190 : x16 = XEXP (x4, 0);
1330 : 190 : operands[1] = x16;
1331 : 190 : x17 = XEXP (x7, 0);
1332 : 190 : if (!rtx_equal_p (x17, operands[1]))
1333 : : return -1;
1334 : 190 : x18 = XEXP (x11, 0);
1335 : 190 : if (!rtx_equal_p (x18, operands[1]))
1336 : : return -1;
1337 : 190 : x19 = XEXP (x14, 0);
1338 : 190 : if (!rtx_equal_p (x19, operands[1]))
1339 : : return -1;
1340 : 190 : switch (XVECLEN (x5, 0))
1341 : : {
1342 : 90 : case 4:
1343 : 90 : x20 = XVECEXP (x5, 0, 0);
1344 : 90 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1345 : : return -1;
1346 : 90 : x21 = XVECEXP (x5, 0, 1);
1347 : 90 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1348 : : return -1;
1349 : 90 : x22 = XVECEXP (x5, 0, 2);
1350 : 90 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1351 : : return -1;
1352 : 90 : x23 = XVECEXP (x5, 0, 3);
1353 : 90 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 12]
1354 : 90 : || XVECLEN (x8, 0) != 4)
1355 : : return -1;
1356 : 90 : x24 = XVECEXP (x8, 0, 0);
1357 : 90 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1358 : : return -1;
1359 : 90 : x25 = XVECEXP (x8, 0, 1);
1360 : 90 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
1361 : : return -1;
1362 : 90 : x26 = XVECEXP (x8, 0, 2);
1363 : 90 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
1364 : : return -1;
1365 : 90 : x27 = XVECEXP (x8, 0, 3);
1366 : 90 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 13]
1367 : 90 : || XVECLEN (x12, 0) != 4)
1368 : : return -1;
1369 : 90 : x28 = XVECEXP (x12, 0, 0);
1370 : 90 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1371 : : return -1;
1372 : 90 : x29 = XVECEXP (x12, 0, 1);
1373 : 90 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1374 : : return -1;
1375 : 90 : x30 = XVECEXP (x12, 0, 2);
1376 : 90 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1377 : : return -1;
1378 : 90 : x31 = XVECEXP (x12, 0, 3);
1379 : 90 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1380 : 90 : || XVECLEN (x15, 0) != 4)
1381 : : return -1;
1382 : 90 : x32 = XVECEXP (x15, 0, 0);
1383 : 90 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1384 : : return -1;
1385 : 90 : x33 = XVECEXP (x15, 0, 1);
1386 : 90 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
1387 : : return -1;
1388 : 90 : x34 = XVECEXP (x15, 0, 2);
1389 : 90 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
1390 : : return -1;
1391 : 90 : x35 = XVECEXP (x15, 0, 3);
1392 : 90 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
1393 : 90 : || pattern322 (x1,
1394 : : E_V4QImode,
1395 : : E_V4SImode,
1396 : : E_V16QImode) != 0)
1397 : 4 : return -1;
1398 : : return 0;
1399 : :
1400 : 100 : case 2:
1401 : 100 : x20 = XVECEXP (x5, 0, 0);
1402 : 100 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1403 : : return -1;
1404 : 100 : x21 = XVECEXP (x5, 0, 1);
1405 : 100 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4]
1406 : 100 : || XVECLEN (x8, 0) != 2)
1407 : : return -1;
1408 : 100 : x24 = XVECEXP (x8, 0, 0);
1409 : 100 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1410 : : return -1;
1411 : 100 : x25 = XVECEXP (x8, 0, 1);
1412 : 100 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5]
1413 : 100 : || XVECLEN (x12, 0) != 2)
1414 : : return -1;
1415 : 100 : x28 = XVECEXP (x12, 0, 0);
1416 : 100 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1417 : : return -1;
1418 : 100 : x29 = XVECEXP (x12, 0, 1);
1419 : 100 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1420 : 100 : || XVECLEN (x15, 0) != 2)
1421 : : return -1;
1422 : 100 : x32 = XVECEXP (x15, 0, 0);
1423 : 100 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1424 : : return -1;
1425 : 100 : x33 = XVECEXP (x15, 0, 1);
1426 : 100 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
1427 : 100 : || pattern322 (x1,
1428 : : E_V2HImode,
1429 : : E_V2DImode,
1430 : : E_V8HImode) != 0)
1431 : 4 : return -1;
1432 : : return 1;
1433 : :
1434 : : default:
1435 : : return -1;
1436 : : }
1437 : : }
1438 : :
1439 : : int
1440 : 1163 : pattern362 (rtx x1)
1441 : : {
1442 : 1163 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1443 : 1163 : rtx x2, x3, x4, x5, x6;
1444 : 1163 : int res ATTRIBUTE_UNUSED;
1445 : 1163 : x2 = XEXP (x1, 0);
1446 : 1163 : x3 = XEXP (x2, 1);
1447 : 1163 : switch (GET_CODE (x3))
1448 : : {
1449 : : case REG:
1450 : : case SUBREG:
1451 : : return 0;
1452 : :
1453 : 3 : case AND:
1454 : 3 : if (GET_MODE (x3) != E_QImode)
1455 : : return -1;
1456 : 3 : x4 = XEXP (x3, 0);
1457 : 3 : operands[1] = x4;
1458 : 3 : if (!register_operand (operands[1], E_QImode))
1459 : : return -1;
1460 : 3 : x5 = XEXP (x3, 1);
1461 : 3 : operands[2] = x5;
1462 : 3 : if (!const_int_operand (operands[2], E_QImode))
1463 : : return -1;
1464 : 3 : x6 = XEXP (x1, 1);
1465 : 3 : operands[3] = x6;
1466 : 3 : switch (GET_MODE (operands[0]))
1467 : : {
1468 : 3 : case E_SImode:
1469 : 3 : if (pattern361 (x1,
1470 : : E_SImode) != 0)
1471 : : return -1;
1472 : : return 1;
1473 : :
1474 : 0 : case E_DImode:
1475 : 0 : if (pattern361 (x1,
1476 : : E_DImode) != 0)
1477 : : return -1;
1478 : : return 2;
1479 : :
1480 : : default:
1481 : : return -1;
1482 : : }
1483 : :
1484 : : default:
1485 : : return -1;
1486 : : }
1487 : : }
1488 : :
1489 : : int
1490 : 0 : pattern376 (machine_mode i1, machine_mode i2)
1491 : : {
1492 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1493 : 0 : int res ATTRIBUTE_UNUSED;
1494 : 0 : if (!nonimmediate_operand (operands[3], i2)
1495 : 0 : || !nonimmediate_operand (operands[4], i1)
1496 : 0 : || !scratch_operand (operands[1], i1)
1497 : 0 : || !scratch_operand (operands[2], i1))
1498 : 0 : return -1;
1499 : : return 0;
1500 : : }
1501 : :
1502 : : int
1503 : 84033 : pattern382 (rtx x1, machine_mode i1)
1504 : : {
1505 : 84033 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1506 : 84033 : rtx x2, x3, x4, x5;
1507 : 84033 : int res ATTRIBUTE_UNUSED;
1508 : 84033 : if (!register_operand (operands[0], i1))
1509 : : return -1;
1510 : 84033 : x2 = XVECEXP (x1, 0, 0);
1511 : 84033 : x3 = XEXP (x2, 1);
1512 : 84033 : if (GET_MODE (x3) != i1
1513 : 84033 : || !register_operand (operands[2], i1)
1514 : 84033 : || !nonimmediate_operand (operands[3], i1)
1515 : 168066 : || !register_operand (operands[1], i1))
1516 : 0 : return -1;
1517 : 84033 : x4 = XVECEXP (x1, 0, 1);
1518 : 84033 : x5 = XEXP (x4, 1);
1519 : 84033 : if (GET_MODE (x5) != i1
1520 : 84033 : || !register_operand (operands[4], i1))
1521 : 0 : return -1;
1522 : : return 0;
1523 : : }
1524 : :
1525 : : int
1526 : 0 : pattern391 (rtx x1, machine_mode i1, machine_mode i2)
1527 : : {
1528 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1529 : 0 : rtx x2, x3, x4;
1530 : 0 : int res ATTRIBUTE_UNUSED;
1531 : 0 : if (!nonimmediate_operand (operands[0], i2)
1532 : 0 : || GET_MODE (x1) != i2)
1533 : : return -1;
1534 : 0 : x2 = XEXP (x1, 0);
1535 : 0 : if (GET_MODE (x2) != i2
1536 : 0 : || !nonimmediate_operand (operands[1], i1))
1537 : 0 : return -1;
1538 : 0 : x3 = XEXP (x1, 1);
1539 : 0 : if (GET_MODE (x3) != i2)
1540 : : return -1;
1541 : 0 : x4 = XEXP (x3, 0);
1542 : 0 : if (GET_MODE (x4) != i2
1543 : 0 : || !nonimmediate_operand (operands[2], i1))
1544 : 0 : return -1;
1545 : : return 0;
1546 : : }
1547 : :
1548 : : int
1549 : 6435 : pattern399 (rtx x1)
1550 : : {
1551 : 6435 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1552 : 6435 : rtx x2, x3, x4;
1553 : 6435 : int res ATTRIBUTE_UNUSED;
1554 : 6435 : x2 = XEXP (x1, 0);
1555 : 6435 : x3 = XEXP (x2, 1);
1556 : 6435 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1557 : : return -1;
1558 : 5673 : x4 = XEXP (x2, 0);
1559 : 5673 : operands[1] = x4;
1560 : 5673 : if (!int_nonimmediate_operand (operands[1], E_VOIDmode))
1561 : : return -1;
1562 : 4129 : switch (GET_MODE (operands[0]))
1563 : : {
1564 : 177 : case E_QImode:
1565 : 177 : if (!register_operand (operands[0], E_QImode)
1566 : 177 : || GET_MODE (x1) != E_QImode
1567 : 354 : || GET_MODE (x2) != E_QImode)
1568 : : return -1;
1569 : : return 0;
1570 : :
1571 : 154 : case E_HImode:
1572 : 154 : if (!register_operand (operands[0], E_HImode)
1573 : 150 : || GET_MODE (x1) != E_HImode
1574 : 304 : || GET_MODE (x2) != E_HImode)
1575 : : return -1;
1576 : : return 1;
1577 : :
1578 : 3411 : case E_SImode:
1579 : 3411 : if (!register_operand (operands[0], E_SImode)
1580 : 2252 : || GET_MODE (x1) != E_SImode
1581 : 5663 : || GET_MODE (x2) != E_SImode)
1582 : : return -1;
1583 : : return 2;
1584 : :
1585 : 387 : case E_DImode:
1586 : 387 : if (!register_operand (operands[0], E_DImode)
1587 : 383 : || GET_MODE (x1) != E_DImode
1588 : 770 : || GET_MODE (x2) != E_DImode)
1589 : : return -1;
1590 : : return 3;
1591 : :
1592 : : default:
1593 : : return -1;
1594 : : }
1595 : : }
1596 : :
1597 : : int
1598 : 4612 : pattern411 (rtx x1)
1599 : : {
1600 : 4612 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1601 : 4612 : rtx x2, x3, x4;
1602 : 4612 : int res ATTRIBUTE_UNUSED;
1603 : 4612 : if (GET_CODE (x1) != ZERO_EXTRACT)
1604 : : return -1;
1605 : 3129 : x2 = XEXP (x1, 1);
1606 : 3129 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1607 : : return -1;
1608 : 357 : x3 = XEXP (x1, 2);
1609 : 357 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1610 : : return -1;
1611 : 357 : x4 = XEXP (x1, 0);
1612 : 357 : operands[0] = x4;
1613 : 357 : if (!int248_register_operand (operands[0], E_VOIDmode))
1614 : : return -1;
1615 : : return 0;
1616 : : }
1617 : :
1618 : : int
1619 : 5624 : pattern417 (rtx x1, machine_mode i1)
1620 : : {
1621 : 5624 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1622 : 5624 : rtx x2;
1623 : 5624 : int res ATTRIBUTE_UNUSED;
1624 : 5624 : if (!register_operand (operands[0], i1)
1625 : 5624 : || GET_MODE (x1) != i1)
1626 : : return -1;
1627 : 5249 : x2 = XEXP (x1, 0);
1628 : 5249 : if (GET_MODE (x2) != i1
1629 : 5249 : || !register_no_SP_operand (operands[1], i1)
1630 : 4948 : || !register_operand (operands[2], i1)
1631 : 9676 : || !immediate_operand (operands[3], i1))
1632 : 4239 : return -1;
1633 : : return 0;
1634 : : }
1635 : :
1636 : : int
1637 : 12957269 : pattern426 (rtx x1)
1638 : : {
1639 : 12957269 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1640 : 12957269 : int res ATTRIBUTE_UNUSED;
1641 : 12957269 : switch (GET_MODE (operands[0]))
1642 : : {
1643 : 5521854 : case E_DImode:
1644 : 5521854 : if (!nonimmediate_operand (operands[0], E_DImode)
1645 : 5425261 : || GET_MODE (x1) != E_DImode
1646 : 10947115 : || !nonimmediate_operand (operands[1], E_DImode))
1647 : 401226 : return -1;
1648 : : return 0;
1649 : :
1650 : 3575891 : case E_SImode:
1651 : 3575891 : if (!nonimmediate_operand (operands[0], E_SImode)
1652 : 2270767 : || GET_MODE (x1) != E_SImode
1653 : 2270767 : || !nonimmediate_operand (operands[1], E_SImode)
1654 : 5306806 : || !x86_64_general_operand (operands[2], E_SImode))
1655 : 1931439 : return -1;
1656 : : return 1;
1657 : :
1658 : : default:
1659 : : return -1;
1660 : : }
1661 : : }
1662 : :
1663 : : int
1664 : 136313 : pattern438 (rtx x1, machine_mode i1)
1665 : : {
1666 : 136313 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1667 : 136313 : rtx x2, x3, x4, x5, x6, x7;
1668 : 136313 : int res ATTRIBUTE_UNUSED;
1669 : 136313 : x2 = XEXP (x1, 1);
1670 : 136313 : x3 = XEXP (x2, 1);
1671 : 136313 : if (maybe_ne (SUBREG_BYTE (x3), 0)
1672 : 136313 : || GET_MODE (x3) != E_QImode)
1673 : : return -1;
1674 : 134345 : x4 = XEXP (x1, 0);
1675 : 134345 : operands[0] = x4;
1676 : 134345 : if (!nonimmediate_operand (operands[0], i1)
1677 : 61559 : || GET_MODE (x2) != i1
1678 : 195904 : || !nonimmediate_operand (operands[1], i1))
1679 : 124218 : return -1;
1680 : 10127 : x5 = XEXP (x3, 0);
1681 : 10127 : switch (GET_CODE (x5))
1682 : : {
1683 : 2351 : case AND:
1684 : 2351 : x6 = XEXP (x5, 0);
1685 : 2351 : operands[2] = x6;
1686 : 2351 : if (!int248_register_operand (operands[2], E_VOIDmode))
1687 : : return -1;
1688 : 625 : x7 = XEXP (x5, 1);
1689 : 625 : operands[3] = x7;
1690 : 625 : if (!const_int_operand (operands[3], E_VOIDmode))
1691 : : return -1;
1692 : : return 0;
1693 : :
1694 : 0 : case PLUS:
1695 : 0 : x6 = XEXP (x5, 0);
1696 : 0 : operands[2] = x6;
1697 : 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
1698 : : return -1;
1699 : 0 : x7 = XEXP (x5, 1);
1700 : 0 : operands[3] = x7;
1701 : 0 : if (!const_int_operand (operands[3], E_VOIDmode))
1702 : : return -1;
1703 : : return 1;
1704 : :
1705 : 0 : case MINUS:
1706 : 0 : x6 = XEXP (x5, 0);
1707 : 0 : operands[3] = x6;
1708 : 0 : if (!const_int_operand (operands[3], E_VOIDmode))
1709 : : return -1;
1710 : 0 : x7 = XEXP (x5, 1);
1711 : 0 : operands[2] = x7;
1712 : 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
1713 : : return -1;
1714 : : return 2;
1715 : :
1716 : : default:
1717 : : return -1;
1718 : : }
1719 : : }
1720 : :
1721 : : int
1722 : 1756 : pattern458 (rtx x1)
1723 : : {
1724 : 1756 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1725 : 1756 : rtx x2, x3, x4, x5, x6;
1726 : 1756 : int res ATTRIBUTE_UNUSED;
1727 : 1756 : x2 = XEXP (x1, 0);
1728 : 1756 : x3 = XVECEXP (x2, 0, 0);
1729 : 1756 : operands[1] = x3;
1730 : 1756 : x4 = XVECEXP (x2, 0, 1);
1731 : 1756 : operands[2] = x4;
1732 : 1756 : x5 = XEXP (x1, 1);
1733 : 1756 : operands[3] = x5;
1734 : 1756 : x6 = XEXP (x1, 2);
1735 : 1756 : operands[4] = x6;
1736 : 1756 : switch (GET_MODE (operands[0]))
1737 : : {
1738 : 840 : case E_V32QImode:
1739 : 840 : return pattern457 (x1,
1740 : : E_SImode,
1741 : : E_V32QImode,
1742 : : E_V32HFmode,
1743 : 840 : E_V64QImode); /* [-1, 0] */
1744 : :
1745 : 840 : case E_V16QImode:
1746 : 840 : if (pattern457 (x1,
1747 : : E_HImode,
1748 : : E_V16QImode,
1749 : : E_V16HFmode,
1750 : : E_V32QImode) != 0)
1751 : : return -1;
1752 : : return 1;
1753 : :
1754 : : default:
1755 : : return -1;
1756 : : }
1757 : : }
1758 : :
1759 : : int
1760 : 758 : pattern467 (rtx x1, machine_mode i1)
1761 : : {
1762 : 758 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1763 : 758 : rtx x2;
1764 : 758 : int res ATTRIBUTE_UNUSED;
1765 : 758 : if (!register_operand (operands[0], i1)
1766 : 758 : || GET_MODE (x1) != i1)
1767 : : return -1;
1768 : 708 : x2 = XEXP (x1, 0);
1769 : 708 : if (GET_MODE (x2) != i1
1770 : 708 : || !register_operand (operands[1], i1)
1771 : 708 : || !register_operand (operands[2], i1)
1772 : 1390 : || !nonimmediate_operand (operands[3], i1))
1773 : 26 : return -1;
1774 : : return 0;
1775 : : }
1776 : :
1777 : : int
1778 : 5183 : pattern472 (machine_mode i1, machine_mode i2)
1779 : : {
1780 : 5183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1781 : 5183 : int res ATTRIBUTE_UNUSED;
1782 : 5183 : if (!register_operand (operands[2], i1)
1783 : 5160 : || !nonimmediate_operand (operands[3], i1)
1784 : 5142 : || !const0_operand (operands[4], i1)
1785 : 10325 : || !register_operand (operands[5], i2))
1786 : 287 : return -1;
1787 : : return 0;
1788 : : }
1789 : :
1790 : : int
1791 : 3060 : pattern476 (rtx x1, machine_mode i1, machine_mode i2)
1792 : : {
1793 : 3060 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1794 : 3060 : rtx x2;
1795 : 3060 : int res ATTRIBUTE_UNUSED;
1796 : 3060 : if (!register_operand (operands[0], i1)
1797 : 3060 : || GET_MODE (x1) != i1)
1798 : : return -1;
1799 : 3060 : x2 = XEXP (x1, 0);
1800 : 3060 : if (GET_MODE (x2) != i1
1801 : 3060 : || !register_operand (operands[1], i1)
1802 : 3060 : || !register_operand (operands[2], i1)
1803 : 3060 : || !nonimmediate_operand (operands[3], i1)
1804 : 3060 : || !const0_operand (operands[5], i1)
1805 : 6120 : || !register_operand (operands[4], i2))
1806 : 72 : return -1;
1807 : : return 0;
1808 : : }
1809 : :
1810 : : int
1811 : 0 : pattern482 (rtx x1)
1812 : : {
1813 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1814 : 0 : rtx x2, x3, x4, x5;
1815 : 0 : int res ATTRIBUTE_UNUSED;
1816 : 0 : x2 = XVECEXP (x1, 0, 0);
1817 : 0 : x3 = XEXP (x2, 0);
1818 : 0 : operands[1] = x3;
1819 : 0 : x4 = XEXP (x2, 1);
1820 : 0 : operands[2] = x4;
1821 : 0 : x5 = XVECEXP (x1, 0, 1);
1822 : 0 : operands[3] = x5;
1823 : 0 : if (!const48_operand (operands[3], E_SImode))
1824 : : return -1;
1825 : 0 : switch (GET_MODE (operands[0]))
1826 : : {
1827 : 0 : case E_V32HFmode:
1828 : 0 : return pattern480 (x1,
1829 : 0 : E_V32HFmode); /* [-1, 0] */
1830 : :
1831 : 0 : case E_V16SFmode:
1832 : 0 : if (pattern480 (x1,
1833 : : E_V16SFmode) != 0)
1834 : : return -1;
1835 : : return 1;
1836 : :
1837 : 0 : case E_V8DFmode:
1838 : 0 : if (pattern480 (x1,
1839 : : E_V8DFmode) != 0)
1840 : : return -1;
1841 : : return 2;
1842 : :
1843 : : default:
1844 : : return -1;
1845 : : }
1846 : : }
1847 : :
1848 : : int
1849 : 848 : pattern487 ()
1850 : : {
1851 : 848 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1852 : 848 : int res ATTRIBUTE_UNUSED;
1853 : 848 : if (!const0_operand (operands[4], E_V4HFmode))
1854 : : return -1;
1855 : 848 : switch (GET_MODE (operands[1]))
1856 : : {
1857 : 408 : case E_V4SImode:
1858 : 408 : if (!vector_operand (operands[1], E_V4SImode))
1859 : : return -1;
1860 : : return 0;
1861 : :
1862 : 440 : case E_V4DImode:
1863 : 440 : if (!vector_operand (operands[1], E_V4DImode))
1864 : : return -1;
1865 : : return 1;
1866 : :
1867 : : default:
1868 : : return -1;
1869 : : }
1870 : : }
1871 : :
1872 : : int
1873 : 183 : pattern491 (rtx x1, machine_mode i1)
1874 : : {
1875 : 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1876 : 183 : rtx x2, x3;
1877 : 183 : int res ATTRIBUTE_UNUSED;
1878 : 183 : if (!register_operand (operands[0], E_V4SFmode)
1879 : 183 : || GET_MODE (x1) != E_V4SFmode)
1880 : : return -1;
1881 : 177 : x2 = XEXP (x1, 0);
1882 : 177 : if (GET_MODE (x2) != E_V2SFmode)
1883 : : return -1;
1884 : 177 : x3 = XEXP (x2, 0);
1885 : 177 : if (GET_MODE (x3) != E_V2SFmode
1886 : 177 : || !nonimmediate_operand (operands[1], i1)
1887 : 176 : || !const0_operand (operands[3], E_V2SFmode)
1888 : 353 : || !const0_operand (operands[4], E_V2SFmode))
1889 : 1 : return -1;
1890 : : return 0;
1891 : : }
1892 : :
1893 : : int
1894 : 1228 : pattern495 (rtx x1, machine_mode i1, machine_mode i2)
1895 : : {
1896 : 1228 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1897 : 1228 : rtx x2, x3, x4;
1898 : 1228 : int res ATTRIBUTE_UNUSED;
1899 : 1228 : if (!register_operand (operands[0], i1)
1900 : 1228 : || GET_MODE (x1) != i1)
1901 : : return -1;
1902 : 1222 : x2 = XEXP (x1, 0);
1903 : 1222 : if (GET_MODE (x2) != i2)
1904 : : return -1;
1905 : 1222 : x3 = XEXP (x2, 0);
1906 : 1222 : if (GET_MODE (x3) != i2)
1907 : : return -1;
1908 : 1222 : x4 = XEXP (x2, 1);
1909 : 1222 : if (GET_MODE (x4) != i2
1910 : 1222 : || !nonimm_or_0_operand (operands[2], i1))
1911 : 31 : return -1;
1912 : : return 0;
1913 : : }
1914 : :
1915 : : int
1916 : 720 : pattern499 (rtx x1, machine_mode i1, machine_mode i2)
1917 : : {
1918 : 720 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1919 : 720 : rtx x2, x3, x4;
1920 : 720 : int res ATTRIBUTE_UNUSED;
1921 : 720 : if (!register_operand (operands[0], i2)
1922 : 720 : || GET_MODE (x1) != i2)
1923 : : return -1;
1924 : 720 : x2 = XEXP (x1, 0);
1925 : 720 : if (GET_MODE (x2) != i1)
1926 : : return -1;
1927 : 720 : x3 = XEXP (x2, 0);
1928 : 720 : if (GET_MODE (x3) != i1)
1929 : : return -1;
1930 : 720 : x4 = XEXP (x2, 1);
1931 : 720 : if (GET_MODE (x4) != i1)
1932 : : return -1;
1933 : 720 : switch (GET_MODE (operands[1]))
1934 : : {
1935 : 360 : case E_V4SImode:
1936 : 360 : if (!register_operand (operands[1], E_V4SImode))
1937 : : return -1;
1938 : : return 0;
1939 : :
1940 : 360 : case E_V4DImode:
1941 : 360 : if (!register_operand (operands[1], E_V4DImode))
1942 : : return -1;
1943 : : return 1;
1944 : :
1945 : : default:
1946 : : return -1;
1947 : : }
1948 : : }
1949 : :
1950 : : int
1951 : 255 : pattern507 (rtx x1)
1952 : : {
1953 : 255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1954 : 255 : int res ATTRIBUTE_UNUSED;
1955 : 255 : if (!register_operand (operands[0], E_V16HFmode)
1956 : 255 : || GET_MODE (x1) != E_V16HFmode)
1957 : : return -1;
1958 : 225 : switch (GET_MODE (operands[1]))
1959 : : {
1960 : 140 : case E_V16HImode:
1961 : 140 : if (!vector_operand (operands[1], E_V16HImode))
1962 : : return -1;
1963 : : return 0;
1964 : :
1965 : 81 : case E_V16SImode:
1966 : 81 : if (!vector_operand (operands[1], E_V16SImode))
1967 : : return -1;
1968 : : return 1;
1969 : :
1970 : : default:
1971 : : return -1;
1972 : : }
1973 : : }
1974 : :
1975 : : int
1976 : 8 : pattern511 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1977 : : {
1978 : 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1979 : 8 : rtx x2, x3;
1980 : 8 : int res ATTRIBUTE_UNUSED;
1981 : 8 : if (!register_operand (operands[0], i1)
1982 : 8 : || GET_MODE (x1) != i1)
1983 : : return -1;
1984 : 8 : x2 = XEXP (x1, 0);
1985 : 8 : if (GET_MODE (x2) != i3)
1986 : : return -1;
1987 : 8 : x3 = XEXP (x2, 0);
1988 : 8 : if (GET_MODE (x3) != i1
1989 : 8 : || !nonimmediate_operand (operands[1], i2)
1990 : 8 : || !const0_operand (operands[2], i2)
1991 : 16 : || !const0_operand (operands[3], i1))
1992 : 0 : return -1;
1993 : : return 0;
1994 : : }
1995 : :
1996 : : int
1997 : 203999 : pattern519 (rtx x1, machine_mode i1)
1998 : : {
1999 : 203999 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2000 : 203999 : rtx x2;
2001 : 203999 : int res ATTRIBUTE_UNUSED;
2002 : 203999 : if (!register_operand (operands[0], i1)
2003 : 203999 : || GET_MODE (x1) != i1)
2004 : : return -1;
2005 : 200626 : x2 = XEXP (x1, 0);
2006 : 200626 : if (GET_MODE (x2) != i1
2007 : 200626 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2008 : 123662 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
2009 : 317501 : || !regmem_or_bitnot_regmem_operand (operands[3], i1))
2010 : 84061 : return -1;
2011 : : return 0;
2012 : : }
2013 : :
2014 : : int
2015 : 178242 : pattern522 (rtx x1)
2016 : : {
2017 : 178242 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2018 : 178242 : rtx x2, x3, x4, x5, x6, x7;
2019 : 178242 : int res ATTRIBUTE_UNUSED;
2020 : 178242 : x2 = XEXP (x1, 0);
2021 : 178242 : x3 = XEXP (x2, 0);
2022 : 178242 : x4 = XEXP (x3, 0);
2023 : 178242 : operands[1] = x4;
2024 : 178242 : x5 = XEXP (x3, 1);
2025 : 178242 : operands[2] = x5;
2026 : 178242 : x6 = XEXP (x2, 1);
2027 : 178242 : operands[3] = x6;
2028 : 178242 : x7 = XEXP (x1, 1);
2029 : 178242 : operands[4] = x7;
2030 : 178242 : switch (GET_MODE (operands[0]))
2031 : : {
2032 : 0 : case E_V64QImode:
2033 : 0 : return pattern521 (x1,
2034 : 0 : E_V64QImode); /* [-1, 0] */
2035 : :
2036 : 224 : case E_V32QImode:
2037 : 224 : if (pattern521 (x1,
2038 : : E_V32QImode) != 0)
2039 : : return -1;
2040 : : return 1;
2041 : :
2042 : 206 : case E_V16QImode:
2043 : 206 : if (pattern521 (x1,
2044 : : E_V16QImode) != 0)
2045 : : return -1;
2046 : : return 2;
2047 : :
2048 : 0 : case E_V32HImode:
2049 : 0 : if (pattern521 (x1,
2050 : : E_V32HImode) != 0)
2051 : : return -1;
2052 : : return 3;
2053 : :
2054 : 12 : case E_V16HImode:
2055 : 12 : if (pattern521 (x1,
2056 : : E_V16HImode) != 0)
2057 : : return -1;
2058 : : return 4;
2059 : :
2060 : 597 : case E_V8HImode:
2061 : 597 : if (pattern521 (x1,
2062 : : E_V8HImode) != 0)
2063 : : return -1;
2064 : : return 5;
2065 : :
2066 : 125 : case E_V16SImode:
2067 : 125 : if (pattern521 (x1,
2068 : : E_V16SImode) != 0)
2069 : : return -1;
2070 : : return 6;
2071 : :
2072 : 1436 : case E_V8SImode:
2073 : 1436 : if (pattern521 (x1,
2074 : : E_V8SImode) != 0)
2075 : : return -1;
2076 : : return 7;
2077 : :
2078 : 5763 : case E_V4SImode:
2079 : 5763 : if (pattern521 (x1,
2080 : : E_V4SImode) != 0)
2081 : : return -1;
2082 : : return 8;
2083 : :
2084 : 0 : case E_V8DImode:
2085 : 0 : if (pattern521 (x1,
2086 : : E_V8DImode) != 0)
2087 : : return -1;
2088 : : return 9;
2089 : :
2090 : 246 : case E_V4DImode:
2091 : 246 : if (pattern521 (x1,
2092 : : E_V4DImode) != 0)
2093 : : return -1;
2094 : : return 10;
2095 : :
2096 : 1036 : case E_V2DImode:
2097 : 1036 : if (pattern521 (x1,
2098 : : E_V2DImode) != 0)
2099 : : return -1;
2100 : : return 11;
2101 : :
2102 : : default:
2103 : : return -1;
2104 : : }
2105 : : }
2106 : :
2107 : : int
2108 : 55 : pattern531 (rtx x1)
2109 : : {
2110 : 55 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2111 : 55 : rtx x2, x3, x4, x5;
2112 : 55 : int res ATTRIBUTE_UNUSED;
2113 : 55 : x2 = XVECEXP (x1, 0, 1);
2114 : 55 : x3 = XVECEXP (x2, 0, 0);
2115 : 55 : operands[2] = x3;
2116 : 55 : switch (GET_MODE (operands[0]))
2117 : : {
2118 : 28 : case E_SImode:
2119 : 28 : x4 = XVECEXP (x1, 0, 0);
2120 : 28 : x5 = XEXP (x4, 1);
2121 : 28 : return pattern530 (x5,
2122 : 28 : E_SImode); /* [-1, 0] */
2123 : :
2124 : 27 : case E_DImode:
2125 : 27 : x4 = XVECEXP (x1, 0, 0);
2126 : 27 : x5 = XEXP (x4, 1);
2127 : 27 : if (pattern530 (x5,
2128 : : E_DImode) != 0)
2129 : : return -1;
2130 : : return 1;
2131 : :
2132 : : default:
2133 : : return -1;
2134 : : }
2135 : : }
2136 : :
2137 : : int
2138 : 676 : pattern536 (rtx x1)
2139 : : {
2140 : 676 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2141 : 676 : rtx x2, x3, x4, x5, x6, x7;
2142 : 676 : int res ATTRIBUTE_UNUSED;
2143 : 676 : x2 = XVECEXP (x1, 0, 1);
2144 : 676 : if (GET_CODE (x2) != CLOBBER)
2145 : : return -1;
2146 : 676 : x3 = XEXP (x2, 0);
2147 : 676 : if (GET_CODE (x3) != REG
2148 : 676 : || REGNO (x3) != 17
2149 : 1352 : || GET_MODE (x3) != E_CCmode)
2150 : : return -1;
2151 : 676 : x4 = XVECEXP (x1, 0, 0);
2152 : 676 : x5 = XEXP (x4, 0);
2153 : 676 : operands[0] = x5;
2154 : 676 : x6 = XEXP (x4, 1);
2155 : 676 : x7 = XVECEXP (x6, 0, 0);
2156 : 676 : operands[1] = x7;
2157 : 676 : if (!register_operand (operands[1], E_XFmode))
2158 : : return -1;
2159 : 488 : return pattern535 (x6); /* [-1, 2] */
2160 : : }
2161 : :
2162 : : int
2163 : 7298 : pattern542 (rtx x1)
2164 : : {
2165 : 7298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2166 : 7298 : rtx x2, x3, x4;
2167 : 7298 : int res ATTRIBUTE_UNUSED;
2168 : 7298 : x2 = XEXP (x1, 0);
2169 : 7298 : x3 = XEXP (x2, 0);
2170 : 7298 : operands[0] = x3;
2171 : 7298 : switch (GET_MODE (operands[0]))
2172 : : {
2173 : 6505 : case E_QImode:
2174 : 6505 : x4 = XEXP (x1, 1);
2175 : 6505 : return pattern541 (x4,
2176 : 6505 : E_QImode); /* [-1, 0] */
2177 : :
2178 : 793 : case E_HImode:
2179 : 793 : x4 = XEXP (x1, 1);
2180 : 793 : if (pattern541 (x4,
2181 : : E_HImode) != 0)
2182 : : return -1;
2183 : : return 1;
2184 : :
2185 : : default:
2186 : : return -1;
2187 : : }
2188 : : }
2189 : :
2190 : : int
2191 : 310429 : pattern546 (rtx x1, machine_mode i1, machine_mode i2)
2192 : : {
2193 : 310429 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2194 : 310429 : rtx x2, x3;
2195 : 310429 : int res ATTRIBUTE_UNUSED;
2196 : 310429 : x2 = XEXP (x1, 0);
2197 : 310429 : if (GET_MODE (x2) != i2
2198 : 310429 : || !register_operand (operands[1], i1))
2199 : 14798 : return -1;
2200 : 295631 : x3 = XEXP (x1, 1);
2201 : 295631 : if (GET_MODE (x3) != i2
2202 : 295631 : || !nonimmediate_operand (operands[2], i1))
2203 : 1001 : return -1;
2204 : : return 0;
2205 : : }
2206 : :
2207 : : int
2208 : 2628 : pattern552 (rtx x1, machine_mode i1)
2209 : : {
2210 : 2628 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2211 : 2628 : int res ATTRIBUTE_UNUSED;
2212 : 2628 : if (!nonimmediate_operand (operands[0], i1)
2213 : 2628 : || GET_MODE (x1) != i1
2214 : 2628 : || !nonimmediate_operand (operands[1], i1)
2215 : 5229 : || !nonimmediate_or_x86_64_const_vector_operand (operands[2], i1))
2216 : 27 : return -1;
2217 : : return 0;
2218 : : }
2219 : :
2220 : : int
2221 : 4534 : pattern558 (rtx x1)
2222 : : {
2223 : 4534 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2224 : 4534 : rtx x2, x3;
2225 : 4534 : int res ATTRIBUTE_UNUSED;
2226 : 4534 : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
2227 : : return -1;
2228 : 3786 : x2 = XEXP (x1, 0);
2229 : 3786 : if (GET_CODE (x2) != REG
2230 : 3786 : || REGNO (x2) != 17)
2231 : : return -1;
2232 : 2716 : x3 = XEXP (x1, 1);
2233 : 2716 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2234 : 0 : return -1;
2235 : : return 0;
2236 : : }
2237 : :
2238 : : int
2239 : 206730 : pattern563 (rtx x1)
2240 : : {
2241 : 206730 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2242 : 206730 : rtx x2, x3, x4, x5;
2243 : 206730 : int res ATTRIBUTE_UNUSED;
2244 : 206730 : x2 = XEXP (x1, 0);
2245 : 206730 : x3 = XEXP (x2, 0);
2246 : 206730 : x4 = XEXP (x3, 0);
2247 : 206730 : operands[1] = x4;
2248 : 206730 : x5 = XEXP (x3, 1);
2249 : 206730 : operands[2] = x5;
2250 : 206730 : if (!const123_operand (operands[2], E_VOIDmode))
2251 : : return -1;
2252 : 175046 : return pattern420 (x1); /* [-1, 1] */
2253 : : }
2254 : :
2255 : : int
2256 : 387934 : pattern569 (rtx x1, rtx_code i1, machine_mode i2)
2257 : : {
2258 : 387934 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2259 : 387934 : rtx x2, x3, x4, x5;
2260 : 387934 : int res ATTRIBUTE_UNUSED;
2261 : 387934 : x2 = XVECEXP (x1, 0, 0);
2262 : 387934 : x3 = XEXP (x2, 0);
2263 : 387934 : if (GET_CODE (x3) != REG
2264 : 387934 : || REGNO (x3) != 17
2265 : 775868 : || GET_MODE (x3) != i2)
2266 : : return -1;
2267 : 116421 : x4 = XVECEXP (x1, 0, 1);
2268 : 116421 : if (GET_CODE (x4) != SET)
2269 : : return -1;
2270 : 93394 : x5 = XEXP (x4, 1);
2271 : 93394 : if (GET_CODE (x5) != i1)
2272 : 736 : return -1;
2273 : : return 0;
2274 : : }
2275 : :
2276 : : int
2277 : 310504 : pattern573 (rtx x1, rtx_code i1)
2278 : : {
2279 : 310504 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2280 : 310504 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2281 : 310504 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2282 : 310504 : rtx x18;
2283 : 310504 : int res ATTRIBUTE_UNUSED;
2284 : 310504 : x2 = XVECEXP (x1, 0, 0);
2285 : 310504 : x3 = XEXP (x2, 1);
2286 : 310504 : x4 = XEXP (x3, 0);
2287 : 310504 : if (GET_MODE (x4) != E_QImode)
2288 : : return -1;
2289 : 47150 : x5 = XEXP (x4, 0);
2290 : 47150 : if (GET_CODE (x5) != SUBREG
2291 : 2235 : || maybe_ne (SUBREG_BYTE (x5), 0)
2292 : 49385 : || GET_MODE (x5) != E_QImode)
2293 : : return -1;
2294 : 2235 : x6 = XEXP (x5, 0);
2295 : 2235 : switch (GET_CODE (x6))
2296 : : {
2297 : 1087 : case ASHIFTRT:
2298 : 1087 : case LSHIFTRT:
2299 : 1087 : case SIGN_EXTRACT:
2300 : 1087 : case ZERO_EXTRACT:
2301 : 1087 : operands[3] = x6;
2302 : 1087 : x7 = XEXP (x3, 1);
2303 : 1087 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2304 : : return -1;
2305 : 1065 : x8 = XVECEXP (x1, 0, 1);
2306 : 1065 : if (GET_CODE (x8) != SET)
2307 : : return -1;
2308 : 0 : x9 = XEXP (x8, 1);
2309 : 0 : if (GET_CODE (x9) != SUBREG
2310 : 0 : || maybe_ne (SUBREG_BYTE (x9), 0))
2311 : : return -1;
2312 : 0 : x10 = XEXP (x9, 0);
2313 : 0 : if (GET_CODE (x10) != i1
2314 : 0 : || GET_MODE (x10) != E_QImode)
2315 : : return -1;
2316 : 0 : x11 = XEXP (x10, 0);
2317 : 0 : if (GET_CODE (x11) != SUBREG
2318 : 0 : || maybe_ne (SUBREG_BYTE (x11), 0)
2319 : 0 : || GET_MODE (x11) != E_QImode)
2320 : : return -1;
2321 : 0 : x12 = XEXP (x11, 0);
2322 : 0 : if (GET_CODE (x12) != ZERO_EXTRACT)
2323 : : return -1;
2324 : 0 : x13 = XEXP (x12, 1);
2325 : 0 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2326 : : return -1;
2327 : 0 : x14 = XEXP (x12, 2);
2328 : 0 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2329 : : return -1;
2330 : 0 : x15 = XEXP (x8, 0);
2331 : 0 : if (GET_CODE (x15) != ZERO_EXTRACT)
2332 : : return -1;
2333 : 0 : x16 = XEXP (x15, 1);
2334 : 0 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2335 : : return -1;
2336 : 0 : x17 = XEXP (x15, 2);
2337 : 0 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2338 : : return -1;
2339 : 0 : x18 = XEXP (x2, 0);
2340 : 0 : operands[4] = x18;
2341 : 0 : if (!flags_reg_operand (operands[4], E_VOIDmode))
2342 : : return -1;
2343 : 0 : operands[5] = x3;
2344 : 0 : if (!compare_operator (operands[5], E_VOIDmode))
2345 : : return -1;
2346 : 0 : return pattern572 (x1); /* [-1, 2] */
2347 : :
2348 : : default:
2349 : : return -1;
2350 : : }
2351 : : }
2352 : :
2353 : : int
2354 : 13220 : pattern595 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2355 : : {
2356 : 13220 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2357 : 13220 : rtx x2;
2358 : 13220 : int res ATTRIBUTE_UNUSED;
2359 : 13220 : if (!register_operand (operands[0], i3)
2360 : 13220 : || GET_MODE (x1) != i3)
2361 : : return -1;
2362 : 1788 : x2 = XEXP (x1, 0);
2363 : 1788 : if (GET_MODE (x2) != i2
2364 : 1788 : || !register_operand (operands[1], i1))
2365 : 411 : return -1;
2366 : : return 0;
2367 : : }
2368 : :
2369 : : int
2370 : 49598 : pattern600 (rtx x1, machine_mode i1)
2371 : : {
2372 : 49598 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2373 : 49598 : rtx x2;
2374 : 49598 : int res ATTRIBUTE_UNUSED;
2375 : 49598 : if (!register_operand (operands[0], i1)
2376 : 49598 : || GET_MODE (x1) != i1)
2377 : : return -1;
2378 : 49370 : x2 = XEXP (x1, 0);
2379 : 49370 : if (GET_MODE (x2) != i1
2380 : 49370 : || !register_operand (operands[1], i1)
2381 : 98222 : || !vector_operand (operands[2], i1))
2382 : 861 : return -1;
2383 : : return 0;
2384 : : }
2385 : :
2386 : : int
2387 : 85 : pattern606 (rtx x1)
2388 : : {
2389 : 85 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2390 : 85 : rtx x2, x3, x4;
2391 : 85 : int res ATTRIBUTE_UNUSED;
2392 : 85 : if (GET_MODE (x1) != E_SImode)
2393 : : return -1;
2394 : 85 : x2 = XEXP (x1, 0);
2395 : 85 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
2396 : : return -1;
2397 : 72 : x3 = XEXP (x1, 1);
2398 : 72 : if (GET_CODE (x3) != SUBREG
2399 : 68 : || maybe_ne (SUBREG_BYTE (x3), 0)
2400 : 140 : || GET_MODE (x3) != E_SImode)
2401 : : return -1;
2402 : 68 : x4 = XEXP (x3, 0);
2403 : 68 : if (GET_CODE (x4) != CLZ
2404 : 65 : || GET_MODE (x4) != E_DImode)
2405 : 3 : return -1;
2406 : : return 0;
2407 : : }
2408 : :
2409 : : int
2410 : 6778 : pattern615 (rtx x1, machine_mode i1, machine_mode i2)
2411 : : {
2412 : 6778 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2413 : 6778 : rtx x2;
2414 : 6778 : int res ATTRIBUTE_UNUSED;
2415 : 6778 : if (!register_operand (operands[0], i1)
2416 : 6778 : || GET_MODE (x1) != i1)
2417 : : return -1;
2418 : 6472 : x2 = XEXP (x1, 0);
2419 : 6472 : if (GET_MODE (x2) != i1
2420 : 6472 : || !nonimmediate_operand (operands[1], i1)
2421 : 6469 : || !nonimm_or_0_operand (operands[2], i1)
2422 : 12838 : || !register_operand (operands[3], i2))
2423 : 167 : return -1;
2424 : : return 0;
2425 : : }
2426 : :
2427 : : int
2428 : 2384 : pattern623 (rtx x1)
2429 : : {
2430 : 2384 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2431 : 2384 : rtx x2, x3, x4;
2432 : 2384 : int res ATTRIBUTE_UNUSED;
2433 : 2384 : x2 = XEXP (x1, 0);
2434 : 2384 : x3 = XVECEXP (x2, 0, 0);
2435 : 2384 : operands[1] = x3;
2436 : 2384 : x4 = XEXP (x1, 2);
2437 : 2384 : operands[3] = x4;
2438 : 2384 : switch (GET_MODE (operands[0]))
2439 : : {
2440 : 800 : case E_V16SImode:
2441 : 800 : return pattern621 (x1,
2442 : : E_V16SImode,
2443 : : E_HImode,
2444 : 800 : E_V16SFmode); /* [-1, 0] */
2445 : :
2446 : 792 : case E_V8SImode:
2447 : 792 : if (pattern621 (x1,
2448 : : E_V8SImode,
2449 : : E_QImode,
2450 : : E_V8SFmode) != 0)
2451 : : return -1;
2452 : : return 1;
2453 : :
2454 : 792 : case E_V4SImode:
2455 : 792 : if (pattern621 (x1,
2456 : : E_V4SImode,
2457 : : E_QImode,
2458 : : E_V4SFmode) != 0)
2459 : : return -1;
2460 : : return 2;
2461 : :
2462 : : default:
2463 : : return -1;
2464 : : }
2465 : : }
2466 : :
2467 : : int
2468 : 2371 : pattern628 (rtx x1)
2469 : : {
2470 : 2371 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2471 : 2371 : rtx x2, x3, x4, x5;
2472 : 2371 : int res ATTRIBUTE_UNUSED;
2473 : 2371 : x2 = XVECEXP (x1, 0, 0);
2474 : 2371 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2475 : : return -1;
2476 : 2371 : x3 = XVECEXP (x1, 0, 1);
2477 : 2371 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2478 : : return -1;
2479 : 2371 : x4 = XVECEXP (x1, 0, 2);
2480 : 2371 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2481 : : return -1;
2482 : 2371 : x5 = XVECEXP (x1, 0, 3);
2483 : 2371 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2484 : 0 : return -1;
2485 : : return 0;
2486 : : }
2487 : :
2488 : : int
2489 : 170 : pattern631 (rtx x1)
2490 : : {
2491 : 170 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2492 : 170 : int res ATTRIBUTE_UNUSED;
2493 : 170 : if (!register_operand (operands[0], E_V8DImode)
2494 : 170 : || GET_MODE (x1) != E_V8DImode)
2495 : : return -1;
2496 : 112 : switch (GET_MODE (operands[1]))
2497 : : {
2498 : 46 : case E_V8HFmode:
2499 : 46 : if (!vector_operand (operands[1], E_V8HFmode))
2500 : : return -1;
2501 : : return 0;
2502 : :
2503 : 36 : case E_V8DFmode:
2504 : 36 : if (!vector_operand (operands[1], E_V8DFmode))
2505 : : return -1;
2506 : : return 1;
2507 : :
2508 : 30 : case E_V8SFmode:
2509 : 30 : if (!vector_operand (operands[1], E_V8SFmode))
2510 : : return -1;
2511 : : return 2;
2512 : :
2513 : : default:
2514 : : return -1;
2515 : : }
2516 : : }
2517 : :
2518 : : int
2519 : 1007 : pattern638 (rtx x1)
2520 : : {
2521 : 1007 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2522 : 1007 : rtx x2, x3, x4, x5;
2523 : 1007 : int res ATTRIBUTE_UNUSED;
2524 : 1007 : x2 = XVECEXP (x1, 0, 0);
2525 : 1007 : x3 = XEXP (x2, 2);
2526 : 1007 : operands[4] = x3;
2527 : 1007 : x4 = XEXP (x2, 1);
2528 : 1007 : operands[3] = x4;
2529 : 1007 : x5 = XVECEXP (x1, 0, 1);
2530 : 1007 : operands[5] = x5;
2531 : 1007 : switch (GET_MODE (operands[0]))
2532 : : {
2533 : 293 : case E_V32HFmode:
2534 : 293 : return pattern634 (x1,
2535 : : E_V32HFmode,
2536 : 293 : E_SImode); /* [-1, 0] */
2537 : :
2538 : 357 : case E_V16SFmode:
2539 : 357 : if (pattern634 (x1,
2540 : : E_V16SFmode,
2541 : : E_HImode) != 0)
2542 : : return -1;
2543 : : return 1;
2544 : :
2545 : 357 : case E_V8DFmode:
2546 : 357 : if (pattern634 (x1,
2547 : : E_V8DFmode,
2548 : : E_QImode) != 0)
2549 : : return -1;
2550 : : return 2;
2551 : :
2552 : : default:
2553 : : return -1;
2554 : : }
2555 : : }
2556 : :
2557 : : int
2558 : 473 : pattern648 (rtx x1, machine_mode i1, machine_mode i2)
2559 : : {
2560 : 473 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2561 : 473 : rtx x2;
2562 : 473 : int res ATTRIBUTE_UNUSED;
2563 : 473 : if (!register_operand (operands[0], i2)
2564 : 464 : || GET_MODE (x1) != i2
2565 : 464 : || !vector_operand (operands[1], i2)
2566 : 678 : || !register_operand (operands[2], i2))
2567 : 353 : return -1;
2568 : 120 : x2 = XVECEXP (x1, 0, 2);
2569 : 120 : if (GET_MODE (x2) != i2
2570 : 120 : || !register_operand (operands[3], i1)
2571 : 240 : || !vector_all_ones_operand (operands[4], i1))
2572 : 78 : return -1;
2573 : : return 0;
2574 : : }
2575 : :
2576 : : int
2577 : 44 : pattern652 (rtx x1)
2578 : : {
2579 : 44 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2580 : 44 : rtx x2, x3, x4, x5, x6, x7, x8;
2581 : 44 : int res ATTRIBUTE_UNUSED;
2582 : 44 : x2 = XVECEXP (x1, 0, 2);
2583 : 44 : x3 = XEXP (x2, 0);
2584 : 44 : if (maybe_ne (SUBREG_BYTE (x3), 0))
2585 : : return -1;
2586 : 44 : x4 = XEXP (x3, 0);
2587 : 44 : if (GET_CODE (x4) != NOT)
2588 : : return -1;
2589 : 0 : x5 = XVECEXP (x1, 0, 0);
2590 : 0 : operands[2] = x5;
2591 : 0 : x6 = XVECEXP (x1, 0, 1);
2592 : 0 : operands[1] = x6;
2593 : 0 : x7 = XEXP (x4, 0);
2594 : 0 : operands[3] = x7;
2595 : 0 : if (!register_operand (operands[3], E_VOIDmode))
2596 : : return -1;
2597 : 0 : x8 = XEXP (x2, 1);
2598 : 0 : operands[4] = x8;
2599 : 0 : switch (GET_MODE (operands[0]))
2600 : : {
2601 : 0 : case E_V32QImode:
2602 : 0 : return pattern651 (x1,
2603 : 0 : E_V32QImode); /* [-1, 0] */
2604 : :
2605 : 0 : case E_V16QImode:
2606 : 0 : if (pattern651 (x1,
2607 : : E_V16QImode) != 0)
2608 : : return -1;
2609 : : return 1;
2610 : :
2611 : : default:
2612 : : return -1;
2613 : : }
2614 : : }
2615 : :
2616 : : int
2617 : 19644 : pattern660 (rtx x1)
2618 : : {
2619 : 19644 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2620 : 19644 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2621 : 19644 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2622 : 19644 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
2623 : 19644 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
2624 : 19644 : int res ATTRIBUTE_UNUSED;
2625 : 19644 : x2 = XVECEXP (x1, 0, 0);
2626 : 19644 : if (GET_CODE (x2) != CONST_INT)
2627 : : return -1;
2628 : 19644 : x3 = XVECEXP (x1, 0, 1);
2629 : 19644 : if (GET_CODE (x3) != CONST_INT)
2630 : : return -1;
2631 : 19644 : x4 = XVECEXP (x1, 0, 2);
2632 : 19644 : if (GET_CODE (x4) != CONST_INT)
2633 : : return -1;
2634 : 19644 : x5 = XVECEXP (x1, 0, 3);
2635 : 19644 : if (GET_CODE (x5) != CONST_INT)
2636 : : return -1;
2637 : 19644 : x6 = XVECEXP (x1, 0, 4);
2638 : 19644 : if (GET_CODE (x6) != CONST_INT)
2639 : : return -1;
2640 : 19644 : x7 = XVECEXP (x1, 0, 5);
2641 : 19644 : if (GET_CODE (x7) != CONST_INT)
2642 : : return -1;
2643 : 19644 : x8 = XVECEXP (x1, 0, 6);
2644 : 19644 : if (GET_CODE (x8) != CONST_INT)
2645 : : return -1;
2646 : 19644 : x9 = XVECEXP (x1, 0, 7);
2647 : 19644 : if (GET_CODE (x9) != CONST_INT)
2648 : : return -1;
2649 : 19644 : x10 = XVECEXP (x1, 0, 8);
2650 : 19644 : if (GET_CODE (x10) != CONST_INT)
2651 : : return -1;
2652 : 19644 : x11 = XVECEXP (x1, 0, 9);
2653 : 19644 : if (GET_CODE (x11) != CONST_INT)
2654 : : return -1;
2655 : 19644 : x12 = XVECEXP (x1, 0, 10);
2656 : 19644 : if (GET_CODE (x12) != CONST_INT)
2657 : : return -1;
2658 : 19644 : x13 = XVECEXP (x1, 0, 11);
2659 : 19644 : if (GET_CODE (x13) != CONST_INT)
2660 : : return -1;
2661 : 19644 : x14 = XVECEXP (x1, 0, 12);
2662 : 19644 : if (GET_CODE (x14) != CONST_INT)
2663 : : return -1;
2664 : 19644 : x15 = XVECEXP (x1, 0, 13);
2665 : 19644 : if (GET_CODE (x15) != CONST_INT)
2666 : : return -1;
2667 : 19644 : x16 = XVECEXP (x1, 0, 14);
2668 : 19644 : if (GET_CODE (x16) != CONST_INT)
2669 : : return -1;
2670 : 19644 : x17 = XVECEXP (x1, 0, 15);
2671 : 19644 : if (GET_CODE (x17) != CONST_INT)
2672 : : return -1;
2673 : 19644 : x18 = XVECEXP (x1, 0, 16);
2674 : 19644 : if (GET_CODE (x18) != CONST_INT)
2675 : : return -1;
2676 : 19644 : x19 = XVECEXP (x1, 0, 17);
2677 : 19644 : if (GET_CODE (x19) != CONST_INT)
2678 : : return -1;
2679 : 19644 : x20 = XVECEXP (x1, 0, 18);
2680 : 19644 : if (GET_CODE (x20) != CONST_INT)
2681 : : return -1;
2682 : 19644 : x21 = XVECEXP (x1, 0, 19);
2683 : 19644 : if (GET_CODE (x21) != CONST_INT)
2684 : : return -1;
2685 : 19644 : x22 = XVECEXP (x1, 0, 20);
2686 : 19644 : if (GET_CODE (x22) != CONST_INT)
2687 : : return -1;
2688 : 19644 : x23 = XVECEXP (x1, 0, 21);
2689 : 19644 : if (GET_CODE (x23) != CONST_INT)
2690 : : return -1;
2691 : 19644 : x24 = XVECEXP (x1, 0, 22);
2692 : 19644 : if (GET_CODE (x24) != CONST_INT)
2693 : : return -1;
2694 : 19644 : x25 = XVECEXP (x1, 0, 23);
2695 : 19644 : if (GET_CODE (x25) != CONST_INT)
2696 : : return -1;
2697 : 19644 : x26 = XVECEXP (x1, 0, 24);
2698 : 19644 : if (GET_CODE (x26) != CONST_INT)
2699 : : return -1;
2700 : 19644 : x27 = XVECEXP (x1, 0, 25);
2701 : 19644 : if (GET_CODE (x27) != CONST_INT)
2702 : : return -1;
2703 : 19644 : x28 = XVECEXP (x1, 0, 26);
2704 : 19644 : if (GET_CODE (x28) != CONST_INT)
2705 : : return -1;
2706 : 19644 : x29 = XVECEXP (x1, 0, 27);
2707 : 19644 : if (GET_CODE (x29) != CONST_INT)
2708 : : return -1;
2709 : 19644 : x30 = XVECEXP (x1, 0, 28);
2710 : 19644 : if (GET_CODE (x30) != CONST_INT)
2711 : : return -1;
2712 : 19644 : x31 = XVECEXP (x1, 0, 29);
2713 : 19644 : if (GET_CODE (x31) != CONST_INT)
2714 : : return -1;
2715 : 19644 : x32 = XVECEXP (x1, 0, 30);
2716 : 19644 : if (GET_CODE (x32) != CONST_INT)
2717 : : return -1;
2718 : 19644 : x33 = XVECEXP (x1, 0, 31);
2719 : 19644 : if (GET_CODE (x33) != CONST_INT)
2720 : 0 : return -1;
2721 : : return 0;
2722 : : }
2723 : :
2724 : : int
2725 : 0 : pattern694 (rtx x1)
2726 : : {
2727 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2728 : 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2729 : 0 : int res ATTRIBUTE_UNUSED;
2730 : 0 : x2 = XVECEXP (x1, 0, 2);
2731 : 0 : x3 = XEXP (x2, 0);
2732 : 0 : if (GET_CODE (x3) != REG
2733 : 0 : || REGNO (x3) != 17
2734 : 0 : || GET_MODE (x3) != E_CCmode)
2735 : : return -1;
2736 : 0 : x4 = XVECEXP (x1, 0, 0);
2737 : 0 : x5 = XEXP (x4, 0);
2738 : 0 : operands[0] = x5;
2739 : 0 : if (!register_operand (operands[0], E_SImode))
2740 : : return -1;
2741 : 0 : x6 = XEXP (x4, 1);
2742 : 0 : x7 = XEXP (x6, 0);
2743 : 0 : operands[1] = x7;
2744 : 0 : if (!nonimmediate_operand (operands[1], E_SImode))
2745 : : return -1;
2746 : 0 : x8 = XVECEXP (x1, 0, 1);
2747 : 0 : x9 = XEXP (x8, 0);
2748 : 0 : operands[2] = x9;
2749 : 0 : if (!scratch_operand (operands[2], E_SImode))
2750 : : return -1;
2751 : : return 0;
2752 : : }
2753 : :
2754 : : int
2755 : 32698 : pattern701 (rtx x1, machine_mode i1, machine_mode i2)
2756 : : {
2757 : 32698 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2758 : 32698 : rtx x2, x3, x4, x5, x6;
2759 : 32698 : int res ATTRIBUTE_UNUSED;
2760 : 32698 : x2 = XVECEXP (x1, 0, 0);
2761 : 32698 : x3 = XEXP (x2, 1);
2762 : 32698 : x4 = XEXP (x3, 0);
2763 : 32698 : x5 = XEXP (x4, 0);
2764 : 32698 : if (GET_MODE (x5) != i2
2765 : 32698 : || !nonimmediate_operand (operands[1], i1))
2766 : 2858 : return -1;
2767 : 29840 : x6 = XEXP (x4, 1);
2768 : 29840 : if (GET_MODE (x6) != i2
2769 : 29840 : || !nonimmediate_operand (operands[2], i1)
2770 : 58644 : || pattern700 (x1,
2771 : : i1,
2772 : : i2) != 0)
2773 : 1036 : return -1;
2774 : : return 0;
2775 : : }
2776 : :
2777 : : int
2778 : 2495209 : pattern709 (rtx x1, machine_mode i1)
2779 : : {
2780 : 2495209 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2781 : 2495209 : rtx x2, x3;
2782 : 2495209 : int res ATTRIBUTE_UNUSED;
2783 : 2495209 : if (!register_operand (operands[0], i1)
2784 : 2474931 : || GET_CODE (x1) != PARALLEL
2785 : 2745214 : || XVECLEN (x1, 0) != 2)
2786 : : return -1;
2787 : 248813 : x2 = XVECEXP (x1, 0, 0);
2788 : 248813 : if (GET_CODE (x2) != SET)
2789 : : return -1;
2790 : 248764 : x3 = XEXP (x2, 1);
2791 : 248764 : switch (GET_CODE (x3))
2792 : : {
2793 : : case PLUS:
2794 : : case MINUS:
2795 : : case AND:
2796 : : case IOR:
2797 : : case XOR:
2798 : : return 0;
2799 : :
2800 : : default:
2801 : : return -1;
2802 : : }
2803 : : }
2804 : :
2805 : : int
2806 : 101820 : pattern714 (rtx x1, machine_mode i1, machine_mode i2)
2807 : : {
2808 : 101820 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2809 : 101820 : int res ATTRIBUTE_UNUSED;
2810 : 101820 : if (!register_operand (operands[0], i2)
2811 : 98390 : || GET_MODE (x1) != i2
2812 : 98390 : || !register_operand (operands[1], i1)
2813 : 171997 : || !vector_operand (operands[2], i1))
2814 : 52709 : return -1;
2815 : : return 0;
2816 : : }
2817 : :
2818 : : int
2819 : 270 : pattern717 (rtx x1, machine_mode i1)
2820 : : {
2821 : 270 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2822 : 270 : rtx x2, x3;
2823 : 270 : int res ATTRIBUTE_UNUSED;
2824 : 270 : if (!register_operand (operands[0], i1)
2825 : 270 : || GET_MODE (x1) != i1
2826 : 270 : || !register_operand (operands[1], i1)
2827 : 432 : || !register_operand (operands[2], i1))
2828 : 180 : return -1;
2829 : 90 : x2 = XVECEXP (x1, 0, 2);
2830 : 90 : if (GET_MODE (x2) != i1)
2831 : : return -1;
2832 : 90 : x3 = XEXP (x2, 0);
2833 : 90 : if (GET_MODE (x3) != i1
2834 : 90 : || !register_operand (operands[3], i1)
2835 : 72 : || !nonmemory_operand (operands[4], i1)
2836 : 162 : || !const0_operand (operands[5], i1))
2837 : 54 : return -1;
2838 : : return 0;
2839 : : }
2840 : :
2841 : : int
2842 : 13320 : pattern726 (machine_mode i1)
2843 : : {
2844 : 13320 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2845 : 13320 : int res ATTRIBUTE_UNUSED;
2846 : 13320 : if (!register_operand (operands[0], i1)
2847 : 13197 : || !ix86_comparison_uns_operator (operands[1], i1)
2848 : 13087 : || !register_operand (operands[2], i1)
2849 : 21932 : || !register_operand (operands[3], i1))
2850 : 13248 : return -1;
2851 : : return 0;
2852 : : }
2853 : :
2854 : : int
2855 : 438 : pattern732 (rtx x1)
2856 : : {
2857 : 438 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2858 : 438 : rtx x2, x3, x4, x5;
2859 : 438 : int res ATTRIBUTE_UNUSED;
2860 : 438 : x2 = XEXP (x1, 0);
2861 : 438 : x3 = XEXP (x2, 1);
2862 : 438 : x4 = XEXP (x3, 1);
2863 : 438 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2864 : : return -1;
2865 : 438 : x5 = XEXP (x3, 0);
2866 : 438 : operands[3] = x5;
2867 : 438 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
2868 : : return -1;
2869 : 438 : switch (GET_MODE (operands[0]))
2870 : : {
2871 : 138 : case E_SImode:
2872 : 138 : return pattern731 (x1,
2873 : 138 : E_SImode); /* [-1, 0] */
2874 : :
2875 : 300 : case E_DImode:
2876 : 300 : if (pattern731 (x1,
2877 : : E_DImode) != 0)
2878 : : return -1;
2879 : : return 1;
2880 : :
2881 : : default:
2882 : : return -1;
2883 : : }
2884 : : }
2885 : :
2886 : : int
2887 : 868 : pattern743 (rtx x1)
2888 : : {
2889 : 868 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2890 : 868 : rtx x2, x3, x4, x5, x6;
2891 : 868 : int res ATTRIBUTE_UNUSED;
2892 : 868 : x2 = XEXP (x1, 0);
2893 : 868 : x3 = XEXP (x2, 1);
2894 : 868 : if (maybe_ne (SUBREG_BYTE (x3), 0)
2895 : 868 : || GET_MODE (x3) != E_QImode)
2896 : : return -1;
2897 : 868 : x4 = XEXP (x3, 0);
2898 : 868 : if (GET_CODE (x4) != AND)
2899 : : return -1;
2900 : 160 : x5 = XEXP (x4, 0);
2901 : 160 : operands[1] = x5;
2902 : 160 : if (!int248_register_operand (operands[1], E_VOIDmode))
2903 : : return -1;
2904 : 153 : x6 = XEXP (x4, 1);
2905 : 153 : operands[2] = x6;
2906 : 153 : if (!const_int_operand (operands[2], E_VOIDmode))
2907 : : return -1;
2908 : 153 : return pattern272 (x1); /* [-1, 1] */
2909 : : }
2910 : :
2911 : : int
2912 : 51 : pattern752 (rtx x1, machine_mode i1, machine_mode i2)
2913 : : {
2914 : 51 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2915 : 51 : rtx x2, x3, x4;
2916 : 51 : int res ATTRIBUTE_UNUSED;
2917 : 51 : if (!register_operand (operands[0], i2)
2918 : 51 : || GET_MODE (x1) != i2)
2919 : : return -1;
2920 : 46 : x2 = XEXP (x1, 0);
2921 : 46 : if (GET_MODE (x2) != i2)
2922 : : return -1;
2923 : 46 : x3 = XEXP (x2, 0);
2924 : 46 : if (GET_MODE (x3) != i1)
2925 : : return -1;
2926 : 46 : x4 = XVECEXP (x3, 0, 0);
2927 : 46 : if (GET_MODE (x4) != i1
2928 : 46 : || !register_operand (operands[1], i2)
2929 : 88 : || !nonimmediate_operand (operands[2], i1))
2930 : 28 : return -1;
2931 : : return 0;
2932 : : }
2933 : :
2934 : : int
2935 : 3985 : pattern759 (rtx x1)
2936 : : {
2937 : 3985 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2938 : 3985 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2939 : 3985 : rtx x10;
2940 : 3985 : int res ATTRIBUTE_UNUSED;
2941 : 3985 : x2 = XVECEXP (x1, 0, 0);
2942 : 3985 : x3 = XEXP (x2, 2);
2943 : 3985 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2944 : : return -1;
2945 : 3985 : x4 = XEXP (x2, 0);
2946 : 3985 : x5 = XEXP (x4, 0);
2947 : 3985 : x6 = XEXP (x5, 0);
2948 : 3985 : operands[1] = x6;
2949 : 3985 : x7 = XEXP (x5, 1);
2950 : 3985 : operands[2] = x7;
2951 : 3985 : x8 = XEXP (x4, 1);
2952 : 3985 : operands[3] = x8;
2953 : 3985 : x9 = XEXP (x4, 2);
2954 : 3985 : operands[4] = x9;
2955 : 3985 : if (!register_operand (operands[4], E_QImode))
2956 : : return -1;
2957 : 3961 : x10 = XVECEXP (x1, 0, 1);
2958 : 3961 : operands[5] = x10;
2959 : 3961 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
2960 : : return -1;
2961 : 3961 : return pattern758 (x1); /* [-1, 2] */
2962 : : }
2963 : :
2964 : : int
2965 : 4035 : pattern770 (rtx x1)
2966 : : {
2967 : 4035 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2968 : 4035 : rtx x2;
2969 : 4035 : int res ATTRIBUTE_UNUSED;
2970 : 4035 : x2 = XVECEXP (x1, 0, 1);
2971 : 4035 : if (!rtx_equal_p (x2, operands[0]))
2972 : : return -1;
2973 : 3099 : switch (GET_MODE (operands[0]))
2974 : : {
2975 : 146 : case E_V64QImode:
2976 : 146 : return pattern769 (x1,
2977 : : E_V64QImode,
2978 : 146 : E_DImode); /* [-1, 0] */
2979 : :
2980 : 97 : case E_V32QImode:
2981 : 97 : if (pattern769 (x1,
2982 : : E_V32QImode,
2983 : : E_SImode) != 0)
2984 : : return -1;
2985 : : return 1;
2986 : :
2987 : 49 : case E_V16QImode:
2988 : 49 : if (pattern769 (x1,
2989 : : E_V16QImode,
2990 : : E_HImode) != 0)
2991 : : return -1;
2992 : : return 2;
2993 : :
2994 : 225 : case E_V32HImode:
2995 : 225 : if (pattern769 (x1,
2996 : : E_V32HImode,
2997 : : E_SImode) != 0)
2998 : : return -1;
2999 : : return 3;
3000 : :
3001 : 98 : case E_V16HImode:
3002 : 98 : if (pattern769 (x1,
3003 : : E_V16HImode,
3004 : : E_HImode) != 0)
3005 : : return -1;
3006 : : return 4;
3007 : :
3008 : 98 : case E_V8HImode:
3009 : 98 : if (pattern769 (x1,
3010 : : E_V8HImode,
3011 : : E_QImode) != 0)
3012 : : return -1;
3013 : : return 5;
3014 : :
3015 : 182 : case E_V16SImode:
3016 : 182 : if (pattern769 (x1,
3017 : : E_V16SImode,
3018 : : E_HImode) != 0)
3019 : : return -1;
3020 : : return 6;
3021 : :
3022 : 144 : case E_V8SImode:
3023 : 144 : if (pattern769 (x1,
3024 : : E_V8SImode,
3025 : : E_QImode) != 0)
3026 : : return -1;
3027 : : return 7;
3028 : :
3029 : 139 : case E_V4SImode:
3030 : 139 : if (pattern769 (x1,
3031 : : E_V4SImode,
3032 : : E_QImode) != 0)
3033 : : return -1;
3034 : : return 8;
3035 : :
3036 : 547 : case E_V8DImode:
3037 : 547 : if (pattern769 (x1,
3038 : : E_V8DImode,
3039 : : E_QImode) != 0)
3040 : : return -1;
3041 : : return 9;
3042 : :
3043 : 125 : case E_V4DImode:
3044 : 125 : if (pattern769 (x1,
3045 : : E_V4DImode,
3046 : : E_QImode) != 0)
3047 : : return -1;
3048 : : return 10;
3049 : :
3050 : 140 : case E_V2DImode:
3051 : 140 : if (pattern769 (x1,
3052 : : E_V2DImode,
3053 : : E_QImode) != 0)
3054 : : return -1;
3055 : : return 11;
3056 : :
3057 : 81 : case E_V32HFmode:
3058 : 81 : if (pattern769 (x1,
3059 : : E_V32HFmode,
3060 : : E_SImode) != 0)
3061 : : return -1;
3062 : : return 12;
3063 : :
3064 : 129 : case E_V16HFmode:
3065 : 129 : if (pattern769 (x1,
3066 : : E_V16HFmode,
3067 : : E_HImode) != 0)
3068 : : return -1;
3069 : : return 13;
3070 : :
3071 : 81 : case E_V8HFmode:
3072 : 81 : if (pattern769 (x1,
3073 : : E_V8HFmode,
3074 : : E_QImode) != 0)
3075 : : return -1;
3076 : : return 14;
3077 : :
3078 : 0 : case E_V32BFmode:
3079 : 0 : if (pattern769 (x1,
3080 : : E_V32BFmode,
3081 : : E_SImode) != 0)
3082 : : return -1;
3083 : : return 15;
3084 : :
3085 : 0 : case E_V16BFmode:
3086 : 0 : if (pattern769 (x1,
3087 : : E_V16BFmode,
3088 : : E_HImode) != 0)
3089 : : return -1;
3090 : : return 16;
3091 : :
3092 : 0 : case E_V8BFmode:
3093 : 0 : if (pattern769 (x1,
3094 : : E_V8BFmode,
3095 : : E_QImode) != 0)
3096 : : return -1;
3097 : : return 17;
3098 : :
3099 : 110 : case E_V16SFmode:
3100 : 110 : if (pattern769 (x1,
3101 : : E_V16SFmode,
3102 : : E_HImode) != 0)
3103 : : return -1;
3104 : : return 18;
3105 : :
3106 : 146 : case E_V8SFmode:
3107 : 146 : if (pattern769 (x1,
3108 : : E_V8SFmode,
3109 : : E_QImode) != 0)
3110 : : return -1;
3111 : : return 19;
3112 : :
3113 : 122 : case E_V4SFmode:
3114 : 122 : if (pattern769 (x1,
3115 : : E_V4SFmode,
3116 : : E_QImode) != 0)
3117 : : return -1;
3118 : : return 20;
3119 : :
3120 : 159 : case E_V8DFmode:
3121 : 159 : if (pattern769 (x1,
3122 : : E_V8DFmode,
3123 : : E_QImode) != 0)
3124 : : return -1;
3125 : : return 21;
3126 : :
3127 : 158 : case E_V4DFmode:
3128 : 158 : if (pattern769 (x1,
3129 : : E_V4DFmode,
3130 : : E_QImode) != 0)
3131 : : return -1;
3132 : : return 22;
3133 : :
3134 : 123 : case E_V2DFmode:
3135 : 123 : if (pattern769 (x1,
3136 : : E_V2DFmode,
3137 : : E_QImode) != 0)
3138 : : return -1;
3139 : : return 23;
3140 : :
3141 : : default:
3142 : : return -1;
3143 : : }
3144 : : }
3145 : :
3146 : : int
3147 : 36 : pattern812 (rtx x1)
3148 : : {
3149 : 36 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3150 : 36 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3151 : 36 : rtx x10;
3152 : 36 : int res ATTRIBUTE_UNUSED;
3153 : 36 : x2 = XVECEXP (x1, 0, 1);
3154 : 36 : if (GET_CODE (x2) != UNSPEC
3155 : 25 : || XVECLEN (x2, 0) != 1
3156 : 25 : || XINT (x2, 1) != 39)
3157 : : return -1;
3158 : 25 : x3 = XVECEXP (x1, 0, 2);
3159 : 25 : if (GET_CODE (x3) != CLOBBER)
3160 : : return -1;
3161 : 25 : x4 = XEXP (x3, 0);
3162 : 25 : if (GET_CODE (x4) != REG
3163 : 25 : || REGNO (x4) != 17
3164 : 50 : || GET_MODE (x4) != E_CCmode)
3165 : : return -1;
3166 : 25 : x5 = XVECEXP (x1, 0, 0);
3167 : 25 : x6 = XEXP (x5, 0);
3168 : 25 : operands[0] = x6;
3169 : 25 : x7 = XEXP (x5, 1);
3170 : 25 : x8 = XEXP (x7, 0);
3171 : 25 : x9 = XEXP (x8, 0);
3172 : 25 : operands[1] = x9;
3173 : 25 : if (!nonimmediate_operand (operands[1], E_SImode))
3174 : : return -1;
3175 : 25 : x10 = XVECEXP (x2, 0, 0);
3176 : 25 : operands[2] = x10;
3177 : 25 : if (!register_operand (operands[2], E_DImode))
3178 : : return -1;
3179 : : return 0;
3180 : : }
3181 : :
3182 : : int
3183 : 1452 : pattern822 (rtx x1, int i1, int i2, int i3, int i4)
3184 : : {
3185 : 1452 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3186 : 1452 : rtx x2, x3, x4, x5;
3187 : 1452 : int res ATTRIBUTE_UNUSED;
3188 : 1452 : x2 = XVECEXP (x1, 0, 8);
3189 : 1452 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
3190 : : return -1;
3191 : 1436 : x3 = XVECEXP (x1, 0, 9);
3192 : 1436 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
3193 : : return -1;
3194 : 1436 : x4 = XVECEXP (x1, 0, 10);
3195 : 1436 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
3196 : : return -1;
3197 : 1436 : x5 = XVECEXP (x1, 0, 11);
3198 : 1436 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
3199 : 0 : return -1;
3200 : : return 0;
3201 : : }
3202 : :
3203 : : int
3204 : 14030285 : pattern828 ()
3205 : : {
3206 : 14030285 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3207 : 14030285 : int res ATTRIBUTE_UNUSED;
3208 : 14030285 : switch (GET_MODE (operands[0]))
3209 : : {
3210 : 6379946 : case E_DImode:
3211 : 6379946 : if (!nonimmediate_operand (operands[0], E_DImode)
3212 : 6379946 : || !general_operand (operands[1], E_DImode))
3213 : 477449 : return -1;
3214 : : return 0;
3215 : :
3216 : 403443 : case E_TImode:
3217 : 403443 : if (!nonimmediate_operand (operands[0], E_TImode)
3218 : 403443 : || !general_operand (operands[1], E_TImode))
3219 : 6653 : return -1;
3220 : : return 1;
3221 : :
3222 : : default:
3223 : : return -1;
3224 : : }
3225 : : }
3226 : :
3227 : : int
3228 : 9623 : pattern834 (rtx x1, machine_mode i1)
3229 : : {
3230 : 9623 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3231 : 9623 : int res ATTRIBUTE_UNUSED;
3232 : 9623 : if (!register_operand (operands[0], i1)
3233 : 9601 : || GET_MODE (x1) != i1
3234 : 9601 : || !register_operand (operands[1], i1)
3235 : 16574 : || !register_mmxmem_operand (operands[2], i1))
3236 : 3511 : return -1;
3237 : : return 0;
3238 : : }
3239 : :
3240 : : int
3241 : 438 : pattern837 (rtx x1)
3242 : : {
3243 : 438 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3244 : 438 : rtx x2, x3, x4, x5;
3245 : 438 : int res ATTRIBUTE_UNUSED;
3246 : 438 : x2 = XEXP (x1, 0);
3247 : 438 : x3 = XEXP (x2, 1);
3248 : 438 : x4 = XEXP (x3, 1);
3249 : 438 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3250 : : return -1;
3251 : 438 : x5 = XEXP (x3, 0);
3252 : 438 : operands[3] = x5;
3253 : 438 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
3254 : : return -1;
3255 : 438 : switch (GET_MODE (operands[0]))
3256 : : {
3257 : 0 : case E_QImode:
3258 : 0 : return pattern836 (x1,
3259 : 0 : E_QImode); /* [-1, 0] */
3260 : :
3261 : 0 : case E_HImode:
3262 : 0 : if (pattern836 (x1,
3263 : : E_HImode) != 0)
3264 : : return -1;
3265 : : return 1;
3266 : :
3267 : : default:
3268 : : return -1;
3269 : : }
3270 : : }
3271 : :
3272 : : int
3273 : 7071 : pattern844 (rtx x1)
3274 : : {
3275 : 7071 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3276 : 7071 : rtx x2, x3, x4;
3277 : 7071 : int res ATTRIBUTE_UNUSED;
3278 : 7071 : x2 = XVECEXP (x1, 0, 0);
3279 : 7071 : x3 = XEXP (x2, 1);
3280 : 7071 : operands[1] = x3;
3281 : 7071 : x4 = XEXP (x2, 0);
3282 : 7071 : if (!rtx_equal_p (x4, operands[0]))
3283 : : return -1;
3284 : 4954 : switch (GET_MODE (operands[0]))
3285 : : {
3286 : 458 : case E_QImode:
3287 : 458 : return pattern843 (x1,
3288 : 458 : E_QImode); /* [-1, 0] */
3289 : :
3290 : 140 : case E_HImode:
3291 : 140 : if (pattern843 (x1,
3292 : : E_HImode) != 0)
3293 : : return -1;
3294 : : return 1;
3295 : :
3296 : : default:
3297 : : return -1;
3298 : : }
3299 : : }
3300 : :
3301 : : int
3302 : 5534 : pattern851 (rtx x1, machine_mode i1)
3303 : : {
3304 : 5534 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3305 : 5534 : rtx x2;
3306 : 5534 : int res ATTRIBUTE_UNUSED;
3307 : 5534 : if (!register_operand (operands[0], i1)
3308 : 5534 : || GET_MODE (x1) != i1)
3309 : : return -1;
3310 : 5375 : x2 = XEXP (x1, 0);
3311 : 5375 : if (GET_MODE (x2) != i1
3312 : 5375 : || !bcst_vector_operand (operands[1], i1)
3313 : 4584 : || !bcst_vector_operand (operands[2], i1)
3314 : 9363 : || !bcst_vector_operand (operands[3], i1))
3315 : 1399 : return -1;
3316 : : return 0;
3317 : : }
3318 : :
3319 : : int
3320 : 2302 : pattern860 (rtx x1)
3321 : : {
3322 : 2302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3323 : 2302 : rtx x2, x3, x4, x5, x6;
3324 : 2302 : int res ATTRIBUTE_UNUSED;
3325 : 2302 : x2 = XVECEXP (x1, 0, 0);
3326 : 2302 : x3 = XVECEXP (x2, 0, 0);
3327 : 2302 : if (GET_CODE (x3) != VEC_SELECT)
3328 : : return -1;
3329 : 1392 : x4 = XEXP (x3, 1);
3330 : 1392 : if (GET_CODE (x4) != PARALLEL
3331 : 1392 : || XVECLEN (x4, 0) != 1)
3332 : : return -1;
3333 : 1392 : x5 = XVECEXP (x4, 0, 0);
3334 : 1392 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3335 : : return -1;
3336 : 1392 : x6 = XEXP (x3, 0);
3337 : 1392 : operands[1] = x6;
3338 : 1392 : if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
3339 : : return -1;
3340 : 1392 : switch (GET_MODE (operands[0]))
3341 : : {
3342 : 702 : case E_SImode:
3343 : 702 : return pattern859 (x1,
3344 : 702 : E_SImode); /* [-1, 2] */
3345 : :
3346 : 690 : case E_DImode:
3347 : 690 : res = pattern859 (x1,
3348 : : E_DImode);
3349 : 690 : if (res >= 0)
3350 : 642 : return res + 3; /* [3, 5] */
3351 : : return -1;
3352 : :
3353 : : default:
3354 : : return -1;
3355 : : }
3356 : : }
3357 : :
3358 : : int
3359 : 264 : pattern874 (rtx x1, machine_mode i1)
3360 : : {
3361 : 264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3362 : 264 : rtx x2;
3363 : 264 : int res ATTRIBUTE_UNUSED;
3364 : 264 : if (!register_operand (operands[0], i1)
3365 : 264 : || GET_MODE (x1) != i1)
3366 : : return -1;
3367 : 258 : x2 = XEXP (x1, 0);
3368 : 258 : if (GET_MODE (x2) != i1
3369 : 258 : || !nonimmediate_operand (operands[1], i1)
3370 : 490 : || !register_operand (operands[2], i1))
3371 : 46 : return -1;
3372 : : return 0;
3373 : : }
3374 : :
3375 : : int
3376 : 1358 : pattern880 (rtx x1)
3377 : : {
3378 : 1358 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3379 : 1358 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3380 : 1358 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3381 : 1358 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
3382 : 1358 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
3383 : 1358 : int res ATTRIBUTE_UNUSED;
3384 : 1358 : x2 = XVECEXP (x1, 0, 0);
3385 : 1358 : if (GET_CODE (x2) != CONST_INT)
3386 : : return -1;
3387 : 1358 : x3 = XVECEXP (x1, 0, 1);
3388 : 1358 : if (GET_CODE (x3) != CONST_INT)
3389 : : return -1;
3390 : 1358 : x4 = XVECEXP (x1, 0, 2);
3391 : 1358 : if (GET_CODE (x4) != CONST_INT)
3392 : : return -1;
3393 : 1358 : x5 = XVECEXP (x1, 0, 3);
3394 : 1358 : if (GET_CODE (x5) != CONST_INT)
3395 : : return -1;
3396 : 1358 : x6 = XVECEXP (x1, 0, 4);
3397 : 1358 : if (GET_CODE (x6) != CONST_INT)
3398 : : return -1;
3399 : 1358 : x7 = XVECEXP (x1, 0, 5);
3400 : 1358 : if (GET_CODE (x7) != CONST_INT)
3401 : : return -1;
3402 : 1358 : x8 = XVECEXP (x1, 0, 6);
3403 : 1358 : if (GET_CODE (x8) != CONST_INT)
3404 : : return -1;
3405 : 1358 : x9 = XVECEXP (x1, 0, 7);
3406 : 1358 : if (GET_CODE (x9) != CONST_INT)
3407 : : return -1;
3408 : 1358 : x10 = XVECEXP (x1, 0, 8);
3409 : 1358 : if (GET_CODE (x10) != CONST_INT)
3410 : : return -1;
3411 : 1358 : x11 = XVECEXP (x1, 0, 9);
3412 : 1358 : if (GET_CODE (x11) != CONST_INT)
3413 : : return -1;
3414 : 1358 : x12 = XVECEXP (x1, 0, 10);
3415 : 1358 : if (GET_CODE (x12) != CONST_INT)
3416 : : return -1;
3417 : 1358 : x13 = XVECEXP (x1, 0, 11);
3418 : 1358 : if (GET_CODE (x13) != CONST_INT)
3419 : : return -1;
3420 : 1358 : x14 = XVECEXP (x1, 0, 12);
3421 : 1358 : if (GET_CODE (x14) != CONST_INT)
3422 : : return -1;
3423 : 1358 : x15 = XVECEXP (x1, 0, 13);
3424 : 1358 : if (GET_CODE (x15) != CONST_INT)
3425 : : return -1;
3426 : 1358 : x16 = XVECEXP (x1, 0, 14);
3427 : 1358 : if (GET_CODE (x16) != CONST_INT)
3428 : : return -1;
3429 : 1358 : x17 = XVECEXP (x1, 0, 15);
3430 : 1358 : if (GET_CODE (x17) != CONST_INT)
3431 : : return -1;
3432 : 1358 : x18 = XVECEXP (x1, 0, 16);
3433 : 1358 : if (GET_CODE (x18) != CONST_INT)
3434 : : return -1;
3435 : 1358 : x19 = XVECEXP (x1, 0, 17);
3436 : 1358 : if (GET_CODE (x19) != CONST_INT)
3437 : : return -1;
3438 : 1358 : x20 = XVECEXP (x1, 0, 18);
3439 : 1358 : if (GET_CODE (x20) != CONST_INT)
3440 : : return -1;
3441 : 1358 : x21 = XVECEXP (x1, 0, 19);
3442 : 1358 : if (GET_CODE (x21) != CONST_INT)
3443 : : return -1;
3444 : 1358 : x22 = XVECEXP (x1, 0, 20);
3445 : 1358 : if (GET_CODE (x22) != CONST_INT)
3446 : : return -1;
3447 : 1358 : x23 = XVECEXP (x1, 0, 21);
3448 : 1358 : if (GET_CODE (x23) != CONST_INT)
3449 : : return -1;
3450 : 1358 : x24 = XVECEXP (x1, 0, 22);
3451 : 1358 : if (GET_CODE (x24) != CONST_INT)
3452 : : return -1;
3453 : 1358 : x25 = XVECEXP (x1, 0, 23);
3454 : 1358 : if (GET_CODE (x25) != CONST_INT)
3455 : : return -1;
3456 : 1358 : x26 = XVECEXP (x1, 0, 24);
3457 : 1358 : if (GET_CODE (x26) != CONST_INT)
3458 : : return -1;
3459 : 1358 : x27 = XVECEXP (x1, 0, 25);
3460 : 1358 : if (GET_CODE (x27) != CONST_INT)
3461 : : return -1;
3462 : 1358 : x28 = XVECEXP (x1, 0, 26);
3463 : 1358 : if (GET_CODE (x28) != CONST_INT)
3464 : : return -1;
3465 : 1358 : x29 = XVECEXP (x1, 0, 27);
3466 : 1358 : if (GET_CODE (x29) != CONST_INT)
3467 : : return -1;
3468 : 1358 : x30 = XVECEXP (x1, 0, 28);
3469 : 1358 : if (GET_CODE (x30) != CONST_INT)
3470 : : return -1;
3471 : 1358 : x31 = XVECEXP (x1, 0, 29);
3472 : 1358 : if (GET_CODE (x31) != CONST_INT)
3473 : : return -1;
3474 : 1358 : x32 = XVECEXP (x1, 0, 30);
3475 : 1358 : if (GET_CODE (x32) != CONST_INT)
3476 : : return -1;
3477 : 1358 : x33 = XVECEXP (x1, 0, 31);
3478 : 1358 : if (GET_CODE (x33) != CONST_INT)
3479 : 0 : return -1;
3480 : : return 0;
3481 : : }
3482 : :
3483 : : int
3484 : 635 : pattern910 (rtx x1, machine_mode i1, machine_mode i2)
3485 : : {
3486 : 635 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3487 : 635 : rtx x2;
3488 : 635 : int res ATTRIBUTE_UNUSED;
3489 : 635 : if (!register_operand (operands[0], i1)
3490 : 635 : || GET_MODE (x1) != i1)
3491 : : return -1;
3492 : 604 : x2 = XEXP (x1, 0);
3493 : 604 : if (GET_MODE (x2) != i2
3494 : 604 : || !nonimmediate_operand (operands[1], i1))
3495 : 25 : return -1;
3496 : : return 0;
3497 : : }
3498 : :
3499 : : int
3500 : 66203 : pattern913 (rtx x1, machine_mode i1)
3501 : : {
3502 : 66203 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3503 : 66203 : int res ATTRIBUTE_UNUSED;
3504 : 66203 : if (!register_operand (operands[0], i1)
3505 : 65713 : || GET_MODE (x1) != i1
3506 : 65713 : || !bcst_vector_operand (operands[1], i1)
3507 : 131263 : || !vector_all_ones_operand (operands[2], i1))
3508 : 62003 : return -1;
3509 : : return 0;
3510 : : }
3511 : :
3512 : : int
3513 : 64 : pattern918 (rtx x1, int *pnum_clobbers)
3514 : : {
3515 : 64 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3516 : 64 : rtx x2, x3, x4, x5, x6;
3517 : 64 : int res ATTRIBUTE_UNUSED;
3518 : 64 : x2 = XVECEXP (x1, 0, 0);
3519 : 64 : x3 = XEXP (x2, 1);
3520 : 64 : x4 = XEXP (x3, 0);
3521 : 64 : x5 = XEXP (x4, 0);
3522 : 64 : operands[1] = x5;
3523 : 64 : if (!nonimmediate_operand (operands[1], E_SImode))
3524 : : return -1;
3525 : 24 : x6 = XVECEXP (x1, 0, 1);
3526 : 24 : return pattern804 (x6, pnum_clobbers); /* [-1, 1] */
3527 : : }
3528 : :
3529 : : int
3530 : 231 : pattern924 (rtx x1)
3531 : : {
3532 : 231 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3533 : 231 : rtx x2, x3, x4, x5;
3534 : 231 : int res ATTRIBUTE_UNUSED;
3535 : 231 : x2 = XEXP (x1, 0);
3536 : 231 : x3 = XEXP (x2, 1);
3537 : 231 : x4 = XEXP (x3, 1);
3538 : 231 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3539 : : return -1;
3540 : 231 : x5 = XEXP (x3, 0);
3541 : 231 : operands[3] = x5;
3542 : 231 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
3543 : : return -1;
3544 : 231 : switch (GET_MODE (operands[0]))
3545 : : {
3546 : 0 : case E_QImode:
3547 : 0 : return pattern922 (x1,
3548 : 0 : E_QImode); /* [-1, 0] */
3549 : :
3550 : 0 : case E_HImode:
3551 : 0 : if (pattern922 (x1,
3552 : : E_HImode) != 0)
3553 : : return -1;
3554 : : return 1;
3555 : :
3556 : 167 : case E_SImode:
3557 : 167 : if (pattern923 (x1,
3558 : : E_SImode) != 0)
3559 : : return -1;
3560 : : return 2;
3561 : :
3562 : 64 : case E_DImode:
3563 : 64 : if (pattern923 (x1,
3564 : : E_DImode) != 0)
3565 : : return -1;
3566 : : return 3;
3567 : :
3568 : : default:
3569 : : return -1;
3570 : : }
3571 : : }
3572 : :
3573 : : int
3574 : 4788297 : pattern939 (rtx x1, machine_mode i1)
3575 : : {
3576 : 4788297 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3577 : 4788297 : rtx x2, x3;
3578 : 4788297 : int res ATTRIBUTE_UNUSED;
3579 : 4788297 : if (!immediate_operand (operands[1], i1)
3580 : 4788297 : || GET_CODE (x1) != SET)
3581 : : return -1;
3582 : 3779676 : x2 = XEXP (x1, 0);
3583 : 3779676 : operands[2] = x2;
3584 : 3779676 : if (!mask_reg_operand (operands[2], i1))
3585 : : return -1;
3586 : 2030 : x3 = XEXP (x1, 1);
3587 : 2030 : if (!rtx_equal_p (x3, operands[0]))
3588 : : return -1;
3589 : : return 0;
3590 : : }
3591 : :
3592 : : int
3593 : 9543 : pattern946 ()
3594 : : {
3595 : 9543 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3596 : 9543 : int res ATTRIBUTE_UNUSED;
3597 : 9543 : switch (GET_MODE (operands[0]))
3598 : : {
3599 : 202 : case E_QImode:
3600 : 202 : if (!register_operand (operands[0], E_QImode)
3601 : 202 : || !register_operand (operands[1], E_QImode))
3602 : 1 : return -1;
3603 : : return 0;
3604 : :
3605 : 8910 : case E_HImode:
3606 : 8910 : if (!register_operand (operands[0], E_HImode)
3607 : 8910 : || !register_operand (operands[1], E_HImode))
3608 : 8709 : return -1;
3609 : : return 1;
3610 : :
3611 : 202 : case E_SImode:
3612 : 202 : if (!register_operand (operands[0], E_SImode)
3613 : 202 : || !register_operand (operands[1], E_SImode))
3614 : 1 : return -1;
3615 : : return 2;
3616 : :
3617 : 214 : case E_DImode:
3618 : 214 : if (!register_operand (operands[0], E_DImode)
3619 : 214 : || !register_operand (operands[1], E_DImode))
3620 : 12 : return -1;
3621 : : return 3;
3622 : :
3623 : : default:
3624 : : return -1;
3625 : : }
3626 : : }
3627 : :
3628 : : int
3629 : 4 : pattern952 (rtx x1)
3630 : : {
3631 : 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3632 : 4 : rtx x2, x3;
3633 : 4 : int res ATTRIBUTE_UNUSED;
3634 : 4 : x2 = XEXP (x1, 0);
3635 : 4 : switch (GET_MODE (x2))
3636 : : {
3637 : 0 : case E_HImode:
3638 : 0 : x3 = XEXP (x1, 1);
3639 : 0 : if (GET_MODE (x3) != E_HImode
3640 : 0 : || !register_operand (operands[1], E_HImode))
3641 : 0 : return -1;
3642 : : return 0;
3643 : :
3644 : 4 : case E_SImode:
3645 : 4 : x3 = XEXP (x1, 1);
3646 : 4 : if (GET_MODE (x3) != E_SImode
3647 : 4 : || !register_operand (operands[1], E_SImode))
3648 : 4 : return -1;
3649 : : return 1;
3650 : :
3651 : 0 : case E_DImode:
3652 : 0 : x3 = XEXP (x1, 1);
3653 : 0 : if (GET_MODE (x3) != E_DImode
3654 : 0 : || !register_operand (operands[1], E_DImode))
3655 : 0 : return -1;
3656 : : return 2;
3657 : :
3658 : : default:
3659 : : return -1;
3660 : : }
3661 : : }
3662 : :
3663 : : int
3664 : 103597 : pattern957 (rtx x1)
3665 : : {
3666 : 103597 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3667 : 103597 : int res ATTRIBUTE_UNUSED;
3668 : 103597 : if (!nonimmediate_operand (operands[0], E_SFmode)
3669 : 103597 : || GET_MODE (x1) != E_SFmode)
3670 : : return -1;
3671 : 103399 : switch (GET_MODE (operands[1]))
3672 : : {
3673 : 12151 : case E_V2SFmode:
3674 : 12151 : if (!nonimmediate_operand (operands[1], E_V2SFmode))
3675 : : return -1;
3676 : : return 0;
3677 : :
3678 : 91084 : case E_V4SFmode:
3679 : 91084 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3680 : : return -1;
3681 : : return 1;
3682 : :
3683 : : default:
3684 : : return -1;
3685 : : }
3686 : : }
3687 : :
3688 : : int
3689 : 278353 : pattern960 (rtx x1)
3690 : : {
3691 : 278353 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3692 : 278353 : rtx x2, x3, x4;
3693 : 278353 : int res ATTRIBUTE_UNUSED;
3694 : 278353 : x2 = XEXP (x1, 1);
3695 : 278353 : x3 = XVECEXP (x2, 0, 0);
3696 : 278353 : switch (XWINT (x3, 0))
3697 : : {
3698 : 136172 : case 0L:
3699 : 136172 : x4 = XVECEXP (x2, 0, 1);
3700 : 136172 : if (XWINT (x4, 0) != 2L)
3701 : : return -1;
3702 : 135944 : switch (GET_MODE (operands[0]))
3703 : : {
3704 : 4660 : case E_V2SFmode:
3705 : 4660 : return pattern259 (x1,
3706 : : E_V2SFmode,
3707 : 4660 : E_V4SFmode); /* [-1, 0] */
3708 : :
3709 : 13175 : case E_V2SImode:
3710 : 13175 : if (pattern260 (x1,
3711 : : E_V2SImode,
3712 : : E_V4SImode) != 0)
3713 : : return -1;
3714 : : return 1;
3715 : :
3716 : : default:
3717 : : return -1;
3718 : : }
3719 : :
3720 : 138732 : case 1L:
3721 : 138732 : x4 = XVECEXP (x2, 0, 1);
3722 : 138732 : if (XWINT (x4, 0) != 3L)
3723 : : return -1;
3724 : 94026 : switch (GET_MODE (operands[0]))
3725 : : {
3726 : 2253 : case E_V2SFmode:
3727 : 2253 : if (pattern259 (x1,
3728 : : E_V2SFmode,
3729 : : E_V4SFmode) != 0)
3730 : : return -1;
3731 : : return 2;
3732 : :
3733 : 7062 : case E_V2SImode:
3734 : 7062 : if (pattern260 (x1,
3735 : : E_V2SImode,
3736 : : E_V4SImode) != 0)
3737 : : return -1;
3738 : : return 3;
3739 : :
3740 : : default:
3741 : : return -1;
3742 : : }
3743 : :
3744 : : default:
3745 : : return -1;
3746 : : }
3747 : : }
3748 : :
3749 : : int
3750 : 1659 : pattern971 (rtx x1)
3751 : : {
3752 : 1659 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3753 : 1659 : rtx x2, x3;
3754 : 1659 : int res ATTRIBUTE_UNUSED;
3755 : 1659 : x2 = XEXP (x1, 1);
3756 : 1659 : operands[3] = x2;
3757 : 1659 : switch (GET_MODE (operands[0]))
3758 : : {
3759 : 153 : case E_DImode:
3760 : 153 : if (!register_operand (operands[0], E_DImode)
3761 : 153 : || GET_MODE (x1) != E_DImode)
3762 : : return -1;
3763 : 145 : x3 = XEXP (x1, 0);
3764 : 145 : if (GET_MODE (x3) != E_DImode
3765 : 145 : || !nonimm_or_0_operand (operands[1], E_V64QImode)
3766 : 145 : || !nonimm_or_0_operand (operands[2], E_V64QImode)
3767 : 290 : || !register_operand (operands[3], E_DImode))
3768 : 74 : return -1;
3769 : : return 0;
3770 : :
3771 : 370 : case E_SImode:
3772 : 370 : if (!register_operand (operands[0], E_SImode)
3773 : 370 : || GET_MODE (x1) != E_SImode)
3774 : : return -1;
3775 : 350 : x3 = XEXP (x1, 0);
3776 : 350 : if (GET_MODE (x3) != E_SImode
3777 : 350 : || !register_operand (operands[3], E_SImode))
3778 : 212 : return -1;
3779 : 138 : switch (GET_MODE (operands[1]))
3780 : : {
3781 : 67 : case E_V32QImode:
3782 : 67 : if (!nonimm_or_0_operand (operands[1], E_V32QImode)
3783 : 67 : || !nonimm_or_0_operand (operands[2], E_V32QImode))
3784 : 0 : return -1;
3785 : : return 1;
3786 : :
3787 : 67 : case E_V32HImode:
3788 : 67 : if (!nonimm_or_0_operand (operands[1], E_V32HImode)
3789 : 67 : || !nonimm_or_0_operand (operands[2], E_V32HImode))
3790 : 0 : return -1;
3791 : : return 2;
3792 : :
3793 : : default:
3794 : : return -1;
3795 : : }
3796 : :
3797 : : default:
3798 : : return -1;
3799 : : }
3800 : : }
3801 : :
3802 : : int
3803 : 2496 : pattern981 (rtx x1, machine_mode i1, machine_mode i2)
3804 : : {
3805 : 2496 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3806 : 2496 : rtx x2;
3807 : 2496 : int res ATTRIBUTE_UNUSED;
3808 : 2496 : if (!register_operand (operands[0], i1)
3809 : 2496 : || GET_MODE (x1) != i1)
3810 : : return -1;
3811 : 2320 : x2 = XEXP (x1, 0);
3812 : 2320 : if (GET_MODE (x2) != i1
3813 : 2320 : || !vector_operand (operands[1], i1)
3814 : 2320 : || !nonimm_or_0_operand (operands[2], i1)
3815 : 4597 : || !register_operand (operands[3], i2))
3816 : 147 : return -1;
3817 : : return 0;
3818 : : }
3819 : :
3820 : : int
3821 : 101936 : pattern990 (rtx x1, machine_mode i1, machine_mode i2)
3822 : : {
3823 : 101936 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3824 : 101936 : rtx x2;
3825 : 101936 : int res ATTRIBUTE_UNUSED;
3826 : 101936 : if (!nonimmediate_operand (operands[0], i1)
3827 : 101936 : || GET_MODE (x1) != i1)
3828 : : return -1;
3829 : 101926 : x2 = XEXP (x1, 0);
3830 : 101926 : if (GET_MODE (x2) != i1
3831 : 101926 : || !general_operand (operands[2], i2)
3832 : 195681 : || !nonimm_or_0_operand (operands[1], i1))
3833 : 8243 : return -1;
3834 : : return 0;
3835 : : }
3836 : :
3837 : : int
3838 : 2372 : pattern997 (rtx x1, machine_mode i1)
3839 : : {
3840 : 2372 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3841 : 2372 : int res ATTRIBUTE_UNUSED;
3842 : 2372 : if (!register_operand (operands[0], i1)
3843 : 2258 : || GET_MODE (x1) != i1
3844 : 2258 : || !sse_comparison_operator (operands[3], i1)
3845 : 2258 : || !register_operand (operands[1], i1)
3846 : 4630 : || !nonimmediate_operand (operands[2], i1))
3847 : 114 : return -1;
3848 : : return 0;
3849 : : }
3850 : :
3851 : : int
3852 : 439 : pattern1004 (rtx x1, machine_mode i1, machine_mode i2)
3853 : : {
3854 : 439 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3855 : 439 : rtx x2;
3856 : 439 : int res ATTRIBUTE_UNUSED;
3857 : 439 : if (!register_operand (operands[0], i2)
3858 : 439 : || GET_MODE (x1) != i2)
3859 : : return -1;
3860 : 423 : x2 = XVECEXP (x1, 0, 0);
3861 : 423 : if (GET_MODE (x2) != i2
3862 : 423 : || !register_operand (operands[1], i1))
3863 : 24 : return -1;
3864 : : return 0;
3865 : : }
3866 : :
3867 : : int
3868 : 363 : pattern1010 (rtx x1)
3869 : : {
3870 : 363 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3871 : 363 : rtx x2;
3872 : 363 : int res ATTRIBUTE_UNUSED;
3873 : 363 : if (!const48_operand (operands[2], E_SImode))
3874 : : return -1;
3875 : 363 : switch (GET_MODE (operands[0]))
3876 : : {
3877 : 70 : case E_V16SImode:
3878 : 70 : return pattern1004 (x1,
3879 : : E_V16SFmode,
3880 : 70 : E_V16SImode); /* [-1, 0] */
3881 : :
3882 : 69 : case E_V8SImode:
3883 : 69 : if (pattern1004 (x1,
3884 : : E_V8DFmode,
3885 : : E_V8SImode) != 0)
3886 : : return -1;
3887 : : return 1;
3888 : :
3889 : 184 : case E_V8DImode:
3890 : 184 : if (!register_operand (operands[0], E_V8DImode)
3891 : 184 : || GET_MODE (x1) != E_V8DImode)
3892 : : return -1;
3893 : 164 : x2 = XVECEXP (x1, 0, 0);
3894 : 164 : if (GET_MODE (x2) != E_V8DImode)
3895 : : return -1;
3896 : 164 : switch (GET_MODE (operands[1]))
3897 : : {
3898 : 82 : case E_V8DFmode:
3899 : 82 : if (!register_operand (operands[1], E_V8DFmode))
3900 : : return -1;
3901 : : return 2;
3902 : :
3903 : 82 : case E_V8SFmode:
3904 : 82 : if (!register_operand (operands[1], E_V8SFmode))
3905 : : return -1;
3906 : : return 3;
3907 : :
3908 : : default:
3909 : : return -1;
3910 : : }
3911 : :
3912 : : default:
3913 : : return -1;
3914 : : }
3915 : : }
3916 : :
3917 : : int
3918 : 44829 : pattern1026 (rtx x1)
3919 : : {
3920 : 44829 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3921 : 44829 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3922 : 44829 : rtx x10;
3923 : 44829 : int res ATTRIBUTE_UNUSED;
3924 : 44829 : x2 = XEXP (x1, 1);
3925 : 44829 : x3 = XEXP (x2, 0);
3926 : 44829 : switch (GET_CODE (x3))
3927 : : {
3928 : 618 : case PLUS:
3929 : 618 : return pattern1023 (x1); /* [-1, 0] */
3930 : :
3931 : 107 : case MINUS:
3932 : 107 : if (pattern1023 (x1) != 0)
3933 : : return -1;
3934 : : return 1;
3935 : :
3936 : 7472 : case AND:
3937 : 7472 : if (pattern1023 (x1) != 0)
3938 : : return -1;
3939 : : return 2;
3940 : :
3941 : 12799 : case IOR:
3942 : 12799 : if (pattern1023 (x1) != 0)
3943 : : return -1;
3944 : : return 3;
3945 : :
3946 : 749 : case XOR:
3947 : 749 : if (pattern1023 (x1) != 0)
3948 : : return -1;
3949 : : return 4;
3950 : :
3951 : 9 : case NEG:
3952 : 9 : if (GET_MODE (x3) != E_QImode)
3953 : : return -1;
3954 : 9 : x4 = XEXP (x3, 0);
3955 : 9 : if (GET_CODE (x4) != SUBREG
3956 : 9 : || maybe_ne (SUBREG_BYTE (x4), 0)
3957 : 18 : || GET_MODE (x4) != E_QImode)
3958 : : return -1;
3959 : 9 : x5 = XEXP (x4, 0);
3960 : 9 : switch (GET_CODE (x5))
3961 : : {
3962 : 9 : case ASHIFTRT:
3963 : 9 : case LSHIFTRT:
3964 : 9 : case SIGN_EXTRACT:
3965 : 9 : case ZERO_EXTRACT:
3966 : 9 : operands[2] = x5;
3967 : 9 : x6 = XEXP (x1, 0);
3968 : 9 : if (GET_CODE (x6) != ZERO_EXTRACT)
3969 : : return -1;
3970 : 9 : x7 = XEXP (x6, 1);
3971 : 9 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3972 : : return -1;
3973 : 9 : x8 = XEXP (x6, 2);
3974 : 9 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3975 : : return -1;
3976 : 9 : x9 = XEXP (x6, 0);
3977 : 9 : operands[0] = x9;
3978 : 9 : if (!int248_register_operand (operands[0], E_VOIDmode))
3979 : : return -1;
3980 : 9 : x10 = XEXP (x5, 0);
3981 : 9 : operands[1] = x10;
3982 : 9 : if (!int248_register_operand (operands[1], E_VOIDmode))
3983 : : return -1;
3984 : 9 : switch (GET_MODE (x6))
3985 : : {
3986 : 3 : case E_HImode:
3987 : 3 : if (GET_MODE (x2) != E_HImode
3988 : 3 : || !extract_high_operator (operands[2], E_HImode))
3989 : 0 : return -1;
3990 : : return 5;
3991 : :
3992 : 6 : case E_SImode:
3993 : 6 : if (GET_MODE (x2) != E_SImode
3994 : 6 : || !extract_high_operator (operands[2], E_SImode))
3995 : 0 : return -1;
3996 : : return 6;
3997 : :
3998 : 0 : case E_DImode:
3999 : 0 : if (GET_MODE (x2) != E_DImode
4000 : 0 : || !extract_high_operator (operands[2], E_DImode))
4001 : 0 : return -1;
4002 : : return 7;
4003 : :
4004 : : default:
4005 : : return -1;
4006 : : }
4007 : :
4008 : : default:
4009 : : return -1;
4010 : : }
4011 : :
4012 : 9 : case ASHIFT:
4013 : 9 : if (GET_MODE (x3) != E_QImode)
4014 : : return -1;
4015 : 9 : res = pattern1025 (x1);
4016 : 9 : if (res >= 0)
4017 : 9 : return res + 8; /* [8, 10] */
4018 : : return -1;
4019 : :
4020 : : case LSHIFTRT:
4021 : : return 11;
4022 : :
4023 : 1733 : case ASHIFTRT:
4024 : 1733 : return 12;
4025 : :
4026 : : default:
4027 : : return -1;
4028 : : }
4029 : : }
4030 : :
4031 : : int
4032 : 248 : pattern1050 (rtx x1)
4033 : : {
4034 : 248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4035 : 248 : rtx x2, x3, x4, x5;
4036 : 248 : int res ATTRIBUTE_UNUSED;
4037 : 248 : x2 = XVECEXP (x1, 0, 1);
4038 : 248 : x3 = XEXP (x2, 0);
4039 : 248 : if (GET_CODE (x3) != REG
4040 : 248 : || REGNO (x3) != 17
4041 : 156 : || GET_MODE (x3) != E_CCmode
4042 : 404 : || !register_operand (operands[1], E_XFmode))
4043 : 138 : return -1;
4044 : 110 : x4 = XVECEXP (x1, 0, 0);
4045 : 110 : x5 = XEXP (x4, 1);
4046 : 110 : return pattern535 (x5); /* [-1, 2] */
4047 : : }
4048 : :
4049 : : int
4050 : 2726 : pattern1055 (rtx x1)
4051 : : {
4052 : 2726 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4053 : 2726 : rtx x2, x3, x4;
4054 : 2726 : int res ATTRIBUTE_UNUSED;
4055 : 2726 : if (GET_MODE (x1) != E_DImode)
4056 : : return -1;
4057 : 2726 : x2 = XEXP (x1, 1);
4058 : 2726 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
4059 : : return -1;
4060 : 2726 : x3 = XEXP (x1, 0);
4061 : 2726 : operands[0] = x3;
4062 : 2726 : if (!nonimmediate_operand (operands[0], E_DImode))
4063 : : return -1;
4064 : 2726 : x4 = XEXP (x1, 2);
4065 : 2726 : operands[1] = x4;
4066 : 2726 : if (!const_0_to_63_operand (operands[1], E_QImode))
4067 : : return -1;
4068 : : return 0;
4069 : : }
4070 : :
4071 : : int
4072 : 41261 : pattern1059 (rtx x1)
4073 : : {
4074 : 41261 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4075 : 41261 : rtx x2, x3, x4, x5;
4076 : 41261 : int res ATTRIBUTE_UNUSED;
4077 : 41261 : if (!int248_register_operand (operands[2], E_VOIDmode))
4078 : : return -1;
4079 : 38235 : x2 = XEXP (x1, 1);
4080 : 38235 : x3 = XEXP (x2, 1);
4081 : 38235 : operands[1] = x3;
4082 : 38235 : if (!nonimmediate_operand (operands[1], E_QImode))
4083 : : return -1;
4084 : 16231 : x4 = XEXP (x1, 0);
4085 : 16231 : switch (GET_CODE (x4))
4086 : : {
4087 : 30 : case STRICT_LOW_PART:
4088 : 30 : x5 = XEXP (x4, 0);
4089 : 30 : operands[0] = x5;
4090 : 30 : if (!register_operand (operands[0], E_QImode))
4091 : : return -1;
4092 : 30 : return pattern1058 (); /* [-1, 2] */
4093 : :
4094 : 16201 : case REG:
4095 : 16201 : case SUBREG:
4096 : 16201 : case MEM:
4097 : 16201 : operands[0] = x4;
4098 : 16201 : if (!nonimmediate_operand (operands[0], E_QImode))
4099 : : return -1;
4100 : 16201 : res = pattern1058 ();
4101 : 16201 : if (res >= 0)
4102 : 124 : return res + 3; /* [3, 5] */
4103 : : return -1;
4104 : :
4105 : : default:
4106 : : return -1;
4107 : : }
4108 : : }
4109 : :
4110 : : int
4111 : 6471 : pattern1072 (rtx x1, machine_mode i1)
4112 : : {
4113 : 6471 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4114 : 6471 : int res ATTRIBUTE_UNUSED;
4115 : 6471 : if (!nonimmediate_operand (operands[0], i1)
4116 : 6471 : || GET_MODE (x1) != i1
4117 : 6471 : || !ix86_carry_flag_operator (operands[2], i1)
4118 : 12942 : || !nonimmediate_operand (operands[1], i1))
4119 : 1113 : return -1;
4120 : : return 0;
4121 : : }
4122 : :
4123 : : int
4124 : 14 : pattern1081 (rtx x1, machine_mode i1)
4125 : : {
4126 : 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4127 : 14 : rtx x2, x3;
4128 : 14 : int res ATTRIBUTE_UNUSED;
4129 : 14 : if (!register_operand (operands[0], i1)
4130 : 14 : || GET_MODE (x1) != i1)
4131 : : return -1;
4132 : 14 : x2 = XEXP (x1, 0);
4133 : 14 : if (GET_MODE (x2) != i1)
4134 : : return -1;
4135 : 14 : x3 = XEXP (x2, 0);
4136 : 14 : if (GET_MODE (x3) != i1
4137 : 14 : || !register_operand (operands[1], i1))
4138 : 10 : return -1;
4139 : : return 0;
4140 : : }
4141 : :
4142 : : int
4143 : 44 : pattern1086 (rtx x1)
4144 : : {
4145 : 44 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4146 : 44 : rtx x2, x3, x4;
4147 : 44 : int res ATTRIBUTE_UNUSED;
4148 : 44 : x2 = XEXP (x1, 0);
4149 : 44 : x3 = XEXP (x2, 0);
4150 : 44 : operands[1] = x3;
4151 : 44 : x4 = XEXP (x2, 1);
4152 : 44 : operands[2] = x4;
4153 : 44 : if (!const_int_operand (operands[2], E_QImode))
4154 : : return -1;
4155 : 44 : switch (GET_MODE (x1))
4156 : : {
4157 : 14 : case E_V8SFmode:
4158 : 14 : if (GET_MODE (x2) != E_V8SImode
4159 : 14 : || !register_operand (operands[1], E_V8SImode))
4160 : 0 : return -1;
4161 : : return 0;
4162 : :
4163 : 16 : case E_V4SFmode:
4164 : 16 : if (GET_MODE (x2) != E_V4SImode
4165 : 16 : || !register_operand (operands[1], E_V4SImode))
4166 : 0 : return -1;
4167 : : return 1;
4168 : :
4169 : 0 : case E_V4DFmode:
4170 : 0 : if (GET_MODE (x2) != E_V4DImode
4171 : 0 : || !register_operand (operands[1], E_V4DImode))
4172 : 0 : return -1;
4173 : : return 2;
4174 : :
4175 : 14 : case E_V2DFmode:
4176 : 14 : if (GET_MODE (x2) != E_V2DImode
4177 : 14 : || !register_operand (operands[1], E_V2DImode))
4178 : 0 : return -1;
4179 : : return 3;
4180 : :
4181 : : default:
4182 : : return -1;
4183 : : }
4184 : : }
4185 : :
4186 : : int
4187 : 1395 : pattern1095 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4188 : : {
4189 : 1395 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4190 : 1395 : rtx x2;
4191 : 1395 : int res ATTRIBUTE_UNUSED;
4192 : 1395 : if (!register_operand (operands[0], i2)
4193 : 1395 : || GET_MODE (x1) != i2)
4194 : : return -1;
4195 : 1337 : x2 = XEXP (x1, 0);
4196 : 1337 : if (GET_MODE (x2) != i2
4197 : 1337 : || !register_operand (operands[1], i3)
4198 : 1326 : || !vector_operand (operands[2], i3)
4199 : 1312 : || !nonimm_or_0_operand (operands[3], i2)
4200 : 2603 : || !register_operand (operands[4], i1))
4201 : 141 : return -1;
4202 : : return 0;
4203 : : }
4204 : :
4205 : : int
4206 : 2686 : pattern1101 (rtx x1, machine_mode i1)
4207 : : {
4208 : 2686 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4209 : 2686 : rtx x2, x3;
4210 : 2686 : int res ATTRIBUTE_UNUSED;
4211 : 2686 : if (!register_operand (operands[0], i1)
4212 : 2686 : || GET_MODE (x1) != i1)
4213 : : return -1;
4214 : 2609 : x2 = XEXP (x1, 0);
4215 : 2609 : if (GET_MODE (x2) != i1)
4216 : : return -1;
4217 : 2609 : x3 = XEXP (x2, 0);
4218 : 2609 : if (GET_MODE (x3) != i1
4219 : 2609 : || !register_operand (operands[1], i1)
4220 : 2609 : || !nonimmediate_operand (operands[2], i1)
4221 : 5218 : || !nonimm_or_0_operand (operands[4], i1))
4222 : 11 : return -1;
4223 : : return 0;
4224 : : }
4225 : :
4226 : : int
4227 : 14309 : pattern1109 (rtx x1, machine_mode i1)
4228 : : {
4229 : 14309 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4230 : 14309 : int res ATTRIBUTE_UNUSED;
4231 : 14309 : if (!register_operand (operands[0], i1)
4232 : 14285 : || GET_MODE (x1) != i1
4233 : 14285 : || !nonimmediate_operand (operands[2], i1)
4234 : 12302 : || !register_operand (operands[1], i1)
4235 : 21005 : || !avx2_pblendw_operand (operands[3], E_SImode))
4236 : 7668 : return -1;
4237 : : return 0;
4238 : : }
4239 : :
4240 : : int
4241 : 954 : pattern1115 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4242 : : {
4243 : 954 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4244 : 954 : int res ATTRIBUTE_UNUSED;
4245 : 954 : if (GET_MODE (x1) != i4
4246 : 954 : || !register_operand (operands[1], i3)
4247 : 954 : || !nonimm_or_0_operand (operands[3], i2)
4248 : 1902 : || !register_operand (operands[4], i1))
4249 : 12 : return -1;
4250 : : return 0;
4251 : : }
4252 : :
4253 : : int
4254 : 1696 : pattern1121 (rtx x1)
4255 : : {
4256 : 1696 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4257 : 1696 : rtx x2, x3, x4, x5, x6, x7, x8;
4258 : 1696 : int res ATTRIBUTE_UNUSED;
4259 : 1696 : x2 = XVECEXP (x1, 0, 0);
4260 : 1696 : x3 = XEXP (x2, 0);
4261 : 1696 : x4 = XVECEXP (x3, 0, 2);
4262 : 1696 : operands[3] = x4;
4263 : 1696 : x5 = XVECEXP (x1, 0, 1);
4264 : 1696 : if (!const_4_or_8_to_11_operand (x5, E_SImode))
4265 : : return -1;
4266 : 1696 : x6 = XEXP (x2, 1);
4267 : 1696 : switch (GET_CODE (x6))
4268 : : {
4269 : 448 : case CONST_INT:
4270 : 448 : case CONST_DOUBLE:
4271 : 448 : case CONST_VECTOR:
4272 : 448 : operands[4] = x6;
4273 : 448 : if (!const0_operand (operands[4], E_V32HFmode))
4274 : : return -1;
4275 : 448 : x7 = XEXP (x2, 2);
4276 : 448 : if (GET_CODE (x7) != UNSPEC
4277 : 448 : || XVECLEN (x7, 0) != 1
4278 : 448 : || XINT (x7, 1) != 224
4279 : 448 : || GET_MODE (x7) != E_SImode
4280 : 448 : || !register_operand (operands[0], E_V32HFmode)
4281 : 428 : || GET_MODE (x1) != E_V32HFmode
4282 : 428 : || GET_MODE (x2) != E_V32HFmode
4283 : 428 : || GET_MODE (x3) != E_V32HFmode
4284 : 428 : || !register_operand (operands[1], E_V32HFmode)
4285 : 428 : || !register_operand (operands[2], E_V32HFmode)
4286 : 866 : || !register_operand (operands[3], E_V32HFmode))
4287 : 38 : return -1;
4288 : 410 : x8 = XVECEXP (x7, 0, 0);
4289 : 410 : operands[5] = x8;
4290 : 410 : if (!register_operand (operands[5], E_HImode))
4291 : : return -1;
4292 : 384 : operands[6] = x5;
4293 : 384 : return 0;
4294 : :
4295 : 1232 : case REG:
4296 : 1232 : case SUBREG:
4297 : 1232 : x7 = XEXP (x2, 2);
4298 : 1232 : switch (GET_CODE (x7))
4299 : : {
4300 : 864 : case UNSPEC:
4301 : 864 : if (XVECLEN (x7, 0) != 1
4302 : 864 : || XINT (x7, 1) != 224
4303 : 864 : || GET_MODE (x7) != E_SImode
4304 : 864 : || !register_operand (operands[0], E_V32HFmode)
4305 : 846 : || GET_MODE (x1) != E_V32HFmode
4306 : 846 : || GET_MODE (x2) != E_V32HFmode
4307 : 846 : || GET_MODE (x3) != E_V32HFmode
4308 : 846 : || !register_operand (operands[1], E_V32HFmode)
4309 : 846 : || !register_operand (operands[2], E_V32HFmode)
4310 : 1690 : || !register_operand (operands[3], E_V32HFmode))
4311 : 54 : return -1;
4312 : 810 : x8 = XVECEXP (x7, 0, 0);
4313 : 810 : operands[4] = x8;
4314 : 810 : if (!register_operand (operands[4], E_HImode))
4315 : : return -1;
4316 : 762 : operands[5] = x5;
4317 : 762 : if (!rtx_equal_p (x6, operands[1]))
4318 : : return -1;
4319 : : return 1;
4320 : :
4321 : 368 : case CONST_INT:
4322 : 368 : if (XWINT (x7, 0) != 3L
4323 : 368 : || !register_operand (operands[0], E_V8HFmode)
4324 : 352 : || GET_MODE (x1) != E_V8HFmode
4325 : 352 : || GET_MODE (x2) != E_V8HFmode
4326 : 352 : || GET_MODE (x3) != E_V8HFmode
4327 : 352 : || !register_operand (operands[1], E_V8HFmode)
4328 : 348 : || !register_operand (operands[2], E_V8HFmode)
4329 : 716 : || !register_operand (operands[3], E_V8HFmode))
4330 : 28 : return -1;
4331 : 340 : operands[4] = x5;
4332 : 340 : if (!rtx_equal_p (x6, operands[2]))
4333 : : return -1;
4334 : : return 2;
4335 : :
4336 : : default:
4337 : : return -1;
4338 : : }
4339 : :
4340 : : default:
4341 : : return -1;
4342 : : }
4343 : : }
4344 : :
4345 : : int
4346 : 18567255 : pattern1164 (rtx x1)
4347 : : {
4348 : 18567255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4349 : 18567255 : rtx x2, x3, x4;
4350 : 18567255 : int res ATTRIBUTE_UNUSED;
4351 : 18567255 : x2 = XEXP (x1, 1);
4352 : 18567255 : x3 = XEXP (x2, 1);
4353 : 18567255 : operands[2] = x3;
4354 : 18567255 : x4 = XEXP (x1, 0);
4355 : 18567255 : switch (GET_CODE (x4))
4356 : : {
4357 : 18565785 : case REG:
4358 : 18565785 : case SUBREG:
4359 : 18565785 : case MEM:
4360 : 18565785 : operands[0] = x4;
4361 : 18565785 : return 0;
4362 : :
4363 : 1470 : case STRICT_LOW_PART:
4364 : 1470 : res = pattern542 (x1);
4365 : 1470 : if (res >= 0)
4366 : 1373 : return res + 1; /* [1, 2] */
4367 : : return -1;
4368 : :
4369 : : default:
4370 : : return -1;
4371 : : }
4372 : : }
4373 : :
4374 : : int
4375 : 674 : pattern1173 (rtx x1, machine_mode i1, machine_mode i2)
4376 : : {
4377 : 674 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4378 : 674 : int res ATTRIBUTE_UNUSED;
4379 : 674 : if (!register_operand (operands[0], i2)
4380 : 668 : || GET_MODE (x1) != i2
4381 : 668 : || !const0_operand (operands[2], i2)
4382 : 8 : || !vector_all_ones_operand (operands[3], i2)
4383 : 674 : || !register_operand (operands[1], i1))
4384 : 674 : return -1;
4385 : : return 0;
4386 : : }
4387 : :
4388 : : int
4389 : 2460 : pattern1179 (rtx x1, machine_mode i1)
4390 : : {
4391 : 2460 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4392 : 2460 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4393 : 2460 : rtx x10, x11, x12, x13, x14;
4394 : 2460 : int res ATTRIBUTE_UNUSED;
4395 : 2460 : x2 = XVECEXP (x1, 0, 0);
4396 : 2460 : x3 = XEXP (x2, 1);
4397 : 2460 : x4 = XEXP (x3, 0);
4398 : 2460 : if (GET_MODE (x4) != i1)
4399 : : return -1;
4400 : 2460 : x5 = XVECEXP (x1, 0, 1);
4401 : 2460 : x6 = XEXP (x5, 1);
4402 : 2460 : if (GET_CODE (x6) != PLUS)
4403 : : return -1;
4404 : 2460 : x7 = XEXP (x2, 0);
4405 : 2460 : if (GET_MODE (x7) != E_CCCmode
4406 : 256 : || GET_MODE (x3) != E_CCCmode)
4407 : : return -1;
4408 : 256 : x8 = XEXP (x4, 1);
4409 : 256 : operands[2] = x8;
4410 : 256 : if (!memory_operand (operands[2], i1))
4411 : : return -1;
4412 : 137 : x9 = XEXP (x4, 0);
4413 : 137 : if (!rtx_equal_p (x9, operands[0]))
4414 : : return -1;
4415 : 137 : x10 = XEXP (x3, 1);
4416 : 137 : if (!rtx_equal_p (x10, operands[0]))
4417 : : return -1;
4418 : 137 : x11 = XEXP (x6, 0);
4419 : 137 : if (!rtx_equal_p (x11, operands[0]))
4420 : : return -1;
4421 : 137 : x12 = XEXP (x6, 1);
4422 : 137 : if (!rtx_equal_p (x12, operands[2]))
4423 : : return -1;
4424 : 137 : x13 = PATTERN (peep2_next_insn (2));
4425 : 137 : x14 = XEXP (x13, 0);
4426 : 137 : if (!rtx_equal_p (x14, operands[1]))
4427 : : return -1;
4428 : : return 0;
4429 : : }
4430 : :
4431 : : int
4432 : 625 : pattern1189 (rtx x1, machine_mode i1, rtx_code i2, machine_mode i3, rtx_code i4)
4433 : : {
4434 : 625 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4435 : 625 : rtx x2;
4436 : 625 : int res ATTRIBUTE_UNUSED;
4437 : 625 : if (GET_CODE (x1) != i4
4438 : 625 : || GET_MODE (x1) != i3)
4439 : : return -1;
4440 : 625 : x2 = XEXP (x1, 0);
4441 : 625 : if (GET_CODE (x2) != i2
4442 : 625 : || GET_MODE (x2) != i1)
4443 : 0 : return -1;
4444 : : return 0;
4445 : : }
4446 : :
4447 : : int
4448 : 7069 : pattern1194 (rtx x1, machine_mode i1)
4449 : : {
4450 : 7069 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4451 : 7069 : int res ATTRIBUTE_UNUSED;
4452 : 7069 : if (!nonimmediate_operand (operands[0], i1)
4453 : 7069 : || GET_MODE (x1) != i1
4454 : 7069 : || !nonimmediate_operand (operands[1], i1)
4455 : 13074 : || !ix86_carry_flag_operator (operands[2], i1))
4456 : 1064 : return -1;
4457 : : return 0;
4458 : : }
4459 : :
4460 : : int
4461 : 963 : pattern1200 (rtx x1, machine_mode i1)
4462 : : {
4463 : 963 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4464 : 963 : rtx x2;
4465 : 963 : int res ATTRIBUTE_UNUSED;
4466 : 963 : if (!register_operand (operands[0], i1)
4467 : 963 : || GET_MODE (x1) != i1)
4468 : : return -1;
4469 : 889 : x2 = XEXP (x1, 0);
4470 : 889 : if (GET_MODE (x2) != i1
4471 : 889 : || !nonimmediate_operand (operands[2], i1)
4472 : 1764 : || !register_operand (operands[1], i1))
4473 : 123 : return -1;
4474 : : return 0;
4475 : : }
4476 : :
4477 : : int
4478 : 1812 : pattern1206 (rtx x1)
4479 : : {
4480 : 1812 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4481 : 1812 : rtx x2, x3, x4, x5, x6, x7, x8;
4482 : 1812 : int res ATTRIBUTE_UNUSED;
4483 : 1812 : x2 = XEXP (x1, 0);
4484 : 1812 : x3 = XEXP (x2, 0);
4485 : 1812 : x4 = XEXP (x3, 0);
4486 : 1812 : x5 = XEXP (x4, 0);
4487 : 1812 : x6 = XEXP (x5, 1);
4488 : 1812 : if (GET_CODE (x6) != PARALLEL
4489 : 1812 : || XVECLEN (x6, 0) != 1)
4490 : : return -1;
4491 : 1812 : x7 = XVECEXP (x6, 0, 0);
4492 : 1812 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4493 : : return -1;
4494 : 1812 : x8 = XEXP (x1, 2);
4495 : 1812 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
4496 : 0 : return -1;
4497 : : return 0;
4498 : : }
4499 : :
4500 : : int
4501 : 46 : pattern1214 (rtx x1)
4502 : : {
4503 : 46 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4504 : 46 : rtx x2, x3, x4, x5, x6, x7;
4505 : 46 : int res ATTRIBUTE_UNUSED;
4506 : 46 : x2 = XVECEXP (x1, 0, 2);
4507 : 46 : x3 = XEXP (x2, 0);
4508 : 46 : x4 = XEXP (x3, 0);
4509 : 46 : if (maybe_ne (SUBREG_BYTE (x4), 0))
4510 : : return -1;
4511 : 46 : x5 = XEXP (x4, 0);
4512 : 46 : if (GET_CODE (x5) != NOT)
4513 : : return -1;
4514 : 9 : x6 = XEXP (x5, 0);
4515 : 9 : operands[3] = x6;
4516 : 9 : x7 = XEXP (x3, 1);
4517 : 9 : operands[4] = x7;
4518 : 9 : switch (GET_MODE (operands[0]))
4519 : : {
4520 : 9 : case E_V16QImode:
4521 : 9 : if (!register_operand (operands[0], E_V16QImode)
4522 : 9 : || GET_MODE (x1) != E_V16QImode
4523 : 9 : || !vector_operand (operands[1], E_V16QImode)
4524 : 9 : || !register_operand (operands[2], E_V16QImode)
4525 : 9 : || GET_MODE (x2) != E_V16QImode
4526 : 9 : || GET_MODE (x5) != E_V16QImode
4527 : 18 : || !register_operand (operands[3], E_V16QImode))
4528 : 0 : return -1;
4529 : 9 : switch (GET_MODE (x3))
4530 : : {
4531 : 9 : case E_V4SImode:
4532 : 9 : if (GET_MODE (x4) != E_V4SImode
4533 : 9 : || !vector_all_ones_operand (operands[4], E_V4SImode))
4534 : 0 : return -1;
4535 : : return 0;
4536 : :
4537 : 0 : case E_V2DImode:
4538 : 0 : if (GET_MODE (x4) != E_V2DImode
4539 : 0 : || !vector_all_ones_operand (operands[4], E_V2DImode))
4540 : 0 : return -1;
4541 : : return 1;
4542 : :
4543 : : default:
4544 : : return -1;
4545 : : }
4546 : :
4547 : 0 : case E_V32QImode:
4548 : 0 : if (!register_operand (operands[0], E_V32QImode)
4549 : 0 : || GET_MODE (x1) != E_V32QImode
4550 : 0 : || !vector_operand (operands[1], E_V32QImode)
4551 : 0 : || !register_operand (operands[2], E_V32QImode)
4552 : 0 : || GET_MODE (x2) != E_V32QImode
4553 : 0 : || GET_MODE (x5) != E_V32QImode
4554 : 0 : || !register_operand (operands[3], E_V32QImode))
4555 : 0 : return -1;
4556 : 0 : switch (GET_MODE (x3))
4557 : : {
4558 : 0 : case E_V8SImode:
4559 : 0 : if (GET_MODE (x4) != E_V8SImode
4560 : 0 : || !vector_all_ones_operand (operands[4], E_V8SImode))
4561 : 0 : return -1;
4562 : : return 2;
4563 : :
4564 : 0 : case E_V4DImode:
4565 : 0 : if (GET_MODE (x4) != E_V4DImode
4566 : 0 : || !vector_all_ones_operand (operands[4], E_V4DImode))
4567 : 0 : return -1;
4568 : : return 3;
4569 : :
4570 : : default:
4571 : : return -1;
4572 : : }
4573 : :
4574 : : default:
4575 : : return -1;
4576 : : }
4577 : : }
4578 : :
4579 : : int
4580 : 12661 : pattern1238 (rtx x1)
4581 : : {
4582 : 12661 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4583 : 12661 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4584 : 12661 : int res ATTRIBUTE_UNUSED;
4585 : 12661 : x2 = XVECEXP (x1, 0, 1);
4586 : 12661 : if (GET_CODE (x2) != CLOBBER)
4587 : : return -1;
4588 : 12661 : x3 = XVECEXP (x1, 0, 2);
4589 : 12661 : if (GET_CODE (x3) != CLOBBER)
4590 : : return -1;
4591 : 12661 : x4 = XVECEXP (x1, 0, 3);
4592 : 12661 : x5 = XEXP (x4, 0);
4593 : 12661 : if (GET_CODE (x5) != REG
4594 : 12661 : || REGNO (x5) != 17
4595 : 12661 : || GET_MODE (x5) != E_CCmode
4596 : 25322 : || !register_operand (operands[0], E_SImode))
4597 : 0 : return -1;
4598 : 12661 : x6 = XVECEXP (x1, 0, 0);
4599 : 12661 : x7 = XEXP (x6, 1);
4600 : 12661 : x8 = XVECEXP (x7, 0, 0);
4601 : 12661 : operands[1] = x8;
4602 : 12661 : if (!register_operand (operands[1], E_SImode))
4603 : : return -1;
4604 : 12121 : x9 = XVECEXP (x7, 0, 1);
4605 : 12121 : operands[2] = x9;
4606 : 12121 : return 0;
4607 : : }
4608 : :
4609 : : int
4610 : 5034 : pattern1247 (rtx x1, machine_mode i1)
4611 : : {
4612 : 5034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4613 : 5034 : int res ATTRIBUTE_UNUSED;
4614 : 5034 : if (GET_MODE (x1) != i1
4615 : 5034 : || !fcmov_comparison_operator (operands[1], E_VOIDmode)
4616 : 4982 : || !nonimmediate_operand (operands[2], i1)
4617 : 10016 : || !nonimmediate_operand (operands[3], i1))
4618 : 190 : return -1;
4619 : : return 0;
4620 : : }
4621 : :
4622 : : int
4623 : 3 : pattern1251 (rtx x1, machine_mode i1)
4624 : : {
4625 : 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4626 : 3 : rtx x2, x3;
4627 : 3 : int res ATTRIBUTE_UNUSED;
4628 : 3 : if (!nonimmediate_operand (operands[0], i1)
4629 : 3 : || GET_MODE (x1) != i1)
4630 : : return -1;
4631 : 3 : x2 = XEXP (x1, 0);
4632 : 3 : if (GET_MODE (x2) != i1)
4633 : : return -1;
4634 : 3 : x3 = XEXP (x2, 0);
4635 : 3 : if (GET_MODE (x3) != i1
4636 : 3 : || !nonimmediate_operand (operands[1], i1)
4637 : 6 : || !general_operand (operands[2], i1))
4638 : 0 : return -1;
4639 : : return 0;
4640 : : }
4641 : :
4642 : : int
4643 : 2118 : pattern1258 (rtx x1, machine_mode i1, machine_mode i2)
4644 : : {
4645 : 2118 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4646 : 2118 : rtx x2;
4647 : 2118 : int res ATTRIBUTE_UNUSED;
4648 : 2118 : if (!register_operand (operands[0], i1)
4649 : 2118 : || GET_MODE (x1) != i1)
4650 : : return -1;
4651 : 1969 : x2 = XEXP (x1, 0);
4652 : 1969 : if (GET_MODE (x2) != i1
4653 : 1969 : || !vector_operand (operands[2], i1)
4654 : 3936 : || !register_operand (operands[4], i2))
4655 : 115 : return -1;
4656 : : return 0;
4657 : : }
4658 : :
4659 : : int
4660 : 522 : pattern1266 (rtx x1, machine_mode i1, machine_mode i2)
4661 : : {
4662 : 522 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4663 : 522 : rtx x2, x3;
4664 : 522 : int res ATTRIBUTE_UNUSED;
4665 : 522 : if (!register_operand (operands[0], i1)
4666 : 522 : || GET_MODE (x1) != i1)
4667 : : return -1;
4668 : 513 : x2 = XEXP (x1, 0);
4669 : 513 : if (GET_MODE (x2) != i1)
4670 : : return -1;
4671 : 513 : x3 = XEXP (x2, 0);
4672 : 513 : if (GET_MODE (x3) != i1
4673 : 513 : || !memory_operand (operands[1], i2)
4674 : 510 : || !nonimm_or_0_operand (operands[2], i1)
4675 : 1018 : || !const0_operand (operands[4], i1))
4676 : 8 : return -1;
4677 : : return 0;
4678 : : }
4679 : :
4680 : : int
4681 : 2095 : pattern1274 (rtx x1, machine_mode i1, machine_mode i2)
4682 : : {
4683 : 2095 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4684 : 2095 : rtx x2;
4685 : 2095 : int res ATTRIBUTE_UNUSED;
4686 : 2095 : if (!register_operand (operands[0], i1)
4687 : 2095 : || GET_MODE (x1) != i1)
4688 : : return -1;
4689 : 1965 : x2 = XEXP (x1, 0);
4690 : 1965 : if (GET_MODE (x2) != i1
4691 : 1965 : || !vector_operand (operands[2], i1)
4692 : 3922 : || !register_operand (operands[4], i2))
4693 : 8 : return -1;
4694 : : return 0;
4695 : : }
4696 : :
4697 : : int
4698 : 1943 : pattern1281 (rtx x1, machine_mode i1, machine_mode i2)
4699 : : {
4700 : 1943 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4701 : 1943 : rtx x2, x3, x4;
4702 : 1943 : int res ATTRIBUTE_UNUSED;
4703 : 1943 : if (!register_operand (operands[0], i1)
4704 : 1943 : || GET_MODE (x1) != i1)
4705 : : return -1;
4706 : 1803 : x2 = XEXP (x1, 0);
4707 : 1803 : if (GET_MODE (x2) != i1)
4708 : : return -1;
4709 : 1803 : x3 = XEXP (x2, 0);
4710 : 1803 : if (GET_MODE (x3) != i1
4711 : 1803 : || !vector_operand (operands[2], i1))
4712 : 0 : return -1;
4713 : 1803 : x4 = XEXP (x2, 2);
4714 : 1803 : if (GET_MODE (x4) != i1
4715 : 1803 : || !register_operand (operands[4], i2))
4716 : 0 : return -1;
4717 : : return 0;
4718 : : }
4719 : :
4720 : : int
4721 : 1227 : pattern1290 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4722 : : {
4723 : 1227 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4724 : 1227 : rtx x2, x3;
4725 : 1227 : int res ATTRIBUTE_UNUSED;
4726 : 1227 : x2 = XVECEXP (x1, 0, 0);
4727 : 1227 : x3 = XEXP (x2, 0);
4728 : 1227 : if (GET_MODE (x3) != i2
4729 : 1227 : || !register_operand (operands[0], i2)
4730 : 1218 : || GET_MODE (x1) != i2
4731 : 1218 : || GET_MODE (x2) != i2
4732 : 1218 : || !register_operand (operands[1], i3)
4733 : 1218 : || !nonimm_or_0_operand (operands[2], i2)
4734 : 1217 : || !register_operand (operands[3], i1)
4735 : 2432 : || !const48_operand (operands[4], E_SImode))
4736 : 22 : return -1;
4737 : : return 0;
4738 : : }
4739 : :
4740 : : int
4741 : 253 : pattern1297 (rtx x1, machine_mode i1)
4742 : : {
4743 : 253 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4744 : 253 : rtx x2;
4745 : 253 : int res ATTRIBUTE_UNUSED;
4746 : 253 : if (!register_operand (operands[0], i1)
4747 : 253 : || GET_MODE (x1) != i1)
4748 : : return -1;
4749 : 242 : x2 = XVECEXP (x1, 0, 0);
4750 : 242 : if (GET_MODE (x2) != i1
4751 : 242 : || !register_operand (operands[1], i1)
4752 : 481 : || !nonimmediate_operand (operands[2], i1))
4753 : 3 : return -1;
4754 : : return 0;
4755 : : }
4756 : :
4757 : : int
4758 : 719449 : pattern1301 (rtx x1, machine_mode i1, machine_mode i2)
4759 : : {
4760 : 719449 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4761 : 719449 : rtx x2, x3;
4762 : 719449 : int res ATTRIBUTE_UNUSED;
4763 : 719449 : if (!register_operand (operands[0], i1)
4764 : 719449 : || GET_MODE (x1) != i1)
4765 : : return -1;
4766 : 362623 : x2 = XEXP (x1, 0);
4767 : 362623 : if (GET_MODE (x2) != i2
4768 : 362623 : || !register_operand (operands[1], i1))
4769 : 67611 : return -1;
4770 : 295012 : x3 = XEXP (x2, 1);
4771 : 295012 : operands[2] = x3;
4772 : 295012 : if (!vector_operand (operands[2], i1))
4773 : : return -1;
4774 : : return 0;
4775 : : }
4776 : :
4777 : : int
4778 : 5289 : pattern1306 (rtx x1, machine_mode i1)
4779 : : {
4780 : 5289 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4781 : 5289 : int res ATTRIBUTE_UNUSED;
4782 : 5289 : if (!nonimmediate_operand (operands[1], i1)
4783 : 3002 : || !const_1_to_31_operand (operands[2], E_QImode)
4784 : 1910 : || !nonimmediate_operand (operands[0], i1)
4785 : 7199 : || GET_MODE (x1) != i1)
4786 : 3379 : return -1;
4787 : : return 0;
4788 : : }
4789 : :
4790 : : int
4791 : 2036790 : pattern1311 (rtx x1, machine_mode i1)
4792 : : {
4793 : 2036790 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4794 : 2036790 : int res ATTRIBUTE_UNUSED;
4795 : 2036790 : if (!register_operand (operands[0], i1)
4796 : 2030162 : || GET_MODE (x1) != i1
4797 : 2030162 : || !nonimmediate_operand (operands[1], i1)
4798 : 4055206 : || !x86_64_general_operand (operands[2], i1))
4799 : 115547 : return -1;
4800 : : return 0;
4801 : : }
4802 : :
4803 : : int
4804 : 0 : pattern1318 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4805 : : {
4806 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4807 : 0 : int res ATTRIBUTE_UNUSED;
4808 : 0 : if (!register_operand (operands[0], i3)
4809 : 0 : || GET_MODE (x1) != i3
4810 : 0 : || pattern546 (x1,
4811 : : i1,
4812 : : i2) != 0)
4813 : 0 : return -1;
4814 : : return 0;
4815 : : }
4816 : :
4817 : : int
4818 : 22810 : pattern1324 (rtx x1)
4819 : : {
4820 : 22810 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4821 : 22810 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4822 : 22810 : rtx x10, x11, x12;
4823 : 22810 : int res ATTRIBUTE_UNUSED;
4824 : 22810 : x2 = XEXP (x1, 1);
4825 : 22810 : x3 = XEXP (x2, 1);
4826 : 22810 : if (GET_CODE (x3) != LABEL_REF)
4827 : : return -1;
4828 : 17184 : x4 = XEXP (x2, 2);
4829 : 17184 : if (GET_CODE (x4) != PC)
4830 : : return -1;
4831 : 17184 : x5 = XEXP (x1, 0);
4832 : 17184 : if (GET_CODE (x5) != PC)
4833 : : return -1;
4834 : 17184 : x6 = XEXP (x2, 0);
4835 : 17184 : operands[0] = x6;
4836 : 17184 : x7 = XEXP (x6, 0);
4837 : 17184 : x8 = XEXP (x7, 0);
4838 : 17184 : operands[1] = x8;
4839 : 17184 : x9 = XEXP (x7, 2);
4840 : 17184 : switch (GET_CODE (x9))
4841 : : {
4842 : : case CONST_INT:
4843 : : case CONST_WIDE_INT:
4844 : : case CONST_POLY_INT:
4845 : : case CONST_FIXED:
4846 : : case CONST_DOUBLE:
4847 : : case CONST_VECTOR:
4848 : : case CONST:
4849 : : case REG:
4850 : : case SUBREG:
4851 : : case LABEL_REF:
4852 : : case SYMBOL_REF:
4853 : : case HIGH:
4854 : : return 0;
4855 : :
4856 : 106 : case AND:
4857 : 106 : if (GET_MODE (x9) != E_QImode)
4858 : : return -1;
4859 : 106 : x10 = XEXP (x9, 0);
4860 : 106 : operands[2] = x10;
4861 : 106 : if (!register_operand (operands[2], E_QImode))
4862 : : return -1;
4863 : 56 : x11 = XEXP (x9, 1);
4864 : 56 : operands[3] = x11;
4865 : 56 : if (!const_int_operand (operands[3], E_VOIDmode))
4866 : : return -1;
4867 : 56 : x12 = XEXP (x3, 0);
4868 : 56 : operands[4] = x12;
4869 : 56 : switch (GET_MODE (x7))
4870 : : {
4871 : 18 : case E_SImode:
4872 : 18 : if (!register_operand (operands[1], E_SImode))
4873 : : return -1;
4874 : : return 1;
4875 : :
4876 : 38 : case E_DImode:
4877 : 38 : if (!register_operand (operands[1], E_DImode))
4878 : : return -1;
4879 : : return 2;
4880 : :
4881 : : default:
4882 : : return -1;
4883 : : }
4884 : :
4885 : : default:
4886 : : return -1;
4887 : : }
4888 : : }
4889 : :
4890 : : int
4891 : 766 : pattern1349 (rtx x1)
4892 : : {
4893 : 766 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4894 : 766 : rtx x2, x3, x4, x5, x6, x7, x8;
4895 : 766 : int res ATTRIBUTE_UNUSED;
4896 : 766 : if (!nonimmediate_operand (operands[0], E_DImode))
4897 : : return -1;
4898 : 764 : x2 = XEXP (x1, 1);
4899 : 764 : if (GET_MODE (x2) != E_DImode)
4900 : : return -1;
4901 : 764 : x3 = XEXP (x2, 0);
4902 : 764 : if (GET_MODE (x3) != E_TImode)
4903 : : return -1;
4904 : 764 : x4 = XEXP (x3, 0);
4905 : 764 : if (GET_MODE (x4) != E_TImode)
4906 : : return -1;
4907 : 764 : x5 = XEXP (x4, 0);
4908 : 764 : operands[1] = x5;
4909 : 764 : if (!register_operand (operands[1], E_DImode))
4910 : : return -1;
4911 : 764 : x6 = XEXP (x3, 1);
4912 : 764 : operands[3] = x6;
4913 : 764 : if (!const_0_to_255_operand (operands[3], E_QImode))
4914 : : return -1;
4915 : 764 : x7 = XEXP (x1, 0);
4916 : 764 : x8 = XEXP (x7, 0);
4917 : 764 : if (!rtx_equal_p (x8, operands[0]))
4918 : : return -1;
4919 : : return 0;
4920 : : }
4921 : :
4922 : : int
4923 : 258 : pattern1357 (rtx x1, machine_mode i1, machine_mode i2)
4924 : : {
4925 : 258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4926 : 258 : rtx x2;
4927 : 258 : int res ATTRIBUTE_UNUSED;
4928 : 258 : if (!register_operand (operands[0], i1)
4929 : 258 : || GET_MODE (x1) != i1)
4930 : : return -1;
4931 : 249 : x2 = XEXP (x1, 0);
4932 : 249 : if (GET_MODE (x2) != i1
4933 : 249 : || !register_operand (operands[1], i1)
4934 : 249 : || !register_operand (operands[2], i2)
4935 : 249 : || !nonimmediate_operand (operands[3], i2)
4936 : 498 : || !const0_operand (operands[4], i1))
4937 : 0 : return -1;
4938 : : return 0;
4939 : : }
4940 : :
4941 : : int
4942 : 436 : pattern1365 (rtx x1, machine_mode i1)
4943 : : {
4944 : 436 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4945 : 436 : rtx x2;
4946 : 436 : int res ATTRIBUTE_UNUSED;
4947 : 436 : if (!register_operand (operands[0], i1)
4948 : 436 : || GET_MODE (x1) != i1)
4949 : : return -1;
4950 : 436 : x2 = XEXP (x1, 0);
4951 : 436 : if (GET_MODE (x2) != i1
4952 : 436 : || !nonimmediate_operand (operands[1], i1)
4953 : 436 : || !nonimmediate_operand (operands[2], i1)
4954 : 436 : || !nonimmediate_operand (operands[3], i1)
4955 : 872 : || !const0_operand (operands[4], i1))
4956 : 0 : return -1;
4957 : : return 0;
4958 : : }
4959 : :
4960 : : int
4961 : 40 : pattern1376 (rtx x1, machine_mode i1)
4962 : : {
4963 : 40 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4964 : 40 : rtx x2, x3;
4965 : 40 : int res ATTRIBUTE_UNUSED;
4966 : 40 : if (!register_operand (operands[0], i1)
4967 : 40 : || GET_MODE (x1) != i1)
4968 : : return -1;
4969 : 40 : x2 = XEXP (x1, 0);
4970 : 40 : if (GET_MODE (x2) != i1)
4971 : : return -1;
4972 : 40 : x3 = XEXP (x2, 0);
4973 : 40 : if (GET_MODE (x3) != i1
4974 : 40 : || !nonimmediate_operand (operands[1], i1)
4975 : 40 : || !nonimmediate_operand (operands[2], i1)
4976 : 40 : || !nonimmediate_operand (operands[3], i1)
4977 : 80 : || !const0_operand (operands[4], i1))
4978 : 0 : return -1;
4979 : : return 0;
4980 : : }
4981 : :
4982 : : int
4983 : 1126 : pattern1388 (rtx x1, machine_mode i1)
4984 : : {
4985 : 1126 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4986 : 1126 : rtx x2, x3, x4, x5, x6;
4987 : 1126 : int res ATTRIBUTE_UNUSED;
4988 : 1126 : if (!register_operand (operands[0], i1)
4989 : 1126 : || GET_MODE (x1) != i1)
4990 : : return -1;
4991 : 1075 : x2 = XVECEXP (x1, 0, 0);
4992 : 1075 : if (GET_MODE (x2) != i1)
4993 : : return -1;
4994 : 1075 : x3 = XEXP (x2, 0);
4995 : 1075 : if (GET_MODE (x3) != i1)
4996 : : return -1;
4997 : 1075 : x4 = XEXP (x3, 0);
4998 : 1075 : if (GET_MODE (x4) != i1)
4999 : : return -1;
5000 : 1075 : x5 = XEXP (x4, 0);
5001 : 1075 : if (GET_MODE (x5) != i1)
5002 : : return -1;
5003 : 1075 : x6 = XEXP (x4, 1);
5004 : 1075 : if (!register_operand (x6, i1))
5005 : : return -1;
5006 : : return 0;
5007 : : }
5008 : :
5009 : : int
5010 : 1897 : pattern1395 (rtx x1)
5011 : : {
5012 : 1897 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5013 : 1897 : rtx x2, x3;
5014 : 1897 : int res ATTRIBUTE_UNUSED;
5015 : 1897 : x2 = XVECEXP (x1, 0, 0);
5016 : 1897 : x3 = XEXP (x2, 1);
5017 : 1897 : if (!rtx_equal_p (x3, operands[1]))
5018 : : return -1;
5019 : 1897 : switch (GET_MODE (operands[0]))
5020 : : {
5021 : 379 : case E_V8HFmode:
5022 : 379 : return pattern1394 (x1,
5023 : 379 : E_V8HFmode); /* [-1, 0] */
5024 : :
5025 : 235 : case E_V4SFmode:
5026 : 235 : if (pattern1394 (x1,
5027 : : E_V4SFmode) != 0)
5028 : : return -1;
5029 : : return 1;
5030 : :
5031 : 1283 : case E_V2DFmode:
5032 : 1283 : if (pattern1394 (x1,
5033 : : E_V2DFmode) != 0)
5034 : : return -1;
5035 : : return 2;
5036 : :
5037 : : default:
5038 : : return -1;
5039 : : }
5040 : : }
5041 : :
5042 : : int
5043 : 3602 : pattern1404 (rtx x1)
5044 : : {
5045 : 3602 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5046 : 3602 : rtx x2, x3, x4, x5;
5047 : 3602 : int res ATTRIBUTE_UNUSED;
5048 : 3602 : x2 = XVECEXP (x1, 0, 12);
5049 : 3602 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
5050 : : return -1;
5051 : 3598 : x3 = XVECEXP (x1, 0, 13);
5052 : 3598 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
5053 : : return -1;
5054 : 3598 : x4 = XVECEXP (x1, 0, 14);
5055 : 3598 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
5056 : : return -1;
5057 : 3598 : x5 = XVECEXP (x1, 0, 15);
5058 : 3598 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
5059 : 0 : return -1;
5060 : : return 0;
5061 : : }
5062 : :
5063 : : int
5064 : 66085 : pattern1413 (rtx x1, machine_mode i1)
5065 : : {
5066 : 66085 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5067 : 66085 : int res ATTRIBUTE_UNUSED;
5068 : 66085 : if (!nonimmediate_operand (operands[1], i1)
5069 : 62712 : || !general_operand (operands[2], i1)
5070 : 62546 : || !nonimmediate_operand (operands[0], i1)
5071 : 128631 : || GET_MODE (x1) != i1)
5072 : 3539 : return -1;
5073 : : return 0;
5074 : : }
5075 : :
5076 : : int
5077 : 57 : pattern1421 (rtx x1)
5078 : : {
5079 : 57 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5080 : 57 : rtx x2, x3, x4, x5, x6, x7;
5081 : 57 : int res ATTRIBUTE_UNUSED;
5082 : 57 : x2 = XEXP (x1, 0);
5083 : 57 : operands[0] = x2;
5084 : 57 : x3 = XEXP (x1, 1);
5085 : 57 : x4 = XEXP (x3, 0);
5086 : 57 : x5 = XEXP (x4, 0);
5087 : 57 : x6 = XEXP (x5, 1);
5088 : 57 : operands[2] = x6;
5089 : 57 : if (!register_operand (operands[2], E_QImode))
5090 : : return -1;
5091 : 32 : x7 = XEXP (x3, 1);
5092 : 32 : operands[1] = x7;
5093 : 32 : switch (GET_MODE (operands[0]))
5094 : : {
5095 : 21 : case E_QImode:
5096 : 21 : return pattern1420 (x3,
5097 : 21 : E_QImode); /* [-1, 0] */
5098 : :
5099 : 11 : case E_HImode:
5100 : 11 : if (pattern1420 (x3,
5101 : : E_HImode) != 0)
5102 : : return -1;
5103 : : return 1;
5104 : :
5105 : : default:
5106 : : return -1;
5107 : : }
5108 : : }
5109 : :
5110 : : int
5111 : 0 : pattern1433 (rtx x1, machine_mode i1)
5112 : : {
5113 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5114 : 0 : rtx x2;
5115 : 0 : int res ATTRIBUTE_UNUSED;
5116 : 0 : if (!register_operand (operands[0], i1)
5117 : 0 : || GET_MODE (x1) != i1
5118 : 0 : || !vector_operand (operands[1], i1)
5119 : 0 : || !register_operand (operands[2], i1))
5120 : 0 : return -1;
5121 : 0 : x2 = XVECEXP (x1, 0, 2);
5122 : 0 : if (GET_MODE (x2) != i1)
5123 : : return -1;
5124 : : return 0;
5125 : : }
5126 : :
5127 : : int
5128 : 302 : pattern1438 (rtx x1, machine_mode i1, machine_mode i2)
5129 : : {
5130 : 302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5131 : 302 : rtx x2;
5132 : 302 : int res ATTRIBUTE_UNUSED;
5133 : 302 : if (!memory_operand (operands[0], i2)
5134 : 302 : || GET_MODE (x1) != i2)
5135 : : return -1;
5136 : 296 : x2 = XEXP (x1, 1);
5137 : 296 : if (GET_MODE (x2) != i2
5138 : 296 : || !register_operand (operands[1], i1))
5139 : 4 : return -1;
5140 : : return 0;
5141 : : }
5142 : :
5143 : : int
5144 : 658 : pattern1445 (rtx x1, machine_mode i1, machine_mode i2)
5145 : : {
5146 : 658 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5147 : 658 : rtx x2;
5148 : 658 : int res ATTRIBUTE_UNUSED;
5149 : 658 : if (!register_operand (operands[0], i1)
5150 : 658 : || GET_MODE (x1) != i1)
5151 : : return -1;
5152 : 623 : x2 = XEXP (x1, 0);
5153 : 623 : if (GET_MODE (x2) != i1
5154 : 623 : || !register_operand (operands[1], i1)
5155 : 611 : || !register_operand (operands[2], i1)
5156 : 611 : || !bcst_vector_operand (operands[3], i1)
5157 : 610 : || !const0_operand (operands[5], i1)
5158 : 1233 : || !register_operand (operands[6], i2))
5159 : 46 : return -1;
5160 : : return 0;
5161 : : }
5162 : :
5163 : : int
5164 : 190 : pattern1454 (rtx x1, machine_mode i1, machine_mode i2)
5165 : : {
5166 : 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5167 : 190 : rtx x2;
5168 : 190 : int res ATTRIBUTE_UNUSED;
5169 : 190 : if (!register_operand (operands[0], i1)
5170 : 178 : || GET_MODE (x1) != i1
5171 : 178 : || !vector_operand (operands[1], i1)
5172 : 368 : || !vector_operand (operands[2], i1))
5173 : 22 : return -1;
5174 : 168 : x2 = XEXP (x1, 2);
5175 : 168 : if (GET_MODE (x2) != i2
5176 : 168 : || !register_operand (operands[3], i1)
5177 : 293 : || !const0_operand (operands[4], i1))
5178 : 43 : return -1;
5179 : : return 0;
5180 : : }
5181 : :
5182 : : int
5183 : 1094 : pattern1463 (rtx x1, machine_mode i1, machine_mode i2)
5184 : : {
5185 : 1094 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5186 : 1094 : rtx x2, x3, x4, x5;
5187 : 1094 : int res ATTRIBUTE_UNUSED;
5188 : 1094 : if (!register_operand (operands[0], i2)
5189 : 1094 : || GET_MODE (x1) != i2)
5190 : : return -1;
5191 : 1064 : x2 = XVECEXP (x1, 0, 0);
5192 : 1064 : if (GET_MODE (x2) != i2)
5193 : : return -1;
5194 : 1064 : x3 = XEXP (x2, 0);
5195 : 1064 : if (GET_MODE (x3) != i2)
5196 : : return -1;
5197 : 1064 : x4 = XEXP (x3, 0);
5198 : 1064 : if (GET_MODE (x4) != i2)
5199 : : return -1;
5200 : 1064 : x5 = XEXP (x4, 0);
5201 : 1064 : if (GET_MODE (x5) != i1)
5202 : 0 : return -1;
5203 : : return 0;
5204 : : }
5205 : :
5206 : : int
5207 : 295 : pattern1470 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5208 : : {
5209 : 295 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5210 : 295 : rtx x2, x3, x4;
5211 : 295 : int res ATTRIBUTE_UNUSED;
5212 : 295 : if (!nonimmediate_operand (operands[0], i3)
5213 : 295 : || GET_MODE (x1) != i3)
5214 : : return -1;
5215 : 295 : x2 = XEXP (x1, 0);
5216 : 295 : if (GET_MODE (x2) != i1
5217 : 295 : || !nonimmediate_operand (operands[1], i2))
5218 : 0 : return -1;
5219 : 295 : x3 = XEXP (x2, 1);
5220 : 295 : if (GET_MODE (x3) != i2)
5221 : : return -1;
5222 : 295 : x4 = XEXP (x1, 1);
5223 : 295 : if (GET_MODE (x4) != i1)
5224 : : return -1;
5225 : : return 0;
5226 : : }
5227 : :
5228 : : int
5229 : 11875 : pattern1477 (rtx x1, machine_mode i1)
5230 : : {
5231 : 11875 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5232 : 11875 : int res ATTRIBUTE_UNUSED;
5233 : 11875 : if (!nonimmediate_operand (operands[1], i1)
5234 : 11875 : || !general_operand (operands[2], i1)
5235 : 11839 : || !nonimmediate_operand (operands[0], i1)
5236 : 23714 : || GET_MODE (x1) != i1)
5237 : 36 : return -1;
5238 : : return 0;
5239 : : }
5240 : :
5241 : : int
5242 : 141837 : pattern1484 (rtx x1, machine_mode i1)
5243 : : {
5244 : 141837 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5245 : 141837 : int res ATTRIBUTE_UNUSED;
5246 : 141837 : if (!register_operand (operands[0], i1)
5247 : 141837 : || GET_MODE (x1) != i1
5248 : 141837 : || !memory_operand (operands[1], i1)
5249 : 278375 : || !register_operand (operands[2], i1))
5250 : 5299 : return -1;
5251 : : return 0;
5252 : : }
5253 : :
5254 : : int
5255 : 269 : pattern1487 (rtx x1)
5256 : : {
5257 : 269 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5258 : 269 : rtx x2, x3, x4, x5, x6, x7, x8;
5259 : 269 : int res ATTRIBUTE_UNUSED;
5260 : 269 : x2 = XVECEXP (x1, 0, 1);
5261 : 269 : x3 = XEXP (x2, 1);
5262 : 269 : x4 = XEXP (x3, 0);
5263 : 269 : if (!rtx_equal_p (x4, operands[2]))
5264 : : return -1;
5265 : 269 : x5 = XEXP (x3, 1);
5266 : 269 : if (!rtx_equal_p (x5, operands[3]))
5267 : : return -1;
5268 : 269 : x6 = XVECEXP (x1, 0, 2);
5269 : 269 : switch (GET_CODE (x6))
5270 : : {
5271 : 12 : case UNSPEC:
5272 : 12 : if (XVECLEN (x6, 0) != 1
5273 : 12 : || XINT (x6, 1) != 33)
5274 : : return -1;
5275 : 12 : x7 = XVECEXP (x6, 0, 0);
5276 : 12 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5277 : : return -1;
5278 : : return 0;
5279 : :
5280 : 257 : case USE:
5281 : 257 : x8 = XEXP (x6, 0);
5282 : 257 : operands[4] = x8;
5283 : 257 : if (!register_operand (operands[4], E_SImode))
5284 : : return -1;
5285 : : return 1;
5286 : :
5287 : : default:
5288 : : return -1;
5289 : : }
5290 : : }
5291 : :
5292 : : int
5293 : 183 : pattern1500 (rtx x1, machine_mode i1, machine_mode i2)
5294 : : {
5295 : 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5296 : 183 : rtx x2, x3;
5297 : 183 : int res ATTRIBUTE_UNUSED;
5298 : 183 : if (!register_operand (operands[0], i2)
5299 : 183 : || GET_MODE (x1) != i2)
5300 : : return -1;
5301 : 173 : x2 = XEXP (x1, 0);
5302 : 173 : if (GET_MODE (x2) != i1)
5303 : : return -1;
5304 : 173 : x3 = XEXP (x2, 0);
5305 : 173 : return pattern1499 (x3,
5306 : 173 : i1); /* [-1, 0] */
5307 : : }
5308 : :
5309 : : int
5310 : 656164 : pattern1507 ()
5311 : : {
5312 : 656164 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5313 : 656164 : int res ATTRIBUTE_UNUSED;
5314 : 656164 : if (!const_0_to_3_operand (operands[3], E_VOIDmode)
5315 : 607094 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
5316 : 417574 : || !const_4_to_7_operand (operands[5], E_VOIDmode)
5317 : 1070359 : || !const_4_to_7_operand (operands[6], E_VOIDmode))
5318 : 245511 : return -1;
5319 : : return 0;
5320 : : }
5321 : :
5322 : : int
5323 : 3520 : pattern1513 (rtx x1)
5324 : : {
5325 : 3520 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5326 : 3520 : rtx x2, x3, x4;
5327 : 3520 : int res ATTRIBUTE_UNUSED;
5328 : 3520 : x2 = XEXP (x1, 1);
5329 : 3520 : x3 = XEXP (x2, 1);
5330 : 3520 : if (maybe_ne (SUBREG_BYTE (x3), 0)
5331 : 3520 : || GET_MODE (x3) != E_QImode)
5332 : : return -1;
5333 : 3520 : x4 = XEXP (x3, 0);
5334 : 3520 : switch (GET_CODE (x4))
5335 : : {
5336 : 447 : case ASHIFTRT:
5337 : 447 : case LSHIFTRT:
5338 : 447 : case SIGN_EXTRACT:
5339 : 447 : case ZERO_EXTRACT:
5340 : 447 : operands[4] = x4;
5341 : 447 : return pattern1034 (x1); /* [-1, 5] */
5342 : :
5343 : : default:
5344 : : return -1;
5345 : : }
5346 : : }
5347 : :
5348 : : int
5349 : 6598 : pattern1523 (rtx x1)
5350 : : {
5351 : 6598 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5352 : 6598 : rtx x2, x3;
5353 : 6598 : int res ATTRIBUTE_UNUSED;
5354 : 6598 : if (GET_CODE (x1) != SET)
5355 : : return -1;
5356 : 5913 : x2 = XEXP (x1, 1);
5357 : 5913 : if (GET_CODE (x2) != COMPARE
5358 : 3393 : || GET_MODE (x2) != E_CCZmode)
5359 : : return -1;
5360 : 3343 : x3 = XEXP (x1, 0);
5361 : 3343 : if (GET_CODE (x3) != REG
5362 : 3343 : || REGNO (x3) != 17
5363 : 6686 : || GET_MODE (x3) != E_CCZmode)
5364 : 0 : return -1;
5365 : : return 0;
5366 : : }
5367 : :
5368 : : int
5369 : 18 : pattern1530 (rtx x1, machine_mode i1)
5370 : : {
5371 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5372 : 18 : rtx x2, x3, x4;
5373 : 18 : int res ATTRIBUTE_UNUSED;
5374 : 18 : if (!register_operand (operands[0], i1)
5375 : 18 : || GET_MODE (x1) != i1)
5376 : : return -1;
5377 : 12 : x2 = XEXP (x1, 0);
5378 : 12 : if (GET_MODE (x2) != i1)
5379 : : return -1;
5380 : 12 : x3 = XEXP (x2, 0);
5381 : 12 : if (GET_MODE (x3) != i1
5382 : 12 : || !nonimmediate_operand (operands[1], i1)
5383 : 24 : || !nonimmediate_operand (operands[2], i1))
5384 : 0 : return -1;
5385 : 12 : x4 = XEXP (x3, 2);
5386 : 12 : if (GET_MODE (x4) != i1
5387 : 12 : || !nonimmediate_operand (operands[3], i1)
5388 : 24 : || !const0_operand (operands[4], i1))
5389 : 0 : return -1;
5390 : : return 0;
5391 : : }
5392 : :
5393 : : int
5394 : 302 : pattern1541 (rtx x1, machine_mode i1)
5395 : : {
5396 : 302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5397 : 302 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5398 : 302 : rtx x10, x11, x12, x13, x14, x15;
5399 : 302 : int res ATTRIBUTE_UNUSED;
5400 : 302 : x2 = XEXP (x1, 0);
5401 : 302 : x3 = XEXP (x2, 0);
5402 : 302 : x4 = XEXP (x3, 0);
5403 : 302 : if (GET_MODE (x4) != i1)
5404 : : return -1;
5405 : 302 : x5 = XEXP (x3, 1);
5406 : 302 : if (GET_MODE (x5) != i1)
5407 : : return -1;
5408 : 302 : x6 = XEXP (x2, 1);
5409 : 302 : x7 = XEXP (x6, 0);
5410 : 302 : if (GET_MODE (x7) != i1)
5411 : : return -1;
5412 : 302 : x8 = XEXP (x6, 1);
5413 : 302 : if (GET_MODE (x8) != i1)
5414 : : return -1;
5415 : 302 : x9 = XEXP (x1, 1);
5416 : 302 : x10 = XEXP (x9, 0);
5417 : 302 : x11 = XEXP (x10, 0);
5418 : 302 : if (GET_MODE (x11) != i1)
5419 : : return -1;
5420 : 302 : x12 = XEXP (x10, 1);
5421 : 302 : if (GET_MODE (x12) != i1)
5422 : : return -1;
5423 : 302 : x13 = XEXP (x9, 1);
5424 : 302 : x14 = XEXP (x13, 0);
5425 : 302 : if (GET_MODE (x14) != i1)
5426 : : return -1;
5427 : 302 : x15 = XEXP (x13, 1);
5428 : 302 : if (GET_MODE (x15) != i1)
5429 : 0 : return -1;
5430 : : return 0;
5431 : : }
5432 : :
5433 : : int
5434 : 1655 : pattern1556 (rtx x1, machine_mode i1, machine_mode i2)
5435 : : {
5436 : 1655 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5437 : 1655 : rtx x2, x3, x4;
5438 : 1655 : int res ATTRIBUTE_UNUSED;
5439 : 1655 : if (!register_operand (operands[0], i2)
5440 : 1655 : || GET_MODE (x1) != i2)
5441 : : return -1;
5442 : 1655 : x2 = XEXP (x1, 0);
5443 : 1655 : if (GET_MODE (x2) != i2)
5444 : : return -1;
5445 : 1655 : x3 = XEXP (x2, 0);
5446 : 1655 : if (GET_MODE (x3) != i2
5447 : 1655 : || !register_operand (operands[1], i1))
5448 : 0 : return -1;
5449 : 1655 : x4 = XEXP (x1, 1);
5450 : 1655 : if (GET_MODE (x4) != i2
5451 : 1655 : || !register_operand (operands[2], i1))
5452 : 51 : return -1;
5453 : : return 0;
5454 : : }
5455 : :
5456 : : int
5457 : 22665 : pattern1566 (rtx x1, machine_mode i1, machine_mode i2)
5458 : : {
5459 : 22665 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5460 : 22665 : rtx x2, x3;
5461 : 22665 : int res ATTRIBUTE_UNUSED;
5462 : 22665 : if (!register_operand (operands[1], i1)
5463 : 22665 : || GET_MODE (x1) != i2)
5464 : : return -1;
5465 : 18772 : x2 = XEXP (x1, 0);
5466 : 18772 : if (GET_MODE (x2) != i2)
5467 : : return -1;
5468 : 18772 : x3 = XEXP (x1, 1);
5469 : 18772 : if (GET_MODE (x3) != i2
5470 : 18772 : || !x86_64_sext_operand (operands[2], i1))
5471 : 6092 : return -1;
5472 : : return 0;
5473 : : }
5474 : :
5475 : : int
5476 : 4488 : pattern1569 (rtx x1, machine_mode i1, machine_mode i2)
5477 : : {
5478 : 4488 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5479 : 4488 : rtx x2, x3;
5480 : 4488 : int res ATTRIBUTE_UNUSED;
5481 : 4488 : if (!register_operand (operands[0], i1)
5482 : 4488 : || GET_MODE (x1) != i1)
5483 : : return -1;
5484 : 4256 : x2 = XEXP (x1, 0);
5485 : 4256 : if (GET_MODE (x2) != i1)
5486 : : return -1;
5487 : 4256 : x3 = XEXP (x2, 0);
5488 : 4256 : if (GET_MODE (x3) != i2
5489 : 4256 : || !register_operand (operands[1], i1)
5490 : 4253 : || !nonimmediate_operand (operands[2], i1)
5491 : 8429 : || !nonimm_or_0_operand (operands[3], i1))
5492 : 205 : return -1;
5493 : : return 0;
5494 : : }
5495 : :
5496 : : int
5497 : 1248 : pattern1578 (rtx x1, machine_mode i1, machine_mode i2)
5498 : : {
5499 : 1248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5500 : 1248 : rtx x2, x3;
5501 : 1248 : int res ATTRIBUTE_UNUSED;
5502 : 1248 : if (!register_operand (operands[0], i2)
5503 : 1248 : || GET_MODE (x1) != i2)
5504 : : return -1;
5505 : 1225 : x2 = XVECEXP (x1, 0, 0);
5506 : 1225 : if (GET_MODE (x2) != i2)
5507 : : return -1;
5508 : 1225 : x3 = XEXP (x2, 0);
5509 : 1225 : if (GET_MODE (x3) != i2
5510 : 1225 : || !register_operand (operands[2], i2)
5511 : 2440 : || !register_operand (operands[4], i1))
5512 : 10 : return -1;
5513 : : return 0;
5514 : : }
5515 : :
5516 : : int
5517 : 1223 : pattern1588 (rtx x1, machine_mode i1, machine_mode i2)
5518 : : {
5519 : 1223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5520 : 1223 : rtx x2, x3, x4, x5;
5521 : 1223 : int res ATTRIBUTE_UNUSED;
5522 : 1223 : if (!register_operand (operands[0], i2)
5523 : 1223 : || GET_MODE (x1) != i2)
5524 : : return -1;
5525 : 1200 : x2 = XVECEXP (x1, 0, 0);
5526 : 1200 : if (GET_MODE (x2) != i2)
5527 : : return -1;
5528 : 1200 : x3 = XEXP (x2, 0);
5529 : 1200 : if (GET_MODE (x3) != i2)
5530 : : return -1;
5531 : 1200 : x4 = XEXP (x3, 0);
5532 : 1200 : if (GET_MODE (x4) != i2
5533 : 1200 : || !register_operand (operands[2], i2))
5534 : 10 : return -1;
5535 : 1190 : x5 = XEXP (x3, 2);
5536 : 1190 : if (GET_MODE (x5) != i2
5537 : 1190 : || !register_operand (operands[4], i1))
5538 : 0 : return -1;
5539 : : return 0;
5540 : : }
5541 : :
5542 : : int
5543 : 638 : pattern1596 (rtx x1, machine_mode i1)
5544 : : {
5545 : 638 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5546 : 638 : rtx x2, x3, x4;
5547 : 638 : int res ATTRIBUTE_UNUSED;
5548 : 638 : if (!vsib_mem_operator (operands[5], i1)
5549 : 638 : || !register_operand (operands[6], E_QImode))
5550 : 220 : return -1;
5551 : 418 : x2 = XEXP (x1, 1);
5552 : 418 : if (GET_MODE (x2) != i1
5553 : 418 : || !register_operand (operands[3], i1))
5554 : 74 : return -1;
5555 : 344 : x3 = XEXP (x1, 0);
5556 : 344 : x4 = XEXP (x3, 0);
5557 : 344 : switch (GET_MODE (x4))
5558 : : {
5559 : 0 : case E_SImode:
5560 : 0 : return pattern1595 (
5561 : 0 : E_SImode); /* [-1, 1] */
5562 : :
5563 : 344 : case E_DImode:
5564 : 344 : res = pattern1595 (
5565 : : E_DImode);
5566 : 344 : if (res >= 0)
5567 : 204 : return res + 2; /* [2, 3] */
5568 : : return -1;
5569 : :
5570 : : default:
5571 : : return -1;
5572 : : }
5573 : : }
5574 : :
5575 : : int
5576 : 4054 : pattern1608 (rtx x1, machine_mode i1)
5577 : : {
5578 : 4054 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5579 : 4054 : int res ATTRIBUTE_UNUSED;
5580 : 4054 : if (!register_operand (operands[0], i1)
5581 : 4031 : || GET_MODE (x1) != i1
5582 : 4031 : || !register_operand (operands[1], i1)
5583 : 3605 : || !const_0_to_7_operand (operands[2], E_VOIDmode)
5584 : 3605 : || !const_0_to_7_operand (operands[3], E_VOIDmode)
5585 : 3605 : || !const_0_to_7_operand (operands[4], E_VOIDmode)
5586 : 3605 : || !const_0_to_7_operand (operands[5], E_VOIDmode)
5587 : 3605 : || !const_0_to_7_operand (operands[6], E_VOIDmode)
5588 : 3605 : || !const_0_to_7_operand (operands[7], E_VOIDmode)
5589 : 3605 : || !const_0_to_7_operand (operands[8], E_VOIDmode)
5590 : 7659 : || !const_0_to_7_operand (operands[9], E_VOIDmode))
5591 : 449 : return -1;
5592 : : return 0;
5593 : : }
5594 : :
5595 : : int
5596 : 20768 : pattern1622 (rtx x1)
5597 : : {
5598 : 20768 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5599 : 20768 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5600 : 20768 : rtx x10, x11;
5601 : 20768 : int res ATTRIBUTE_UNUSED;
5602 : 20768 : if (!plusminuslogic_operator (operands[3], E_SImode))
5603 : : return -1;
5604 : 14614 : x2 = XVECEXP (x1, 0, 1);
5605 : 14614 : if (GET_CODE (x2) != CLOBBER)
5606 : : return -1;
5607 : 14614 : x3 = XEXP (x2, 0);
5608 : 14614 : if (GET_CODE (x3) != REG
5609 : 14614 : || REGNO (x3) != 17
5610 : 29228 : || GET_MODE (x3) != E_CCmode)
5611 : : return -1;
5612 : 14614 : x4 = XVECEXP (x1, 0, 0);
5613 : 14614 : x5 = XEXP (x4, 0);
5614 : 14614 : operands[4] = x5;
5615 : 14614 : if (!register_operand (operands[4], E_SImode))
5616 : : return -1;
5617 : 14613 : x6 = XEXP (x4, 1);
5618 : 14613 : x7 = XEXP (x6, 1);
5619 : 14613 : operands[2] = x7;
5620 : 14613 : if (!nonmemory_operand (operands[2], E_SImode))
5621 : : return -1;
5622 : 14564 : x8 = XEXP (x6, 0);
5623 : 14564 : if (!rtx_equal_p (x8, operands[4]))
5624 : : return -1;
5625 : 14518 : x9 = PATTERN (peep2_next_insn (2));
5626 : 14518 : x10 = XEXP (x9, 1);
5627 : 14518 : if (!rtx_equal_p (x10, operands[0]))
5628 : : return -1;
5629 : 1787 : x11 = PATTERN (peep2_next_insn (3));
5630 : 1787 : if (GET_CODE (x11) != SET)
5631 : : return -1;
5632 : : return 0;
5633 : : }
5634 : :
5635 : : int
5636 : 1090 : pattern1637 (rtx x1, machine_mode i1)
5637 : : {
5638 : 1090 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5639 : 1090 : rtx x2, x3, x4;
5640 : 1090 : int res ATTRIBUTE_UNUSED;
5641 : 1090 : if (!register_operand (operands[0], i1)
5642 : 1090 : || GET_MODE (x1) != i1)
5643 : : return -1;
5644 : 1041 : x2 = XVECEXP (x1, 0, 0);
5645 : 1041 : if (GET_MODE (x2) != i1)
5646 : : return -1;
5647 : 1041 : x3 = XEXP (x2, 0);
5648 : 1041 : if (GET_MODE (x3) != i1)
5649 : : return -1;
5650 : 1041 : x4 = XEXP (x3, 0);
5651 : 1041 : if (GET_MODE (x4) != i1
5652 : 1041 : || !register_operand (operands[1], i1)
5653 : 1041 : || !register_operand (operands[2], i1)
5654 : 2082 : || !nonimm_or_0_operand (operands[3], i1))
5655 : 6 : return -1;
5656 : : return 0;
5657 : : }
5658 : :
5659 : : int
5660 : 54 : pattern1645 (rtx x1, machine_mode i1)
5661 : : {
5662 : 54 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5663 : 54 : rtx x2, x3, x4, x5;
5664 : 54 : int res ATTRIBUTE_UNUSED;
5665 : 54 : if (!register_operand (operands[0], i1)
5666 : 54 : || GET_MODE (x1) != i1)
5667 : : return -1;
5668 : 39 : x2 = XVECEXP (x1, 0, 0);
5669 : 39 : if (GET_MODE (x2) != i1)
5670 : : return -1;
5671 : 39 : x3 = XEXP (x2, 0);
5672 : 39 : if (GET_MODE (x3) != i1)
5673 : : return -1;
5674 : 39 : x4 = XEXP (x3, 0);
5675 : 39 : if (GET_MODE (x4) != i1
5676 : 39 : || !nonimmediate_operand (operands[1], i1)
5677 : 72 : || !register_operand (operands[2], i1))
5678 : 12 : return -1;
5679 : 27 : x5 = XEXP (x3, 2);
5680 : 27 : if (GET_MODE (x5) != i1
5681 : 27 : || !register_operand (operands[3], i1))
5682 : 0 : return -1;
5683 : : return 0;
5684 : : }
5685 : :
5686 : : int
5687 : 50706 : pattern1658 (rtx x1, machine_mode i1)
5688 : : {
5689 : 50706 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5690 : 50706 : int res ATTRIBUTE_UNUSED;
5691 : 50706 : if (!nonimmediate_operand (operands[1], i1)
5692 : 50706 : || !x86_64_hilo_general_operand (operands[2], i1)
5693 : 50629 : || !nonimmediate_operand (operands[0], i1)
5694 : 101335 : || GET_MODE (x1) != i1)
5695 : 77 : return -1;
5696 : : return 0;
5697 : : }
5698 : :
5699 : : int
5700 : 2448 : pattern1665 (rtx x1, machine_mode i1)
5701 : : {
5702 : 2448 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5703 : 2448 : rtx x2, x3, x4;
5704 : 2448 : int res ATTRIBUTE_UNUSED;
5705 : 2448 : if (!register_operand (operands[0], i1)
5706 : 2448 : || GET_MODE (x1) != i1)
5707 : : return -1;
5708 : 2416 : x2 = XVECEXP (x1, 0, 0);
5709 : 2416 : if (GET_MODE (x2) != i1)
5710 : : return -1;
5711 : 2416 : x3 = XEXP (x2, 0);
5712 : 2416 : if (GET_MODE (x3) != i1)
5713 : : return -1;
5714 : 2416 : x4 = XEXP (x3, 0);
5715 : 2416 : if (GET_MODE (x4) != i1
5716 : 2416 : || !register_operand (operands[2], i1))
5717 : 13 : return -1;
5718 : : return 0;
5719 : : }
5720 : :
5721 : : int
5722 : 1655 : pattern1674 (rtx x1)
5723 : : {
5724 : 1655 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5725 : 1655 : rtx x2, x3, x4, x5, x6, x7, x8;
5726 : 1655 : int res ATTRIBUTE_UNUSED;
5727 : 1655 : if (!nonimmediate_operand (operands[0], E_DImode))
5728 : : return -1;
5729 : 1655 : x2 = XEXP (x1, 1);
5730 : 1655 : if (GET_MODE (x2) != E_DImode)
5731 : : return -1;
5732 : 1655 : x3 = XEXP (x2, 0);
5733 : 1655 : if (GET_MODE (x3) != E_TImode)
5734 : : return -1;
5735 : 1655 : x4 = XEXP (x3, 0);
5736 : 1655 : if (GET_MODE (x4) != E_TImode)
5737 : : return -1;
5738 : 1655 : x5 = XEXP (x4, 0);
5739 : 1655 : operands[1] = x5;
5740 : 1655 : if (!register_operand (operands[1], E_DImode))
5741 : : return -1;
5742 : 1655 : x6 = XEXP (x3, 1);
5743 : 1655 : operands[3] = x6;
5744 : 1655 : if (!const_0_to_255_operand (operands[3], E_QImode))
5745 : : return -1;
5746 : 1655 : x7 = XEXP (x1, 0);
5747 : 1655 : x8 = XEXP (x7, 0);
5748 : 1655 : if (!rtx_equal_p (x8, operands[0]))
5749 : : return -1;
5750 : : return 0;
5751 : : }
5752 : :
5753 : : int
5754 : 357 : pattern1685 (rtx x1, int i1, int i2, int i3, int i4, int i5)
5755 : : {
5756 : 357 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5757 : 357 : rtx x2, x3, x4, x5, x6;
5758 : 357 : int res ATTRIBUTE_UNUSED;
5759 : 357 : x2 = XVECEXP (x1, 0, 12);
5760 : 357 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5761 : : return -1;
5762 : 357 : x3 = XVECEXP (x1, 0, 13);
5763 : 357 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5764 : : return -1;
5765 : 357 : x4 = XVECEXP (x1, 0, 14);
5766 : 357 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5767 : : return -1;
5768 : 357 : x5 = XVECEXP (x1, 0, 15);
5769 : 357 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5770 : : return -1;
5771 : 357 : x6 = XVECEXP (x1, 0, 16);
5772 : 357 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
5773 : 0 : return -1;
5774 : : return 0;
5775 : : }
5776 : :
5777 : : int
5778 : 423 : pattern1694 (machine_mode i1)
5779 : : {
5780 : 423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5781 : 423 : int res ATTRIBUTE_UNUSED;
5782 : 423 : if (!vsib_address_operand (operands[0], i1))
5783 : : return -1;
5784 : 401 : switch (GET_MODE (operands[2]))
5785 : : {
5786 : 125 : case E_V16SImode:
5787 : 125 : if (!register_operand (operands[2], E_V16SImode)
5788 : 108 : || !register_operand (operands[6], E_HImode)
5789 : 160 : || !register_operand (operands[3], E_V16SImode))
5790 : 99 : return -1;
5791 : : return 0;
5792 : :
5793 : 276 : case E_V8DImode:
5794 : 276 : if (!register_operand (operands[2], E_V8DImode)
5795 : 266 : || !register_operand (operands[6], E_QImode)
5796 : 466 : || !register_operand (operands[3], E_V8SImode))
5797 : 208 : return -1;
5798 : : return 1;
5799 : :
5800 : : default:
5801 : : return -1;
5802 : : }
5803 : : }
5804 : :
5805 : : int
5806 : 872 : pattern1705 (rtx x1, machine_mode i1)
5807 : : {
5808 : 872 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5809 : 872 : rtx x2, x3, x4;
5810 : 872 : int res ATTRIBUTE_UNUSED;
5811 : 872 : if (!vsib_mem_operator (operands[5], i1)
5812 : 872 : || !register_operand (operands[6], E_QImode))
5813 : 80 : return -1;
5814 : 792 : x2 = XEXP (x1, 1);
5815 : 792 : if (GET_MODE (x2) != i1
5816 : 792 : || !scratch_operand (operands[1], E_QImode))
5817 : 0 : return -1;
5818 : 792 : x3 = XEXP (x1, 0);
5819 : 792 : x4 = XEXP (x3, 0);
5820 : 792 : switch (GET_MODE (x4))
5821 : : {
5822 : : case E_SImode:
5823 : : return 0;
5824 : :
5825 : 792 : case E_DImode:
5826 : 792 : return 1;
5827 : :
5828 : : default:
5829 : : return -1;
5830 : : }
5831 : : }
5832 : :
5833 : : int
5834 : 123 : pattern1716 (machine_mode i1)
5835 : : {
5836 : 123 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5837 : 123 : int res ATTRIBUTE_UNUSED;
5838 : 123 : if (!vsib_address_operand (operands[3], i1))
5839 : : return -1;
5840 : 119 : switch (GET_MODE (operands[2]))
5841 : : {
5842 : 34 : case E_V4SImode:
5843 : 34 : if (!register_operand (operands[2], E_V4SImode))
5844 : : return -1;
5845 : : return 0;
5846 : :
5847 : 85 : case E_V4DImode:
5848 : 85 : if (!register_operand (operands[2], E_V4DImode))
5849 : : return -1;
5850 : : return 1;
5851 : :
5852 : : default:
5853 : : return -1;
5854 : : }
5855 : : }
5856 : :
5857 : : int
5858 : 625 : pattern1724 (rtx x1)
5859 : : {
5860 : 625 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5861 : 625 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5862 : 625 : rtx x10, x11;
5863 : 625 : int res ATTRIBUTE_UNUSED;
5864 : 625 : x2 = XEXP (x1, 0);
5865 : 625 : x3 = XEXP (x2, 1);
5866 : 625 : x4 = XVECEXP (x3, 0, 4);
5867 : 625 : if (XWINT (x4, 0) != 6L)
5868 : : return -1;
5869 : 625 : x5 = XVECEXP (x3, 0, 5);
5870 : 625 : if (XWINT (x5, 0) != 14L)
5871 : : return -1;
5872 : 625 : x6 = XVECEXP (x3, 0, 6);
5873 : 625 : if (XWINT (x6, 0) != 7L)
5874 : : return -1;
5875 : 625 : x7 = XVECEXP (x3, 0, 7);
5876 : 625 : if (XWINT (x7, 0) != 15L)
5877 : : return -1;
5878 : 625 : x8 = XEXP (x2, 0);
5879 : 625 : x9 = XEXP (x8, 1);
5880 : 625 : operands[2] = x9;
5881 : 625 : x10 = XEXP (x1, 1);
5882 : 625 : operands[3] = x10;
5883 : 625 : x11 = XEXP (x1, 2);
5884 : 625 : operands[4] = x11;
5885 : 625 : return 0;
5886 : : }
5887 : :
5888 : : int
5889 : 94 : pattern1732 (machine_mode i1)
5890 : : {
5891 : 94 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5892 : 94 : int res ATTRIBUTE_UNUSED;
5893 : 94 : if (!vsib_address_operand (operands[0], i1))
5894 : : return -1;
5895 : 77 : switch (GET_MODE (operands[2]))
5896 : : {
5897 : 23 : case E_V8SImode:
5898 : 23 : if (!register_operand (operands[2], E_V8SImode)
5899 : 23 : || !register_operand (operands[3], E_V8SFmode))
5900 : 2 : return -1;
5901 : : return 0;
5902 : :
5903 : 54 : case E_V4DImode:
5904 : 54 : if (!register_operand (operands[2], E_V4DImode)
5905 : 54 : || !register_operand (operands[3], E_V4SFmode))
5906 : 29 : return -1;
5907 : : return 1;
5908 : :
5909 : : default:
5910 : : return -1;
5911 : : }
5912 : : }
5913 : :
5914 : : int
5915 : 510 : pattern1741 (rtx x1, machine_mode i1, machine_mode i2)
5916 : : {
5917 : 510 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5918 : 510 : rtx x2, x3;
5919 : 510 : int res ATTRIBUTE_UNUSED;
5920 : 510 : if (!register_operand (operands[0], i2)
5921 : 510 : || GET_MODE (x1) != i2
5922 : 510 : || !register_operand (operands[1], i2)
5923 : 510 : || !register_operand (operands[7], E_QImode)
5924 : 506 : || !vsib_mem_operator (operands[6], i1)
5925 : 1016 : || !scratch_operand (operands[2], E_QImode))
5926 : 4 : return -1;
5927 : 506 : x2 = XVECEXP (x1, 0, 2);
5928 : 506 : x3 = XEXP (x2, 0);
5929 : 506 : switch (GET_MODE (x3))
5930 : : {
5931 : 0 : case E_SImode:
5932 : 0 : return pattern1740 (
5933 : 0 : E_SImode); /* [-1, 1] */
5934 : :
5935 : 506 : case E_DImode:
5936 : 506 : res = pattern1740 (
5937 : : E_DImode);
5938 : 506 : if (res >= 0)
5939 : 476 : return res + 2; /* [2, 3] */
5940 : : return -1;
5941 : :
5942 : : default:
5943 : : return -1;
5944 : : }
5945 : : }
5946 : :
5947 : : int
5948 : 0 : pattern1755 (rtx x1, machine_mode i1)
5949 : : {
5950 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5951 : 0 : rtx x2, x3, x4, x5;
5952 : 0 : int res ATTRIBUTE_UNUSED;
5953 : 0 : x2 = XVECEXP (x1, 0, 0);
5954 : 0 : x3 = XEXP (x2, 0);
5955 : 0 : if (GET_MODE (x3) != i1
5956 : 0 : || !register_operand (operands[1], i1)
5957 : 0 : || !register_operand (operands[2], i1))
5958 : 0 : return -1;
5959 : 0 : x4 = XVECEXP (x1, 0, 1);
5960 : 0 : if (GET_MODE (x4) != i1)
5961 : : return -1;
5962 : 0 : x5 = XEXP (x4, 0);
5963 : 0 : if (GET_MODE (x5) != i1)
5964 : : return -1;
5965 : : return 0;
5966 : : }
5967 : :
5968 : : int
5969 : 1277 : pattern1763 (machine_mode i1, machine_mode i2, machine_mode i3)
5970 : : {
5971 : 1277 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5972 : 1277 : int res ATTRIBUTE_UNUSED;
5973 : 1277 : if (!register_operand (operands[2], i3)
5974 : 1201 : || !register_operand (operands[6], i1)
5975 : 993 : || !register_operand (operands[3], i2)
5976 : 2162 : || !scratch_operand (operands[1], i1))
5977 : 392 : return -1;
5978 : : return 0;
5979 : : }
5980 : :
5981 : : int
5982 : 599 : pattern1766 (rtx x1)
5983 : : {
5984 : 599 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5985 : 599 : int res ATTRIBUTE_UNUSED;
5986 : 599 : switch (GET_MODE (operands[0]))
5987 : : {
5988 : 286 : case E_SImode:
5989 : 286 : if (!register_operand (operands[0], E_SImode)
5990 : 286 : || GET_MODE (x1) != E_SImode)
5991 : : return -1;
5992 : : return 0;
5993 : :
5994 : 313 : case E_V16QImode:
5995 : 313 : if (!register_operand (operands[0], E_V16QImode)
5996 : 313 : || GET_MODE (x1) != E_V16QImode)
5997 : : return -1;
5998 : : return 1;
5999 : :
6000 : : default:
6001 : : return -1;
6002 : : }
6003 : : }
6004 : :
6005 : : int
6006 : 8553 : pattern1774 (rtx x1)
6007 : : {
6008 : 8553 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6009 : 8553 : int res ATTRIBUTE_UNUSED;
6010 : 8553 : switch (GET_MODE (operands[0]))
6011 : : {
6012 : 498 : case E_V16HImode:
6013 : 498 : if (!nonimmediate_operand (operands[0], E_V16HImode)
6014 : 498 : || GET_MODE (x1) != E_V16HImode
6015 : 996 : || !nonimmediate_operand (operands[1], E_V32HImode))
6016 : 0 : return -1;
6017 : : return 0;
6018 : :
6019 : 315 : case E_V16HFmode:
6020 : 315 : if (!nonimmediate_operand (operands[0], E_V16HFmode)
6021 : 315 : || GET_MODE (x1) != E_V16HFmode
6022 : 630 : || !nonimmediate_operand (operands[1], E_V32HFmode))
6023 : 3 : return -1;
6024 : : return 1;
6025 : :
6026 : 27 : case E_V16BFmode:
6027 : 27 : if (!nonimmediate_operand (operands[0], E_V16BFmode)
6028 : 27 : || GET_MODE (x1) != E_V16BFmode
6029 : 54 : || !nonimmediate_operand (operands[1], E_V32BFmode))
6030 : 0 : return -1;
6031 : : return 2;
6032 : :
6033 : 7713 : case E_V16QImode:
6034 : 7713 : if (!nonimmediate_operand (operands[0], E_V16QImode)
6035 : 7713 : || GET_MODE (x1) != E_V16QImode
6036 : 15426 : || !nonimmediate_operand (operands[1], E_V32QImode))
6037 : 1173 : return -1;
6038 : : return 3;
6039 : :
6040 : : default:
6041 : : return -1;
6042 : : }
6043 : : }
6044 : :
6045 : : int
6046 : 15082 : pattern1792 (rtx x1, machine_mode i1, machine_mode i2)
6047 : : {
6048 : 15082 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6049 : 15082 : rtx x2, x3, x4, x5, x6;
6050 : 15082 : int res ATTRIBUTE_UNUSED;
6051 : 15082 : x2 = XVECEXP (x1, 0, 0);
6052 : 15082 : x3 = XEXP (x2, 1);
6053 : 15082 : x4 = XEXP (x3, 0);
6054 : 15082 : x5 = XEXP (x4, 0);
6055 : 15082 : if (GET_MODE (x5) != i2
6056 : 15082 : || !nonimmediate_operand (operands[1], i1))
6057 : 145 : return -1;
6058 : 14937 : x6 = XEXP (x4, 1);
6059 : 14937 : if (GET_MODE (x6) != i2
6060 : 14937 : || !nonimmediate_operand (operands[2], i1)
6061 : 29838 : || pattern1790 (x1,
6062 : : i1,
6063 : : i2) != 0)
6064 : 36 : return -1;
6065 : : return 0;
6066 : : }
6067 : :
6068 : : int
6069 : 67 : pattern1799 (rtx x1, machine_mode i1)
6070 : : {
6071 : 67 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6072 : 67 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6073 : 67 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6074 : 67 : rtx x18, x19, x20;
6075 : 67 : int res ATTRIBUTE_UNUSED;
6076 : 67 : if (!const_int_operand (operands[1], i1))
6077 : : return -1;
6078 : 67 : x2 = XVECEXP (x1, 0, 0);
6079 : 67 : x3 = XEXP (x2, 1);
6080 : 67 : if (XVECLEN (x3, 0) != 4
6081 : 10 : || XINT (x3, 1) != 109)
6082 : : return -1;
6083 : 10 : x4 = XVECEXP (x1, 0, 1);
6084 : 10 : x5 = XEXP (x4, 1);
6085 : 10 : if (GET_CODE (x5) != UNSPEC_VOLATILE
6086 : 10 : || XVECLEN (x5, 0) != 1
6087 : 10 : || XINT (x5, 1) != 109)
6088 : : return -1;
6089 : 10 : x6 = XVECEXP (x5, 0, 0);
6090 : 10 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6091 : : return -1;
6092 : 10 : x7 = XVECEXP (x1, 0, 2);
6093 : 10 : if (GET_CODE (x7) != SET)
6094 : : return -1;
6095 : 10 : x8 = XEXP (x7, 1);
6096 : 10 : if (GET_CODE (x8) != UNSPEC_VOLATILE
6097 : 10 : || XVECLEN (x8, 0) != 1
6098 : 10 : || XINT (x8, 1) != 109
6099 : 10 : || GET_MODE (x8) != E_CCZmode)
6100 : : return -1;
6101 : 10 : x9 = XVECEXP (x8, 0, 0);
6102 : 10 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6103 : : return -1;
6104 : 10 : x10 = XEXP (x7, 0);
6105 : 10 : if (GET_CODE (x10) != REG
6106 : 10 : || REGNO (x10) != 17
6107 : 20 : || GET_MODE (x10) != E_CCZmode)
6108 : : return -1;
6109 : 10 : x11 = XEXP (x2, 0);
6110 : 10 : operands[2] = x11;
6111 : 10 : x12 = XVECEXP (x3, 0, 0);
6112 : 10 : operands[3] = x12;
6113 : 10 : x13 = XVECEXP (x3, 0, 2);
6114 : 10 : operands[4] = x13;
6115 : 10 : x14 = XVECEXP (x3, 0, 3);
6116 : 10 : operands[5] = x14;
6117 : 10 : if (!const_int_operand (operands[5], E_SImode))
6118 : : return -1;
6119 : 10 : x15 = XVECEXP (x3, 0, 1);
6120 : 10 : if (!rtx_equal_p (x15, operands[2]))
6121 : : return -1;
6122 : 10 : x16 = XEXP (x4, 0);
6123 : 10 : if (!rtx_equal_p (x16, operands[3]))
6124 : : return -1;
6125 : 10 : x17 = PATTERN (peep2_next_insn (2));
6126 : 10 : x18 = XEXP (x17, 1);
6127 : 10 : x19 = XEXP (x18, 0);
6128 : 10 : if (!rtx_equal_p (x19, operands[2]))
6129 : : return -1;
6130 : 10 : x20 = XEXP (x18, 1);
6131 : 10 : if (!rtx_equal_p (x20, operands[1]))
6132 : : return -1;
6133 : 10 : switch (GET_MODE (operands[2]))
6134 : : {
6135 : 0 : case E_QImode:
6136 : 0 : return pattern1798 (x1,
6137 : 0 : E_QImode); /* [-1, 0] */
6138 : :
6139 : 2 : case E_HImode:
6140 : 2 : if (pattern1798 (x1,
6141 : : E_HImode) != 0)
6142 : : return -1;
6143 : : return 1;
6144 : :
6145 : 4 : case E_SImode:
6146 : 4 : if (pattern1798 (x1,
6147 : : E_SImode) != 0)
6148 : : return -1;
6149 : : return 2;
6150 : :
6151 : 4 : case E_DImode:
6152 : 4 : if (pattern1798 (x1,
6153 : : E_DImode) != 0)
6154 : : return -1;
6155 : : return 3;
6156 : :
6157 : : default:
6158 : : return -1;
6159 : : }
6160 : : }
6161 : :
6162 : : int
6163 : 751 : pattern1829 (machine_mode i1)
6164 : : {
6165 : 751 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6166 : 751 : int res ATTRIBUTE_UNUSED;
6167 : 751 : if (!vsib_address_operand (operands[2], i1))
6168 : : return -1;
6169 : 739 : switch (GET_MODE (operands[3]))
6170 : : {
6171 : 500 : case E_V8SImode:
6172 : 500 : if (!register_operand (operands[3], E_V8SImode)
6173 : 500 : || !register_operand (operands[4], E_V8SFmode))
6174 : 121 : return -1;
6175 : : return 0;
6176 : :
6177 : 239 : case E_V4DImode:
6178 : 239 : if (!register_operand (operands[3], E_V4DImode)
6179 : 239 : || !register_operand (operands[4], E_V4SFmode))
6180 : 58 : return -1;
6181 : : return 1;
6182 : :
6183 : : default:
6184 : : return -1;
6185 : : }
6186 : : }
6187 : :
6188 : : int
6189 : 395 : pattern1836 (rtx x1, machine_mode i1, machine_mode i2)
6190 : : {
6191 : 395 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6192 : 395 : rtx x2, x3, x4, x5, x6, x7;
6193 : 395 : int res ATTRIBUTE_UNUSED;
6194 : 395 : if (!nonimmediate_operand (operands[1], i1))
6195 : : return -1;
6196 : 395 : x2 = XVECEXP (x1, 0, 0);
6197 : 395 : x3 = XEXP (x2, 1);
6198 : 395 : x4 = XEXP (x3, 1);
6199 : 395 : if (GET_MODE (x4) != i2
6200 : 395 : || !ix86_carry_flag_operator (operands[4], i2)
6201 : 395 : || !const_scalar_int_operand (operands[6], i2)
6202 : 790 : || !nonimmediate_operand (operands[0], i1))
6203 : 0 : return -1;
6204 : 395 : x5 = XVECEXP (x1, 0, 1);
6205 : 395 : x6 = XEXP (x5, 1);
6206 : 395 : if (GET_MODE (x6) != i1)
6207 : : return -1;
6208 : 395 : x7 = XEXP (x6, 0);
6209 : 395 : if (GET_MODE (x7) != i1
6210 : 395 : || !ix86_carry_flag_operator (operands[5], i1)
6211 : 790 : || !x86_64_immediate_operand (operands[2], i1))
6212 : 240 : return -1;
6213 : : return 0;
6214 : : }
6215 : :
6216 : : int
6217 : 401 : pattern1847 ()
6218 : : {
6219 : 401 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6220 : 401 : int res ATTRIBUTE_UNUSED;
6221 : 401 : if (!const_0_to_15_operand (operands[2], E_VOIDmode)
6222 : 401 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
6223 : 401 : || !const_0_to_15_operand (operands[4], E_VOIDmode)
6224 : 401 : || !const_0_to_15_operand (operands[5], E_VOIDmode)
6225 : 401 : || !const_0_to_15_operand (operands[6], E_VOIDmode)
6226 : 401 : || !const_0_to_15_operand (operands[7], E_VOIDmode)
6227 : 401 : || !const_0_to_15_operand (operands[8], E_VOIDmode)
6228 : 401 : || !const_0_to_15_operand (operands[9], E_VOIDmode)
6229 : 401 : || !const_0_to_15_operand (operands[10], E_VOIDmode)
6230 : 401 : || !const_0_to_15_operand (operands[11], E_VOIDmode)
6231 : 401 : || !const_0_to_15_operand (operands[12], E_VOIDmode)
6232 : 401 : || !const_0_to_15_operand (operands[13], E_VOIDmode)
6233 : 401 : || !const_0_to_15_operand (operands[14], E_VOIDmode)
6234 : 401 : || !const_0_to_15_operand (operands[15], E_VOIDmode)
6235 : 401 : || !const_0_to_15_operand (operands[16], E_VOIDmode)
6236 : 802 : || !const_0_to_15_operand (operands[17], E_VOIDmode))
6237 : 0 : return -1;
6238 : : return 0;
6239 : : }
6240 : :
6241 : : int
6242 : 935 : pattern1856 (rtx x1, machine_mode i1)
6243 : : {
6244 : 935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6245 : 935 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6246 : 935 : rtx x10;
6247 : 935 : int res ATTRIBUTE_UNUSED;
6248 : 935 : x2 = XVECEXP (x1, 0, 1);
6249 : 935 : x3 = XEXP (x2, 1);
6250 : 935 : if (XINT (x3, 1) != 109
6251 : 935 : || GET_MODE (x3) != i1)
6252 : : return -1;
6253 : 935 : x4 = XVECEXP (x1, 0, 2);
6254 : 935 : x5 = XEXP (x4, 1);
6255 : 935 : if (GET_CODE (x5) != UNSPEC_VOLATILE
6256 : 935 : || XVECLEN (x5, 0) != 1
6257 : 935 : || XINT (x5, 1) != 109
6258 : 935 : || GET_MODE (x5) != E_CCZmode)
6259 : : return -1;
6260 : 935 : x6 = XVECEXP (x5, 0, 0);
6261 : 935 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
6262 : 935 : || !memory_operand (operands[2], i1)
6263 : 1870 : || !register_operand (operands[3], i1))
6264 : 0 : return -1;
6265 : 935 : x7 = XEXP (x4, 0);
6266 : 935 : if (GET_MODE (x7) != E_CCZmode)
6267 : : return -1;
6268 : 935 : x8 = PATTERN (peep2_next_insn (2));
6269 : 935 : x9 = XEXP (x8, 0);
6270 : 935 : if (GET_MODE (x9) != E_CCZmode)
6271 : : return -1;
6272 : 935 : x10 = XEXP (x8, 1);
6273 : 935 : if (GET_MODE (x10) != E_CCZmode
6274 : 935 : || !register_operand (operands[5], i1)
6275 : 1869 : || !general_operand (operands[6], i1))
6276 : 1 : return -1;
6277 : : return 0;
6278 : : }
6279 : :
6280 : : int
6281 : 1108 : pattern1865 (rtx x1, machine_mode i1, machine_mode i2)
6282 : : {
6283 : 1108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6284 : 1108 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6285 : 1108 : int res ATTRIBUTE_UNUSED;
6286 : 1108 : x2 = XVECEXP (x1, 0, 0);
6287 : 1108 : x3 = XEXP (x2, 1);
6288 : 1108 : x4 = XEXP (x3, 1);
6289 : 1108 : if (GET_MODE (x4) != i2)
6290 : : return -1;
6291 : 1108 : x5 = XEXP (x4, 0);
6292 : 1108 : if (GET_MODE (x5) != i1)
6293 : : return -1;
6294 : 1108 : x6 = XEXP (x5, 0);
6295 : 1108 : if (GET_MODE (x6) != i1
6296 : 1108 : || !ix86_carry_flag_operator (operands[5], i1)
6297 : 2216 : || !nonimmediate_operand (operands[0], i1))
6298 : 0 : return -1;
6299 : 1108 : x7 = XVECEXP (x1, 0, 1);
6300 : 1108 : x8 = XEXP (x7, 1);
6301 : 1108 : if (GET_MODE (x8) != i1)
6302 : : return -1;
6303 : 1108 : x9 = XEXP (x8, 0);
6304 : 1108 : if (GET_MODE (x9) != i1)
6305 : : return -1;
6306 : : return 0;
6307 : : }
6308 : :
6309 : : int
6310 : 718 : pattern1874 (rtx x1, int i1, int i2, int i3, int i4)
6311 : : {
6312 : 718 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6313 : 718 : rtx x2, x3, x4, x5;
6314 : 718 : int res ATTRIBUTE_UNUSED;
6315 : 718 : x2 = XVECEXP (x1, 0, 28);
6316 : 718 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6317 : : return -1;
6318 : 718 : x3 = XVECEXP (x1, 0, 29);
6319 : 718 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6320 : : return -1;
6321 : 718 : x4 = XVECEXP (x1, 0, 30);
6322 : 718 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6323 : : return -1;
6324 : 718 : x5 = XVECEXP (x1, 0, 31);
6325 : 718 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6326 : 0 : return -1;
6327 : : return 0;
6328 : : }
6329 : :
6330 : : int
6331 : 236 : pattern1881 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6332 : : {
6333 : 236 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6334 : 236 : rtx x2, x3, x4;
6335 : 236 : int res ATTRIBUTE_UNUSED;
6336 : 236 : if (!register_operand (operands[0], i3)
6337 : 236 : || GET_MODE (x1) != i3)
6338 : : return -1;
6339 : 232 : x2 = XEXP (x1, 0);
6340 : 232 : if (GET_MODE (x2) != i3)
6341 : : return -1;
6342 : 232 : x3 = XEXP (x2, 0);
6343 : 232 : if (GET_MODE (x3) != i3)
6344 : : return -1;
6345 : 232 : x4 = XEXP (x3, 0);
6346 : 232 : if (GET_MODE (x4) != i2
6347 : 232 : || !register_operand (operands[1], i1))
6348 : 10 : return -1;
6349 : : return 0;
6350 : : }
6351 : :
6352 : : int
6353 : 55224622 : recog_3 (rtx x1 ATTRIBUTE_UNUSED,
6354 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6355 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6356 : : {
6357 : 55224622 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6358 : 55224622 : rtx x2, x3, x4, x5, x6;
6359 : 55224622 : int res ATTRIBUTE_UNUSED;
6360 : 55224622 : x2 = XEXP (x1, 1);
6361 : 55224622 : x3 = XEXP (x2, 1);
6362 : 55224622 : operands[1] = x3;
6363 : 55224622 : switch (GET_MODE (operands[0]))
6364 : : {
6365 : 8654742 : case E_QImode:
6366 : 8654742 : if (nonimmediate_operand (operands[0], E_QImode))
6367 : : {
6368 : 8553734 : if (const0_operand (operands[1], E_QImode))
6369 : : {
6370 : 5762933 : if ((
6371 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6372 : : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6373 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6374 : : (TARGET_AVX512DQ)))
6375 : : return 5; /* *cmpqi_ccz_1 */
6376 : : if (
6377 : : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6378 : : (ix86_match_ccmode (insn, CCNOmode)))
6379 : : return 9; /* *cmpqi_ccno_1 */
6380 : : }
6381 : : if (general_operand (operands[1], E_QImode)
6382 : : &&
6383 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6384 : : (ix86_match_ccmode (insn, CCmode)))
6385 : : return 13; /* *cmpqi_1 */
6386 : : }
6387 : : break;
6388 : :
6389 : : case E_HImode:
6390 : : if (nonimmediate_operand (operands[0], E_HImode))
6391 : : {
6392 : : if (const0_operand (operands[1], E_HImode))
6393 : : {
6394 : : if (
6395 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6396 : : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)))
6397 : : return 6; /* *cmphi_ccz_1 */
6398 : : if (
6399 : : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6400 : : (ix86_match_ccmode (insn, CCNOmode)))
6401 : : return 10; /* *cmphi_ccno_1 */
6402 : : }
6403 : : if (general_operand (operands[1], E_HImode)
6404 : : &&
6405 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6406 : : (ix86_match_ccmode (insn, CCmode)))
6407 : : return 14; /* *cmphi_1 */
6408 : : }
6409 : : break;
6410 : :
6411 : : case E_SImode:
6412 : : if (nonimmediate_operand (operands[0], E_SImode))
6413 : : {
6414 : : if (const0_operand (operands[1], E_SImode))
6415 : : {
6416 : : if ((
6417 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6418 : : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6419 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6420 : : (TARGET_AVX512BW)))
6421 : : return 7; /* *cmpsi_ccz_1 */
6422 : : if (
6423 : : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6424 : : (ix86_match_ccmode (insn, CCNOmode)))
6425 : : return 11; /* *cmpsi_ccno_1 */
6426 : : }
6427 : : if (x86_64_general_operand (operands[1], E_SImode)
6428 : : &&
6429 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6430 : : (ix86_match_ccmode (insn, CCmode)))
6431 : : return 15; /* *cmpsi_1 */
6432 : : }
6433 : : break;
6434 : :
6435 : : case E_DImode:
6436 : : if (nonimmediate_operand (operands[0], E_DImode))
6437 : : {
6438 : : if (const0_operand (operands[1], E_DImode))
6439 : : {
6440 : : if ((
6441 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6442 : : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6443 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6444 : : (TARGET_AVX512BW && TARGET_64BIT)))
6445 : : return 8; /* *cmpdi_ccz_1 */
6446 : : if ((
6447 : : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6448 : : (ix86_match_ccmode (insn, CCNOmode)) &&
6449 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6450 : : (TARGET_64BIT)))
6451 : : return 12; /* *cmpdi_ccno_1 */
6452 : : }
6453 : : if (x86_64_general_operand (operands[1], E_DImode)
6454 : : && (
6455 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6456 : : (ix86_match_ccmode (insn, CCmode)) &&
6457 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6458 : : (TARGET_64BIT)))
6459 : : return 16; /* *cmpdi_1 */
6460 : : }
6461 : : break;
6462 : :
6463 : : default:
6464 : : break;
6465 : : }
6466 : : x4 = XEXP (x1, 0);
6467 : : switch (GET_MODE (x4))
6468 : : {
6469 : : case E_CCZmode:
6470 : : if (GET_MODE (x2) == E_CCZmode)
6471 : : {
6472 : : switch (pattern828 ())
6473 : : {
6474 : : case 0:
6475 : : if ((
6476 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6477 : : (ix86_pre_reload_split ()) &&
6478 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6479 : : (!TARGET_64BIT)))
6480 : : return 37; /* *cmpdi_doubleword */
6481 : : break;
6482 : :
6483 : : case 1:
6484 : : if ((
6485 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6486 : : (ix86_pre_reload_split ()) &&
6487 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6488 : : (TARGET_64BIT)))
6489 : : return 38; /* *cmpti_doubleword */
6490 : : break;
6491 : :
6492 : : default:
6493 : : break;
6494 : : }
6495 : : }
6496 : : break;
6497 : :
6498 : : case E_CCFPmode:
6499 : : if (GET_MODE (x2) == E_CCFPmode)
6500 : : {
6501 : : switch (GET_MODE (operands[0]))
6502 : : {
6503 : : case E_XFmode:
6504 : : if (register_operand (operands[0], E_XFmode)
6505 : : && register_operand (operands[1], E_XFmode)
6506 : : &&
6507 : : #line 2034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6508 : : (TARGET_80387 && TARGET_CMOVE))
6509 : : return 52; /* *cmpixf_i387 */
6510 : : break;
6511 : :
6512 : : case E_SFmode:
6513 : : if (register_operand (operands[0], E_SFmode)
6514 : : && register_ssemem_operand (operands[1], E_SFmode)
6515 : : &&
6516 : : #line 2074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6517 : : ((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
6518 : : || (TARGET_80387 && TARGET_CMOVE)))
6519 : : return 60; /* *cmpisf */
6520 : : break;
6521 : :
6522 : : case E_DFmode:
6523 : : if (register_operand (operands[0], E_DFmode)
6524 : : && register_ssemem_operand (operands[1], E_DFmode)
6525 : : &&
6526 : : #line 2074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6527 : : ((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
6528 : : || (TARGET_80387 && TARGET_CMOVE)))
6529 : : return 62; /* *cmpidf */
6530 : : break;
6531 : :
6532 : : case E_HFmode:
6533 : : if (register_operand (operands[0], E_HFmode)
6534 : : && nonimmediate_operand (operands[1], E_HFmode)
6535 : : &&
6536 : : #line 2111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6537 : : (TARGET_AVX512FP16))
6538 : : return 64; /* *cmpihf */
6539 : : break;
6540 : :
6541 : : case E_BFmode:
6542 : : if (register_operand (operands[0], E_BFmode)
6543 : : && nonimmediate_operand (operands[1], E_BFmode)
6544 : : &&
6545 : : #line 2122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6546 : : (TARGET_AVX10_2))
6547 : : return 66; /* *cmpibf */
6548 : : break;
6549 : :
6550 : : default:
6551 : : break;
6552 : : }
6553 : : }
6554 : : break;
6555 : :
6556 : : default:
6557 : : break;
6558 : : }
6559 : : if (!nonimmediate_operand (operands[0], E_QImode)
6560 : : || pattern588 (x3) != 0)
6561 : : return -1;
6562 : : x5 = XEXP (x3, 0);
6563 : : operands[2] = x5;
6564 : : x6 = XEXP (x5, 0);
6565 : : operands[1] = x6;
6566 : : if (!int248_register_operand (operands[1], E_VOIDmode))
6567 : : return -1;
6568 : : switch (GET_MODE (operands[2]))
6569 : : {
6570 : : case E_HImode:
6571 : : if (!extract_high_operator (operands[2], E_HImode)
6572 : : || !
6573 : : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6574 : : (ix86_match_ccmode (insn, CCmode)))
6575 : : return -1;
6576 : : return 25; /* *cmpqi_exthi_1 */
6577 : :
6578 : : case E_SImode:
6579 : : if (!extract_high_operator (operands[2], E_SImode)
6580 : : || !
6581 : : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6582 : : (ix86_match_ccmode (insn, CCmode)))
6583 : : return -1;
6584 : : return 26; /* *cmpqi_extsi_1 */
6585 : :
6586 : : case E_DImode:
6587 : : if (!extract_high_operator (operands[2], E_DImode)
6588 : : || !(
6589 : : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6590 : : (ix86_match_ccmode (insn, CCmode)) &&
6591 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6592 : : (TARGET_64BIT)))
6593 : : return -1;
6594 : : return 27; /* *cmpqi_extdi_1 */
6595 : :
6596 : : default:
6597 : : return -1;
6598 : : }
6599 : : }
6600 : :
6601 : : int
6602 : : recog_17 (rtx x1 ATTRIBUTE_UNUSED,
6603 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6604 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6605 : : {
6606 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6607 : : rtx x2, x3, x4;
6608 : : int res ATTRIBUTE_UNUSED;
6609 : : x2 = XEXP (x1, 0);
6610 : : x3 = XEXP (x2, 0);
6611 : : operands[0] = x3;
6612 : : x4 = XEXP (x1, 1);
6613 : : operands[1] = x4;
6614 : : switch (GET_MODE (operands[0]))
6615 : : {
6616 : : case E_QImode:
6617 : : if (!register_operand (operands[0], E_QImode))
6618 : : return -1;
6619 : : if (general_operand (operands[1], E_QImode)
6620 : : &&
6621 : : #line 3458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6622 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6623 : : return 115; /* *movstrictqi_1 */
6624 : : if (pnum_clobbers == NULL
6625 : : || !const0_operand (operands[1], E_QImode)
6626 : : || !
6627 : : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6628 : : (reload_completed))
6629 : : return -1;
6630 : : *pnum_clobbers = 1;
6631 : : return 117; /* *movstrictqi_xor */
6632 : :
6633 : : case E_HImode:
6634 : : if (!register_operand (operands[0], E_HImode))
6635 : : return -1;
6636 : : if (general_operand (operands[1], E_HImode)
6637 : : &&
6638 : : #line 3458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6639 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6640 : : return 116; /* *movstricthi_1 */
6641 : : if (pnum_clobbers == NULL
6642 : : || !const0_operand (operands[1], E_HImode)
6643 : : || !
6644 : : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6645 : : (reload_completed))
6646 : : return -1;
6647 : : *pnum_clobbers = 1;
6648 : : return 118; /* *movstricthi_xor */
6649 : :
6650 : : default:
6651 : : return -1;
6652 : : }
6653 : : }
6654 : :
6655 : : int
6656 : : recog_20 (rtx x1 ATTRIBUTE_UNUSED,
6657 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6658 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6659 : : {
6660 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6661 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6662 : : rtx x10, x11;
6663 : : int res ATTRIBUTE_UNUSED;
6664 : : x2 = XEXP (x1, 0);
6665 : : switch (GET_CODE (x2))
6666 : : {
6667 : : case REG:
6668 : : case SUBREG:
6669 : : case MEM:
6670 : : res = recog_16 (x1, insn, pnum_clobbers);
6671 : : if (res >= 0)
6672 : : return res;
6673 : : break;
6674 : :
6675 : : case STRICT_LOW_PART:
6676 : : res = recog_17 (x1, insn, pnum_clobbers);
6677 : : if (res >= 0)
6678 : : return res;
6679 : : break;
6680 : :
6681 : : case ZERO_EXTRACT:
6682 : : res = recog_18 (x1, insn, pnum_clobbers);
6683 : : if (res >= 0)
6684 : : return res;
6685 : : break;
6686 : :
6687 : : case PC:
6688 : : x3 = XEXP (x1, 1);
6689 : : operands[0] = x3;
6690 : : switch (GET_MODE (operands[0]))
6691 : : {
6692 : : case E_SImode:
6693 : : if (indirect_branch_operand (operands[0], E_SImode)
6694 : : &&
6695 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6696 : : (word_mode == SImode))
6697 : : return 1464; /* *indirect_jump */
6698 : : break;
6699 : :
6700 : : case E_DImode:
6701 : : if (indirect_branch_operand (operands[0], E_DImode)
6702 : : &&
6703 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6704 : : (word_mode == DImode))
6705 : : return 1465; /* *indirect_jump */
6706 : : break;
6707 : :
6708 : : default:
6709 : : break;
6710 : : }
6711 : : break;
6712 : :
6713 : : default:
6714 : : break;
6715 : : }
6716 : : x3 = XEXP (x1, 1);
6717 : : switch (GET_CODE (x3))
6718 : : {
6719 : : case MEM:
6720 : : operands[0] = x2;
6721 : : x4 = XEXP (x3, 0);
6722 : : operands[1] = x4;
6723 : : if (!x86_64_movabs_operand (operands[1], E_DImode))
6724 : : return -1;
6725 : : switch (GET_MODE (operands[0]))
6726 : : {
6727 : : case E_QImode:
6728 : : if (!register_operand (operands[0], E_QImode)
6729 : : || GET_MODE (x3) != E_QImode
6730 : : || !
6731 : : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6732 : : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
6733 : : return -1;
6734 : : return 107; /* *movabsqi_2 */
6735 : :
6736 : : case E_HImode:
6737 : : if (!register_operand (operands[0], E_HImode)
6738 : : || GET_MODE (x3) != E_HImode
6739 : : || !
6740 : : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6741 : : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
6742 : : return -1;
6743 : : return 108; /* *movabshi_2 */
6744 : :
6745 : : case E_SImode:
6746 : : if (!register_operand (operands[0], E_SImode)
6747 : : || GET_MODE (x3) != E_SImode
6748 : : || !
6749 : : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6750 : : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
6751 : : return -1;
6752 : : return 109; /* *movabssi_2 */
6753 : :
6754 : : case E_DImode:
6755 : : if (!register_operand (operands[0], E_DImode)
6756 : : || GET_MODE (x3) != E_DImode
6757 : : || !
6758 : : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6759 : : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
6760 : : return -1;
6761 : : return 110; /* *movabsdi_2 */
6762 : :
6763 : : default:
6764 : : return -1;
6765 : : }
6766 : :
6767 : : case SUBREG:
6768 : : if (maybe_ne (SUBREG_BYTE (x3), 0))
6769 : : return -1;
6770 : : x4 = XEXP (x3, 0);
6771 : : switch (GET_CODE (x4))
6772 : : {
6773 : : case ASHIFTRT:
6774 : : case LSHIFTRT:
6775 : : case SIGN_EXTRACT:
6776 : : case ZERO_EXTRACT:
6777 : : operands[2] = x4;
6778 : : res = recog_19 (x1, insn, pnum_clobbers);
6779 : : if (res >= 0)
6780 : : return res;
6781 : : if (pnum_clobbers == NULL
6782 : : || pattern412 (x1) != 0
6783 : : || GET_MODE (x4) != E_QImode)
6784 : : return -1;
6785 : : x5 = XEXP (x4, 0);
6786 : : x6 = XEXP (x5, 0);
6787 : : x7 = XEXP (x6, 0);
6788 : : operands[1] = x7;
6789 : : if (!int248_register_operand (operands[1], E_VOIDmode))
6790 : : return -1;
6791 : : x8 = XEXP (x4, 1);
6792 : : operands[2] = x8;
6793 : : if (!nonmemory_operand (operands[2], E_QImode))
6794 : : return -1;
6795 : : switch (GET_CODE (x4))
6796 : : {
6797 : : case LSHIFTRT:
6798 : : switch (pattern1689 (x1))
6799 : : {
6800 : : case 0:
6801 : : *pnum_clobbers = 1;
6802 : : return 1242; /* *lshrqi_exthi_1 */
6803 : :
6804 : : case 1:
6805 : : *pnum_clobbers = 1;
6806 : : return 1244; /* *lshrqi_extsi_1 */
6807 : :
6808 : : case 2:
6809 : : if (!
6810 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6811 : : (TARGET_64BIT))
6812 : : return -1;
6813 : : *pnum_clobbers = 1;
6814 : : return 1246; /* *lshrqi_extdi_1 */
6815 : :
6816 : : default:
6817 : : return -1;
6818 : : }
6819 : :
6820 : : case ASHIFTRT:
6821 : : switch (pattern1689 (x1))
6822 : : {
6823 : : case 0:
6824 : : *pnum_clobbers = 1;
6825 : : return 1243; /* *ashrqi_exthi_1 */
6826 : :
6827 : : case 1:
6828 : : *pnum_clobbers = 1;
6829 : : return 1245; /* *ashrqi_extsi_1 */
6830 : :
6831 : : case 2:
6832 : : if (!
6833 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6834 : : (TARGET_64BIT))
6835 : : return -1;
6836 : : *pnum_clobbers = 1;
6837 : : return 1247; /* *ashrqi_extdi_1 */
6838 : :
6839 : : default:
6840 : : return -1;
6841 : : }
6842 : :
6843 : : default:
6844 : : return -1;
6845 : : }
6846 : :
6847 : : case CONST_INT:
6848 : : case CONST_WIDE_INT:
6849 : : case CONST_POLY_INT:
6850 : : case CONST_FIXED:
6851 : : case CONST_DOUBLE:
6852 : : case CONST_VECTOR:
6853 : : case CONST:
6854 : : case REG:
6855 : : case SUBREG:
6856 : : case MEM:
6857 : : case LABEL_REF:
6858 : : case SYMBOL_REF:
6859 : : case HIGH:
6860 : : operands[1] = x4;
6861 : : if (!general_operand (operands[1], E_QImode)
6862 : : || pattern411 (x2) != 0)
6863 : : return -1;
6864 : : switch (GET_MODE (x2))
6865 : : {
6866 : : case E_HImode:
6867 : : if (GET_MODE (x3) != E_HImode)
6868 : : return -1;
6869 : : return 135; /* *insvqi_1 */
6870 : :
6871 : : case E_SImode:
6872 : : if (GET_MODE (x3) != E_SImode)
6873 : : return -1;
6874 : : return 136; /* *insvqi_1 */
6875 : :
6876 : : case E_DImode:
6877 : : if (GET_MODE (x3) != E_DImode
6878 : : || !
6879 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6880 : : (TARGET_64BIT))
6881 : : return -1;
6882 : : return 137; /* *insvqi_1 */
6883 : :
6884 : : default:
6885 : : return -1;
6886 : : }
6887 : :
6888 : : case PLUS:
6889 : : if (pattern244 (x1, pnum_clobbers) != 0)
6890 : : return -1;
6891 : : x8 = XEXP (x4, 1);
6892 : : operands[2] = x8;
6893 : : if (general_operand (operands[2], E_QImode))
6894 : : {
6895 : : switch (pattern1689 (x1))
6896 : : {
6897 : : case 0:
6898 : : *pnum_clobbers = 1;
6899 : : return 337; /* *addqi_exthi_1 */
6900 : :
6901 : : case 1:
6902 : : *pnum_clobbers = 1;
6903 : : return 338; /* *addqi_extsi_1 */
6904 : :
6905 : : case 2:
6906 : : if (
6907 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6908 : : (TARGET_64BIT))
6909 : : {
6910 : : *pnum_clobbers = 1;
6911 : : return 339; /* *addqi_extdi_1 */
6912 : : }
6913 : : break;
6914 : :
6915 : : default:
6916 : : break;
6917 : : }
6918 : : }
6919 : : if (GET_CODE (x8) != SUBREG)
6920 : : return -1;
6921 : : switch (pattern1661 (x1))
6922 : : {
6923 : : case 0:
6924 : : *pnum_clobbers = 1;
6925 : : return 340; /* *addqi_exthi_2 */
6926 : :
6927 : : case 1:
6928 : : *pnum_clobbers = 1;
6929 : : return 342; /* *addqi_extsi_2 */
6930 : :
6931 : : case 2:
6932 : : if (!
6933 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6934 : : (TARGET_64BIT))
6935 : : return -1;
6936 : : *pnum_clobbers = 1;
6937 : : return 344; /* *addqi_extdi_2 */
6938 : :
6939 : : default:
6940 : : return -1;
6941 : : }
6942 : :
6943 : : case MINUS:
6944 : : if (pattern244 (x1, pnum_clobbers) != 0)
6945 : : return -1;
6946 : : x8 = XEXP (x4, 1);
6947 : : if (GET_CODE (x8) == SUBREG)
6948 : : {
6949 : : switch (pattern1661 (x1))
6950 : : {
6951 : : case 0:
6952 : : *pnum_clobbers = 1;
6953 : : return 341; /* *subqi_exthi_2 */
6954 : :
6955 : : case 1:
6956 : : *pnum_clobbers = 1;
6957 : : return 343; /* *subqi_extsi_2 */
6958 : :
6959 : : case 2:
6960 : : if (
6961 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6962 : : (TARGET_64BIT))
6963 : : {
6964 : : *pnum_clobbers = 1;
6965 : : return 345; /* *subqi_extdi_2 */
6966 : : }
6967 : : break;
6968 : :
6969 : : default:
6970 : : break;
6971 : : }
6972 : : }
6973 : : operands[2] = x8;
6974 : : if (!general_operand (operands[2], E_QImode))
6975 : : return -1;
6976 : : switch (pattern1689 (x1))
6977 : : {
6978 : : case 0:
6979 : : *pnum_clobbers = 1;
6980 : : return 426; /* *subqi_exthi_1 */
6981 : :
6982 : : case 1:
6983 : : *pnum_clobbers = 1;
6984 : : return 427; /* *subqi_extsi_1 */
6985 : :
6986 : : case 2:
6987 : : if (!
6988 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6989 : : (TARGET_64BIT))
6990 : : return -1;
6991 : : *pnum_clobbers = 1;
6992 : : return 428; /* *subqi_extdi_1 */
6993 : :
6994 : : default:
6995 : : return -1;
6996 : : }
6997 : :
6998 : : case AND:
6999 : : if (pattern244 (x1, pnum_clobbers) != 0)
7000 : : return -1;
7001 : : x8 = XEXP (x4, 1);
7002 : : operands[2] = x8;
7003 : : if (general_operand (operands[2], E_QImode))
7004 : : {
7005 : : switch (pattern1689 (x1))
7006 : : {
7007 : : case 0:
7008 : : *pnum_clobbers = 1;
7009 : : return 777; /* *andqi_exthi_1 */
7010 : :
7011 : : case 1:
7012 : : *pnum_clobbers = 1;
7013 : : return 780; /* *andqi_extsi_1 */
7014 : :
7015 : : case 2:
7016 : : if (
7017 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7018 : : (TARGET_64BIT))
7019 : : {
7020 : : *pnum_clobbers = 1;
7021 : : return 783; /* *andqi_extdi_1 */
7022 : : }
7023 : : break;
7024 : :
7025 : : default:
7026 : : break;
7027 : : }
7028 : : }
7029 : : if (GET_CODE (x8) != SUBREG)
7030 : : return -1;
7031 : : switch (pattern1661 (x1))
7032 : : {
7033 : : case 0:
7034 : : *pnum_clobbers = 1;
7035 : : return 795; /* *andqi_exthi_2 */
7036 : :
7037 : : case 1:
7038 : : *pnum_clobbers = 1;
7039 : : return 798; /* *andqi_extsi_2 */
7040 : :
7041 : : case 2:
7042 : : if (!
7043 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7044 : : (TARGET_64BIT))
7045 : : return -1;
7046 : : *pnum_clobbers = 1;
7047 : : return 801; /* *andqi_extdi_2 */
7048 : :
7049 : : default:
7050 : : return -1;
7051 : : }
7052 : :
7053 : : case IOR:
7054 : : if (pattern244 (x1, pnum_clobbers) != 0)
7055 : : return -1;
7056 : : x8 = XEXP (x4, 1);
7057 : : operands[2] = x8;
7058 : : if (general_operand (operands[2], E_QImode))
7059 : : {
7060 : : switch (pattern1689 (x1))
7061 : : {
7062 : : case 0:
7063 : : *pnum_clobbers = 1;
7064 : : return 778; /* *iorqi_exthi_1 */
7065 : :
7066 : : case 1:
7067 : : *pnum_clobbers = 1;
7068 : : return 781; /* *iorqi_extsi_1 */
7069 : :
7070 : : case 2:
7071 : : if (
7072 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7073 : : (TARGET_64BIT))
7074 : : {
7075 : : *pnum_clobbers = 1;
7076 : : return 784; /* *iorqi_extdi_1 */
7077 : : }
7078 : : break;
7079 : :
7080 : : default:
7081 : : break;
7082 : : }
7083 : : }
7084 : : if (GET_CODE (x8) != SUBREG)
7085 : : return -1;
7086 : : switch (pattern1661 (x1))
7087 : : {
7088 : : case 0:
7089 : : *pnum_clobbers = 1;
7090 : : return 796; /* *iorqi_exthi_2 */
7091 : :
7092 : : case 1:
7093 : : *pnum_clobbers = 1;
7094 : : return 799; /* *iorqi_extsi_2 */
7095 : :
7096 : : case 2:
7097 : : if (!
7098 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7099 : : (TARGET_64BIT))
7100 : : return -1;
7101 : : *pnum_clobbers = 1;
7102 : : return 802; /* *iorqi_extdi_2 */
7103 : :
7104 : : default:
7105 : : return -1;
7106 : : }
7107 : :
7108 : : case XOR:
7109 : : if (pattern244 (x1, pnum_clobbers) != 0)
7110 : : return -1;
7111 : : x8 = XEXP (x4, 1);
7112 : : operands[2] = x8;
7113 : : if (general_operand (operands[2], E_QImode))
7114 : : {
7115 : : switch (pattern1689 (x1))
7116 : : {
7117 : : case 0:
7118 : : *pnum_clobbers = 1;
7119 : : return 779; /* *xorqi_exthi_1 */
7120 : :
7121 : : case 1:
7122 : : *pnum_clobbers = 1;
7123 : : return 782; /* *xorqi_extsi_1 */
7124 : :
7125 : : case 2:
7126 : : if (
7127 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7128 : : (TARGET_64BIT))
7129 : : {
7130 : : *pnum_clobbers = 1;
7131 : : return 785; /* *xorqi_extdi_1 */
7132 : : }
7133 : : break;
7134 : :
7135 : : default:
7136 : : break;
7137 : : }
7138 : : }
7139 : : if (GET_CODE (x8) != SUBREG)
7140 : : return -1;
7141 : : switch (pattern1661 (x1))
7142 : : {
7143 : : case 0:
7144 : : *pnum_clobbers = 1;
7145 : : return 797; /* *xorqi_exthi_2 */
7146 : :
7147 : : case 1:
7148 : : *pnum_clobbers = 1;
7149 : : return 800; /* *xorqi_extsi_2 */
7150 : :
7151 : : case 2:
7152 : : if (!
7153 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7154 : : (TARGET_64BIT))
7155 : : return -1;
7156 : : *pnum_clobbers = 1;
7157 : : return 803; /* *xorqi_extdi_2 */
7158 : :
7159 : : default:
7160 : : return -1;
7161 : : }
7162 : :
7163 : : case NEG:
7164 : : if (pnum_clobbers == NULL
7165 : : || GET_MODE (x4) != E_QImode)
7166 : : return -1;
7167 : : x5 = XEXP (x4, 0);
7168 : : if (GET_CODE (x5) != SUBREG
7169 : : || maybe_ne (SUBREG_BYTE (x5), 0)
7170 : : || GET_MODE (x5) != E_QImode)
7171 : : return -1;
7172 : : x6 = XEXP (x5, 0);
7173 : : switch (GET_CODE (x6))
7174 : : {
7175 : : case ASHIFTRT:
7176 : : case LSHIFTRT:
7177 : : case SIGN_EXTRACT:
7178 : : case ZERO_EXTRACT:
7179 : : operands[2] = x6;
7180 : : if (pattern243 (x1) != 0)
7181 : : return -1;
7182 : : switch (GET_MODE (x2))
7183 : : {
7184 : : case E_HImode:
7185 : : if (GET_MODE (x3) != E_HImode
7186 : : || !extract_high_operator (operands[2], E_HImode))
7187 : : return -1;
7188 : : *pnum_clobbers = 1;
7189 : : return 992; /* *negqi_exthi_1 */
7190 : :
7191 : : case E_SImode:
7192 : : if (GET_MODE (x3) != E_SImode
7193 : : || !extract_high_operator (operands[2], E_SImode))
7194 : : return -1;
7195 : : *pnum_clobbers = 1;
7196 : : return 993; /* *negqi_extsi_1 */
7197 : :
7198 : : case E_DImode:
7199 : : if (GET_MODE (x3) != E_DImode
7200 : : || !extract_high_operator (operands[2], E_DImode)
7201 : : || !
7202 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7203 : : (TARGET_64BIT))
7204 : : return -1;
7205 : : *pnum_clobbers = 1;
7206 : : return 994; /* *negqi_extdi_1 */
7207 : :
7208 : : default:
7209 : : return -1;
7210 : : }
7211 : :
7212 : : default:
7213 : : return -1;
7214 : : }
7215 : :
7216 : : case ASHIFT:
7217 : : if (pnum_clobbers == NULL
7218 : : || GET_MODE (x4) != E_QImode
7219 : : || pattern412 (x1) != 0)
7220 : : return -1;
7221 : : x5 = XEXP (x4, 0);
7222 : : x6 = XEXP (x5, 0);
7223 : : x7 = XEXP (x6, 0);
7224 : : operands[1] = x7;
7225 : : if (!int248_register_operand (operands[1], E_VOIDmode))
7226 : : return -1;
7227 : : x8 = XEXP (x4, 1);
7228 : : operands[2] = x8;
7229 : : if (!nonmemory_operand (operands[2], E_QImode))
7230 : : return -1;
7231 : : switch (pattern1689 (x1))
7232 : : {
7233 : : case 0:
7234 : : *pnum_clobbers = 1;
7235 : : return 1123; /* *ashlqi_exthi_1 */
7236 : :
7237 : : case 1:
7238 : : *pnum_clobbers = 1;
7239 : : return 1124; /* *ashlqi_extsi_1 */
7240 : :
7241 : : case 2:
7242 : : if (!
7243 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7244 : : (TARGET_64BIT))
7245 : : return -1;
7246 : : *pnum_clobbers = 1;
7247 : : return 1125; /* *ashlqi_extdi_1 */
7248 : :
7249 : : default:
7250 : : return -1;
7251 : : }
7252 : :
7253 : : case SS_TRUNCATE:
7254 : : if (pattern245 (x1) != 0
7255 : : || !
7256 : : #line 15444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7257 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7258 : : return -1;
7259 : : return 7251; /* *avx512vl_ss_truncatev2div2qi2_store_2 */
7260 : :
7261 : : case TRUNCATE:
7262 : : if (pattern245 (x1) != 0
7263 : : || !
7264 : : #line 15444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7265 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7266 : : return -1;
7267 : : return 7252; /* *avx512vl_truncatev2div2qi2_store_2 */
7268 : :
7269 : : case US_TRUNCATE:
7270 : : if (pattern245 (x1) != 0
7271 : : || !
7272 : : #line 15444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7273 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7274 : : return -1;
7275 : : return 7253; /* *avx512vl_us_truncatev2div2qi2_store_2 */
7276 : :
7277 : : default:
7278 : : return -1;
7279 : : }
7280 : :
7281 : : case REG:
7282 : : if (REGNO (x3) != 17
7283 : : || pattern55 (x1,
7284 : : E_CCCmode) != 0
7285 : : || !
7286 : : #line 10046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7287 : : (ix86_pre_reload_split ()))
7288 : : return -1;
7289 : : return 533; /* *setccc */
7290 : :
7291 : : case CONST_INT:
7292 : : if (pnum_clobbers == NULL
7293 : : || GET_CODE (x2) != ZERO_EXTRACT)
7294 : : return -1;
7295 : : x9 = XEXP (x2, 1);
7296 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
7297 : : return -1;
7298 : : x10 = XEXP (x2, 0);
7299 : : operands[0] = x10;
7300 : : x11 = XEXP (x2, 2);
7301 : : operands[1] = x11;
7302 : : switch (XWINT (x3, 0))
7303 : : {
7304 : : case 0L:
7305 : : switch (GET_CODE (operands[1]))
7306 : : {
7307 : : case REG:
7308 : : case SUBREG:
7309 : : if (!register_operand (operands[1], E_QImode)
7310 : : || GET_MODE (x2) != E_HImode)
7311 : : return -1;
7312 : : switch (GET_MODE (operands[0]))
7313 : : {
7314 : : case E_QImode:
7315 : : if (!nonimmediate_operand (operands[0], E_QImode)
7316 : : || !
7317 : : #line 19116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7318 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
7319 : : return -1;
7320 : : *pnum_clobbers = 1;
7321 : : return 1415; /* *btrqi_2 */
7322 : :
7323 : : case E_HImode:
7324 : : if (!nonimmediate_operand (operands[0], E_HImode)
7325 : : || !
7326 : : #line 19116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7327 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
7328 : : return -1;
7329 : : *pnum_clobbers = 1;
7330 : : return 1416; /* *btrhi_2 */
7331 : :
7332 : : default:
7333 : : return -1;
7334 : : }
7335 : :
7336 : : case CONST_INT:
7337 : : if (!const_0_to_63_operand (operands[1], E_QImode)
7338 : : || GET_MODE (x2) != E_DImode
7339 : : || !nonimmediate_operand (operands[0], E_DImode)
7340 : : || !
7341 : : #line 19180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7342 : : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
7343 : : return -1;
7344 : : *pnum_clobbers = 1;
7345 : : return 1418; /* *btrq_imm */
7346 : :
7347 : : default:
7348 : : return -1;
7349 : : }
7350 : :
7351 : : case 1L:
7352 : : if (GET_MODE (x2) != E_DImode
7353 : : || !nonimmediate_operand (operands[0], E_DImode)
7354 : : || !const_0_to_63_operand (operands[1], E_QImode)
7355 : : || !
7356 : : #line 19167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7357 : : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
7358 : : return -1;
7359 : : *pnum_clobbers = 1;
7360 : : return 1417; /* *btsq_imm */
7361 : :
7362 : : default:
7363 : : return -1;
7364 : : }
7365 : :
7366 : : case LABEL_REF:
7367 : : if (GET_CODE (x2) != PC)
7368 : : return -1;
7369 : : x4 = XEXP (x3, 0);
7370 : : operands[0] = x4;
7371 : : return 1463; /* jump */
7372 : :
7373 : : default:
7374 : : return -1;
7375 : : }
7376 : : }
7377 : :
7378 : : int
7379 : : recog_32 (rtx x1 ATTRIBUTE_UNUSED,
7380 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7381 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7382 : : {
7383 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7384 : : rtx x2, x3, x4;
7385 : : int res ATTRIBUTE_UNUSED;
7386 : : x2 = XEXP (x1, 0);
7387 : : operands[0] = x2;
7388 : : x3 = XEXP (x1, 1);
7389 : : x4 = XEXP (x3, 0);
7390 : : operands[1] = x4;
7391 : : switch (GET_MODE (operands[0]))
7392 : : {
7393 : : case E_SFmode:
7394 : : if (GET_MODE (x3) != E_SFmode)
7395 : : return -1;
7396 : : if (nonimm_ssenomem_operand (operands[0], E_SFmode)
7397 : : && register_ssemem_operand (operands[1], E_DFmode)
7398 : : &&
7399 : : #line 5539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7400 : : (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)))
7401 : : return 210; /* truncdfsf2 */
7402 : : if (!nonimmediate_operand (operands[0], E_SFmode)
7403 : : || !register_operand (operands[1], E_XFmode)
7404 : : || !
7405 : : #line 5667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7406 : : (TARGET_80387))
7407 : : return -1;
7408 : : return 211; /* truncxfsf2 */
7409 : :
7410 : : case E_DFmode:
7411 : : if (!nonimmediate_operand (operands[0], E_DFmode)
7412 : : || GET_MODE (x3) != E_DFmode
7413 : : || !register_operand (operands[1], E_XFmode)
7414 : : || !
7415 : : #line 5667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7416 : : (TARGET_80387))
7417 : : return -1;
7418 : : return 212; /* truncxfdf2 */
7419 : :
7420 : : case E_HFmode:
7421 : : if (!register_operand (operands[0], E_HFmode))
7422 : : return -1;
7423 : : switch (pattern415 (x3,
7424 : : E_HFmode))
7425 : : {
7426 : : case 0:
7427 : : if (!
7428 : : #line 5708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7429 : : (TARGET_AVX512FP16))
7430 : : return -1;
7431 : : return 213; /* *truncsfhf2 */
7432 : :
7433 : : case 1:
7434 : : if (!
7435 : : #line 5708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7436 : : (TARGET_AVX512FP16))
7437 : : return -1;
7438 : : return 214; /* *truncdfhf2 */
7439 : :
7440 : : default:
7441 : : return -1;
7442 : : }
7443 : :
7444 : : case E_BFmode:
7445 : : if (!register_operand (operands[0], E_BFmode)
7446 : : || GET_MODE (x3) != E_BFmode
7447 : : || !register_operand (operands[1], E_SFmode)
7448 : : || !
7449 : : #line 5724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7450 : : (TARGET_SSE2 && !HONOR_NANS (BFmode) && !flag_rounding_math
7451 : : && (flag_unsafe_math_optimizations
7452 : : || TARGET_AVXNECONVERT
7453 : : || (TARGET_AVX512BF16 && TARGET_AVX512VL))))
7454 : : return -1;
7455 : : return 215; /* truncsfbf2 */
7456 : :
7457 : : case E_V2SFmode:
7458 : : if (!register_operand (operands[0], E_V2SFmode)
7459 : : || GET_MODE (x3) != E_V2SFmode
7460 : : || !vector_operand (operands[1], E_V2DFmode)
7461 : : || !
7462 : : #line 10188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7463 : : (TARGET_MMX_WITH_SSE))
7464 : : return -1;
7465 : : return 5114; /* truncv2dfv2sf2 */
7466 : :
7467 : : default:
7468 : : return -1;
7469 : : }
7470 : : }
7471 : :
7472 : : int
7473 : : recog_36 (rtx x1 ATTRIBUTE_UNUSED,
7474 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7475 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7476 : : {
7477 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7478 : : rtx x2, x3, x4;
7479 : : int res ATTRIBUTE_UNUSED;
7480 : : x2 = XEXP (x1, 0);
7481 : : operands[0] = x2;
7482 : : x3 = XEXP (x1, 1);
7483 : : x4 = XEXP (x3, 0);
7484 : : operands[1] = x4;
7485 : : switch (GET_MODE (operands[0]))
7486 : : {
7487 : : case E_HFmode:
7488 : : switch (pattern251 (x3,
7489 : : E_HFmode))
7490 : : {
7491 : : case 0:
7492 : : if (!
7493 : : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7494 : : (TARGET_AVX512FP16))
7495 : : return -1;
7496 : : return 253; /* floatunssihf2 */
7497 : :
7498 : : case 1:
7499 : : if (!(
7500 : : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7501 : : (TARGET_AVX512FP16) &&
7502 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7503 : : (TARGET_64BIT)))
7504 : : return -1;
7505 : : return 255; /* floatunsdihf2 */
7506 : :
7507 : : default:
7508 : : return -1;
7509 : : }
7510 : :
7511 : : case E_SFmode:
7512 : : switch (pattern251 (x3,
7513 : : E_SFmode))
7514 : : {
7515 : : case 0:
7516 : : if (!
7517 : : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7518 : : (TARGET_AVX512F && TARGET_SSE_MATH))
7519 : : return -1;
7520 : : return 261; /* *floatunssisf2_avx512 */
7521 : :
7522 : : case 1:
7523 : : if (!(
7524 : : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7525 : : (TARGET_AVX512F && TARGET_SSE_MATH) &&
7526 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7527 : : (TARGET_64BIT)))
7528 : : return -1;
7529 : : return 262; /* *floatunsdisf2_avx512 */
7530 : :
7531 : : default:
7532 : : return -1;
7533 : : }
7534 : :
7535 : : case E_DFmode:
7536 : : switch (pattern251 (x3,
7537 : : E_DFmode))
7538 : : {
7539 : : case 0:
7540 : : if (!
7541 : : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7542 : : (TARGET_AVX512F && TARGET_SSE_MATH))
7543 : : return -1;
7544 : : return 263; /* *floatunssidf2_avx512 */
7545 : :
7546 : : case 1:
7547 : : if (!(
7548 : : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7549 : : (TARGET_AVX512F && TARGET_SSE_MATH) &&
7550 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7551 : : (TARGET_64BIT)))
7552 : : return -1;
7553 : : return 264; /* *floatunsdidf2_avx512 */
7554 : :
7555 : : default:
7556 : : return -1;
7557 : : }
7558 : :
7559 : : default:
7560 : : return -1;
7561 : : }
7562 : : }
7563 : :
7564 : : int
7565 : : recog_40 (rtx x1 ATTRIBUTE_UNUSED,
7566 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7567 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7568 : : {
7569 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7570 : : rtx x2, x3, x4, x5;
7571 : : int res ATTRIBUTE_UNUSED;
7572 : : x2 = XEXP (x1, 1);
7573 : : x3 = XEXP (x2, 1);
7574 : : if (GET_CODE (x3) != CONST_INT
7575 : : || !register_operand (operands[0], E_QImode)
7576 : : || GET_MODE (x2) != E_QImode)
7577 : : return -1;
7578 : : x4 = XEXP (x2, 0);
7579 : : x5 = XVECEXP (x4, 0, 2);
7580 : : operands[3] = x5;
7581 : : if (!const_0_to_7_operand (operands[3], E_SImode))
7582 : : return -1;
7583 : : switch (XWINT (x3, 0))
7584 : : {
7585 : : case 15L:
7586 : : switch (GET_MODE (operands[1]))
7587 : : {
7588 : : case E_V4SImode:
7589 : : if (!nonimmediate_operand (operands[1], E_V4SImode)
7590 : : || !nonimmediate_operand (operands[2], E_V4SImode)
7591 : : || !(
7592 : : #line 4501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7593 : : (TARGET_AVX512F) &&
7594 : : #line 520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7595 : : (TARGET_AVX512VL)))
7596 : : return -1;
7597 : : return 3417; /* *avx512vl_ucmpv4si3_and15 */
7598 : :
7599 : : case E_V4DImode:
7600 : : if (!nonimmediate_operand (operands[1], E_V4DImode)
7601 : : || !nonimmediate_operand (operands[2], E_V4DImode)
7602 : : || !(
7603 : : #line 4501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7604 : : (TARGET_AVX512F) &&
7605 : : #line 520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7606 : : (TARGET_AVX512VL)))
7607 : : return -1;
7608 : : return 3418; /* *avx512vl_ucmpv4di3_and15 */
7609 : :
7610 : : default:
7611 : : return -1;
7612 : : }
7613 : :
7614 : : case 3L:
7615 : : if (!nonimmediate_operand (operands[1], E_V2DImode)
7616 : : || !nonimmediate_operand (operands[2], E_V2DImode)
7617 : : || !
7618 : : #line 4533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7619 : : (TARGET_AVX512F))
7620 : : return -1;
7621 : : return 3421; /* *avx512vl_ucmpv2di3_and3 */
7622 : :
7623 : : default:
7624 : : return -1;
7625 : : }
7626 : : }
7627 : :
7628 : : int
7629 : : recog_43 (rtx x1 ATTRIBUTE_UNUSED,
7630 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7631 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7632 : : {
7633 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7634 : : rtx x2, x3, x4, x5, x6;
7635 : : int res ATTRIBUTE_UNUSED;
7636 : : x2 = XEXP (x1, 1);
7637 : : x3 = XEXP (x2, 0);
7638 : : switch (GET_CODE (x3))
7639 : : {
7640 : : case REG:
7641 : : case SUBREG:
7642 : : case MEM:
7643 : : operands[1] = x3;
7644 : : x4 = XEXP (x1, 0);
7645 : : switch (GET_CODE (x4))
7646 : : {
7647 : : case REG:
7648 : : case SUBREG:
7649 : : case MEM:
7650 : : operands[0] = x4;
7651 : : switch (GET_MODE (operands[0]))
7652 : : {
7653 : : case E_TImode:
7654 : : if (pnum_clobbers == NULL
7655 : : || !nonimmediate_operand (operands[0], E_TImode)
7656 : : || GET_MODE (x2) != E_TImode
7657 : : || !nonimmediate_operand (operands[1], E_TImode)
7658 : : || !(
7659 : : #line 14374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7660 : : (ix86_unary_operator_ok (NEG, TImode, operands, TARGET_APX_NDD)) &&
7661 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7662 : : (TARGET_64BIT)))
7663 : : return -1;
7664 : : *pnum_clobbers = 1;
7665 : : return 957; /* *negti2_doubleword */
7666 : :
7667 : : case E_QImode:
7668 : : if (!nonimmediate_operand (operands[0], E_QImode)
7669 : : || GET_MODE (x2) != E_QImode
7670 : : || !nonimmediate_operand (operands[1], E_QImode))
7671 : : return -1;
7672 : : if (
7673 : : #line 14483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7674 : : (ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)
7675 : : && TARGET_APX_NF))
7676 : : return 958; /* *negqi_1_nf */
7677 : : if (pnum_clobbers == NULL
7678 : : || !
7679 : : #line 14483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7680 : : (ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)
7681 : : && true))
7682 : : return -1;
7683 : : *pnum_clobbers = 1;
7684 : : return 959; /* *negqi_1 */
7685 : :
7686 : : case E_HImode:
7687 : : if (!nonimmediate_operand (operands[0], E_HImode)
7688 : : || GET_MODE (x2) != E_HImode
7689 : : || !nonimmediate_operand (operands[1], E_HImode))
7690 : : return -1;
7691 : : if (
7692 : : #line 14483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7693 : : (ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)
7694 : : && TARGET_APX_NF))
7695 : : return 960; /* *neghi_1_nf */
7696 : : if (pnum_clobbers == NULL
7697 : : || !
7698 : : #line 14483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7699 : : (ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)
7700 : : && true))
7701 : : return -1;
7702 : : *pnum_clobbers = 1;
7703 : : return 961; /* *neghi_1 */
7704 : :
7705 : : case E_SFmode:
7706 : : if (!register_operand (operands[0], E_SFmode)
7707 : : || GET_MODE (x2) != E_SFmode
7708 : : || !register_operand (operands[1], E_SFmode))
7709 : : return -1;
7710 : : if (pnum_clobbers != NULL
7711 : : &&
7712 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7713 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
7714 : : {
7715 : : *pnum_clobbers = 1;
7716 : : return 1015; /* *negsf2_i387_1 */
7717 : : }
7718 : : if (!
7719 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7720 : : (TARGET_80387 && reload_completed))
7721 : : return -1;
7722 : : return 1029; /* *negsf2_i387 */
7723 : :
7724 : : case E_DFmode:
7725 : : if (!register_operand (operands[0], E_DFmode)
7726 : : || GET_MODE (x2) != E_DFmode
7727 : : || !register_operand (operands[1], E_DFmode))
7728 : : return -1;
7729 : : if (pnum_clobbers != NULL
7730 : : &&
7731 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7732 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
7733 : : {
7734 : : *pnum_clobbers = 1;
7735 : : return 1017; /* *negdf2_i387_1 */
7736 : : }
7737 : : if (!
7738 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7739 : : (TARGET_80387 && reload_completed))
7740 : : return -1;
7741 : : return 1031; /* *negdf2_i387 */
7742 : :
7743 : : case E_XFmode:
7744 : : if (!register_operand (operands[0], E_XFmode)
7745 : : || GET_MODE (x2) != E_XFmode
7746 : : || !register_operand (operands[1], E_XFmode))
7747 : : return -1;
7748 : : if (pnum_clobbers != NULL
7749 : : &&
7750 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7751 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
7752 : : {
7753 : : *pnum_clobbers = 1;
7754 : : return 1019; /* *negxf2_i387_1 */
7755 : : }
7756 : : if (!
7757 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7758 : : (TARGET_80387 && reload_completed))
7759 : : return -1;
7760 : : return 1033; /* *negxf2_i387 */
7761 : :
7762 : : case E_V2QImode:
7763 : : if (pattern601 (x2, pnum_clobbers,
7764 : : E_V2QImode) != 0
7765 : : || !
7766 : : #line 3157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7767 : : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
7768 : : return -1;
7769 : : *pnum_clobbers = 1;
7770 : : return 2134; /* negv2qi2 */
7771 : :
7772 : : default:
7773 : : return -1;
7774 : : }
7775 : :
7776 : : case STRICT_LOW_PART:
7777 : : switch (pattern252 (x1, pnum_clobbers))
7778 : : {
7779 : : case 0:
7780 : : if (!
7781 : : #line 14532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7782 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7783 : : return -1;
7784 : : *pnum_clobbers = 1;
7785 : : return 977; /* *negqi_1_slp */
7786 : :
7787 : : case 1:
7788 : : if (!
7789 : : #line 14532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7790 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7791 : : return -1;
7792 : : *pnum_clobbers = 1;
7793 : : return 978; /* *neghi_1_slp */
7794 : :
7795 : : default:
7796 : : return -1;
7797 : : }
7798 : :
7799 : : default:
7800 : : return -1;
7801 : : }
7802 : :
7803 : : case ABS:
7804 : : if (pnum_clobbers == NULL)
7805 : : return -1;
7806 : : x4 = XEXP (x1, 0);
7807 : : operands[0] = x4;
7808 : : x5 = XEXP (x3, 0);
7809 : : operands[1] = x5;
7810 : : switch (GET_MODE (operands[0]))
7811 : : {
7812 : : case E_TImode:
7813 : : if (pattern602 (x2,
7814 : : E_TImode) != 0
7815 : : || !(
7816 : : #line 14790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7817 : : (TARGET_CMOVE
7818 : : && ix86_pre_reload_split ()) &&
7819 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7820 : : (TARGET_64BIT)))
7821 : : return -1;
7822 : : *pnum_clobbers = 1;
7823 : : return 1002; /* *nabsti2_doubleword */
7824 : :
7825 : : case E_QImode:
7826 : : if (pattern602 (x2,
7827 : : E_QImode) != 0
7828 : : || !
7829 : : #line 14861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7830 : : (TARGET_CMOVE
7831 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
7832 : : && ix86_pre_reload_split ()))
7833 : : return -1;
7834 : : *pnum_clobbers = 1;
7835 : : return 1007; /* *nabsqi2_1 */
7836 : :
7837 : : case E_HImode:
7838 : : if (pattern602 (x2,
7839 : : E_HImode) != 0
7840 : : || !
7841 : : #line 14861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7842 : : (TARGET_CMOVE
7843 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
7844 : : && ix86_pre_reload_split ()))
7845 : : return -1;
7846 : : *pnum_clobbers = 1;
7847 : : return 1008; /* *nabshi2_1 */
7848 : :
7849 : : default:
7850 : : return -1;
7851 : : }
7852 : :
7853 : : case LTU:
7854 : : case UNLT:
7855 : : if (pnum_clobbers == NULL)
7856 : : return -1;
7857 : : operands[1] = x3;
7858 : : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
7859 : : return -1;
7860 : : x5 = XEXP (x3, 0);
7861 : : if (GET_CODE (x5) != REG
7862 : : || REGNO (x5) != 17)
7863 : : return -1;
7864 : : x6 = XEXP (x3, 1);
7865 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7866 : : return -1;
7867 : : x4 = XEXP (x1, 0);
7868 : : operands[0] = x4;
7869 : : switch (pattern947 (x2))
7870 : : {
7871 : : case 0:
7872 : : *pnum_clobbers = 1;
7873 : : return 1805; /* *x86_movqicc_0_m1_neg */
7874 : :
7875 : : case 1:
7876 : : *pnum_clobbers = 1;
7877 : : return 1806; /* *x86_movhicc_0_m1_neg */
7878 : :
7879 : : default:
7880 : : return -1;
7881 : : }
7882 : :
7883 : : default:
7884 : : return -1;
7885 : : }
7886 : : }
7887 : :
7888 : : int
7889 : : recog_49 (rtx x1 ATTRIBUTE_UNUSED,
7890 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7891 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7892 : : {
7893 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7894 : : rtx x2, x3, x4;
7895 : : int res ATTRIBUTE_UNUSED;
7896 : : x2 = XEXP (x1, 1);
7897 : : if (GET_CODE (x2) == EQ)
7898 : : {
7899 : : res = recog_48 (x1, insn, pnum_clobbers);
7900 : : if (res >= 0)
7901 : : return res;
7902 : : }
7903 : : if (pnum_clobbers == NULL)
7904 : : return -1;
7905 : : operands[1] = x2;
7906 : : if (!bt_comparison_operator (operands[1], E_QImode))
7907 : : return -1;
7908 : : x3 = XEXP (x2, 1);
7909 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
7910 : : || !nonimmediate_operand (operands[0], E_QImode))
7911 : : return -1;
7912 : : x4 = XEXP (x2, 0);
7913 : : operands[2] = x4;
7914 : : switch (GET_MODE (operands[2]))
7915 : : {
7916 : : case E_QImode:
7917 : : if (!register_operand (operands[2], E_QImode)
7918 : : || !(
7919 : : #line 2386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7920 : : (TARGET_AVX512BW) &&
7921 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7922 : : (TARGET_AVX512DQ)))
7923 : : return -1;
7924 : : *pnum_clobbers = 1;
7925 : : return 2643; /* *kortest_cmpqi_setcc */
7926 : :
7927 : : case E_HImode:
7928 : : if (!register_operand (operands[2], E_HImode)
7929 : : || !
7930 : : #line 2386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7931 : : (TARGET_AVX512BW))
7932 : : return -1;
7933 : : *pnum_clobbers = 1;
7934 : : return 2644; /* *kortest_cmphi_setcc */
7935 : :
7936 : : case E_SImode:
7937 : : if (!register_operand (operands[2], E_SImode)
7938 : : || !
7939 : : #line 2386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7940 : : (TARGET_AVX512BW))
7941 : : return -1;
7942 : : *pnum_clobbers = 1;
7943 : : return 2645; /* *kortest_cmpsi_setcc */
7944 : :
7945 : : case E_DImode:
7946 : : if (!register_operand (operands[2], E_DImode)
7947 : : || !(
7948 : : #line 2386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7949 : : (TARGET_AVX512BW) &&
7950 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7951 : : (TARGET_AVX512BW && TARGET_64BIT)))
7952 : : return -1;
7953 : : *pnum_clobbers = 1;
7954 : : return 2646; /* *kortest_cmpdi_setcc */
7955 : :
7956 : : default:
7957 : : return -1;
7958 : : }
7959 : : }
7960 : :
7961 : : int
7962 : : recog_50 (rtx x1 ATTRIBUTE_UNUSED,
7963 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7964 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7965 : : {
7966 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7967 : : rtx x2, x3, x4;
7968 : : int res ATTRIBUTE_UNUSED;
7969 : : x2 = XEXP (x1, 1);
7970 : : switch (GET_CODE (x2))
7971 : : {
7972 : : case NE:
7973 : : case EQ:
7974 : : res = recog_49 (x1, insn, pnum_clobbers);
7975 : : if (res >= 0)
7976 : : return res;
7977 : : break;
7978 : :
7979 : : case LT:
7980 : : switch (pattern227 (x2))
7981 : : {
7982 : : case 0:
7983 : : if (
7984 : : #line 3896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7985 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7986 : : return 2211; /* *mmx_ashrv4hi3_1 */
7987 : : break;
7988 : :
7989 : : case 1:
7990 : : if (
7991 : : #line 3896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7992 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7993 : : return 2212; /* *mmx_ashrv2si3_1 */
7994 : : break;
7995 : :
7996 : : case 2:
7997 : : if (
7998 : : #line 3985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7999 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
8000 : : return 2224; /* *mmx_ashrv2hi3_1 */
8001 : : break;
8002 : :
8003 : : default:
8004 : : break;
8005 : : }
8006 : : break;
8007 : :
8008 : : case GT:
8009 : : x3 = XEXP (x2, 0);
8010 : : operands[1] = x3;
8011 : : x4 = XEXP (x2, 1);
8012 : : operands[2] = x4;
8013 : : switch (GET_MODE (operands[0]))
8014 : : {
8015 : : case E_V8QImode:
8016 : : if (pattern834 (x2,
8017 : : E_V8QImode) == 0
8018 : : &&
8019 : : #line 4193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8020 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8021 : : return 2234; /* mmx_gtv8qi3 */
8022 : : break;
8023 : :
8024 : : case E_V4HImode:
8025 : : if (pattern834 (x2,
8026 : : E_V4HImode) == 0
8027 : : &&
8028 : : #line 4193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8029 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8030 : : return 2235; /* mmx_gtv4hi3 */
8031 : : break;
8032 : :
8033 : : case E_V2SImode:
8034 : : if (pattern834 (x2,
8035 : : E_V2SImode) == 0
8036 : : &&
8037 : : #line 4193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8038 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8039 : : return 2236; /* mmx_gtv2si3 */
8040 : : break;
8041 : :
8042 : : case E_V4QImode:
8043 : : if (pattern5 (x2,
8044 : : E_V4QImode) == 0
8045 : : &&
8046 : : #line 4208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8047 : : (TARGET_SSE2))
8048 : : return 2237; /* *gtv4qi3 */
8049 : : break;
8050 : :
8051 : : case E_V2QImode:
8052 : : if (pattern5 (x2,
8053 : : E_V2QImode) == 0
8054 : : &&
8055 : : #line 4208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8056 : : (TARGET_SSE2))
8057 : : return 2238; /* *gtv2qi3 */
8058 : : break;
8059 : :
8060 : : case E_V2HImode:
8061 : : if (pattern5 (x2,
8062 : : E_V2HImode) == 0
8063 : : &&
8064 : : #line 4208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8065 : : (TARGET_SSE2))
8066 : : return 2239; /* *gtv2hi3 */
8067 : : break;
8068 : :
8069 : : default:
8070 : : break;
8071 : : }
8072 : : break;
8073 : :
8074 : : default:
8075 : : break;
8076 : : }
8077 : : operands[1] = x2;
8078 : : x3 = XEXP (x2, 0);
8079 : : operands[2] = x3;
8080 : : x4 = XEXP (x2, 1);
8081 : : operands[3] = x4;
8082 : : switch (GET_MODE (operands[0]))
8083 : : {
8084 : : case E_V8QImode:
8085 : : if (pattern835 (
8086 : : E_V8QImode) != 0
8087 : : || !
8088 : : #line 4221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8089 : : (TARGET_XOP))
8090 : : return -1;
8091 : : return 2240; /* *xop_maskcmpv8qi3 */
8092 : :
8093 : : case E_V4HImode:
8094 : : if (pattern835 (
8095 : : E_V4HImode) != 0
8096 : : || !
8097 : : #line 4221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8098 : : (TARGET_XOP))
8099 : : return -1;
8100 : : return 2241; /* *xop_maskcmpv4hi3 */
8101 : :
8102 : : case E_V2SImode:
8103 : : if (pattern835 (
8104 : : E_V2SImode) != 0
8105 : : || !
8106 : : #line 4221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8107 : : (TARGET_XOP))
8108 : : return -1;
8109 : : return 2242; /* *xop_maskcmpv2si3 */
8110 : :
8111 : : case E_V4QImode:
8112 : : if (pattern835 (
8113 : : E_V4QImode) != 0
8114 : : || !
8115 : : #line 4231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8116 : : (TARGET_XOP))
8117 : : return -1;
8118 : : return 2243; /* *xop_maskcmpv4qi3 */
8119 : :
8120 : : case E_V2QImode:
8121 : : if (pattern835 (
8122 : : E_V2QImode) != 0
8123 : : || !
8124 : : #line 4231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8125 : : (TARGET_XOP))
8126 : : return -1;
8127 : : return 2244; /* *xop_maskcmpv2qi3 */
8128 : :
8129 : : case E_V2HImode:
8130 : : if (pattern835 (
8131 : : E_V2HImode) != 0
8132 : : || !
8133 : : #line 4231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8134 : : (TARGET_XOP))
8135 : : return -1;
8136 : : return 2245; /* *xop_maskcmpv2hi3 */
8137 : :
8138 : : default:
8139 : : return -1;
8140 : : }
8141 : : }
8142 : :
8143 : : int
8144 : : recog_57 (rtx x1 ATTRIBUTE_UNUSED,
8145 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8146 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8147 : : {
8148 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8149 : : rtx x2, x3, x4;
8150 : : int res ATTRIBUTE_UNUSED;
8151 : : x2 = XEXP (x1, 0);
8152 : : switch (GET_CODE (x2))
8153 : : {
8154 : : case REG:
8155 : : case SUBREG:
8156 : : case MEM:
8157 : : operands[0] = x2;
8158 : : switch (GET_MODE (operands[0]))
8159 : : {
8160 : : case E_TImode:
8161 : : x3 = XEXP (x1, 1);
8162 : : if (pattern72 (x3, pnum_clobbers) != 0
8163 : : || !(
8164 : : #line 8060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8165 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
8166 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8167 : : (TARGET_64BIT)))
8168 : : return -1;
8169 : : *pnum_clobbers = 1;
8170 : : return 385; /* *subti3_doubleword */
8171 : :
8172 : : case E_QImode:
8173 : : x3 = XEXP (x1, 1);
8174 : : if (pattern73 (x3,
8175 : : E_QImode) != 0)
8176 : : return -1;
8177 : : if (
8178 : : #line 8116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8179 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
8180 : : && TARGET_APX_NF))
8181 : : return 388; /* *subqi_1_nf */
8182 : : if (pnum_clobbers == NULL
8183 : : || !
8184 : : #line 8116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8185 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
8186 : : && true))
8187 : : return -1;
8188 : : *pnum_clobbers = 1;
8189 : : return 389; /* *subqi_1 */
8190 : :
8191 : : case E_HImode:
8192 : : x3 = XEXP (x1, 1);
8193 : : if (pattern73 (x3,
8194 : : E_HImode) != 0)
8195 : : return -1;
8196 : : if (
8197 : : #line 8116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8198 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
8199 : : && TARGET_APX_NF))
8200 : : return 390; /* *subhi_1_nf */
8201 : : if (pnum_clobbers == NULL
8202 : : || !
8203 : : #line 8116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8204 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
8205 : : && true))
8206 : : return -1;
8207 : : *pnum_clobbers = 1;
8208 : : return 391; /* *subhi_1 */
8209 : :
8210 : : case E_HFmode:
8211 : : x3 = XEXP (x1, 1);
8212 : : if (pattern3 (x3,
8213 : : E_HFmode) != 0
8214 : : || !
8215 : : #line 23620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8216 : : (TARGET_AVX512FP16
8217 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8218 : : return -1;
8219 : : return 1683; /* *subhf */
8220 : :
8221 : : case E_V8QImode:
8222 : : x3 = XEXP (x1, 1);
8223 : : if (pattern6 (x3,
8224 : : E_V8QImode) != 0
8225 : : || !
8226 : : #line 3234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8227 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8228 : : && ix86_binary_operator_ok (MINUS, V8QImode, operands)))
8229 : : return -1;
8230 : : return 2136; /* *mmx_subv8qi3 */
8231 : :
8232 : : case E_V4HImode:
8233 : : x3 = XEXP (x1, 1);
8234 : : if (pattern6 (x3,
8235 : : E_V4HImode) != 0
8236 : : || !
8237 : : #line 3234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8238 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8239 : : && ix86_binary_operator_ok (MINUS, V4HImode, operands)))
8240 : : return -1;
8241 : : return 2138; /* *mmx_subv4hi3 */
8242 : :
8243 : : case E_V2SImode:
8244 : : x3 = XEXP (x1, 1);
8245 : : if (pattern6 (x3,
8246 : : E_V2SImode) != 0
8247 : : || !
8248 : : #line 3234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8249 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8250 : : && ix86_binary_operator_ok (MINUS, V2SImode, operands)))
8251 : : return -1;
8252 : : return 2140; /* *mmx_subv2si3 */
8253 : :
8254 : : case E_V1DImode:
8255 : : x3 = XEXP (x1, 1);
8256 : : if (pattern6 (x3,
8257 : : E_V1DImode) != 0
8258 : : || !(
8259 : : #line 3234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8260 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8261 : : && ix86_binary_operator_ok (MINUS, V1DImode, operands)) &&
8262 : : #line 50 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8263 : : (TARGET_SSE2)))
8264 : : return -1;
8265 : : return 2142; /* *mmx_subv1di3 */
8266 : :
8267 : : case E_V4QImode:
8268 : : x3 = XEXP (x1, 1);
8269 : : if (pattern5 (x3,
8270 : : E_V4QImode) != 0
8271 : : || !
8272 : : #line 3250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8273 : : (TARGET_SSE2))
8274 : : return -1;
8275 : : return 2144; /* subv4qi3 */
8276 : :
8277 : : case E_V2HImode:
8278 : : x3 = XEXP (x1, 1);
8279 : : if (pattern5 (x3,
8280 : : E_V2HImode) != 0
8281 : : || !
8282 : : #line 3250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8283 : : (TARGET_SSE2))
8284 : : return -1;
8285 : : return 2146; /* subv2hi3 */
8286 : :
8287 : : case E_V2QImode:
8288 : : if (pnum_clobbers == NULL)
8289 : : return -1;
8290 : : x3 = XEXP (x1, 1);
8291 : : if (pattern5 (x3,
8292 : : E_V2QImode) != 0
8293 : : || !
8294 : : #line 3264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8295 : : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
8296 : : return -1;
8297 : : *pnum_clobbers = 1;
8298 : : return 2148; /* subv2qi3 */
8299 : :
8300 : : default:
8301 : : return -1;
8302 : : }
8303 : :
8304 : : case STRICT_LOW_PART:
8305 : : if (pnum_clobbers == NULL)
8306 : : return -1;
8307 : : x4 = XEXP (x2, 0);
8308 : : operands[0] = x4;
8309 : : switch (GET_MODE (operands[0]))
8310 : : {
8311 : : case E_QImode:
8312 : : x3 = XEXP (x1, 1);
8313 : : if (pattern1070 (x3,
8314 : : E_QImode) != 0
8315 : : || !
8316 : : #line 8180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8317 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8318 : : return -1;
8319 : : *pnum_clobbers = 1;
8320 : : return 407; /* *subqi_1_slp */
8321 : :
8322 : : case E_HImode:
8323 : : x3 = XEXP (x1, 1);
8324 : : if (pattern1070 (x3,
8325 : : E_HImode) != 0
8326 : : || !
8327 : : #line 8180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8328 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8329 : : return -1;
8330 : : *pnum_clobbers = 1;
8331 : : return 408; /* *subhi_1_slp */
8332 : :
8333 : : default:
8334 : : return -1;
8335 : : }
8336 : :
8337 : : default:
8338 : : return -1;
8339 : : }
8340 : : }
8341 : :
8342 : : int
8343 : : recog_65 (rtx x1 ATTRIBUTE_UNUSED,
8344 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8345 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8346 : : {
8347 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8348 : : rtx x2, x3, x4, x5, x6;
8349 : : int res ATTRIBUTE_UNUSED;
8350 : : x2 = XEXP (x1, 1);
8351 : : x3 = XEXP (x2, 0);
8352 : : operands[1] = x3;
8353 : : x4 = XEXP (x2, 1);
8354 : : switch (XVECLEN (x4, 0))
8355 : : {
8356 : : case 2:
8357 : : x5 = XVECEXP (x4, 0, 0);
8358 : : if (GET_CODE (x5) != CONST_INT)
8359 : : return -1;
8360 : : x6 = XVECEXP (x4, 0, 1);
8361 : : if (GET_CODE (x6) == CONST_INT
8362 : : && GET_MODE (x2) == E_V2SFmode)
8363 : : {
8364 : : switch (XWINT (x5, 0))
8365 : : {
8366 : : case 1L:
8367 : : if (register_operand (operands[0], E_V2SFmode))
8368 : : {
8369 : : switch (XWINT (x6, 0))
8370 : : {
8371 : : case 0L:
8372 : : if (register_mmxmem_operand (operands[1], E_V2SFmode)
8373 : : &&
8374 : : #line 1664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8375 : : (TARGET_3DNOW_A || TARGET_MMX_WITH_SSE))
8376 : : return 2095; /* mmx_pswapdv2sf2 */
8377 : : break;
8378 : :
8379 : : case 1L:
8380 : : if (register_operand (operands[1], E_V2SFmode)
8381 : : &&
8382 : : #line 1680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8383 : : (TARGET_MMX_WITH_SSE))
8384 : : return 2096; /* *mmx_movshdup */
8385 : : break;
8386 : :
8387 : : default:
8388 : : break;
8389 : : }
8390 : : }
8391 : : break;
8392 : :
8393 : : case 0L:
8394 : : switch (XWINT (x6, 0))
8395 : : {
8396 : : case 0L:
8397 : : if (register_operand (operands[0], E_V2SFmode)
8398 : : && register_operand (operands[1], E_V2SFmode)
8399 : : &&
8400 : : #line 1696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8401 : : (TARGET_MMX_WITH_SSE))
8402 : : return 2097; /* *mmx_movsldup */
8403 : : break;
8404 : :
8405 : : case 1L:
8406 : : if (nonimmediate_operand (operands[0], E_V2SFmode)
8407 : : && nonimmediate_operand (operands[1], E_V4SFmode)
8408 : : &&
8409 : : #line 11675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8410 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8411 : : return 5207; /* sse_storelps */
8412 : : break;
8413 : :
8414 : : default:
8415 : : break;
8416 : : }
8417 : : break;
8418 : :
8419 : : case 2L:
8420 : : if (XWINT (x6, 0) == 3L
8421 : : && nonimmediate_operand (operands[0], E_V2SFmode)
8422 : : && nonimmediate_operand (operands[1], E_V4SFmode)
8423 : : &&
8424 : : #line 11622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8425 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8426 : : return 5205; /* sse_storehps */
8427 : : break;
8428 : :
8429 : : default:
8430 : : break;
8431 : : }
8432 : : }
8433 : : operands[2] = x5;
8434 : : if (const_0_to_1_operand (operands[2], E_VOIDmode))
8435 : : {
8436 : : operands[3] = x6;
8437 : : if (const_0_to_1_operand (operands[3], E_VOIDmode))
8438 : : {
8439 : : switch (GET_MODE (operands[0]))
8440 : : {
8441 : : case E_V2SImode:
8442 : : if (register_operand (operands[0], E_V2SImode)
8443 : : && GET_MODE (x2) == E_V2SImode
8444 : : && register_operand (operands[1], E_V2SImode)
8445 : : &&
8446 : : #line 5598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8447 : : (TARGET_MMX_WITH_SSE))
8448 : : return 2346; /* *mmx_pshufd_1 */
8449 : : break;
8450 : :
8451 : : case E_V2HFmode:
8452 : : if (register_operand (operands[0], E_V2HFmode)
8453 : : && GET_MODE (x2) == E_V2HFmode
8454 : : && register_operand (operands[1], E_V2HFmode)
8455 : : &&
8456 : : #line 6259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8457 : : (TARGET_SSE2))
8458 : : return 2382; /* *pshufwv2hf_1 */
8459 : : break;
8460 : :
8461 : : case E_V2BFmode:
8462 : : if (register_operand (operands[0], E_V2BFmode)
8463 : : && GET_MODE (x2) == E_V2BFmode
8464 : : && register_operand (operands[1], E_V2BFmode)
8465 : : &&
8466 : : #line 6259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8467 : : (TARGET_SSE2))
8468 : : return 2383; /* *pshufwv2bf_1 */
8469 : : break;
8470 : :
8471 : : case E_V2HImode:
8472 : : if (register_operand (operands[0], E_V2HImode)
8473 : : && GET_MODE (x2) == E_V2HImode
8474 : : && register_operand (operands[1], E_V2HImode)
8475 : : &&
8476 : : #line 6259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8477 : : (TARGET_SSE2))
8478 : : return 2384; /* *pshufwv2hi_1 */
8479 : : break;
8480 : :
8481 : : default:
8482 : : break;
8483 : : }
8484 : : }
8485 : : }
8486 : : if (XWINT (x5, 0) != 1L
8487 : : || x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8488 : : || !register_operand (operands[0], E_V2SImode)
8489 : : || GET_MODE (x2) != E_V2SImode
8490 : : || !register_mmxmem_operand (operands[1], E_V2SImode)
8491 : : || !
8492 : : #line 5666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8493 : : (TARGET_3DNOW_A))
8494 : : return -1;
8495 : : return 2353; /* mmx_pswapdv2si2 */
8496 : :
8497 : : case 1:
8498 : : x5 = XVECEXP (x4, 0, 0);
8499 : : if (GET_CODE (x5) != CONST_INT)
8500 : : return -1;
8501 : : switch (XWINT (x5, 0))
8502 : : {
8503 : : case 0L:
8504 : : switch (GET_MODE (operands[0]))
8505 : : {
8506 : : case E_SFmode:
8507 : : switch (pattern957 (x2))
8508 : : {
8509 : : case 0:
8510 : : if (
8511 : : #line 1806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8512 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8513 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8514 : : return 2104; /* *vec_extractv2sf_0 */
8515 : : break;
8516 : :
8517 : : case 1:
8518 : : if (
8519 : : #line 12359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8520 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8521 : : return 5263; /* *vec_extractv4sf_0 */
8522 : : break;
8523 : :
8524 : : default:
8525 : : break;
8526 : : }
8527 : : break;
8528 : :
8529 : : case E_HFmode:
8530 : : switch (pattern958 (x2))
8531 : : {
8532 : : case 0:
8533 : : if (
8534 : : #line 13264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8535 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8536 : : return 5322; /* *vec_extractv32hf_0 */
8537 : : break;
8538 : :
8539 : : case 1:
8540 : : if (
8541 : : #line 13264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8542 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8543 : : return 5323; /* *vec_extractv16hf_0 */
8544 : : break;
8545 : :
8546 : : case 2:
8547 : : if (
8548 : : #line 13264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8549 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8550 : : return 5324; /* *vec_extractv8hf_0 */
8551 : : break;
8552 : :
8553 : : default:
8554 : : break;
8555 : : }
8556 : : break;
8557 : :
8558 : : case E_BFmode:
8559 : : switch (pattern959 (x2))
8560 : : {
8561 : : case 0:
8562 : : if (
8563 : : #line 13264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8564 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8565 : : return 5325; /* *vec_extractv32bf_0 */
8566 : : break;
8567 : :
8568 : : case 1:
8569 : : if (
8570 : : #line 13264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8571 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8572 : : return 5326; /* *vec_extractv16bf_0 */
8573 : : break;
8574 : :
8575 : : case 2:
8576 : : if (
8577 : : #line 13264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8578 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8579 : : return 5327; /* *vec_extractv8bf_0 */
8580 : : break;
8581 : :
8582 : : default:
8583 : : break;
8584 : : }
8585 : : break;
8586 : :
8587 : : case E_DFmode:
8588 : : if (nonimmediate_operand (operands[0], E_DFmode)
8589 : : && GET_MODE (x2) == E_DFmode
8590 : : && nonimmediate_operand (operands[1], E_V2DFmode))
8591 : : {
8592 : : if (
8593 : : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8594 : : (TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8595 : : return 7165; /* sse2_storelpd */
8596 : : if (
8597 : : #line 14711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8598 : : (!TARGET_SSE2 && TARGET_SSE
8599 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8600 : : return 7166; /* *vec_extractv2df_0_sse */
8601 : : }
8602 : : break;
8603 : :
8604 : : case E_QImode:
8605 : : if (memory_operand (operands[0], E_QImode)
8606 : : && GET_MODE (x2) == E_QImode
8607 : : && register_operand (operands[1], E_V16QImode)
8608 : : && (
8609 : : #line 21093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8610 : : (TARGET_SSE2
8611 : : && !TARGET_SSE4_1
8612 : : && (TARGET_INTER_UNIT_MOVES_FROM_VEC
8613 : : || optimize_function_for_speed_p (cfun))
8614 : : && ix86_pre_reload_split ()) &&
8615 : : #line 21086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8616 : : (TARGET_SSE4_1)))
8617 : : return 8409; /* *vec_extractv16qi_0_mem */
8618 : : break;
8619 : :
8620 : : case E_HImode:
8621 : : if (memory_operand (operands[0], E_HImode)
8622 : : && GET_MODE (x2) == E_HImode
8623 : : && register_operand (operands[1], E_V8HImode)
8624 : : &&
8625 : : #line 21093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8626 : : (TARGET_SSE2
8627 : : && !TARGET_SSE4_1
8628 : : && (TARGET_INTER_UNIT_MOVES_FROM_VEC
8629 : : || optimize_function_for_speed_p (cfun))
8630 : : && ix86_pre_reload_split ()))
8631 : : return 8410; /* *vec_extractv8hi_0_mem */
8632 : : break;
8633 : :
8634 : : default:
8635 : : break;
8636 : : }
8637 : : break;
8638 : :
8639 : : case 1L:
8640 : : switch (GET_MODE (operands[0]))
8641 : : {
8642 : : case E_SFmode:
8643 : : if (nonimmediate_operand (operands[0], E_SFmode)
8644 : : && GET_MODE (x2) == E_SFmode
8645 : : && nonimmediate_operand (operands[1], E_V2SFmode)
8646 : : &&
8647 : : #line 1821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8648 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8649 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8650 : : return 2105; /* *vec_extractv2sf_1 */
8651 : : break;
8652 : :
8653 : : case E_DFmode:
8654 : : if (nonimmediate_operand (operands[0], E_DFmode)
8655 : : && GET_MODE (x2) == E_DFmode
8656 : : && nonimmediate_operand (operands[1], E_V2DFmode))
8657 : : {
8658 : : if (
8659 : : #line 14625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8660 : : (TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8661 : : return 7163; /* sse2_storehpd */
8662 : : if (
8663 : : #line 14658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8664 : : (!TARGET_SSE2 && TARGET_SSE
8665 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8666 : : return 7164; /* *vec_extractv2df_1_sse */
8667 : : }
8668 : : break;
8669 : :
8670 : : default:
8671 : : break;
8672 : : }
8673 : : break;
8674 : :
8675 : : default:
8676 : : break;
8677 : : }
8678 : : operands[2] = x5;
8679 : : switch (GET_MODE (operands[0]))
8680 : : {
8681 : : case E_HImode:
8682 : : if (GET_MODE (x2) != E_HImode)
8683 : : return -1;
8684 : : if (register_sse4nonimm_operand (operands[0], E_HImode))
8685 : : {
8686 : : switch (GET_MODE (operands[1]))
8687 : : {
8688 : : case E_V4HImode:
8689 : : if (register_operand (operands[1], E_V4HImode)
8690 : : && const_0_to_3_operand (operands[2], E_SImode)
8691 : : &&
8692 : : #line 5404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8693 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8694 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8695 : : return 2332; /* *mmx_pextrw */
8696 : : break;
8697 : :
8698 : : case E_V2HImode:
8699 : : if (register_operand (operands[1], E_V2HImode)
8700 : : && const_0_to_1_operand (operands[2], E_SImode)
8701 : : &&
8702 : : #line 6070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8703 : : (TARGET_SSE2))
8704 : : return 2370; /* *pextrw */
8705 : : break;
8706 : :
8707 : : case E_V8HImode:
8708 : : if (register_operand (operands[1], E_V8HImode)
8709 : : && const_0_to_7_operand (operands[2], E_SImode)
8710 : : &&
8711 : : #line 21117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8712 : : (TARGET_SSE2))
8713 : : return 8412; /* *vec_extractv8hi */
8714 : : break;
8715 : :
8716 : : default:
8717 : : break;
8718 : : }
8719 : : }
8720 : : if (!register_operand (operands[0], E_HImode)
8721 : : || !memory_operand (operands[1], E_V8HImode)
8722 : : || !const_0_to_7_operand (operands[2], E_VOIDmode)
8723 : : || !
8724 : : #line 21178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8725 : : (TARGET_SSE))
8726 : : return -1;
8727 : : return 8419; /* *vec_extractv8hi_mem */
8728 : :
8729 : : case E_HFmode:
8730 : : if (!register_sse4nonimm_operand (operands[0], E_HFmode)
8731 : : || GET_MODE (x2) != E_HFmode)
8732 : : return -1;
8733 : : switch (GET_MODE (operands[1]))
8734 : : {
8735 : : case E_V4HFmode:
8736 : : if (!register_operand (operands[1], E_V4HFmode)
8737 : : || !const_0_to_3_operand (operands[2], E_SImode)
8738 : : || !
8739 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8740 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8741 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8742 : : return -1;
8743 : : return 2333; /* *mmx_pextrwv4hf */
8744 : :
8745 : : case E_V2HFmode:
8746 : : if (!register_operand (operands[1], E_V2HFmode)
8747 : : || !const_0_to_1_operand (operands[2], E_SImode)
8748 : : || !
8749 : : #line 6087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8750 : : (TARGET_SSE2))
8751 : : return -1;
8752 : : return 2371; /* *pextrwv2hf */
8753 : :
8754 : : case E_V8HFmode:
8755 : : if (!register_operand (operands[1], E_V8HFmode)
8756 : : || !const_0_to_7_operand (operands[2], E_SImode)
8757 : : || !
8758 : : #line 13276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8759 : : (TARGET_SSE2))
8760 : : return -1;
8761 : : return 5328; /* *vec_extracthf */
8762 : :
8763 : : default:
8764 : : return -1;
8765 : : }
8766 : :
8767 : : case E_BFmode:
8768 : : if (!register_sse4nonimm_operand (operands[0], E_BFmode)
8769 : : || GET_MODE (x2) != E_BFmode)
8770 : : return -1;
8771 : : switch (GET_MODE (operands[1]))
8772 : : {
8773 : : case E_V4BFmode:
8774 : : if (!register_operand (operands[1], E_V4BFmode)
8775 : : || !const_0_to_3_operand (operands[2], E_SImode)
8776 : : || !
8777 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8778 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8779 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8780 : : return -1;
8781 : : return 2334; /* *mmx_pextrwv4bf */
8782 : :
8783 : : case E_V2BFmode:
8784 : : if (!register_operand (operands[1], E_V2BFmode)
8785 : : || !const_0_to_1_operand (operands[2], E_SImode)
8786 : : || !
8787 : : #line 6087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8788 : : (TARGET_SSE2))
8789 : : return -1;
8790 : : return 2372; /* *pextrwv2bf */
8791 : :
8792 : : case E_V8BFmode:
8793 : : if (!register_operand (operands[1], E_V8BFmode)
8794 : : || !const_0_to_7_operand (operands[2], E_SImode)
8795 : : || !
8796 : : #line 13276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8797 : : (TARGET_SSE2))
8798 : : return -1;
8799 : : return 5329; /* *vec_extractbf */
8800 : :
8801 : : default:
8802 : : return -1;
8803 : : }
8804 : :
8805 : : case E_QImode:
8806 : : if (GET_MODE (x2) != E_QImode)
8807 : : return -1;
8808 : : if (nonimmediate_operand (operands[0], E_QImode))
8809 : : {
8810 : : switch (GET_MODE (operands[1]))
8811 : : {
8812 : : case E_V8QImode:
8813 : : if (register_operand (operands[1], E_V8QImode)
8814 : : && const_0_to_7_operand (operands[2], E_SImode)
8815 : : &&
8816 : : #line 5477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8817 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8818 : : return 2337; /* *mmx_pextrb */
8819 : : break;
8820 : :
8821 : : case E_V4QImode:
8822 : : if (register_operand (operands[1], E_V4QImode)
8823 : : && const_0_to_3_operand (operands[2], E_SImode)
8824 : : &&
8825 : : #line 6133 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8826 : : (TARGET_SSE4_1))
8827 : : return 2375; /* *pextrb */
8828 : : break;
8829 : :
8830 : : default:
8831 : : break;
8832 : : }
8833 : : }
8834 : : if (register_sse4nonimm_operand (operands[0], E_QImode)
8835 : : && register_operand (operands[1], E_V16QImode)
8836 : : && const_0_to_15_operand (operands[2], E_SImode)
8837 : : && (
8838 : : #line 21117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8839 : : (TARGET_SSE2) &&
8840 : : #line 21086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8841 : : (TARGET_SSE4_1)))
8842 : : return 8411; /* *vec_extractv16qi */
8843 : : if (!register_operand (operands[0], E_QImode)
8844 : : || !memory_operand (operands[1], E_V16QImode)
8845 : : || !const_0_to_15_operand (operands[2], E_VOIDmode)
8846 : : || !
8847 : : #line 21178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8848 : : (TARGET_SSE))
8849 : : return -1;
8850 : : return 8418; /* *vec_extractv16qi_mem */
8851 : :
8852 : : case E_SFmode:
8853 : : if (GET_MODE (x2) != E_SFmode)
8854 : : return -1;
8855 : : if (nonimmediate_operand (operands[0], E_SFmode)
8856 : : && register_operand (operands[1], E_V4SFmode)
8857 : : && const_0_to_3_operand (operands[2], E_SImode)
8858 : : &&
8859 : : #line 12370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8860 : : (TARGET_SSE4_1))
8861 : : return 5264; /* *sse4_1_extractps */
8862 : : if (!register_operand (operands[0], E_SFmode))
8863 : : return -1;
8864 : : switch (GET_MODE (operands[1]))
8865 : : {
8866 : : case E_V4SFmode:
8867 : : if (!memory_operand (operands[1], E_V4SFmode)
8868 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
8869 : : || !
8870 : : #line 12413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8871 : : (TARGET_SSE))
8872 : : return -1;
8873 : : return 5265; /* *vec_extractv4sf_mem */
8874 : :
8875 : : case E_V16SFmode:
8876 : : if (!register_operand (operands[1], E_V16SFmode)
8877 : : || !const_0_to_15_operand (operands[2], E_VOIDmode)
8878 : : || !
8879 : : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8880 : : (TARGET_AVX512F
8881 : : && INTVAL(operands[2]) * GET_MODE_SIZE (SFmode) >= 16))
8882 : : return -1;
8883 : : return 7036; /* *vec_extractv16sfsf_valign */
8884 : :
8885 : : case E_V8SFmode:
8886 : : if (!register_operand (operands[1], E_V8SFmode)
8887 : : || !const_0_to_7_operand (operands[2], E_VOIDmode)
8888 : : || !(
8889 : : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8890 : : (TARGET_AVX512F
8891 : : && INTVAL(operands[2]) * GET_MODE_SIZE (SFmode) >= 16) &&
8892 : : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8893 : : (TARGET_AVX512VL)))
8894 : : return -1;
8895 : : return 7037; /* *vec_extractv8sfsf_valign */
8896 : :
8897 : : default:
8898 : : return -1;
8899 : : }
8900 : :
8901 : : case E_DFmode:
8902 : : if (!register_operand (operands[0], E_DFmode)
8903 : : || GET_MODE (x2) != E_DFmode)
8904 : : return -1;
8905 : : switch (GET_MODE (operands[1]))
8906 : : {
8907 : : case E_V8DFmode:
8908 : : if (!register_operand (operands[1], E_V8DFmode)
8909 : : || !const_0_to_7_operand (operands[2], E_VOIDmode)
8910 : : || !
8911 : : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8912 : : (TARGET_AVX512F
8913 : : && INTVAL(operands[2]) * GET_MODE_SIZE (DFmode) >= 16))
8914 : : return -1;
8915 : : return 7038; /* *vec_extractv8dfdf_valign */
8916 : :
8917 : : case E_V4DFmode:
8918 : : if (!register_operand (operands[1], E_V4DFmode)
8919 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
8920 : : || !(
8921 : : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8922 : : (TARGET_AVX512F
8923 : : && INTVAL(operands[2]) * GET_MODE_SIZE (DFmode) >= 16) &&
8924 : : #line 303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8925 : : (TARGET_AVX512VL)))
8926 : : return -1;
8927 : : return 7039; /* *vec_extractv4dfdf_valign */
8928 : :
8929 : : default:
8930 : : return -1;
8931 : : }
8932 : :
8933 : : case E_TImode:
8934 : : if (!nonimmediate_operand (operands[0], E_TImode)
8935 : : || GET_MODE (x2) != E_TImode)
8936 : : return -1;
8937 : : switch (GET_MODE (operands[1]))
8938 : : {
8939 : : case E_V2TImode:
8940 : : if (!register_operand (operands[1], E_V2TImode)
8941 : : || !const_0_to_1_operand (operands[2], E_SImode)
8942 : : || !
8943 : : #line 21434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8944 : : (TARGET_AVX))
8945 : : return -1;
8946 : : return 8430; /* *vec_extractv2ti */
8947 : :
8948 : : case E_V4TImode:
8949 : : if (!register_operand (operands[1], E_V4TImode)
8950 : : || !const_0_to_3_operand (operands[2], E_SImode)
8951 : : || !
8952 : : #line 21452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8953 : : (TARGET_AVX512F))
8954 : : return -1;
8955 : : return 8431; /* *vec_extractv4ti */
8956 : :
8957 : : default:
8958 : : return -1;
8959 : : }
8960 : :
8961 : : default:
8962 : : return -1;
8963 : : }
8964 : :
8965 : : case 4:
8966 : : x5 = XVECEXP (x4, 0, 0);
8967 : : operands[2] = x5;
8968 : : if (pattern729 (x4) != 0)
8969 : : return -1;
8970 : : switch (GET_MODE (operands[0]))
8971 : : {
8972 : : case E_V4HFmode:
8973 : : if (!register_operand (operands[0], E_V4HFmode)
8974 : : || GET_MODE (x2) != E_V4HFmode
8975 : : || !register_mmxmem_operand (operands[1], E_V4HFmode)
8976 : : || !
8977 : : #line 5566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8978 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8979 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8980 : : return -1;
8981 : : return 2343; /* mmx_pshufwv4hf_1 */
8982 : :
8983 : : case E_V4BFmode:
8984 : : if (!register_operand (operands[0], E_V4BFmode)
8985 : : || GET_MODE (x2) != E_V4BFmode
8986 : : || !register_mmxmem_operand (operands[1], E_V4BFmode)
8987 : : || !
8988 : : #line 5566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8989 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8990 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8991 : : return -1;
8992 : : return 2344; /* mmx_pshufwv4bf_1 */
8993 : :
8994 : : case E_V4HImode:
8995 : : if (!register_operand (operands[0], E_V4HImode)
8996 : : || GET_MODE (x2) != E_V4HImode
8997 : : || !register_mmxmem_operand (operands[1], E_V4HImode)
8998 : : || !
8999 : : #line 5566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9000 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9001 : : && (TARGET_SSE || TARGET_3DNOW_A)))
9002 : : return -1;
9003 : : return 2345; /* mmx_pshufwv4hi_1 */
9004 : :
9005 : : default:
9006 : : return -1;
9007 : : }
9008 : :
9009 : : default:
9010 : : return -1;
9011 : : }
9012 : : }
9013 : :
9014 : : int
9015 : : recog_84 (rtx x1 ATTRIBUTE_UNUSED,
9016 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9017 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9018 : : {
9019 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9020 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9021 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
9022 : : rtx x18;
9023 : : int res ATTRIBUTE_UNUSED;
9024 : : x2 = XEXP (x1, 0);
9025 : : operands[0] = x2;
9026 : : x3 = XEXP (x1, 1);
9027 : : x4 = XEXP (x3, 0);
9028 : : switch (GET_CODE (x4))
9029 : : {
9030 : : case ASHIFT:
9031 : : return recog_83 (x1, insn, pnum_clobbers);
9032 : :
9033 : : case REG:
9034 : : case SUBREG:
9035 : : case MEM:
9036 : : operands[1] = x4;
9037 : : x5 = XEXP (x3, 1);
9038 : : operands[2] = x5;
9039 : : switch (pattern426 (x3))
9040 : : {
9041 : : case 0:
9042 : : if (pnum_clobbers != NULL
9043 : : && x86_64_hilo_general_operand (operands[2], E_DImode)
9044 : : && (
9045 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9046 : : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
9047 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9048 : : (!TARGET_64BIT)))
9049 : : {
9050 : : *pnum_clobbers = 1;
9051 : : return 823; /* *iordi3_doubleword */
9052 : : }
9053 : : if (x86_64_general_operand (operands[2], E_DImode))
9054 : : {
9055 : : if ((
9056 : : #line 13722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9057 : : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
9058 : : && TARGET_APX_NF) &&
9059 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9060 : : (TARGET_64BIT)))
9061 : : return 835; /* *iordi_1_nf */
9062 : : if (pnum_clobbers != NULL
9063 : : && (
9064 : : #line 13722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9065 : : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
9066 : : && true) &&
9067 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9068 : : (TARGET_64BIT)))
9069 : : {
9070 : : *pnum_clobbers = 1;
9071 : : return 836; /* *iordi_1 */
9072 : : }
9073 : : }
9074 : : if (pnum_clobbers == NULL
9075 : : || !const_int_operand (operands[2], E_DImode)
9076 : : || !
9077 : : #line 13770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9078 : : (TARGET_64BIT && TARGET_USE_BT
9079 : : && ix86_binary_operator_ok (IOR, DImode, operands)
9080 : : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
9081 : : return -1;
9082 : : *pnum_clobbers = 1;
9083 : : return 842; /* *iordi_1_bts */
9084 : :
9085 : : case 1:
9086 : : if (
9087 : : #line 13722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9088 : : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
9089 : : && TARGET_APX_NF))
9090 : : return 831; /* *iorsi_1_nf */
9091 : : if (pnum_clobbers == NULL
9092 : : || !
9093 : : #line 13722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9094 : : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
9095 : : && true))
9096 : : return -1;
9097 : : *pnum_clobbers = 1;
9098 : : return 832; /* *iorsi_1 */
9099 : :
9100 : : default:
9101 : : return -1;
9102 : : }
9103 : :
9104 : : case ZERO_EXTEND:
9105 : : if (GET_MODE (x4) != E_DImode
9106 : : || GET_MODE (x3) != E_DImode)
9107 : : return -1;
9108 : : switch (pattern430 (x3))
9109 : : {
9110 : : case 0:
9111 : : if (pnum_clobbers != NULL)
9112 : : {
9113 : : x5 = XEXP (x3, 1);
9114 : : operands[2] = x5;
9115 : : if (x86_64_zext_immediate_operand (operands[2], E_DImode)
9116 : : && register_operand (operands[0], E_DImode)
9117 : : &&
9118 : : #line 13899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9119 : : (TARGET_64BIT
9120 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
9121 : : {
9122 : : *pnum_clobbers = 1;
9123 : : return 869; /* *iorsi_1_zext_imm */
9124 : : }
9125 : : }
9126 : : x5 = XEXP (x3, 1);
9127 : : operands[2] = x5;
9128 : : if (!const_scalar_int_operand (operands[2], E_DImode)
9129 : : || !nonimmediate_operand (operands[0], E_DImode)
9130 : : || !(
9131 : : #line 14335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9132 : : (DImode == DImode
9133 : : ? CONST_INT_P (operands[2])
9134 : : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
9135 : : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
9136 : : : CONST_WIDE_INT_P (operands[2])
9137 : : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
9138 : : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
9139 : : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
9140 : : 1)),
9141 : : VOIDmode)) &&
9142 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9143 : : (!TARGET_64BIT)))
9144 : : return -1;
9145 : : return 951; /* *concatsidi3_7 */
9146 : :
9147 : : case 1:
9148 : : if (!(
9149 : : #line 14214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9150 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9151 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9152 : : (!TARGET_64BIT)))
9153 : : return -1;
9154 : : return 903; /* *concatsidi3_2 */
9155 : :
9156 : : case 2:
9157 : : if (!(
9158 : : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9159 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9160 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9161 : : (!TARGET_64BIT)))
9162 : : return -1;
9163 : : return 921; /* *concatsidi3_4 */
9164 : :
9165 : : case 3:
9166 : : if (!(
9167 : : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9168 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9169 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9170 : : (!TARGET_64BIT)))
9171 : : return -1;
9172 : : return 924; /* *concatsidi3_4 */
9173 : :
9174 : : default:
9175 : : return -1;
9176 : : }
9177 : :
9178 : : case LSHIFTRT:
9179 : : x6 = XEXP (x4, 1);
9180 : : switch (GET_CODE (x6))
9181 : : {
9182 : : case AND:
9183 : : switch (pattern276 (x3,
9184 : : ASHIFT))
9185 : : {
9186 : : case 0:
9187 : : x5 = XEXP (x3, 1);
9188 : : x7 = XEXP (x5, 0);
9189 : : x8 = XEXP (x7, 0);
9190 : : x9 = XEXP (x8, 0);
9191 : : operands[1] = x9;
9192 : : if (nonimmediate_operand (operands[0], E_DImode))
9193 : : {
9194 : : res = recog_82 (x1, insn, pnum_clobbers);
9195 : : if (res >= 0)
9196 : : return res;
9197 : : }
9198 : : operands[2] = x9;
9199 : : if (!register_operand (operands[0], E_DImode))
9200 : : return -1;
9201 : : x10 = XEXP (x4, 0);
9202 : : operands[1] = x10;
9203 : : if (!nonimmediate_operand (operands[1], E_DImode))
9204 : : return -1;
9205 : : x11 = XEXP (x6, 0);
9206 : : operands[3] = x11;
9207 : : x12 = XEXP (x7, 1);
9208 : : x13 = XEXP (x12, 1);
9209 : : x14 = XEXP (x13, 0);
9210 : : if (!rtx_equal_p (x14, operands[3]))
9211 : : return -1;
9212 : : if (
9213 : : #line 16944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9214 : : (TARGET_APX_NDD && TARGET_APX_NF))
9215 : : return 1148; /* x86_64_shrd_ndd_nf */
9216 : : if (pnum_clobbers == NULL
9217 : : || !
9218 : : #line 16944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9219 : : (TARGET_APX_NDD && true))
9220 : : return -1;
9221 : : *pnum_clobbers = 1;
9222 : : return 1149; /* x86_64_shrd_ndd */
9223 : :
9224 : : case 1:
9225 : : if (pattern275 (x3,
9226 : : E_SImode,
9227 : : E_DImode) != 0)
9228 : : return -1;
9229 : : x5 = XEXP (x3, 1);
9230 : : x7 = XEXP (x5, 0);
9231 : : x8 = XEXP (x7, 0);
9232 : : x9 = XEXP (x8, 0);
9233 : : operands[1] = x9;
9234 : : if (nonimmediate_operand (operands[0], E_SImode))
9235 : : {
9236 : : x11 = XEXP (x6, 0);
9237 : : operands[2] = x11;
9238 : : x10 = XEXP (x4, 0);
9239 : : if (rtx_equal_p (x10, operands[0]))
9240 : : {
9241 : : x12 = XEXP (x7, 1);
9242 : : x13 = XEXP (x12, 1);
9243 : : x14 = XEXP (x13, 0);
9244 : : if (rtx_equal_p (x14, operands[2]))
9245 : : {
9246 : : if (
9247 : : #line 17153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9248 : : (TARGET_APX_NF))
9249 : : return 1158; /* x86_shrd_nf */
9250 : : if (pnum_clobbers != NULL)
9251 : : {
9252 : : *pnum_clobbers = 1;
9253 : : return 1159; /* x86_shrd */
9254 : : }
9255 : : }
9256 : : }
9257 : : }
9258 : : operands[2] = x9;
9259 : : if (!register_operand (operands[0], E_SImode))
9260 : : return -1;
9261 : : x10 = XEXP (x4, 0);
9262 : : operands[1] = x10;
9263 : : if (!nonimmediate_operand (operands[1], E_SImode))
9264 : : return -1;
9265 : : x11 = XEXP (x6, 0);
9266 : : operands[3] = x11;
9267 : : x12 = XEXP (x7, 1);
9268 : : x13 = XEXP (x12, 1);
9269 : : x14 = XEXP (x13, 0);
9270 : : if (!rtx_equal_p (x14, operands[3]))
9271 : : return -1;
9272 : : if (
9273 : : #line 17175 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9274 : : (TARGET_APX_NDD && TARGET_APX_NF))
9275 : : return 1160; /* x86_shrd_ndd_nf */
9276 : : if (pnum_clobbers == NULL
9277 : : || !
9278 : : #line 17175 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9279 : : (TARGET_APX_NDD && true))
9280 : : return -1;
9281 : : *pnum_clobbers = 1;
9282 : : return 1161; /* x86_shrd_ndd */
9283 : :
9284 : : default:
9285 : : return -1;
9286 : : }
9287 : :
9288 : : case CONST_INT:
9289 : : case CONST_WIDE_INT:
9290 : : case CONST_POLY_INT:
9291 : : case CONST_FIXED:
9292 : : case CONST_DOUBLE:
9293 : : case CONST_VECTOR:
9294 : : case CONST:
9295 : : case REG:
9296 : : case SUBREG:
9297 : : case LABEL_REF:
9298 : : case SYMBOL_REF:
9299 : : case HIGH:
9300 : : x5 = XEXP (x3, 1);
9301 : : switch (GET_CODE (x5))
9302 : : {
9303 : : case SUBREG:
9304 : : switch (pattern431 (x3,
9305 : : ASHIFT))
9306 : : {
9307 : : case 0:
9308 : : operands[2] = x6;
9309 : : if (pattern1349 (x3) == 0)
9310 : : {
9311 : : if (
9312 : : #line 16959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9313 : : (TARGET_64BIT
9314 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
9315 : : && TARGET_APX_NF))
9316 : : return 1150; /* x86_64_shrd_1_nf */
9317 : : if (pnum_clobbers != NULL
9318 : : &&
9319 : : #line 16959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9320 : : (TARGET_64BIT
9321 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
9322 : : && true))
9323 : : {
9324 : : *pnum_clobbers = 1;
9325 : : return 1151; /* x86_64_shrd_1 */
9326 : : }
9327 : : }
9328 : : operands[3] = x6;
9329 : : if (pattern1350 (x3) != 0)
9330 : : return -1;
9331 : : if (
9332 : : #line 16981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9333 : : (TARGET_APX_NDD
9334 : : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
9335 : : && TARGET_APX_NF))
9336 : : return 1152; /* x86_64_shrd_ndd_1_nf */
9337 : : if (pnum_clobbers == NULL
9338 : : || !
9339 : : #line 16981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9340 : : (TARGET_APX_NDD
9341 : : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
9342 : : && true))
9343 : : return -1;
9344 : : *pnum_clobbers = 1;
9345 : : return 1153; /* x86_64_shrd_ndd_1 */
9346 : :
9347 : : case 1:
9348 : : operands[2] = x6;
9349 : : if (pattern1351 (x3) == 0)
9350 : : {
9351 : : if (
9352 : : #line 17190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9353 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
9354 : : && TARGET_APX_NF))
9355 : : return 1162; /* x86_shrd_1_nf */
9356 : : if (pnum_clobbers != NULL
9357 : : &&
9358 : : #line 17190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9359 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
9360 : : && true))
9361 : : {
9362 : : *pnum_clobbers = 1;
9363 : : return 1163; /* x86_shrd_1 */
9364 : : }
9365 : : }
9366 : : operands[3] = x6;
9367 : : if (pattern1352 (x3) != 0)
9368 : : return -1;
9369 : : if (
9370 : : #line 17212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9371 : : (TARGET_APX_NDD
9372 : : && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
9373 : : && TARGET_APX_NF))
9374 : : return 1164; /* x86_shrd_ndd_1_nf */
9375 : : if (pnum_clobbers == NULL
9376 : : || !
9377 : : #line 17212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9378 : : (TARGET_APX_NDD
9379 : : && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
9380 : : && true))
9381 : : return -1;
9382 : : *pnum_clobbers = 1;
9383 : : return 1165; /* x86_shrd_ndd_1 */
9384 : :
9385 : : default:
9386 : : return -1;
9387 : : }
9388 : :
9389 : : case ASHIFT:
9390 : : switch (pattern434 (x3, pnum_clobbers))
9391 : : {
9392 : : case 0:
9393 : : if (
9394 : : #line 16997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9395 : : (TARGET_64BIT && TARGET_APX_NF
9396 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
9397 : : && ix86_pre_reload_split ()))
9398 : : return 1154; /* *x86_64_shrd_shld_1_nozext_nf */
9399 : : if (pnum_clobbers == NULL
9400 : : || !
9401 : : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9402 : : (TARGET_64BIT
9403 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
9404 : : && ix86_pre_reload_split ()))
9405 : : return -1;
9406 : : *pnum_clobbers = 1;
9407 : : return 1155; /* *x86_64_shrd_shld_1_nozext */
9408 : :
9409 : : case 1:
9410 : : if (
9411 : : #line 17228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9412 : : (TARGET_APX_NF
9413 : : && INTVAL (operands[3]) == 32 - INTVAL (operands[2])
9414 : : && ix86_pre_reload_split ()))
9415 : : return 1166; /* *x86_shrd_shld_1_nozext_nf */
9416 : : if (pnum_clobbers == NULL
9417 : : || !
9418 : : #line 17284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9419 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
9420 : : && ix86_pre_reload_split ()))
9421 : : return -1;
9422 : : *pnum_clobbers = 1;
9423 : : return 1167; /* *x86_shrd_shld_1_nozext */
9424 : :
9425 : : case 2:
9426 : : x7 = XEXP (x5, 0);
9427 : : operands[1] = x7;
9428 : : if (nonimmediate_operand (operands[0], E_DImode))
9429 : : {
9430 : : operands[2] = x6;
9431 : : x10 = XEXP (x4, 0);
9432 : : if (rtx_equal_p (x10, operands[0]))
9433 : : {
9434 : : x15 = XEXP (x5, 1);
9435 : : x16 = XEXP (x15, 1);
9436 : : if (rtx_equal_p (x16, operands[2])
9437 : : &&
9438 : : #line 17106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9439 : : (TARGET_64BIT && ix86_pre_reload_split ()))
9440 : : {
9441 : : *pnum_clobbers = 1;
9442 : : return 1156; /* *x86_64_shrd_2 */
9443 : : }
9444 : : }
9445 : : }
9446 : : operands[2] = x7;
9447 : : if (!register_operand (operands[0], E_DImode))
9448 : : return -1;
9449 : : x10 = XEXP (x4, 0);
9450 : : operands[1] = x10;
9451 : : if (!nonimmediate_operand (operands[1], E_DImode))
9452 : : return -1;
9453 : : operands[3] = x6;
9454 : : x15 = XEXP (x5, 1);
9455 : : x16 = XEXP (x15, 1);
9456 : : if (!rtx_equal_p (x16, operands[2])
9457 : : || !
9458 : : #line 17127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9459 : : (TARGET_APX_NDD
9460 : : && ix86_pre_reload_split ()))
9461 : : return -1;
9462 : : *pnum_clobbers = 1;
9463 : : return 1157; /* *x86_64_shrd_ndd_2 */
9464 : :
9465 : : case 3:
9466 : : x7 = XEXP (x5, 0);
9467 : : operands[1] = x7;
9468 : : if (nonimmediate_operand (operands[0], E_SImode))
9469 : : {
9470 : : operands[2] = x6;
9471 : : x10 = XEXP (x4, 0);
9472 : : if (rtx_equal_p (x10, operands[0]))
9473 : : {
9474 : : x15 = XEXP (x5, 1);
9475 : : x16 = XEXP (x15, 1);
9476 : : if (rtx_equal_p (x16, operands[2])
9477 : : &&
9478 : : #line 17336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9479 : : (TARGET_64BIT && ix86_pre_reload_split ()))
9480 : : {
9481 : : *pnum_clobbers = 1;
9482 : : return 1168; /* *x86_shrd_2 */
9483 : : }
9484 : : }
9485 : : }
9486 : : operands[2] = x7;
9487 : : if (!register_operand (operands[0], E_SImode))
9488 : : return -1;
9489 : : x10 = XEXP (x4, 0);
9490 : : operands[1] = x10;
9491 : : if (!nonimmediate_operand (operands[1], E_SImode))
9492 : : return -1;
9493 : : operands[3] = x6;
9494 : : x15 = XEXP (x5, 1);
9495 : : x16 = XEXP (x15, 1);
9496 : : if (!rtx_equal_p (x16, operands[3])
9497 : : || !
9498 : : #line 17357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9499 : : (TARGET_APX_NDD
9500 : : && ix86_pre_reload_split ()))
9501 : : return -1;
9502 : : *pnum_clobbers = 1;
9503 : : return 1169; /* *x86_shrd_ndd_2 */
9504 : :
9505 : : default:
9506 : : return -1;
9507 : : }
9508 : :
9509 : : default:
9510 : : return -1;
9511 : : }
9512 : :
9513 : : default:
9514 : : return -1;
9515 : : }
9516 : :
9517 : : case NOT:
9518 : : if (pnum_clobbers == NULL)
9519 : : return -1;
9520 : : x10 = XEXP (x4, 0);
9521 : : if (GET_CODE (x10) != PLUS)
9522 : : return -1;
9523 : : x17 = XEXP (x10, 1);
9524 : : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
9525 : : return -1;
9526 : : x18 = XEXP (x10, 0);
9527 : : operands[1] = x18;
9528 : : x5 = XEXP (x3, 1);
9529 : : if (!rtx_equal_p (x5, operands[1]))
9530 : : return -1;
9531 : : switch (GET_MODE (operands[0]))
9532 : : {
9533 : : case E_SImode:
9534 : : if (pattern970 (x3,
9535 : : E_SImode) != 0
9536 : : || !
9537 : : #line 22336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9538 : : (TARGET_TBM))
9539 : : return -1;
9540 : : *pnum_clobbers = 1;
9541 : : return 1614; /* *tbm_blci_si */
9542 : :
9543 : : case E_DImode:
9544 : : if (pattern970 (x3,
9545 : : E_DImode) != 0
9546 : : || !(
9547 : : #line 22336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9548 : : (TARGET_TBM) &&
9549 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9550 : : (TARGET_64BIT)))
9551 : : return -1;
9552 : : *pnum_clobbers = 1;
9553 : : return 1615; /* *tbm_blci_di */
9554 : :
9555 : : default:
9556 : : return -1;
9557 : : }
9558 : :
9559 : : case PLUS:
9560 : : if (pnum_clobbers == NULL)
9561 : : return -1;
9562 : : x6 = XEXP (x4, 1);
9563 : : if (GET_CODE (x6) != CONST_INT)
9564 : : return -1;
9565 : : x10 = XEXP (x4, 0);
9566 : : operands[1] = x10;
9567 : : switch (XWINT (x6, 0))
9568 : : {
9569 : : case 1L:
9570 : : switch (pattern739 (x3))
9571 : : {
9572 : : case 0:
9573 : : if (!
9574 : : #line 22376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9575 : : (TARGET_TBM))
9576 : : return -1;
9577 : : *pnum_clobbers = 1;
9578 : : return 1620; /* *tbm_blcs_si */
9579 : :
9580 : : case 1:
9581 : : if (!(
9582 : : #line 22376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9583 : : (TARGET_TBM) &&
9584 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9585 : : (TARGET_64BIT)))
9586 : : return -1;
9587 : : *pnum_clobbers = 1;
9588 : : return 1621; /* *tbm_blcs_di */
9589 : :
9590 : : case 2:
9591 : : if (!
9592 : : #line 22417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9593 : : (TARGET_TBM))
9594 : : return -1;
9595 : : *pnum_clobbers = 1;
9596 : : return 1626; /* *tbm_t1mskc_si */
9597 : :
9598 : : case 3:
9599 : : if (!(
9600 : : #line 22417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9601 : : (TARGET_TBM) &&
9602 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9603 : : (TARGET_64BIT)))
9604 : : return -1;
9605 : : *pnum_clobbers = 1;
9606 : : return 1627; /* *tbm_t1mskc_di */
9607 : :
9608 : : default:
9609 : : return -1;
9610 : : }
9611 : :
9612 : : case -1L:
9613 : : switch (pattern739 (x3))
9614 : : {
9615 : : case 0:
9616 : : if (!
9617 : : #line 22389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9618 : : (TARGET_TBM))
9619 : : return -1;
9620 : : *pnum_clobbers = 1;
9621 : : return 1622; /* *tbm_blsfill_si */
9622 : :
9623 : : case 1:
9624 : : if (!(
9625 : : #line 22389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9626 : : (TARGET_TBM) &&
9627 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9628 : : (TARGET_64BIT)))
9629 : : return -1;
9630 : : *pnum_clobbers = 1;
9631 : : return 1623; /* *tbm_blsfill_di */
9632 : :
9633 : : case 2:
9634 : : if (!
9635 : : #line 22403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9636 : : (TARGET_TBM))
9637 : : return -1;
9638 : : *pnum_clobbers = 1;
9639 : : return 1624; /* *tbm_blsic_si */
9640 : :
9641 : : case 3:
9642 : : if (!(
9643 : : #line 22403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9644 : : (TARGET_TBM) &&
9645 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9646 : : (TARGET_64BIT)))
9647 : : return -1;
9648 : : *pnum_clobbers = 1;
9649 : : return 1625; /* *tbm_blsic_di */
9650 : :
9651 : : default:
9652 : : return -1;
9653 : : }
9654 : :
9655 : : default:
9656 : : return -1;
9657 : : }
9658 : :
9659 : : case AND:
9660 : : if (pattern112 (x3) != 0
9661 : : || !register_operand (operands[0], E_SImode)
9662 : : || GET_MODE (x3) != E_SImode)
9663 : : return -1;
9664 : : x10 = XEXP (x4, 0);
9665 : : operands[1] = x10;
9666 : : if (!register_operand (operands[1], E_SImode))
9667 : : return -1;
9668 : : x5 = XEXP (x3, 1);
9669 : : x7 = XEXP (x5, 0);
9670 : : x8 = XEXP (x7, 0);
9671 : : if (!rtx_equal_p (x8, operands[1]))
9672 : : return -1;
9673 : : return 1652; /* bswaphisi2_lowpart */
9674 : :
9675 : : default:
9676 : : return -1;
9677 : : }
9678 : : }
9679 : :
9680 : : int
9681 : : recog_103 (rtx x1 ATTRIBUTE_UNUSED,
9682 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9683 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9684 : : {
9685 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9686 : : rtx x2, x3, x4, x5;
9687 : : int res ATTRIBUTE_UNUSED;
9688 : : x2 = XEXP (x1, 0);
9689 : : operands[0] = x2;
9690 : : x3 = XEXP (x1, 1);
9691 : : x4 = XEXP (x3, 0);
9692 : : switch (GET_CODE (x4))
9693 : : {
9694 : : case REG:
9695 : : case SUBREG:
9696 : : case MEM:
9697 : : switch (pattern117 (x3, pnum_clobbers))
9698 : : {
9699 : : case 0:
9700 : : x5 = XEXP (x3, 1);
9701 : : switch (GET_CODE (x5))
9702 : : {
9703 : : case REG:
9704 : : case SUBREG:
9705 : : if (pnum_clobbers != NULL
9706 : : && pattern610 (x3) == 0
9707 : : && (
9708 : : #line 16719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9709 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
9710 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
9711 : : == (2 * 4 * BITS_PER_UNIT - 1)))
9712 : : && ix86_pre_reload_split ()) &&
9713 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9714 : : (!TARGET_64BIT)))
9715 : : {
9716 : : *pnum_clobbers = 1;
9717 : : return 1127; /* *ashrdi3_doubleword_mask */
9718 : : }
9719 : : operands[2] = x5;
9720 : : if (register_operand (operands[2], E_SImode)
9721 : : && register_operand (operands[0], E_SImode)
9722 : : && GET_MODE (x3) == E_SImode
9723 : : && nonimmediate_operand (operands[1], E_SImode)
9724 : : &&
9725 : : #line 17450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9726 : : (TARGET_BMI2))
9727 : : return 1176; /* *bmi2_ashrsi3_1 */
9728 : : break;
9729 : :
9730 : : case CONST_INT:
9731 : : operands[2] = x5;
9732 : : if (const_int_operand (operands[2], E_QImode)
9733 : : && nonimmediate_operand (operands[0], E_SImode)
9734 : : && GET_MODE (x3) == E_SImode
9735 : : && nonimmediate_operand (operands[1], E_SImode))
9736 : : {
9737 : : if (
9738 : : #line 17381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9739 : : (INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)-1
9740 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9741 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9742 : : && TARGET_APX_NF))
9743 : : return 1170; /* ashrsi3_cvt_nf */
9744 : : if (pnum_clobbers != NULL
9745 : : &&
9746 : : #line 17381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9747 : : (INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)-1
9748 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9749 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9750 : : && true))
9751 : : {
9752 : : *pnum_clobbers = 1;
9753 : : return 1171; /* ashrsi3_cvt */
9754 : : }
9755 : : }
9756 : : break;
9757 : :
9758 : : default:
9759 : : break;
9760 : : }
9761 : : operands[2] = x5;
9762 : : res = recog_102 (x1, insn, pnum_clobbers);
9763 : : if (res >= 0)
9764 : : return res;
9765 : : if (pnum_clobbers == NULL)
9766 : : return -1;
9767 : : switch (pattern611 (x3))
9768 : : {
9769 : : case 0:
9770 : : if (!
9771 : : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9772 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
9773 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
9774 : : == 4 * BITS_PER_UNIT - 1
9775 : : && ix86_pre_reload_split ()))
9776 : : return -1;
9777 : : *pnum_clobbers = 1;
9778 : : return 1250; /* *ashrsi3_mask */
9779 : :
9780 : : case 1:
9781 : : if (!(
9782 : : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9783 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
9784 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
9785 : : == 8 * BITS_PER_UNIT - 1
9786 : : && ix86_pre_reload_split ()) &&
9787 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9788 : : (TARGET_64BIT)))
9789 : : return -1;
9790 : : *pnum_clobbers = 1;
9791 : : return 1253; /* *ashrdi3_mask */
9792 : :
9793 : : case 2:
9794 : : if (!
9795 : : #line 18023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9796 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
9797 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9798 : : && ix86_pre_reload_split ()))
9799 : : return -1;
9800 : : *pnum_clobbers = 1;
9801 : : return 1262; /* *ashrsi3_add */
9802 : :
9803 : : case 3:
9804 : : if (!(
9805 : : #line 18023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9806 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
9807 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9808 : : && ix86_pre_reload_split ()) &&
9809 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9810 : : (TARGET_64BIT)))
9811 : : return -1;
9812 : : *pnum_clobbers = 1;
9813 : : return 1265; /* *ashrdi3_add */
9814 : :
9815 : : case 4:
9816 : : if (!
9817 : : #line 18069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9818 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
9819 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9820 : : && ix86_pre_reload_split ()))
9821 : : return -1;
9822 : : *pnum_clobbers = 1;
9823 : : return 1274; /* *ashrsi3_sub */
9824 : :
9825 : : case 5:
9826 : : if (!(
9827 : : #line 18069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9828 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
9829 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9830 : : && ix86_pre_reload_split ()) &&
9831 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9832 : : (TARGET_64BIT)))
9833 : : return -1;
9834 : : *pnum_clobbers = 1;
9835 : : return 1277; /* *ashrdi3_sub */
9836 : :
9837 : : default:
9838 : : return -1;
9839 : : }
9840 : :
9841 : : case 1:
9842 : : if (register_operand (operands[0], E_DImode)
9843 : : && register_operand (operands[1], E_DImode)
9844 : : && (
9845 : : #line 16780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9846 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
9847 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
9848 : : == (2 * 4 * BITS_PER_UNIT - 1)))
9849 : : && ix86_pre_reload_split ()) &&
9850 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9851 : : (!TARGET_64BIT)))
9852 : : {
9853 : : *pnum_clobbers = 1;
9854 : : return 1131; /* *ashrdi3_doubleword_mask_1 */
9855 : : }
9856 : : if (!nonimmediate_operand (operands[0], E_DImode)
9857 : : || !nonimmediate_operand (operands[1], E_DImode)
9858 : : || !(
9859 : : #line 18000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9860 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
9861 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
9862 : : == 8 * BITS_PER_UNIT - 1
9863 : : && ix86_pre_reload_split ()) &&
9864 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9865 : : (TARGET_64BIT)))
9866 : : return -1;
9867 : : *pnum_clobbers = 1;
9868 : : return 1259; /* *ashrdi3_mask_1 */
9869 : :
9870 : : case 2:
9871 : : if (!
9872 : : #line 18000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9873 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
9874 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
9875 : : == 4 * BITS_PER_UNIT - 1
9876 : : && ix86_pre_reload_split ()))
9877 : : return -1;
9878 : : *pnum_clobbers = 1;
9879 : : return 1256; /* *ashrsi3_mask_1 */
9880 : :
9881 : : case 3:
9882 : : if (!
9883 : : #line 18047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9884 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
9885 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9886 : : && ix86_pre_reload_split ()))
9887 : : return -1;
9888 : : *pnum_clobbers = 1;
9889 : : return 1268; /* *ashrsi3_add_1 */
9890 : :
9891 : : case 4:
9892 : : if (!(
9893 : : #line 18047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9894 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
9895 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9896 : : && ix86_pre_reload_split ()) &&
9897 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9898 : : (TARGET_64BIT)))
9899 : : return -1;
9900 : : *pnum_clobbers = 1;
9901 : : return 1271; /* *ashrdi3_add_1 */
9902 : :
9903 : : case 5:
9904 : : if (!
9905 : : #line 18099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9906 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
9907 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9908 : : && ix86_pre_reload_split ()))
9909 : : return -1;
9910 : : *pnum_clobbers = 1;
9911 : : return 1280; /* *ashrsi3_sub_1 */
9912 : :
9913 : : case 6:
9914 : : if (!(
9915 : : #line 18099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9916 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
9917 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9918 : : && ix86_pre_reload_split ()) &&
9919 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9920 : : (TARGET_64BIT)))
9921 : : return -1;
9922 : : *pnum_clobbers = 1;
9923 : : return 1283; /* *ashrdi3_sub_1 */
9924 : :
9925 : : default:
9926 : : return -1;
9927 : : }
9928 : :
9929 : : case ASHIFT:
9930 : : if (pnum_clobbers == NULL
9931 : : || pattern280 (x3,
9932 : : E_DImode) != 0
9933 : : || !(
9934 : : #line 18123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9935 : : (INTVAL (operands[2]) == INTVAL (operands[3])
9936 : : && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9937 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9938 : : (!TARGET_64BIT)))
9939 : : return -1;
9940 : : *pnum_clobbers = 1;
9941 : : return 1284; /* *extenddi2_doubleword_highpart */
9942 : :
9943 : : default:
9944 : : return -1;
9945 : : }
9946 : : }
9947 : :
9948 : : int
9949 : : recog_115 (rtx x1 ATTRIBUTE_UNUSED,
9950 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9951 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9952 : : {
9953 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9954 : : rtx x2, x3, x4;
9955 : : int res ATTRIBUTE_UNUSED;
9956 : : if (pnum_clobbers == NULL)
9957 : : return -1;
9958 : : x2 = XEXP (x1, 0);
9959 : : operands[0] = x2;
9960 : : x3 = XEXP (x1, 1);
9961 : : x4 = XEXP (x3, 0);
9962 : : operands[1] = x4;
9963 : : switch (pattern125 (x3))
9964 : : {
9965 : : case 0:
9966 : : *pnum_clobbers = 1;
9967 : : return 1518; /* ctzsi2 */
9968 : :
9969 : : case 1:
9970 : : if (!
9971 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9972 : : (TARGET_64BIT))
9973 : : return -1;
9974 : : *pnum_clobbers = 1;
9975 : : return 1519; /* ctzdi2 */
9976 : :
9977 : : default:
9978 : : return -1;
9979 : : }
9980 : : }
9981 : :
9982 : : int
9983 : : recog_116 (rtx x1 ATTRIBUTE_UNUSED,
9984 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9985 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9986 : : {
9987 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9988 : : rtx x2, x3, x4, x5, x6, x7, x8;
9989 : : int res ATTRIBUTE_UNUSED;
9990 : : x2 = XEXP (x1, 1);
9991 : : if (GET_MODE (x2) != E_DImode)
9992 : : return -1;
9993 : : x3 = XEXP (x1, 0);
9994 : : operands[0] = x3;
9995 : : if (!register_operand (operands[0], E_DImode))
9996 : : return -1;
9997 : : x4 = XEXP (x2, 0);
9998 : : if (GET_MODE (x4) != E_SImode)
9999 : : return -1;
10000 : : switch (GET_CODE (x4))
10001 : : {
10002 : : case CTZ:
10003 : : if (pnum_clobbers == NULL)
10004 : : return -1;
10005 : : x5 = XEXP (x4, 0);
10006 : : operands[1] = x5;
10007 : : if (!nonimmediate_operand (operands[1], E_SImode)
10008 : : || !
10009 : : #line 21314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10010 : : (TARGET_64BIT))
10011 : : return -1;
10012 : : *pnum_clobbers = 1;
10013 : : return 1524; /* *ctzsidi2_sext */
10014 : :
10015 : : case XOR:
10016 : : if (pnum_clobbers == NULL)
10017 : : return -1;
10018 : : x5 = XEXP (x4, 0);
10019 : : if (GET_CODE (x5) != MINUS
10020 : : || pattern429 (x4) != 0)
10021 : : return -1;
10022 : : x6 = XEXP (x5, 1);
10023 : : x7 = XEXP (x6, 0);
10024 : : operands[1] = x7;
10025 : : if (!nonimmediate_operand (operands[1], E_SImode)
10026 : : || !
10027 : : #line 21487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10028 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
10029 : : return -1;
10030 : : *pnum_clobbers = 1;
10031 : : return 1536; /* *bsr_2 */
10032 : :
10033 : : case UNSPEC:
10034 : : if (XVECLEN (x4, 0) != 1
10035 : : || XINT (x4, 1) != 50)
10036 : : return -1;
10037 : : x8 = XVECEXP (x4, 0, 0);
10038 : : switch (GET_CODE (x8))
10039 : : {
10040 : : case REG:
10041 : : case SUBREG:
10042 : : operands[1] = x8;
10043 : : switch (GET_MODE (operands[1]))
10044 : : {
10045 : : case E_V8SFmode:
10046 : : if (register_operand (operands[1], E_V8SFmode)
10047 : : && (
10048 : : #line 21988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10049 : : (TARGET_64BIT && TARGET_SSE) &&
10050 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10051 : : (TARGET_AVX)))
10052 : : return 8465; /* *avx_movmskps256_ext */
10053 : : break;
10054 : :
10055 : : case E_V4SFmode:
10056 : : if (register_operand (operands[1], E_V4SFmode)
10057 : : &&
10058 : : #line 21988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10059 : : (TARGET_64BIT && TARGET_SSE))
10060 : : return 8467; /* *sse_movmskps_ext */
10061 : : break;
10062 : :
10063 : : case E_V4DFmode:
10064 : : if (register_operand (operands[1], E_V4DFmode)
10065 : : && (
10066 : : #line 21988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10067 : : (TARGET_64BIT && TARGET_SSE) &&
10068 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10069 : : (TARGET_AVX)))
10070 : : return 8469; /* *avx_movmskpd256_ext */
10071 : : break;
10072 : :
10073 : : case E_V2DFmode:
10074 : : if (register_operand (operands[1], E_V2DFmode)
10075 : : && (
10076 : : #line 21988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10077 : : (TARGET_64BIT && TARGET_SSE) &&
10078 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10079 : : (TARGET_SSE2)))
10080 : : return 8471; /* *sse2_movmskpd_ext */
10081 : : break;
10082 : :
10083 : : case E_V16QImode:
10084 : : if (register_operand (operands[1], E_V16QImode)
10085 : : &&
10086 : : #line 22161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10087 : : (TARGET_64BIT && TARGET_SSE2))
10088 : : return 8513; /* *sse2_pmovmskb_ext */
10089 : : break;
10090 : :
10091 : : default:
10092 : : break;
10093 : : }
10094 : : if (GET_CODE (x8) != SUBREG)
10095 : : return -1;
10096 : : switch (pattern1077 (x8))
10097 : : {
10098 : : case 0:
10099 : : if (!(
10100 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10101 : : (TARGET_64BIT && TARGET_SSE) &&
10102 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10103 : : (TARGET_AVX)))
10104 : : return -1;
10105 : : return 8489; /* *avx_movmskps256_ext_lt_avx512 */
10106 : :
10107 : : case 1:
10108 : : if (!
10109 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10110 : : (TARGET_64BIT && TARGET_SSE))
10111 : : return -1;
10112 : : return 8491; /* *sse_movmskps_ext_lt_avx512 */
10113 : :
10114 : : case 2:
10115 : : if (!(
10116 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10117 : : (TARGET_64BIT && TARGET_SSE) &&
10118 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10119 : : (TARGET_AVX)))
10120 : : return -1;
10121 : : return 8493; /* *avx_movmskpd256_ext_lt_avx512 */
10122 : :
10123 : : case 3:
10124 : : if (!(
10125 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10126 : : (TARGET_64BIT && TARGET_SSE) &&
10127 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10128 : : (TARGET_SSE2)))
10129 : : return -1;
10130 : : return 8495; /* *sse2_movmskpd_ext_lt_avx512 */
10131 : :
10132 : : case 4:
10133 : : if (!(
10134 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10135 : : (TARGET_64BIT && TARGET_SSE) &&
10136 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10137 : : (TARGET_AVX)))
10138 : : return -1;
10139 : : return 8501; /* *avx_movmskps256_ext_shift */
10140 : :
10141 : : case 5:
10142 : : if (!
10143 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10144 : : (TARGET_64BIT && TARGET_SSE))
10145 : : return -1;
10146 : : return 8503; /* *sse_movmskps_ext_shift */
10147 : :
10148 : : case 6:
10149 : : if (!(
10150 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10151 : : (TARGET_64BIT && TARGET_SSE) &&
10152 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10153 : : (TARGET_AVX)))
10154 : : return -1;
10155 : : return 8505; /* *avx_movmskpd256_ext_shift */
10156 : :
10157 : : case 7:
10158 : : if (!(
10159 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10160 : : (TARGET_64BIT && TARGET_SSE) &&
10161 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10162 : : (TARGET_SSE2)))
10163 : : return -1;
10164 : : return 8507; /* *sse2_movmskpd_ext_shift */
10165 : :
10166 : : default:
10167 : : return -1;
10168 : : }
10169 : :
10170 : : case LT:
10171 : : switch (pattern975 (x8))
10172 : : {
10173 : : case 0:
10174 : : if (!(
10175 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10176 : : (TARGET_64BIT && TARGET_SSE) &&
10177 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10178 : : (TARGET_AVX)))
10179 : : return -1;
10180 : : return 8481; /* *avx_movmskps256_ext_lt */
10181 : :
10182 : : case 1:
10183 : : if (!
10184 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10185 : : (TARGET_64BIT && TARGET_SSE))
10186 : : return -1;
10187 : : return 8483; /* *sse_movmskps_ext_lt */
10188 : :
10189 : : case 2:
10190 : : if (!(
10191 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10192 : : (TARGET_64BIT && TARGET_SSE) &&
10193 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10194 : : (TARGET_AVX)))
10195 : : return -1;
10196 : : return 8485; /* *avx_movmskpd256_ext_lt */
10197 : :
10198 : : case 3:
10199 : : if (!(
10200 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10201 : : (TARGET_64BIT && TARGET_SSE) &&
10202 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10203 : : (TARGET_SSE2)))
10204 : : return -1;
10205 : : return 8487; /* *sse2_movmskpd_ext_lt */
10206 : :
10207 : : case 4:
10208 : : if (!
10209 : : #line 22357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10210 : : (TARGET_64BIT && TARGET_SSE2))
10211 : : return -1;
10212 : : return 8523; /* *sse2_pmovmskb_ext_lt */
10213 : :
10214 : : default:
10215 : : return -1;
10216 : : }
10217 : :
10218 : : case VEC_MERGE:
10219 : : switch (pattern965 (x8))
10220 : : {
10221 : : case 0:
10222 : : if (!(
10223 : : #line 22386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10224 : : (TARGET_64BIT && TARGET_SSE2) &&
10225 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10226 : : (TARGET_AVX2)))
10227 : : return -1;
10228 : : return 8524; /* *sse2_pmovmskb_ext_lt_avx512 */
10229 : :
10230 : : case 1:
10231 : : if (!
10232 : : #line 22386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10233 : : (TARGET_64BIT && TARGET_SSE2))
10234 : : return -1;
10235 : : return 8525; /* *sse2_pmovmskb_ext_lt_avx512 */
10236 : :
10237 : : default:
10238 : : return -1;
10239 : : }
10240 : :
10241 : : default:
10242 : : return -1;
10243 : : }
10244 : :
10245 : : default:
10246 : : return -1;
10247 : : }
10248 : : }
10249 : :
10250 : : int
10251 : : recog_127 (rtx x1 ATTRIBUTE_UNUSED,
10252 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10253 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10254 : : {
10255 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10256 : : rtx x2, x3, x4, x5;
10257 : : int res ATTRIBUTE_UNUSED;
10258 : : x2 = XEXP (x1, 1);
10259 : : x3 = XEXP (x2, 0);
10260 : : x4 = XVECEXP (x3, 0, 0);
10261 : : operands[1] = x4;
10262 : : x5 = XEXP (x2, 2);
10263 : : operands[3] = x5;
10264 : : switch (GET_MODE (operands[0]))
10265 : : {
10266 : : case E_V8HImode:
10267 : : if (pattern621 (x2,
10268 : : E_V8HImode,
10269 : : E_QImode,
10270 : : E_V8HFmode) != 0
10271 : : || !(
10272 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10273 : : (TARGET_AVX512F) && (
10274 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10275 : : (TARGET_AVX512FP16) &&
10276 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10277 : : (TARGET_AVX512VL))))
10278 : : return -1;
10279 : : return 4522; /* unspec_avx512fp16_fix_truncv8hi2_mask */
10280 : :
10281 : : case E_V16HImode:
10282 : : if (pattern621 (x2,
10283 : : E_V16HImode,
10284 : : E_HImode,
10285 : : E_V16HFmode) != 0
10286 : : || !(
10287 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10288 : : (TARGET_AVX512F) && (
10289 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10290 : : (TARGET_AVX512FP16) &&
10291 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10292 : : (TARGET_AVX512VL))))
10293 : : return -1;
10294 : : return 4530; /* unspec_avx512fp16_fix_truncv16hi2_mask */
10295 : :
10296 : : case E_V32HImode:
10297 : : if (pattern621 (x2,
10298 : : E_V32HImode,
10299 : : E_SImode,
10300 : : E_V32HFmode) != 0
10301 : : || !(
10302 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10303 : : (TARGET_AVX512F) &&
10304 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10305 : : (TARGET_AVX512FP16)))
10306 : : return -1;
10307 : : return 4538; /* unspec_avx512fp16_fix_truncv32hi2_mask */
10308 : :
10309 : : case E_V8SImode:
10310 : : switch (pattern976 (x2,
10311 : : E_V8SImode))
10312 : : {
10313 : : case 0:
10314 : : if (!(
10315 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10316 : : (TARGET_AVX512F) && (
10317 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10318 : : (TARGET_AVX512FP16) &&
10319 : : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10320 : : (TARGET_AVX512VL))))
10321 : : return -1;
10322 : : return 4546; /* unspec_avx512fp16_fix_truncv8si2_mask */
10323 : :
10324 : : case 1:
10325 : : if (!(
10326 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10327 : : (TARGET_AVX512F) &&
10328 : : #line 8824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10329 : : (TARGET_AVX && TARGET_AVX512VL)))
10330 : : return -1;
10331 : : return 4843; /* unspec_fix_truncv8sfv8si2_mask */
10332 : :
10333 : : case 2:
10334 : : if (!
10335 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10336 : : (TARGET_AVX512F))
10337 : : return -1;
10338 : : return 4977; /* unspec_fix_truncv8dfv8si2_mask */
10339 : :
10340 : : default:
10341 : : return -1;
10342 : : }
10343 : :
10344 : : case E_V16SImode:
10345 : : switch (pattern977 (x2))
10346 : : {
10347 : : case 0:
10348 : : if (!(
10349 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10350 : : (TARGET_AVX512F) &&
10351 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10352 : : (TARGET_AVX512FP16)))
10353 : : return -1;
10354 : : return 4554; /* unspec_avx512fp16_fix_truncv16si2_mask */
10355 : :
10356 : : case 1:
10357 : : if (!
10358 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10359 : : (TARGET_AVX512F))
10360 : : return -1;
10361 : : return 4828; /* unspec_fix_truncv16sfv16si2_mask */
10362 : :
10363 : : default:
10364 : : return -1;
10365 : : }
10366 : :
10367 : : case E_V8DImode:
10368 : : switch (pattern978 (x2))
10369 : : {
10370 : : case 0:
10371 : : if (!(
10372 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10373 : : (TARGET_AVX512F) &&
10374 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10375 : : (TARGET_AVX512FP16)))
10376 : : return -1;
10377 : : return 4562; /* unspec_avx512fp16_fix_truncv8di2_mask */
10378 : :
10379 : : case 1:
10380 : : if (!(
10381 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10382 : : (TARGET_AVX512F) &&
10383 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10384 : : (TARGET_AVX512DQ && 1)))
10385 : : return -1;
10386 : : return 5006; /* unspec_fix_truncv8dfv8di2_mask */
10387 : :
10388 : : case 2:
10389 : : if (!(
10390 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10391 : : (TARGET_AVX512F) &&
10392 : : #line 9769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10393 : : (TARGET_AVX512DQ && 1)))
10394 : : return -1;
10395 : : return 5054; /* unspec_fix_truncv8sfv8di2_mask */
10396 : :
10397 : : default:
10398 : : return -1;
10399 : : }
10400 : :
10401 : : case E_V4SImode:
10402 : : if (pattern135 (x2,
10403 : : E_V4SImode,
10404 : : E_QImode) != 0)
10405 : : return -1;
10406 : : switch (GET_MODE (operands[1]))
10407 : : {
10408 : : case E_V8HFmode:
10409 : : if (!register_operand (operands[1], E_V8HFmode)
10410 : : || !(
10411 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10412 : : (TARGET_AVX512F) &&
10413 : : #line 7947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10414 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10415 : : return -1;
10416 : : return 4617; /* unspec_avx512fp16_fix_truncv4si2_mask */
10417 : :
10418 : : case E_V4SFmode:
10419 : : if (!vector_operand (operands[1], E_V4SFmode)
10420 : : || !(
10421 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10422 : : (TARGET_AVX512F) &&
10423 : : #line 8843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10424 : : (TARGET_SSE2 && TARGET_AVX512VL)))
10425 : : return -1;
10426 : : return 4847; /* unspec_fix_truncv4sfv4si2_mask */
10427 : :
10428 : : case E_V4DFmode:
10429 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
10430 : : || !(
10431 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10432 : : (TARGET_AVX512F) &&
10433 : : #line 9687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10434 : : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
10435 : : return -1;
10436 : : return 4997; /* unspec_fix_truncv4dfv4si2_mask */
10437 : :
10438 : : case E_V2DFmode:
10439 : : if (!vector_operand (operands[1], E_V2DFmode)
10440 : : || !(
10441 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10442 : : (TARGET_AVX512F) &&
10443 : : #line 9969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10444 : : (TARGET_SSE2 && TARGET_AVX512VL)))
10445 : : return -1;
10446 : : return 5093; /* unspec_sse2_cvttpd2dq_mask */
10447 : :
10448 : : default:
10449 : : return -1;
10450 : : }
10451 : :
10452 : : case E_V4DImode:
10453 : : switch (pattern979 (x2))
10454 : : {
10455 : : case 0:
10456 : : if (!(
10457 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10458 : : (TARGET_AVX512F) &&
10459 : : #line 7947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10460 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10461 : : return -1;
10462 : : return 4621; /* unspec_avx512fp16_fix_truncv4di2_mask */
10463 : :
10464 : : case 1:
10465 : : if (!(
10466 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10467 : : (TARGET_AVX512F) && (
10468 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10469 : : (TARGET_AVX512DQ && 1) &&
10470 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10471 : : (TARGET_AVX512VL))))
10472 : : return -1;
10473 : : return 5013; /* unspec_fix_truncv4dfv4di2_mask */
10474 : :
10475 : : case 2:
10476 : : if (!(
10477 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10478 : : (TARGET_AVX512F) && (
10479 : : #line 9769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10480 : : (TARGET_AVX512DQ && 1) &&
10481 : : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10482 : : (TARGET_AVX512VL))))
10483 : : return -1;
10484 : : return 5061; /* unspec_fix_truncv4sfv4di2_mask */
10485 : :
10486 : : default:
10487 : : return -1;
10488 : : }
10489 : :
10490 : : case E_V2DImode:
10491 : : switch (pattern980 (x2))
10492 : : {
10493 : : case 0:
10494 : : if (!(
10495 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10496 : : (TARGET_AVX512F) &&
10497 : : #line 7997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10498 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10499 : : return -1;
10500 : : return 4641; /* unspec_avx512fp16_fix_truncv2di2_mask */
10501 : :
10502 : : case 1:
10503 : : if (!(
10504 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10505 : : (TARGET_AVX512F) && (
10506 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10507 : : (TARGET_AVX512DQ && 1) &&
10508 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10509 : : (TARGET_AVX512VL))))
10510 : : return -1;
10511 : : return 5017; /* unspec_fix_truncv2dfv2di2_mask */
10512 : :
10513 : : case 2:
10514 : : if (!(
10515 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10516 : : (TARGET_AVX512F) &&
10517 : : #line 9790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10518 : : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10519 : : return -1;
10520 : : return 5077; /* unspec_avx512dq_fix_truncv2sfv2di2_mask */
10521 : :
10522 : : default:
10523 : : return -1;
10524 : : }
10525 : :
10526 : : default:
10527 : : return -1;
10528 : : }
10529 : : }
10530 : :
10531 : : int
10532 : : recog_133 (rtx x1 ATTRIBUTE_UNUSED,
10533 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10534 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10535 : : {
10536 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10537 : : rtx x2, x3, x4, x5, x6, x7;
10538 : : int res ATTRIBUTE_UNUSED;
10539 : : x2 = XEXP (x1, 1);
10540 : : x3 = XEXP (x2, 0);
10541 : : x4 = XVECEXP (x3, 0, 0);
10542 : : operands[1] = x4;
10543 : : x5 = XVECEXP (x3, 0, 1);
10544 : : operands[2] = x5;
10545 : : x6 = XEXP (x2, 2);
10546 : : switch (GET_CODE (x6))
10547 : : {
10548 : : case CONST_INT:
10549 : : if (XWINT (x6, 0) != 1L)
10550 : : return -1;
10551 : : switch (pattern449 (x2))
10552 : : {
10553 : : case 0:
10554 : : if (!(
10555 : : #line 13644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10556 : : (TARGET_AVX512F) &&
10557 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10558 : : (TARGET_AVX512FP16)))
10559 : : return -1;
10560 : : return 5346; /* avx512f_vmscalefv8hf */
10561 : :
10562 : : case 1:
10563 : : if (!
10564 : : #line 13644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10565 : : (TARGET_AVX512F))
10566 : : return -1;
10567 : : return 5350; /* avx512f_vmscalefv4sf */
10568 : :
10569 : : case 2:
10570 : : if (!(
10571 : : #line 13644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10572 : : (TARGET_AVX512F) &&
10573 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10574 : : (TARGET_SSE2)))
10575 : : return -1;
10576 : : return 5354; /* avx512f_vmscalefv2df */
10577 : :
10578 : : default:
10579 : : return -1;
10580 : : }
10581 : :
10582 : : case REG:
10583 : : case SUBREG:
10584 : : operands[4] = x6;
10585 : : x7 = XEXP (x2, 1);
10586 : : operands[3] = x7;
10587 : : switch (GET_MODE (operands[0]))
10588 : : {
10589 : : case E_V32HFmode:
10590 : : if (pattern1099 (x2,
10591 : : E_V32HFmode,
10592 : : E_SImode) != 0
10593 : : || !(
10594 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10595 : : (TARGET_AVX512F) && (
10596 : : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10597 : : (TARGET_AVX512F) &&
10598 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10599 : : (TARGET_AVX512FP16))))
10600 : : return -1;
10601 : : return 5360; /* avx512bw_scalefv32hf_mask */
10602 : :
10603 : : case E_V16HFmode:
10604 : : if (pattern1099 (x2,
10605 : : E_V16HFmode,
10606 : : E_HImode) != 0
10607 : : || !(
10608 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10609 : : (TARGET_AVX512F) && (
10610 : : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10611 : : (TARGET_AVX512F) &&
10612 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10613 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10614 : : return -1;
10615 : : return 5364; /* avx512vl_scalefv16hf_mask */
10616 : :
10617 : : case E_V8HFmode:
10618 : : if (pattern1099 (x2,
10619 : : E_V8HFmode,
10620 : : E_QImode) != 0
10621 : : || !(
10622 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10623 : : (TARGET_AVX512F) && (
10624 : : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10625 : : (TARGET_AVX512F) &&
10626 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10627 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10628 : : return -1;
10629 : : return 5368; /* avx512fp16_scalefv8hf_mask */
10630 : :
10631 : : case E_V16SFmode:
10632 : : if (pattern1099 (x2,
10633 : : E_V16SFmode,
10634 : : E_HImode) != 0
10635 : : || !
10636 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10637 : : (TARGET_AVX512F))
10638 : : return -1;
10639 : : return 5372; /* avx512f_scalefv16sf_mask */
10640 : :
10641 : : case E_V8SFmode:
10642 : : if (pattern1099 (x2,
10643 : : E_V8SFmode,
10644 : : E_QImode) != 0
10645 : : || !(
10646 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10647 : : (TARGET_AVX512F) && (
10648 : : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10649 : : (TARGET_AVX512F) &&
10650 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10651 : : (TARGET_AVX512VL))))
10652 : : return -1;
10653 : : return 5376; /* avx512vl_scalefv8sf_mask */
10654 : :
10655 : : case E_V4SFmode:
10656 : : if (pattern1099 (x2,
10657 : : E_V4SFmode,
10658 : : E_QImode) != 0
10659 : : || !(
10660 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10661 : : (TARGET_AVX512F) && (
10662 : : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10663 : : (TARGET_AVX512F) &&
10664 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10665 : : (TARGET_AVX512VL))))
10666 : : return -1;
10667 : : return 5380; /* avx512vl_scalefv4sf_mask */
10668 : :
10669 : : case E_V8DFmode:
10670 : : if (pattern1099 (x2,
10671 : : E_V8DFmode,
10672 : : E_QImode) != 0
10673 : : || !
10674 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10675 : : (TARGET_AVX512F))
10676 : : return -1;
10677 : : return 5384; /* avx512f_scalefv8df_mask */
10678 : :
10679 : : case E_V4DFmode:
10680 : : if (pattern1099 (x2,
10681 : : E_V4DFmode,
10682 : : E_QImode) != 0
10683 : : || !(
10684 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10685 : : (TARGET_AVX512F) && (
10686 : : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10687 : : (TARGET_AVX512F) &&
10688 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10689 : : (TARGET_AVX512VL))))
10690 : : return -1;
10691 : : return 5388; /* avx512vl_scalefv4df_mask */
10692 : :
10693 : : case E_V2DFmode:
10694 : : if (pattern1099 (x2,
10695 : : E_V2DFmode,
10696 : : E_QImode) != 0
10697 : : || !(
10698 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10699 : : (TARGET_AVX512F) && (
10700 : : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10701 : : (TARGET_AVX512F) &&
10702 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10703 : : (TARGET_AVX512VL))))
10704 : : return -1;
10705 : : return 5392; /* avx512vl_scalefv2df_mask */
10706 : :
10707 : : default:
10708 : : return -1;
10709 : : }
10710 : :
10711 : : default:
10712 : : return -1;
10713 : : }
10714 : : }
10715 : :
10716 : : int
10717 : : recog_140 (rtx x1 ATTRIBUTE_UNUSED,
10718 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10719 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10720 : : {
10721 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10722 : : rtx x2, x3, x4, x5, x6, x7, x8;
10723 : : int res ATTRIBUTE_UNUSED;
10724 : : x2 = XEXP (x1, 1);
10725 : : x3 = XEXP (x2, 0);
10726 : : x4 = XVECEXP (x3, 0, 0);
10727 : : operands[1] = x4;
10728 : : x5 = XVECEXP (x3, 0, 1);
10729 : : operands[2] = x5;
10730 : : x6 = XVECEXP (x3, 0, 2);
10731 : : operands[3] = x6;
10732 : : if (!const_0_to_15_operand (operands[3], E_SImode))
10733 : : return -1;
10734 : : x7 = XEXP (x2, 2);
10735 : : switch (GET_CODE (x7))
10736 : : {
10737 : : case REG:
10738 : : case SUBREG:
10739 : : operands[5] = x7;
10740 : : x8 = XEXP (x2, 1);
10741 : : operands[4] = x8;
10742 : : switch (GET_MODE (operands[0]))
10743 : : {
10744 : : case E_V16SFmode:
10745 : : if (pattern464 (x2,
10746 : : E_V16SFmode,
10747 : : E_HImode) != 0
10748 : : || !(
10749 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10750 : : (TARGET_AVX512F) &&
10751 : : #line 29954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10752 : : (TARGET_AVX512DQ && 1)))
10753 : : return -1;
10754 : : return 9932; /* avx512dq_rangepv16sf_mask */
10755 : :
10756 : : case E_V8SFmode:
10757 : : if (pattern464 (x2,
10758 : : E_V8SFmode,
10759 : : E_QImode) != 0
10760 : : || !(
10761 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10762 : : (TARGET_AVX512F) && (
10763 : : #line 29954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10764 : : (TARGET_AVX512DQ && 1) &&
10765 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10766 : : (TARGET_AVX512VL))))
10767 : : return -1;
10768 : : return 9935; /* avx512dq_rangepv8sf_mask */
10769 : :
10770 : : case E_V4SFmode:
10771 : : if (pattern464 (x2,
10772 : : E_V4SFmode,
10773 : : E_QImode) != 0
10774 : : || !(
10775 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10776 : : (TARGET_AVX512F) && (
10777 : : #line 29954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10778 : : (TARGET_AVX512DQ && 1) &&
10779 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10780 : : (TARGET_AVX512VL))))
10781 : : return -1;
10782 : : return 9937; /* avx512dq_rangepv4sf_mask */
10783 : :
10784 : : case E_V8DFmode:
10785 : : if (pattern464 (x2,
10786 : : E_V8DFmode,
10787 : : E_QImode) != 0
10788 : : || !(
10789 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10790 : : (TARGET_AVX512F) &&
10791 : : #line 29954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10792 : : (TARGET_AVX512DQ && 1)))
10793 : : return -1;
10794 : : return 9940; /* avx512dq_rangepv8df_mask */
10795 : :
10796 : : case E_V4DFmode:
10797 : : if (pattern464 (x2,
10798 : : E_V4DFmode,
10799 : : E_QImode) != 0
10800 : : || !(
10801 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10802 : : (TARGET_AVX512F) && (
10803 : : #line 29954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10804 : : (TARGET_AVX512DQ && 1) &&
10805 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10806 : : (TARGET_AVX512VL))))
10807 : : return -1;
10808 : : return 9943; /* avx512dq_rangepv4df_mask */
10809 : :
10810 : : case E_V2DFmode:
10811 : : if (pattern464 (x2,
10812 : : E_V2DFmode,
10813 : : E_QImode) != 0
10814 : : || !(
10815 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10816 : : (TARGET_AVX512F) && (
10817 : : #line 29954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10818 : : (TARGET_AVX512DQ && 1) &&
10819 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10820 : : (TARGET_AVX512VL))))
10821 : : return -1;
10822 : : return 9945; /* avx512dq_rangepv2df_mask */
10823 : :
10824 : : default:
10825 : : return -1;
10826 : : }
10827 : :
10828 : : case CONST_INT:
10829 : : if (XWINT (x7, 0) != 1L)
10830 : : return -1;
10831 : : switch (pattern1100 (x2))
10832 : : {
10833 : : case 0:
10834 : : if (!
10835 : : #line 29977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10836 : : (TARGET_AVX512DQ))
10837 : : return -1;
10838 : : return 9946; /* avx512dq_rangesv4sf */
10839 : :
10840 : : case 1:
10841 : : if (!(
10842 : : #line 29977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10843 : : (TARGET_AVX512DQ) &&
10844 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10845 : : (TARGET_SSE2)))
10846 : : return -1;
10847 : : return 9950; /* avx512dq_rangesv2df */
10848 : :
10849 : : default:
10850 : : return -1;
10851 : : }
10852 : :
10853 : : default:
10854 : : return -1;
10855 : : }
10856 : : }
10857 : :
10858 : : int
10859 : : recog_146 (rtx x1 ATTRIBUTE_UNUSED,
10860 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10861 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10862 : : {
10863 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10864 : : rtx x2, x3, x4, x5, x6, x7, x8;
10865 : : int res ATTRIBUTE_UNUSED;
10866 : : x2 = XEXP (x1, 1);
10867 : : x3 = XEXP (x2, 0);
10868 : : switch (XINT (x3, 1))
10869 : : {
10870 : : case 193:
10871 : : x4 = XEXP (x2, 2);
10872 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
10873 : : return -1;
10874 : : x5 = XVECEXP (x3, 0, 0);
10875 : : operands[1] = x5;
10876 : : x6 = XVECEXP (x3, 0, 1);
10877 : : operands[2] = x6;
10878 : : x7 = XVECEXP (x3, 0, 2);
10879 : : operands[3] = x7;
10880 : : if (!const_0_to_255_operand (operands[3], E_SImode))
10881 : : return -1;
10882 : : switch (pattern449 (x2))
10883 : : {
10884 : : case 0:
10885 : : if (!(
10886 : : #line 4038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10887 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
10888 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10889 : : (TARGET_AVX512FP16)))
10890 : : return -1;
10891 : : return 3212; /* reducesv8hf */
10892 : :
10893 : : case 1:
10894 : : if (!
10895 : : #line 4038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10896 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))))
10897 : : return -1;
10898 : : return 3216; /* reducesv4sf */
10899 : :
10900 : : case 2:
10901 : : if (!(
10902 : : #line 4038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10903 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
10904 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10905 : : (TARGET_SSE2)))
10906 : : return -1;
10907 : : return 3220; /* reducesv2df */
10908 : :
10909 : : default:
10910 : : return -1;
10911 : : }
10912 : :
10913 : : case 60:
10914 : : x4 = XEXP (x2, 2);
10915 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
10916 : : return -1;
10917 : : x5 = XVECEXP (x3, 0, 0);
10918 : : operands[1] = x5;
10919 : : x6 = XVECEXP (x3, 0, 1);
10920 : : operands[2] = x6;
10921 : : x7 = XVECEXP (x3, 0, 2);
10922 : : operands[3] = x7;
10923 : : if (!cmpps_imm_operand (operands[3], E_SImode))
10924 : : return -1;
10925 : : switch (pattern1100 (x2))
10926 : : {
10927 : : case 0:
10928 : : if (!
10929 : : #line 4309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10930 : : (TARGET_SSE))
10931 : : return -1;
10932 : : return 3256; /* avx_vmcmpv4sf3 */
10933 : :
10934 : : case 1:
10935 : : if (!(
10936 : : #line 4309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10937 : : (TARGET_SSE) &&
10938 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10939 : : (TARGET_SSE2)))
10940 : : return -1;
10941 : : return 3257; /* avx_vmcmpv2df3 */
10942 : :
10943 : : default:
10944 : : return -1;
10945 : : }
10946 : :
10947 : : case 134:
10948 : : return recog_136 (x1, insn, pnum_clobbers);
10949 : :
10950 : : case 218:
10951 : : switch (pattern463 (x2))
10952 : : {
10953 : : case 0:
10954 : : if (!
10955 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10956 : : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && 1))
10957 : : return -1;
10958 : : return 4280; /* fma_fmaddc_v32hf_maskz_1 */
10959 : :
10960 : : case 1:
10961 : : if (!(
10962 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10963 : : (TARGET_AVX512FP16 && (32 == 64 || TARGET_AVX512VL) && 1) &&
10964 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10965 : : (TARGET_AVX512VL)))
10966 : : return -1;
10967 : : return 4287; /* fma_fmaddc_v16hf_maskz_1 */
10968 : :
10969 : : case 2:
10970 : : if (!(
10971 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10972 : : (TARGET_AVX512FP16 && (16 == 64 || TARGET_AVX512VL) && 1) &&
10973 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10974 : : (TARGET_AVX512VL)))
10975 : : return -1;
10976 : : return 4291; /* fma_fmaddc_v8hf_maskz_1 */
10977 : :
10978 : : case 3:
10979 : : if (!
10980 : : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10981 : : (TARGET_AVX512FP16 && 1))
10982 : : return -1;
10983 : : return 4318; /* avx512bw_fmaddc_v32hf_mask */
10984 : :
10985 : : case 4:
10986 : : if (!(
10987 : : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10988 : : (TARGET_AVX512FP16 && 1) &&
10989 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10990 : : (TARGET_AVX512VL)))
10991 : : return -1;
10992 : : return 4322; /* avx512vl_fmaddc_v16hf_mask */
10993 : :
10994 : : case 5:
10995 : : if (!(
10996 : : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10997 : : (TARGET_AVX512FP16 && 1) &&
10998 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10999 : : (TARGET_AVX512VL)))
11000 : : return -1;
11001 : : return 4324; /* avx512fp16_fmaddc_v8hf_mask */
11002 : :
11003 : : case 6:
11004 : : if (!
11005 : : #line 7541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11006 : : (TARGET_AVX512FP16))
11007 : : return -1;
11008 : : return 4342; /* avx512fp16_fma_fmaddcsh_v8hf */
11009 : :
11010 : : default:
11011 : : return -1;
11012 : : }
11013 : :
11014 : : case 220:
11015 : : switch (pattern463 (x2))
11016 : : {
11017 : : case 0:
11018 : : if (!
11019 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11020 : : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && 1))
11021 : : return -1;
11022 : : return 4284; /* fma_fcmaddc_v32hf_maskz_1 */
11023 : :
11024 : : case 1:
11025 : : if (!(
11026 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11027 : : (TARGET_AVX512FP16 && (32 == 64 || TARGET_AVX512VL) && 1) &&
11028 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11029 : : (TARGET_AVX512VL)))
11030 : : return -1;
11031 : : return 4289; /* fma_fcmaddc_v16hf_maskz_1 */
11032 : :
11033 : : case 2:
11034 : : if (!(
11035 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11036 : : (TARGET_AVX512FP16 && (16 == 64 || TARGET_AVX512VL) && 1) &&
11037 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11038 : : (TARGET_AVX512VL)))
11039 : : return -1;
11040 : : return 4293; /* fma_fcmaddc_v8hf_maskz_1 */
11041 : :
11042 : : case 3:
11043 : : if (!
11044 : : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11045 : : (TARGET_AVX512FP16 && 1))
11046 : : return -1;
11047 : : return 4320; /* avx512bw_fcmaddc_v32hf_mask */
11048 : :
11049 : : case 4:
11050 : : if (!(
11051 : : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11052 : : (TARGET_AVX512FP16 && 1) &&
11053 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11054 : : (TARGET_AVX512VL)))
11055 : : return -1;
11056 : : return 4323; /* avx512vl_fcmaddc_v16hf_mask */
11057 : :
11058 : : case 5:
11059 : : if (!(
11060 : : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11061 : : (TARGET_AVX512FP16 && 1) &&
11062 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11063 : : (TARGET_AVX512VL)))
11064 : : return -1;
11065 : : return 4325; /* avx512fp16_fcmaddc_v8hf_mask */
11066 : :
11067 : : case 6:
11068 : : if (!
11069 : : #line 7541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11070 : : (TARGET_AVX512FP16))
11071 : : return -1;
11072 : : return 4346; /* avx512fp16_fma_fcmaddcsh_v8hf */
11073 : :
11074 : : default:
11075 : : return -1;
11076 : : }
11077 : :
11078 : : case 168:
11079 : : return recog_143 (x1, insn, pnum_clobbers);
11080 : :
11081 : : case 122:
11082 : : x5 = XVECEXP (x3, 0, 0);
11083 : : operands[1] = x5;
11084 : : x6 = XVECEXP (x3, 0, 1);
11085 : : operands[2] = x6;
11086 : : x7 = XVECEXP (x3, 0, 2);
11087 : : operands[3] = x7;
11088 : : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
11089 : : return -1;
11090 : : x8 = XEXP (x2, 1);
11091 : : operands[4] = x8;
11092 : : x4 = XEXP (x2, 2);
11093 : : operands[5] = x4;
11094 : : switch (GET_MODE (operands[0]))
11095 : : {
11096 : : case E_V64QImode:
11097 : : if (pattern469 (x2,
11098 : : E_V64QImode,
11099 : : E_DImode) != 0
11100 : : || !(
11101 : : #line 23267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11102 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
11103 : : #line 609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11104 : : (TARGET_AVX512BW)))
11105 : : return -1;
11106 : : return 8593; /* avx512bw_palignrv64qi_mask */
11107 : :
11108 : : case E_V32QImode:
11109 : : if (pattern469 (x2,
11110 : : E_V32QImode,
11111 : : E_SImode) != 0
11112 : : || !(
11113 : : #line 23267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11114 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
11115 : : #line 609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11116 : : (TARGET_AVX2)))
11117 : : return -1;
11118 : : return 8594; /* avx2_palignrv32qi_mask */
11119 : :
11120 : : case E_V16QImode:
11121 : : if (pattern469 (x2,
11122 : : E_V16QImode,
11123 : : E_HImode) != 0
11124 : : || !
11125 : : #line 23267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11126 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)))
11127 : : return -1;
11128 : : return 8595; /* ssse3_palignrv16qi_mask */
11129 : :
11130 : : default:
11131 : : return -1;
11132 : : }
11133 : :
11134 : : case 129:
11135 : : switch (pattern465 (x2,
11136 : : E_SImode))
11137 : : {
11138 : : case 0:
11139 : : if (!(
11140 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11141 : : (TARGET_AVX512F) &&
11142 : : #line 23857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11143 : : (TARGET_AVX10_2)))
11144 : : return -1;
11145 : : return 8676; /* avx10_2_mpsadbw_mask */
11146 : :
11147 : : case 1:
11148 : : if (!(
11149 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11150 : : (TARGET_AVX512F) && (
11151 : : #line 23869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11152 : : (TARGET_AVX10_2) &&
11153 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11154 : : (TARGET_AVX))))
11155 : : return -1;
11156 : : return 8678; /* avx2_mpsadbw_mask */
11157 : :
11158 : : case 2:
11159 : : if (!(
11160 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11161 : : (TARGET_AVX512F) &&
11162 : : #line 23869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11163 : : (TARGET_AVX10_2)))
11164 : : return -1;
11165 : : return 8680; /* sse4_1_mpsadbw_mask */
11166 : :
11167 : : default:
11168 : : return -1;
11169 : : }
11170 : :
11171 : : case 156:
11172 : : return recog_135 (x1, insn, pnum_clobbers);
11173 : :
11174 : : case 195:
11175 : : return recog_140 (x1, insn, pnum_clobbers);
11176 : :
11177 : : case 167:
11178 : : x4 = XEXP (x2, 2);
11179 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11180 : : return -1;
11181 : : x5 = XVECEXP (x3, 0, 0);
11182 : : operands[1] = x5;
11183 : : x6 = XVECEXP (x3, 0, 1);
11184 : : operands[2] = x6;
11185 : : x7 = XVECEXP (x3, 0, 2);
11186 : : operands[3] = x7;
11187 : : if (!const_0_to_15_operand (operands[3], E_SImode))
11188 : : return -1;
11189 : : switch (pattern449 (x2))
11190 : : {
11191 : : case 0:
11192 : : if (!(
11193 : : #line 30045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11194 : : (TARGET_AVX512F) &&
11195 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11196 : : (TARGET_AVX512FP16)))
11197 : : return -1;
11198 : : return 10014; /* avx512f_vgetmantv8hf */
11199 : :
11200 : : case 1:
11201 : : if (!
11202 : : #line 30045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11203 : : (TARGET_AVX512F))
11204 : : return -1;
11205 : : return 10018; /* avx512f_vgetmantv4sf */
11206 : :
11207 : : case 2:
11208 : : if (!(
11209 : : #line 30045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11210 : : (TARGET_AVX512F) &&
11211 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11212 : : (TARGET_SSE2)))
11213 : : return -1;
11214 : : return 10022; /* avx512f_vgetmantv2df */
11215 : :
11216 : : default:
11217 : : return -1;
11218 : : }
11219 : :
11220 : : case 187:
11221 : : x5 = XVECEXP (x3, 0, 0);
11222 : : operands[1] = x5;
11223 : : x6 = XVECEXP (x3, 0, 1);
11224 : : operands[2] = x6;
11225 : : x7 = XVECEXP (x3, 0, 2);
11226 : : operands[3] = x7;
11227 : : if (!const_0_to_255_operand (operands[3], E_SImode))
11228 : : return -1;
11229 : : x8 = XEXP (x2, 1);
11230 : : operands[4] = x8;
11231 : : x4 = XEXP (x2, 2);
11232 : : operands[5] = x4;
11233 : : switch (GET_MODE (operands[0]))
11234 : : {
11235 : : case E_V8HImode:
11236 : : if (pattern1262 (x2,
11237 : : E_QImode,
11238 : : E_V8HImode,
11239 : : E_V16QImode) != 0
11240 : : || !(
11241 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11242 : : (TARGET_AVX512F) && (
11243 : : #line 30066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11244 : : (TARGET_AVX512BW) &&
11245 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11246 : : (TARGET_AVX512VL))))
11247 : : return -1;
11248 : : return 10027; /* avx512bw_dbpsadbwv8hi_mask */
11249 : :
11250 : : case E_V16HImode:
11251 : : if (pattern1262 (x2,
11252 : : E_HImode,
11253 : : E_V16HImode,
11254 : : E_V32QImode) != 0
11255 : : || !(
11256 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11257 : : (TARGET_AVX512F) && (
11258 : : #line 30066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11259 : : (TARGET_AVX512BW) &&
11260 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11261 : : (TARGET_AVX512VL))))
11262 : : return -1;
11263 : : return 10029; /* avx512bw_dbpsadbwv16hi_mask */
11264 : :
11265 : : case E_V32HImode:
11266 : : if (pattern1262 (x2,
11267 : : E_SImode,
11268 : : E_V32HImode,
11269 : : E_V64QImode) != 0
11270 : : || !(
11271 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11272 : : (TARGET_AVX512F) &&
11273 : : #line 30066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11274 : : (TARGET_AVX512BW)))
11275 : : return -1;
11276 : : return 10031; /* avx512bw_dbpsadbwv32hi_mask */
11277 : :
11278 : : default:
11279 : : return -1;
11280 : : }
11281 : :
11282 : : case 196:
11283 : : switch (pattern468 (x2))
11284 : : {
11285 : : case 0:
11286 : : if (!
11287 : : #line 30384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11288 : : (TARGET_AVX512IFMA))
11289 : : return -1;
11290 : : return 10087; /* vpmadd52luqv8di_maskz_1 */
11291 : :
11292 : : case 1:
11293 : : if (!(
11294 : : #line 30384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11295 : : (TARGET_AVX512IFMA) &&
11296 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11297 : : (TARGET_AVX512VL)))
11298 : : return -1;
11299 : : return 10089; /* vpmadd52luqv4di_maskz_1 */
11300 : :
11301 : : case 2:
11302 : : if (!(
11303 : : #line 30384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11304 : : (TARGET_AVX512IFMA) &&
11305 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11306 : : (TARGET_AVX512VL)))
11307 : : return -1;
11308 : : return 10091; /* vpmadd52luqv2di_maskz_1 */
11309 : :
11310 : : case 3:
11311 : : if (!
11312 : : #line 30400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11313 : : (TARGET_AVX512IFMA))
11314 : : return -1;
11315 : : return 10093; /* vpmadd52luqv8di_mask */
11316 : :
11317 : : case 4:
11318 : : if (!(
11319 : : #line 30400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11320 : : (TARGET_AVX512IFMA) &&
11321 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11322 : : (TARGET_AVX512VL)))
11323 : : return -1;
11324 : : return 10095; /* vpmadd52luqv4di_mask */
11325 : :
11326 : : case 5:
11327 : : if (!(
11328 : : #line 30400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11329 : : (TARGET_AVX512IFMA) &&
11330 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11331 : : (TARGET_AVX512VL)))
11332 : : return -1;
11333 : : return 10097; /* vpmadd52luqv2di_mask */
11334 : :
11335 : : default:
11336 : : return -1;
11337 : : }
11338 : :
11339 : : case 197:
11340 : : switch (pattern468 (x2))
11341 : : {
11342 : : case 0:
11343 : : if (!
11344 : : #line 30384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11345 : : (TARGET_AVX512IFMA))
11346 : : return -1;
11347 : : return 10088; /* vpmadd52huqv8di_maskz_1 */
11348 : :
11349 : : case 1:
11350 : : if (!(
11351 : : #line 30384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11352 : : (TARGET_AVX512IFMA) &&
11353 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11354 : : (TARGET_AVX512VL)))
11355 : : return -1;
11356 : : return 10090; /* vpmadd52huqv4di_maskz_1 */
11357 : :
11358 : : case 2:
11359 : : if (!(
11360 : : #line 30384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11361 : : (TARGET_AVX512IFMA) &&
11362 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11363 : : (TARGET_AVX512VL)))
11364 : : return -1;
11365 : : return 10092; /* vpmadd52huqv2di_maskz_1 */
11366 : :
11367 : : case 3:
11368 : : if (!
11369 : : #line 30400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11370 : : (TARGET_AVX512IFMA))
11371 : : return -1;
11372 : : return 10094; /* vpmadd52huqv8di_mask */
11373 : :
11374 : : case 4:
11375 : : if (!(
11376 : : #line 30400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11377 : : (TARGET_AVX512IFMA) &&
11378 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11379 : : (TARGET_AVX512VL)))
11380 : : return -1;
11381 : : return 10096; /* vpmadd52huqv4di_mask */
11382 : :
11383 : : case 5:
11384 : : if (!(
11385 : : #line 30400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11386 : : (TARGET_AVX512IFMA) &&
11387 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11388 : : (TARGET_AVX512VL)))
11389 : : return -1;
11390 : : return 10098; /* vpmadd52huqv2di_mask */
11391 : :
11392 : : default:
11393 : : return -1;
11394 : : }
11395 : :
11396 : : case 199:
11397 : : switch (pattern465 (x2,
11398 : : E_VOIDmode))
11399 : : {
11400 : : case 0:
11401 : : if (!(
11402 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11403 : : (TARGET_AVX512F) && (
11404 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11405 : : (TARGET_GFNI) &&
11406 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11407 : : (TARGET_AVX512F))))
11408 : : return -1;
11409 : : return 10138; /* vgf2p8affineinvqb_v64qi_mask */
11410 : :
11411 : : case 1:
11412 : : if (!(
11413 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11414 : : (TARGET_AVX512F) && (
11415 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11416 : : (TARGET_GFNI) &&
11417 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11418 : : (TARGET_AVX))))
11419 : : return -1;
11420 : : return 10140; /* vgf2p8affineinvqb_v32qi_mask */
11421 : :
11422 : : case 2:
11423 : : if (!(
11424 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11425 : : (TARGET_AVX512F) &&
11426 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11427 : : (TARGET_GFNI)))
11428 : : return -1;
11429 : : return 10142; /* vgf2p8affineinvqb_v16qi_mask */
11430 : :
11431 : : default:
11432 : : return -1;
11433 : : }
11434 : :
11435 : : case 200:
11436 : : switch (pattern465 (x2,
11437 : : E_VOIDmode))
11438 : : {
11439 : : case 0:
11440 : : if (!(
11441 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11442 : : (TARGET_AVX512F) && (
11443 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : : (TARGET_GFNI) &&
11445 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11446 : : (TARGET_AVX512F))))
11447 : : return -1;
11448 : : return 10144; /* vgf2p8affineqb_v64qi_mask */
11449 : :
11450 : : case 1:
11451 : : if (!(
11452 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11453 : : (TARGET_AVX512F) && (
11454 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11455 : : (TARGET_GFNI) &&
11456 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11457 : : (TARGET_AVX))))
11458 : : return -1;
11459 : : return 10146; /* vgf2p8affineqb_v32qi_mask */
11460 : :
11461 : : case 2:
11462 : : if (!(
11463 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11464 : : (TARGET_AVX512F) &&
11465 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11466 : : (TARGET_GFNI)))
11467 : : return -1;
11468 : : return 10148; /* vgf2p8affineqb_v16qi_mask */
11469 : :
11470 : : default:
11471 : : return -1;
11472 : : }
11473 : :
11474 : : case 203:
11475 : : return recog_144 (x1, insn, pnum_clobbers);
11476 : :
11477 : : case 202:
11478 : : return recog_145 (x1, insn, pnum_clobbers);
11479 : :
11480 : : case 204:
11481 : : return recog_139 (x1, insn, pnum_clobbers);
11482 : :
11483 : : case 205:
11484 : : return recog_138 (x1, insn, pnum_clobbers);
11485 : :
11486 : : case 206:
11487 : : switch (pattern475 (x2))
11488 : : {
11489 : : case 0:
11490 : : if (!
11491 : : #line 30751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11492 : : (TARGET_AVX512VNNI))
11493 : : return -1;
11494 : : return 10248; /* vpdpbusd_v16si_mask */
11495 : :
11496 : : case 1:
11497 : : if (!(
11498 : : #line 30751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11499 : : (TARGET_AVX512VNNI) &&
11500 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11501 : : (TARGET_AVX512VL)))
11502 : : return -1;
11503 : : return 10249; /* vpdpbusd_v8si_mask */
11504 : :
11505 : : case 2:
11506 : : if (!(
11507 : : #line 30751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11508 : : (TARGET_AVX512VNNI) &&
11509 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11510 : : (TARGET_AVX512VL)))
11511 : : return -1;
11512 : : return 10250; /* vpdpbusd_v4si_mask */
11513 : :
11514 : : case 3:
11515 : : if (!
11516 : : #line 30780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11517 : : (TARGET_AVX512VNNI))
11518 : : return -1;
11519 : : return 10251; /* vpdpbusd_v16si_maskz_1 */
11520 : :
11521 : : case 4:
11522 : : if (!(
11523 : : #line 30780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11524 : : (TARGET_AVX512VNNI) &&
11525 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11526 : : (TARGET_AVX512VL)))
11527 : : return -1;
11528 : : return 10252; /* vpdpbusd_v8si_maskz_1 */
11529 : :
11530 : : case 5:
11531 : : if (!(
11532 : : #line 30780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11533 : : (TARGET_AVX512VNNI) &&
11534 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11535 : : (TARGET_AVX512VL)))
11536 : : return -1;
11537 : : return 10253; /* vpdpbusd_v4si_maskz_1 */
11538 : :
11539 : : default:
11540 : : return -1;
11541 : : }
11542 : :
11543 : : case 207:
11544 : : switch (pattern475 (x2))
11545 : : {
11546 : : case 0:
11547 : : if (!
11548 : : #line 30820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11549 : : (TARGET_AVX512VNNI))
11550 : : return -1;
11551 : : return 10257; /* vpdpbusds_v16si_mask */
11552 : :
11553 : : case 1:
11554 : : if (!(
11555 : : #line 30820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11556 : : (TARGET_AVX512VNNI) &&
11557 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11558 : : (TARGET_AVX512VL)))
11559 : : return -1;
11560 : : return 10258; /* vpdpbusds_v8si_mask */
11561 : :
11562 : : case 2:
11563 : : if (!(
11564 : : #line 30820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11565 : : (TARGET_AVX512VNNI) &&
11566 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11567 : : (TARGET_AVX512VL)))
11568 : : return -1;
11569 : : return 10259; /* vpdpbusds_v4si_mask */
11570 : :
11571 : : case 3:
11572 : : if (!
11573 : : #line 30849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11574 : : (TARGET_AVX512VNNI))
11575 : : return -1;
11576 : : return 10260; /* vpdpbusds_v16si_maskz_1 */
11577 : :
11578 : : case 4:
11579 : : if (!(
11580 : : #line 30849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11581 : : (TARGET_AVX512VNNI) &&
11582 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11583 : : (TARGET_AVX512VL)))
11584 : : return -1;
11585 : : return 10261; /* vpdpbusds_v8si_maskz_1 */
11586 : :
11587 : : case 5:
11588 : : if (!(
11589 : : #line 30849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11590 : : (TARGET_AVX512VNNI) &&
11591 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11592 : : (TARGET_AVX512VL)))
11593 : : return -1;
11594 : : return 10262; /* vpdpbusds_v4si_maskz_1 */
11595 : :
11596 : : default:
11597 : : return -1;
11598 : : }
11599 : :
11600 : : case 208:
11601 : : switch (pattern475 (x2))
11602 : : {
11603 : : case 0:
11604 : : if (!
11605 : : #line 30889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11606 : : (TARGET_AVX512VNNI))
11607 : : return -1;
11608 : : return 10266; /* vpdpwssd_v16si_mask */
11609 : :
11610 : : case 1:
11611 : : if (!(
11612 : : #line 30889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11613 : : (TARGET_AVX512VNNI) &&
11614 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11615 : : (TARGET_AVX512VL)))
11616 : : return -1;
11617 : : return 10267; /* vpdpwssd_v8si_mask */
11618 : :
11619 : : case 2:
11620 : : if (!(
11621 : : #line 30889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11622 : : (TARGET_AVX512VNNI) &&
11623 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11624 : : (TARGET_AVX512VL)))
11625 : : return -1;
11626 : : return 10268; /* vpdpwssd_v4si_mask */
11627 : :
11628 : : case 3:
11629 : : if (!
11630 : : #line 30918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11631 : : (TARGET_AVX512VNNI))
11632 : : return -1;
11633 : : return 10269; /* vpdpwssd_v16si_maskz_1 */
11634 : :
11635 : : case 4:
11636 : : if (!(
11637 : : #line 30918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11638 : : (TARGET_AVX512VNNI) &&
11639 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11640 : : (TARGET_AVX512VL)))
11641 : : return -1;
11642 : : return 10270; /* vpdpwssd_v8si_maskz_1 */
11643 : :
11644 : : case 5:
11645 : : if (!(
11646 : : #line 30918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11647 : : (TARGET_AVX512VNNI) &&
11648 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11649 : : (TARGET_AVX512VL)))
11650 : : return -1;
11651 : : return 10271; /* vpdpwssd_v4si_maskz_1 */
11652 : :
11653 : : default:
11654 : : return -1;
11655 : : }
11656 : :
11657 : : case 209:
11658 : : switch (pattern475 (x2))
11659 : : {
11660 : : case 0:
11661 : : if (!
11662 : : #line 30958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11663 : : (TARGET_AVX512VNNI))
11664 : : return -1;
11665 : : return 10275; /* vpdpwssds_v16si_mask */
11666 : :
11667 : : case 1:
11668 : : if (!(
11669 : : #line 30958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11670 : : (TARGET_AVX512VNNI) &&
11671 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11672 : : (TARGET_AVX512VL)))
11673 : : return -1;
11674 : : return 10276; /* vpdpwssds_v8si_mask */
11675 : :
11676 : : case 2:
11677 : : if (!(
11678 : : #line 30958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11679 : : (TARGET_AVX512VNNI) &&
11680 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11681 : : (TARGET_AVX512VL)))
11682 : : return -1;
11683 : : return 10277; /* vpdpwssds_v4si_mask */
11684 : :
11685 : : case 3:
11686 : : if (!
11687 : : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11688 : : (TARGET_AVX512VNNI))
11689 : : return -1;
11690 : : return 10278; /* vpdpwssds_v16si_maskz_1 */
11691 : :
11692 : : case 4:
11693 : : if (!(
11694 : : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11695 : : (TARGET_AVX512VNNI) &&
11696 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11697 : : (TARGET_AVX512VL)))
11698 : : return -1;
11699 : : return 10279; /* vpdpwssds_v8si_maskz_1 */
11700 : :
11701 : : case 5:
11702 : : if (!(
11703 : : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11704 : : (TARGET_AVX512VNNI) &&
11705 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11706 : : (TARGET_AVX512VL)))
11707 : : return -1;
11708 : : return 10280; /* vpdpwssds_v4si_maskz_1 */
11709 : :
11710 : : default:
11711 : : return -1;
11712 : : }
11713 : :
11714 : : case 217:
11715 : : return recog_141 (x1, insn, pnum_clobbers);
11716 : :
11717 : : case 228:
11718 : : switch (pattern477 (x2))
11719 : : {
11720 : : case 0:
11721 : : if (!
11722 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11723 : : (TARGET_AVX10_2))
11724 : : return -1;
11725 : : return 10361; /* vpdpbssd_v16si_mask */
11726 : :
11727 : : case 1:
11728 : : if (!
11729 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11730 : : (TARGET_AVX10_2))
11731 : : return -1;
11732 : : return 10367; /* vpdpbssd_v8si_mask */
11733 : :
11734 : : case 2:
11735 : : if (!
11736 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11737 : : (TARGET_AVX10_2))
11738 : : return -1;
11739 : : return 10373; /* vpdpbssd_v4si_mask */
11740 : :
11741 : : case 3:
11742 : : if (!
11743 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11744 : : (TARGET_AVX10_2))
11745 : : return -1;
11746 : : return 10379; /* *vpdpbssd_v16si_maskz */
11747 : :
11748 : : case 4:
11749 : : if (!
11750 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11751 : : (TARGET_AVX10_2))
11752 : : return -1;
11753 : : return 10385; /* *vpdpbssd_v8si_maskz */
11754 : :
11755 : : case 5:
11756 : : if (!
11757 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11758 : : (TARGET_AVX10_2))
11759 : : return -1;
11760 : : return 10391; /* *vpdpbssd_v4si_maskz */
11761 : :
11762 : : default:
11763 : : return -1;
11764 : : }
11765 : :
11766 : : case 229:
11767 : : switch (pattern477 (x2))
11768 : : {
11769 : : case 0:
11770 : : if (!
11771 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11772 : : (TARGET_AVX10_2))
11773 : : return -1;
11774 : : return 10362; /* vpdpbssds_v16si_mask */
11775 : :
11776 : : case 1:
11777 : : if (!
11778 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11779 : : (TARGET_AVX10_2))
11780 : : return -1;
11781 : : return 10368; /* vpdpbssds_v8si_mask */
11782 : :
11783 : : case 2:
11784 : : if (!
11785 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11786 : : (TARGET_AVX10_2))
11787 : : return -1;
11788 : : return 10374; /* vpdpbssds_v4si_mask */
11789 : :
11790 : : case 3:
11791 : : if (!
11792 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11793 : : (TARGET_AVX10_2))
11794 : : return -1;
11795 : : return 10380; /* *vpdpbssds_v16si_maskz */
11796 : :
11797 : : case 4:
11798 : : if (!
11799 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11800 : : (TARGET_AVX10_2))
11801 : : return -1;
11802 : : return 10386; /* *vpdpbssds_v8si_maskz */
11803 : :
11804 : : case 5:
11805 : : if (!
11806 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11807 : : (TARGET_AVX10_2))
11808 : : return -1;
11809 : : return 10392; /* *vpdpbssds_v4si_maskz */
11810 : :
11811 : : default:
11812 : : return -1;
11813 : : }
11814 : :
11815 : : case 230:
11816 : : switch (pattern477 (x2))
11817 : : {
11818 : : case 0:
11819 : : if (!
11820 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11821 : : (TARGET_AVX10_2))
11822 : : return -1;
11823 : : return 10363; /* vpdpbsud_v16si_mask */
11824 : :
11825 : : case 1:
11826 : : if (!
11827 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11828 : : (TARGET_AVX10_2))
11829 : : return -1;
11830 : : return 10369; /* vpdpbsud_v8si_mask */
11831 : :
11832 : : case 2:
11833 : : if (!
11834 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11835 : : (TARGET_AVX10_2))
11836 : : return -1;
11837 : : return 10375; /* vpdpbsud_v4si_mask */
11838 : :
11839 : : case 3:
11840 : : if (!
11841 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11842 : : (TARGET_AVX10_2))
11843 : : return -1;
11844 : : return 10381; /* *vpdpbsud_v16si_maskz */
11845 : :
11846 : : case 4:
11847 : : if (!
11848 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11849 : : (TARGET_AVX10_2))
11850 : : return -1;
11851 : : return 10387; /* *vpdpbsud_v8si_maskz */
11852 : :
11853 : : case 5:
11854 : : if (!
11855 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11856 : : (TARGET_AVX10_2))
11857 : : return -1;
11858 : : return 10393; /* *vpdpbsud_v4si_maskz */
11859 : :
11860 : : default:
11861 : : return -1;
11862 : : }
11863 : :
11864 : : case 231:
11865 : : switch (pattern477 (x2))
11866 : : {
11867 : : case 0:
11868 : : if (!
11869 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11870 : : (TARGET_AVX10_2))
11871 : : return -1;
11872 : : return 10364; /* vpdpbsuds_v16si_mask */
11873 : :
11874 : : case 1:
11875 : : if (!
11876 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11877 : : (TARGET_AVX10_2))
11878 : : return -1;
11879 : : return 10370; /* vpdpbsuds_v8si_mask */
11880 : :
11881 : : case 2:
11882 : : if (!
11883 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11884 : : (TARGET_AVX10_2))
11885 : : return -1;
11886 : : return 10376; /* vpdpbsuds_v4si_mask */
11887 : :
11888 : : case 3:
11889 : : if (!
11890 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11891 : : (TARGET_AVX10_2))
11892 : : return -1;
11893 : : return 10382; /* *vpdpbsuds_v16si_maskz */
11894 : :
11895 : : case 4:
11896 : : if (!
11897 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11898 : : (TARGET_AVX10_2))
11899 : : return -1;
11900 : : return 10388; /* *vpdpbsuds_v8si_maskz */
11901 : :
11902 : : case 5:
11903 : : if (!
11904 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11905 : : (TARGET_AVX10_2))
11906 : : return -1;
11907 : : return 10394; /* *vpdpbsuds_v4si_maskz */
11908 : :
11909 : : default:
11910 : : return -1;
11911 : : }
11912 : :
11913 : : case 232:
11914 : : switch (pattern477 (x2))
11915 : : {
11916 : : case 0:
11917 : : if (!
11918 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11919 : : (TARGET_AVX10_2))
11920 : : return -1;
11921 : : return 10365; /* vpdpbuud_v16si_mask */
11922 : :
11923 : : case 1:
11924 : : if (!
11925 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11926 : : (TARGET_AVX10_2))
11927 : : return -1;
11928 : : return 10371; /* vpdpbuud_v8si_mask */
11929 : :
11930 : : case 2:
11931 : : if (!
11932 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11933 : : (TARGET_AVX10_2))
11934 : : return -1;
11935 : : return 10377; /* vpdpbuud_v4si_mask */
11936 : :
11937 : : case 3:
11938 : : if (!
11939 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11940 : : (TARGET_AVX10_2))
11941 : : return -1;
11942 : : return 10383; /* *vpdpbuud_v16si_maskz */
11943 : :
11944 : : case 4:
11945 : : if (!
11946 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11947 : : (TARGET_AVX10_2))
11948 : : return -1;
11949 : : return 10389; /* *vpdpbuud_v8si_maskz */
11950 : :
11951 : : case 5:
11952 : : if (!
11953 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11954 : : (TARGET_AVX10_2))
11955 : : return -1;
11956 : : return 10395; /* *vpdpbuud_v4si_maskz */
11957 : :
11958 : : default:
11959 : : return -1;
11960 : : }
11961 : :
11962 : : case 233:
11963 : : switch (pattern477 (x2))
11964 : : {
11965 : : case 0:
11966 : : if (!
11967 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11968 : : (TARGET_AVX10_2))
11969 : : return -1;
11970 : : return 10366; /* vpdpbuuds_v16si_mask */
11971 : :
11972 : : case 1:
11973 : : if (!
11974 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11975 : : (TARGET_AVX10_2))
11976 : : return -1;
11977 : : return 10372; /* vpdpbuuds_v8si_mask */
11978 : :
11979 : : case 2:
11980 : : if (!
11981 : : #line 31745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11982 : : (TARGET_AVX10_2))
11983 : : return -1;
11984 : : return 10378; /* vpdpbuuds_v4si_mask */
11985 : :
11986 : : case 3:
11987 : : if (!
11988 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11989 : : (TARGET_AVX10_2))
11990 : : return -1;
11991 : : return 10384; /* *vpdpbuuds_v16si_maskz */
11992 : :
11993 : : case 4:
11994 : : if (!
11995 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11996 : : (TARGET_AVX10_2))
11997 : : return -1;
11998 : : return 10390; /* *vpdpbuuds_v8si_maskz */
11999 : :
12000 : : case 5:
12001 : : if (!
12002 : : #line 31772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12003 : : (TARGET_AVX10_2))
12004 : : return -1;
12005 : : return 10396; /* *vpdpbuuds_v4si_maskz */
12006 : :
12007 : : default:
12008 : : return -1;
12009 : : }
12010 : :
12011 : : case 234:
12012 : : switch (pattern477 (x2))
12013 : : {
12014 : : case 0:
12015 : : if (!
12016 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12017 : : (TARGET_AVX10_2))
12018 : : return -1;
12019 : : return 10513; /* vpdpwusd_v16si_mask */
12020 : :
12021 : : case 1:
12022 : : if (!
12023 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12024 : : (TARGET_AVX10_2))
12025 : : return -1;
12026 : : return 10519; /* vpdpwusd_v8si_mask */
12027 : :
12028 : : case 2:
12029 : : if (!
12030 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12031 : : (TARGET_AVX10_2))
12032 : : return -1;
12033 : : return 10525; /* vpdpwusd_v4si_mask */
12034 : :
12035 : : case 3:
12036 : : if (!
12037 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12038 : : (TARGET_AVX10_2))
12039 : : return -1;
12040 : : return 10531; /* *vpdpwusd_v16si_maskz */
12041 : :
12042 : : case 4:
12043 : : if (!
12044 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12045 : : (TARGET_AVX10_2))
12046 : : return -1;
12047 : : return 10537; /* *vpdpwusd_v8si_maskz */
12048 : :
12049 : : case 5:
12050 : : if (!
12051 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12052 : : (TARGET_AVX10_2))
12053 : : return -1;
12054 : : return 10543; /* *vpdpwusd_v4si_maskz */
12055 : :
12056 : : default:
12057 : : return -1;
12058 : : }
12059 : :
12060 : : case 235:
12061 : : switch (pattern477 (x2))
12062 : : {
12063 : : case 0:
12064 : : if (!
12065 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12066 : : (TARGET_AVX10_2))
12067 : : return -1;
12068 : : return 10514; /* vpdpwusds_v16si_mask */
12069 : :
12070 : : case 1:
12071 : : if (!
12072 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12073 : : (TARGET_AVX10_2))
12074 : : return -1;
12075 : : return 10520; /* vpdpwusds_v8si_mask */
12076 : :
12077 : : case 2:
12078 : : if (!
12079 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12080 : : (TARGET_AVX10_2))
12081 : : return -1;
12082 : : return 10526; /* vpdpwusds_v4si_mask */
12083 : :
12084 : : case 3:
12085 : : if (!
12086 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12087 : : (TARGET_AVX10_2))
12088 : : return -1;
12089 : : return 10532; /* *vpdpwusds_v16si_maskz */
12090 : :
12091 : : case 4:
12092 : : if (!
12093 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12094 : : (TARGET_AVX10_2))
12095 : : return -1;
12096 : : return 10538; /* *vpdpwusds_v8si_maskz */
12097 : :
12098 : : case 5:
12099 : : if (!
12100 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12101 : : (TARGET_AVX10_2))
12102 : : return -1;
12103 : : return 10544; /* *vpdpwusds_v4si_maskz */
12104 : :
12105 : : default:
12106 : : return -1;
12107 : : }
12108 : :
12109 : : case 236:
12110 : : switch (pattern477 (x2))
12111 : : {
12112 : : case 0:
12113 : : if (!
12114 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12115 : : (TARGET_AVX10_2))
12116 : : return -1;
12117 : : return 10515; /* vpdpwsud_v16si_mask */
12118 : :
12119 : : case 1:
12120 : : if (!
12121 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12122 : : (TARGET_AVX10_2))
12123 : : return -1;
12124 : : return 10521; /* vpdpwsud_v8si_mask */
12125 : :
12126 : : case 2:
12127 : : if (!
12128 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12129 : : (TARGET_AVX10_2))
12130 : : return -1;
12131 : : return 10527; /* vpdpwsud_v4si_mask */
12132 : :
12133 : : case 3:
12134 : : if (!
12135 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12136 : : (TARGET_AVX10_2))
12137 : : return -1;
12138 : : return 10533; /* *vpdpwsud_v16si_maskz */
12139 : :
12140 : : case 4:
12141 : : if (!
12142 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12143 : : (TARGET_AVX10_2))
12144 : : return -1;
12145 : : return 10539; /* *vpdpwsud_v8si_maskz */
12146 : :
12147 : : case 5:
12148 : : if (!
12149 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12150 : : (TARGET_AVX10_2))
12151 : : return -1;
12152 : : return 10545; /* *vpdpwsud_v4si_maskz */
12153 : :
12154 : : default:
12155 : : return -1;
12156 : : }
12157 : :
12158 : : case 237:
12159 : : switch (pattern477 (x2))
12160 : : {
12161 : : case 0:
12162 : : if (!
12163 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12164 : : (TARGET_AVX10_2))
12165 : : return -1;
12166 : : return 10516; /* vpdpwsuds_v16si_mask */
12167 : :
12168 : : case 1:
12169 : : if (!
12170 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12171 : : (TARGET_AVX10_2))
12172 : : return -1;
12173 : : return 10522; /* vpdpwsuds_v8si_mask */
12174 : :
12175 : : case 2:
12176 : : if (!
12177 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12178 : : (TARGET_AVX10_2))
12179 : : return -1;
12180 : : return 10528; /* vpdpwsuds_v4si_mask */
12181 : :
12182 : : case 3:
12183 : : if (!
12184 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12185 : : (TARGET_AVX10_2))
12186 : : return -1;
12187 : : return 10534; /* *vpdpwsuds_v16si_maskz */
12188 : :
12189 : : case 4:
12190 : : if (!
12191 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12192 : : (TARGET_AVX10_2))
12193 : : return -1;
12194 : : return 10540; /* *vpdpwsuds_v8si_maskz */
12195 : :
12196 : : case 5:
12197 : : if (!
12198 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12199 : : (TARGET_AVX10_2))
12200 : : return -1;
12201 : : return 10546; /* *vpdpwsuds_v4si_maskz */
12202 : :
12203 : : default:
12204 : : return -1;
12205 : : }
12206 : :
12207 : : case 238:
12208 : : switch (pattern477 (x2))
12209 : : {
12210 : : case 0:
12211 : : if (!
12212 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12213 : : (TARGET_AVX10_2))
12214 : : return -1;
12215 : : return 10517; /* vpdpwuud_v16si_mask */
12216 : :
12217 : : case 1:
12218 : : if (!
12219 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12220 : : (TARGET_AVX10_2))
12221 : : return -1;
12222 : : return 10523; /* vpdpwuud_v8si_mask */
12223 : :
12224 : : case 2:
12225 : : if (!
12226 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12227 : : (TARGET_AVX10_2))
12228 : : return -1;
12229 : : return 10529; /* vpdpwuud_v4si_mask */
12230 : :
12231 : : case 3:
12232 : : if (!
12233 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12234 : : (TARGET_AVX10_2))
12235 : : return -1;
12236 : : return 10535; /* *vpdpwuud_v16si_maskz */
12237 : :
12238 : : case 4:
12239 : : if (!
12240 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12241 : : (TARGET_AVX10_2))
12242 : : return -1;
12243 : : return 10541; /* *vpdpwuud_v8si_maskz */
12244 : :
12245 : : case 5:
12246 : : if (!
12247 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12248 : : (TARGET_AVX10_2))
12249 : : return -1;
12250 : : return 10547; /* *vpdpwuud_v4si_maskz */
12251 : :
12252 : : default:
12253 : : return -1;
12254 : : }
12255 : :
12256 : : case 239:
12257 : : switch (pattern477 (x2))
12258 : : {
12259 : : case 0:
12260 : : if (!
12261 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12262 : : (TARGET_AVX10_2))
12263 : : return -1;
12264 : : return 10518; /* vpdpwuuds_v16si_mask */
12265 : :
12266 : : case 1:
12267 : : if (!
12268 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12269 : : (TARGET_AVX10_2))
12270 : : return -1;
12271 : : return 10524; /* vpdpwuuds_v8si_mask */
12272 : :
12273 : : case 2:
12274 : : if (!
12275 : : #line 32154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12276 : : (TARGET_AVX10_2))
12277 : : return -1;
12278 : : return 10530; /* vpdpwuuds_v4si_mask */
12279 : :
12280 : : case 3:
12281 : : if (!
12282 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12283 : : (TARGET_AVX10_2))
12284 : : return -1;
12285 : : return 10536; /* *vpdpwuuds_v16si_maskz */
12286 : :
12287 : : case 4:
12288 : : if (!
12289 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12290 : : (TARGET_AVX10_2))
12291 : : return -1;
12292 : : return 10542; /* *vpdpwuuds_v8si_maskz */
12293 : :
12294 : : case 5:
12295 : : if (!
12296 : : #line 32181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12297 : : (TARGET_AVX10_2))
12298 : : return -1;
12299 : : return 10548; /* *vpdpwuuds_v4si_maskz */
12300 : :
12301 : : default:
12302 : : return -1;
12303 : : }
12304 : :
12305 : : case 245:
12306 : : return recog_142 (x1, insn, pnum_clobbers);
12307 : :
12308 : : case 278:
12309 : : x5 = XVECEXP (x3, 0, 0);
12310 : : operands[1] = x5;
12311 : : x6 = XVECEXP (x3, 0, 1);
12312 : : operands[2] = x6;
12313 : : x7 = XVECEXP (x3, 0, 2);
12314 : : operands[3] = x7;
12315 : : if (!const_0_to_255_operand (operands[3], E_SImode))
12316 : : return -1;
12317 : : x8 = XEXP (x2, 1);
12318 : : operands[4] = x8;
12319 : : x4 = XEXP (x2, 2);
12320 : : operands[5] = x4;
12321 : : switch (GET_MODE (operands[0]))
12322 : : {
12323 : : case E_V32BFmode:
12324 : : if (pattern1263 (x2,
12325 : : E_SImode,
12326 : : E_V32BFmode) != 0
12327 : : || !(
12328 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12329 : : (TARGET_AVX512F) &&
12330 : : #line 32782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12331 : : (TARGET_AVX10_2)))
12332 : : return -1;
12333 : : return 10871; /* avx10_2_minmaxbf16_v32bf_mask */
12334 : :
12335 : : case E_V16BFmode:
12336 : : if (pattern1263 (x2,
12337 : : E_HImode,
12338 : : E_V16BFmode) != 0
12339 : : || !(
12340 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12341 : : (TARGET_AVX512F) &&
12342 : : #line 32782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12343 : : (TARGET_AVX10_2)))
12344 : : return -1;
12345 : : return 10873; /* avx10_2_minmaxbf16_v16bf_mask */
12346 : :
12347 : : case E_V8BFmode:
12348 : : if (pattern1263 (x2,
12349 : : E_QImode,
12350 : : E_V8BFmode) != 0
12351 : : || !(
12352 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12353 : : (TARGET_AVX512F) &&
12354 : : #line 32782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12355 : : (TARGET_AVX10_2)))
12356 : : return -1;
12357 : : return 10875; /* avx10_2_minmaxbf16_v8bf_mask */
12358 : :
12359 : : default:
12360 : : return -1;
12361 : : }
12362 : :
12363 : : case 279:
12364 : : return recog_137 (x1, insn, pnum_clobbers);
12365 : :
12366 : : default:
12367 : : return -1;
12368 : : }
12369 : : }
12370 : :
12371 : : int
12372 : : recog_172 (rtx x1 ATTRIBUTE_UNUSED,
12373 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12374 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12375 : : {
12376 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12377 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12378 : : rtx x10;
12379 : : int res ATTRIBUTE_UNUSED;
12380 : : x2 = XEXP (x1, 1);
12381 : : x3 = XEXP (x2, 0);
12382 : : x4 = XEXP (x3, 1);
12383 : : x5 = XVECEXP (x4, 0, 0);
12384 : : if (GET_CODE (x5) != CONST_INT)
12385 : : return -1;
12386 : : operands[2] = x5;
12387 : : res = recog_171 (x1, insn, pnum_clobbers);
12388 : : if (res >= 0)
12389 : : return res;
12390 : : x6 = XVECEXP (x4, 0, 1);
12391 : : if (GET_CODE (x6) != CONST_INT)
12392 : : return -1;
12393 : : x7 = XVECEXP (x4, 0, 2);
12394 : : if (GET_CODE (x7) != CONST_INT)
12395 : : return -1;
12396 : : x8 = XVECEXP (x4, 0, 3);
12397 : : if (GET_CODE (x8) != CONST_INT)
12398 : : return -1;
12399 : : x9 = XEXP (x2, 1);
12400 : : operands[2] = x9;
12401 : : x10 = XEXP (x2, 2);
12402 : : operands[3] = x10;
12403 : : if (!register_operand (operands[3], E_QImode))
12404 : : return -1;
12405 : : switch (XWINT (x5, 0))
12406 : : {
12407 : : case 0L:
12408 : : if (XWINT (x6, 0) != 1L
12409 : : || XWINT (x7, 0) != 2L
12410 : : || XWINT (x8, 0) != 3L)
12411 : : return -1;
12412 : : switch (GET_MODE (operands[0]))
12413 : : {
12414 : : case E_V4DFmode:
12415 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
12416 : : || pattern1534 (x2,
12417 : : E_V4DFmode,
12418 : : E_V8DFmode) != 0
12419 : : || !
12420 : : #line 12654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12421 : : (TARGET_AVX512F
12422 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12423 : : return -1;
12424 : : return 5274; /* vec_extract_lo_v8df_mask */
12425 : :
12426 : : case E_V4DImode:
12427 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
12428 : : || pattern1534 (x2,
12429 : : E_V4DImode,
12430 : : E_V8DImode) != 0
12431 : : || !
12432 : : #line 12654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12433 : : (TARGET_AVX512F
12434 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12435 : : return -1;
12436 : : return 5275; /* vec_extract_lo_v8di_mask */
12437 : :
12438 : : case E_V4SImode:
12439 : : if (!nonimmediate_operand (operands[0], E_V4SImode)
12440 : : || pattern1534 (x2,
12441 : : E_V4SImode,
12442 : : E_V8SImode) != 0
12443 : : || !
12444 : : #line 12988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12445 : : (TARGET_AVX512VL
12446 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12447 : : return -1;
12448 : : return 5298; /* vec_extract_lo_v8si_mask */
12449 : :
12450 : : case E_V4SFmode:
12451 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
12452 : : || pattern1534 (x2,
12453 : : E_V4SFmode,
12454 : : E_V8SFmode) != 0
12455 : : || !
12456 : : #line 12988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12457 : : (TARGET_AVX512VL
12458 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12459 : : return -1;
12460 : : return 5299; /* vec_extract_lo_v8sf_mask */
12461 : :
12462 : : default:
12463 : : return -1;
12464 : : }
12465 : :
12466 : : case 4L:
12467 : : if (XWINT (x6, 0) != 5L
12468 : : || XWINT (x7, 0) != 6L
12469 : : || XWINT (x8, 0) != 7L)
12470 : : return -1;
12471 : : switch (GET_MODE (operands[0]))
12472 : : {
12473 : : case E_V4DFmode:
12474 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
12475 : : || pattern1534 (x2,
12476 : : E_V4DFmode,
12477 : : E_V8DFmode) != 0
12478 : : || !
12479 : : #line 12691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12480 : : (TARGET_AVX512F
12481 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12482 : : return -1;
12483 : : return 5278; /* vec_extract_hi_v8df_mask */
12484 : :
12485 : : case E_V4DImode:
12486 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
12487 : : || pattern1534 (x2,
12488 : : E_V4DImode,
12489 : : E_V8DImode) != 0
12490 : : || !
12491 : : #line 12691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12492 : : (TARGET_AVX512F
12493 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12494 : : return -1;
12495 : : return 5279; /* vec_extract_hi_v8di_mask */
12496 : :
12497 : : case E_V4SImode:
12498 : : if (!register_operand (operands[0], E_V4SImode)
12499 : : || pattern1534 (x2,
12500 : : E_V4SImode,
12501 : : E_V8SImode) != 0
12502 : : || !
12503 : : #line 13020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12504 : : (TARGET_AVX512VL
12505 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12506 : : return -1;
12507 : : return 5302; /* vec_extract_hi_v8si_mask */
12508 : :
12509 : : case E_V4SFmode:
12510 : : if (!register_operand (operands[0], E_V4SFmode)
12511 : : || pattern1534 (x2,
12512 : : E_V4SFmode,
12513 : : E_V8SFmode) != 0
12514 : : || !
12515 : : #line 13020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12516 : : (TARGET_AVX512VL
12517 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12518 : : return -1;
12519 : : return 5303; /* vec_extract_hi_v8sf_mask */
12520 : :
12521 : : default:
12522 : : return -1;
12523 : : }
12524 : :
12525 : : default:
12526 : : return -1;
12527 : : }
12528 : : }
12529 : :
12530 : : int
12531 : : recog_181 (rtx x1 ATTRIBUTE_UNUSED,
12532 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12533 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12534 : : {
12535 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12536 : : rtx x2, x3;
12537 : : int res ATTRIBUTE_UNUSED;
12538 : : x2 = XEXP (x1, 1);
12539 : : x3 = XEXP (x2, 0);
12540 : : switch (GET_CODE (x3))
12541 : : {
12542 : : case REG:
12543 : : case SUBREG:
12544 : : case MEM:
12545 : : res = recog_159 (x1, insn, pnum_clobbers);
12546 : : if (res >= 0)
12547 : : return res;
12548 : : break;
12549 : :
12550 : : case CONST_INT:
12551 : : case CONST_DOUBLE:
12552 : : case CONST_VECTOR:
12553 : : switch (pattern305 (x2))
12554 : : {
12555 : : case 0:
12556 : : res = recog_160 (x1, insn, pnum_clobbers);
12557 : : if (res >= 0)
12558 : : return res;
12559 : : break;
12560 : :
12561 : : case 1:
12562 : : if (vector_all_ones_operand (operands[1], E_V16QImode)
12563 : : && const0_operand (operands[2], E_V16QImode)
12564 : : &&
12565 : : #line 18152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12566 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12567 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12568 : : return 7866; /* *avx2_pcmpv16qi3_6 */
12569 : : if (const0_operand (operands[1], E_V16QImode)
12570 : : && vector_all_ones_operand (operands[2], E_V16QImode)
12571 : : &&
12572 : : #line 18210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12573 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12574 : : /* NE is commutative. */
12575 : : && INTVAL (operands[5]) == 4))
12576 : : return 7889; /* *avx2_pcmpv16qi3_8 */
12577 : : break;
12578 : :
12579 : : case 2:
12580 : : if (vector_all_ones_operand (operands[1], E_V8HImode)
12581 : : && const0_operand (operands[2], E_V8HImode)
12582 : : &&
12583 : : #line 18152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12584 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12585 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12586 : : return 7868; /* *avx2_pcmpv8hi3_6 */
12587 : : if (const0_operand (operands[1], E_V8HImode)
12588 : : && vector_all_ones_operand (operands[2], E_V8HImode)
12589 : : &&
12590 : : #line 18210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12591 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12592 : : /* NE is commutative. */
12593 : : && INTVAL (operands[5]) == 4))
12594 : : return 7890; /* *avx2_pcmpv8hi3_8 */
12595 : : break;
12596 : :
12597 : : case 3:
12598 : : if (vector_all_ones_operand (operands[1], E_V4SImode)
12599 : : && const0_operand (operands[2], E_V4SImode)
12600 : : &&
12601 : : #line 18152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12602 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12603 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12604 : : return 7870; /* *avx2_pcmpv4si3_6 */
12605 : : if (const0_operand (operands[1], E_V4SImode)
12606 : : && vector_all_ones_operand (operands[2], E_V4SImode)
12607 : : &&
12608 : : #line 18210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12609 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12610 : : /* NE is commutative. */
12611 : : && INTVAL (operands[5]) == 4))
12612 : : return 7891; /* *avx2_pcmpv4si3_8 */
12613 : : break;
12614 : :
12615 : : case 4:
12616 : : if (vector_all_ones_operand (operands[1], E_V2DImode)
12617 : : && const0_operand (operands[2], E_V2DImode)
12618 : : &&
12619 : : #line 18152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12620 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12621 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12622 : : return 7872; /* *avx2_pcmpv2di3_6 */
12623 : : if (const0_operand (operands[1], E_V2DImode)
12624 : : && vector_all_ones_operand (operands[2], E_V2DImode)
12625 : : &&
12626 : : #line 18210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12627 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12628 : : /* NE is commutative. */
12629 : : && INTVAL (operands[5]) == 4))
12630 : : return 7892; /* *avx2_pcmpv2di3_8 */
12631 : : break;
12632 : :
12633 : : case 5:
12634 : : if (vector_all_ones_operand (operands[1], E_V32QImode)
12635 : : && const0_operand (operands[2], E_V32QImode)
12636 : : &&
12637 : : #line 18152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12638 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12639 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12640 : : return 7874; /* *avx2_pcmpv32qi3_6 */
12641 : : if (const0_operand (operands[1], E_V32QImode)
12642 : : && vector_all_ones_operand (operands[2], E_V32QImode)
12643 : : &&
12644 : : #line 18210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12645 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12646 : : /* NE is commutative. */
12647 : : && INTVAL (operands[5]) == 4))
12648 : : return 7893; /* *avx2_pcmpv32qi3_8 */
12649 : : break;
12650 : :
12651 : : case 6:
12652 : : if (vector_all_ones_operand (operands[1], E_V16HImode)
12653 : : && const0_operand (operands[2], E_V16HImode)
12654 : : &&
12655 : : #line 18152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12656 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12657 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12658 : : return 7876; /* *avx2_pcmpv16hi3_6 */
12659 : : if (const0_operand (operands[1], E_V16HImode)
12660 : : && vector_all_ones_operand (operands[2], E_V16HImode)
12661 : : &&
12662 : : #line 18210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12663 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12664 : : /* NE is commutative. */
12665 : : && INTVAL (operands[5]) == 4))
12666 : : return 7894; /* *avx2_pcmpv16hi3_8 */
12667 : : break;
12668 : :
12669 : : case 7:
12670 : : if (vector_all_ones_operand (operands[1], E_V8SImode)
12671 : : && const0_operand (operands[2], E_V8SImode)
12672 : : &&
12673 : : #line 18152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12674 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12675 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12676 : : return 7878; /* *avx2_pcmpv8si3_6 */
12677 : : if (const0_operand (operands[1], E_V8SImode)
12678 : : && vector_all_ones_operand (operands[2], E_V8SImode)
12679 : : &&
12680 : : #line 18210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12681 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12682 : : /* NE is commutative. */
12683 : : && INTVAL (operands[5]) == 4))
12684 : : return 7895; /* *avx2_pcmpv8si3_8 */
12685 : : break;
12686 : :
12687 : : case 8:
12688 : : if (vector_all_ones_operand (operands[1], E_V4DImode)
12689 : : && const0_operand (operands[2], E_V4DImode)
12690 : : &&
12691 : : #line 18152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12692 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12693 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12694 : : return 7880; /* *avx2_pcmpv4di3_6 */
12695 : : if (const0_operand (operands[1], E_V4DImode)
12696 : : && vector_all_ones_operand (operands[2], E_V4DImode)
12697 : : &&
12698 : : #line 18210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12699 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12700 : : /* NE is commutative. */
12701 : : && INTVAL (operands[5]) == 4))
12702 : : return 7896; /* *avx2_pcmpv4di3_8 */
12703 : : break;
12704 : :
12705 : : case 9:
12706 : : if ((
12707 : : #line 4140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12708 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
12709 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12710 : : (TARGET_AVX)))
12711 : : return 3232; /* *avx_cmpv8sf3_2 */
12712 : : break;
12713 : :
12714 : : case 10:
12715 : : if (
12716 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12717 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12718 : : /* NE is commutative. */
12719 : : && ((INTVAL (operands[5]) == 4
12720 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12721 : : /* LE, 3 must be register. */
12722 : : || (INTVAL (operands[5]) == 2
12723 : : && !MEM_P (operands[3]))
12724 : : /* NLT aka GE, 4 must be register and we swap operands. */
12725 : : || (INTVAL (operands[5]) == 5
12726 : : && !MEM_P (operands[4])))))
12727 : : return 7857; /* *avx2_pcmpv8si3_2 */
12728 : : break;
12729 : :
12730 : : case 11:
12731 : : if (
12732 : : #line 4140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12733 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
12734 : : return 3233; /* *avx_cmpv4sf3_2 */
12735 : : break;
12736 : :
12737 : : case 12:
12738 : : if (
12739 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12740 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12741 : : /* NE is commutative. */
12742 : : && ((INTVAL (operands[5]) == 4
12743 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12744 : : /* LE, 3 must be register. */
12745 : : || (INTVAL (operands[5]) == 2
12746 : : && !MEM_P (operands[3]))
12747 : : /* NLT aka GE, 4 must be register and we swap operands. */
12748 : : || (INTVAL (operands[5]) == 5
12749 : : && !MEM_P (operands[4])))))
12750 : : return 7853; /* *avx2_pcmpv4si3_2 */
12751 : : break;
12752 : :
12753 : : case 13:
12754 : : if ((
12755 : : #line 4140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12756 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
12757 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12758 : : (TARGET_AVX)))
12759 : : return 3234; /* *avx_cmpv4df3_2 */
12760 : : break;
12761 : :
12762 : : case 14:
12763 : : if (
12764 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12765 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12766 : : /* NE is commutative. */
12767 : : && ((INTVAL (operands[5]) == 4
12768 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12769 : : /* LE, 3 must be register. */
12770 : : || (INTVAL (operands[5]) == 2
12771 : : && !MEM_P (operands[3]))
12772 : : /* NLT aka GE, 4 must be register and we swap operands. */
12773 : : || (INTVAL (operands[5]) == 5
12774 : : && !MEM_P (operands[4])))))
12775 : : return 7858; /* *avx2_pcmpv4di3_2 */
12776 : : break;
12777 : :
12778 : : case 15:
12779 : : if ((
12780 : : #line 4140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12781 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
12782 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12783 : : (TARGET_SSE2)))
12784 : : return 3235; /* *avx_cmpv2df3_2 */
12785 : : break;
12786 : :
12787 : : case 16:
12788 : : if (
12789 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12790 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12791 : : /* NE is commutative. */
12792 : : && ((INTVAL (operands[5]) == 4
12793 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12794 : : /* LE, 3 must be register. */
12795 : : || (INTVAL (operands[5]) == 2
12796 : : && !MEM_P (operands[3]))
12797 : : /* NLT aka GE, 4 must be register and we swap operands. */
12798 : : || (INTVAL (operands[5]) == 5
12799 : : && !MEM_P (operands[4])))))
12800 : : return 7854; /* *avx2_pcmpv2di3_2 */
12801 : : break;
12802 : :
12803 : : case 17:
12804 : : if (
12805 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12806 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12807 : : /* NE is commutative. */
12808 : : && ((INTVAL (operands[5]) == 4
12809 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12810 : : /* LE, 3 must be register. */
12811 : : || (INTVAL (operands[5]) == 2
12812 : : && !MEM_P (operands[3]))
12813 : : /* NLT aka GE, 4 must be register and we swap operands. */
12814 : : || (INTVAL (operands[5]) == 5
12815 : : && !MEM_P (operands[4])))))
12816 : : return 7851; /* *avx2_pcmpv16qi3_2 */
12817 : : break;
12818 : :
12819 : : case 18:
12820 : : if (
12821 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12822 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12823 : : /* NE is commutative. */
12824 : : && ((INTVAL (operands[5]) == 4
12825 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12826 : : /* LE, 3 must be register. */
12827 : : || (INTVAL (operands[5]) == 2
12828 : : && !MEM_P (operands[3]))
12829 : : /* NLT aka GE, 4 must be register and we swap operands. */
12830 : : || (INTVAL (operands[5]) == 5
12831 : : && !MEM_P (operands[4])))))
12832 : : return 7852; /* *avx2_pcmpv8hi3_2 */
12833 : : break;
12834 : :
12835 : : case 19:
12836 : : if (
12837 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12838 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12839 : : /* NE is commutative. */
12840 : : && ((INTVAL (operands[5]) == 4
12841 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12842 : : /* LE, 3 must be register. */
12843 : : || (INTVAL (operands[5]) == 2
12844 : : && !MEM_P (operands[3]))
12845 : : /* NLT aka GE, 4 must be register and we swap operands. */
12846 : : || (INTVAL (operands[5]) == 5
12847 : : && !MEM_P (operands[4])))))
12848 : : return 7855; /* *avx2_pcmpv32qi3_2 */
12849 : : break;
12850 : :
12851 : : case 20:
12852 : : if (
12853 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12854 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12855 : : /* NE is commutative. */
12856 : : && ((INTVAL (operands[5]) == 4
12857 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12858 : : /* LE, 3 must be register. */
12859 : : || (INTVAL (operands[5]) == 2
12860 : : && !MEM_P (operands[3]))
12861 : : /* NLT aka GE, 4 must be register and we swap operands. */
12862 : : || (INTVAL (operands[5]) == 5
12863 : : && !MEM_P (operands[4])))))
12864 : : return 7856; /* *avx2_pcmpv16hi3_2 */
12865 : : break;
12866 : :
12867 : : case 21:
12868 : : switch (GET_MODE (operands[0]))
12869 : : {
12870 : : case E_V64QImode:
12871 : : if (register_operand (operands[0], E_V64QImode)
12872 : : && GET_MODE (x2) == E_V64QImode
12873 : : && register_operand (operands[1], E_DImode))
12874 : : {
12875 : : if (vector_all_ones_operand (operands[2], E_V64QImode)
12876 : : && const0_operand (operands[3], E_V64QImode)
12877 : : &&
12878 : : #line 10329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12879 : : (TARGET_AVX512BW))
12880 : : return 5137; /* *avx512bw_cvtmask2bv64qi */
12881 : : if (const0_operand (operands[2], E_V64QImode)
12882 : : && vector_all_ones_operand (operands[3], E_V64QImode)
12883 : : && (
12884 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12885 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
12886 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12887 : : (TARGET_AVX512BW)))
12888 : : return 5149; /* *avx512bw_cvtmask2bv64qi_not */
12889 : : }
12890 : : break;
12891 : :
12892 : : case E_V16QImode:
12893 : : if (register_operand (operands[0], E_V16QImode)
12894 : : && GET_MODE (x2) == E_V16QImode
12895 : : && register_operand (operands[1], E_HImode))
12896 : : {
12897 : : if (vector_all_ones_operand (operands[2], E_V16QImode)
12898 : : && const0_operand (operands[3], E_V16QImode)
12899 : : && (
12900 : : #line 10329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12901 : : (TARGET_AVX512BW) &&
12902 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12903 : : (TARGET_AVX512VL)))
12904 : : return 5138; /* *avx512vl_cvtmask2bv16qi */
12905 : : if (const0_operand (operands[2], E_V16QImode)
12906 : : && vector_all_ones_operand (operands[3], E_V16QImode)
12907 : : && (
12908 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12909 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
12910 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12911 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
12912 : : return 5151; /* *avx512vl_cvtmask2bv16qi_not */
12913 : : }
12914 : : break;
12915 : :
12916 : : case E_V32QImode:
12917 : : if (register_operand (operands[0], E_V32QImode)
12918 : : && GET_MODE (x2) == E_V32QImode
12919 : : && register_operand (operands[1], E_SImode))
12920 : : {
12921 : : if (vector_all_ones_operand (operands[2], E_V32QImode)
12922 : : && const0_operand (operands[3], E_V32QImode)
12923 : : && (
12924 : : #line 10329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12925 : : (TARGET_AVX512BW) &&
12926 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12927 : : (TARGET_AVX512VL)))
12928 : : return 5139; /* *avx512vl_cvtmask2bv32qi */
12929 : : if (const0_operand (operands[2], E_V32QImode)
12930 : : && vector_all_ones_operand (operands[3], E_V32QImode)
12931 : : && (
12932 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12933 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
12934 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12935 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
12936 : : return 5150; /* *avx512vl_cvtmask2bv32qi_not */
12937 : : }
12938 : : break;
12939 : :
12940 : : case E_V32HImode:
12941 : : if (register_operand (operands[0], E_V32HImode)
12942 : : && GET_MODE (x2) == E_V32HImode
12943 : : && register_operand (operands[1], E_SImode))
12944 : : {
12945 : : if (vector_all_ones_operand (operands[2], E_V32HImode)
12946 : : && const0_operand (operands[3], E_V32HImode)
12947 : : &&
12948 : : #line 10329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12949 : : (TARGET_AVX512BW))
12950 : : return 5140; /* *avx512bw_cvtmask2wv32hi */
12951 : : if (const0_operand (operands[2], E_V32HImode)
12952 : : && vector_all_ones_operand (operands[3], E_V32HImode)
12953 : : && (
12954 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12955 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
12956 : : #line 498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12957 : : (TARGET_AVX512BW)))
12958 : : return 5152; /* *avx512bw_cvtmask2wv32hi_not */
12959 : : }
12960 : : break;
12961 : :
12962 : : case E_V16HImode:
12963 : : if (register_operand (operands[0], E_V16HImode)
12964 : : && GET_MODE (x2) == E_V16HImode
12965 : : && register_operand (operands[1], E_HImode))
12966 : : {
12967 : : if (vector_all_ones_operand (operands[2], E_V16HImode)
12968 : : && const0_operand (operands[3], E_V16HImode)
12969 : : && (
12970 : : #line 10329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12971 : : (TARGET_AVX512BW) &&
12972 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12973 : : (TARGET_AVX512VL)))
12974 : : return 5141; /* *avx512vl_cvtmask2wv16hi */
12975 : : if (const0_operand (operands[2], E_V16HImode)
12976 : : && vector_all_ones_operand (operands[3], E_V16HImode)
12977 : : && (
12978 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12979 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
12980 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12981 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
12982 : : return 5153; /* *avx512vl_cvtmask2wv16hi_not */
12983 : : }
12984 : : break;
12985 : :
12986 : : case E_V8HImode:
12987 : : if (register_operand (operands[0], E_V8HImode)
12988 : : && GET_MODE (x2) == E_V8HImode
12989 : : && register_operand (operands[1], E_QImode))
12990 : : {
12991 : : if (vector_all_ones_operand (operands[2], E_V8HImode)
12992 : : && const0_operand (operands[3], E_V8HImode)
12993 : : && (
12994 : : #line 10329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12995 : : (TARGET_AVX512BW) &&
12996 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12997 : : (TARGET_AVX512VL)))
12998 : : return 5142; /* *avx512vl_cvtmask2wv8hi */
12999 : : if (const0_operand (operands[2], E_V8HImode)
13000 : : && vector_all_ones_operand (operands[3], E_V8HImode)
13001 : : && (
13002 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13003 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
13004 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13005 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
13006 : : return 5154; /* *avx512vl_cvtmask2wv8hi_not */
13007 : : }
13008 : : break;
13009 : :
13010 : : case E_V16SImode:
13011 : : if (register_operand (operands[0], E_V16SImode)
13012 : : && GET_MODE (x2) == E_V16SImode
13013 : : && register_operand (operands[1], E_HImode))
13014 : : {
13015 : : if (vector_all_ones_operand (operands[2], E_V16SImode)
13016 : : && const0_operand (operands[3], E_V16SImode)
13017 : : &&
13018 : : #line 10352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13019 : : (TARGET_AVX512F))
13020 : : return 5143; /* *avx512f_cvtmask2dv16si */
13021 : : if (const0_operand (operands[2], E_V16SImode)
13022 : : && vector_all_ones_operand (operands[3], E_V16SImode)
13023 : : &&
13024 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13025 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
13026 : : return 5155; /* *avx512f_cvtmask2dv16si_not */
13027 : : }
13028 : : break;
13029 : :
13030 : : case E_V8SImode:
13031 : : if (register_operand (operands[0], E_V8SImode)
13032 : : && GET_MODE (x2) == E_V8SImode
13033 : : && register_operand (operands[1], E_QImode))
13034 : : {
13035 : : if (vector_all_ones_operand (operands[2], E_V8SImode)
13036 : : && const0_operand (operands[3], E_V8SImode)
13037 : : && (
13038 : : #line 10352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13039 : : (TARGET_AVX512F) &&
13040 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13041 : : (TARGET_AVX512VL)))
13042 : : return 5144; /* *avx512vl_cvtmask2dv8si */
13043 : : if (const0_operand (operands[2], E_V8SImode)
13044 : : && vector_all_ones_operand (operands[3], E_V8SImode)
13045 : : && (
13046 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13047 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
13048 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13049 : : (TARGET_AVX512VL)))
13050 : : return 5156; /* *avx512vl_cvtmask2dv8si_not */
13051 : : }
13052 : : break;
13053 : :
13054 : : case E_V4SImode:
13055 : : if (register_operand (operands[0], E_V4SImode)
13056 : : && GET_MODE (x2) == E_V4SImode
13057 : : && register_operand (operands[1], E_QImode))
13058 : : {
13059 : : if (vector_all_ones_operand (operands[2], E_V4SImode)
13060 : : && const0_operand (operands[3], E_V4SImode)
13061 : : && (
13062 : : #line 10352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13063 : : (TARGET_AVX512F) &&
13064 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13065 : : (TARGET_AVX512VL)))
13066 : : return 5145; /* *avx512vl_cvtmask2dv4si */
13067 : : if (const0_operand (operands[2], E_V4SImode)
13068 : : && vector_all_ones_operand (operands[3], E_V4SImode)
13069 : : && (
13070 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13071 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
13072 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13073 : : (TARGET_AVX512VL)))
13074 : : return 5157; /* *avx512vl_cvtmask2dv4si_not */
13075 : : }
13076 : : break;
13077 : :
13078 : : case E_V8DImode:
13079 : : if (register_operand (operands[0], E_V8DImode)
13080 : : && GET_MODE (x2) == E_V8DImode
13081 : : && register_operand (operands[1], E_QImode))
13082 : : {
13083 : : if (vector_all_ones_operand (operands[2], E_V8DImode)
13084 : : && const0_operand (operands[3], E_V8DImode)
13085 : : &&
13086 : : #line 10352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13087 : : (TARGET_AVX512F))
13088 : : return 5146; /* *avx512f_cvtmask2qv8di */
13089 : : if (const0_operand (operands[2], E_V8DImode)
13090 : : && vector_all_ones_operand (operands[3], E_V8DImode)
13091 : : &&
13092 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13093 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
13094 : : return 5158; /* *avx512f_cvtmask2qv8di_not */
13095 : : }
13096 : : break;
13097 : :
13098 : : case E_V4DImode:
13099 : : if (register_operand (operands[0], E_V4DImode)
13100 : : && GET_MODE (x2) == E_V4DImode
13101 : : && register_operand (operands[1], E_QImode))
13102 : : {
13103 : : if (vector_all_ones_operand (operands[2], E_V4DImode)
13104 : : && const0_operand (operands[3], E_V4DImode)
13105 : : && (
13106 : : #line 10352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13107 : : (TARGET_AVX512F) &&
13108 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13109 : : (TARGET_AVX512VL)))
13110 : : return 5147; /* *avx512vl_cvtmask2qv4di */
13111 : : if (const0_operand (operands[2], E_V4DImode)
13112 : : && vector_all_ones_operand (operands[3], E_V4DImode)
13113 : : && (
13114 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13115 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
13116 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13117 : : (TARGET_AVX512VL)))
13118 : : return 5159; /* *avx512vl_cvtmask2qv4di_not */
13119 : : }
13120 : : break;
13121 : :
13122 : : case E_V2DImode:
13123 : : if (register_operand (operands[0], E_V2DImode)
13124 : : && GET_MODE (x2) == E_V2DImode
13125 : : && register_operand (operands[1], E_QImode))
13126 : : {
13127 : : if (vector_all_ones_operand (operands[2], E_V2DImode)
13128 : : && const0_operand (operands[3], E_V2DImode)
13129 : : && (
13130 : : #line 10352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13131 : : (TARGET_AVX512F) &&
13132 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13133 : : (TARGET_AVX512VL)))
13134 : : return 5148; /* *avx512vl_cvtmask2qv2di */
13135 : : if (const0_operand (operands[2], E_V2DImode)
13136 : : && vector_all_ones_operand (operands[3], E_V2DImode)
13137 : : && (
13138 : : #line 10378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13139 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
13140 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13141 : : (TARGET_AVX512VL)))
13142 : : return 5160; /* *avx512vl_cvtmask2qv2di_not */
13143 : : }
13144 : : break;
13145 : :
13146 : : default:
13147 : : break;
13148 : : }
13149 : : break;
13150 : :
13151 : : default:
13152 : : break;
13153 : : }
13154 : : break;
13155 : :
13156 : : default:
13157 : : break;
13158 : : }
13159 : : operands[1] = x3;
13160 : : switch (pattern308 (x2))
13161 : : {
13162 : : case 0:
13163 : : if (!(
13164 : : #line 4167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13165 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
13166 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13167 : : (TARGET_AVX)))
13168 : : return -1;
13169 : : return 3236; /* *avx_cmpv8sf3_3 */
13170 : :
13171 : : case 1:
13172 : : if (!
13173 : : #line 4167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13174 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
13175 : : return -1;
13176 : : return 3237; /* *avx_cmpv4sf3_3 */
13177 : :
13178 : : case 2:
13179 : : if (!(
13180 : : #line 4167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13181 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
13182 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13183 : : (TARGET_AVX)))
13184 : : return -1;
13185 : : return 3238; /* *avx_cmpv4df3_3 */
13186 : :
13187 : : case 3:
13188 : : if (!(
13189 : : #line 4167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13190 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
13191 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13192 : : (TARGET_SSE2)))
13193 : : return -1;
13194 : : return 3239; /* *avx_cmpv2df3_3 */
13195 : :
13196 : : case 4:
13197 : : if (!(
13198 : : #line 4188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13199 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
13200 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13201 : : (TARGET_AVX)))
13202 : : return -1;
13203 : : return 3240; /* *avx_cmpv8sf3_4 */
13204 : :
13205 : : case 5:
13206 : : if (!
13207 : : #line 4188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13208 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
13209 : : return -1;
13210 : : return 3241; /* *avx_cmpv4sf3_4 */
13211 : :
13212 : : case 6:
13213 : : if (!(
13214 : : #line 4188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13215 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
13216 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13217 : : (TARGET_AVX)))
13218 : : return -1;
13219 : : return 3242; /* *avx_cmpv4df3_4 */
13220 : :
13221 : : case 7:
13222 : : if (!(
13223 : : #line 4188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13224 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
13225 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13226 : : (TARGET_SSE2)))
13227 : : return -1;
13228 : : return 3243; /* *avx_cmpv2df3_4 */
13229 : :
13230 : : default:
13231 : : return -1;
13232 : : }
13233 : : }
13234 : :
13235 : : int
13236 : : recog_201 (rtx x1 ATTRIBUTE_UNUSED,
13237 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13238 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13239 : : {
13240 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13241 : : rtx x2, x3, x4, x5, x6;
13242 : : int res ATTRIBUTE_UNUSED;
13243 : : x2 = XEXP (x1, 1);
13244 : : x3 = XEXP (x2, 0);
13245 : : x4 = XEXP (x3, 0);
13246 : : operands[1] = x4;
13247 : : x5 = XEXP (x2, 1);
13248 : : operands[2] = x5;
13249 : : x6 = XEXP (x2, 2);
13250 : : switch (GET_CODE (x6))
13251 : : {
13252 : : case REG:
13253 : : case SUBREG:
13254 : : operands[3] = x6;
13255 : : switch (GET_MODE (operands[0]))
13256 : : {
13257 : : case E_V32HFmode:
13258 : : if (pattern873 (x2,
13259 : : E_V32HFmode,
13260 : : E_SImode) != 0
13261 : : || !(
13262 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13263 : : (TARGET_AVX512F) && (
13264 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13265 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13266 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13267 : : (TARGET_AVX512FP16))))
13268 : : return -1;
13269 : : return 2923; /* avx512fp16_sqrtv32hf2_mask */
13270 : :
13271 : : case E_V16HFmode:
13272 : : if (pattern873 (x2,
13273 : : E_V16HFmode,
13274 : : E_HImode) != 0
13275 : : || !(
13276 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13277 : : (TARGET_AVX512F) && (
13278 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13279 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13280 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13281 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13282 : : return -1;
13283 : : return 2926; /* avx512fp16_sqrtv16hf2_mask */
13284 : :
13285 : : case E_V8HFmode:
13286 : : if (pattern873 (x2,
13287 : : E_V8HFmode,
13288 : : E_QImode) != 0
13289 : : || !(
13290 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13291 : : (TARGET_AVX512F) && (
13292 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13293 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13294 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13295 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13296 : : return -1;
13297 : : return 2928; /* avx512fp16_sqrtv8hf2_mask */
13298 : :
13299 : : case E_V16SFmode:
13300 : : if (pattern873 (x2,
13301 : : E_V16SFmode,
13302 : : E_HImode) != 0
13303 : : || !(
13304 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13305 : : (TARGET_AVX512F) && (
13306 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13307 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13308 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13309 : : (TARGET_AVX512F))))
13310 : : return -1;
13311 : : return 2931; /* avx512f_sqrtv16sf2_mask */
13312 : :
13313 : : case E_V8SFmode:
13314 : : if (pattern873 (x2,
13315 : : E_V8SFmode,
13316 : : E_QImode) != 0
13317 : : || !(
13318 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13319 : : (TARGET_AVX512F) && (
13320 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13321 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13322 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13323 : : (TARGET_AVX))))
13324 : : return -1;
13325 : : return 2934; /* avx_sqrtv8sf2_mask */
13326 : :
13327 : : case E_V4SFmode:
13328 : : if (pattern873 (x2,
13329 : : E_V4SFmode,
13330 : : E_QImode) != 0
13331 : : || !(
13332 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13333 : : (TARGET_AVX512F) &&
13334 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13335 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1)))
13336 : : return -1;
13337 : : return 2936; /* sse_sqrtv4sf2_mask */
13338 : :
13339 : : case E_V8DFmode:
13340 : : if (pattern873 (x2,
13341 : : E_V8DFmode,
13342 : : E_QImode) != 0
13343 : : || !(
13344 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13345 : : (TARGET_AVX512F) && (
13346 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13347 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13348 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13349 : : (TARGET_AVX512F))))
13350 : : return -1;
13351 : : return 2939; /* avx512f_sqrtv8df2_mask */
13352 : :
13353 : : case E_V4DFmode:
13354 : : if (pattern873 (x2,
13355 : : E_V4DFmode,
13356 : : E_QImode) != 0
13357 : : || !(
13358 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13359 : : (TARGET_AVX512F) && (
13360 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13361 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13362 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13363 : : (TARGET_AVX))))
13364 : : return -1;
13365 : : return 2942; /* avx_sqrtv4df2_mask */
13366 : :
13367 : : case E_V2DFmode:
13368 : : if (pattern873 (x2,
13369 : : E_V2DFmode,
13370 : : E_QImode) != 0
13371 : : || !(
13372 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13373 : : (TARGET_AVX512F) && (
13374 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13375 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13376 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13377 : : (TARGET_SSE2))))
13378 : : return -1;
13379 : : return 2944; /* sse2_sqrtv2df2_mask */
13380 : :
13381 : : case E_V32BFmode:
13382 : : if (pattern145 (x2,
13383 : : E_V32BFmode,
13384 : : E_SImode) != 0
13385 : : || !(
13386 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13387 : : (TARGET_AVX512F) &&
13388 : : #line 32546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13389 : : (TARGET_AVX10_2)))
13390 : : return -1;
13391 : : return 10655; /* avx10_2_sqrtbf16_v32bf_mask */
13392 : :
13393 : : case E_V16BFmode:
13394 : : if (pattern145 (x2,
13395 : : E_V16BFmode,
13396 : : E_HImode) != 0
13397 : : || !(
13398 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13399 : : (TARGET_AVX512F) &&
13400 : : #line 32546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13401 : : (TARGET_AVX10_2)))
13402 : : return -1;
13403 : : return 10657; /* avx10_2_sqrtbf16_v16bf_mask */
13404 : :
13405 : : case E_V8BFmode:
13406 : : if (pattern145 (x2,
13407 : : E_V8BFmode,
13408 : : E_QImode) != 0
13409 : : || !(
13410 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13411 : : (TARGET_AVX512F) &&
13412 : : #line 32546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13413 : : (TARGET_AVX10_2)))
13414 : : return -1;
13415 : : return 10659; /* avx10_2_sqrtbf16_v8bf_mask */
13416 : :
13417 : : default:
13418 : : return -1;
13419 : : }
13420 : :
13421 : : case CONST_INT:
13422 : : if (XWINT (x6, 0) != 1L)
13423 : : return -1;
13424 : : switch (GET_MODE (operands[0]))
13425 : : {
13426 : : case E_V8HFmode:
13427 : : if (pattern874 (x2,
13428 : : E_V8HFmode) != 0
13429 : : || !(
13430 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13431 : : (TARGET_SSE) &&
13432 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13433 : : (TARGET_AVX512FP16)))
13434 : : return -1;
13435 : : return 2945; /* avx512fp16_vmsqrtv8hf2 */
13436 : :
13437 : : case E_V4SFmode:
13438 : : if (pattern874 (x2,
13439 : : E_V4SFmode) != 0
13440 : : || !
13441 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13442 : : (TARGET_SSE))
13443 : : return -1;
13444 : : return 2949; /* sse_vmsqrtv4sf2 */
13445 : :
13446 : : case E_V2DFmode:
13447 : : if (pattern874 (x2,
13448 : : E_V2DFmode) != 0
13449 : : || !(
13450 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13451 : : (TARGET_SSE) &&
13452 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13453 : : (TARGET_SSE2)))
13454 : : return -1;
13455 : : return 2953; /* sse2_vmsqrtv2df2 */
13456 : :
13457 : : default:
13458 : : return -1;
13459 : : }
13460 : :
13461 : : default:
13462 : : return -1;
13463 : : }
13464 : : }
13465 : :
13466 : : int
13467 : : recog_208 (rtx x1 ATTRIBUTE_UNUSED,
13468 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13469 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13470 : : {
13471 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13472 : : rtx x2, x3, x4, x5, x6, x7;
13473 : : int res ATTRIBUTE_UNUSED;
13474 : : x2 = XEXP (x1, 1);
13475 : : x3 = XEXP (x2, 0);
13476 : : x4 = XEXP (x3, 0);
13477 : : operands[1] = x4;
13478 : : x5 = XEXP (x3, 1);
13479 : : operands[2] = x5;
13480 : : x6 = XEXP (x2, 1);
13481 : : operands[3] = x6;
13482 : : x7 = XEXP (x2, 2);
13483 : : operands[4] = x7;
13484 : : switch (GET_MODE (operands[0]))
13485 : : {
13486 : : case E_V8SFmode:
13487 : : if (pattern126 (x2,
13488 : : E_V8SFmode,
13489 : : E_QImode) != 0
13490 : : || !(
13491 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13492 : : (TARGET_AVX512F) && (
13493 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13494 : : (TARGET_SSE && TARGET_AVX512VL
13495 : : && (!true || 32 != 16)
13496 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13497 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13498 : : (TARGET_AVX))))
13499 : : return -1;
13500 : : return 3714; /* *iorv8sf3_mask */
13501 : :
13502 : : case E_V4SFmode:
13503 : : if (pattern126 (x2,
13504 : : E_V4SFmode,
13505 : : E_QImode) != 0
13506 : : || !(
13507 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13508 : : (TARGET_AVX512F) &&
13509 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13510 : : (TARGET_SSE && TARGET_AVX512VL
13511 : : && (!true || 32 != 16)
13512 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13513 : : return -1;
13514 : : return 3720; /* *iorv4sf3_mask */
13515 : :
13516 : : case E_V4DFmode:
13517 : : if (pattern126 (x2,
13518 : : E_V4DFmode,
13519 : : E_QImode) != 0
13520 : : || !(
13521 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13522 : : (TARGET_AVX512F) && (
13523 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13524 : : (TARGET_SSE && TARGET_AVX512VL
13525 : : && (!true || 64 != 16)
13526 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13527 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13528 : : (TARGET_AVX))))
13529 : : return -1;
13530 : : return 3726; /* *iorv4df3_mask */
13531 : :
13532 : : case E_V2DFmode:
13533 : : if (pattern126 (x2,
13534 : : E_V2DFmode,
13535 : : E_QImode) != 0
13536 : : || !(
13537 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13538 : : (TARGET_AVX512F) && (
13539 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13540 : : (TARGET_SSE && TARGET_AVX512VL
13541 : : && (!true || 64 != 16)
13542 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13543 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13544 : : (TARGET_SSE2))))
13545 : : return -1;
13546 : : return 3732; /* *iorv2df3_mask */
13547 : :
13548 : : case E_V16SFmode:
13549 : : if (pattern127 (x2,
13550 : : E_V16SFmode,
13551 : : E_HImode) != 0
13552 : : || !(
13553 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13554 : : (TARGET_AVX512F) &&
13555 : : #line 5494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13556 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13557 : : && (!true || 32 != 16))))
13558 : : return -1;
13559 : : return 3744; /* *iorv16sf3_mask */
13560 : :
13561 : : case E_V8DFmode:
13562 : : if (pattern127 (x2,
13563 : : E_V8DFmode,
13564 : : E_QImode) != 0
13565 : : || !(
13566 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13567 : : (TARGET_AVX512F) &&
13568 : : #line 5494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13569 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13570 : : && (!true || 64 != 16))))
13571 : : return -1;
13572 : : return 3750; /* *iorv8df3_mask */
13573 : :
13574 : : case E_V16SImode:
13575 : : if (pattern478 (x2,
13576 : : E_V16SImode,
13577 : : E_HImode) != 0
13578 : : || !(
13579 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13580 : : (TARGET_AVX512F) && (
13581 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13582 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
13583 : : && ix86_binary_operator_ok (IOR, V16SImode, operands)) &&
13584 : : #line 779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13585 : : (TARGET_AVX512F))))
13586 : : return -1;
13587 : : return 7960; /* *iorv16si3_mask */
13588 : :
13589 : : case E_V8SImode:
13590 : : if (pattern478 (x2,
13591 : : E_V8SImode,
13592 : : E_QImode) != 0
13593 : : || !(
13594 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13595 : : (TARGET_AVX512F) && (
13596 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13597 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
13598 : : && ix86_binary_operator_ok (IOR, V8SImode, operands)) &&
13599 : : #line 779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13600 : : (TARGET_AVX))))
13601 : : return -1;
13602 : : return 7966; /* *iorv8si3_mask */
13603 : :
13604 : : case E_V4SImode:
13605 : : if (pattern478 (x2,
13606 : : E_V4SImode,
13607 : : E_QImode) != 0
13608 : : || !(
13609 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13610 : : (TARGET_AVX512F) &&
13611 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13612 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
13613 : : && ix86_binary_operator_ok (IOR, V4SImode, operands))))
13614 : : return -1;
13615 : : return 7972; /* *iorv4si3_mask */
13616 : :
13617 : : case E_V8DImode:
13618 : : if (pattern478 (x2,
13619 : : E_V8DImode,
13620 : : E_QImode) != 0
13621 : : || !(
13622 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13623 : : (TARGET_AVX512F) && (
13624 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13625 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
13626 : : && ix86_binary_operator_ok (IOR, V8DImode, operands)) &&
13627 : : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13628 : : (TARGET_AVX512F))))
13629 : : return -1;
13630 : : return 7978; /* *iorv8di3_mask */
13631 : :
13632 : : case E_V4DImode:
13633 : : if (pattern478 (x2,
13634 : : E_V4DImode,
13635 : : E_QImode) != 0
13636 : : || !(
13637 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13638 : : (TARGET_AVX512F) && (
13639 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13640 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
13641 : : && ix86_binary_operator_ok (IOR, V4DImode, operands)) &&
13642 : : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13643 : : (TARGET_AVX))))
13644 : : return -1;
13645 : : return 7984; /* *iorv4di3_mask */
13646 : :
13647 : : case E_V2DImode:
13648 : : if (pattern478 (x2,
13649 : : E_V2DImode,
13650 : : E_QImode) != 0
13651 : : || !(
13652 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13653 : : (TARGET_AVX512F) &&
13654 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13655 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
13656 : : && ix86_binary_operator_ok (IOR, V2DImode, operands))))
13657 : : return -1;
13658 : : return 7990; /* *iorv2di3_mask */
13659 : :
13660 : : default:
13661 : : return -1;
13662 : : }
13663 : : }
13664 : :
13665 : : int
13666 : : recog_217 (rtx x1 ATTRIBUTE_UNUSED,
13667 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13668 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13669 : : {
13670 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13671 : : rtx x2, x3;
13672 : : int res ATTRIBUTE_UNUSED;
13673 : : x2 = XEXP (x1, 1);
13674 : : x3 = XVECEXP (x2, 0, 0);
13675 : : operands[1] = x3;
13676 : : switch (GET_MODE (operands[0]))
13677 : : {
13678 : : case E_V8SFmode:
13679 : : if (!register_operand (operands[0], E_V8SFmode)
13680 : : || GET_MODE (x2) != E_V8SFmode
13681 : : || !vector_operand (operands[1], E_V8SFmode)
13682 : : || !(
13683 : : #line 2914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13684 : : (TARGET_SSE) &&
13685 : : #line 439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13686 : : (TARGET_AVX)))
13687 : : return -1;
13688 : : return 2892; /* avx_rcpv8sf2 */
13689 : :
13690 : : case E_V4SFmode:
13691 : : if (!register_operand (operands[0], E_V4SFmode)
13692 : : || GET_MODE (x2) != E_V4SFmode
13693 : : || !vector_operand (operands[1], E_V4SFmode)
13694 : : || !
13695 : : #line 2914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13696 : : (TARGET_SSE))
13697 : : return -1;
13698 : : return 2893; /* sse_rcpv4sf2 */
13699 : :
13700 : : case E_V32HFmode:
13701 : : if (!register_operand (operands[0], E_V32HFmode)
13702 : : || GET_MODE (x2) != E_V32HFmode
13703 : : || !nonimmediate_operand (operands[1], E_V32HFmode)
13704 : : || !
13705 : : #line 2968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13706 : : (TARGET_AVX512FP16))
13707 : : return -1;
13708 : : return 2896; /* avx512fp16_rcpv32hf2 */
13709 : :
13710 : : case E_V16HFmode:
13711 : : if (!register_operand (operands[0], E_V16HFmode)
13712 : : || GET_MODE (x2) != E_V16HFmode
13713 : : || !nonimmediate_operand (operands[1], E_V16HFmode)
13714 : : || !(
13715 : : #line 2968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13716 : : (TARGET_AVX512FP16) &&
13717 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13718 : : (TARGET_AVX512VL)))
13719 : : return -1;
13720 : : return 2898; /* avx512fp16_rcpv16hf2 */
13721 : :
13722 : : case E_V8HFmode:
13723 : : if (!register_operand (operands[0], E_V8HFmode)
13724 : : || GET_MODE (x2) != E_V8HFmode
13725 : : || !nonimmediate_operand (operands[1], E_V8HFmode)
13726 : : || !(
13727 : : #line 2968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13728 : : (TARGET_AVX512FP16) &&
13729 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13730 : : (TARGET_AVX512VL)))
13731 : : return -1;
13732 : : return 2900; /* avx512fp16_rcpv8hf2 */
13733 : :
13734 : : case E_V32BFmode:
13735 : : if (!register_operand (operands[0], E_V32BFmode)
13736 : : || GET_MODE (x2) != E_V32BFmode
13737 : : || !nonimmediate_operand (operands[1], E_V32BFmode)
13738 : : || !
13739 : : #line 32555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13740 : : (TARGET_AVX10_2))
13741 : : return -1;
13742 : : return 10660; /* avx10_2_rcpbf16_v32bf */
13743 : :
13744 : : case E_V16BFmode:
13745 : : if (!register_operand (operands[0], E_V16BFmode)
13746 : : || GET_MODE (x2) != E_V16BFmode
13747 : : || !nonimmediate_operand (operands[1], E_V16BFmode)
13748 : : || !
13749 : : #line 32555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13750 : : (TARGET_AVX10_2))
13751 : : return -1;
13752 : : return 10662; /* avx10_2_rcpbf16_v16bf */
13753 : :
13754 : : case E_V8BFmode:
13755 : : if (!register_operand (operands[0], E_V8BFmode)
13756 : : || GET_MODE (x2) != E_V8BFmode
13757 : : || !nonimmediate_operand (operands[1], E_V8BFmode)
13758 : : || !
13759 : : #line 32555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13760 : : (TARGET_AVX10_2))
13761 : : return -1;
13762 : : return 10664; /* avx10_2_rcpbf16_v8bf */
13763 : :
13764 : : default:
13765 : : return -1;
13766 : : }
13767 : : }
13768 : :
13769 : : int
13770 : : recog_224 (rtx x1 ATTRIBUTE_UNUSED,
13771 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13772 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13773 : : {
13774 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13775 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13776 : : rtx x10;
13777 : : int res ATTRIBUTE_UNUSED;
13778 : : x2 = XEXP (x1, 1);
13779 : : x3 = XVECEXP (x2, 0, 0);
13780 : : x4 = XEXP (x3, 0);
13781 : : x5 = XEXP (x4, 0);
13782 : : operands[1] = x5;
13783 : : x6 = XEXP (x4, 2);
13784 : : switch (GET_CODE (x6))
13785 : : {
13786 : : case REG:
13787 : : case SUBREG:
13788 : : case MEM:
13789 : : operands[3] = x6;
13790 : : x7 = XEXP (x3, 1);
13791 : : switch (GET_CODE (x7))
13792 : : {
13793 : : case CONST_INT:
13794 : : case CONST_DOUBLE:
13795 : : case CONST_VECTOR:
13796 : : operands[4] = x7;
13797 : : x8 = XEXP (x3, 2);
13798 : : operands[5] = x8;
13799 : : x9 = XVECEXP (x2, 0, 1);
13800 : : operands[6] = x9;
13801 : : switch (GET_MODE (operands[0]))
13802 : : {
13803 : : case E_V32HFmode:
13804 : : if (pattern1577 (x2,
13805 : : E_SImode,
13806 : : E_V32HFmode) != 0
13807 : : || !(
13808 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13809 : : (TARGET_AVX512F) && (
13810 : : #line 5996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13811 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13812 : : || V32HFmode == V8DFmode
13813 : : || V32HFmode == V8DImode
13814 : : || V32HFmode == V16SImode
13815 : : || V32HFmode == V32HFmode)) &&
13816 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13817 : : (TARGET_AVX512FP16))))
13818 : : return -1;
13819 : : return 3795; /* fma_fmadd_v32hf_maskz_1_round */
13820 : :
13821 : : case E_V16SFmode:
13822 : : if (pattern1577 (x2,
13823 : : E_HImode,
13824 : : E_V16SFmode) != 0
13825 : : || !(
13826 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13827 : : (TARGET_AVX512F) &&
13828 : : #line 5996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13829 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13830 : : || V16SFmode == V8DFmode
13831 : : || V16SFmode == V8DImode
13832 : : || V16SFmode == V16SImode
13833 : : || V16SFmode == V32HFmode))))
13834 : : return -1;
13835 : : return 3805; /* fma_fmadd_v16sf_maskz_1_round */
13836 : :
13837 : : case E_V8DFmode:
13838 : : if (pattern1577 (x2,
13839 : : E_QImode,
13840 : : E_V8DFmode) != 0
13841 : : || !(
13842 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13843 : : (TARGET_AVX512F) &&
13844 : : #line 5996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13845 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13846 : : || V8DFmode == V8DFmode
13847 : : || V8DFmode == V8DImode
13848 : : || V8DFmode == V16SImode
13849 : : || V8DFmode == V32HFmode))))
13850 : : return -1;
13851 : : return 3814; /* fma_fmadd_v8df_maskz_1_round */
13852 : :
13853 : : default:
13854 : : return -1;
13855 : : }
13856 : :
13857 : : case REG:
13858 : : case SUBREG:
13859 : : case MEM:
13860 : : switch (pattern1397 (x2))
13861 : : {
13862 : : case 0:
13863 : : if (pattern1578 (x2,
13864 : : E_SImode,
13865 : : E_V32HFmode) != 0)
13866 : : return -1;
13867 : : if (nonimmediate_operand (operands[1], E_V32HFmode)
13868 : : && register_operand (operands[3], E_V32HFmode)
13869 : : && rtx_equal_p (x7, operands[1])
13870 : : && (
13871 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13872 : : (TARGET_AVX512F) && (
13873 : : #line 6037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13874 : : (TARGET_AVX512F && (V32HFmode == V16SFmode
13875 : : || V32HFmode == V8DFmode
13876 : : || V32HFmode == V8DImode
13877 : : || V32HFmode == V16SImode
13878 : : || V32HFmode == V32HFmode)) &&
13879 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13880 : : (TARGET_AVX512FP16))))
13881 : : return 3820; /* avx512bw_fmadd_v32hf_mask_round */
13882 : : if (!register_operand (operands[1], E_V32HFmode)
13883 : : || !nonimmediate_operand (operands[3], E_V32HFmode)
13884 : : || !rtx_equal_p (x7, operands[3])
13885 : : || !(
13886 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13887 : : (TARGET_AVX512F) && (
13888 : : #line 6054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13889 : : (TARGET_AVX512F) &&
13890 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13891 : : (TARGET_AVX512FP16))))
13892 : : return -1;
13893 : : return 3832; /* avx512bw_fmadd_v32hf_mask3_round */
13894 : :
13895 : : case 1:
13896 : : if (pattern1578 (x2,
13897 : : E_HImode,
13898 : : E_V16SFmode) != 0)
13899 : : return -1;
13900 : : if (nonimmediate_operand (operands[1], E_V16SFmode)
13901 : : && register_operand (operands[3], E_V16SFmode)
13902 : : && rtx_equal_p (x7, operands[1])
13903 : : && (
13904 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13905 : : (TARGET_AVX512F) &&
13906 : : #line 6037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13907 : : (TARGET_AVX512F && (V16SFmode == V16SFmode
13908 : : || V16SFmode == V8DFmode
13909 : : || V16SFmode == V8DImode
13910 : : || V16SFmode == V16SImode
13911 : : || V16SFmode == V32HFmode))))
13912 : : return 3824; /* avx512f_fmadd_v16sf_mask_round */
13913 : : if (!register_operand (operands[1], E_V16SFmode)
13914 : : || !nonimmediate_operand (operands[3], E_V16SFmode)
13915 : : || !rtx_equal_p (x7, operands[3])
13916 : : || !
13917 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13918 : : (TARGET_AVX512F))
13919 : : return -1;
13920 : : return 3838; /* avx512f_fmadd_v16sf_mask3_round */
13921 : :
13922 : : case 2:
13923 : : if (pattern1578 (x2,
13924 : : E_QImode,
13925 : : E_V8DFmode) != 0)
13926 : : return -1;
13927 : : if (nonimmediate_operand (operands[1], E_V8DFmode)
13928 : : && register_operand (operands[3], E_V8DFmode)
13929 : : && rtx_equal_p (x7, operands[1])
13930 : : && (
13931 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13932 : : (TARGET_AVX512F) &&
13933 : : #line 6037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13934 : : (TARGET_AVX512F && (V8DFmode == V16SFmode
13935 : : || V8DFmode == V8DFmode
13936 : : || V8DFmode == V8DImode
13937 : : || V8DFmode == V16SImode
13938 : : || V8DFmode == V32HFmode))))
13939 : : return 3828; /* avx512f_fmadd_v8df_mask_round */
13940 : : if (!register_operand (operands[1], E_V8DFmode)
13941 : : || !nonimmediate_operand (operands[3], E_V8DFmode)
13942 : : || !rtx_equal_p (x7, operands[3])
13943 : : || !
13944 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13945 : : (TARGET_AVX512F))
13946 : : return -1;
13947 : : return 3844; /* avx512f_fmadd_v8df_mask3_round */
13948 : :
13949 : : case 3:
13950 : : if (pattern1579 (x2,
13951 : : E_V16HFmode,
13952 : : E_HImode) != 0
13953 : : || !(
13954 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13955 : : (TARGET_AVX512F) && (
13956 : : #line 6054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13957 : : (TARGET_AVX512F) &&
13958 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13959 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13960 : : return -1;
13961 : : return 3834; /* avx512vl_fmadd_v16hf_mask3_round */
13962 : :
13963 : : case 4:
13964 : : if (pattern1579 (x2,
13965 : : E_V8HFmode,
13966 : : E_QImode) != 0
13967 : : || !(
13968 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13969 : : (TARGET_AVX512F) && (
13970 : : #line 6054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13971 : : (TARGET_AVX512F) &&
13972 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13973 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13974 : : return -1;
13975 : : return 3836; /* avx512fp16_fmadd_v8hf_mask3_round */
13976 : :
13977 : : case 5:
13978 : : if (pattern1579 (x2,
13979 : : E_V8SFmode,
13980 : : E_QImode) != 0
13981 : : || !(
13982 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13983 : : (TARGET_AVX512F) && (
13984 : : #line 6054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13985 : : (TARGET_AVX512F) &&
13986 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13987 : : (TARGET_AVX512VL))))
13988 : : return -1;
13989 : : return 3840; /* avx512vl_fmadd_v8sf_mask3_round */
13990 : :
13991 : : case 6:
13992 : : if (pattern1579 (x2,
13993 : : E_V4SFmode,
13994 : : E_QImode) != 0
13995 : : || !(
13996 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13997 : : (TARGET_AVX512F) && (
13998 : : #line 6054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13999 : : (TARGET_AVX512F) &&
14000 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14001 : : (TARGET_AVX512VL))))
14002 : : return -1;
14003 : : return 3842; /* avx512vl_fmadd_v4sf_mask3_round */
14004 : :
14005 : : case 7:
14006 : : if (pattern1579 (x2,
14007 : : E_V4DFmode,
14008 : : E_QImode) != 0
14009 : : || !(
14010 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14011 : : (TARGET_AVX512F) && (
14012 : : #line 6054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14013 : : (TARGET_AVX512F) &&
14014 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14015 : : (TARGET_AVX512VL))))
14016 : : return -1;
14017 : : return 3846; /* avx512vl_fmadd_v4df_mask3_round */
14018 : :
14019 : : case 8:
14020 : : if (pattern1579 (x2,
14021 : : E_V2DFmode,
14022 : : E_QImode) != 0
14023 : : || !(
14024 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14025 : : (TARGET_AVX512F) && (
14026 : : #line 6054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14027 : : (TARGET_AVX512F) &&
14028 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14029 : : (TARGET_AVX512VL))))
14030 : : return -1;
14031 : : return 3848; /* avx512vl_fmadd_v2df_mask3_round */
14032 : :
14033 : : case 9:
14034 : : if (pattern1642 (x2,
14035 : : E_V8HFmode) != 0
14036 : : || !(
14037 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14038 : : (TARGET_AVX512F) && (
14039 : : #line 6650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14040 : : (TARGET_FMA || TARGET_AVX512F) &&
14041 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14042 : : (TARGET_AVX512FP16))))
14043 : : return -1;
14044 : : return 4175; /* *fmai_fmadd_v8hf */
14045 : :
14046 : : case 10:
14047 : : if (pattern1642 (x2,
14048 : : E_V4SFmode) != 0
14049 : : || !(
14050 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14051 : : (TARGET_AVX512F) &&
14052 : : #line 6650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14053 : : (TARGET_FMA || TARGET_AVX512F)))
14054 : : return -1;
14055 : : return 4177; /* *fmai_fmadd_v4sf */
14056 : :
14057 : : case 11:
14058 : : if (pattern1642 (x2,
14059 : : E_V2DFmode) != 0
14060 : : || !(
14061 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14062 : : (TARGET_AVX512F) && (
14063 : : #line 6650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14064 : : (TARGET_FMA || TARGET_AVX512F) &&
14065 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14066 : : (TARGET_SSE2))))
14067 : : return -1;
14068 : : return 4179; /* *fmai_fmadd_v2df */
14069 : :
14070 : : default:
14071 : : return -1;
14072 : : }
14073 : :
14074 : : default:
14075 : : return -1;
14076 : : }
14077 : :
14078 : : case NEG:
14079 : : x10 = XEXP (x6, 0);
14080 : : operands[3] = x10;
14081 : : x7 = XEXP (x3, 1);
14082 : : switch (GET_CODE (x7))
14083 : : {
14084 : : case CONST_INT:
14085 : : case CONST_DOUBLE:
14086 : : case CONST_VECTOR:
14087 : : operands[4] = x7;
14088 : : x8 = XEXP (x3, 2);
14089 : : operands[5] = x8;
14090 : : x9 = XVECEXP (x2, 0, 1);
14091 : : operands[6] = x9;
14092 : : switch (GET_MODE (operands[0]))
14093 : : {
14094 : : case E_V32HFmode:
14095 : : if (pattern1581 (x2,
14096 : : E_SImode,
14097 : : E_V32HFmode) != 0
14098 : : || !(
14099 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14100 : : (TARGET_AVX512F) && (
14101 : : #line 6099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14102 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14103 : : || V32HFmode == V8DFmode
14104 : : || V32HFmode == V8DImode
14105 : : || V32HFmode == V16SImode
14106 : : || V32HFmode == V32HFmode)) &&
14107 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14108 : : (TARGET_AVX512FP16))))
14109 : : return -1;
14110 : : return 3858; /* fma_fmsub_v32hf_maskz_1_round */
14111 : :
14112 : : case E_V16SFmode:
14113 : : if (pattern1581 (x2,
14114 : : E_HImode,
14115 : : E_V16SFmode) != 0
14116 : : || !(
14117 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14118 : : (TARGET_AVX512F) &&
14119 : : #line 6099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14120 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14121 : : || V16SFmode == V8DFmode
14122 : : || V16SFmode == V8DImode
14123 : : || V16SFmode == V16SImode
14124 : : || V16SFmode == V32HFmode))))
14125 : : return -1;
14126 : : return 3868; /* fma_fmsub_v16sf_maskz_1_round */
14127 : :
14128 : : case E_V8DFmode:
14129 : : if (pattern1581 (x2,
14130 : : E_QImode,
14131 : : E_V8DFmode) != 0
14132 : : || !(
14133 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14134 : : (TARGET_AVX512F) &&
14135 : : #line 6099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14136 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14137 : : || V8DFmode == V8DFmode
14138 : : || V8DFmode == V8DImode
14139 : : || V8DFmode == V16SImode
14140 : : || V8DFmode == V32HFmode))))
14141 : : return -1;
14142 : : return 3877; /* fma_fmsub_v8df_maskz_1_round */
14143 : :
14144 : : default:
14145 : : return -1;
14146 : : }
14147 : :
14148 : : case REG:
14149 : : case SUBREG:
14150 : : case MEM:
14151 : : x8 = XEXP (x3, 2);
14152 : : switch (GET_CODE (x8))
14153 : : {
14154 : : case REG:
14155 : : case SUBREG:
14156 : : operands[4] = x8;
14157 : : x9 = XVECEXP (x2, 0, 1);
14158 : : operands[5] = x9;
14159 : : switch (GET_MODE (operands[0]))
14160 : : {
14161 : : case E_V32HFmode:
14162 : : if (pattern1582 (x2,
14163 : : E_SImode,
14164 : : E_V32HFmode) != 0)
14165 : : return -1;
14166 : : if (nonimmediate_operand (operands[1], E_V32HFmode)
14167 : : && register_operand (operands[3], E_V32HFmode)
14168 : : && rtx_equal_p (x7, operands[1])
14169 : : && (
14170 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14171 : : (TARGET_AVX512F) && (
14172 : : #line 6142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14173 : : (TARGET_AVX512F) &&
14174 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14175 : : (TARGET_AVX512FP16))))
14176 : : return 3883; /* avx512bw_fmsub_v32hf_mask_round */
14177 : : if (!register_operand (operands[1], E_V32HFmode)
14178 : : || !nonimmediate_operand (operands[3], E_V32HFmode)
14179 : : || !rtx_equal_p (x7, operands[3])
14180 : : || !(
14181 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14182 : : (TARGET_AVX512F) && (
14183 : : #line 6160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14184 : : (TARGET_AVX512F && (V32HFmode == V16SFmode
14185 : : || V32HFmode == V8DFmode
14186 : : || V32HFmode == V8DImode
14187 : : || V32HFmode == V16SImode
14188 : : || V32HFmode == V32HFmode)) &&
14189 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14190 : : (TARGET_AVX512FP16))))
14191 : : return -1;
14192 : : return 3901; /* avx512bw_fmsub_v32hf_mask3_round */
14193 : :
14194 : : case E_V16HFmode:
14195 : : if (pattern1583 (x2,
14196 : : E_V16HFmode,
14197 : : E_HImode) != 0
14198 : : || !(
14199 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14200 : : (TARGET_AVX512F) && (
14201 : : #line 6142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14202 : : (TARGET_AVX512F) &&
14203 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14204 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14205 : : return -1;
14206 : : return 3885; /* avx512vl_fmsub_v16hf_mask_round */
14207 : :
14208 : : case E_V8HFmode:
14209 : : if (pattern1583 (x2,
14210 : : E_V8HFmode,
14211 : : E_QImode) != 0
14212 : : || !(
14213 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14214 : : (TARGET_AVX512F) && (
14215 : : #line 6142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14216 : : (TARGET_AVX512F) &&
14217 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14218 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14219 : : return -1;
14220 : : return 3887; /* avx512fp16_fmsub_v8hf_mask_round */
14221 : :
14222 : : case E_V16SFmode:
14223 : : if (pattern1582 (x2,
14224 : : E_HImode,
14225 : : E_V16SFmode) != 0)
14226 : : return -1;
14227 : : if (nonimmediate_operand (operands[1], E_V16SFmode)
14228 : : && register_operand (operands[3], E_V16SFmode)
14229 : : && rtx_equal_p (x7, operands[1])
14230 : : &&
14231 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14232 : : (TARGET_AVX512F))
14233 : : return 3889; /* avx512f_fmsub_v16sf_mask_round */
14234 : : if (!register_operand (operands[1], E_V16SFmode)
14235 : : || !nonimmediate_operand (operands[3], E_V16SFmode)
14236 : : || !rtx_equal_p (x7, operands[3])
14237 : : || !(
14238 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14239 : : (TARGET_AVX512F) &&
14240 : : #line 6160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14241 : : (TARGET_AVX512F && (V16SFmode == V16SFmode
14242 : : || V16SFmode == V8DFmode
14243 : : || V16SFmode == V8DImode
14244 : : || V16SFmode == V16SImode
14245 : : || V16SFmode == V32HFmode))))
14246 : : return -1;
14247 : : return 3905; /* avx512f_fmsub_v16sf_mask3_round */
14248 : :
14249 : : case E_V8SFmode:
14250 : : if (pattern1583 (x2,
14251 : : E_V8SFmode,
14252 : : E_QImode) != 0
14253 : : || !(
14254 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14255 : : (TARGET_AVX512F) && (
14256 : : #line 6142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14257 : : (TARGET_AVX512F) &&
14258 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14259 : : (TARGET_AVX512VL))))
14260 : : return -1;
14261 : : return 3891; /* avx512vl_fmsub_v8sf_mask_round */
14262 : :
14263 : : case E_V4SFmode:
14264 : : if (pattern1583 (x2,
14265 : : E_V4SFmode,
14266 : : E_QImode) != 0
14267 : : || !(
14268 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14269 : : (TARGET_AVX512F) && (
14270 : : #line 6142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14271 : : (TARGET_AVX512F) &&
14272 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14273 : : (TARGET_AVX512VL))))
14274 : : return -1;
14275 : : return 3893; /* avx512vl_fmsub_v4sf_mask_round */
14276 : :
14277 : : case E_V8DFmode:
14278 : : if (pattern1582 (x2,
14279 : : E_QImode,
14280 : : E_V8DFmode) != 0)
14281 : : return -1;
14282 : : if (nonimmediate_operand (operands[1], E_V8DFmode)
14283 : : && register_operand (operands[3], E_V8DFmode)
14284 : : && rtx_equal_p (x7, operands[1])
14285 : : &&
14286 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14287 : : (TARGET_AVX512F))
14288 : : return 3895; /* avx512f_fmsub_v8df_mask_round */
14289 : : if (!register_operand (operands[1], E_V8DFmode)
14290 : : || !nonimmediate_operand (operands[3], E_V8DFmode)
14291 : : || !rtx_equal_p (x7, operands[3])
14292 : : || !(
14293 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14294 : : (TARGET_AVX512F) &&
14295 : : #line 6160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14296 : : (TARGET_AVX512F && (V8DFmode == V16SFmode
14297 : : || V8DFmode == V8DFmode
14298 : : || V8DFmode == V8DImode
14299 : : || V8DFmode == V16SImode
14300 : : || V8DFmode == V32HFmode))))
14301 : : return -1;
14302 : : return 3909; /* avx512f_fmsub_v8df_mask3_round */
14303 : :
14304 : : case E_V4DFmode:
14305 : : if (pattern1583 (x2,
14306 : : E_V4DFmode,
14307 : : E_QImode) != 0
14308 : : || !(
14309 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14310 : : (TARGET_AVX512F) && (
14311 : : #line 6142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14312 : : (TARGET_AVX512F) &&
14313 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14314 : : (TARGET_AVX512VL))))
14315 : : return -1;
14316 : : return 3897; /* avx512vl_fmsub_v4df_mask_round */
14317 : :
14318 : : case E_V2DFmode:
14319 : : if (pattern1583 (x2,
14320 : : E_V2DFmode,
14321 : : E_QImode) != 0
14322 : : || !(
14323 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14324 : : (TARGET_AVX512F) && (
14325 : : #line 6142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14326 : : (TARGET_AVX512F) &&
14327 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14328 : : (TARGET_AVX512VL))))
14329 : : return -1;
14330 : : return 3899; /* avx512vl_fmsub_v2df_mask_round */
14331 : :
14332 : : default:
14333 : : return -1;
14334 : : }
14335 : :
14336 : : case CONST_INT:
14337 : : if (XWINT (x8, 0) != 1L)
14338 : : return -1;
14339 : : x9 = XVECEXP (x2, 0, 1);
14340 : : operands[4] = x9;
14341 : : if (!rtx_equal_p (x7, operands[1]))
14342 : : return -1;
14343 : : switch (GET_MODE (operands[0]))
14344 : : {
14345 : : case E_V8HFmode:
14346 : : if (pattern1643 (x2,
14347 : : E_V8HFmode) != 0
14348 : : || !(
14349 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14350 : : (TARGET_AVX512F) && (
14351 : : #line 6668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14352 : : (TARGET_FMA || TARGET_AVX512F) &&
14353 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14354 : : (TARGET_AVX512FP16))))
14355 : : return -1;
14356 : : return 4181; /* *fmai_fmsub_v8hf */
14357 : :
14358 : : case E_V4SFmode:
14359 : : if (pattern1643 (x2,
14360 : : E_V4SFmode) != 0
14361 : : || !(
14362 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14363 : : (TARGET_AVX512F) &&
14364 : : #line 6668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14365 : : (TARGET_FMA || TARGET_AVX512F)))
14366 : : return -1;
14367 : : return 4183; /* *fmai_fmsub_v4sf */
14368 : :
14369 : : case E_V2DFmode:
14370 : : if (pattern1643 (x2,
14371 : : E_V2DFmode) != 0
14372 : : || !(
14373 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14374 : : (TARGET_AVX512F) && (
14375 : : #line 6668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14376 : : (TARGET_FMA || TARGET_AVX512F) &&
14377 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14378 : : (TARGET_SSE2))))
14379 : : return -1;
14380 : : return 4185; /* *fmai_fmsub_v2df */
14381 : :
14382 : : default:
14383 : : return -1;
14384 : : }
14385 : :
14386 : : default:
14387 : : return -1;
14388 : : }
14389 : :
14390 : : default:
14391 : : return -1;
14392 : : }
14393 : :
14394 : : default:
14395 : : return -1;
14396 : : }
14397 : : }
14398 : :
14399 : : int
14400 : : recog_232 (rtx x1 ATTRIBUTE_UNUSED,
14401 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14402 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14403 : : {
14404 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14405 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14406 : : int res ATTRIBUTE_UNUSED;
14407 : : x2 = XEXP (x1, 1);
14408 : : x3 = XVECEXP (x2, 0, 0);
14409 : : x4 = XEXP (x3, 1);
14410 : : operands[2] = x4;
14411 : : x5 = XVECEXP (x2, 0, 1);
14412 : : operands[4] = x5;
14413 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
14414 : : return -1;
14415 : : x6 = XEXP (x3, 0);
14416 : : switch (GET_CODE (x6))
14417 : : {
14418 : : case REG:
14419 : : case SUBREG:
14420 : : operands[1] = x6;
14421 : : x7 = XEXP (x3, 2);
14422 : : switch (GET_CODE (x7))
14423 : : {
14424 : : case REG:
14425 : : case SUBREG:
14426 : : operands[3] = x7;
14427 : : switch (GET_MODE (operands[0]))
14428 : : {
14429 : : case E_V32HFmode:
14430 : : if (pattern1398 (x2,
14431 : : E_V32HFmode) != 0
14432 : : || !(
14433 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14434 : : (TARGET_AVX512F) && (
14435 : : #line 5996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14436 : : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14437 : : || V32HFmode == V8DFmode
14438 : : || V32HFmode == V8DImode
14439 : : || V32HFmode == V16SImode
14440 : : || V32HFmode == V32HFmode)) &&
14441 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14442 : : (TARGET_AVX512FP16))))
14443 : : return -1;
14444 : : return 3794; /* *fma_fmadd_v32hf_round */
14445 : :
14446 : : case E_V16SFmode:
14447 : : if (pattern1398 (x2,
14448 : : E_V16SFmode) != 0
14449 : : || !(
14450 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14451 : : (TARGET_AVX512F) &&
14452 : : #line 5996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14453 : : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14454 : : || V16SFmode == V8DFmode
14455 : : || V16SFmode == V8DImode
14456 : : || V16SFmode == V16SImode
14457 : : || V16SFmode == V32HFmode))))
14458 : : return -1;
14459 : : return 3804; /* *fma_fmadd_v16sf_round */
14460 : :
14461 : : case E_V8DFmode:
14462 : : if (pattern1398 (x2,
14463 : : E_V8DFmode) != 0
14464 : : || !(
14465 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14466 : : (TARGET_AVX512F) &&
14467 : : #line 5996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14468 : : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14469 : : || V8DFmode == V8DFmode
14470 : : || V8DFmode == V8DImode
14471 : : || V8DFmode == V16SImode
14472 : : || V8DFmode == V32HFmode))))
14473 : : return -1;
14474 : : return 3813; /* *fma_fmadd_v8df_round */
14475 : :
14476 : : default:
14477 : : return -1;
14478 : : }
14479 : :
14480 : : case NEG:
14481 : : x8 = XEXP (x7, 0);
14482 : : operands[3] = x8;
14483 : : switch (GET_MODE (operands[0]))
14484 : : {
14485 : : case E_V32HFmode:
14486 : : if (pattern1399 (x2,
14487 : : E_V32HFmode) != 0
14488 : : || !(
14489 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14490 : : (TARGET_AVX512F) && (
14491 : : #line 6099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14492 : : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14493 : : || V32HFmode == V8DFmode
14494 : : || V32HFmode == V8DImode
14495 : : || V32HFmode == V16SImode
14496 : : || V32HFmode == V32HFmode)) &&
14497 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14498 : : (TARGET_AVX512FP16))))
14499 : : return -1;
14500 : : return 3857; /* *fma_fmsub_v32hf_round */
14501 : :
14502 : : case E_V16SFmode:
14503 : : if (pattern1399 (x2,
14504 : : E_V16SFmode) != 0
14505 : : || !(
14506 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14507 : : (TARGET_AVX512F) &&
14508 : : #line 6099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14509 : : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14510 : : || V16SFmode == V8DFmode
14511 : : || V16SFmode == V8DImode
14512 : : || V16SFmode == V16SImode
14513 : : || V16SFmode == V32HFmode))))
14514 : : return -1;
14515 : : return 3867; /* *fma_fmsub_v16sf_round */
14516 : :
14517 : : case E_V8DFmode:
14518 : : if (pattern1399 (x2,
14519 : : E_V8DFmode) != 0
14520 : : || !(
14521 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14522 : : (TARGET_AVX512F) &&
14523 : : #line 6099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14524 : : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14525 : : || V8DFmode == V8DFmode
14526 : : || V8DFmode == V8DImode
14527 : : || V8DFmode == V16SImode
14528 : : || V8DFmode == V32HFmode))))
14529 : : return -1;
14530 : : return 3876; /* *fma_fmsub_v8df_round */
14531 : :
14532 : : default:
14533 : : return -1;
14534 : : }
14535 : :
14536 : : default:
14537 : : return -1;
14538 : : }
14539 : :
14540 : : case NEG:
14541 : : x9 = XEXP (x6, 0);
14542 : : operands[1] = x9;
14543 : : x7 = XEXP (x3, 2);
14544 : : switch (GET_CODE (x7))
14545 : : {
14546 : : case REG:
14547 : : case SUBREG:
14548 : : operands[3] = x7;
14549 : : switch (GET_MODE (operands[0]))
14550 : : {
14551 : : case E_V32HFmode:
14552 : : if (pattern1400 (x2,
14553 : : E_V32HFmode) != 0
14554 : : || !(
14555 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14556 : : (TARGET_AVX512F) && (
14557 : : #line 6205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14558 : : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14559 : : || V32HFmode == V8DFmode
14560 : : || V32HFmode == V8DImode
14561 : : || V32HFmode == V16SImode
14562 : : || V32HFmode == V32HFmode)) &&
14563 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14564 : : (TARGET_AVX512FP16))))
14565 : : return -1;
14566 : : return 3920; /* *fma_fnmadd_v32hf_round */
14567 : :
14568 : : case E_V16SFmode:
14569 : : if (pattern1400 (x2,
14570 : : E_V16SFmode) != 0
14571 : : || !(
14572 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14573 : : (TARGET_AVX512F) &&
14574 : : #line 6205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14575 : : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14576 : : || V16SFmode == V8DFmode
14577 : : || V16SFmode == V8DImode
14578 : : || V16SFmode == V16SImode
14579 : : || V16SFmode == V32HFmode))))
14580 : : return -1;
14581 : : return 3930; /* *fma_fnmadd_v16sf_round */
14582 : :
14583 : : case E_V8DFmode:
14584 : : if (pattern1400 (x2,
14585 : : E_V8DFmode) != 0
14586 : : || !(
14587 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14588 : : (TARGET_AVX512F) &&
14589 : : #line 6205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14590 : : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14591 : : || V8DFmode == V8DFmode
14592 : : || V8DFmode == V8DImode
14593 : : || V8DFmode == V16SImode
14594 : : || V8DFmode == V32HFmode))))
14595 : : return -1;
14596 : : return 3939; /* *fma_fnmadd_v8df_round */
14597 : :
14598 : : default:
14599 : : return -1;
14600 : : }
14601 : :
14602 : : case NEG:
14603 : : x8 = XEXP (x7, 0);
14604 : : operands[3] = x8;
14605 : : switch (GET_MODE (operands[0]))
14606 : : {
14607 : : case E_V4SFmode:
14608 : : if (pattern1344 (x2,
14609 : : E_V4SFmode) != 0
14610 : : || !(
14611 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14612 : : (TARGET_AVX512F) &&
14613 : : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14614 : : (TARGET_FMA || TARGET_FMA4)))
14615 : : return -1;
14616 : : return 3975; /* *fma_fnmsub_v4sf */
14617 : :
14618 : : case E_V2DFmode:
14619 : : if (pattern1344 (x2,
14620 : : E_V2DFmode) != 0
14621 : : || !(
14622 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14623 : : (TARGET_AVX512F) &&
14624 : : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14625 : : (TARGET_FMA || TARGET_FMA4)))
14626 : : return -1;
14627 : : return 3979; /* *fma_fnmsub_v2df */
14628 : :
14629 : : case E_V8SFmode:
14630 : : if (pattern1344 (x2,
14631 : : E_V8SFmode) != 0
14632 : : || !(
14633 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14634 : : (TARGET_AVX512F) &&
14635 : : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14636 : : (TARGET_FMA || TARGET_FMA4)))
14637 : : return -1;
14638 : : return 3983; /* *fma_fnmsub_v8sf */
14639 : :
14640 : : case E_V4DFmode:
14641 : : if (pattern1344 (x2,
14642 : : E_V4DFmode) != 0
14643 : : || !(
14644 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14645 : : (TARGET_AVX512F) &&
14646 : : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14647 : : (TARGET_FMA || TARGET_FMA4)))
14648 : : return -1;
14649 : : return 3987; /* *fma_fnmsub_v4df */
14650 : :
14651 : : case E_V32HFmode:
14652 : : if (pattern1401 (x2,
14653 : : E_V32HFmode) != 0
14654 : : || !(
14655 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14656 : : (TARGET_AVX512F) && (
14657 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14658 : : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14659 : : || V32HFmode == V8DFmode
14660 : : || V32HFmode == V8DImode
14661 : : || V32HFmode == V16SImode
14662 : : || V32HFmode == V32HFmode)) &&
14663 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14664 : : (TARGET_AVX512FP16))))
14665 : : return -1;
14666 : : return 3991; /* *fma_fnmsub_v32hf_round */
14667 : :
14668 : : case E_V16SFmode:
14669 : : if (pattern1401 (x2,
14670 : : E_V16SFmode) != 0
14671 : : || !(
14672 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14673 : : (TARGET_AVX512F) &&
14674 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14675 : : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14676 : : || V16SFmode == V8DFmode
14677 : : || V16SFmode == V8DImode
14678 : : || V16SFmode == V16SImode
14679 : : || V16SFmode == V32HFmode))))
14680 : : return -1;
14681 : : return 4001; /* *fma_fnmsub_v16sf_round */
14682 : :
14683 : : case E_V8DFmode:
14684 : : if (pattern1401 (x2,
14685 : : E_V8DFmode) != 0
14686 : : || !(
14687 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14688 : : (TARGET_AVX512F) &&
14689 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14690 : : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14691 : : || V8DFmode == V8DFmode
14692 : : || V8DFmode == V8DImode
14693 : : || V8DFmode == V16SImode
14694 : : || V8DFmode == V32HFmode))))
14695 : : return -1;
14696 : : return 4010; /* *fma_fnmsub_v8df_round */
14697 : :
14698 : : default:
14699 : : return -1;
14700 : : }
14701 : :
14702 : : default:
14703 : : return -1;
14704 : : }
14705 : :
14706 : : default:
14707 : : return -1;
14708 : : }
14709 : : }
14710 : :
14711 : : int
14712 : : recog_237 (rtx x1 ATTRIBUTE_UNUSED,
14713 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14714 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14715 : : {
14716 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14717 : : rtx x2, x3, x4, x5;
14718 : : int res ATTRIBUTE_UNUSED;
14719 : : x2 = XEXP (x1, 0);
14720 : : operands[0] = x2;
14721 : : x3 = XEXP (x1, 1);
14722 : : x4 = XVECEXP (x3, 0, 0);
14723 : : operands[1] = x4;
14724 : : x5 = XVECEXP (x3, 0, 1);
14725 : : operands[2] = x5;
14726 : : switch (GET_MODE (operands[0]))
14727 : : {
14728 : : case E_V8SImode:
14729 : : if (pattern763 (x3,
14730 : : E_V8SImode) != 0
14731 : : || !
14732 : : #line 27446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14733 : : (TARGET_AVX2 && 1))
14734 : : return -1;
14735 : : return 9067; /* avx2_permvarv8si */
14736 : :
14737 : : case E_V8SFmode:
14738 : : if (pattern764 (x3,
14739 : : E_V8SImode,
14740 : : E_V8SFmode) != 0
14741 : : || !
14742 : : #line 27446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14743 : : (TARGET_AVX2 && 1))
14744 : : return -1;
14745 : : return 9069; /* avx2_permvarv8sf */
14746 : :
14747 : : case E_V16SImode:
14748 : : if (pattern763 (x3,
14749 : : E_V16SImode) != 0
14750 : : || !(
14751 : : #line 27446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14752 : : (TARGET_AVX2 && 1) &&
14753 : : #line 961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14754 : : (TARGET_AVX512F)))
14755 : : return -1;
14756 : : return 9071; /* avx512f_permvarv16si */
14757 : :
14758 : : case E_V16SFmode:
14759 : : if (pattern764 (x3,
14760 : : E_V16SImode,
14761 : : E_V16SFmode) != 0
14762 : : || !(
14763 : : #line 27446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14764 : : (TARGET_AVX2 && 1) &&
14765 : : #line 961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14766 : : (TARGET_AVX512F)))
14767 : : return -1;
14768 : : return 9073; /* avx512f_permvarv16sf */
14769 : :
14770 : : case E_V8DImode:
14771 : : if (pattern763 (x3,
14772 : : E_V8DImode) != 0
14773 : : || !(
14774 : : #line 27446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14775 : : (TARGET_AVX2 && 1) &&
14776 : : #line 962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14777 : : (TARGET_AVX512F)))
14778 : : return -1;
14779 : : return 9075; /* avx512f_permvarv8di */
14780 : :
14781 : : case E_V8DFmode:
14782 : : if (pattern764 (x3,
14783 : : E_V8DImode,
14784 : : E_V8DFmode) != 0
14785 : : || !(
14786 : : #line 27446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14787 : : (TARGET_AVX2 && 1) &&
14788 : : #line 962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14789 : : (TARGET_AVX512F)))
14790 : : return -1;
14791 : : return 9077; /* avx512f_permvarv8df */
14792 : :
14793 : : case E_V4DImode:
14794 : : if (pattern763 (x3,
14795 : : E_V4DImode) != 0
14796 : : || !(
14797 : : #line 27446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14798 : : (TARGET_AVX2 && 1) &&
14799 : : #line 963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14800 : : (TARGET_AVX512VL)))
14801 : : return -1;
14802 : : return 9079; /* avx2_permvarv4di */
14803 : :
14804 : : case E_V4DFmode:
14805 : : if (pattern764 (x3,
14806 : : E_V4DImode,
14807 : : E_V4DFmode) != 0
14808 : : || !(
14809 : : #line 27446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14810 : : (TARGET_AVX2 && 1) &&
14811 : : #line 963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14812 : : (TARGET_AVX512VL)))
14813 : : return -1;
14814 : : return 9081; /* avx2_permvarv4df */
14815 : :
14816 : : case E_V64QImode:
14817 : : if (pattern763 (x3,
14818 : : E_V64QImode) != 0
14819 : : || !
14820 : : #line 27465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14821 : : (TARGET_AVX512VBMI && 1))
14822 : : return -1;
14823 : : return 9083; /* avx512bw_permvarv64qi */
14824 : :
14825 : : case E_V16QImode:
14826 : : if (pattern763 (x3,
14827 : : E_V16QImode) != 0
14828 : : || !(
14829 : : #line 27465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14830 : : (TARGET_AVX512VBMI && 1) &&
14831 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14832 : : (TARGET_AVX512VL)))
14833 : : return -1;
14834 : : return 9085; /* avx512vl_permvarv16qi */
14835 : :
14836 : : case E_V32QImode:
14837 : : if (pattern763 (x3,
14838 : : E_V32QImode) != 0
14839 : : || !(
14840 : : #line 27465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14841 : : (TARGET_AVX512VBMI && 1) &&
14842 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14843 : : (TARGET_AVX512VL)))
14844 : : return -1;
14845 : : return 9087; /* avx512vl_permvarv32qi */
14846 : :
14847 : : case E_V8HImode:
14848 : : if (pattern763 (x3,
14849 : : E_V8HImode) != 0
14850 : : || !(
14851 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14852 : : (TARGET_AVX512BW && 1) &&
14853 : : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14854 : : (TARGET_AVX512VL)))
14855 : : return -1;
14856 : : return 9089; /* avx512vl_permvarv8hi */
14857 : :
14858 : : case E_V16HImode:
14859 : : if (pattern763 (x3,
14860 : : E_V16HImode) != 0
14861 : : || !(
14862 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14863 : : (TARGET_AVX512BW && 1) &&
14864 : : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14865 : : (TARGET_AVX512VL)))
14866 : : return -1;
14867 : : return 9091; /* avx512vl_permvarv16hi */
14868 : :
14869 : : case E_V32HImode:
14870 : : if (pattern763 (x3,
14871 : : E_V32HImode) != 0
14872 : : || !
14873 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14874 : : (TARGET_AVX512BW && 1))
14875 : : return -1;
14876 : : return 9093; /* avx512bw_permvarv32hi */
14877 : :
14878 : : case E_V8HFmode:
14879 : : if (pattern764 (x3,
14880 : : E_V8HImode,
14881 : : E_V8HFmode) != 0
14882 : : || !(
14883 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14884 : : (TARGET_AVX512BW && 1) &&
14885 : : #line 663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14886 : : (TARGET_AVX512VL)))
14887 : : return -1;
14888 : : return 9095; /* avx512fp16_permvarv8hf */
14889 : :
14890 : : case E_V16HFmode:
14891 : : if (pattern764 (x3,
14892 : : E_V16HImode,
14893 : : E_V16HFmode) != 0
14894 : : || !(
14895 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14896 : : (TARGET_AVX512BW && 1) &&
14897 : : #line 663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14898 : : (TARGET_AVX512VL)))
14899 : : return -1;
14900 : : return 9097; /* avx512vl_permvarv16hf */
14901 : :
14902 : : case E_V32HFmode:
14903 : : if (pattern764 (x3,
14904 : : E_V32HImode,
14905 : : E_V32HFmode) != 0
14906 : : || !
14907 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14908 : : (TARGET_AVX512BW && 1))
14909 : : return -1;
14910 : : return 9099; /* avx512bw_permvarv32hf */
14911 : :
14912 : : case E_V8BFmode:
14913 : : if (pattern764 (x3,
14914 : : E_V8HImode,
14915 : : E_V8BFmode) != 0
14916 : : || !(
14917 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14918 : : (TARGET_AVX512BW && 1) &&
14919 : : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14920 : : (TARGET_AVX512VL)))
14921 : : return -1;
14922 : : return 9101; /* avx512vl_permvarv8bf */
14923 : :
14924 : : case E_V16BFmode:
14925 : : if (pattern764 (x3,
14926 : : E_V16HImode,
14927 : : E_V16BFmode) != 0
14928 : : || !(
14929 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14930 : : (TARGET_AVX512BW && 1) &&
14931 : : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14932 : : (TARGET_AVX512VL)))
14933 : : return -1;
14934 : : return 9103; /* avx512vl_permvarv16bf */
14935 : :
14936 : : case E_V32BFmode:
14937 : : if (pattern764 (x3,
14938 : : E_V32HImode,
14939 : : E_V32BFmode) != 0
14940 : : || !
14941 : : #line 27477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14942 : : (TARGET_AVX512BW && 1))
14943 : : return -1;
14944 : : return 9105; /* avx512bw_permvarv32bf */
14945 : :
14946 : : default:
14947 : : return -1;
14948 : : }
14949 : : }
14950 : :
14951 : : int
14952 : : recog_240 (rtx x1 ATTRIBUTE_UNUSED,
14953 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14954 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14955 : : {
14956 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14957 : : rtx x2, x3, x4, x5;
14958 : : int res ATTRIBUTE_UNUSED;
14959 : : x2 = XEXP (x1, 0);
14960 : : if (GET_CODE (x2) != REG
14961 : : || REGNO (x2) != 17)
14962 : : return -1;
14963 : : x3 = XEXP (x1, 1);
14964 : : x4 = XVECEXP (x3, 0, 0);
14965 : : operands[0] = x4;
14966 : : x5 = XVECEXP (x3, 0, 1);
14967 : : operands[1] = x5;
14968 : : switch (GET_MODE (operands[0]))
14969 : : {
14970 : : case E_QImode:
14971 : : if (register_operand (operands[0], E_QImode)
14972 : : && register_operand (operands[1], E_QImode)
14973 : : && (
14974 : : #line 2349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14975 : : (TARGET_AVX512F) &&
14976 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14977 : : (TARGET_AVX512DQ)))
14978 : : return 2631; /* *kortestqi */
14979 : : break;
14980 : :
14981 : : case E_HImode:
14982 : : if (register_operand (operands[0], E_HImode)
14983 : : && register_operand (operands[1], E_HImode)
14984 : : &&
14985 : : #line 2349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14986 : : (TARGET_AVX512F))
14987 : : return 2632; /* *kortesthi */
14988 : : break;
14989 : :
14990 : : case E_SImode:
14991 : : if (register_operand (operands[0], E_SImode)
14992 : : && register_operand (operands[1], E_SImode)
14993 : : && (
14994 : : #line 2349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14995 : : (TARGET_AVX512F) &&
14996 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14997 : : (TARGET_AVX512BW)))
14998 : : return 2633; /* *kortestsi */
14999 : : break;
15000 : :
15001 : : case E_DImode:
15002 : : if (register_operand (operands[0], E_DImode)
15003 : : && register_operand (operands[1], E_DImode)
15004 : : && (
15005 : : #line 2349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15006 : : (TARGET_AVX512F) &&
15007 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15008 : : (TARGET_AVX512BW)))
15009 : : return 2634; /* *kortestdi */
15010 : : break;
15011 : :
15012 : : default:
15013 : : break;
15014 : : }
15015 : : switch (GET_MODE (x2))
15016 : : {
15017 : : case E_CCCmode:
15018 : : if (GET_MODE (x3) != E_CCCmode)
15019 : : return -1;
15020 : : switch (pattern946 ())
15021 : : {
15022 : : case 0:
15023 : : if (!(
15024 : : #line 2361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15025 : : (TARGET_AVX512F) &&
15026 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15027 : : (TARGET_AVX512DQ)))
15028 : : return -1;
15029 : : return 2635; /* kortestqi_ccc */
15030 : :
15031 : : case 1:
15032 : : if (!
15033 : : #line 2361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15034 : : (TARGET_AVX512F))
15035 : : return -1;
15036 : : return 2636; /* kortesthi_ccc */
15037 : :
15038 : : case 2:
15039 : : if (!(
15040 : : #line 2361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15041 : : (TARGET_AVX512F) &&
15042 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15043 : : (TARGET_AVX512BW)))
15044 : : return -1;
15045 : : return 2637; /* kortestsi_ccc */
15046 : :
15047 : : case 3:
15048 : : if (!(
15049 : : #line 2361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15050 : : (TARGET_AVX512F) &&
15051 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15052 : : (TARGET_AVX512BW)))
15053 : : return -1;
15054 : : return 2638; /* kortestdi_ccc */
15055 : :
15056 : : default:
15057 : : return -1;
15058 : : }
15059 : :
15060 : : case E_CCZmode:
15061 : : if (GET_MODE (x3) != E_CCZmode)
15062 : : return -1;
15063 : : switch (pattern946 ())
15064 : : {
15065 : : case 0:
15066 : : if (!(
15067 : : #line 2369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15068 : : (TARGET_AVX512F) &&
15069 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15070 : : (TARGET_AVX512DQ)))
15071 : : return -1;
15072 : : return 2639; /* kortestqi_ccz */
15073 : :
15074 : : case 1:
15075 : : if (!
15076 : : #line 2369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15077 : : (TARGET_AVX512F))
15078 : : return -1;
15079 : : return 2640; /* kortesthi_ccz */
15080 : :
15081 : : case 2:
15082 : : if (!(
15083 : : #line 2369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15084 : : (TARGET_AVX512F) &&
15085 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15086 : : (TARGET_AVX512BW)))
15087 : : return -1;
15088 : : return 2641; /* kortestsi_ccz */
15089 : :
15090 : : case 3:
15091 : : if (!(
15092 : : #line 2369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15093 : : (TARGET_AVX512F) &&
15094 : : #line 2072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15095 : : (TARGET_AVX512BW)))
15096 : : return -1;
15097 : : return 2642; /* kortestdi_ccz */
15098 : :
15099 : : default:
15100 : : return -1;
15101 : : }
15102 : :
15103 : : default:
15104 : : return -1;
15105 : : }
15106 : : }
15107 : :
15108 : : int
15109 : : recog_249 (rtx x1 ATTRIBUTE_UNUSED,
15110 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15111 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15112 : : {
15113 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15114 : : rtx x2, x3, x4, x5, x6, x7, x8;
15115 : : int res ATTRIBUTE_UNUSED;
15116 : : x2 = XEXP (x1, 0);
15117 : : operands[0] = x2;
15118 : : x3 = XEXP (x1, 1);
15119 : : x4 = XVECEXP (x3, 0, 2);
15120 : : switch (GET_CODE (x4))
15121 : : {
15122 : : case LT:
15123 : : x5 = XVECEXP (x3, 0, 0);
15124 : : operands[1] = x5;
15125 : : switch (pattern645 (x3))
15126 : : {
15127 : : case 0:
15128 : : if ((
15129 : : #line 3363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15130 : : (TARGET_SSE && ix86_pre_reload_split ()
15131 : : && ((rtx_equal_p (operands[1], operands[3])
15132 : : && rtx_equal_p (operands[2], operands[4]))
15133 : : || (rtx_equal_p (operands[1], operands[4])
15134 : : && rtx_equal_p (operands[2], operands[3])))) &&
15135 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15136 : : (TARGET_AVX)))
15137 : : return 3056; /* *minmaxv8sf3_2 */
15138 : : break;
15139 : :
15140 : : case 1:
15141 : : if (
15142 : : #line 3363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15143 : : (TARGET_SSE && ix86_pre_reload_split ()
15144 : : && ((rtx_equal_p (operands[1], operands[3])
15145 : : && rtx_equal_p (operands[2], operands[4]))
15146 : : || (rtx_equal_p (operands[1], operands[4])
15147 : : && rtx_equal_p (operands[2], operands[3])))))
15148 : : return 3057; /* *minmaxv4sf3_2 */
15149 : : break;
15150 : :
15151 : : case 2:
15152 : : if ((
15153 : : #line 3363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15154 : : (TARGET_SSE && ix86_pre_reload_split ()
15155 : : && ((rtx_equal_p (operands[1], operands[3])
15156 : : && rtx_equal_p (operands[2], operands[4]))
15157 : : || (rtx_equal_p (operands[1], operands[4])
15158 : : && rtx_equal_p (operands[2], operands[3])))) &&
15159 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15160 : : (TARGET_AVX)))
15161 : : return 3058; /* *minmaxv4df3_2 */
15162 : : break;
15163 : :
15164 : : case 3:
15165 : : if ((
15166 : : #line 3363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15167 : : (TARGET_SSE && ix86_pre_reload_split ()
15168 : : && ((rtx_equal_p (operands[1], operands[3])
15169 : : && rtx_equal_p (operands[2], operands[4]))
15170 : : || (rtx_equal_p (operands[1], operands[4])
15171 : : && rtx_equal_p (operands[2], operands[3])))) &&
15172 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15173 : : (TARGET_SSE2)))
15174 : : return 3059; /* *minmaxv2df3_2 */
15175 : : break;
15176 : :
15177 : : case 4:
15178 : : if ((
15179 : : #line 23625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15180 : : (TARGET_SSE4_1) &&
15181 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15182 : : (TARGET_AVX)))
15183 : : return 8642; /* *avx_blendvps256_lt */
15184 : : break;
15185 : :
15186 : : case 5:
15187 : : if (
15188 : : #line 23625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15189 : : (TARGET_SSE4_1))
15190 : : return 8643; /* *sse4_1_blendvps_lt */
15191 : : break;
15192 : :
15193 : : case 6:
15194 : : if ((
15195 : : #line 23625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15196 : : (TARGET_SSE4_1) &&
15197 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15198 : : (TARGET_AVX)))
15199 : : return 8644; /* *avx_blendvpd256_lt */
15200 : : break;
15201 : :
15202 : : case 7:
15203 : : if ((
15204 : : #line 23625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15205 : : (TARGET_SSE4_1) &&
15206 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15207 : : (TARGET_SSE2)))
15208 : : return 8645; /* *sse4_1_blendvpd_lt */
15209 : : break;
15210 : :
15211 : : case 8:
15212 : : if ((
15213 : : #line 23951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15214 : : (TARGET_SSE4_1) &&
15215 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15216 : : (TARGET_AVX2)))
15217 : : return 8689; /* *avx2_pblendvb_lt */
15218 : : break;
15219 : :
15220 : : case 9:
15221 : : if (
15222 : : #line 23951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15223 : : (TARGET_SSE4_1))
15224 : : return 8690; /* *sse4_1_pblendvb_lt */
15225 : : break;
15226 : :
15227 : : default:
15228 : : break;
15229 : : }
15230 : : x6 = XEXP (x4, 0);
15231 : : if (GET_CODE (x6) != SUBREG)
15232 : : return -1;
15233 : : switch (pattern647 (x3))
15234 : : {
15235 : : case 0:
15236 : : if (!(
15237 : : #line 24001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15238 : : (TARGET_SSE4_1
15239 : : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
15240 : : && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
15241 : : && ix86_pre_reload_split ()) &&
15242 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15243 : : (TARGET_AVX2)))
15244 : : return -1;
15245 : : return 8693; /* *avx2_pblendvb_lt_subreg_not */
15246 : :
15247 : : case 1:
15248 : : if (!
15249 : : #line 24001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15250 : : (TARGET_SSE4_1
15251 : : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
15252 : : && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
15253 : : && ix86_pre_reload_split ()))
15254 : : return -1;
15255 : : return 8694; /* *sse4_1_pblendvb_lt_subreg_not */
15256 : :
15257 : : default:
15258 : : return -1;
15259 : : }
15260 : :
15261 : : case REG:
15262 : : case SUBREG:
15263 : : operands[3] = x4;
15264 : : x5 = XVECEXP (x3, 0, 0);
15265 : : operands[1] = x5;
15266 : : x7 = XVECEXP (x3, 0, 1);
15267 : : operands[2] = x7;
15268 : : switch (GET_MODE (operands[0]))
15269 : : {
15270 : : case E_V8SFmode:
15271 : : if (pattern1014 (x3,
15272 : : E_V8SFmode) == 0
15273 : : && (
15274 : : #line 23561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15275 : : (TARGET_SSE4_1) &&
15276 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15277 : : (TARGET_AVX)))
15278 : : return 8636; /* avx_blendvps256 */
15279 : : break;
15280 : :
15281 : : case E_V4SFmode:
15282 : : if (pattern1014 (x3,
15283 : : E_V4SFmode) == 0
15284 : : &&
15285 : : #line 23561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15286 : : (TARGET_SSE4_1))
15287 : : return 8637; /* sse4_1_blendvps */
15288 : : break;
15289 : :
15290 : : case E_V4DFmode:
15291 : : if (pattern1014 (x3,
15292 : : E_V4DFmode) == 0
15293 : : && (
15294 : : #line 23561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15295 : : (TARGET_SSE4_1) &&
15296 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15297 : : (TARGET_AVX)))
15298 : : return 8638; /* avx_blendvpd256 */
15299 : : break;
15300 : :
15301 : : case E_V2DFmode:
15302 : : if (pattern1014 (x3,
15303 : : E_V2DFmode) == 0
15304 : : && (
15305 : : #line 23561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15306 : : (TARGET_SSE4_1) &&
15307 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15308 : : (TARGET_SSE2)))
15309 : : return 8639; /* sse4_1_blendvpd */
15310 : : break;
15311 : :
15312 : : default:
15313 : : break;
15314 : : }
15315 : : operands[1] = x5;
15316 : : operands[2] = x7;
15317 : : if (GET_CODE (x4) == SUBREG
15318 : : && known_eq (SUBREG_BYTE (x4), 0))
15319 : : {
15320 : : x6 = XEXP (x4, 0);
15321 : : switch (GET_CODE (x6))
15322 : : {
15323 : : case LT:
15324 : : x8 = XEXP (x6, 0);
15325 : : operands[3] = x8;
15326 : : switch (pattern1211 (x3))
15327 : : {
15328 : : case 0:
15329 : : if (
15330 : : #line 23681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15331 : : (TARGET_SSE4_1))
15332 : : return 8650; /* *sse4_1_blendvps_ltint */
15333 : : break;
15334 : :
15335 : : case 1:
15336 : : if (
15337 : : #line 23681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15338 : : (TARGET_SSE4_1))
15339 : : return 8651; /* *sse4_1_blendvpd_ltint */
15340 : : break;
15341 : :
15342 : : case 2:
15343 : : if ((
15344 : : #line 23681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15345 : : (TARGET_SSE4_1) &&
15346 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15347 : : (TARGET_AVX)))
15348 : : return 8652; /* *avx_blendvps256_ltint */
15349 : : break;
15350 : :
15351 : : case 3:
15352 : : if ((
15353 : : #line 23681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15354 : : (TARGET_SSE4_1) &&
15355 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15356 : : (TARGET_AVX)))
15357 : : return 8653; /* *avx_blendvpd256_ltint */
15358 : : break;
15359 : :
15360 : : default:
15361 : : break;
15362 : : }
15363 : : if (GET_CODE (x8) == SUBREG)
15364 : : {
15365 : : switch (pattern1212 (x3))
15366 : : {
15367 : : case 0:
15368 : : if (
15369 : : #line 23748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15370 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15371 : : return 8658; /* *sse4_1_blendvps_not_ltint */
15372 : : break;
15373 : :
15374 : : case 1:
15375 : : if (
15376 : : #line 23748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15377 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15378 : : return 8659; /* *sse4_1_blendvpd_not_ltint */
15379 : : break;
15380 : :
15381 : : case 2:
15382 : : if ((
15383 : : #line 23748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15384 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15385 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15386 : : (TARGET_AVX)))
15387 : : return 8660; /* *avx_blendvps256_not_ltint */
15388 : : break;
15389 : :
15390 : : case 3:
15391 : : if ((
15392 : : #line 23748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15393 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15394 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15395 : : (TARGET_AVX)))
15396 : : return 8661; /* *avx_blendvpd256_not_ltint */
15397 : : break;
15398 : :
15399 : : default:
15400 : : break;
15401 : : }
15402 : : }
15403 : : break;
15404 : :
15405 : : case GT:
15406 : : x8 = XEXP (x6, 0);
15407 : : operands[3] = x8;
15408 : : switch (pattern1213 (x3))
15409 : : {
15410 : : case 0:
15411 : : if (
15412 : : #line 23713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15413 : : (TARGET_SSE4_1))
15414 : : return 8654; /* *sse4_1_blendvps_gtint */
15415 : : break;
15416 : :
15417 : : case 1:
15418 : : if (
15419 : : #line 23713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15420 : : (TARGET_SSE4_1))
15421 : : return 8655; /* *sse4_1_blendvpd_gtint */
15422 : : break;
15423 : :
15424 : : case 2:
15425 : : if ((
15426 : : #line 23713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15427 : : (TARGET_SSE4_1) &&
15428 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15429 : : (TARGET_AVX)))
15430 : : return 8656; /* *avx_blendvps256_gtint */
15431 : : break;
15432 : :
15433 : : case 3:
15434 : : if ((
15435 : : #line 23713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15436 : : (TARGET_SSE4_1) &&
15437 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15438 : : (TARGET_AVX)))
15439 : : return 8657; /* *avx_blendvpd256_gtint */
15440 : : break;
15441 : :
15442 : : default:
15443 : : break;
15444 : : }
15445 : : if (GET_CODE (x8) == SUBREG)
15446 : : {
15447 : : switch (pattern1214 (x3))
15448 : : {
15449 : : case 0:
15450 : : if (
15451 : : #line 23774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15452 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15453 : : return 8662; /* *sse4_1_blendvps_not_gtint */
15454 : : break;
15455 : :
15456 : : case 1:
15457 : : if (
15458 : : #line 23774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15459 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15460 : : return 8663; /* *sse4_1_blendvpd_not_gtint */
15461 : : break;
15462 : :
15463 : : case 2:
15464 : : if ((
15465 : : #line 23774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15466 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15467 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15468 : : (TARGET_AVX)))
15469 : : return 8664; /* *avx_blendvps256_not_gtint */
15470 : : break;
15471 : :
15472 : : case 3:
15473 : : if ((
15474 : : #line 23774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15476 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15477 : : (TARGET_AVX)))
15478 : : return 8665; /* *avx_blendvpd256_not_gtint */
15479 : : break;
15480 : :
15481 : : default:
15482 : : break;
15483 : : }
15484 : : }
15485 : : break;
15486 : :
15487 : : default:
15488 : : break;
15489 : : }
15490 : : }
15491 : : operands[3] = x4;
15492 : : switch (GET_MODE (operands[0]))
15493 : : {
15494 : : case E_V32QImode:
15495 : : if (pattern1014 (x3,
15496 : : E_V32QImode) != 0
15497 : : || !(
15498 : : #line 23900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15499 : : (TARGET_SSE4_1) &&
15500 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15501 : : (TARGET_AVX2)))
15502 : : return -1;
15503 : : return 8687; /* avx2_pblendvb */
15504 : :
15505 : : case E_V16QImode:
15506 : : if (pattern1014 (x3,
15507 : : E_V16QImode) != 0
15508 : : || !
15509 : : #line 23900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15510 : : (TARGET_SSE4_1))
15511 : : return -1;
15512 : : return 8688; /* sse4_1_pblendvb */
15513 : :
15514 : : default:
15515 : : return -1;
15516 : : }
15517 : :
15518 : : case GT:
15519 : : x5 = XVECEXP (x3, 0, 0);
15520 : : operands[1] = x5;
15521 : : switch (pattern650 (x3))
15522 : : {
15523 : : case 0:
15524 : : if ((
15525 : : #line 23651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15526 : : (TARGET_SSE4_1) &&
15527 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15528 : : (TARGET_AVX)))
15529 : : return 8646; /* *avx_blendvps256_gt */
15530 : : break;
15531 : :
15532 : : case 1:
15533 : : if (
15534 : : #line 23651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15535 : : (TARGET_SSE4_1))
15536 : : return 8647; /* *sse4_1_blendvps_gt */
15537 : : break;
15538 : :
15539 : : case 2:
15540 : : if ((
15541 : : #line 23651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15542 : : (TARGET_SSE4_1) &&
15543 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15544 : : (TARGET_AVX)))
15545 : : return 8648; /* *avx_blendvpd256_gt */
15546 : : break;
15547 : :
15548 : : case 3:
15549 : : if ((
15550 : : #line 23651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15551 : : (TARGET_SSE4_1) &&
15552 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15553 : : (TARGET_SSE2)))
15554 : : return 8649; /* *sse4_1_blendvpd_gt */
15555 : : break;
15556 : :
15557 : : case 4:
15558 : : if ((
15559 : : #line 23975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15560 : : (TARGET_SSE4_1) &&
15561 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15562 : : (TARGET_AVX2)))
15563 : : return 8691; /* *avx2_pblendvb_gt */
15564 : : break;
15565 : :
15566 : : case 5:
15567 : : if (
15568 : : #line 23975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15569 : : (TARGET_SSE4_1))
15570 : : return 8692; /* *sse4_1_pblendvb_gt */
15571 : : break;
15572 : :
15573 : : default:
15574 : : break;
15575 : : }
15576 : : x6 = XEXP (x4, 0);
15577 : : if (GET_CODE (x6) != SUBREG)
15578 : : return -1;
15579 : : switch (pattern652 (x3))
15580 : : {
15581 : : case 0:
15582 : : if (!(
15583 : : #line 24023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15584 : : (TARGET_SSE4_1
15585 : : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
15586 : : && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
15587 : : && ix86_pre_reload_split ()) &&
15588 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15589 : : (TARGET_AVX2)))
15590 : : return -1;
15591 : : return 8695; /* *avx2_pblendvb_gt_subreg_not */
15592 : :
15593 : : case 1:
15594 : : if (!
15595 : : #line 24023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15596 : : (TARGET_SSE4_1
15597 : : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
15598 : : && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
15599 : : && ix86_pre_reload_split ()))
15600 : : return -1;
15601 : : return 8696; /* *sse4_1_pblendvb_gt_subreg_not */
15602 : :
15603 : : default:
15604 : : return -1;
15605 : : }
15606 : :
15607 : : default:
15608 : : return -1;
15609 : : }
15610 : : }
15611 : :
15612 : : int
15613 : : recog_258 (rtx x1 ATTRIBUTE_UNUSED,
15614 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15615 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15616 : : {
15617 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15618 : : int res ATTRIBUTE_UNUSED;
15619 : : switch (pattern174 (x1))
15620 : : {
15621 : : case 0:
15622 : : if (!
15623 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15624 : : (TARGET_AVX512VBMI2))
15625 : : return -1;
15626 : : return 10173; /* vpshld_v32hi */
15627 : :
15628 : : case 1:
15629 : : if (!
15630 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15631 : : (TARGET_AVX512VBMI2))
15632 : : return -1;
15633 : : return 10175; /* vpshld_v16si */
15634 : :
15635 : : case 2:
15636 : : if (!
15637 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15638 : : (TARGET_AVX512VBMI2))
15639 : : return -1;
15640 : : return 10177; /* vpshld_v8di */
15641 : :
15642 : : case 3:
15643 : : if (!(
15644 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15645 : : (TARGET_AVX512VBMI2) &&
15646 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15647 : : (TARGET_AVX512VL)))
15648 : : return -1;
15649 : : return 10179; /* vpshld_v16hi */
15650 : :
15651 : : case 4:
15652 : : if (!(
15653 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15654 : : (TARGET_AVX512VBMI2) &&
15655 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15656 : : (TARGET_AVX512VL)))
15657 : : return -1;
15658 : : return 10181; /* vpshld_v8si */
15659 : :
15660 : : case 5:
15661 : : if (!(
15662 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15663 : : (TARGET_AVX512VBMI2) &&
15664 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15665 : : (TARGET_AVX512VL)))
15666 : : return -1;
15667 : : return 10183; /* vpshld_v4di */
15668 : :
15669 : : case 6:
15670 : : if (!(
15671 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15672 : : (TARGET_AVX512VBMI2) &&
15673 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15674 : : (TARGET_AVX512VL)))
15675 : : return -1;
15676 : : return 10185; /* vpshld_v8hi */
15677 : :
15678 : : case 7:
15679 : : if (!(
15680 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15681 : : (TARGET_AVX512VBMI2) &&
15682 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15683 : : (TARGET_AVX512VL)))
15684 : : return -1;
15685 : : return 10187; /* vpshld_v4si */
15686 : :
15687 : : case 8:
15688 : : if (!(
15689 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15690 : : (TARGET_AVX512VBMI2) &&
15691 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15692 : : (TARGET_AVX512VL)))
15693 : : return -1;
15694 : : return 10189; /* vpshld_v2di */
15695 : :
15696 : : default:
15697 : : return -1;
15698 : : }
15699 : : }
15700 : :
15701 : : int
15702 : : recog_264 (rtx x1 ATTRIBUTE_UNUSED,
15703 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15704 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15705 : : {
15706 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15707 : : rtx x2, x3, x4, x5;
15708 : : int res ATTRIBUTE_UNUSED;
15709 : : x2 = XEXP (x1, 0);
15710 : : operands[0] = x2;
15711 : : x3 = XEXP (x1, 1);
15712 : : x4 = XVECEXP (x3, 0, 0);
15713 : : operands[1] = x4;
15714 : : x5 = XVECEXP (x3, 0, 1);
15715 : : operands[2] = x5;
15716 : : switch (pattern654 (x3))
15717 : : {
15718 : : case 0:
15719 : : if (
15720 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15721 : : (TARGET_AVX512FP16 && 1 && 1))
15722 : : return 4278; /* fma_fmaddc_v32hf */
15723 : : break;
15724 : :
15725 : : case 1:
15726 : : if ((
15727 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15728 : : (TARGET_AVX512FP16 && 1 && 1) &&
15729 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15730 : : (TARGET_AVX512VL)))
15731 : : return 4286; /* fma_fmaddc_v16hf */
15732 : : break;
15733 : :
15734 : : case 2:
15735 : : if ((
15736 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15737 : : (TARGET_AVX512FP16 && 1 && 1) &&
15738 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15739 : : (TARGET_AVX512VL)))
15740 : : return 4290; /* fma_fmaddc_v8hf */
15741 : : break;
15742 : :
15743 : : default:
15744 : : break;
15745 : : }
15746 : : if (GET_CODE (x5) != SUBREG
15747 : : || maybe_ne (SUBREG_BYTE (x5), 0))
15748 : : return -1;
15749 : : switch (pattern581 (x3))
15750 : : {
15751 : : case 0:
15752 : : if (!
15753 : : #line 7293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15754 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
15755 : : return -1;
15756 : : return 4312; /* fma_v32hf_fmaddc_bcst */
15757 : :
15758 : : case 1:
15759 : : if (!(
15760 : : #line 7293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15761 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
15762 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15763 : : (TARGET_AVX512VL)))
15764 : : return -1;
15765 : : return 4313; /* fma_v16hf_fmaddc_bcst */
15766 : :
15767 : : case 2:
15768 : : if (!(
15769 : : #line 7293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15770 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
15771 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15772 : : (TARGET_AVX512VL)))
15773 : : return -1;
15774 : : return 4314; /* fma_v8hf_fmaddc_bcst */
15775 : :
15776 : : default:
15777 : : return -1;
15778 : : }
15779 : : }
15780 : :
15781 : : int
15782 : : recog_270 (rtx x1 ATTRIBUTE_UNUSED,
15783 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15784 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15785 : : {
15786 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15787 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15788 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
15789 : : int res ATTRIBUTE_UNUSED;
15790 : : x2 = XEXP (x1, 1);
15791 : : x3 = XEXP (x2, 0);
15792 : : x4 = XEXP (x3, 2);
15793 : : if (!register_operand (x4, E_QImode))
15794 : : return -1;
15795 : : x5 = XEXP (x3, 0);
15796 : : switch (GET_CODE (x5))
15797 : : {
15798 : : case FLOAT:
15799 : : switch (pattern492 (x2))
15800 : : {
15801 : : case 0:
15802 : : if (!
15803 : : #line 7761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15804 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15805 : : return -1;
15806 : : return 4486; /* *avx512fp16_vcvtdq2ph_v4si_mask */
15807 : :
15808 : : case 1:
15809 : : if (!
15810 : : #line 7761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15811 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15812 : : return -1;
15813 : : return 4488; /* *avx512fp16_vcvtqq2ph_v4di_mask */
15814 : :
15815 : : case 2:
15816 : : if (!
15817 : : #line 7837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15818 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15819 : : return -1;
15820 : : return 4496; /* *avx512fp16_vcvtqq2ph_v2di_mask */
15821 : :
15822 : : case 3:
15823 : : if (!
15824 : : #line 9350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15825 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
15826 : : return -1;
15827 : : return 4940; /* *floatv2div2sf2_mask */
15828 : :
15829 : : case 4:
15830 : : if (!
15831 : : #line 7776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15832 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15833 : : return -1;
15834 : : return 4490; /* *avx512fp16_vcvtdq2ph_v4si_mask_1 */
15835 : :
15836 : : case 5:
15837 : : if (!
15838 : : #line 7776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15839 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15840 : : return -1;
15841 : : return 4492; /* *avx512fp16_vcvtqq2ph_v4di_mask_1 */
15842 : :
15843 : : case 6:
15844 : : if (!
15845 : : #line 7852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15846 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15847 : : return -1;
15848 : : return 4498; /* *avx512fp16_vcvtqq2ph_v2di_mask_1 */
15849 : :
15850 : : case 7:
15851 : : if (!
15852 : : #line 9365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15853 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
15854 : : return -1;
15855 : : return 4942; /* *floatv2div2sf2_mask_1 */
15856 : :
15857 : : default:
15858 : : return -1;
15859 : : }
15860 : :
15861 : : case UNSIGNED_FLOAT:
15862 : : switch (pattern492 (x2))
15863 : : {
15864 : : case 0:
15865 : : if (!
15866 : : #line 7761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15867 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15868 : : return -1;
15869 : : return 4487; /* *avx512fp16_vcvtudq2ph_v4si_mask */
15870 : :
15871 : : case 1:
15872 : : if (!
15873 : : #line 7761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15874 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15875 : : return -1;
15876 : : return 4489; /* *avx512fp16_vcvtuqq2ph_v4di_mask */
15877 : :
15878 : : case 2:
15879 : : if (!
15880 : : #line 7837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15881 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15882 : : return -1;
15883 : : return 4497; /* *avx512fp16_vcvtuqq2ph_v2di_mask */
15884 : :
15885 : : case 3:
15886 : : if (!
15887 : : #line 9350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15888 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
15889 : : return -1;
15890 : : return 4941; /* *floatunsv2div2sf2_mask */
15891 : :
15892 : : case 4:
15893 : : if (!
15894 : : #line 7776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15895 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15896 : : return -1;
15897 : : return 4491; /* *avx512fp16_vcvtudq2ph_v4si_mask_1 */
15898 : :
15899 : : case 5:
15900 : : if (!
15901 : : #line 7776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15902 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15903 : : return -1;
15904 : : return 4493; /* *avx512fp16_vcvtuqq2ph_v4di_mask_1 */
15905 : :
15906 : : case 6:
15907 : : if (!
15908 : : #line 7852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15909 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15910 : : return -1;
15911 : : return 4499; /* *avx512fp16_vcvtuqq2ph_v2di_mask_1 */
15912 : :
15913 : : case 7:
15914 : : if (!
15915 : : #line 9365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15916 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
15917 : : return -1;
15918 : : return 4943; /* *floatunsv2div2sf2_mask_1 */
15919 : :
15920 : : default:
15921 : : return -1;
15922 : : }
15923 : :
15924 : : case FLOAT_TRUNCATE:
15925 : : x6 = XEXP (x5, 0);
15926 : : operands[1] = x6;
15927 : : x7 = XEXP (x2, 1);
15928 : : operands[4] = x7;
15929 : : x8 = XEXP (x3, 1);
15930 : : switch (GET_CODE (x8))
15931 : : {
15932 : : case VEC_SELECT:
15933 : : x9 = XEXP (x8, 1);
15934 : : if (GET_CODE (x9) != PARALLEL)
15935 : : return -1;
15936 : : x10 = XEXP (x8, 0);
15937 : : operands[2] = x10;
15938 : : operands[3] = x4;
15939 : : switch (XVECLEN (x9, 0))
15940 : : {
15941 : : case 4:
15942 : : if (pattern1205 (x9,
15943 : : 3,
15944 : : 2,
15945 : : 1,
15946 : : 0) != 0)
15947 : : return -1;
15948 : : switch (GET_MODE (operands[0]))
15949 : : {
15950 : : case E_V8HFmode:
15951 : : if (!register_operand (operands[0], E_V8HFmode)
15952 : : || GET_MODE (x2) != E_V8HFmode
15953 : : || GET_MODE (x3) != E_V4HFmode
15954 : : || GET_MODE (x5) != E_V4HFmode
15955 : : || GET_MODE (x8) != E_V4HFmode
15956 : : || !nonimm_or_0_operand (operands[2], E_V8HFmode))
15957 : : return -1;
15958 : : switch (pattern1543 ())
15959 : : {
15960 : : case 0:
15961 : : if (!
15962 : : #line 8232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15963 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15964 : : return -1;
15965 : : return 4710; /* *avx512fp16_vcvtpd2ph_v4df_mask */
15966 : :
15967 : : case 1:
15968 : : if (!
15969 : : #line 8232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15970 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15971 : : return -1;
15972 : : return 4711; /* *avx512fp16_vcvtps2ph_v4sf_mask */
15973 : :
15974 : : default:
15975 : : return -1;
15976 : : }
15977 : :
15978 : : case E_V8BFmode:
15979 : : if (pattern488 (x2,
15980 : : E_V4BFmode,
15981 : : E_V8BFmode,
15982 : : E_V4SFmode) != 0
15983 : : || !
15984 : : #line 31248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15985 : : (TARGET_AVX512BF16 && TARGET_AVX512VL))
15986 : : return -1;
15987 : : return 10317; /* avx512f_cvtneps2bf16_v4sf_mask_1 */
15988 : :
15989 : : default:
15990 : : return -1;
15991 : : }
15992 : :
15993 : : case 2:
15994 : : switch (pattern489 (x2,
15995 : : E_V2DFmode))
15996 : : {
15997 : : case 0:
15998 : : if (!
15999 : : #line 8308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16000 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16001 : : return -1;
16002 : : return 4715; /* *avx512fp16_vcvtpd2ph_v2df_mask */
16003 : :
16004 : : case 1:
16005 : : if (!
16006 : : #line 10214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16007 : : (TARGET_AVX512VL))
16008 : : return -1;
16009 : : return 5115; /* *sse2_cvtpd2ps_mask */
16010 : :
16011 : : default:
16012 : : return -1;
16013 : : }
16014 : :
16015 : : default:
16016 : : return -1;
16017 : : }
16018 : :
16019 : : case CONST_INT:
16020 : : case CONST_DOUBLE:
16021 : : case CONST_VECTOR:
16022 : : operands[3] = x8;
16023 : : operands[2] = x4;
16024 : : switch (GET_MODE (operands[0]))
16025 : : {
16026 : : case E_V8HFmode:
16027 : : if (!register_operand (operands[0], E_V8HFmode)
16028 : : || GET_MODE (x2) != E_V8HFmode)
16029 : : return -1;
16030 : : switch (GET_MODE (x3))
16031 : : {
16032 : : case E_V4HFmode:
16033 : : if (GET_MODE (x5) != E_V4HFmode
16034 : : || !const0_operand (operands[3], E_V4HFmode))
16035 : : return -1;
16036 : : switch (pattern1543 ())
16037 : : {
16038 : : case 0:
16039 : : if (!
16040 : : #line 8247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16041 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16042 : : return -1;
16043 : : return 4712; /* *avx512fp16_vcvtpd2ph_v4df_mask_1 */
16044 : :
16045 : : case 1:
16046 : : if (!
16047 : : #line 8247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16048 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16049 : : return -1;
16050 : : return 4713; /* *avx512fp16_vcvtps2ph_v4sf_mask_1 */
16051 : :
16052 : : default:
16053 : : return -1;
16054 : : }
16055 : :
16056 : : case E_V2HFmode:
16057 : : if (pattern490 (x5,
16058 : : E_V2DFmode) != 0
16059 : : || !
16060 : : #line 8323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16061 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16062 : : return -1;
16063 : : return 4716; /* *avx512fp16_vcvtpd2ph_v2df_mask_1 */
16064 : :
16065 : : default:
16066 : : return -1;
16067 : : }
16068 : :
16069 : : case E_V4SFmode:
16070 : : if (pattern491 (x2,
16071 : : E_V2DFmode) != 0
16072 : : || !
16073 : : #line 10229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16074 : : (TARGET_AVX512VL))
16075 : : return -1;
16076 : : return 5116; /* *sse2_cvtpd2ps_mask_1 */
16077 : :
16078 : : default:
16079 : : return -1;
16080 : : }
16081 : :
16082 : : default:
16083 : : return -1;
16084 : : }
16085 : :
16086 : : case UNSPEC:
16087 : : switch (XVECLEN (x5, 0))
16088 : : {
16089 : : case 1:
16090 : : x11 = XVECEXP (x5, 0, 0);
16091 : : operands[1] = x11;
16092 : : switch (XINT (x5, 1))
16093 : : {
16094 : : case 47:
16095 : : switch (pattern898 (x2))
16096 : : {
16097 : : case 0:
16098 : : if (!
16099 : : #line 9509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16100 : : (TARGET_AVX512VL))
16101 : : return -1;
16102 : : return 4962; /* sse2_cvtpd2dq_mask */
16103 : :
16104 : : case 1:
16105 : : if (!
16106 : : #line 9524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16107 : : (TARGET_AVX512VL))
16108 : : return -1;
16109 : : return 4963; /* *sse2_cvtpd2dq_mask_1 */
16110 : :
16111 : : default:
16112 : : return -1;
16113 : : }
16114 : :
16115 : : case 157:
16116 : : switch (pattern898 (x2))
16117 : : {
16118 : : case 0:
16119 : : if (!
16120 : : #line 9570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16121 : : (TARGET_AVX512VL))
16122 : : return -1;
16123 : : return 4973; /* fixuns_notruncv2dfv2si2_mask */
16124 : :
16125 : : case 1:
16126 : : if (!
16127 : : #line 9586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16128 : : (TARGET_AVX512VL))
16129 : : return -1;
16130 : : return 4974; /* *fixuns_notruncv2dfv2si2_mask_1 */
16131 : :
16132 : : default:
16133 : : return -1;
16134 : : }
16135 : :
16136 : : case 174:
16137 : : if (GET_MODE (x5) != E_V2SImode)
16138 : : return -1;
16139 : : x8 = XEXP (x3, 1);
16140 : : if (pattern655 (x8,
16141 : : 2,
16142 : : E_V2SImode) != 0)
16143 : : return -1;
16144 : : x9 = XEXP (x8, 1);
16145 : : x12 = XVECEXP (x9, 0, 0);
16146 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16147 : : return -1;
16148 : : x13 = XVECEXP (x9, 0, 1);
16149 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16150 : : return -1;
16151 : : x7 = XEXP (x2, 1);
16152 : : if (GET_CODE (x7) != CONST_VECTOR
16153 : : || XVECLEN (x7, 0) != 2
16154 : : || GET_MODE (x7) != E_V2SImode)
16155 : : return -1;
16156 : : x14 = XVECEXP (x7, 0, 0);
16157 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16158 : : return -1;
16159 : : x15 = XVECEXP (x7, 0, 1);
16160 : : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
16161 : : || !register_operand (operands[0], E_V4SImode)
16162 : : || GET_MODE (x2) != E_V4SImode
16163 : : || GET_MODE (x3) != E_V2SImode
16164 : : || !nonimmediate_operand (operands[1], E_V2DFmode))
16165 : : return -1;
16166 : : x10 = XEXP (x8, 0);
16167 : : operands[2] = x10;
16168 : : if (!nonimm_or_0_operand (operands[2], E_V4SImode))
16169 : : return -1;
16170 : : operands[3] = x4;
16171 : : if (!
16172 : : #line 9647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16173 : : (TARGET_AVX512VL))
16174 : : return -1;
16175 : : return 4993; /* unspec_fixuns_truncv2dfv2si2_mask */
16176 : :
16177 : : case 254:
16178 : : if (pattern899 (x2) != 0
16179 : : || !
16180 : : #line 32051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16181 : : (TARGET_AVX10_2))
16182 : : return -1;
16183 : : return 10469; /* *vcvtph2bf8v8hf_mask */
16184 : :
16185 : : case 255:
16186 : : if (pattern899 (x2) != 0
16187 : : || !
16188 : : #line 32051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16189 : : (TARGET_AVX10_2))
16190 : : return -1;
16191 : : return 10470; /* *vcvtph2bf8sv8hf_mask */
16192 : :
16193 : : case 256:
16194 : : if (pattern899 (x2) != 0
16195 : : || !
16196 : : #line 32051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16197 : : (TARGET_AVX10_2))
16198 : : return -1;
16199 : : return 10471; /* *vcvtph2hf8v8hf_mask */
16200 : :
16201 : : case 257:
16202 : : if (pattern899 (x2) != 0
16203 : : || !
16204 : : #line 32051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16205 : : (TARGET_AVX10_2))
16206 : : return -1;
16207 : : return 10472; /* *vcvtph2hf8sv8hf_mask */
16208 : :
16209 : : default:
16210 : : return -1;
16211 : : }
16212 : :
16213 : : case 2:
16214 : : x8 = XEXP (x3, 1);
16215 : : if (pattern655 (x8,
16216 : : 8,
16217 : : E_V8QImode) != 0)
16218 : : return -1;
16219 : : x9 = XEXP (x8, 1);
16220 : : x12 = XVECEXP (x9, 0, 0);
16221 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16222 : : return -1;
16223 : : x13 = XVECEXP (x9, 0, 1);
16224 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16225 : : return -1;
16226 : : x16 = XVECEXP (x9, 0, 2);
16227 : : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
16228 : : || pattern1402 (x9,
16229 : : 7,
16230 : : 6,
16231 : : 5,
16232 : : 4,
16233 : : 3) != 0
16234 : : || !register_operand (operands[0], E_V16QImode)
16235 : : || GET_MODE (x2) != E_V16QImode
16236 : : || GET_MODE (x3) != E_V8QImode
16237 : : || GET_MODE (x5) != E_V8QImode)
16238 : : return -1;
16239 : : x11 = XVECEXP (x5, 0, 0);
16240 : : operands[1] = x11;
16241 : : if (!register_operand (operands[1], E_V16QImode))
16242 : : return -1;
16243 : : x17 = XVECEXP (x5, 0, 1);
16244 : : operands[2] = x17;
16245 : : if (!nonimmediate_operand (operands[2], E_V8HFmode))
16246 : : return -1;
16247 : : x10 = XEXP (x8, 0);
16248 : : operands[3] = x10;
16249 : : if (!nonimm_or_0_operand (operands[3], E_V16QImode))
16250 : : return -1;
16251 : : operands[4] = x4;
16252 : : x7 = XEXP (x2, 1);
16253 : : operands[5] = x7;
16254 : : if (!const0_operand (operands[5], E_V8QImode))
16255 : : return -1;
16256 : : switch (XINT (x5, 1))
16257 : : {
16258 : : case 246:
16259 : : if (!
16260 : : #line 31963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16261 : : (TARGET_AVX10_2))
16262 : : return -1;
16263 : : return 10445; /* *vcvtbiasph2bf8v8hf_mask */
16264 : :
16265 : : case 247:
16266 : : if (!
16267 : : #line 31963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16268 : : (TARGET_AVX10_2))
16269 : : return -1;
16270 : : return 10446; /* *vcvtbiasph2bf8sv8hf_mask */
16271 : :
16272 : : case 248:
16273 : : if (!
16274 : : #line 31963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16275 : : (TARGET_AVX10_2))
16276 : : return -1;
16277 : : return 10447; /* *vcvtbiasph2hf8v8hf_mask */
16278 : :
16279 : : case 249:
16280 : : if (!
16281 : : #line 31963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16282 : : (TARGET_AVX10_2))
16283 : : return -1;
16284 : : return 10448; /* *vcvtbiasph2hf8sv8hf_mask */
16285 : :
16286 : : default:
16287 : : return -1;
16288 : : }
16289 : :
16290 : : default:
16291 : : return -1;
16292 : : }
16293 : :
16294 : : case UNSIGNED_FIX:
16295 : : switch (pattern494 (x2))
16296 : : {
16297 : : case 0:
16298 : : if (!
16299 : : #line 9663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16300 : : (TARGET_AVX512VL))
16301 : : return -1;
16302 : : return 4994; /* fixuns_truncv2dfv2si2_mask */
16303 : :
16304 : : case 1:
16305 : : if (!
16306 : : #line 9677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16307 : : (TARGET_AVX512VL))
16308 : : return -1;
16309 : : return 4995; /* *fixuns_truncv2dfv2si2_mask_1 */
16310 : :
16311 : : default:
16312 : : return -1;
16313 : : }
16314 : :
16315 : : case FIX:
16316 : : switch (pattern494 (x2))
16317 : : {
16318 : : case 0:
16319 : : if (!
16320 : : #line 10012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16321 : : (TARGET_AVX512VL))
16322 : : return -1;
16323 : : return 5095; /* sse2_cvttpd2dq_mask */
16324 : :
16325 : : case 1:
16326 : : if (!
16327 : : #line 10026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16328 : : (TARGET_AVX512VL))
16329 : : return -1;
16330 : : return 5096; /* *sse2_cvttpd2dq_mask_1 */
16331 : :
16332 : : default:
16333 : : return -1;
16334 : : }
16335 : :
16336 : : case SS_TRUNCATE:
16337 : : switch (pattern500 (x2))
16338 : : {
16339 : : case 0:
16340 : : if (!
16341 : : #line 15468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16342 : : (TARGET_AVX512VL))
16343 : : return -1;
16344 : : return 7254; /* avx512vl_ss_truncatev2div2qi2_mask */
16345 : :
16346 : : case 1:
16347 : : if (!
16348 : : #line 15910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16349 : : (TARGET_AVX512VL))
16350 : : return -1;
16351 : : return 7369; /* avx512vl_ss_truncatev2div2hi2_mask */
16352 : :
16353 : : case 2:
16354 : : if (!
16355 : : #line 16058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16356 : : (TARGET_AVX512VL))
16357 : : return -1;
16358 : : return 7388; /* avx512vl_ss_truncatev2div2si2_mask */
16359 : :
16360 : : case 3:
16361 : : if (!
16362 : : #line 15563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16363 : : (TARGET_AVX512VL))
16364 : : return -1;
16365 : : return 7275; /* avx512vl_ss_truncatev4siv4qi2_mask */
16366 : :
16367 : : case 4:
16368 : : if (!
16369 : : #line 15563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16370 : : (TARGET_AVX512VL))
16371 : : return -1;
16372 : : return 7278; /* avx512vl_ss_truncatev4div4qi2_mask */
16373 : :
16374 : : case 5:
16375 : : if (!
16376 : : #line 15819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16377 : : (TARGET_AVX512VL))
16378 : : return -1;
16379 : : return 7345; /* avx512vl_ss_truncatev4siv4hi2_mask */
16380 : :
16381 : : case 6:
16382 : : if (!
16383 : : #line 15819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16384 : : (TARGET_AVX512VL))
16385 : : return -1;
16386 : : return 7348; /* avx512vl_ss_truncatev4div4hi2_mask */
16387 : :
16388 : : case 7:
16389 : : if (!(
16390 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16391 : : (TARGET_AVX512VL) &&
16392 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16393 : : (TARGET_AVX512BW)))
16394 : : return -1;
16395 : : return 7305; /* avx512vl_ss_truncatev8hiv8qi2_mask */
16396 : :
16397 : : case 8:
16398 : : if (!
16399 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16400 : : (TARGET_AVX512VL))
16401 : : return -1;
16402 : : return 7308; /* avx512vl_ss_truncatev8siv8qi2_mask */
16403 : :
16404 : : case 9:
16405 : : if (!
16406 : : #line 16177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16407 : : (TARGET_AVX512F))
16408 : : return -1;
16409 : : return 7406; /* avx512f_ss_truncatev8div16qi2_mask */
16410 : :
16411 : : case 10:
16412 : : if (!
16413 : : #line 15489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16414 : : (TARGET_AVX512VL))
16415 : : return -1;
16416 : : return 7257; /* *avx512vl_ss_truncatev2div2qi2_mask_1 */
16417 : :
16418 : : case 11:
16419 : : if (!
16420 : : #line 15927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16421 : : (TARGET_AVX512VL))
16422 : : return -1;
16423 : : return 7372; /* *avx512vl_ss_truncatev2div2hi2_mask_1 */
16424 : :
16425 : : case 12:
16426 : : if (!
16427 : : #line 16073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16428 : : (TARGET_AVX512VL))
16429 : : return -1;
16430 : : return 7391; /* *avx512vl_ss_truncatev2div2si2_mask_1 */
16431 : :
16432 : : case 13:
16433 : : if (!
16434 : : #line 15584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16435 : : (TARGET_AVX512VL))
16436 : : return -1;
16437 : : return 7281; /* *avx512vl_ss_truncatev4siv4qi2_mask_1 */
16438 : :
16439 : : case 14:
16440 : : if (!
16441 : : #line 15584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16442 : : (TARGET_AVX512VL))
16443 : : return -1;
16444 : : return 7284; /* *avx512vl_ss_truncatev4div4qi2_mask_1 */
16445 : :
16446 : : case 15:
16447 : : if (!
16448 : : #line 15836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16449 : : (TARGET_AVX512VL))
16450 : : return -1;
16451 : : return 7351; /* *avx512vl_ss_truncatev4siv4hi2_mask_1 */
16452 : :
16453 : : case 16:
16454 : : if (!
16455 : : #line 15836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16456 : : (TARGET_AVX512VL))
16457 : : return -1;
16458 : : return 7354; /* *avx512vl_ss_truncatev4div4hi2_mask_1 */
16459 : :
16460 : : case 17:
16461 : : if (!(
16462 : : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16463 : : (TARGET_AVX512VL) &&
16464 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16465 : : (TARGET_AVX512BW)))
16466 : : return -1;
16467 : : return 7311; /* *avx512vl_ss_truncatev8hiv8qi2_mask_1 */
16468 : :
16469 : : case 18:
16470 : : if (!
16471 : : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16472 : : (TARGET_AVX512VL))
16473 : : return -1;
16474 : : return 7314; /* *avx512vl_ss_truncatev8siv8qi2_mask_1 */
16475 : :
16476 : : case 19:
16477 : : if (!
16478 : : #line 16198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16479 : : (TARGET_AVX512F))
16480 : : return -1;
16481 : : return 7409; /* *avx512f_ss_truncatev8div16qi2_mask_1 */
16482 : :
16483 : : default:
16484 : : return -1;
16485 : : }
16486 : :
16487 : : case TRUNCATE:
16488 : : switch (pattern500 (x2))
16489 : : {
16490 : : case 0:
16491 : : if (!
16492 : : #line 15468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16493 : : (TARGET_AVX512VL))
16494 : : return -1;
16495 : : return 7255; /* avx512vl_truncatev2div2qi2_mask */
16496 : :
16497 : : case 1:
16498 : : if (!
16499 : : #line 15910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16500 : : (TARGET_AVX512VL))
16501 : : return -1;
16502 : : return 7370; /* avx512vl_truncatev2div2hi2_mask */
16503 : :
16504 : : case 2:
16505 : : if (!
16506 : : #line 16058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16507 : : (TARGET_AVX512VL))
16508 : : return -1;
16509 : : return 7389; /* avx512vl_truncatev2div2si2_mask */
16510 : :
16511 : : case 3:
16512 : : if (!
16513 : : #line 15563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16514 : : (TARGET_AVX512VL))
16515 : : return -1;
16516 : : return 7276; /* avx512vl_truncatev4siv4qi2_mask */
16517 : :
16518 : : case 4:
16519 : : if (!
16520 : : #line 15563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16521 : : (TARGET_AVX512VL))
16522 : : return -1;
16523 : : return 7279; /* avx512vl_truncatev4div4qi2_mask */
16524 : :
16525 : : case 5:
16526 : : if (!
16527 : : #line 15819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16528 : : (TARGET_AVX512VL))
16529 : : return -1;
16530 : : return 7346; /* avx512vl_truncatev4siv4hi2_mask */
16531 : :
16532 : : case 6:
16533 : : if (!
16534 : : #line 15819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16535 : : (TARGET_AVX512VL))
16536 : : return -1;
16537 : : return 7349; /* avx512vl_truncatev4div4hi2_mask */
16538 : :
16539 : : case 7:
16540 : : if (!(
16541 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16542 : : (TARGET_AVX512VL) &&
16543 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16544 : : (TARGET_AVX512BW)))
16545 : : return -1;
16546 : : return 7306; /* avx512vl_truncatev8hiv8qi2_mask */
16547 : :
16548 : : case 8:
16549 : : if (!
16550 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16551 : : (TARGET_AVX512VL))
16552 : : return -1;
16553 : : return 7309; /* avx512vl_truncatev8siv8qi2_mask */
16554 : :
16555 : : case 9:
16556 : : if (!
16557 : : #line 16177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16558 : : (TARGET_AVX512F))
16559 : : return -1;
16560 : : return 7407; /* avx512f_truncatev8div16qi2_mask */
16561 : :
16562 : : case 10:
16563 : : if (!
16564 : : #line 15489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16565 : : (TARGET_AVX512VL))
16566 : : return -1;
16567 : : return 7258; /* *avx512vl_truncatev2div2qi2_mask_1 */
16568 : :
16569 : : case 11:
16570 : : if (!
16571 : : #line 15927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16572 : : (TARGET_AVX512VL))
16573 : : return -1;
16574 : : return 7373; /* *avx512vl_truncatev2div2hi2_mask_1 */
16575 : :
16576 : : case 12:
16577 : : if (!
16578 : : #line 16073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16579 : : (TARGET_AVX512VL))
16580 : : return -1;
16581 : : return 7392; /* *avx512vl_truncatev2div2si2_mask_1 */
16582 : :
16583 : : case 13:
16584 : : if (!
16585 : : #line 15584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16586 : : (TARGET_AVX512VL))
16587 : : return -1;
16588 : : return 7282; /* *avx512vl_truncatev4siv4qi2_mask_1 */
16589 : :
16590 : : case 14:
16591 : : if (!
16592 : : #line 15584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16593 : : (TARGET_AVX512VL))
16594 : : return -1;
16595 : : return 7285; /* *avx512vl_truncatev4div4qi2_mask_1 */
16596 : :
16597 : : case 15:
16598 : : if (!
16599 : : #line 15836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16600 : : (TARGET_AVX512VL))
16601 : : return -1;
16602 : : return 7352; /* *avx512vl_truncatev4siv4hi2_mask_1 */
16603 : :
16604 : : case 16:
16605 : : if (!
16606 : : #line 15836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16607 : : (TARGET_AVX512VL))
16608 : : return -1;
16609 : : return 7355; /* *avx512vl_truncatev4div4hi2_mask_1 */
16610 : :
16611 : : case 17:
16612 : : if (!(
16613 : : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16614 : : (TARGET_AVX512VL) &&
16615 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16616 : : (TARGET_AVX512BW)))
16617 : : return -1;
16618 : : return 7312; /* *avx512vl_truncatev8hiv8qi2_mask_1 */
16619 : :
16620 : : case 18:
16621 : : if (!
16622 : : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16623 : : (TARGET_AVX512VL))
16624 : : return -1;
16625 : : return 7315; /* *avx512vl_truncatev8siv8qi2_mask_1 */
16626 : :
16627 : : case 19:
16628 : : if (!
16629 : : #line 16198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16630 : : (TARGET_AVX512F))
16631 : : return -1;
16632 : : return 7410; /* *avx512f_truncatev8div16qi2_mask_1 */
16633 : :
16634 : : default:
16635 : : return -1;
16636 : : }
16637 : :
16638 : : case US_TRUNCATE:
16639 : : switch (pattern500 (x2))
16640 : : {
16641 : : case 0:
16642 : : if (!
16643 : : #line 15468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16644 : : (TARGET_AVX512VL))
16645 : : return -1;
16646 : : return 7256; /* avx512vl_us_truncatev2div2qi2_mask */
16647 : :
16648 : : case 1:
16649 : : if (!
16650 : : #line 15910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16651 : : (TARGET_AVX512VL))
16652 : : return -1;
16653 : : return 7371; /* avx512vl_us_truncatev2div2hi2_mask */
16654 : :
16655 : : case 2:
16656 : : if (!
16657 : : #line 16058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16658 : : (TARGET_AVX512VL))
16659 : : return -1;
16660 : : return 7390; /* avx512vl_us_truncatev2div2si2_mask */
16661 : :
16662 : : case 3:
16663 : : if (!
16664 : : #line 15563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16665 : : (TARGET_AVX512VL))
16666 : : return -1;
16667 : : return 7277; /* avx512vl_us_truncatev4siv4qi2_mask */
16668 : :
16669 : : case 4:
16670 : : if (!
16671 : : #line 15563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16672 : : (TARGET_AVX512VL))
16673 : : return -1;
16674 : : return 7280; /* avx512vl_us_truncatev4div4qi2_mask */
16675 : :
16676 : : case 5:
16677 : : if (!
16678 : : #line 15819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16679 : : (TARGET_AVX512VL))
16680 : : return -1;
16681 : : return 7347; /* avx512vl_us_truncatev4siv4hi2_mask */
16682 : :
16683 : : case 6:
16684 : : if (!
16685 : : #line 15819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16686 : : (TARGET_AVX512VL))
16687 : : return -1;
16688 : : return 7350; /* avx512vl_us_truncatev4div4hi2_mask */
16689 : :
16690 : : case 7:
16691 : : if (!(
16692 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16693 : : (TARGET_AVX512VL) &&
16694 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16695 : : (TARGET_AVX512BW)))
16696 : : return -1;
16697 : : return 7307; /* avx512vl_us_truncatev8hiv8qi2_mask */
16698 : :
16699 : : case 8:
16700 : : if (!
16701 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16702 : : (TARGET_AVX512VL))
16703 : : return -1;
16704 : : return 7310; /* avx512vl_us_truncatev8siv8qi2_mask */
16705 : :
16706 : : case 9:
16707 : : if (!
16708 : : #line 16177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16709 : : (TARGET_AVX512F))
16710 : : return -1;
16711 : : return 7408; /* avx512f_us_truncatev8div16qi2_mask */
16712 : :
16713 : : case 10:
16714 : : if (!
16715 : : #line 15489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16716 : : (TARGET_AVX512VL))
16717 : : return -1;
16718 : : return 7259; /* *avx512vl_us_truncatev2div2qi2_mask_1 */
16719 : :
16720 : : case 11:
16721 : : if (!
16722 : : #line 15927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16723 : : (TARGET_AVX512VL))
16724 : : return -1;
16725 : : return 7374; /* *avx512vl_us_truncatev2div2hi2_mask_1 */
16726 : :
16727 : : case 12:
16728 : : if (!
16729 : : #line 16073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16730 : : (TARGET_AVX512VL))
16731 : : return -1;
16732 : : return 7393; /* *avx512vl_us_truncatev2div2si2_mask_1 */
16733 : :
16734 : : case 13:
16735 : : if (!
16736 : : #line 15584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16737 : : (TARGET_AVX512VL))
16738 : : return -1;
16739 : : return 7283; /* *avx512vl_us_truncatev4siv4qi2_mask_1 */
16740 : :
16741 : : case 14:
16742 : : if (!
16743 : : #line 15584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16744 : : (TARGET_AVX512VL))
16745 : : return -1;
16746 : : return 7286; /* *avx512vl_us_truncatev4div4qi2_mask_1 */
16747 : :
16748 : : case 15:
16749 : : if (!
16750 : : #line 15836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16751 : : (TARGET_AVX512VL))
16752 : : return -1;
16753 : : return 7353; /* *avx512vl_us_truncatev4siv4hi2_mask_1 */
16754 : :
16755 : : case 16:
16756 : : if (!
16757 : : #line 15836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16758 : : (TARGET_AVX512VL))
16759 : : return -1;
16760 : : return 7356; /* *avx512vl_us_truncatev4div4hi2_mask_1 */
16761 : :
16762 : : case 17:
16763 : : if (!(
16764 : : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16765 : : (TARGET_AVX512VL) &&
16766 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16767 : : (TARGET_AVX512BW)))
16768 : : return -1;
16769 : : return 7313; /* *avx512vl_us_truncatev8hiv8qi2_mask_1 */
16770 : :
16771 : : case 18:
16772 : : if (!
16773 : : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16774 : : (TARGET_AVX512VL))
16775 : : return -1;
16776 : : return 7316; /* *avx512vl_us_truncatev8siv8qi2_mask_1 */
16777 : :
16778 : : case 19:
16779 : : if (!
16780 : : #line 16198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16781 : : (TARGET_AVX512F))
16782 : : return -1;
16783 : : return 7411; /* *avx512f_us_truncatev8div16qi2_mask_1 */
16784 : :
16785 : : default:
16786 : : return -1;
16787 : : }
16788 : :
16789 : : default:
16790 : : return -1;
16791 : : }
16792 : : }
16793 : :
16794 : : int
16795 : : recog_288 (rtx x1 ATTRIBUTE_UNUSED,
16796 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16797 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16798 : : {
16799 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16800 : : rtx x2, x3, x4, x5, x6, x7;
16801 : : int res ATTRIBUTE_UNUSED;
16802 : : x2 = XEXP (x1, 1);
16803 : : x3 = XEXP (x2, 1);
16804 : : x4 = XVECEXP (x3, 0, 0);
16805 : : if (GET_CODE (x4) != CONST_INT)
16806 : : return -1;
16807 : : operands[2] = x4;
16808 : : res = recog_287 (x1, insn, pnum_clobbers);
16809 : : if (res >= 0)
16810 : : return res;
16811 : : x5 = XVECEXP (x3, 0, 1);
16812 : : if (GET_CODE (x5) != CONST_INT)
16813 : : return -1;
16814 : : x6 = XVECEXP (x3, 0, 2);
16815 : : if (GET_CODE (x6) != CONST_INT)
16816 : : return -1;
16817 : : x7 = XVECEXP (x3, 0, 3);
16818 : : if (GET_CODE (x7) != CONST_INT)
16819 : : return -1;
16820 : : switch (XWINT (x4, 0))
16821 : : {
16822 : : case 0L:
16823 : : if (XWINT (x5, 0) != 1L
16824 : : || XWINT (x6, 0) != 2L
16825 : : || XWINT (x7, 0) != 3L)
16826 : : return -1;
16827 : : switch (GET_MODE (operands[0]))
16828 : : {
16829 : : case E_V4DFmode:
16830 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
16831 : : || GET_MODE (x2) != E_V4DFmode
16832 : : || !nonimmediate_operand (operands[1], E_V8DFmode)
16833 : : || !
16834 : : #line 12669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16835 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16836 : : return -1;
16837 : : return 5276; /* vec_extract_lo_v8df */
16838 : :
16839 : : case E_V4DImode:
16840 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
16841 : : || GET_MODE (x2) != E_V4DImode
16842 : : || !nonimmediate_operand (operands[1], E_V8DImode)
16843 : : || !
16844 : : #line 12669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16845 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16846 : : return -1;
16847 : : return 5277; /* vec_extract_lo_v8di */
16848 : :
16849 : : case E_V4SImode:
16850 : : if (!nonimmediate_operand (operands[0], E_V4SImode)
16851 : : || GET_MODE (x2) != E_V4SImode
16852 : : || !nonimmediate_operand (operands[1], E_V8SImode)
16853 : : || !
16854 : : #line 13002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16855 : : (TARGET_AVX
16856 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16857 : : return -1;
16858 : : return 5300; /* vec_extract_lo_v8si */
16859 : :
16860 : : case E_V4SFmode:
16861 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
16862 : : || GET_MODE (x2) != E_V4SFmode
16863 : : || !nonimmediate_operand (operands[1], E_V8SFmode)
16864 : : || !
16865 : : #line 13002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16866 : : (TARGET_AVX
16867 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16868 : : return -1;
16869 : : return 5301; /* vec_extract_lo_v8sf */
16870 : :
16871 : : default:
16872 : : return -1;
16873 : : }
16874 : :
16875 : : case 4L:
16876 : : if (XWINT (x5, 0) != 5L
16877 : : || XWINT (x6, 0) != 6L
16878 : : || XWINT (x7, 0) != 7L)
16879 : : return -1;
16880 : : switch (GET_MODE (operands[0]))
16881 : : {
16882 : : case E_V4DFmode:
16883 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
16884 : : || GET_MODE (x2) != E_V4DFmode
16885 : : || !register_operand (operands[1], E_V8DFmode)
16886 : : || !
16887 : : #line 12705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16888 : : (TARGET_AVX512F))
16889 : : return -1;
16890 : : return 5280; /* vec_extract_hi_v8df */
16891 : :
16892 : : case E_V4DImode:
16893 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
16894 : : || GET_MODE (x2) != E_V4DImode
16895 : : || !register_operand (operands[1], E_V8DImode)
16896 : : || !
16897 : : #line 12705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16898 : : (TARGET_AVX512F))
16899 : : return -1;
16900 : : return 5281; /* vec_extract_hi_v8di */
16901 : :
16902 : : case E_V4SImode:
16903 : : if (!nonimmediate_operand (operands[0], E_V4SImode)
16904 : : || GET_MODE (x2) != E_V4SImode
16905 : : || !register_operand (operands[1], E_V8SImode)
16906 : : || !
16907 : : #line 13034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16908 : : (TARGET_AVX))
16909 : : return -1;
16910 : : return 5304; /* vec_extract_hi_v8si */
16911 : :
16912 : : case E_V4SFmode:
16913 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
16914 : : || GET_MODE (x2) != E_V4SFmode
16915 : : || !register_operand (operands[1], E_V8SFmode)
16916 : : || !
16917 : : #line 13034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16918 : : (TARGET_AVX))
16919 : : return -1;
16920 : : return 5305; /* vec_extract_hi_v8sf */
16921 : :
16922 : : default:
16923 : : return -1;
16924 : : }
16925 : :
16926 : : default:
16927 : : return -1;
16928 : : }
16929 : : }
16930 : :
16931 : : int
16932 : : recog_294 (rtx x1 ATTRIBUTE_UNUSED,
16933 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16934 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16935 : : {
16936 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16937 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16938 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16939 : : int res ATTRIBUTE_UNUSED;
16940 : : x2 = XEXP (x1, 1);
16941 : : x3 = XEXP (x2, 1);
16942 : : x4 = XVECEXP (x3, 0, 1);
16943 : : operands[3] = x4;
16944 : : x5 = XVECEXP (x3, 0, 2);
16945 : : operands[4] = x5;
16946 : : x6 = XVECEXP (x3, 0, 3);
16947 : : operands[5] = x6;
16948 : : x7 = XVECEXP (x3, 0, 5);
16949 : : operands[7] = x7;
16950 : : x8 = XVECEXP (x3, 0, 6);
16951 : : operands[8] = x8;
16952 : : x9 = XVECEXP (x3, 0, 7);
16953 : : operands[9] = x9;
16954 : : x10 = XVECEXP (x3, 0, 8);
16955 : : operands[10] = x10;
16956 : : x11 = XVECEXP (x3, 0, 9);
16957 : : operands[11] = x11;
16958 : : x12 = XVECEXP (x3, 0, 10);
16959 : : operands[12] = x12;
16960 : : x13 = XVECEXP (x3, 0, 11);
16961 : : operands[13] = x13;
16962 : : x14 = XVECEXP (x3, 0, 12);
16963 : : operands[14] = x14;
16964 : : x15 = XVECEXP (x3, 0, 13);
16965 : : operands[15] = x15;
16966 : : x16 = XVECEXP (x3, 0, 14);
16967 : : operands[16] = x16;
16968 : : x17 = XVECEXP (x3, 0, 15);
16969 : : operands[17] = x17;
16970 : : switch (GET_MODE (operands[0]))
16971 : : {
16972 : : case E_V16SFmode:
16973 : : if (!register_operand (operands[0], E_V16SFmode)
16974 : : || GET_MODE (x2) != E_V16SFmode
16975 : : || !register_operand (operands[1], E_V16SFmode)
16976 : : || pattern1825 () != 0
16977 : : || !
16978 : : #line 20494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16979 : : (TARGET_AVX512F
16980 : : && (INTVAL (operands[2]) & 3) == 0
16981 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
16982 : : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
16983 : : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
16984 : : && (INTVAL (operands[6]) & 3) == 0
16985 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
16986 : : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
16987 : : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
16988 : : && (INTVAL (operands[10]) & 3) == 0
16989 : : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
16990 : : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
16991 : : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
16992 : : && (INTVAL (operands[14]) & 3) == 0
16993 : : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
16994 : : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
16995 : : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3))
16996 : : return -1;
16997 : : return 8386; /* *avx512f_shuf_f32x4_1_1 */
16998 : :
16999 : : case E_V16SImode:
17000 : : if (!register_operand (operands[0], E_V16SImode)
17001 : : || GET_MODE (x2) != E_V16SImode)
17002 : : return -1;
17003 : : if (register_operand (operands[1], E_V16SImode)
17004 : : && pattern1825 () == 0
17005 : : &&
17006 : : #line 20494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17007 : : (TARGET_AVX512F
17008 : : && (INTVAL (operands[2]) & 3) == 0
17009 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17010 : : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
17011 : : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
17012 : : && (INTVAL (operands[6]) & 3) == 0
17013 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
17014 : : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
17015 : : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
17016 : : && (INTVAL (operands[10]) & 3) == 0
17017 : : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
17018 : : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
17019 : : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
17020 : : && (INTVAL (operands[14]) & 3) == 0
17021 : : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
17022 : : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
17023 : : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3))
17024 : : return 8388; /* *avx512f_shuf_i32x4_1_1 */
17025 : : if (!nonimmediate_operand (operands[1], E_V16SImode)
17026 : : || pattern1702 () != 0
17027 : : || !const_8_to_11_operand (operands[10], E_VOIDmode)
17028 : : || !const_8_to_11_operand (operands[11], E_VOIDmode)
17029 : : || !const_8_to_11_operand (operands[12], E_VOIDmode)
17030 : : || !const_8_to_11_operand (operands[13], E_VOIDmode)
17031 : : || !const_12_to_15_operand (operands[14], E_VOIDmode)
17032 : : || !const_12_to_15_operand (operands[15], E_VOIDmode)
17033 : : || !const_12_to_15_operand (operands[16], E_VOIDmode)
17034 : : || !const_12_to_15_operand (operands[17], E_VOIDmode)
17035 : : || !
17036 : : #line 20576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17037 : : (TARGET_AVX512F
17038 : : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
17039 : : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
17040 : : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
17041 : : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
17042 : : && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
17043 : : && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
17044 : : && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
17045 : : && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
17046 : : && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
17047 : : && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
17048 : : && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
17049 : : && INTVAL (operands[5]) + 12 == INTVAL (operands[17])))
17050 : : return -1;
17051 : : return 8390; /* avx512f_pshufd_1 */
17052 : :
17053 : : default:
17054 : : return -1;
17055 : : }
17056 : : }
17057 : :
17058 : : int
17059 : : recog_305 (rtx x1 ATTRIBUTE_UNUSED,
17060 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17061 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17062 : : {
17063 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17064 : : rtx x2, x3, x4;
17065 : : int res ATTRIBUTE_UNUSED;
17066 : : x2 = XEXP (x1, 1);
17067 : : x3 = XEXP (x2, 0);
17068 : : x4 = XEXP (x3, 0);
17069 : : switch (GET_CODE (x4))
17070 : : {
17071 : : case REG:
17072 : : case SUBREG:
17073 : : case MEM:
17074 : : case NOT:
17075 : : switch (pattern520 (x2))
17076 : : {
17077 : : case 0:
17078 : : if (!(
17079 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17080 : : ((64 == 64 || TARGET_AVX512VL
17081 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17082 : : && ix86_pre_reload_split ()
17083 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17084 : : STRIP_UNARY (operands[4]))
17085 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17086 : : STRIP_UNARY (operands[4]))
17087 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17088 : : STRIP_UNARY (operands[3]))
17089 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17090 : : STRIP_UNARY (operands[3])))) &&
17091 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17092 : : (TARGET_AVX512F)))
17093 : : return -1;
17094 : : return 5473; /* *avx512bw_vpternlogv64qi_1 */
17095 : :
17096 : : case 1:
17097 : : if (!(
17098 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17099 : : ((32 == 64 || TARGET_AVX512VL
17100 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17101 : : && ix86_pre_reload_split ()
17102 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17103 : : STRIP_UNARY (operands[4]))
17104 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17105 : : STRIP_UNARY (operands[4]))
17106 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17107 : : STRIP_UNARY (operands[3]))
17108 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17109 : : STRIP_UNARY (operands[3])))) &&
17110 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17111 : : (TARGET_AVX)))
17112 : : return -1;
17113 : : return 5500; /* *avx512vl_vpternlogv32qi_1 */
17114 : :
17115 : : case 2:
17116 : : if (!
17117 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17118 : : ((16 == 64 || TARGET_AVX512VL
17119 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17120 : : && ix86_pre_reload_split ()
17121 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17122 : : STRIP_UNARY (operands[4]))
17123 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17124 : : STRIP_UNARY (operands[4]))
17125 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17126 : : STRIP_UNARY (operands[3]))
17127 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17128 : : STRIP_UNARY (operands[3])))))
17129 : : return -1;
17130 : : return 5527; /* *avx512vl_vpternlogv16qi_1 */
17131 : :
17132 : : case 3:
17133 : : if (!(
17134 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17135 : : ((64 == 64 || TARGET_AVX512VL
17136 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17137 : : && ix86_pre_reload_split ()
17138 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17139 : : STRIP_UNARY (operands[4]))
17140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17141 : : STRIP_UNARY (operands[4]))
17142 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17143 : : STRIP_UNARY (operands[3]))
17144 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17145 : : STRIP_UNARY (operands[3])))) &&
17146 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17147 : : (TARGET_AVX512F)))
17148 : : return -1;
17149 : : return 5554; /* *avx512bw_vpternlogv32hi_1 */
17150 : :
17151 : : case 4:
17152 : : if (!(
17153 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17154 : : ((32 == 64 || TARGET_AVX512VL
17155 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17156 : : && ix86_pre_reload_split ()
17157 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17158 : : STRIP_UNARY (operands[4]))
17159 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17160 : : STRIP_UNARY (operands[4]))
17161 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17162 : : STRIP_UNARY (operands[3]))
17163 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17164 : : STRIP_UNARY (operands[3])))) &&
17165 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17166 : : (TARGET_AVX)))
17167 : : return -1;
17168 : : return 5581; /* *avx512vl_vpternlogv16hi_1 */
17169 : :
17170 : : case 5:
17171 : : if (!
17172 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17173 : : ((16 == 64 || TARGET_AVX512VL
17174 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17175 : : && ix86_pre_reload_split ()
17176 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17177 : : STRIP_UNARY (operands[4]))
17178 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17179 : : STRIP_UNARY (operands[4]))
17180 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17181 : : STRIP_UNARY (operands[3]))
17182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17183 : : STRIP_UNARY (operands[3])))))
17184 : : return -1;
17185 : : return 5608; /* *avx512vl_vpternlogv8hi_1 */
17186 : :
17187 : : case 6:
17188 : : if (!(
17189 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17190 : : ((64 == 64 || TARGET_AVX512VL
17191 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17192 : : && ix86_pre_reload_split ()
17193 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17194 : : STRIP_UNARY (operands[4]))
17195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17196 : : STRIP_UNARY (operands[4]))
17197 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17198 : : STRIP_UNARY (operands[3]))
17199 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17200 : : STRIP_UNARY (operands[3])))) &&
17201 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17202 : : (TARGET_AVX512F)))
17203 : : return -1;
17204 : : return 5635; /* *avx512f_vpternlogv16si_1 */
17205 : :
17206 : : case 7:
17207 : : if (!(
17208 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17209 : : ((32 == 64 || TARGET_AVX512VL
17210 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17211 : : && ix86_pre_reload_split ()
17212 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17213 : : STRIP_UNARY (operands[4]))
17214 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17215 : : STRIP_UNARY (operands[4]))
17216 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17217 : : STRIP_UNARY (operands[3]))
17218 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17219 : : STRIP_UNARY (operands[3])))) &&
17220 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17221 : : (TARGET_AVX)))
17222 : : return -1;
17223 : : return 5662; /* *avx512vl_vpternlogv8si_1 */
17224 : :
17225 : : case 8:
17226 : : if (!
17227 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17228 : : ((16 == 64 || TARGET_AVX512VL
17229 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17230 : : && ix86_pre_reload_split ()
17231 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17232 : : STRIP_UNARY (operands[4]))
17233 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17234 : : STRIP_UNARY (operands[4]))
17235 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17236 : : STRIP_UNARY (operands[3]))
17237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17238 : : STRIP_UNARY (operands[3])))))
17239 : : return -1;
17240 : : return 5689; /* *avx512vl_vpternlogv4si_1 */
17241 : :
17242 : : case 9:
17243 : : if (!(
17244 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17245 : : ((64 == 64 || TARGET_AVX512VL
17246 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17247 : : && ix86_pre_reload_split ()
17248 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17249 : : STRIP_UNARY (operands[4]))
17250 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17251 : : STRIP_UNARY (operands[4]))
17252 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17253 : : STRIP_UNARY (operands[3]))
17254 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17255 : : STRIP_UNARY (operands[3])))) &&
17256 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17257 : : (TARGET_AVX512F)))
17258 : : return -1;
17259 : : return 5716; /* *avx512f_vpternlogv8di_1 */
17260 : :
17261 : : case 10:
17262 : : if (!(
17263 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17264 : : ((32 == 64 || TARGET_AVX512VL
17265 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17266 : : && ix86_pre_reload_split ()
17267 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17268 : : STRIP_UNARY (operands[4]))
17269 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17270 : : STRIP_UNARY (operands[4]))
17271 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17272 : : STRIP_UNARY (operands[3]))
17273 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17274 : : STRIP_UNARY (operands[3])))) &&
17275 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17276 : : (TARGET_AVX)))
17277 : : return -1;
17278 : : return 5743; /* *avx512vl_vpternlogv4di_1 */
17279 : :
17280 : : case 11:
17281 : : if (!
17282 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17283 : : ((16 == 64 || TARGET_AVX512VL
17284 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17285 : : && ix86_pre_reload_split ()
17286 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17287 : : STRIP_UNARY (operands[4]))
17288 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17289 : : STRIP_UNARY (operands[4]))
17290 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17291 : : STRIP_UNARY (operands[3]))
17292 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17293 : : STRIP_UNARY (operands[3])))))
17294 : : return -1;
17295 : : return 5770; /* *avx512vl_vpternlogv2di_1 */
17296 : :
17297 : : case 12:
17298 : : if (!(
17299 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17300 : : ((64 == 64 || TARGET_AVX512VL
17301 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17302 : : && ix86_pre_reload_split ()
17303 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17304 : : STRIP_UNARY (operands[4]))
17305 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17306 : : STRIP_UNARY (operands[4]))
17307 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17308 : : STRIP_UNARY (operands[3]))
17309 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17310 : : STRIP_UNARY (operands[3])))) &&
17311 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17312 : : (TARGET_AVX512F)))
17313 : : return -1;
17314 : : return 5476; /* *avx512bw_vpternlogv64qi_1 */
17315 : :
17316 : : case 13:
17317 : : if (!(
17318 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17319 : : ((32 == 64 || TARGET_AVX512VL
17320 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17321 : : && ix86_pre_reload_split ()
17322 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17323 : : STRIP_UNARY (operands[4]))
17324 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17325 : : STRIP_UNARY (operands[4]))
17326 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17327 : : STRIP_UNARY (operands[3]))
17328 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17329 : : STRIP_UNARY (operands[3])))) &&
17330 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17331 : : (TARGET_AVX)))
17332 : : return -1;
17333 : : return 5503; /* *avx512vl_vpternlogv32qi_1 */
17334 : :
17335 : : case 14:
17336 : : if (!
17337 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17338 : : ((16 == 64 || TARGET_AVX512VL
17339 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17340 : : && ix86_pre_reload_split ()
17341 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17342 : : STRIP_UNARY (operands[4]))
17343 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17344 : : STRIP_UNARY (operands[4]))
17345 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17346 : : STRIP_UNARY (operands[3]))
17347 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17348 : : STRIP_UNARY (operands[3])))))
17349 : : return -1;
17350 : : return 5530; /* *avx512vl_vpternlogv16qi_1 */
17351 : :
17352 : : case 15:
17353 : : if (!(
17354 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17355 : : ((64 == 64 || TARGET_AVX512VL
17356 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17357 : : && ix86_pre_reload_split ()
17358 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17359 : : STRIP_UNARY (operands[4]))
17360 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17361 : : STRIP_UNARY (operands[4]))
17362 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17363 : : STRIP_UNARY (operands[3]))
17364 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17365 : : STRIP_UNARY (operands[3])))) &&
17366 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17367 : : (TARGET_AVX512F)))
17368 : : return -1;
17369 : : return 5557; /* *avx512bw_vpternlogv32hi_1 */
17370 : :
17371 : : case 16:
17372 : : if (!(
17373 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17374 : : ((32 == 64 || TARGET_AVX512VL
17375 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17376 : : && ix86_pre_reload_split ()
17377 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17378 : : STRIP_UNARY (operands[4]))
17379 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17380 : : STRIP_UNARY (operands[4]))
17381 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17382 : : STRIP_UNARY (operands[3]))
17383 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17384 : : STRIP_UNARY (operands[3])))) &&
17385 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17386 : : (TARGET_AVX)))
17387 : : return -1;
17388 : : return 5584; /* *avx512vl_vpternlogv16hi_1 */
17389 : :
17390 : : case 17:
17391 : : if (!
17392 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17393 : : ((16 == 64 || TARGET_AVX512VL
17394 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17395 : : && ix86_pre_reload_split ()
17396 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17397 : : STRIP_UNARY (operands[4]))
17398 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17399 : : STRIP_UNARY (operands[4]))
17400 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17401 : : STRIP_UNARY (operands[3]))
17402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17403 : : STRIP_UNARY (operands[3])))))
17404 : : return -1;
17405 : : return 5611; /* *avx512vl_vpternlogv8hi_1 */
17406 : :
17407 : : case 18:
17408 : : if (!(
17409 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17410 : : ((64 == 64 || TARGET_AVX512VL
17411 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17412 : : && ix86_pre_reload_split ()
17413 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17414 : : STRIP_UNARY (operands[4]))
17415 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17416 : : STRIP_UNARY (operands[4]))
17417 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17418 : : STRIP_UNARY (operands[3]))
17419 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17420 : : STRIP_UNARY (operands[3])))) &&
17421 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17422 : : (TARGET_AVX512F)))
17423 : : return -1;
17424 : : return 5638; /* *avx512f_vpternlogv16si_1 */
17425 : :
17426 : : case 19:
17427 : : if (!(
17428 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17429 : : ((32 == 64 || TARGET_AVX512VL
17430 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17431 : : && ix86_pre_reload_split ()
17432 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17433 : : STRIP_UNARY (operands[4]))
17434 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17435 : : STRIP_UNARY (operands[4]))
17436 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17437 : : STRIP_UNARY (operands[3]))
17438 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17439 : : STRIP_UNARY (operands[3])))) &&
17440 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17441 : : (TARGET_AVX)))
17442 : : return -1;
17443 : : return 5665; /* *avx512vl_vpternlogv8si_1 */
17444 : :
17445 : : case 20:
17446 : : if (!
17447 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17448 : : ((16 == 64 || TARGET_AVX512VL
17449 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17450 : : && ix86_pre_reload_split ()
17451 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17452 : : STRIP_UNARY (operands[4]))
17453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17454 : : STRIP_UNARY (operands[4]))
17455 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17456 : : STRIP_UNARY (operands[3]))
17457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17458 : : STRIP_UNARY (operands[3])))))
17459 : : return -1;
17460 : : return 5692; /* *avx512vl_vpternlogv4si_1 */
17461 : :
17462 : : case 21:
17463 : : if (!(
17464 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17465 : : ((64 == 64 || TARGET_AVX512VL
17466 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17467 : : && ix86_pre_reload_split ()
17468 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17469 : : STRIP_UNARY (operands[4]))
17470 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17471 : : STRIP_UNARY (operands[4]))
17472 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17473 : : STRIP_UNARY (operands[3]))
17474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17475 : : STRIP_UNARY (operands[3])))) &&
17476 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17477 : : (TARGET_AVX512F)))
17478 : : return -1;
17479 : : return 5719; /* *avx512f_vpternlogv8di_1 */
17480 : :
17481 : : case 22:
17482 : : if (!(
17483 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17484 : : ((32 == 64 || TARGET_AVX512VL
17485 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17486 : : && ix86_pre_reload_split ()
17487 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17488 : : STRIP_UNARY (operands[4]))
17489 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17490 : : STRIP_UNARY (operands[4]))
17491 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17492 : : STRIP_UNARY (operands[3]))
17493 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17494 : : STRIP_UNARY (operands[3])))) &&
17495 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17496 : : (TARGET_AVX)))
17497 : : return -1;
17498 : : return 5746; /* *avx512vl_vpternlogv4di_1 */
17499 : :
17500 : : case 23:
17501 : : if (!
17502 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17503 : : ((16 == 64 || TARGET_AVX512VL
17504 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17505 : : && ix86_pre_reload_split ()
17506 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17507 : : STRIP_UNARY (operands[4]))
17508 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17509 : : STRIP_UNARY (operands[4]))
17510 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17511 : : STRIP_UNARY (operands[3]))
17512 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17513 : : STRIP_UNARY (operands[3])))))
17514 : : return -1;
17515 : : return 5773; /* *avx512vl_vpternlogv2di_1 */
17516 : :
17517 : : case 24:
17518 : : if (!(
17519 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17520 : : ((64 == 64 || TARGET_AVX512VL
17521 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17522 : : && ix86_pre_reload_split ()
17523 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17524 : : STRIP_UNARY (operands[4]))
17525 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17526 : : STRIP_UNARY (operands[4]))
17527 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17528 : : STRIP_UNARY (operands[3]))
17529 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17530 : : STRIP_UNARY (operands[3])))) &&
17531 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17532 : : (TARGET_AVX512F)))
17533 : : return -1;
17534 : : return 5479; /* *avx512bw_vpternlogv64qi_1 */
17535 : :
17536 : : case 25:
17537 : : if (!(
17538 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17539 : : ((32 == 64 || TARGET_AVX512VL
17540 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17541 : : && ix86_pre_reload_split ()
17542 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17543 : : STRIP_UNARY (operands[4]))
17544 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17545 : : STRIP_UNARY (operands[4]))
17546 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17547 : : STRIP_UNARY (operands[3]))
17548 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17549 : : STRIP_UNARY (operands[3])))) &&
17550 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17551 : : (TARGET_AVX)))
17552 : : return -1;
17553 : : return 5506; /* *avx512vl_vpternlogv32qi_1 */
17554 : :
17555 : : case 26:
17556 : : if (!
17557 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17558 : : ((16 == 64 || TARGET_AVX512VL
17559 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17560 : : && ix86_pre_reload_split ()
17561 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17562 : : STRIP_UNARY (operands[4]))
17563 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17564 : : STRIP_UNARY (operands[4]))
17565 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17566 : : STRIP_UNARY (operands[3]))
17567 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17568 : : STRIP_UNARY (operands[3])))))
17569 : : return -1;
17570 : : return 5533; /* *avx512vl_vpternlogv16qi_1 */
17571 : :
17572 : : case 27:
17573 : : if (!(
17574 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17575 : : ((64 == 64 || TARGET_AVX512VL
17576 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17577 : : && ix86_pre_reload_split ()
17578 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17579 : : STRIP_UNARY (operands[4]))
17580 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17581 : : STRIP_UNARY (operands[4]))
17582 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17583 : : STRIP_UNARY (operands[3]))
17584 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17585 : : STRIP_UNARY (operands[3])))) &&
17586 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17587 : : (TARGET_AVX512F)))
17588 : : return -1;
17589 : : return 5560; /* *avx512bw_vpternlogv32hi_1 */
17590 : :
17591 : : case 28:
17592 : : if (!(
17593 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17594 : : ((32 == 64 || TARGET_AVX512VL
17595 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17596 : : && ix86_pre_reload_split ()
17597 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17598 : : STRIP_UNARY (operands[4]))
17599 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17600 : : STRIP_UNARY (operands[4]))
17601 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17602 : : STRIP_UNARY (operands[3]))
17603 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17604 : : STRIP_UNARY (operands[3])))) &&
17605 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17606 : : (TARGET_AVX)))
17607 : : return -1;
17608 : : return 5587; /* *avx512vl_vpternlogv16hi_1 */
17609 : :
17610 : : case 29:
17611 : : if (!
17612 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17613 : : ((16 == 64 || TARGET_AVX512VL
17614 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17615 : : && ix86_pre_reload_split ()
17616 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17617 : : STRIP_UNARY (operands[4]))
17618 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17619 : : STRIP_UNARY (operands[4]))
17620 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17621 : : STRIP_UNARY (operands[3]))
17622 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17623 : : STRIP_UNARY (operands[3])))))
17624 : : return -1;
17625 : : return 5614; /* *avx512vl_vpternlogv8hi_1 */
17626 : :
17627 : : case 30:
17628 : : if (!(
17629 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17630 : : ((64 == 64 || TARGET_AVX512VL
17631 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17632 : : && ix86_pre_reload_split ()
17633 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17634 : : STRIP_UNARY (operands[4]))
17635 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17636 : : STRIP_UNARY (operands[4]))
17637 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17638 : : STRIP_UNARY (operands[3]))
17639 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17640 : : STRIP_UNARY (operands[3])))) &&
17641 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17642 : : (TARGET_AVX512F)))
17643 : : return -1;
17644 : : return 5641; /* *avx512f_vpternlogv16si_1 */
17645 : :
17646 : : case 31:
17647 : : if (!(
17648 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17649 : : ((32 == 64 || TARGET_AVX512VL
17650 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17651 : : && ix86_pre_reload_split ()
17652 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17653 : : STRIP_UNARY (operands[4]))
17654 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17655 : : STRIP_UNARY (operands[4]))
17656 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17657 : : STRIP_UNARY (operands[3]))
17658 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17659 : : STRIP_UNARY (operands[3])))) &&
17660 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17661 : : (TARGET_AVX)))
17662 : : return -1;
17663 : : return 5668; /* *avx512vl_vpternlogv8si_1 */
17664 : :
17665 : : case 32:
17666 : : if (!
17667 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17668 : : ((16 == 64 || TARGET_AVX512VL
17669 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17670 : : && ix86_pre_reload_split ()
17671 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17672 : : STRIP_UNARY (operands[4]))
17673 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17674 : : STRIP_UNARY (operands[4]))
17675 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17676 : : STRIP_UNARY (operands[3]))
17677 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17678 : : STRIP_UNARY (operands[3])))))
17679 : : return -1;
17680 : : return 5695; /* *avx512vl_vpternlogv4si_1 */
17681 : :
17682 : : case 33:
17683 : : if (!(
17684 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17685 : : ((64 == 64 || TARGET_AVX512VL
17686 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17687 : : && ix86_pre_reload_split ()
17688 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17689 : : STRIP_UNARY (operands[4]))
17690 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17691 : : STRIP_UNARY (operands[4]))
17692 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17693 : : STRIP_UNARY (operands[3]))
17694 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17695 : : STRIP_UNARY (operands[3])))) &&
17696 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17697 : : (TARGET_AVX512F)))
17698 : : return -1;
17699 : : return 5722; /* *avx512f_vpternlogv8di_1 */
17700 : :
17701 : : case 34:
17702 : : if (!(
17703 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17704 : : ((32 == 64 || TARGET_AVX512VL
17705 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17706 : : && ix86_pre_reload_split ()
17707 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17708 : : STRIP_UNARY (operands[4]))
17709 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17710 : : STRIP_UNARY (operands[4]))
17711 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17712 : : STRIP_UNARY (operands[3]))
17713 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17714 : : STRIP_UNARY (operands[3])))) &&
17715 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17716 : : (TARGET_AVX)))
17717 : : return -1;
17718 : : return 5749; /* *avx512vl_vpternlogv4di_1 */
17719 : :
17720 : : case 35:
17721 : : if (!
17722 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17723 : : ((16 == 64 || TARGET_AVX512VL
17724 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17725 : : && ix86_pre_reload_split ()
17726 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17727 : : STRIP_UNARY (operands[4]))
17728 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17729 : : STRIP_UNARY (operands[4]))
17730 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17731 : : STRIP_UNARY (operands[3]))
17732 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17733 : : STRIP_UNARY (operands[3])))))
17734 : : return -1;
17735 : : return 5776; /* *avx512vl_vpternlogv2di_1 */
17736 : :
17737 : : case 36:
17738 : : if (!(
17739 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17740 : : ((64 == 64 || TARGET_AVX512VL
17741 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17742 : : && ix86_pre_reload_split ()) &&
17743 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17744 : : (TARGET_AVX512F)))
17745 : : return -1;
17746 : : return 6757; /* *avx512bw_vpternlogv64qi_3 */
17747 : :
17748 : : case 37:
17749 : : if (!(
17750 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17751 : : ((32 == 64 || TARGET_AVX512VL
17752 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17753 : : && ix86_pre_reload_split ()) &&
17754 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17755 : : (TARGET_AVX)))
17756 : : return -1;
17757 : : return 6766; /* *avx512vl_vpternlogv32qi_3 */
17758 : :
17759 : : case 38:
17760 : : if (!
17761 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17762 : : ((16 == 64 || TARGET_AVX512VL
17763 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17764 : : && ix86_pre_reload_split ()))
17765 : : return -1;
17766 : : return 6775; /* *avx512vl_vpternlogv16qi_3 */
17767 : :
17768 : : case 39:
17769 : : if (!(
17770 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17771 : : ((64 == 64 || TARGET_AVX512VL
17772 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17773 : : && ix86_pre_reload_split ()) &&
17774 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17775 : : (TARGET_AVX512F)))
17776 : : return -1;
17777 : : return 6784; /* *avx512bw_vpternlogv32hi_3 */
17778 : :
17779 : : case 40:
17780 : : if (!(
17781 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17782 : : ((32 == 64 || TARGET_AVX512VL
17783 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17784 : : && ix86_pre_reload_split ()) &&
17785 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17786 : : (TARGET_AVX)))
17787 : : return -1;
17788 : : return 6793; /* *avx512vl_vpternlogv16hi_3 */
17789 : :
17790 : : case 41:
17791 : : if (!
17792 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17793 : : ((16 == 64 || TARGET_AVX512VL
17794 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17795 : : && ix86_pre_reload_split ()))
17796 : : return -1;
17797 : : return 6802; /* *avx512vl_vpternlogv8hi_3 */
17798 : :
17799 : : case 42:
17800 : : if (!(
17801 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17802 : : ((64 == 64 || TARGET_AVX512VL
17803 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17804 : : && ix86_pre_reload_split ()) &&
17805 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17806 : : (TARGET_AVX512F)))
17807 : : return -1;
17808 : : return 6811; /* *avx512f_vpternlogv16si_3 */
17809 : :
17810 : : case 43:
17811 : : if (!(
17812 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17813 : : ((32 == 64 || TARGET_AVX512VL
17814 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17815 : : && ix86_pre_reload_split ()) &&
17816 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17817 : : (TARGET_AVX)))
17818 : : return -1;
17819 : : return 6820; /* *avx512vl_vpternlogv8si_3 */
17820 : :
17821 : : case 44:
17822 : : if (!
17823 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17824 : : ((16 == 64 || TARGET_AVX512VL
17825 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17826 : : && ix86_pre_reload_split ()))
17827 : : return -1;
17828 : : return 6829; /* *avx512vl_vpternlogv4si_3 */
17829 : :
17830 : : case 45:
17831 : : if (!(
17832 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17833 : : ((64 == 64 || TARGET_AVX512VL
17834 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17835 : : && ix86_pre_reload_split ()) &&
17836 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17837 : : (TARGET_AVX512F)))
17838 : : return -1;
17839 : : return 6838; /* *avx512f_vpternlogv8di_3 */
17840 : :
17841 : : case 46:
17842 : : if (!(
17843 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17844 : : ((32 == 64 || TARGET_AVX512VL
17845 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17846 : : && ix86_pre_reload_split ()) &&
17847 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17848 : : (TARGET_AVX)))
17849 : : return -1;
17850 : : return 6847; /* *avx512vl_vpternlogv4di_3 */
17851 : :
17852 : : case 47:
17853 : : if (!
17854 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17855 : : ((16 == 64 || TARGET_AVX512VL
17856 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17857 : : && ix86_pre_reload_split ()))
17858 : : return -1;
17859 : : return 6856; /* *avx512vl_vpternlogv2di_3 */
17860 : :
17861 : : default:
17862 : : return -1;
17863 : : }
17864 : :
17865 : : case AND:
17866 : : switch (pattern522 (x2))
17867 : : {
17868 : : case 0:
17869 : : if (!(
17870 : : #line 13894 "/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 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17883 : : (TARGET_AVX512F)))
17884 : : return -1;
17885 : : return 6121; /* *avx512bw_vpternlogv64qi_2 */
17886 : :
17887 : : case 1:
17888 : : if (!(
17889 : : #line 13894 "/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 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17902 : : (TARGET_AVX)))
17903 : : return -1;
17904 : : return 6148; /* *avx512vl_vpternlogv32qi_2 */
17905 : :
17906 : : case 2:
17907 : : if (!
17908 : : #line 13894 "/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 6175; /* *avx512vl_vpternlogv16qi_2 */
17922 : :
17923 : : case 3:
17924 : : if (!(
17925 : : #line 13894 "/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 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17938 : : (TARGET_AVX512F)))
17939 : : return -1;
17940 : : return 6202; /* *avx512bw_vpternlogv32hi_2 */
17941 : :
17942 : : case 4:
17943 : : if (!(
17944 : : #line 13894 "/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 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17957 : : (TARGET_AVX)))
17958 : : return -1;
17959 : : return 6229; /* *avx512vl_vpternlogv16hi_2 */
17960 : :
17961 : : case 5:
17962 : : if (!
17963 : : #line 13894 "/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 6256; /* *avx512vl_vpternlogv8hi_2 */
17977 : :
17978 : : case 6:
17979 : : if (!(
17980 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17981 : : ((64 == 64 || TARGET_AVX512VL
17982 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17983 : : && ix86_pre_reload_split ()
17984 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17985 : : STRIP_UNARY (operands[4]))
17986 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17987 : : STRIP_UNARY (operands[4]))
17988 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17989 : : STRIP_UNARY (operands[3]))
17990 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17991 : : STRIP_UNARY (operands[3])))) &&
17992 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17993 : : (TARGET_AVX512F)))
17994 : : return -1;
17995 : : return 6283; /* *avx512f_vpternlogv16si_2 */
17996 : :
17997 : : case 7:
17998 : : if (!(
17999 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18000 : : ((32 == 64 || TARGET_AVX512VL
18001 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18002 : : && ix86_pre_reload_split ()
18003 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18004 : : STRIP_UNARY (operands[4]))
18005 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18006 : : STRIP_UNARY (operands[4]))
18007 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18008 : : STRIP_UNARY (operands[3]))
18009 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18010 : : STRIP_UNARY (operands[3])))) &&
18011 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18012 : : (TARGET_AVX)))
18013 : : return -1;
18014 : : return 6310; /* *avx512vl_vpternlogv8si_2 */
18015 : :
18016 : : case 8:
18017 : : if (!
18018 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18019 : : ((16 == 64 || TARGET_AVX512VL
18020 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18021 : : && ix86_pre_reload_split ()
18022 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18023 : : STRIP_UNARY (operands[4]))
18024 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18025 : : STRIP_UNARY (operands[4]))
18026 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18027 : : STRIP_UNARY (operands[3]))
18028 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18029 : : STRIP_UNARY (operands[3])))))
18030 : : return -1;
18031 : : return 6337; /* *avx512vl_vpternlogv4si_2 */
18032 : :
18033 : : case 9:
18034 : : if (!(
18035 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18036 : : ((64 == 64 || TARGET_AVX512VL
18037 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18038 : : && ix86_pre_reload_split ()
18039 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18040 : : STRIP_UNARY (operands[4]))
18041 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18042 : : STRIP_UNARY (operands[4]))
18043 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18044 : : STRIP_UNARY (operands[3]))
18045 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18046 : : STRIP_UNARY (operands[3])))) &&
18047 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18048 : : (TARGET_AVX512F)))
18049 : : return -1;
18050 : : return 6364; /* *avx512f_vpternlogv8di_2 */
18051 : :
18052 : : case 10:
18053 : : if (!(
18054 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18055 : : ((32 == 64 || TARGET_AVX512VL
18056 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18057 : : && ix86_pre_reload_split ()
18058 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18059 : : STRIP_UNARY (operands[4]))
18060 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18061 : : STRIP_UNARY (operands[4]))
18062 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18063 : : STRIP_UNARY (operands[3]))
18064 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18065 : : STRIP_UNARY (operands[3])))) &&
18066 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18067 : : (TARGET_AVX)))
18068 : : return -1;
18069 : : return 6391; /* *avx512vl_vpternlogv4di_2 */
18070 : :
18071 : : case 11:
18072 : : if (!
18073 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18074 : : ((16 == 64 || TARGET_AVX512VL
18075 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18076 : : && ix86_pre_reload_split ()
18077 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18078 : : STRIP_UNARY (operands[4]))
18079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18080 : : STRIP_UNARY (operands[4]))
18081 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18082 : : STRIP_UNARY (operands[3]))
18083 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18084 : : STRIP_UNARY (operands[3])))))
18085 : : return -1;
18086 : : return 6418; /* *avx512vl_vpternlogv2di_2 */
18087 : :
18088 : : default:
18089 : : return -1;
18090 : : }
18091 : :
18092 : : case IOR:
18093 : : switch (pattern522 (x2))
18094 : : {
18095 : : case 0:
18096 : : if (!(
18097 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18098 : : ((64 == 64 || TARGET_AVX512VL
18099 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18100 : : && ix86_pre_reload_split ()
18101 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18102 : : STRIP_UNARY (operands[4]))
18103 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18104 : : STRIP_UNARY (operands[4]))
18105 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18106 : : STRIP_UNARY (operands[3]))
18107 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18108 : : STRIP_UNARY (operands[3])))) &&
18109 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18110 : : (TARGET_AVX512F)))
18111 : : return -1;
18112 : : return 6124; /* *avx512bw_vpternlogv64qi_2 */
18113 : :
18114 : : case 1:
18115 : : if (!(
18116 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18117 : : ((32 == 64 || TARGET_AVX512VL
18118 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18119 : : && ix86_pre_reload_split ()
18120 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18121 : : STRIP_UNARY (operands[4]))
18122 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18123 : : STRIP_UNARY (operands[4]))
18124 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18125 : : STRIP_UNARY (operands[3]))
18126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18127 : : STRIP_UNARY (operands[3])))) &&
18128 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18129 : : (TARGET_AVX)))
18130 : : return -1;
18131 : : return 6151; /* *avx512vl_vpternlogv32qi_2 */
18132 : :
18133 : : case 2:
18134 : : if (!
18135 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18136 : : ((16 == 64 || TARGET_AVX512VL
18137 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18138 : : && ix86_pre_reload_split ()
18139 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18140 : : STRIP_UNARY (operands[4]))
18141 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18142 : : STRIP_UNARY (operands[4]))
18143 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18144 : : STRIP_UNARY (operands[3]))
18145 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18146 : : STRIP_UNARY (operands[3])))))
18147 : : return -1;
18148 : : return 6178; /* *avx512vl_vpternlogv16qi_2 */
18149 : :
18150 : : case 3:
18151 : : if (!(
18152 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18153 : : ((64 == 64 || TARGET_AVX512VL
18154 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18155 : : && ix86_pre_reload_split ()
18156 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18157 : : STRIP_UNARY (operands[4]))
18158 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18159 : : STRIP_UNARY (operands[4]))
18160 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18161 : : STRIP_UNARY (operands[3]))
18162 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18163 : : STRIP_UNARY (operands[3])))) &&
18164 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18165 : : (TARGET_AVX512F)))
18166 : : return -1;
18167 : : return 6205; /* *avx512bw_vpternlogv32hi_2 */
18168 : :
18169 : : case 4:
18170 : : if (!(
18171 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18172 : : ((32 == 64 || TARGET_AVX512VL
18173 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18174 : : && ix86_pre_reload_split ()
18175 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18176 : : STRIP_UNARY (operands[4]))
18177 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18178 : : STRIP_UNARY (operands[4]))
18179 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18180 : : STRIP_UNARY (operands[3]))
18181 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18182 : : STRIP_UNARY (operands[3])))) &&
18183 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18184 : : (TARGET_AVX)))
18185 : : return -1;
18186 : : return 6232; /* *avx512vl_vpternlogv16hi_2 */
18187 : :
18188 : : case 5:
18189 : : if (!
18190 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18191 : : ((16 == 64 || TARGET_AVX512VL
18192 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18193 : : && ix86_pre_reload_split ()
18194 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18195 : : STRIP_UNARY (operands[4]))
18196 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18197 : : STRIP_UNARY (operands[4]))
18198 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18199 : : STRIP_UNARY (operands[3]))
18200 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18201 : : STRIP_UNARY (operands[3])))))
18202 : : return -1;
18203 : : return 6259; /* *avx512vl_vpternlogv8hi_2 */
18204 : :
18205 : : case 6:
18206 : : if (!(
18207 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18208 : : ((64 == 64 || TARGET_AVX512VL
18209 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18210 : : && ix86_pre_reload_split ()
18211 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18212 : : STRIP_UNARY (operands[4]))
18213 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18214 : : STRIP_UNARY (operands[4]))
18215 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18216 : : STRIP_UNARY (operands[3]))
18217 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18218 : : STRIP_UNARY (operands[3])))) &&
18219 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18220 : : (TARGET_AVX512F)))
18221 : : return -1;
18222 : : return 6286; /* *avx512f_vpternlogv16si_2 */
18223 : :
18224 : : case 7:
18225 : : if (!(
18226 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18227 : : ((32 == 64 || TARGET_AVX512VL
18228 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18229 : : && ix86_pre_reload_split ()
18230 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18231 : : STRIP_UNARY (operands[4]))
18232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18233 : : STRIP_UNARY (operands[4]))
18234 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18235 : : STRIP_UNARY (operands[3]))
18236 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18237 : : STRIP_UNARY (operands[3])))) &&
18238 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18239 : : (TARGET_AVX)))
18240 : : return -1;
18241 : : return 6313; /* *avx512vl_vpternlogv8si_2 */
18242 : :
18243 : : case 8:
18244 : : if (!
18245 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18246 : : ((16 == 64 || TARGET_AVX512VL
18247 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18248 : : && ix86_pre_reload_split ()
18249 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18250 : : STRIP_UNARY (operands[4]))
18251 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18252 : : STRIP_UNARY (operands[4]))
18253 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18254 : : STRIP_UNARY (operands[3]))
18255 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18256 : : STRIP_UNARY (operands[3])))))
18257 : : return -1;
18258 : : return 6340; /* *avx512vl_vpternlogv4si_2 */
18259 : :
18260 : : case 9:
18261 : : if (!(
18262 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18263 : : ((64 == 64 || TARGET_AVX512VL
18264 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18265 : : && ix86_pre_reload_split ()
18266 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18267 : : STRIP_UNARY (operands[4]))
18268 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18269 : : STRIP_UNARY (operands[4]))
18270 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18271 : : STRIP_UNARY (operands[3]))
18272 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18273 : : STRIP_UNARY (operands[3])))) &&
18274 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18275 : : (TARGET_AVX512F)))
18276 : : return -1;
18277 : : return 6367; /* *avx512f_vpternlogv8di_2 */
18278 : :
18279 : : case 10:
18280 : : if (!(
18281 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18282 : : ((32 == 64 || TARGET_AVX512VL
18283 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18284 : : && ix86_pre_reload_split ()
18285 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18286 : : STRIP_UNARY (operands[4]))
18287 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18288 : : STRIP_UNARY (operands[4]))
18289 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18290 : : STRIP_UNARY (operands[3]))
18291 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18292 : : STRIP_UNARY (operands[3])))) &&
18293 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18294 : : (TARGET_AVX)))
18295 : : return -1;
18296 : : return 6394; /* *avx512vl_vpternlogv4di_2 */
18297 : :
18298 : : case 11:
18299 : : if (!
18300 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18301 : : ((16 == 64 || TARGET_AVX512VL
18302 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18303 : : && ix86_pre_reload_split ()
18304 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18305 : : STRIP_UNARY (operands[4]))
18306 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18307 : : STRIP_UNARY (operands[4]))
18308 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18309 : : STRIP_UNARY (operands[3]))
18310 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18311 : : STRIP_UNARY (operands[3])))))
18312 : : return -1;
18313 : : return 6421; /* *avx512vl_vpternlogv2di_2 */
18314 : :
18315 : : default:
18316 : : return -1;
18317 : : }
18318 : :
18319 : : case XOR:
18320 : : switch (pattern522 (x2))
18321 : : {
18322 : : case 0:
18323 : : if (!(
18324 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18325 : : ((64 == 64 || TARGET_AVX512VL
18326 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18327 : : && ix86_pre_reload_split ()
18328 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18329 : : STRIP_UNARY (operands[4]))
18330 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18331 : : STRIP_UNARY (operands[4]))
18332 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18333 : : STRIP_UNARY (operands[3]))
18334 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18335 : : STRIP_UNARY (operands[3])))) &&
18336 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18337 : : (TARGET_AVX512F)))
18338 : : return -1;
18339 : : return 6127; /* *avx512bw_vpternlogv64qi_2 */
18340 : :
18341 : : case 1:
18342 : : if (!(
18343 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18344 : : ((32 == 64 || TARGET_AVX512VL
18345 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18346 : : && ix86_pre_reload_split ()
18347 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18348 : : STRIP_UNARY (operands[4]))
18349 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18350 : : STRIP_UNARY (operands[4]))
18351 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18352 : : STRIP_UNARY (operands[3]))
18353 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18354 : : STRIP_UNARY (operands[3])))) &&
18355 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18356 : : (TARGET_AVX)))
18357 : : return -1;
18358 : : return 6154; /* *avx512vl_vpternlogv32qi_2 */
18359 : :
18360 : : case 2:
18361 : : if (!
18362 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18363 : : ((16 == 64 || TARGET_AVX512VL
18364 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18365 : : && ix86_pre_reload_split ()
18366 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18367 : : STRIP_UNARY (operands[4]))
18368 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18369 : : STRIP_UNARY (operands[4]))
18370 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18371 : : STRIP_UNARY (operands[3]))
18372 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18373 : : STRIP_UNARY (operands[3])))))
18374 : : return -1;
18375 : : return 6181; /* *avx512vl_vpternlogv16qi_2 */
18376 : :
18377 : : case 3:
18378 : : if (!(
18379 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18380 : : ((64 == 64 || TARGET_AVX512VL
18381 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18382 : : && ix86_pre_reload_split ()
18383 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18384 : : STRIP_UNARY (operands[4]))
18385 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18386 : : STRIP_UNARY (operands[4]))
18387 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18388 : : STRIP_UNARY (operands[3]))
18389 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18390 : : STRIP_UNARY (operands[3])))) &&
18391 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18392 : : (TARGET_AVX512F)))
18393 : : return -1;
18394 : : return 6208; /* *avx512bw_vpternlogv32hi_2 */
18395 : :
18396 : : case 4:
18397 : : if (!(
18398 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18399 : : ((32 == 64 || TARGET_AVX512VL
18400 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18401 : : && ix86_pre_reload_split ()
18402 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18403 : : STRIP_UNARY (operands[4]))
18404 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18405 : : STRIP_UNARY (operands[4]))
18406 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18407 : : STRIP_UNARY (operands[3]))
18408 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18409 : : STRIP_UNARY (operands[3])))) &&
18410 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18411 : : (TARGET_AVX)))
18412 : : return -1;
18413 : : return 6235; /* *avx512vl_vpternlogv16hi_2 */
18414 : :
18415 : : case 5:
18416 : : if (!
18417 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18418 : : ((16 == 64 || TARGET_AVX512VL
18419 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18420 : : && ix86_pre_reload_split ()
18421 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18422 : : STRIP_UNARY (operands[4]))
18423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18424 : : STRIP_UNARY (operands[4]))
18425 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18426 : : STRIP_UNARY (operands[3]))
18427 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18428 : : STRIP_UNARY (operands[3])))))
18429 : : return -1;
18430 : : return 6262; /* *avx512vl_vpternlogv8hi_2 */
18431 : :
18432 : : case 6:
18433 : : if (!(
18434 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18435 : : ((64 == 64 || TARGET_AVX512VL
18436 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18437 : : && ix86_pre_reload_split ()
18438 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18439 : : STRIP_UNARY (operands[4]))
18440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18441 : : STRIP_UNARY (operands[4]))
18442 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18443 : : STRIP_UNARY (operands[3]))
18444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18445 : : STRIP_UNARY (operands[3])))) &&
18446 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18447 : : (TARGET_AVX512F)))
18448 : : return -1;
18449 : : return 6289; /* *avx512f_vpternlogv16si_2 */
18450 : :
18451 : : case 7:
18452 : : if (!(
18453 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18454 : : ((32 == 64 || TARGET_AVX512VL
18455 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18456 : : && ix86_pre_reload_split ()
18457 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18458 : : STRIP_UNARY (operands[4]))
18459 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18460 : : STRIP_UNARY (operands[4]))
18461 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18462 : : STRIP_UNARY (operands[3]))
18463 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18464 : : STRIP_UNARY (operands[3])))) &&
18465 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18466 : : (TARGET_AVX)))
18467 : : return -1;
18468 : : return 6316; /* *avx512vl_vpternlogv8si_2 */
18469 : :
18470 : : case 8:
18471 : : if (!
18472 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18473 : : ((16 == 64 || TARGET_AVX512VL
18474 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18475 : : && ix86_pre_reload_split ()
18476 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18477 : : STRIP_UNARY (operands[4]))
18478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18479 : : STRIP_UNARY (operands[4]))
18480 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18481 : : STRIP_UNARY (operands[3]))
18482 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18483 : : STRIP_UNARY (operands[3])))))
18484 : : return -1;
18485 : : return 6343; /* *avx512vl_vpternlogv4si_2 */
18486 : :
18487 : : case 9:
18488 : : if (!(
18489 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18490 : : ((64 == 64 || TARGET_AVX512VL
18491 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18492 : : && ix86_pre_reload_split ()
18493 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18494 : : STRIP_UNARY (operands[4]))
18495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18496 : : STRIP_UNARY (operands[4]))
18497 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18498 : : STRIP_UNARY (operands[3]))
18499 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18500 : : STRIP_UNARY (operands[3])))) &&
18501 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18502 : : (TARGET_AVX512F)))
18503 : : return -1;
18504 : : return 6370; /* *avx512f_vpternlogv8di_2 */
18505 : :
18506 : : case 10:
18507 : : if (!(
18508 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18509 : : ((32 == 64 || TARGET_AVX512VL
18510 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18511 : : && ix86_pre_reload_split ()
18512 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18513 : : STRIP_UNARY (operands[4]))
18514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18515 : : STRIP_UNARY (operands[4]))
18516 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18517 : : STRIP_UNARY (operands[3]))
18518 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18519 : : STRIP_UNARY (operands[3])))) &&
18520 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18521 : : (TARGET_AVX)))
18522 : : return -1;
18523 : : return 6397; /* *avx512vl_vpternlogv4di_2 */
18524 : :
18525 : : case 11:
18526 : : if (!
18527 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18528 : : ((16 == 64 || TARGET_AVX512VL
18529 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18530 : : && ix86_pre_reload_split ()
18531 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18532 : : STRIP_UNARY (operands[4]))
18533 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18534 : : STRIP_UNARY (operands[4]))
18535 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18536 : : STRIP_UNARY (operands[3]))
18537 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18538 : : STRIP_UNARY (operands[3])))))
18539 : : return -1;
18540 : : return 6424; /* *avx512vl_vpternlogv2di_2 */
18541 : :
18542 : : default:
18543 : : return -1;
18544 : : }
18545 : :
18546 : : default:
18547 : : return -1;
18548 : : }
18549 : : }
18550 : :
18551 : : int
18552 : : recog_314 (rtx x1 ATTRIBUTE_UNUSED,
18553 : : rtx_insn *insn ATTRIBUTE_UNUSED,
18554 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
18555 : : {
18556 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18557 : : rtx x2, x3, x4;
18558 : : int res ATTRIBUTE_UNUSED;
18559 : : x2 = XEXP (x1, 1);
18560 : : x3 = XEXP (x2, 0);
18561 : : switch (GET_CODE (x3))
18562 : : {
18563 : : case AND:
18564 : : x4 = XEXP (x3, 0);
18565 : : switch (GET_CODE (x4))
18566 : : {
18567 : : case REG:
18568 : : case SUBREG:
18569 : : case MEM:
18570 : : case NOT:
18571 : : switch (pattern524 (x2))
18572 : : {
18573 : : case 0:
18574 : : if (!(
18575 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18576 : : ((64 == 64 || TARGET_AVX512VL
18577 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18578 : : && ix86_pre_reload_split ()
18579 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18580 : : STRIP_UNARY (operands[4]))
18581 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18582 : : STRIP_UNARY (operands[4]))
18583 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18584 : : STRIP_UNARY (operands[3]))
18585 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18586 : : STRIP_UNARY (operands[3])))) &&
18587 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18588 : : (TARGET_AVX512F)))
18589 : : return -1;
18590 : : return 5779; /* *avx512bw_vpternlogv32hf_1 */
18591 : :
18592 : : case 1:
18593 : : if (!(
18594 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18595 : : ((32 == 64 || TARGET_AVX512VL
18596 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18597 : : && ix86_pre_reload_split ()
18598 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18599 : : STRIP_UNARY (operands[4]))
18600 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18601 : : STRIP_UNARY (operands[4]))
18602 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18603 : : STRIP_UNARY (operands[3]))
18604 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18605 : : STRIP_UNARY (operands[3])))) &&
18606 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18607 : : (TARGET_AVX)))
18608 : : return -1;
18609 : : return 5806; /* *avx512vl_vpternlogv16hf_1 */
18610 : :
18611 : : case 2:
18612 : : if (!
18613 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18614 : : ((16 == 64 || TARGET_AVX512VL
18615 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18616 : : && ix86_pre_reload_split ()
18617 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18618 : : STRIP_UNARY (operands[4]))
18619 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18620 : : STRIP_UNARY (operands[4]))
18621 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18622 : : STRIP_UNARY (operands[3]))
18623 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18624 : : STRIP_UNARY (operands[3])))))
18625 : : return -1;
18626 : : return 5833; /* *avx512fp16_vpternlogv8hf_1 */
18627 : :
18628 : : case 3:
18629 : : if (!(
18630 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18631 : : ((64 == 64 || TARGET_AVX512VL
18632 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18633 : : && ix86_pre_reload_split ()
18634 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18635 : : STRIP_UNARY (operands[4]))
18636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18637 : : STRIP_UNARY (operands[4]))
18638 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18639 : : STRIP_UNARY (operands[3]))
18640 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18641 : : STRIP_UNARY (operands[3])))) &&
18642 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18643 : : (TARGET_AVX512F)))
18644 : : return -1;
18645 : : return 5860; /* *avx512bw_vpternlogv32bf_1 */
18646 : :
18647 : : case 4:
18648 : : if (!(
18649 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18650 : : ((32 == 64 || TARGET_AVX512VL
18651 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18652 : : && ix86_pre_reload_split ()
18653 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18654 : : STRIP_UNARY (operands[4]))
18655 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18656 : : STRIP_UNARY (operands[4]))
18657 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18658 : : STRIP_UNARY (operands[3]))
18659 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18660 : : STRIP_UNARY (operands[3])))) &&
18661 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18662 : : (TARGET_AVX)))
18663 : : return -1;
18664 : : return 5887; /* *avx512vl_vpternlogv16bf_1 */
18665 : :
18666 : : case 5:
18667 : : if (!
18668 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18669 : : ((16 == 64 || TARGET_AVX512VL
18670 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18671 : : && ix86_pre_reload_split ()
18672 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18673 : : STRIP_UNARY (operands[4]))
18674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18675 : : STRIP_UNARY (operands[4]))
18676 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18677 : : STRIP_UNARY (operands[3]))
18678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18679 : : STRIP_UNARY (operands[3])))))
18680 : : return -1;
18681 : : return 5914; /* *avx512vl_vpternlogv8bf_1 */
18682 : :
18683 : : case 6:
18684 : : if (!(
18685 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18686 : : ((64 == 64 || TARGET_AVX512VL
18687 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18688 : : && ix86_pre_reload_split ()
18689 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18690 : : STRIP_UNARY (operands[4]))
18691 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18692 : : STRIP_UNARY (operands[4]))
18693 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18694 : : STRIP_UNARY (operands[3]))
18695 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18696 : : STRIP_UNARY (operands[3])))) &&
18697 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18698 : : (TARGET_AVX512F)))
18699 : : return -1;
18700 : : return 5941; /* *avx512f_vpternlogv16sf_1 */
18701 : :
18702 : : case 7:
18703 : : if (!(
18704 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18705 : : ((32 == 64 || TARGET_AVX512VL
18706 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18707 : : && ix86_pre_reload_split ()
18708 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18709 : : STRIP_UNARY (operands[4]))
18710 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18711 : : STRIP_UNARY (operands[4]))
18712 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18713 : : STRIP_UNARY (operands[3]))
18714 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18715 : : STRIP_UNARY (operands[3])))) &&
18716 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18717 : : (TARGET_AVX)))
18718 : : return -1;
18719 : : return 5968; /* *avx512vl_vpternlogv8sf_1 */
18720 : :
18721 : : case 8:
18722 : : if (!
18723 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18724 : : ((16 == 64 || TARGET_AVX512VL
18725 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18726 : : && ix86_pre_reload_split ()
18727 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18728 : : STRIP_UNARY (operands[4]))
18729 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18730 : : STRIP_UNARY (operands[4]))
18731 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18732 : : STRIP_UNARY (operands[3]))
18733 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18734 : : STRIP_UNARY (operands[3])))))
18735 : : return -1;
18736 : : return 5995; /* *avx512vl_vpternlogv4sf_1 */
18737 : :
18738 : : case 9:
18739 : : if (!(
18740 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18741 : : ((64 == 64 || TARGET_AVX512VL
18742 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18743 : : && ix86_pre_reload_split ()
18744 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18745 : : STRIP_UNARY (operands[4]))
18746 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18747 : : STRIP_UNARY (operands[4]))
18748 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18749 : : STRIP_UNARY (operands[3]))
18750 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18751 : : STRIP_UNARY (operands[3])))) &&
18752 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18753 : : (TARGET_AVX512F)))
18754 : : return -1;
18755 : : return 6022; /* *avx512f_vpternlogv8df_1 */
18756 : :
18757 : : case 10:
18758 : : if (!(
18759 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18760 : : ((32 == 64 || TARGET_AVX512VL
18761 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18762 : : && ix86_pre_reload_split ()
18763 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18764 : : STRIP_UNARY (operands[4]))
18765 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18766 : : STRIP_UNARY (operands[4]))
18767 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18768 : : STRIP_UNARY (operands[3]))
18769 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18770 : : STRIP_UNARY (operands[3])))) &&
18771 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18772 : : (TARGET_AVX)))
18773 : : return -1;
18774 : : return 6049; /* *avx512vl_vpternlogv4df_1 */
18775 : :
18776 : : case 11:
18777 : : if (!(
18778 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18779 : : ((16 == 64 || TARGET_AVX512VL
18780 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18781 : : && ix86_pre_reload_split ()
18782 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18783 : : STRIP_UNARY (operands[4]))
18784 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18785 : : STRIP_UNARY (operands[4]))
18786 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18787 : : STRIP_UNARY (operands[3]))
18788 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18789 : : STRIP_UNARY (operands[3])))) &&
18790 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18791 : : (TARGET_SSE2)))
18792 : : return -1;
18793 : : return 6076; /* *avx512vl_vpternlogv2df_1 */
18794 : :
18795 : : case 12:
18796 : : if (!(
18797 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18798 : : ((64 == 64 || TARGET_AVX512VL
18799 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18800 : : && ix86_pre_reload_split ()
18801 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18802 : : STRIP_UNARY (operands[4]))
18803 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18804 : : STRIP_UNARY (operands[4]))
18805 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18806 : : STRIP_UNARY (operands[3]))
18807 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18808 : : STRIP_UNARY (operands[3])))) &&
18809 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18810 : : (TARGET_AVX512F)))
18811 : : return -1;
18812 : : return 5782; /* *avx512bw_vpternlogv32hf_1 */
18813 : :
18814 : : case 13:
18815 : : if (!(
18816 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18817 : : ((32 == 64 || TARGET_AVX512VL
18818 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18819 : : && ix86_pre_reload_split ()
18820 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18821 : : STRIP_UNARY (operands[4]))
18822 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18823 : : STRIP_UNARY (operands[4]))
18824 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18825 : : STRIP_UNARY (operands[3]))
18826 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18827 : : STRIP_UNARY (operands[3])))) &&
18828 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18829 : : (TARGET_AVX)))
18830 : : return -1;
18831 : : return 5809; /* *avx512vl_vpternlogv16hf_1 */
18832 : :
18833 : : case 14:
18834 : : if (!
18835 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18836 : : ((16 == 64 || TARGET_AVX512VL
18837 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18838 : : && ix86_pre_reload_split ()
18839 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18840 : : STRIP_UNARY (operands[4]))
18841 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18842 : : STRIP_UNARY (operands[4]))
18843 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18844 : : STRIP_UNARY (operands[3]))
18845 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18846 : : STRIP_UNARY (operands[3])))))
18847 : : return -1;
18848 : : return 5836; /* *avx512fp16_vpternlogv8hf_1 */
18849 : :
18850 : : case 15:
18851 : : if (!(
18852 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18853 : : ((64 == 64 || TARGET_AVX512VL
18854 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18855 : : && ix86_pre_reload_split ()
18856 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18857 : : STRIP_UNARY (operands[4]))
18858 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18859 : : STRIP_UNARY (operands[4]))
18860 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18861 : : STRIP_UNARY (operands[3]))
18862 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18863 : : STRIP_UNARY (operands[3])))) &&
18864 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18865 : : (TARGET_AVX512F)))
18866 : : return -1;
18867 : : return 5863; /* *avx512bw_vpternlogv32bf_1 */
18868 : :
18869 : : case 16:
18870 : : if (!(
18871 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18872 : : ((32 == 64 || TARGET_AVX512VL
18873 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18874 : : && ix86_pre_reload_split ()
18875 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18876 : : STRIP_UNARY (operands[4]))
18877 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18878 : : STRIP_UNARY (operands[4]))
18879 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18880 : : STRIP_UNARY (operands[3]))
18881 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18882 : : STRIP_UNARY (operands[3])))) &&
18883 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18884 : : (TARGET_AVX)))
18885 : : return -1;
18886 : : return 5890; /* *avx512vl_vpternlogv16bf_1 */
18887 : :
18888 : : case 17:
18889 : : if (!
18890 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18891 : : ((16 == 64 || TARGET_AVX512VL
18892 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18893 : : && ix86_pre_reload_split ()
18894 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18895 : : STRIP_UNARY (operands[4]))
18896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18897 : : STRIP_UNARY (operands[4]))
18898 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18899 : : STRIP_UNARY (operands[3]))
18900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18901 : : STRIP_UNARY (operands[3])))))
18902 : : return -1;
18903 : : return 5917; /* *avx512vl_vpternlogv8bf_1 */
18904 : :
18905 : : case 18:
18906 : : if (!(
18907 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18908 : : ((64 == 64 || TARGET_AVX512VL
18909 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18910 : : && ix86_pre_reload_split ()
18911 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18912 : : STRIP_UNARY (operands[4]))
18913 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18914 : : STRIP_UNARY (operands[4]))
18915 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18916 : : STRIP_UNARY (operands[3]))
18917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18918 : : STRIP_UNARY (operands[3])))) &&
18919 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18920 : : (TARGET_AVX512F)))
18921 : : return -1;
18922 : : return 5944; /* *avx512f_vpternlogv16sf_1 */
18923 : :
18924 : : case 19:
18925 : : if (!(
18926 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18927 : : ((32 == 64 || TARGET_AVX512VL
18928 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18929 : : && ix86_pre_reload_split ()
18930 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18931 : : STRIP_UNARY (operands[4]))
18932 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18933 : : STRIP_UNARY (operands[4]))
18934 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18935 : : STRIP_UNARY (operands[3]))
18936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18937 : : STRIP_UNARY (operands[3])))) &&
18938 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18939 : : (TARGET_AVX)))
18940 : : return -1;
18941 : : return 5971; /* *avx512vl_vpternlogv8sf_1 */
18942 : :
18943 : : case 20:
18944 : : if (!
18945 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18946 : : ((16 == 64 || TARGET_AVX512VL
18947 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18948 : : && ix86_pre_reload_split ()
18949 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18950 : : STRIP_UNARY (operands[4]))
18951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18952 : : STRIP_UNARY (operands[4]))
18953 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18954 : : STRIP_UNARY (operands[3]))
18955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18956 : : STRIP_UNARY (operands[3])))))
18957 : : return -1;
18958 : : return 5998; /* *avx512vl_vpternlogv4sf_1 */
18959 : :
18960 : : case 21:
18961 : : if (!(
18962 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18963 : : ((64 == 64 || TARGET_AVX512VL
18964 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18965 : : && ix86_pre_reload_split ()
18966 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18967 : : STRIP_UNARY (operands[4]))
18968 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18969 : : STRIP_UNARY (operands[4]))
18970 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18971 : : STRIP_UNARY (operands[3]))
18972 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18973 : : STRIP_UNARY (operands[3])))) &&
18974 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18975 : : (TARGET_AVX512F)))
18976 : : return -1;
18977 : : return 6025; /* *avx512f_vpternlogv8df_1 */
18978 : :
18979 : : case 22:
18980 : : if (!(
18981 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18982 : : ((32 == 64 || TARGET_AVX512VL
18983 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18984 : : && ix86_pre_reload_split ()
18985 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18986 : : STRIP_UNARY (operands[4]))
18987 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18988 : : STRIP_UNARY (operands[4]))
18989 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18990 : : STRIP_UNARY (operands[3]))
18991 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18992 : : STRIP_UNARY (operands[3])))) &&
18993 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18994 : : (TARGET_AVX)))
18995 : : return -1;
18996 : : return 6052; /* *avx512vl_vpternlogv4df_1 */
18997 : :
18998 : : case 23:
18999 : : if (!(
19000 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19001 : : ((16 == 64 || TARGET_AVX512VL
19002 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19003 : : && ix86_pre_reload_split ()
19004 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19005 : : STRIP_UNARY (operands[4]))
19006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19007 : : STRIP_UNARY (operands[4]))
19008 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19009 : : STRIP_UNARY (operands[3]))
19010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19011 : : STRIP_UNARY (operands[3])))) &&
19012 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19013 : : (TARGET_SSE2)))
19014 : : return -1;
19015 : : return 6079; /* *avx512vl_vpternlogv2df_1 */
19016 : :
19017 : : case 24:
19018 : : if (!(
19019 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19020 : : ((64 == 64 || TARGET_AVX512VL
19021 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19022 : : && ix86_pre_reload_split ()
19023 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19024 : : STRIP_UNARY (operands[4]))
19025 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19026 : : STRIP_UNARY (operands[4]))
19027 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19028 : : STRIP_UNARY (operands[3]))
19029 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19030 : : STRIP_UNARY (operands[3])))) &&
19031 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19032 : : (TARGET_AVX512F)))
19033 : : return -1;
19034 : : return 5785; /* *avx512bw_vpternlogv32hf_1 */
19035 : :
19036 : : case 25:
19037 : : if (!(
19038 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19039 : : ((32 == 64 || TARGET_AVX512VL
19040 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19041 : : && ix86_pre_reload_split ()
19042 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19043 : : STRIP_UNARY (operands[4]))
19044 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19045 : : STRIP_UNARY (operands[4]))
19046 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19047 : : STRIP_UNARY (operands[3]))
19048 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19049 : : STRIP_UNARY (operands[3])))) &&
19050 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19051 : : (TARGET_AVX)))
19052 : : return -1;
19053 : : return 5812; /* *avx512vl_vpternlogv16hf_1 */
19054 : :
19055 : : case 26:
19056 : : if (!
19057 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19058 : : ((16 == 64 || TARGET_AVX512VL
19059 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19060 : : && ix86_pre_reload_split ()
19061 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19062 : : STRIP_UNARY (operands[4]))
19063 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19064 : : STRIP_UNARY (operands[4]))
19065 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19066 : : STRIP_UNARY (operands[3]))
19067 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19068 : : STRIP_UNARY (operands[3])))))
19069 : : return -1;
19070 : : return 5839; /* *avx512fp16_vpternlogv8hf_1 */
19071 : :
19072 : : case 27:
19073 : : if (!(
19074 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19075 : : ((64 == 64 || TARGET_AVX512VL
19076 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19077 : : && ix86_pre_reload_split ()
19078 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19079 : : STRIP_UNARY (operands[4]))
19080 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19081 : : STRIP_UNARY (operands[4]))
19082 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19083 : : STRIP_UNARY (operands[3]))
19084 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19085 : : STRIP_UNARY (operands[3])))) &&
19086 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19087 : : (TARGET_AVX512F)))
19088 : : return -1;
19089 : : return 5866; /* *avx512bw_vpternlogv32bf_1 */
19090 : :
19091 : : case 28:
19092 : : if (!(
19093 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19094 : : ((32 == 64 || TARGET_AVX512VL
19095 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19096 : : && ix86_pre_reload_split ()
19097 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19098 : : STRIP_UNARY (operands[4]))
19099 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19100 : : STRIP_UNARY (operands[4]))
19101 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19102 : : STRIP_UNARY (operands[3]))
19103 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19104 : : STRIP_UNARY (operands[3])))) &&
19105 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19106 : : (TARGET_AVX)))
19107 : : return -1;
19108 : : return 5893; /* *avx512vl_vpternlogv16bf_1 */
19109 : :
19110 : : case 29:
19111 : : if (!
19112 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19113 : : ((16 == 64 || TARGET_AVX512VL
19114 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19115 : : && ix86_pre_reload_split ()
19116 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19117 : : STRIP_UNARY (operands[4]))
19118 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19119 : : STRIP_UNARY (operands[4]))
19120 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19121 : : STRIP_UNARY (operands[3]))
19122 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19123 : : STRIP_UNARY (operands[3])))))
19124 : : return -1;
19125 : : return 5920; /* *avx512vl_vpternlogv8bf_1 */
19126 : :
19127 : : case 30:
19128 : : if (!(
19129 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19130 : : ((64 == 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 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19142 : : (TARGET_AVX512F)))
19143 : : return -1;
19144 : : return 5947; /* *avx512f_vpternlogv16sf_1 */
19145 : :
19146 : : case 31:
19147 : : if (!(
19148 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19149 : : ((32 == 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 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19161 : : (TARGET_AVX)))
19162 : : return -1;
19163 : : return 5974; /* *avx512vl_vpternlogv8sf_1 */
19164 : :
19165 : : case 32:
19166 : : if (!
19167 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19168 : : ((16 == 64 || TARGET_AVX512VL
19169 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19170 : : && ix86_pre_reload_split ()
19171 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19172 : : STRIP_UNARY (operands[4]))
19173 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19174 : : STRIP_UNARY (operands[4]))
19175 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19176 : : STRIP_UNARY (operands[3]))
19177 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19178 : : STRIP_UNARY (operands[3])))))
19179 : : return -1;
19180 : : return 6001; /* *avx512vl_vpternlogv4sf_1 */
19181 : :
19182 : : case 33:
19183 : : if (!(
19184 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19185 : : ((64 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19197 : : (TARGET_AVX512F)))
19198 : : return -1;
19199 : : return 6028; /* *avx512f_vpternlogv8df_1 */
19200 : :
19201 : : case 34:
19202 : : if (!(
19203 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19204 : : ((32 == 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 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19216 : : (TARGET_AVX)))
19217 : : return -1;
19218 : : return 6055; /* *avx512vl_vpternlogv4df_1 */
19219 : :
19220 : : case 35:
19221 : : if (!(
19222 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19223 : : ((16 == 64 || TARGET_AVX512VL
19224 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19225 : : && ix86_pre_reload_split ()
19226 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19227 : : STRIP_UNARY (operands[4]))
19228 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19229 : : STRIP_UNARY (operands[4]))
19230 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19231 : : STRIP_UNARY (operands[3]))
19232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19233 : : STRIP_UNARY (operands[3])))) &&
19234 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19235 : : (TARGET_SSE2)))
19236 : : return -1;
19237 : : return 6082; /* *avx512vl_vpternlogv2df_1 */
19238 : :
19239 : : case 36:
19240 : : if (!(
19241 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19242 : : ((64 == 64 || TARGET_AVX512VL
19243 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19244 : : && ix86_pre_reload_split ()) &&
19245 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19246 : : (TARGET_AVX512F)))
19247 : : return -1;
19248 : : return 6859; /* *avx512bw_vpternlogv32hf_3 */
19249 : :
19250 : : case 37:
19251 : : if (!(
19252 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19253 : : ((32 == 64 || TARGET_AVX512VL
19254 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19255 : : && ix86_pre_reload_split ()) &&
19256 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19257 : : (TARGET_AVX)))
19258 : : return -1;
19259 : : return 6868; /* *avx512vl_vpternlogv16hf_3 */
19260 : :
19261 : : case 38:
19262 : : if (!
19263 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19264 : : ((16 == 64 || TARGET_AVX512VL
19265 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19266 : : && ix86_pre_reload_split ()))
19267 : : return -1;
19268 : : return 6877; /* *avx512fp16_vpternlogv8hf_3 */
19269 : :
19270 : : case 39:
19271 : : if (!(
19272 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19273 : : ((64 == 64 || TARGET_AVX512VL
19274 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19275 : : && ix86_pre_reload_split ()) &&
19276 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19277 : : (TARGET_AVX512F)))
19278 : : return -1;
19279 : : return 6886; /* *avx512bw_vpternlogv32bf_3 */
19280 : :
19281 : : case 40:
19282 : : if (!(
19283 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19284 : : ((32 == 64 || TARGET_AVX512VL
19285 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19286 : : && ix86_pre_reload_split ()) &&
19287 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19288 : : (TARGET_AVX)))
19289 : : return -1;
19290 : : return 6895; /* *avx512vl_vpternlogv16bf_3 */
19291 : :
19292 : : case 41:
19293 : : if (!
19294 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19295 : : ((16 == 64 || TARGET_AVX512VL
19296 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19297 : : && ix86_pre_reload_split ()))
19298 : : return -1;
19299 : : return 6904; /* *avx512vl_vpternlogv8bf_3 */
19300 : :
19301 : : case 42:
19302 : : if (!(
19303 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19304 : : ((64 == 64 || TARGET_AVX512VL
19305 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19306 : : && ix86_pre_reload_split ()) &&
19307 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19308 : : (TARGET_AVX512F)))
19309 : : return -1;
19310 : : return 6913; /* *avx512f_vpternlogv16sf_3 */
19311 : :
19312 : : case 43:
19313 : : if (!(
19314 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19315 : : ((32 == 64 || TARGET_AVX512VL
19316 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19317 : : && ix86_pre_reload_split ()) &&
19318 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19319 : : (TARGET_AVX)))
19320 : : return -1;
19321 : : return 6922; /* *avx512vl_vpternlogv8sf_3 */
19322 : :
19323 : : case 44:
19324 : : if (!
19325 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19326 : : ((16 == 64 || TARGET_AVX512VL
19327 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19328 : : && ix86_pre_reload_split ()))
19329 : : return -1;
19330 : : return 6931; /* *avx512vl_vpternlogv4sf_3 */
19331 : :
19332 : : case 45:
19333 : : if (!(
19334 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19335 : : ((64 == 64 || TARGET_AVX512VL
19336 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19337 : : && ix86_pre_reload_split ()) &&
19338 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19339 : : (TARGET_AVX512F)))
19340 : : return -1;
19341 : : return 6940; /* *avx512f_vpternlogv8df_3 */
19342 : :
19343 : : case 46:
19344 : : if (!(
19345 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19346 : : ((32 == 64 || TARGET_AVX512VL
19347 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19348 : : && ix86_pre_reload_split ()) &&
19349 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19350 : : (TARGET_AVX)))
19351 : : return -1;
19352 : : return 6949; /* *avx512vl_vpternlogv4df_3 */
19353 : :
19354 : : case 47:
19355 : : if (!(
19356 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19357 : : ((16 == 64 || TARGET_AVX512VL
19358 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19359 : : && ix86_pre_reload_split ()) &&
19360 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19361 : : (TARGET_SSE2)))
19362 : : return -1;
19363 : : return 6958; /* *avx512vl_vpternlogv2df_3 */
19364 : :
19365 : : default:
19366 : : return -1;
19367 : : }
19368 : :
19369 : : case AND:
19370 : : switch (pattern525 (x2))
19371 : : {
19372 : : case 0:
19373 : : if (!(
19374 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19375 : : ((64 == 64 || TARGET_AVX512VL
19376 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19377 : : && ix86_pre_reload_split ()
19378 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19379 : : STRIP_UNARY (operands[4]))
19380 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19381 : : STRIP_UNARY (operands[4]))
19382 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19383 : : STRIP_UNARY (operands[3]))
19384 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19385 : : STRIP_UNARY (operands[3])))) &&
19386 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19387 : : (TARGET_AVX512F)))
19388 : : return -1;
19389 : : return 6427; /* *avx512bw_vpternlogv32hf_2 */
19390 : :
19391 : : case 1:
19392 : : if (!(
19393 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19394 : : ((32 == 64 || TARGET_AVX512VL
19395 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19396 : : && ix86_pre_reload_split ()
19397 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19398 : : STRIP_UNARY (operands[4]))
19399 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19400 : : STRIP_UNARY (operands[4]))
19401 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19402 : : STRIP_UNARY (operands[3]))
19403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19404 : : STRIP_UNARY (operands[3])))) &&
19405 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19406 : : (TARGET_AVX)))
19407 : : return -1;
19408 : : return 6454; /* *avx512vl_vpternlogv16hf_2 */
19409 : :
19410 : : case 2:
19411 : : if (!
19412 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19413 : : ((16 == 64 || TARGET_AVX512VL
19414 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19415 : : && ix86_pre_reload_split ()
19416 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19417 : : STRIP_UNARY (operands[4]))
19418 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19419 : : STRIP_UNARY (operands[4]))
19420 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19421 : : STRIP_UNARY (operands[3]))
19422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19423 : : STRIP_UNARY (operands[3])))))
19424 : : return -1;
19425 : : return 6481; /* *avx512fp16_vpternlogv8hf_2 */
19426 : :
19427 : : case 3:
19428 : : if (!(
19429 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19430 : : ((64 == 64 || TARGET_AVX512VL
19431 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19432 : : && ix86_pre_reload_split ()
19433 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19434 : : STRIP_UNARY (operands[4]))
19435 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19436 : : STRIP_UNARY (operands[4]))
19437 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19438 : : STRIP_UNARY (operands[3]))
19439 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19440 : : STRIP_UNARY (operands[3])))) &&
19441 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19442 : : (TARGET_AVX512F)))
19443 : : return -1;
19444 : : return 6508; /* *avx512bw_vpternlogv32bf_2 */
19445 : :
19446 : : case 4:
19447 : : if (!(
19448 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19449 : : ((32 == 64 || TARGET_AVX512VL
19450 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19451 : : && ix86_pre_reload_split ()
19452 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19453 : : STRIP_UNARY (operands[4]))
19454 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19455 : : STRIP_UNARY (operands[4]))
19456 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19457 : : STRIP_UNARY (operands[3]))
19458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19459 : : STRIP_UNARY (operands[3])))) &&
19460 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19461 : : (TARGET_AVX)))
19462 : : return -1;
19463 : : return 6535; /* *avx512vl_vpternlogv16bf_2 */
19464 : :
19465 : : case 5:
19466 : : if (!
19467 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19468 : : ((16 == 64 || TARGET_AVX512VL
19469 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19470 : : && ix86_pre_reload_split ()
19471 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19472 : : STRIP_UNARY (operands[4]))
19473 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19474 : : STRIP_UNARY (operands[4]))
19475 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19476 : : STRIP_UNARY (operands[3]))
19477 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19478 : : STRIP_UNARY (operands[3])))))
19479 : : return -1;
19480 : : return 6562; /* *avx512vl_vpternlogv8bf_2 */
19481 : :
19482 : : case 6:
19483 : : if (!(
19484 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19485 : : ((64 == 64 || TARGET_AVX512VL
19486 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19487 : : && ix86_pre_reload_split ()
19488 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19489 : : STRIP_UNARY (operands[4]))
19490 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19491 : : STRIP_UNARY (operands[4]))
19492 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19493 : : STRIP_UNARY (operands[3]))
19494 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19495 : : STRIP_UNARY (operands[3])))) &&
19496 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19497 : : (TARGET_AVX512F)))
19498 : : return -1;
19499 : : return 6589; /* *avx512f_vpternlogv16sf_2 */
19500 : :
19501 : : case 7:
19502 : : if (!(
19503 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19504 : : ((32 == 64 || TARGET_AVX512VL
19505 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19506 : : && ix86_pre_reload_split ()
19507 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19508 : : STRIP_UNARY (operands[4]))
19509 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19510 : : STRIP_UNARY (operands[4]))
19511 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19512 : : STRIP_UNARY (operands[3]))
19513 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19514 : : STRIP_UNARY (operands[3])))) &&
19515 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19516 : : (TARGET_AVX)))
19517 : : return -1;
19518 : : return 6616; /* *avx512vl_vpternlogv8sf_2 */
19519 : :
19520 : : case 8:
19521 : : if (!
19522 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19523 : : ((16 == 64 || TARGET_AVX512VL
19524 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19525 : : && ix86_pre_reload_split ()
19526 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19527 : : STRIP_UNARY (operands[4]))
19528 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19529 : : STRIP_UNARY (operands[4]))
19530 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19531 : : STRIP_UNARY (operands[3]))
19532 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19533 : : STRIP_UNARY (operands[3])))))
19534 : : return -1;
19535 : : return 6643; /* *avx512vl_vpternlogv4sf_2 */
19536 : :
19537 : : case 9:
19538 : : if (!(
19539 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19540 : : ((64 == 64 || TARGET_AVX512VL
19541 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19542 : : && ix86_pre_reload_split ()
19543 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19544 : : STRIP_UNARY (operands[4]))
19545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19546 : : STRIP_UNARY (operands[4]))
19547 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19548 : : STRIP_UNARY (operands[3]))
19549 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19550 : : STRIP_UNARY (operands[3])))) &&
19551 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19552 : : (TARGET_AVX512F)))
19553 : : return -1;
19554 : : return 6670; /* *avx512f_vpternlogv8df_2 */
19555 : :
19556 : : case 10:
19557 : : if (!(
19558 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19559 : : ((32 == 64 || TARGET_AVX512VL
19560 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19561 : : && ix86_pre_reload_split ()
19562 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19563 : : STRIP_UNARY (operands[4]))
19564 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19565 : : STRIP_UNARY (operands[4]))
19566 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19567 : : STRIP_UNARY (operands[3]))
19568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19569 : : STRIP_UNARY (operands[3])))) &&
19570 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19571 : : (TARGET_AVX)))
19572 : : return -1;
19573 : : return 6697; /* *avx512vl_vpternlogv4df_2 */
19574 : :
19575 : : case 11:
19576 : : if (!(
19577 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19578 : : ((16 == 64 || TARGET_AVX512VL
19579 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19580 : : && ix86_pre_reload_split ()
19581 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19582 : : STRIP_UNARY (operands[4]))
19583 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19584 : : STRIP_UNARY (operands[4]))
19585 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19586 : : STRIP_UNARY (operands[3]))
19587 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19588 : : STRIP_UNARY (operands[3])))) &&
19589 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19590 : : (TARGET_SSE2)))
19591 : : return -1;
19592 : : return 6724; /* *avx512vl_vpternlogv2df_2 */
19593 : :
19594 : : default:
19595 : : return -1;
19596 : : }
19597 : :
19598 : : case IOR:
19599 : : switch (pattern525 (x2))
19600 : : {
19601 : : case 0:
19602 : : if (!(
19603 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19604 : : ((64 == 64 || TARGET_AVX512VL
19605 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19606 : : && ix86_pre_reload_split ()
19607 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19608 : : STRIP_UNARY (operands[4]))
19609 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19610 : : STRIP_UNARY (operands[4]))
19611 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19612 : : STRIP_UNARY (operands[3]))
19613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19614 : : STRIP_UNARY (operands[3])))) &&
19615 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19616 : : (TARGET_AVX512F)))
19617 : : return -1;
19618 : : return 6430; /* *avx512bw_vpternlogv32hf_2 */
19619 : :
19620 : : case 1:
19621 : : if (!(
19622 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19623 : : ((32 == 64 || TARGET_AVX512VL
19624 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19625 : : && ix86_pre_reload_split ()
19626 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19627 : : STRIP_UNARY (operands[4]))
19628 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19629 : : STRIP_UNARY (operands[4]))
19630 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19631 : : STRIP_UNARY (operands[3]))
19632 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19633 : : STRIP_UNARY (operands[3])))) &&
19634 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19635 : : (TARGET_AVX)))
19636 : : return -1;
19637 : : return 6457; /* *avx512vl_vpternlogv16hf_2 */
19638 : :
19639 : : case 2:
19640 : : if (!
19641 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19642 : : ((16 == 64 || TARGET_AVX512VL
19643 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19644 : : && ix86_pre_reload_split ()
19645 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19646 : : STRIP_UNARY (operands[4]))
19647 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19648 : : STRIP_UNARY (operands[4]))
19649 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19650 : : STRIP_UNARY (operands[3]))
19651 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19652 : : STRIP_UNARY (operands[3])))))
19653 : : return -1;
19654 : : return 6484; /* *avx512fp16_vpternlogv8hf_2 */
19655 : :
19656 : : case 3:
19657 : : if (!(
19658 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19659 : : ((64 == 64 || TARGET_AVX512VL
19660 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19661 : : && ix86_pre_reload_split ()
19662 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19663 : : STRIP_UNARY (operands[4]))
19664 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19665 : : STRIP_UNARY (operands[4]))
19666 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19667 : : STRIP_UNARY (operands[3]))
19668 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19669 : : STRIP_UNARY (operands[3])))) &&
19670 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19671 : : (TARGET_AVX512F)))
19672 : : return -1;
19673 : : return 6511; /* *avx512bw_vpternlogv32bf_2 */
19674 : :
19675 : : case 4:
19676 : : if (!(
19677 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19678 : : ((32 == 64 || TARGET_AVX512VL
19679 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19680 : : && ix86_pre_reload_split ()
19681 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19682 : : STRIP_UNARY (operands[4]))
19683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19684 : : STRIP_UNARY (operands[4]))
19685 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19686 : : STRIP_UNARY (operands[3]))
19687 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19688 : : STRIP_UNARY (operands[3])))) &&
19689 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19690 : : (TARGET_AVX)))
19691 : : return -1;
19692 : : return 6538; /* *avx512vl_vpternlogv16bf_2 */
19693 : :
19694 : : case 5:
19695 : : if (!
19696 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19697 : : ((16 == 64 || TARGET_AVX512VL
19698 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19699 : : && ix86_pre_reload_split ()
19700 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19701 : : STRIP_UNARY (operands[4]))
19702 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19703 : : STRIP_UNARY (operands[4]))
19704 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19705 : : STRIP_UNARY (operands[3]))
19706 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19707 : : STRIP_UNARY (operands[3])))))
19708 : : return -1;
19709 : : return 6565; /* *avx512vl_vpternlogv8bf_2 */
19710 : :
19711 : : case 6:
19712 : : if (!(
19713 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19714 : : ((64 == 64 || TARGET_AVX512VL
19715 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19716 : : && ix86_pre_reload_split ()
19717 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19718 : : STRIP_UNARY (operands[4]))
19719 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19720 : : STRIP_UNARY (operands[4]))
19721 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19722 : : STRIP_UNARY (operands[3]))
19723 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19724 : : STRIP_UNARY (operands[3])))) &&
19725 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19726 : : (TARGET_AVX512F)))
19727 : : return -1;
19728 : : return 6592; /* *avx512f_vpternlogv16sf_2 */
19729 : :
19730 : : case 7:
19731 : : if (!(
19732 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19733 : : ((32 == 64 || TARGET_AVX512VL
19734 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19735 : : && ix86_pre_reload_split ()
19736 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19737 : : STRIP_UNARY (operands[4]))
19738 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19739 : : STRIP_UNARY (operands[4]))
19740 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19741 : : STRIP_UNARY (operands[3]))
19742 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19743 : : STRIP_UNARY (operands[3])))) &&
19744 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19745 : : (TARGET_AVX)))
19746 : : return -1;
19747 : : return 6619; /* *avx512vl_vpternlogv8sf_2 */
19748 : :
19749 : : case 8:
19750 : : if (!
19751 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19752 : : ((16 == 64 || TARGET_AVX512VL
19753 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19754 : : && ix86_pre_reload_split ()
19755 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19756 : : STRIP_UNARY (operands[4]))
19757 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19758 : : STRIP_UNARY (operands[4]))
19759 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19760 : : STRIP_UNARY (operands[3]))
19761 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19762 : : STRIP_UNARY (operands[3])))))
19763 : : return -1;
19764 : : return 6646; /* *avx512vl_vpternlogv4sf_2 */
19765 : :
19766 : : case 9:
19767 : : if (!(
19768 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19769 : : ((64 == 64 || TARGET_AVX512VL
19770 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19771 : : && ix86_pre_reload_split ()
19772 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19773 : : STRIP_UNARY (operands[4]))
19774 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19775 : : STRIP_UNARY (operands[4]))
19776 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19777 : : STRIP_UNARY (operands[3]))
19778 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19779 : : STRIP_UNARY (operands[3])))) &&
19780 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19781 : : (TARGET_AVX512F)))
19782 : : return -1;
19783 : : return 6673; /* *avx512f_vpternlogv8df_2 */
19784 : :
19785 : : case 10:
19786 : : if (!(
19787 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19788 : : ((32 == 64 || TARGET_AVX512VL
19789 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19790 : : && ix86_pre_reload_split ()
19791 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19792 : : STRIP_UNARY (operands[4]))
19793 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19794 : : STRIP_UNARY (operands[4]))
19795 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19796 : : STRIP_UNARY (operands[3]))
19797 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19798 : : STRIP_UNARY (operands[3])))) &&
19799 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19800 : : (TARGET_AVX)))
19801 : : return -1;
19802 : : return 6700; /* *avx512vl_vpternlogv4df_2 */
19803 : :
19804 : : case 11:
19805 : : if (!(
19806 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19807 : : ((16 == 64 || TARGET_AVX512VL
19808 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19809 : : && ix86_pre_reload_split ()
19810 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19811 : : STRIP_UNARY (operands[4]))
19812 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19813 : : STRIP_UNARY (operands[4]))
19814 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19815 : : STRIP_UNARY (operands[3]))
19816 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19817 : : STRIP_UNARY (operands[3])))) &&
19818 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19819 : : (TARGET_SSE2)))
19820 : : return -1;
19821 : : return 6727; /* *avx512vl_vpternlogv2df_2 */
19822 : :
19823 : : default:
19824 : : return -1;
19825 : : }
19826 : :
19827 : : case XOR:
19828 : : switch (pattern525 (x2))
19829 : : {
19830 : : case 0:
19831 : : if (!(
19832 : : #line 13894 "/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 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19837 : : STRIP_UNARY (operands[4]))
19838 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19839 : : STRIP_UNARY (operands[4]))
19840 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19841 : : STRIP_UNARY (operands[3]))
19842 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19843 : : STRIP_UNARY (operands[3])))) &&
19844 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19845 : : (TARGET_AVX512F)))
19846 : : return -1;
19847 : : return 6433; /* *avx512bw_vpternlogv32hf_2 */
19848 : :
19849 : : case 1:
19850 : : if (!(
19851 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19852 : : ((32 == 64 || TARGET_AVX512VL
19853 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19854 : : && ix86_pre_reload_split ()
19855 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19856 : : STRIP_UNARY (operands[4]))
19857 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19858 : : STRIP_UNARY (operands[4]))
19859 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19860 : : STRIP_UNARY (operands[3]))
19861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19862 : : STRIP_UNARY (operands[3])))) &&
19863 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19864 : : (TARGET_AVX)))
19865 : : return -1;
19866 : : return 6460; /* *avx512vl_vpternlogv16hf_2 */
19867 : :
19868 : : case 2:
19869 : : if (!
19870 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19871 : : ((16 == 64 || TARGET_AVX512VL
19872 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19873 : : && ix86_pre_reload_split ()
19874 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19875 : : STRIP_UNARY (operands[4]))
19876 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19877 : : STRIP_UNARY (operands[4]))
19878 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19879 : : STRIP_UNARY (operands[3]))
19880 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19881 : : STRIP_UNARY (operands[3])))))
19882 : : return -1;
19883 : : return 6487; /* *avx512fp16_vpternlogv8hf_2 */
19884 : :
19885 : : case 3:
19886 : : if (!(
19887 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19888 : : ((64 == 64 || TARGET_AVX512VL
19889 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19890 : : && ix86_pre_reload_split ()
19891 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19892 : : STRIP_UNARY (operands[4]))
19893 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19894 : : STRIP_UNARY (operands[4]))
19895 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19896 : : STRIP_UNARY (operands[3]))
19897 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19898 : : STRIP_UNARY (operands[3])))) &&
19899 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19900 : : (TARGET_AVX512F)))
19901 : : return -1;
19902 : : return 6514; /* *avx512bw_vpternlogv32bf_2 */
19903 : :
19904 : : case 4:
19905 : : if (!(
19906 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19907 : : ((32 == 64 || TARGET_AVX512VL
19908 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19909 : : && ix86_pre_reload_split ()
19910 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19911 : : STRIP_UNARY (operands[4]))
19912 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19913 : : STRIP_UNARY (operands[4]))
19914 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19915 : : STRIP_UNARY (operands[3]))
19916 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19917 : : STRIP_UNARY (operands[3])))) &&
19918 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19919 : : (TARGET_AVX)))
19920 : : return -1;
19921 : : return 6541; /* *avx512vl_vpternlogv16bf_2 */
19922 : :
19923 : : case 5:
19924 : : if (!
19925 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19926 : : ((16 == 64 || TARGET_AVX512VL
19927 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19928 : : && ix86_pre_reload_split ()
19929 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19930 : : STRIP_UNARY (operands[4]))
19931 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19932 : : STRIP_UNARY (operands[4]))
19933 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19934 : : STRIP_UNARY (operands[3]))
19935 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19936 : : STRIP_UNARY (operands[3])))))
19937 : : return -1;
19938 : : return 6568; /* *avx512vl_vpternlogv8bf_2 */
19939 : :
19940 : : case 6:
19941 : : if (!(
19942 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19943 : : ((64 == 64 || TARGET_AVX512VL
19944 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19945 : : && ix86_pre_reload_split ()
19946 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19947 : : STRIP_UNARY (operands[4]))
19948 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19949 : : STRIP_UNARY (operands[4]))
19950 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19951 : : STRIP_UNARY (operands[3]))
19952 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19953 : : STRIP_UNARY (operands[3])))) &&
19954 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19955 : : (TARGET_AVX512F)))
19956 : : return -1;
19957 : : return 6595; /* *avx512f_vpternlogv16sf_2 */
19958 : :
19959 : : case 7:
19960 : : if (!(
19961 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19962 : : ((32 == 64 || TARGET_AVX512VL
19963 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19964 : : && ix86_pre_reload_split ()
19965 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19966 : : STRIP_UNARY (operands[4]))
19967 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19968 : : STRIP_UNARY (operands[4]))
19969 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19970 : : STRIP_UNARY (operands[3]))
19971 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19972 : : STRIP_UNARY (operands[3])))) &&
19973 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19974 : : (TARGET_AVX)))
19975 : : return -1;
19976 : : return 6622; /* *avx512vl_vpternlogv8sf_2 */
19977 : :
19978 : : case 8:
19979 : : if (!
19980 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19981 : : ((16 == 64 || TARGET_AVX512VL
19982 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19983 : : && ix86_pre_reload_split ()
19984 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19985 : : STRIP_UNARY (operands[4]))
19986 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19987 : : STRIP_UNARY (operands[4]))
19988 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19989 : : STRIP_UNARY (operands[3]))
19990 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19991 : : STRIP_UNARY (operands[3])))))
19992 : : return -1;
19993 : : return 6649; /* *avx512vl_vpternlogv4sf_2 */
19994 : :
19995 : : case 9:
19996 : : if (!(
19997 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19998 : : ((64 == 64 || TARGET_AVX512VL
19999 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20000 : : && ix86_pre_reload_split ()
20001 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20002 : : STRIP_UNARY (operands[4]))
20003 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20004 : : STRIP_UNARY (operands[4]))
20005 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20006 : : STRIP_UNARY (operands[3]))
20007 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20008 : : STRIP_UNARY (operands[3])))) &&
20009 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20010 : : (TARGET_AVX512F)))
20011 : : return -1;
20012 : : return 6676; /* *avx512f_vpternlogv8df_2 */
20013 : :
20014 : : case 10:
20015 : : if (!(
20016 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20017 : : ((32 == 64 || TARGET_AVX512VL
20018 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20019 : : && ix86_pre_reload_split ()
20020 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20021 : : STRIP_UNARY (operands[4]))
20022 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20023 : : STRIP_UNARY (operands[4]))
20024 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20025 : : STRIP_UNARY (operands[3]))
20026 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20027 : : STRIP_UNARY (operands[3])))) &&
20028 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20029 : : (TARGET_AVX)))
20030 : : return -1;
20031 : : return 6703; /* *avx512vl_vpternlogv4df_2 */
20032 : :
20033 : : case 11:
20034 : : if (!(
20035 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20036 : : ((16 == 64 || TARGET_AVX512VL
20037 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20038 : : && ix86_pre_reload_split ()
20039 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20040 : : STRIP_UNARY (operands[4]))
20041 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20042 : : STRIP_UNARY (operands[4]))
20043 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20044 : : STRIP_UNARY (operands[3]))
20045 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20046 : : STRIP_UNARY (operands[3])))) &&
20047 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20048 : : (TARGET_SSE2)))
20049 : : return -1;
20050 : : return 6730; /* *avx512vl_vpternlogv2df_2 */
20051 : :
20052 : : default:
20053 : : return -1;
20054 : : }
20055 : :
20056 : : default:
20057 : : return -1;
20058 : : }
20059 : :
20060 : : case IOR:
20061 : : x4 = XEXP (x3, 0);
20062 : : switch (GET_CODE (x4))
20063 : : {
20064 : : case REG:
20065 : : case SUBREG:
20066 : : case MEM:
20067 : : case NOT:
20068 : : switch (pattern524 (x2))
20069 : : {
20070 : : case 0:
20071 : : if (!(
20072 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20073 : : ((64 == 64 || TARGET_AVX512VL
20074 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20075 : : && ix86_pre_reload_split ()
20076 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20077 : : STRIP_UNARY (operands[4]))
20078 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20079 : : STRIP_UNARY (operands[4]))
20080 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20081 : : STRIP_UNARY (operands[3]))
20082 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20083 : : STRIP_UNARY (operands[3])))) &&
20084 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20085 : : (TARGET_AVX512F)))
20086 : : return -1;
20087 : : return 5788; /* *avx512bw_vpternlogv32hf_1 */
20088 : :
20089 : : case 1:
20090 : : if (!(
20091 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20092 : : ((32 == 64 || TARGET_AVX512VL
20093 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20094 : : && ix86_pre_reload_split ()
20095 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20096 : : STRIP_UNARY (operands[4]))
20097 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20098 : : STRIP_UNARY (operands[4]))
20099 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20100 : : STRIP_UNARY (operands[3]))
20101 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20102 : : STRIP_UNARY (operands[3])))) &&
20103 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20104 : : (TARGET_AVX)))
20105 : : return -1;
20106 : : return 5815; /* *avx512vl_vpternlogv16hf_1 */
20107 : :
20108 : : case 2:
20109 : : if (!
20110 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20111 : : ((16 == 64 || TARGET_AVX512VL
20112 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20113 : : && ix86_pre_reload_split ()
20114 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20115 : : STRIP_UNARY (operands[4]))
20116 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20117 : : STRIP_UNARY (operands[4]))
20118 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20119 : : STRIP_UNARY (operands[3]))
20120 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20121 : : STRIP_UNARY (operands[3])))))
20122 : : return -1;
20123 : : return 5842; /* *avx512fp16_vpternlogv8hf_1 */
20124 : :
20125 : : case 3:
20126 : : if (!(
20127 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20128 : : ((64 == 64 || TARGET_AVX512VL
20129 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20130 : : && ix86_pre_reload_split ()
20131 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20132 : : STRIP_UNARY (operands[4]))
20133 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20134 : : STRIP_UNARY (operands[4]))
20135 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20136 : : STRIP_UNARY (operands[3]))
20137 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20138 : : STRIP_UNARY (operands[3])))) &&
20139 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20140 : : (TARGET_AVX512F)))
20141 : : return -1;
20142 : : return 5869; /* *avx512bw_vpternlogv32bf_1 */
20143 : :
20144 : : case 4:
20145 : : if (!(
20146 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20147 : : ((32 == 64 || TARGET_AVX512VL
20148 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20149 : : && ix86_pre_reload_split ()
20150 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20151 : : STRIP_UNARY (operands[4]))
20152 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20153 : : STRIP_UNARY (operands[4]))
20154 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20155 : : STRIP_UNARY (operands[3]))
20156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20157 : : STRIP_UNARY (operands[3])))) &&
20158 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20159 : : (TARGET_AVX)))
20160 : : return -1;
20161 : : return 5896; /* *avx512vl_vpternlogv16bf_1 */
20162 : :
20163 : : case 5:
20164 : : if (!
20165 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20166 : : ((16 == 64 || TARGET_AVX512VL
20167 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20168 : : && ix86_pre_reload_split ()
20169 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20170 : : STRIP_UNARY (operands[4]))
20171 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20172 : : STRIP_UNARY (operands[4]))
20173 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20174 : : STRIP_UNARY (operands[3]))
20175 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20176 : : STRIP_UNARY (operands[3])))))
20177 : : return -1;
20178 : : return 5923; /* *avx512vl_vpternlogv8bf_1 */
20179 : :
20180 : : case 6:
20181 : : if (!(
20182 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20183 : : ((64 == 64 || TARGET_AVX512VL
20184 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20185 : : && ix86_pre_reload_split ()
20186 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20187 : : STRIP_UNARY (operands[4]))
20188 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20189 : : STRIP_UNARY (operands[4]))
20190 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20191 : : STRIP_UNARY (operands[3]))
20192 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20193 : : STRIP_UNARY (operands[3])))) &&
20194 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20195 : : (TARGET_AVX512F)))
20196 : : return -1;
20197 : : return 5950; /* *avx512f_vpternlogv16sf_1 */
20198 : :
20199 : : case 7:
20200 : : if (!(
20201 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20202 : : ((32 == 64 || TARGET_AVX512VL
20203 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20204 : : && ix86_pre_reload_split ()
20205 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20206 : : STRIP_UNARY (operands[4]))
20207 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20208 : : STRIP_UNARY (operands[4]))
20209 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20210 : : STRIP_UNARY (operands[3]))
20211 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20212 : : STRIP_UNARY (operands[3])))) &&
20213 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20214 : : (TARGET_AVX)))
20215 : : return -1;
20216 : : return 5977; /* *avx512vl_vpternlogv8sf_1 */
20217 : :
20218 : : case 8:
20219 : : if (!
20220 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20221 : : ((16 == 64 || TARGET_AVX512VL
20222 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20223 : : && ix86_pre_reload_split ()
20224 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20225 : : STRIP_UNARY (operands[4]))
20226 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20227 : : STRIP_UNARY (operands[4]))
20228 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20229 : : STRIP_UNARY (operands[3]))
20230 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20231 : : STRIP_UNARY (operands[3])))))
20232 : : return -1;
20233 : : return 6004; /* *avx512vl_vpternlogv4sf_1 */
20234 : :
20235 : : case 9:
20236 : : if (!(
20237 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20238 : : ((64 == 64 || TARGET_AVX512VL
20239 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20240 : : && ix86_pre_reload_split ()
20241 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20242 : : STRIP_UNARY (operands[4]))
20243 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20244 : : STRIP_UNARY (operands[4]))
20245 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20246 : : STRIP_UNARY (operands[3]))
20247 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20248 : : STRIP_UNARY (operands[3])))) &&
20249 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20250 : : (TARGET_AVX512F)))
20251 : : return -1;
20252 : : return 6031; /* *avx512f_vpternlogv8df_1 */
20253 : :
20254 : : case 10:
20255 : : if (!(
20256 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20257 : : ((32 == 64 || TARGET_AVX512VL
20258 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20259 : : && ix86_pre_reload_split ()
20260 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20261 : : STRIP_UNARY (operands[4]))
20262 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20263 : : STRIP_UNARY (operands[4]))
20264 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20265 : : STRIP_UNARY (operands[3]))
20266 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20267 : : STRIP_UNARY (operands[3])))) &&
20268 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20269 : : (TARGET_AVX)))
20270 : : return -1;
20271 : : return 6058; /* *avx512vl_vpternlogv4df_1 */
20272 : :
20273 : : case 11:
20274 : : if (!(
20275 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20276 : : ((16 == 64 || TARGET_AVX512VL
20277 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20278 : : && ix86_pre_reload_split ()
20279 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20280 : : STRIP_UNARY (operands[4]))
20281 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20282 : : STRIP_UNARY (operands[4]))
20283 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20284 : : STRIP_UNARY (operands[3]))
20285 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20286 : : STRIP_UNARY (operands[3])))) &&
20287 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20288 : : (TARGET_SSE2)))
20289 : : return -1;
20290 : : return 6085; /* *avx512vl_vpternlogv2df_1 */
20291 : :
20292 : : case 12:
20293 : : if (!(
20294 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20295 : : ((64 == 64 || TARGET_AVX512VL
20296 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20297 : : && ix86_pre_reload_split ()
20298 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20299 : : STRIP_UNARY (operands[4]))
20300 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20301 : : STRIP_UNARY (operands[4]))
20302 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20303 : : STRIP_UNARY (operands[3]))
20304 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20305 : : STRIP_UNARY (operands[3])))) &&
20306 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20307 : : (TARGET_AVX512F)))
20308 : : return -1;
20309 : : return 5791; /* *avx512bw_vpternlogv32hf_1 */
20310 : :
20311 : : case 13:
20312 : : if (!(
20313 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20314 : : ((32 == 64 || TARGET_AVX512VL
20315 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20316 : : && ix86_pre_reload_split ()
20317 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20318 : : STRIP_UNARY (operands[4]))
20319 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20320 : : STRIP_UNARY (operands[4]))
20321 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20322 : : STRIP_UNARY (operands[3]))
20323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20324 : : STRIP_UNARY (operands[3])))) &&
20325 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20326 : : (TARGET_AVX)))
20327 : : return -1;
20328 : : return 5818; /* *avx512vl_vpternlogv16hf_1 */
20329 : :
20330 : : case 14:
20331 : : if (!
20332 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20333 : : ((16 == 64 || TARGET_AVX512VL
20334 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20335 : : && ix86_pre_reload_split ()
20336 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20337 : : STRIP_UNARY (operands[4]))
20338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20339 : : STRIP_UNARY (operands[4]))
20340 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20341 : : STRIP_UNARY (operands[3]))
20342 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20343 : : STRIP_UNARY (operands[3])))))
20344 : : return -1;
20345 : : return 5845; /* *avx512fp16_vpternlogv8hf_1 */
20346 : :
20347 : : case 15:
20348 : : if (!(
20349 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20350 : : ((64 == 64 || TARGET_AVX512VL
20351 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20352 : : && ix86_pre_reload_split ()
20353 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20354 : : STRIP_UNARY (operands[4]))
20355 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20356 : : STRIP_UNARY (operands[4]))
20357 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20358 : : STRIP_UNARY (operands[3]))
20359 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20360 : : STRIP_UNARY (operands[3])))) &&
20361 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20362 : : (TARGET_AVX512F)))
20363 : : return -1;
20364 : : return 5872; /* *avx512bw_vpternlogv32bf_1 */
20365 : :
20366 : : case 16:
20367 : : if (!(
20368 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20369 : : ((32 == 64 || TARGET_AVX512VL
20370 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20371 : : && ix86_pre_reload_split ()
20372 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20373 : : STRIP_UNARY (operands[4]))
20374 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20375 : : STRIP_UNARY (operands[4]))
20376 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20377 : : STRIP_UNARY (operands[3]))
20378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20379 : : STRIP_UNARY (operands[3])))) &&
20380 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20381 : : (TARGET_AVX)))
20382 : : return -1;
20383 : : return 5899; /* *avx512vl_vpternlogv16bf_1 */
20384 : :
20385 : : case 17:
20386 : : if (!
20387 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20388 : : ((16 == 64 || TARGET_AVX512VL
20389 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20390 : : && ix86_pre_reload_split ()
20391 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20392 : : STRIP_UNARY (operands[4]))
20393 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20394 : : STRIP_UNARY (operands[4]))
20395 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20396 : : STRIP_UNARY (operands[3]))
20397 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20398 : : STRIP_UNARY (operands[3])))))
20399 : : return -1;
20400 : : return 5926; /* *avx512vl_vpternlogv8bf_1 */
20401 : :
20402 : : case 18:
20403 : : if (!(
20404 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20405 : : ((64 == 64 || TARGET_AVX512VL
20406 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20407 : : && ix86_pre_reload_split ()
20408 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20409 : : STRIP_UNARY (operands[4]))
20410 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20411 : : STRIP_UNARY (operands[4]))
20412 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20413 : : STRIP_UNARY (operands[3]))
20414 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20415 : : STRIP_UNARY (operands[3])))) &&
20416 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20417 : : (TARGET_AVX512F)))
20418 : : return -1;
20419 : : return 5953; /* *avx512f_vpternlogv16sf_1 */
20420 : :
20421 : : case 19:
20422 : : if (!(
20423 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20424 : : ((32 == 64 || TARGET_AVX512VL
20425 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20426 : : && ix86_pre_reload_split ()
20427 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20428 : : STRIP_UNARY (operands[4]))
20429 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20430 : : STRIP_UNARY (operands[4]))
20431 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20432 : : STRIP_UNARY (operands[3]))
20433 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20434 : : STRIP_UNARY (operands[3])))) &&
20435 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20436 : : (TARGET_AVX)))
20437 : : return -1;
20438 : : return 5980; /* *avx512vl_vpternlogv8sf_1 */
20439 : :
20440 : : case 20:
20441 : : if (!
20442 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20443 : : ((16 == 64 || TARGET_AVX512VL
20444 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20445 : : && ix86_pre_reload_split ()
20446 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20447 : : STRIP_UNARY (operands[4]))
20448 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20449 : : STRIP_UNARY (operands[4]))
20450 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20451 : : STRIP_UNARY (operands[3]))
20452 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20453 : : STRIP_UNARY (operands[3])))))
20454 : : return -1;
20455 : : return 6007; /* *avx512vl_vpternlogv4sf_1 */
20456 : :
20457 : : case 21:
20458 : : if (!(
20459 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20460 : : ((64 == 64 || TARGET_AVX512VL
20461 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20462 : : && ix86_pre_reload_split ()
20463 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20464 : : STRIP_UNARY (operands[4]))
20465 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20466 : : STRIP_UNARY (operands[4]))
20467 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20468 : : STRIP_UNARY (operands[3]))
20469 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20470 : : STRIP_UNARY (operands[3])))) &&
20471 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20472 : : (TARGET_AVX512F)))
20473 : : return -1;
20474 : : return 6034; /* *avx512f_vpternlogv8df_1 */
20475 : :
20476 : : case 22:
20477 : : if (!(
20478 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20479 : : ((32 == 64 || TARGET_AVX512VL
20480 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20481 : : && ix86_pre_reload_split ()
20482 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20483 : : STRIP_UNARY (operands[4]))
20484 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20485 : : STRIP_UNARY (operands[4]))
20486 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20487 : : STRIP_UNARY (operands[3]))
20488 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20489 : : STRIP_UNARY (operands[3])))) &&
20490 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20491 : : (TARGET_AVX)))
20492 : : return -1;
20493 : : return 6061; /* *avx512vl_vpternlogv4df_1 */
20494 : :
20495 : : case 23:
20496 : : if (!(
20497 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20498 : : ((16 == 64 || TARGET_AVX512VL
20499 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20500 : : && ix86_pre_reload_split ()
20501 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20502 : : STRIP_UNARY (operands[4]))
20503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20504 : : STRIP_UNARY (operands[4]))
20505 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20506 : : STRIP_UNARY (operands[3]))
20507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20508 : : STRIP_UNARY (operands[3])))) &&
20509 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20510 : : (TARGET_SSE2)))
20511 : : return -1;
20512 : : return 6088; /* *avx512vl_vpternlogv2df_1 */
20513 : :
20514 : : case 24:
20515 : : if (!(
20516 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20517 : : ((64 == 64 || TARGET_AVX512VL
20518 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20519 : : && ix86_pre_reload_split ()
20520 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20521 : : STRIP_UNARY (operands[4]))
20522 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20523 : : STRIP_UNARY (operands[4]))
20524 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20525 : : STRIP_UNARY (operands[3]))
20526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20527 : : STRIP_UNARY (operands[3])))) &&
20528 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20529 : : (TARGET_AVX512F)))
20530 : : return -1;
20531 : : return 5794; /* *avx512bw_vpternlogv32hf_1 */
20532 : :
20533 : : case 25:
20534 : : if (!(
20535 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20536 : : ((32 == 64 || TARGET_AVX512VL
20537 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20538 : : && ix86_pre_reload_split ()
20539 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20540 : : STRIP_UNARY (operands[4]))
20541 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20542 : : STRIP_UNARY (operands[4]))
20543 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20544 : : STRIP_UNARY (operands[3]))
20545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20546 : : STRIP_UNARY (operands[3])))) &&
20547 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20548 : : (TARGET_AVX)))
20549 : : return -1;
20550 : : return 5821; /* *avx512vl_vpternlogv16hf_1 */
20551 : :
20552 : : case 26:
20553 : : if (!
20554 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20555 : : ((16 == 64 || TARGET_AVX512VL
20556 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20557 : : && ix86_pre_reload_split ()
20558 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20559 : : STRIP_UNARY (operands[4]))
20560 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20561 : : STRIP_UNARY (operands[4]))
20562 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20563 : : STRIP_UNARY (operands[3]))
20564 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20565 : : STRIP_UNARY (operands[3])))))
20566 : : return -1;
20567 : : return 5848; /* *avx512fp16_vpternlogv8hf_1 */
20568 : :
20569 : : case 27:
20570 : : if (!(
20571 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20572 : : ((64 == 64 || TARGET_AVX512VL
20573 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20574 : : && ix86_pre_reload_split ()
20575 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20576 : : STRIP_UNARY (operands[4]))
20577 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20578 : : STRIP_UNARY (operands[4]))
20579 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20580 : : STRIP_UNARY (operands[3]))
20581 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20582 : : STRIP_UNARY (operands[3])))) &&
20583 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20584 : : (TARGET_AVX512F)))
20585 : : return -1;
20586 : : return 5875; /* *avx512bw_vpternlogv32bf_1 */
20587 : :
20588 : : case 28:
20589 : : if (!(
20590 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20591 : : ((32 == 64 || TARGET_AVX512VL
20592 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20593 : : && ix86_pre_reload_split ()
20594 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20595 : : STRIP_UNARY (operands[4]))
20596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20597 : : STRIP_UNARY (operands[4]))
20598 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20599 : : STRIP_UNARY (operands[3]))
20600 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20601 : : STRIP_UNARY (operands[3])))) &&
20602 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20603 : : (TARGET_AVX)))
20604 : : return -1;
20605 : : return 5902; /* *avx512vl_vpternlogv16bf_1 */
20606 : :
20607 : : case 29:
20608 : : if (!
20609 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20610 : : ((16 == 64 || TARGET_AVX512VL
20611 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20612 : : && ix86_pre_reload_split ()
20613 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20614 : : STRIP_UNARY (operands[4]))
20615 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20616 : : STRIP_UNARY (operands[4]))
20617 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20618 : : STRIP_UNARY (operands[3]))
20619 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20620 : : STRIP_UNARY (operands[3])))))
20621 : : return -1;
20622 : : return 5929; /* *avx512vl_vpternlogv8bf_1 */
20623 : :
20624 : : case 30:
20625 : : if (!(
20626 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20627 : : ((64 == 64 || TARGET_AVX512VL
20628 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20629 : : && ix86_pre_reload_split ()
20630 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20631 : : STRIP_UNARY (operands[4]))
20632 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20633 : : STRIP_UNARY (operands[4]))
20634 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20635 : : STRIP_UNARY (operands[3]))
20636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20637 : : STRIP_UNARY (operands[3])))) &&
20638 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20639 : : (TARGET_AVX512F)))
20640 : : return -1;
20641 : : return 5956; /* *avx512f_vpternlogv16sf_1 */
20642 : :
20643 : : case 31:
20644 : : if (!(
20645 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20646 : : ((32 == 64 || TARGET_AVX512VL
20647 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20648 : : && ix86_pre_reload_split ()
20649 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20650 : : STRIP_UNARY (operands[4]))
20651 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20652 : : STRIP_UNARY (operands[4]))
20653 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20654 : : STRIP_UNARY (operands[3]))
20655 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20656 : : STRIP_UNARY (operands[3])))) &&
20657 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20658 : : (TARGET_AVX)))
20659 : : return -1;
20660 : : return 5983; /* *avx512vl_vpternlogv8sf_1 */
20661 : :
20662 : : case 32:
20663 : : if (!
20664 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20665 : : ((16 == 64 || TARGET_AVX512VL
20666 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20667 : : && ix86_pre_reload_split ()
20668 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20669 : : STRIP_UNARY (operands[4]))
20670 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20671 : : STRIP_UNARY (operands[4]))
20672 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20673 : : STRIP_UNARY (operands[3]))
20674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20675 : : STRIP_UNARY (operands[3])))))
20676 : : return -1;
20677 : : return 6010; /* *avx512vl_vpternlogv4sf_1 */
20678 : :
20679 : : case 33:
20680 : : if (!(
20681 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20682 : : ((64 == 64 || TARGET_AVX512VL
20683 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20684 : : && ix86_pre_reload_split ()
20685 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20686 : : STRIP_UNARY (operands[4]))
20687 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20688 : : STRIP_UNARY (operands[4]))
20689 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20690 : : STRIP_UNARY (operands[3]))
20691 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20692 : : STRIP_UNARY (operands[3])))) &&
20693 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20694 : : (TARGET_AVX512F)))
20695 : : return -1;
20696 : : return 6037; /* *avx512f_vpternlogv8df_1 */
20697 : :
20698 : : case 34:
20699 : : if (!(
20700 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20701 : : ((32 == 64 || TARGET_AVX512VL
20702 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20703 : : && ix86_pre_reload_split ()
20704 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20705 : : STRIP_UNARY (operands[4]))
20706 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20707 : : STRIP_UNARY (operands[4]))
20708 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20709 : : STRIP_UNARY (operands[3]))
20710 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20711 : : STRIP_UNARY (operands[3])))) &&
20712 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20713 : : (TARGET_AVX)))
20714 : : return -1;
20715 : : return 6064; /* *avx512vl_vpternlogv4df_1 */
20716 : :
20717 : : case 35:
20718 : : if (!(
20719 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20720 : : ((16 == 64 || TARGET_AVX512VL
20721 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20722 : : && ix86_pre_reload_split ()
20723 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20724 : : STRIP_UNARY (operands[4]))
20725 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20726 : : STRIP_UNARY (operands[4]))
20727 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20728 : : STRIP_UNARY (operands[3]))
20729 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20730 : : STRIP_UNARY (operands[3])))) &&
20731 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20732 : : (TARGET_SSE2)))
20733 : : return -1;
20734 : : return 6091; /* *avx512vl_vpternlogv2df_1 */
20735 : :
20736 : : case 36:
20737 : : if (!(
20738 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20739 : : ((64 == 64 || TARGET_AVX512VL
20740 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20741 : : && ix86_pre_reload_split ()) &&
20742 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20743 : : (TARGET_AVX512F)))
20744 : : return -1;
20745 : : return 6862; /* *avx512bw_vpternlogv32hf_3 */
20746 : :
20747 : : case 37:
20748 : : if (!(
20749 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20750 : : ((32 == 64 || TARGET_AVX512VL
20751 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20752 : : && ix86_pre_reload_split ()) &&
20753 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20754 : : (TARGET_AVX)))
20755 : : return -1;
20756 : : return 6871; /* *avx512vl_vpternlogv16hf_3 */
20757 : :
20758 : : case 38:
20759 : : if (!
20760 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20761 : : ((16 == 64 || TARGET_AVX512VL
20762 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20763 : : && ix86_pre_reload_split ()))
20764 : : return -1;
20765 : : return 6880; /* *avx512fp16_vpternlogv8hf_3 */
20766 : :
20767 : : case 39:
20768 : : if (!(
20769 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20770 : : ((64 == 64 || TARGET_AVX512VL
20771 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20772 : : && ix86_pre_reload_split ()) &&
20773 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20774 : : (TARGET_AVX512F)))
20775 : : return -1;
20776 : : return 6889; /* *avx512bw_vpternlogv32bf_3 */
20777 : :
20778 : : case 40:
20779 : : if (!(
20780 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20781 : : ((32 == 64 || TARGET_AVX512VL
20782 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20783 : : && ix86_pre_reload_split ()) &&
20784 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20785 : : (TARGET_AVX)))
20786 : : return -1;
20787 : : return 6898; /* *avx512vl_vpternlogv16bf_3 */
20788 : :
20789 : : case 41:
20790 : : if (!
20791 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20792 : : ((16 == 64 || TARGET_AVX512VL
20793 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20794 : : && ix86_pre_reload_split ()))
20795 : : return -1;
20796 : : return 6907; /* *avx512vl_vpternlogv8bf_3 */
20797 : :
20798 : : case 42:
20799 : : if (!(
20800 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20801 : : ((64 == 64 || TARGET_AVX512VL
20802 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20803 : : && ix86_pre_reload_split ()) &&
20804 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20805 : : (TARGET_AVX512F)))
20806 : : return -1;
20807 : : return 6916; /* *avx512f_vpternlogv16sf_3 */
20808 : :
20809 : : case 43:
20810 : : if (!(
20811 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20812 : : ((32 == 64 || TARGET_AVX512VL
20813 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20814 : : && ix86_pre_reload_split ()) &&
20815 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20816 : : (TARGET_AVX)))
20817 : : return -1;
20818 : : return 6925; /* *avx512vl_vpternlogv8sf_3 */
20819 : :
20820 : : case 44:
20821 : : if (!
20822 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20823 : : ((16 == 64 || TARGET_AVX512VL
20824 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20825 : : && ix86_pre_reload_split ()))
20826 : : return -1;
20827 : : return 6934; /* *avx512vl_vpternlogv4sf_3 */
20828 : :
20829 : : case 45:
20830 : : if (!(
20831 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20832 : : ((64 == 64 || TARGET_AVX512VL
20833 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20834 : : && ix86_pre_reload_split ()) &&
20835 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20836 : : (TARGET_AVX512F)))
20837 : : return -1;
20838 : : return 6943; /* *avx512f_vpternlogv8df_3 */
20839 : :
20840 : : case 46:
20841 : : if (!(
20842 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20843 : : ((32 == 64 || TARGET_AVX512VL
20844 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20845 : : && ix86_pre_reload_split ()) &&
20846 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20847 : : (TARGET_AVX)))
20848 : : return -1;
20849 : : return 6952; /* *avx512vl_vpternlogv4df_3 */
20850 : :
20851 : : case 47:
20852 : : if (!(
20853 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20854 : : ((16 == 64 || TARGET_AVX512VL
20855 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20856 : : && ix86_pre_reload_split ()) &&
20857 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20858 : : (TARGET_SSE2)))
20859 : : return -1;
20860 : : return 6961; /* *avx512vl_vpternlogv2df_3 */
20861 : :
20862 : : default:
20863 : : return -1;
20864 : : }
20865 : :
20866 : : case AND:
20867 : : switch (pattern525 (x2))
20868 : : {
20869 : : case 0:
20870 : : if (!(
20871 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20872 : : ((64 == 64 || TARGET_AVX512VL
20873 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20874 : : && ix86_pre_reload_split ()
20875 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20876 : : STRIP_UNARY (operands[4]))
20877 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20878 : : STRIP_UNARY (operands[4]))
20879 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20880 : : STRIP_UNARY (operands[3]))
20881 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20882 : : STRIP_UNARY (operands[3])))) &&
20883 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20884 : : (TARGET_AVX512F)))
20885 : : return -1;
20886 : : return 6436; /* *avx512bw_vpternlogv32hf_2 */
20887 : :
20888 : : case 1:
20889 : : if (!(
20890 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20891 : : ((32 == 64 || TARGET_AVX512VL
20892 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20893 : : && ix86_pre_reload_split ()
20894 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20895 : : STRIP_UNARY (operands[4]))
20896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20897 : : STRIP_UNARY (operands[4]))
20898 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20899 : : STRIP_UNARY (operands[3]))
20900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20901 : : STRIP_UNARY (operands[3])))) &&
20902 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20903 : : (TARGET_AVX)))
20904 : : return -1;
20905 : : return 6463; /* *avx512vl_vpternlogv16hf_2 */
20906 : :
20907 : : case 2:
20908 : : if (!
20909 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20910 : : ((16 == 64 || TARGET_AVX512VL
20911 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20912 : : && ix86_pre_reload_split ()
20913 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20914 : : STRIP_UNARY (operands[4]))
20915 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20916 : : STRIP_UNARY (operands[4]))
20917 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20918 : : STRIP_UNARY (operands[3]))
20919 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20920 : : STRIP_UNARY (operands[3])))))
20921 : : return -1;
20922 : : return 6490; /* *avx512fp16_vpternlogv8hf_2 */
20923 : :
20924 : : case 3:
20925 : : if (!(
20926 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20927 : : ((64 == 64 || TARGET_AVX512VL
20928 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20929 : : && ix86_pre_reload_split ()
20930 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20931 : : STRIP_UNARY (operands[4]))
20932 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20933 : : STRIP_UNARY (operands[4]))
20934 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20935 : : STRIP_UNARY (operands[3]))
20936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20937 : : STRIP_UNARY (operands[3])))) &&
20938 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20939 : : (TARGET_AVX512F)))
20940 : : return -1;
20941 : : return 6517; /* *avx512bw_vpternlogv32bf_2 */
20942 : :
20943 : : case 4:
20944 : : if (!(
20945 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20946 : : ((32 == 64 || TARGET_AVX512VL
20947 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20948 : : && ix86_pre_reload_split ()
20949 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20950 : : STRIP_UNARY (operands[4]))
20951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20952 : : STRIP_UNARY (operands[4]))
20953 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20954 : : STRIP_UNARY (operands[3]))
20955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20956 : : STRIP_UNARY (operands[3])))) &&
20957 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20958 : : (TARGET_AVX)))
20959 : : return -1;
20960 : : return 6544; /* *avx512vl_vpternlogv16bf_2 */
20961 : :
20962 : : case 5:
20963 : : if (!
20964 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20965 : : ((16 == 64 || TARGET_AVX512VL
20966 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20967 : : && ix86_pre_reload_split ()
20968 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20969 : : STRIP_UNARY (operands[4]))
20970 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20971 : : STRIP_UNARY (operands[4]))
20972 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20973 : : STRIP_UNARY (operands[3]))
20974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20975 : : STRIP_UNARY (operands[3])))))
20976 : : return -1;
20977 : : return 6571; /* *avx512vl_vpternlogv8bf_2 */
20978 : :
20979 : : case 6:
20980 : : if (!(
20981 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20982 : : ((64 == 64 || TARGET_AVX512VL
20983 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20984 : : && ix86_pre_reload_split ()
20985 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20986 : : STRIP_UNARY (operands[4]))
20987 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20988 : : STRIP_UNARY (operands[4]))
20989 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20990 : : STRIP_UNARY (operands[3]))
20991 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20992 : : STRIP_UNARY (operands[3])))) &&
20993 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20994 : : (TARGET_AVX512F)))
20995 : : return -1;
20996 : : return 6598; /* *avx512f_vpternlogv16sf_2 */
20997 : :
20998 : : case 7:
20999 : : if (!(
21000 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21001 : : ((32 == 64 || TARGET_AVX512VL
21002 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21003 : : && ix86_pre_reload_split ()
21004 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21005 : : STRIP_UNARY (operands[4]))
21006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21007 : : STRIP_UNARY (operands[4]))
21008 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21009 : : STRIP_UNARY (operands[3]))
21010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21011 : : STRIP_UNARY (operands[3])))) &&
21012 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21013 : : (TARGET_AVX)))
21014 : : return -1;
21015 : : return 6625; /* *avx512vl_vpternlogv8sf_2 */
21016 : :
21017 : : case 8:
21018 : : if (!
21019 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21020 : : ((16 == 64 || TARGET_AVX512VL
21021 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21022 : : && ix86_pre_reload_split ()
21023 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21024 : : STRIP_UNARY (operands[4]))
21025 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21026 : : STRIP_UNARY (operands[4]))
21027 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21028 : : STRIP_UNARY (operands[3]))
21029 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21030 : : STRIP_UNARY (operands[3])))))
21031 : : return -1;
21032 : : return 6652; /* *avx512vl_vpternlogv4sf_2 */
21033 : :
21034 : : case 9:
21035 : : if (!(
21036 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21037 : : ((64 == 64 || TARGET_AVX512VL
21038 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21039 : : && ix86_pre_reload_split ()
21040 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21041 : : STRIP_UNARY (operands[4]))
21042 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21043 : : STRIP_UNARY (operands[4]))
21044 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21045 : : STRIP_UNARY (operands[3]))
21046 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21047 : : STRIP_UNARY (operands[3])))) &&
21048 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21049 : : (TARGET_AVX512F)))
21050 : : return -1;
21051 : : return 6679; /* *avx512f_vpternlogv8df_2 */
21052 : :
21053 : : case 10:
21054 : : if (!(
21055 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21056 : : ((32 == 64 || TARGET_AVX512VL
21057 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21058 : : && ix86_pre_reload_split ()
21059 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21060 : : STRIP_UNARY (operands[4]))
21061 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21062 : : STRIP_UNARY (operands[4]))
21063 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21064 : : STRIP_UNARY (operands[3]))
21065 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21066 : : STRIP_UNARY (operands[3])))) &&
21067 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21068 : : (TARGET_AVX)))
21069 : : return -1;
21070 : : return 6706; /* *avx512vl_vpternlogv4df_2 */
21071 : :
21072 : : case 11:
21073 : : if (!(
21074 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21075 : : ((16 == 64 || TARGET_AVX512VL
21076 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21077 : : && ix86_pre_reload_split ()
21078 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21079 : : STRIP_UNARY (operands[4]))
21080 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21081 : : STRIP_UNARY (operands[4]))
21082 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21083 : : STRIP_UNARY (operands[3]))
21084 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21085 : : STRIP_UNARY (operands[3])))) &&
21086 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21087 : : (TARGET_SSE2)))
21088 : : return -1;
21089 : : return 6733; /* *avx512vl_vpternlogv2df_2 */
21090 : :
21091 : : default:
21092 : : return -1;
21093 : : }
21094 : :
21095 : : case IOR:
21096 : : switch (pattern525 (x2))
21097 : : {
21098 : : case 0:
21099 : : if (!(
21100 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21101 : : ((64 == 64 || TARGET_AVX512VL
21102 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21103 : : && ix86_pre_reload_split ()
21104 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21105 : : STRIP_UNARY (operands[4]))
21106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21107 : : STRIP_UNARY (operands[4]))
21108 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21109 : : STRIP_UNARY (operands[3]))
21110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21111 : : STRIP_UNARY (operands[3])))) &&
21112 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21113 : : (TARGET_AVX512F)))
21114 : : return -1;
21115 : : return 6439; /* *avx512bw_vpternlogv32hf_2 */
21116 : :
21117 : : case 1:
21118 : : if (!(
21119 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21120 : : ((32 == 64 || TARGET_AVX512VL
21121 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21122 : : && ix86_pre_reload_split ()
21123 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21124 : : STRIP_UNARY (operands[4]))
21125 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21126 : : STRIP_UNARY (operands[4]))
21127 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21128 : : STRIP_UNARY (operands[3]))
21129 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21130 : : STRIP_UNARY (operands[3])))) &&
21131 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21132 : : (TARGET_AVX)))
21133 : : return -1;
21134 : : return 6466; /* *avx512vl_vpternlogv16hf_2 */
21135 : :
21136 : : case 2:
21137 : : if (!
21138 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21139 : : ((16 == 64 || TARGET_AVX512VL
21140 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21141 : : && ix86_pre_reload_split ()
21142 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21143 : : STRIP_UNARY (operands[4]))
21144 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21145 : : STRIP_UNARY (operands[4]))
21146 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21147 : : STRIP_UNARY (operands[3]))
21148 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21149 : : STRIP_UNARY (operands[3])))))
21150 : : return -1;
21151 : : return 6493; /* *avx512fp16_vpternlogv8hf_2 */
21152 : :
21153 : : case 3:
21154 : : if (!(
21155 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21156 : : ((64 == 64 || TARGET_AVX512VL
21157 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21158 : : && ix86_pre_reload_split ()
21159 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21160 : : STRIP_UNARY (operands[4]))
21161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21162 : : STRIP_UNARY (operands[4]))
21163 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21164 : : STRIP_UNARY (operands[3]))
21165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21166 : : STRIP_UNARY (operands[3])))) &&
21167 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21168 : : (TARGET_AVX512F)))
21169 : : return -1;
21170 : : return 6520; /* *avx512bw_vpternlogv32bf_2 */
21171 : :
21172 : : case 4:
21173 : : if (!(
21174 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21175 : : ((32 == 64 || TARGET_AVX512VL
21176 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21177 : : && ix86_pre_reload_split ()
21178 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21179 : : STRIP_UNARY (operands[4]))
21180 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21181 : : STRIP_UNARY (operands[4]))
21182 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21183 : : STRIP_UNARY (operands[3]))
21184 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21185 : : STRIP_UNARY (operands[3])))) &&
21186 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21187 : : (TARGET_AVX)))
21188 : : return -1;
21189 : : return 6547; /* *avx512vl_vpternlogv16bf_2 */
21190 : :
21191 : : case 5:
21192 : : if (!
21193 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21194 : : ((16 == 64 || TARGET_AVX512VL
21195 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21196 : : && ix86_pre_reload_split ()
21197 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21198 : : STRIP_UNARY (operands[4]))
21199 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21200 : : STRIP_UNARY (operands[4]))
21201 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21202 : : STRIP_UNARY (operands[3]))
21203 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21204 : : STRIP_UNARY (operands[3])))))
21205 : : return -1;
21206 : : return 6574; /* *avx512vl_vpternlogv8bf_2 */
21207 : :
21208 : : case 6:
21209 : : if (!(
21210 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21211 : : ((64 == 64 || TARGET_AVX512VL
21212 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21213 : : && ix86_pre_reload_split ()
21214 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21215 : : STRIP_UNARY (operands[4]))
21216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21217 : : STRIP_UNARY (operands[4]))
21218 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21219 : : STRIP_UNARY (operands[3]))
21220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21221 : : STRIP_UNARY (operands[3])))) &&
21222 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21223 : : (TARGET_AVX512F)))
21224 : : return -1;
21225 : : return 6601; /* *avx512f_vpternlogv16sf_2 */
21226 : :
21227 : : case 7:
21228 : : if (!(
21229 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21230 : : ((32 == 64 || TARGET_AVX512VL
21231 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21232 : : && ix86_pre_reload_split ()
21233 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21234 : : STRIP_UNARY (operands[4]))
21235 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21236 : : STRIP_UNARY (operands[4]))
21237 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21238 : : STRIP_UNARY (operands[3]))
21239 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21240 : : STRIP_UNARY (operands[3])))) &&
21241 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21242 : : (TARGET_AVX)))
21243 : : return -1;
21244 : : return 6628; /* *avx512vl_vpternlogv8sf_2 */
21245 : :
21246 : : case 8:
21247 : : if (!
21248 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21249 : : ((16 == 64 || TARGET_AVX512VL
21250 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21251 : : && ix86_pre_reload_split ()
21252 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21253 : : STRIP_UNARY (operands[4]))
21254 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21255 : : STRIP_UNARY (operands[4]))
21256 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21257 : : STRIP_UNARY (operands[3]))
21258 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21259 : : STRIP_UNARY (operands[3])))))
21260 : : return -1;
21261 : : return 6655; /* *avx512vl_vpternlogv4sf_2 */
21262 : :
21263 : : case 9:
21264 : : if (!(
21265 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21266 : : ((64 == 64 || TARGET_AVX512VL
21267 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21268 : : && ix86_pre_reload_split ()
21269 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21270 : : STRIP_UNARY (operands[4]))
21271 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21272 : : STRIP_UNARY (operands[4]))
21273 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21274 : : STRIP_UNARY (operands[3]))
21275 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21276 : : STRIP_UNARY (operands[3])))) &&
21277 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21278 : : (TARGET_AVX512F)))
21279 : : return -1;
21280 : : return 6682; /* *avx512f_vpternlogv8df_2 */
21281 : :
21282 : : case 10:
21283 : : if (!(
21284 : : #line 13894 "/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 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21289 : : STRIP_UNARY (operands[4]))
21290 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21291 : : STRIP_UNARY (operands[4]))
21292 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21293 : : STRIP_UNARY (operands[3]))
21294 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21295 : : STRIP_UNARY (operands[3])))) &&
21296 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21297 : : (TARGET_AVX)))
21298 : : return -1;
21299 : : return 6709; /* *avx512vl_vpternlogv4df_2 */
21300 : :
21301 : : case 11:
21302 : : if (!(
21303 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21304 : : ((16 == 64 || TARGET_AVX512VL
21305 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21306 : : && ix86_pre_reload_split ()
21307 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21308 : : STRIP_UNARY (operands[4]))
21309 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21310 : : STRIP_UNARY (operands[4]))
21311 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21312 : : STRIP_UNARY (operands[3]))
21313 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21314 : : STRIP_UNARY (operands[3])))) &&
21315 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21316 : : (TARGET_SSE2)))
21317 : : return -1;
21318 : : return 6736; /* *avx512vl_vpternlogv2df_2 */
21319 : :
21320 : : default:
21321 : : return -1;
21322 : : }
21323 : :
21324 : : case XOR:
21325 : : switch (pattern525 (x2))
21326 : : {
21327 : : case 0:
21328 : : if (!(
21329 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21330 : : ((64 == 64 || TARGET_AVX512VL
21331 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21332 : : && ix86_pre_reload_split ()
21333 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21334 : : STRIP_UNARY (operands[4]))
21335 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21336 : : STRIP_UNARY (operands[4]))
21337 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21338 : : STRIP_UNARY (operands[3]))
21339 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21340 : : STRIP_UNARY (operands[3])))) &&
21341 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21342 : : (TARGET_AVX512F)))
21343 : : return -1;
21344 : : return 6442; /* *avx512bw_vpternlogv32hf_2 */
21345 : :
21346 : : case 1:
21347 : : if (!(
21348 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21349 : : ((32 == 64 || TARGET_AVX512VL
21350 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21351 : : && ix86_pre_reload_split ()
21352 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21353 : : STRIP_UNARY (operands[4]))
21354 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21355 : : STRIP_UNARY (operands[4]))
21356 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21357 : : STRIP_UNARY (operands[3]))
21358 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21359 : : STRIP_UNARY (operands[3])))) &&
21360 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21361 : : (TARGET_AVX)))
21362 : : return -1;
21363 : : return 6469; /* *avx512vl_vpternlogv16hf_2 */
21364 : :
21365 : : case 2:
21366 : : if (!
21367 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21368 : : ((16 == 64 || TARGET_AVX512VL
21369 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21370 : : && ix86_pre_reload_split ()
21371 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21372 : : STRIP_UNARY (operands[4]))
21373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21374 : : STRIP_UNARY (operands[4]))
21375 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21376 : : STRIP_UNARY (operands[3]))
21377 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21378 : : STRIP_UNARY (operands[3])))))
21379 : : return -1;
21380 : : return 6496; /* *avx512fp16_vpternlogv8hf_2 */
21381 : :
21382 : : case 3:
21383 : : if (!(
21384 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21385 : : ((64 == 64 || TARGET_AVX512VL
21386 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21387 : : && ix86_pre_reload_split ()
21388 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21389 : : STRIP_UNARY (operands[4]))
21390 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21391 : : STRIP_UNARY (operands[4]))
21392 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21393 : : STRIP_UNARY (operands[3]))
21394 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21395 : : STRIP_UNARY (operands[3])))) &&
21396 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21397 : : (TARGET_AVX512F)))
21398 : : return -1;
21399 : : return 6523; /* *avx512bw_vpternlogv32bf_2 */
21400 : :
21401 : : case 4:
21402 : : if (!(
21403 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21404 : : ((32 == 64 || TARGET_AVX512VL
21405 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21406 : : && ix86_pre_reload_split ()
21407 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21408 : : STRIP_UNARY (operands[4]))
21409 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21410 : : STRIP_UNARY (operands[4]))
21411 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21412 : : STRIP_UNARY (operands[3]))
21413 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21414 : : STRIP_UNARY (operands[3])))) &&
21415 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21416 : : (TARGET_AVX)))
21417 : : return -1;
21418 : : return 6550; /* *avx512vl_vpternlogv16bf_2 */
21419 : :
21420 : : case 5:
21421 : : if (!
21422 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21423 : : ((16 == 64 || TARGET_AVX512VL
21424 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21425 : : && ix86_pre_reload_split ()
21426 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21427 : : STRIP_UNARY (operands[4]))
21428 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21429 : : STRIP_UNARY (operands[4]))
21430 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21431 : : STRIP_UNARY (operands[3]))
21432 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21433 : : STRIP_UNARY (operands[3])))))
21434 : : return -1;
21435 : : return 6577; /* *avx512vl_vpternlogv8bf_2 */
21436 : :
21437 : : case 6:
21438 : : if (!(
21439 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21440 : : ((64 == 64 || TARGET_AVX512VL
21441 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21442 : : && ix86_pre_reload_split ()
21443 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21444 : : STRIP_UNARY (operands[4]))
21445 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21446 : : STRIP_UNARY (operands[4]))
21447 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21448 : : STRIP_UNARY (operands[3]))
21449 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21450 : : STRIP_UNARY (operands[3])))) &&
21451 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21452 : : (TARGET_AVX512F)))
21453 : : return -1;
21454 : : return 6604; /* *avx512f_vpternlogv16sf_2 */
21455 : :
21456 : : case 7:
21457 : : if (!(
21458 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21459 : : ((32 == 64 || TARGET_AVX512VL
21460 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21461 : : && ix86_pre_reload_split ()
21462 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21463 : : STRIP_UNARY (operands[4]))
21464 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21465 : : STRIP_UNARY (operands[4]))
21466 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21467 : : STRIP_UNARY (operands[3]))
21468 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21469 : : STRIP_UNARY (operands[3])))) &&
21470 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21471 : : (TARGET_AVX)))
21472 : : return -1;
21473 : : return 6631; /* *avx512vl_vpternlogv8sf_2 */
21474 : :
21475 : : case 8:
21476 : : if (!
21477 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21478 : : ((16 == 64 || TARGET_AVX512VL
21479 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21480 : : && ix86_pre_reload_split ()
21481 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21482 : : STRIP_UNARY (operands[4]))
21483 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21484 : : STRIP_UNARY (operands[4]))
21485 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21486 : : STRIP_UNARY (operands[3]))
21487 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21488 : : STRIP_UNARY (operands[3])))))
21489 : : return -1;
21490 : : return 6658; /* *avx512vl_vpternlogv4sf_2 */
21491 : :
21492 : : case 9:
21493 : : if (!(
21494 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21495 : : ((64 == 64 || TARGET_AVX512VL
21496 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21497 : : && ix86_pre_reload_split ()
21498 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21499 : : STRIP_UNARY (operands[4]))
21500 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21501 : : STRIP_UNARY (operands[4]))
21502 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21503 : : STRIP_UNARY (operands[3]))
21504 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21505 : : STRIP_UNARY (operands[3])))) &&
21506 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21507 : : (TARGET_AVX512F)))
21508 : : return -1;
21509 : : return 6685; /* *avx512f_vpternlogv8df_2 */
21510 : :
21511 : : case 10:
21512 : : if (!(
21513 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21514 : : ((32 == 64 || TARGET_AVX512VL
21515 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21516 : : && ix86_pre_reload_split ()
21517 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21518 : : STRIP_UNARY (operands[4]))
21519 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21520 : : STRIP_UNARY (operands[4]))
21521 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21522 : : STRIP_UNARY (operands[3]))
21523 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21524 : : STRIP_UNARY (operands[3])))) &&
21525 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21526 : : (TARGET_AVX)))
21527 : : return -1;
21528 : : return 6712; /* *avx512vl_vpternlogv4df_2 */
21529 : :
21530 : : case 11:
21531 : : if (!(
21532 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21533 : : ((16 == 64 || TARGET_AVX512VL
21534 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21535 : : && ix86_pre_reload_split ()
21536 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21537 : : STRIP_UNARY (operands[4]))
21538 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21539 : : STRIP_UNARY (operands[4]))
21540 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21541 : : STRIP_UNARY (operands[3]))
21542 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21543 : : STRIP_UNARY (operands[3])))) &&
21544 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21545 : : (TARGET_SSE2)))
21546 : : return -1;
21547 : : return 6739; /* *avx512vl_vpternlogv2df_2 */
21548 : :
21549 : : default:
21550 : : return -1;
21551 : : }
21552 : :
21553 : : default:
21554 : : return -1;
21555 : : }
21556 : :
21557 : : case XOR:
21558 : : return recog_311 (x1, insn, pnum_clobbers);
21559 : :
21560 : : default:
21561 : : return -1;
21562 : : }
21563 : : }
21564 : :
21565 : : int
21566 : : recog_376 (rtx x1 ATTRIBUTE_UNUSED,
21567 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21568 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21569 : : {
21570 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21571 : : rtx x2, x3, x4, x5, x6, x7;
21572 : : int res ATTRIBUTE_UNUSED;
21573 : : if (pnum_clobbers == NULL)
21574 : : return -1;
21575 : : x2 = XVECEXP (x1, 0, 0);
21576 : : x3 = XEXP (x2, 1);
21577 : : if (GET_MODE (x3) != E_SImode)
21578 : : return -1;
21579 : : x4 = XVECEXP (x1, 0, 1);
21580 : : if (GET_CODE (x4) != USE)
21581 : : return -1;
21582 : : x5 = XEXP (x2, 0);
21583 : : operands[0] = x5;
21584 : : if (!register_operand (operands[0], E_SImode))
21585 : : return -1;
21586 : : x6 = XEXP (x3, 0);
21587 : : operands[3] = x6;
21588 : : x7 = XEXP (x4, 0);
21589 : : operands[4] = x7;
21590 : : switch (GET_MODE (operands[3]))
21591 : : {
21592 : : case E_SFmode:
21593 : : if (!nonimmediate_operand (operands[3], E_SFmode)
21594 : : || !nonimmediate_operand (operands[4], E_V4SFmode)
21595 : : || !
21596 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21597 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
21598 : : && optimize_function_for_speed_p (cfun)))
21599 : : return -1;
21600 : : *pnum_clobbers = 2;
21601 : : return 227; /* *fixuns_truncsf_1 */
21602 : :
21603 : : case E_DFmode:
21604 : : if (!nonimmediate_operand (operands[3], E_DFmode)
21605 : : || !nonimmediate_operand (operands[4], E_V2DFmode)
21606 : : || !
21607 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21608 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
21609 : : && optimize_function_for_speed_p (cfun)))
21610 : : return -1;
21611 : : *pnum_clobbers = 2;
21612 : : return 228; /* *fixuns_truncdf_1 */
21613 : :
21614 : : default:
21615 : : return -1;
21616 : : }
21617 : : }
21618 : :
21619 : : int
21620 : : recog_378 (rtx x1 ATTRIBUTE_UNUSED,
21621 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21622 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21623 : : {
21624 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21625 : : rtx x2, x3, x4, x5, x6;
21626 : : int res ATTRIBUTE_UNUSED;
21627 : : x2 = XVECEXP (x1, 0, 0);
21628 : : x3 = XEXP (x2, 0);
21629 : : operands[0] = x3;
21630 : : x4 = XEXP (x2, 1);
21631 : : x5 = XEXP (x4, 0);
21632 : : operands[1] = x5;
21633 : : x6 = XVECEXP (x1, 0, 1);
21634 : : switch (GET_CODE (x6))
21635 : : {
21636 : : case CLOBBER:
21637 : : if (pnum_clobbers == NULL
21638 : : || !register_operand (operands[1], E_DImode))
21639 : : return -1;
21640 : : switch (pattern919 (x1))
21641 : : {
21642 : : case 0:
21643 : : if (!
21644 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21645 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21646 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
21647 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21648 : : return -1;
21649 : : *pnum_clobbers = 2;
21650 : : return 258; /* floatdisf2_i387_with_xmm */
21651 : :
21652 : : case 1:
21653 : : if (!
21654 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21655 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21656 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
21657 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21658 : : return -1;
21659 : : *pnum_clobbers = 2;
21660 : : return 259; /* floatdidf2_i387_with_xmm */
21661 : :
21662 : : case 2:
21663 : : if (!
21664 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21665 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21666 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
21667 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21668 : : return -1;
21669 : : *pnum_clobbers = 2;
21670 : : return 260; /* floatdixf2_i387_with_xmm */
21671 : :
21672 : : default:
21673 : : return -1;
21674 : : }
21675 : :
21676 : : case UNSPEC:
21677 : : if (pattern668 (x1,
21678 : : E_V2SImode,
21679 : : E_V2SFmode) != 0
21680 : : || !
21681 : : #line 1623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21682 : : (TARGET_3DNOW))
21683 : : return -1;
21684 : : return 2092; /* mmx_floatv2siv2sf2 */
21685 : :
21686 : : default:
21687 : : return -1;
21688 : : }
21689 : : }
21690 : :
21691 : : int
21692 : : recog_379 (rtx x1 ATTRIBUTE_UNUSED,
21693 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21694 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21695 : : {
21696 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21697 : : rtx x2, x3, x4, x5, x6;
21698 : : int res ATTRIBUTE_UNUSED;
21699 : : if (pnum_clobbers == NULL)
21700 : : return -1;
21701 : : x2 = XVECEXP (x1, 0, 1);
21702 : : if (GET_CODE (x2) != CLOBBER)
21703 : : return -1;
21704 : : x3 = XVECEXP (x1, 0, 0);
21705 : : x4 = XEXP (x3, 0);
21706 : : operands[0] = x4;
21707 : : x5 = XEXP (x3, 1);
21708 : : x6 = XEXP (x5, 0);
21709 : : operands[1] = x6;
21710 : : if (!nonimmediate_operand (operands[1], E_SImode))
21711 : : return -1;
21712 : : switch (pattern919 (x1))
21713 : : {
21714 : : case 0:
21715 : : if (!
21716 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21717 : : (!TARGET_64BIT
21718 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
21719 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21720 : : return -1;
21721 : : *pnum_clobbers = 1;
21722 : : return 265; /* floatunssisf2_i387_with_xmm */
21723 : :
21724 : : case 1:
21725 : : if (!
21726 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21727 : : (!TARGET_64BIT
21728 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
21729 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21730 : : return -1;
21731 : : *pnum_clobbers = 1;
21732 : : return 266; /* floatunssidf2_i387_with_xmm */
21733 : :
21734 : : case 2:
21735 : : if (!
21736 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21737 : : (!TARGET_64BIT
21738 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
21739 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21740 : : return -1;
21741 : : *pnum_clobbers = 1;
21742 : : return 267; /* floatunssixf2_i387_with_xmm */
21743 : :
21744 : : default:
21745 : : return -1;
21746 : : }
21747 : : }
21748 : :
21749 : : int
21750 : : recog_381 (rtx x1 ATTRIBUTE_UNUSED,
21751 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21752 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21753 : : {
21754 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21755 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21756 : : rtx x10, x11, x12, x13, x14;
21757 : : int res ATTRIBUTE_UNUSED;
21758 : : x2 = XVECEXP (x1, 0, 0);
21759 : : x3 = XEXP (x2, 1);
21760 : : x4 = XEXP (x3, 0);
21761 : : switch (GET_CODE (x4))
21762 : : {
21763 : : case REG:
21764 : : case SUBREG:
21765 : : case MEM:
21766 : : operands[1] = x4;
21767 : : res = recog_380 (x1, insn, pnum_clobbers);
21768 : : if (res >= 0)
21769 : : return res;
21770 : : if (GET_CODE (x4) != SUBREG
21771 : : || maybe_ne (SUBREG_BYTE (x4), 0)
21772 : : || GET_MODE (x4) != E_QImode)
21773 : : return -1;
21774 : : x5 = XEXP (x4, 0);
21775 : : switch (GET_CODE (x5))
21776 : : {
21777 : : case ASHIFTRT:
21778 : : case LSHIFTRT:
21779 : : case SIGN_EXTRACT:
21780 : : case ZERO_EXTRACT:
21781 : : operands[3] = x5;
21782 : : x6 = XVECEXP (x1, 0, 1);
21783 : : if (GET_CODE (x6) != CLOBBER
21784 : : || pattern556 (x1) != 0)
21785 : : return -1;
21786 : : x7 = XEXP (x5, 0);
21787 : : operands[2] = x7;
21788 : : switch (pattern1512 (x2))
21789 : : {
21790 : : case 0:
21791 : : if (
21792 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21793 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21794 : : return 307; /* *addqi_exthi_1_slp */
21795 : : break;
21796 : :
21797 : : case 1:
21798 : : if (
21799 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21800 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21801 : : return 308; /* *addqi_extsi_1_slp */
21802 : : break;
21803 : :
21804 : : case 2:
21805 : : if ((
21806 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21807 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
21808 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21809 : : (TARGET_64BIT)))
21810 : : return 309; /* *addqi_extdi_1_slp */
21811 : : break;
21812 : :
21813 : : case 3:
21814 : : return 331; /* *addqi_exthi_0 */
21815 : :
21816 : : case 4:
21817 : : return 332; /* *addqi_extsi_0 */
21818 : :
21819 : : case 5:
21820 : : if (
21821 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21822 : : (TARGET_64BIT))
21823 : : return 333; /* *addqi_extdi_0 */
21824 : : break;
21825 : :
21826 : : default:
21827 : : break;
21828 : : }
21829 : : x8 = XEXP (x3, 1);
21830 : : if (GET_CODE (x8) != SUBREG)
21831 : : return -1;
21832 : : switch (pattern1513 (x2))
21833 : : {
21834 : : case 0:
21835 : : if (!
21836 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21837 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21838 : : return -1;
21839 : : return 310; /* *addqi_exthi_2_slp */
21840 : :
21841 : : case 1:
21842 : : if (!
21843 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21844 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21845 : : return -1;
21846 : : return 311; /* *addqi_extsi_2_slp */
21847 : :
21848 : : case 2:
21849 : : if (!(
21850 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21851 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
21852 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21853 : : (TARGET_64BIT)))
21854 : : return -1;
21855 : : return 312; /* *addqi_extdi_2_slp */
21856 : :
21857 : : case 3:
21858 : : return 334; /* *addqi_ext2hi_0 */
21859 : :
21860 : : case 4:
21861 : : return 335; /* *addqi_ext2si_0 */
21862 : :
21863 : : case 5:
21864 : : if (!
21865 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21866 : : (TARGET_64BIT))
21867 : : return -1;
21868 : : return 336; /* *addqi_ext2di_0 */
21869 : :
21870 : : default:
21871 : : return -1;
21872 : : }
21873 : :
21874 : : default:
21875 : : return -1;
21876 : : }
21877 : :
21878 : : case ZERO_EXTEND:
21879 : : x6 = XVECEXP (x1, 0, 1);
21880 : : if (pattern344 (x6) != 0)
21881 : : return -1;
21882 : : switch (pattern921 (x2))
21883 : : {
21884 : : case 0:
21885 : : if (!(
21886 : : #line 6520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21887 : : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
21888 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21889 : : (!TARGET_64BIT)))
21890 : : return -1;
21891 : : return 272; /* *adddi3_doubleword_zext */
21892 : :
21893 : : case 1:
21894 : : if (!(
21895 : : #line 6520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21896 : : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
21897 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21898 : : (TARGET_64BIT)))
21899 : : return -1;
21900 : : return 273; /* *addti3_doubleword_zext */
21901 : :
21902 : : default:
21903 : : return -1;
21904 : : }
21905 : :
21906 : : case PLUS:
21907 : : if (pattern333 (x1) != 0)
21908 : : return -1;
21909 : : x5 = XEXP (x4, 0);
21910 : : switch (GET_CODE (x5))
21911 : : {
21912 : : case ASHIFT:
21913 : : switch (pattern1145 (x3))
21914 : : {
21915 : : case 0:
21916 : : if (!(
21917 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21918 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21919 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21920 : : (!TARGET_64BIT)))
21921 : : return -1;
21922 : : return 274; /* *adddi3_doubleword_concat */
21923 : :
21924 : : case 1:
21925 : : if (!(
21926 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21927 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21928 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21929 : : (TARGET_64BIT)))
21930 : : return -1;
21931 : : return 277; /* *addti3_doubleword_concat */
21932 : :
21933 : : case 2:
21934 : : if (!(
21935 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21936 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21937 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21938 : : (!TARGET_64BIT)))
21939 : : return -1;
21940 : : return 280; /* *adddi3_doubleword_concat_zext */
21941 : :
21942 : : case 3:
21943 : : if (!(
21944 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21945 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21946 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21947 : : (TARGET_64BIT)))
21948 : : return -1;
21949 : : return 283; /* *addti3_doubleword_concat_zext */
21950 : :
21951 : : default:
21952 : : return -1;
21953 : : }
21954 : :
21955 : : case LTU:
21956 : : case UNLT:
21957 : : operands[4] = x5;
21958 : : x9 = XEXP (x5, 1);
21959 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21960 : : return -1;
21961 : : x7 = XEXP (x5, 0);
21962 : : operands[3] = x7;
21963 : : if (!flags_reg_operand (operands[3], E_VOIDmode))
21964 : : return -1;
21965 : : x10 = XEXP (x4, 1);
21966 : : operands[1] = x10;
21967 : : x8 = XEXP (x3, 1);
21968 : : operands[2] = x8;
21969 : : switch (GET_MODE (operands[0]))
21970 : : {
21971 : : case E_QImode:
21972 : : if (pattern1612 (x3,
21973 : : E_QImode) != 0
21974 : : || !
21975 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21976 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
21977 : : return -1;
21978 : : return 457; /* addqi3_carry */
21979 : :
21980 : : case E_HImode:
21981 : : if (pattern1612 (x3,
21982 : : E_HImode) != 0
21983 : : || !
21984 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21985 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
21986 : : return -1;
21987 : : return 458; /* addhi3_carry */
21988 : :
21989 : : case E_SImode:
21990 : : if (pattern1613 (x3,
21991 : : E_SImode) != 0
21992 : : || !
21993 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21994 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21995 : : return -1;
21996 : : return 459; /* addsi3_carry */
21997 : :
21998 : : case E_DImode:
21999 : : if (pattern1613 (x3,
22000 : : E_DImode) != 0
22001 : : || !(
22002 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22003 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22004 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22005 : : (TARGET_64BIT)))
22006 : : return -1;
22007 : : return 460; /* adddi3_carry */
22008 : :
22009 : : default:
22010 : : return -1;
22011 : : }
22012 : :
22013 : : case EQ:
22014 : : switch (pattern1148 (x3))
22015 : : {
22016 : : case 0:
22017 : : if (!
22018 : : #line 10299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22019 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
22020 : : && ix86_pre_reload_split ()))
22021 : : return -1;
22022 : : return 558; /* *addqi3_eq */
22023 : :
22024 : : case 1:
22025 : : if (!
22026 : : #line 10299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22027 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
22028 : : && ix86_pre_reload_split ()))
22029 : : return -1;
22030 : : return 559; /* *addhi3_eq */
22031 : :
22032 : : case 2:
22033 : : if (!
22034 : : #line 10299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22035 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22036 : : && ix86_pre_reload_split ()))
22037 : : return -1;
22038 : : return 560; /* *addsi3_eq */
22039 : :
22040 : : case 3:
22041 : : if (!(
22042 : : #line 10299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22043 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22044 : : && ix86_pre_reload_split ()) &&
22045 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22046 : : (TARGET_64BIT)))
22047 : : return -1;
22048 : : return 561; /* *adddi3_eq */
22049 : :
22050 : : default:
22051 : : return -1;
22052 : : }
22053 : :
22054 : : case NE:
22055 : : switch (pattern1151 (x3))
22056 : : {
22057 : : case 0:
22058 : : if (!
22059 : : #line 10320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22060 : : (CONST_INT_P (operands[2])
22061 : : && (QImode != DImode
22062 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22063 : : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
22064 : : && ix86_pre_reload_split ()))
22065 : : return -1;
22066 : : return 562; /* *addqi3_ne */
22067 : :
22068 : : case 1:
22069 : : if (!
22070 : : #line 10320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22071 : : (CONST_INT_P (operands[2])
22072 : : && (HImode != DImode
22073 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22074 : : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
22075 : : && ix86_pre_reload_split ()))
22076 : : return -1;
22077 : : return 563; /* *addhi3_ne */
22078 : :
22079 : : case 2:
22080 : : if (!
22081 : : #line 10320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22082 : : (CONST_INT_P (operands[2])
22083 : : && (SImode != DImode
22084 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22085 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22086 : : && ix86_pre_reload_split ()))
22087 : : return -1;
22088 : : return 564; /* *addsi3_ne */
22089 : :
22090 : : case 3:
22091 : : if (!(
22092 : : #line 10320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22093 : : (CONST_INT_P (operands[2])
22094 : : && (DImode != DImode
22095 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22096 : : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22097 : : && ix86_pre_reload_split ()) &&
22098 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22099 : : (TARGET_64BIT)))
22100 : : return -1;
22101 : : return 565; /* *adddi3_ne */
22102 : :
22103 : : default:
22104 : : return -1;
22105 : : }
22106 : :
22107 : : default:
22108 : : return -1;
22109 : : }
22110 : :
22111 : : case IOR:
22112 : : switch (pattern348 (x1))
22113 : : {
22114 : : case 0:
22115 : : if (!(
22116 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22117 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22118 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22119 : : (!TARGET_64BIT)))
22120 : : return -1;
22121 : : return 275; /* *adddi3_doubleword_concat */
22122 : :
22123 : : case 1:
22124 : : if (!(
22125 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22126 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22127 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22128 : : (TARGET_64BIT)))
22129 : : return -1;
22130 : : return 278; /* *addti3_doubleword_concat */
22131 : :
22132 : : case 2:
22133 : : if (!(
22134 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22135 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22136 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22137 : : (!TARGET_64BIT)))
22138 : : return -1;
22139 : : return 281; /* *adddi3_doubleword_concat_zext */
22140 : :
22141 : : case 3:
22142 : : if (!(
22143 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22144 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22145 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22146 : : (TARGET_64BIT)))
22147 : : return -1;
22148 : : return 284; /* *addti3_doubleword_concat_zext */
22149 : :
22150 : : default:
22151 : : return -1;
22152 : : }
22153 : :
22154 : : case XOR:
22155 : : switch (pattern348 (x1))
22156 : : {
22157 : : case 0:
22158 : : if (!(
22159 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22160 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22161 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22162 : : (!TARGET_64BIT)))
22163 : : return -1;
22164 : : return 276; /* *adddi3_doubleword_concat */
22165 : :
22166 : : case 1:
22167 : : if (!(
22168 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22169 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22170 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22171 : : (TARGET_64BIT)))
22172 : : return -1;
22173 : : return 279; /* *addti3_doubleword_concat */
22174 : :
22175 : : case 2:
22176 : : if (!(
22177 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22178 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22179 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22180 : : (!TARGET_64BIT)))
22181 : : return -1;
22182 : : return 282; /* *adddi3_doubleword_concat_zext */
22183 : :
22184 : : case 3:
22185 : : if (!(
22186 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22187 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22188 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22189 : : (TARGET_64BIT)))
22190 : : return -1;
22191 : : return 285; /* *addti3_doubleword_concat_zext */
22192 : :
22193 : : default:
22194 : : return -1;
22195 : : }
22196 : :
22197 : : case LTU:
22198 : : case UNLT:
22199 : : switch (pattern349 (x1))
22200 : : {
22201 : : case 0:
22202 : : if (pattern1514 (x3,
22203 : : E_QImode) != 0
22204 : : || !
22205 : : #line 8870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22206 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22207 : : return -1;
22208 : : return 461; /* *addqi3_carry_0 */
22209 : :
22210 : : case 1:
22211 : : if (pattern1514 (x3,
22212 : : E_HImode) != 0
22213 : : || !
22214 : : #line 8870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22215 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22216 : : return -1;
22217 : : return 462; /* *addhi3_carry_0 */
22218 : :
22219 : : case 2:
22220 : : if (pattern1514 (x3,
22221 : : E_SImode) != 0
22222 : : || !
22223 : : #line 8870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22224 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22225 : : return -1;
22226 : : return 463; /* *addsi3_carry_0 */
22227 : :
22228 : : case 3:
22229 : : if (pattern1514 (x3,
22230 : : E_DImode) != 0
22231 : : || !(
22232 : : #line 8870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22233 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
22234 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22235 : : (TARGET_64BIT)))
22236 : : return -1;
22237 : : return 464; /* *adddi3_carry_0 */
22238 : :
22239 : : default:
22240 : : return -1;
22241 : : }
22242 : :
22243 : : case GE:
22244 : : case GEU:
22245 : : switch (pattern349 (x1))
22246 : : {
22247 : : case 0:
22248 : : if (pattern1515 (x3,
22249 : : E_QImode) != 0
22250 : : || !
22251 : : #line 8884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22252 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22253 : : return -1;
22254 : : return 465; /* *addqi3_carry_0r */
22255 : :
22256 : : case 1:
22257 : : if (pattern1515 (x3,
22258 : : E_HImode) != 0
22259 : : || !
22260 : : #line 8884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22261 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22262 : : return -1;
22263 : : return 466; /* *addhi3_carry_0r */
22264 : :
22265 : : case 2:
22266 : : if (pattern1515 (x3,
22267 : : E_SImode) != 0
22268 : : || !
22269 : : #line 8884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22270 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22271 : : return -1;
22272 : : return 467; /* *addsi3_carry_0r */
22273 : :
22274 : : case 3:
22275 : : if (pattern1515 (x3,
22276 : : E_DImode) != 0
22277 : : || !(
22278 : : #line 8884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22279 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
22280 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22281 : : (TARGET_64BIT)))
22282 : : return -1;
22283 : : return 468; /* *adddi3_carry_0r */
22284 : :
22285 : : default:
22286 : : return -1;
22287 : : }
22288 : :
22289 : : case EQ:
22290 : : switch (pattern353 (x1))
22291 : : {
22292 : : case 0:
22293 : : if (!
22294 : : #line 10346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22295 : : (ix86_unary_operator_ok (PLUS, QImode, operands)
22296 : : && ix86_pre_reload_split ()))
22297 : : return -1;
22298 : : return 566; /* *addqi3_eq_0 */
22299 : :
22300 : : case 1:
22301 : : if (!
22302 : : #line 10346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22303 : : (ix86_unary_operator_ok (PLUS, HImode, operands)
22304 : : && ix86_pre_reload_split ()))
22305 : : return -1;
22306 : : return 567; /* *addhi3_eq_0 */
22307 : :
22308 : : case 2:
22309 : : if (!
22310 : : #line 10346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22311 : : (ix86_unary_operator_ok (PLUS, SImode, operands)
22312 : : && ix86_pre_reload_split ()))
22313 : : return -1;
22314 : : return 568; /* *addsi3_eq_0 */
22315 : :
22316 : : case 3:
22317 : : if (!(
22318 : : #line 10346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22319 : : (ix86_unary_operator_ok (PLUS, DImode, operands)
22320 : : && ix86_pre_reload_split ()) &&
22321 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22322 : : (TARGET_64BIT)))
22323 : : return -1;
22324 : : return 569; /* *adddi3_eq_0 */
22325 : :
22326 : : default:
22327 : : return -1;
22328 : : }
22329 : :
22330 : : case NE:
22331 : : switch (pattern353 (x1))
22332 : : {
22333 : : case 0:
22334 : : if (!
22335 : : #line 10367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22336 : : (ix86_unary_operator_ok (PLUS, QImode, operands)
22337 : : && ix86_pre_reload_split ()))
22338 : : return -1;
22339 : : return 570; /* *addqi3_ne_0 */
22340 : :
22341 : : case 1:
22342 : : if (!
22343 : : #line 10367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22344 : : (ix86_unary_operator_ok (PLUS, HImode, operands)
22345 : : && ix86_pre_reload_split ()))
22346 : : return -1;
22347 : : return 571; /* *addhi3_ne_0 */
22348 : :
22349 : : case 2:
22350 : : if (!
22351 : : #line 10367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22352 : : (ix86_unary_operator_ok (PLUS, SImode, operands)
22353 : : && ix86_pre_reload_split ()))
22354 : : return -1;
22355 : : return 572; /* *addsi3_ne_0 */
22356 : :
22357 : : case 3:
22358 : : if (!(
22359 : : #line 10367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22360 : : (ix86_unary_operator_ok (PLUS, DImode, operands)
22361 : : && ix86_pre_reload_split ()) &&
22362 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22363 : : (TARGET_64BIT)))
22364 : : return -1;
22365 : : return 573; /* *adddi3_ne_0 */
22366 : :
22367 : : default:
22368 : : return -1;
22369 : : }
22370 : :
22371 : : case MINUS:
22372 : : x6 = XVECEXP (x1, 0, 1);
22373 : : if (pattern344 (x6) != 0)
22374 : : return -1;
22375 : : switch (pattern925 (x2))
22376 : : {
22377 : : case 0:
22378 : : if (!
22379 : : #line 10415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22380 : : (CONST_INT_P (operands[2])
22381 : : && (QImode != DImode
22382 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22383 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22384 : : && ix86_pre_reload_split ()))
22385 : : return -1;
22386 : : return 578; /* *subqi3_ne */
22387 : :
22388 : : case 1:
22389 : : if (!
22390 : : #line 10415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22391 : : (CONST_INT_P (operands[2])
22392 : : && (HImode != DImode
22393 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22394 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22395 : : && ix86_pre_reload_split ()))
22396 : : return -1;
22397 : : return 579; /* *subhi3_ne */
22398 : :
22399 : : case 2:
22400 : : if (!
22401 : : #line 10415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22402 : : (CONST_INT_P (operands[2])
22403 : : && (SImode != DImode
22404 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22405 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22406 : : && ix86_pre_reload_split ()))
22407 : : return -1;
22408 : : return 580; /* *subsi3_ne */
22409 : :
22410 : : case 3:
22411 : : if (!(
22412 : : #line 10415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22413 : : (CONST_INT_P (operands[2])
22414 : : && (DImode != DImode
22415 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22416 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22417 : : && ix86_pre_reload_split ()) &&
22418 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22419 : : (TARGET_64BIT)))
22420 : : return -1;
22421 : : return 581; /* *subdi3_ne */
22422 : :
22423 : : case 4:
22424 : : if (!
22425 : : #line 10444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22426 : : (CONST_INT_P (operands[2])
22427 : : && (QImode != DImode
22428 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22429 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22430 : : && ix86_pre_reload_split ()))
22431 : : return -1;
22432 : : return 582; /* *subqi3_eq_1 */
22433 : :
22434 : : case 5:
22435 : : if (!
22436 : : #line 10444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22437 : : (CONST_INT_P (operands[2])
22438 : : && (HImode != DImode
22439 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22440 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22441 : : && ix86_pre_reload_split ()))
22442 : : return -1;
22443 : : return 583; /* *subhi3_eq_1 */
22444 : :
22445 : : case 6:
22446 : : if (!
22447 : : #line 10444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22448 : : (CONST_INT_P (operands[2])
22449 : : && (SImode != DImode
22450 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22451 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22452 : : && ix86_pre_reload_split ()))
22453 : : return -1;
22454 : : return 584; /* *subsi3_eq_1 */
22455 : :
22456 : : case 7:
22457 : : if (!(
22458 : : #line 10444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22459 : : (CONST_INT_P (operands[2])
22460 : : && (DImode != DImode
22461 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22462 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22463 : : && ix86_pre_reload_split ()) &&
22464 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22465 : : (TARGET_64BIT)))
22466 : : return -1;
22467 : : return 585; /* *subdi3_eq_1 */
22468 : :
22469 : : default:
22470 : : return -1;
22471 : : }
22472 : :
22473 : : case LSHIFTRT:
22474 : : x10 = XEXP (x4, 1);
22475 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
22476 : : return -1;
22477 : : x8 = XEXP (x3, 1);
22478 : : if (GET_CODE (x8) != ASHIFT)
22479 : : return -1;
22480 : : x11 = XEXP (x8, 0);
22481 : : if (GET_CODE (x11) != LTU)
22482 : : return -1;
22483 : : x12 = XEXP (x11, 0);
22484 : : if (GET_CODE (x12) != REG
22485 : : || REGNO (x12) != 17
22486 : : || GET_MODE (x12) != E_CCCmode)
22487 : : return -1;
22488 : : x13 = XEXP (x11, 1);
22489 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22490 : : return -1;
22491 : : x14 = XEXP (x8, 1);
22492 : : if (GET_CODE (x14) != CONST_INT
22493 : : || pattern338 (x1) != 0)
22494 : : return -1;
22495 : : switch (XWINT (x14, 0))
22496 : : {
22497 : : case 31L:
22498 : : if (pattern1672 (x3,
22499 : : E_SImode) != 0)
22500 : : return -1;
22501 : : return 1389; /* rcrsi2 */
22502 : :
22503 : : case 63L:
22504 : : if (pattern1672 (x3,
22505 : : E_DImode) != 0
22506 : : || !
22507 : : #line 18907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22508 : : (TARGET_64BIT))
22509 : : return -1;
22510 : : return 1390; /* rcrdi2 */
22511 : :
22512 : : default:
22513 : : return -1;
22514 : : }
22515 : :
22516 : : case UNSPEC:
22517 : : x6 = XVECEXP (x1, 0, 1);
22518 : : if (pattern344 (x6) != 0)
22519 : : return -1;
22520 : : switch (pattern929 (x2))
22521 : : {
22522 : : case 0:
22523 : : if (!
22524 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22525 : : (ptr_mode == SImode))
22526 : : return -1;
22527 : : return 1667; /* *add_tp_si */
22528 : :
22529 : : case 1:
22530 : : if (!
22531 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22532 : : (ptr_mode == DImode))
22533 : : return -1;
22534 : : return 1668; /* *add_tp_di */
22535 : :
22536 : : case 2:
22537 : : if (!
22538 : : #line 23476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22539 : : (!TARGET_64BIT && TARGET_GNU2_TLS))
22540 : : return -1;
22541 : : return 1672; /* *tls_dynamic_gnu2_combine_32 */
22542 : :
22543 : : case 3:
22544 : : if (!(
22545 : : #line 23539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22546 : : (TARGET_64BIT && TARGET_GNU2_TLS) &&
22547 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22548 : : (ptr_mode == SImode)))
22549 : : return -1;
22550 : : return 1677; /* *tls_dynamic_gnu2_combine_64_si */
22551 : :
22552 : : case 4:
22553 : : if (!(
22554 : : #line 23539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22555 : : (TARGET_64BIT && TARGET_GNU2_TLS) &&
22556 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22557 : : (ptr_mode == DImode)))
22558 : : return -1;
22559 : : return 1678; /* *tls_dynamic_gnu2_combine_64_di */
22560 : :
22561 : : default:
22562 : : return -1;
22563 : : }
22564 : :
22565 : : default:
22566 : : return -1;
22567 : : }
22568 : : }
22569 : :
22570 : : int
22571 : : recog_400 (rtx x1 ATTRIBUTE_UNUSED,
22572 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22573 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22574 : : {
22575 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22576 : : rtx x2, x3, x4, x5, x6, x7;
22577 : : int res ATTRIBUTE_UNUSED;
22578 : : x2 = XVECEXP (x1, 0, 0);
22579 : : x3 = XEXP (x2, 1);
22580 : : x4 = XEXP (x3, 0);
22581 : : x5 = XEXP (x4, 0);
22582 : : switch (GET_CODE (x5))
22583 : : {
22584 : : case ASHIFTRT:
22585 : : case LSHIFTRT:
22586 : : case SIGN_EXTRACT:
22587 : : case ZERO_EXTRACT:
22588 : : operands[3] = x5;
22589 : : x6 = XEXP (x5, 0);
22590 : : operands[2] = x6;
22591 : : switch (pattern1512 (x2))
22592 : : {
22593 : : case 0:
22594 : : if (
22595 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22596 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22597 : : return 736; /* *iorqi_exthi_1_slp */
22598 : : break;
22599 : :
22600 : : case 1:
22601 : : if (
22602 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22603 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22604 : : return 739; /* *iorqi_extsi_1_slp */
22605 : : break;
22606 : :
22607 : : case 2:
22608 : : if ((
22609 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22610 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22611 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22612 : : (TARGET_64BIT)))
22613 : : return 742; /* *iorqi_extdi_1_slp */
22614 : : break;
22615 : :
22616 : : case 3:
22617 : : return 760; /* *iorqi_exthi_0 */
22618 : :
22619 : : case 4:
22620 : : return 763; /* *iorqi_extsi_0 */
22621 : :
22622 : : case 5:
22623 : : if (
22624 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22625 : : (TARGET_64BIT))
22626 : : return 766; /* *iorqi_extdi_0 */
22627 : : break;
22628 : :
22629 : : default:
22630 : : break;
22631 : : }
22632 : : x7 = XEXP (x3, 1);
22633 : : if (GET_CODE (x7) != SUBREG)
22634 : : return -1;
22635 : : switch (pattern1513 (x2))
22636 : : {
22637 : : case 0:
22638 : : if (!
22639 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22640 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22641 : : return -1;
22642 : : return 745; /* *iorqi_exthi_2_slp */
22643 : :
22644 : : case 1:
22645 : : if (!
22646 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22647 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22648 : : return -1;
22649 : : return 748; /* *iorqi_extsi_2_slp */
22650 : :
22651 : : case 2:
22652 : : if (!(
22653 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22654 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22655 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22656 : : (TARGET_64BIT)))
22657 : : return -1;
22658 : : return 751; /* *iorqi_extdi_2_slp */
22659 : :
22660 : : case 3:
22661 : : return 769; /* *iorqi_ext2hi_0 */
22662 : :
22663 : : case 4:
22664 : : return 772; /* *iorqi_ext2si_0 */
22665 : :
22666 : : case 5:
22667 : : if (!
22668 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22669 : : (TARGET_64BIT))
22670 : : return -1;
22671 : : return 775; /* *iorqi_ext2di_0 */
22672 : :
22673 : : default:
22674 : : return -1;
22675 : : }
22676 : :
22677 : : default:
22678 : : return -1;
22679 : : }
22680 : : }
22681 : :
22682 : : int
22683 : : recog_405 (rtx x1 ATTRIBUTE_UNUSED,
22684 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22685 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22686 : : {
22687 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22688 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22689 : : rtx x10, x11;
22690 : : int res ATTRIBUTE_UNUSED;
22691 : : x2 = XVECEXP (x1, 0, 0);
22692 : : x3 = XEXP (x2, 1);
22693 : : x4 = XEXP (x3, 0);
22694 : : switch (GET_CODE (x4))
22695 : : {
22696 : : case REG:
22697 : : case SUBREG:
22698 : : case MEM:
22699 : : operands[1] = x4;
22700 : : res = recog_403 (x1, insn, pnum_clobbers);
22701 : : if (res >= 0)
22702 : : return res;
22703 : : if (GET_CODE (x4) != SUBREG
22704 : : || maybe_ne (SUBREG_BYTE (x4), 0))
22705 : : return -1;
22706 : : x5 = XEXP (x4, 0);
22707 : : switch (GET_CODE (x5))
22708 : : {
22709 : : case ASHIFTRT:
22710 : : case LSHIFTRT:
22711 : : case SIGN_EXTRACT:
22712 : : case ZERO_EXTRACT:
22713 : : operands[3] = x5;
22714 : : x6 = XVECEXP (x1, 0, 1);
22715 : : if (pattern222 (x6,
22716 : : E_CCmode,
22717 : : 17) != 0
22718 : : || GET_MODE (x3) != E_QImode
22719 : : || GET_MODE (x4) != E_QImode)
22720 : : return -1;
22721 : : x7 = XEXP (x5, 0);
22722 : : operands[2] = x7;
22723 : : switch (pattern1512 (x2))
22724 : : {
22725 : : case 0:
22726 : : if (
22727 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22728 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22729 : : return 735; /* *andqi_exthi_1_slp */
22730 : : break;
22731 : :
22732 : : case 1:
22733 : : if (
22734 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22735 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22736 : : return 738; /* *andqi_extsi_1_slp */
22737 : : break;
22738 : :
22739 : : case 2:
22740 : : if ((
22741 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22742 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22743 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22744 : : (TARGET_64BIT)))
22745 : : return 741; /* *andqi_extdi_1_slp */
22746 : : break;
22747 : :
22748 : : case 3:
22749 : : return 759; /* *andqi_exthi_0 */
22750 : :
22751 : : case 4:
22752 : : return 762; /* *andqi_extsi_0 */
22753 : :
22754 : : case 5:
22755 : : if (
22756 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22757 : : (TARGET_64BIT))
22758 : : return 765; /* *andqi_extdi_0 */
22759 : : break;
22760 : :
22761 : : default:
22762 : : break;
22763 : : }
22764 : : x8 = XEXP (x3, 1);
22765 : : if (GET_CODE (x8) != SUBREG)
22766 : : return -1;
22767 : : switch (pattern1513 (x2))
22768 : : {
22769 : : case 0:
22770 : : if (!
22771 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22772 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22773 : : return -1;
22774 : : return 744; /* *andqi_exthi_2_slp */
22775 : :
22776 : : case 1:
22777 : : if (!
22778 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22779 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22780 : : return -1;
22781 : : return 747; /* *andqi_extsi_2_slp */
22782 : :
22783 : : case 2:
22784 : : if (!(
22785 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22786 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22787 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22788 : : (TARGET_64BIT)))
22789 : : return -1;
22790 : : return 750; /* *andqi_extdi_2_slp */
22791 : :
22792 : : case 3:
22793 : : return 768; /* *andqi_ext2hi_0 */
22794 : :
22795 : : case 4:
22796 : : return 771; /* *andqi_ext2si_0 */
22797 : :
22798 : : case 5:
22799 : : if (!
22800 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22801 : : (TARGET_64BIT))
22802 : : return -1;
22803 : : return 774; /* *andqi_ext2di_0 */
22804 : :
22805 : : default:
22806 : : return -1;
22807 : : }
22808 : :
22809 : : case ROTATE:
22810 : : if (GET_MODE (x5) != E_SImode)
22811 : : return -1;
22812 : : x7 = XEXP (x5, 0);
22813 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
22814 : : return -1;
22815 : : x6 = XVECEXP (x1, 0, 1);
22816 : : if (pattern364 (x6) != 0)
22817 : : return -1;
22818 : : switch (pattern1421 (x2))
22819 : : {
22820 : : case 0:
22821 : : if (!
22822 : : #line 19095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22823 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
22824 : : return -1;
22825 : : return 1413; /* *btrqi_1 */
22826 : :
22827 : : case 1:
22828 : : if (!
22829 : : #line 19095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22830 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
22831 : : return -1;
22832 : : return 1414; /* *btrhi_1 */
22833 : :
22834 : : default:
22835 : : return -1;
22836 : : }
22837 : :
22838 : : case CTZ:
22839 : : switch (pattern805 (x1, pnum_clobbers))
22840 : : {
22841 : : case 0:
22842 : : if (!
22843 : : #line 21271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22844 : : (TARGET_BMI && TARGET_64BIT))
22845 : : return -1;
22846 : : return 1522; /* *ctzsi2_zext */
22847 : :
22848 : : case 1:
22849 : : if (!
22850 : : #line 21301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22851 : : (TARGET_BMI && TARGET_64BIT))
22852 : : return -1;
22853 : : *pnum_clobbers = 1;
22854 : : return 1523; /* *ctzsi2_zext_falsedep */
22855 : :
22856 : : default:
22857 : : return -1;
22858 : : }
22859 : :
22860 : : case CLZ:
22861 : : if (GET_MODE (x5) != E_SImode)
22862 : : return -1;
22863 : : x8 = XEXP (x3, 1);
22864 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
22865 : : return -1;
22866 : : x9 = XEXP (x2, 0);
22867 : : operands[0] = x9;
22868 : : if (!register_operand (operands[0], E_DImode)
22869 : : || GET_MODE (x3) != E_DImode
22870 : : || GET_MODE (x4) != E_DImode)
22871 : : return -1;
22872 : : x7 = XEXP (x5, 0);
22873 : : operands[1] = x7;
22874 : : x6 = XVECEXP (x1, 0, 1);
22875 : : switch (pattern804 (x6, pnum_clobbers))
22876 : : {
22877 : : case 0:
22878 : : if (!nonimmediate_operand (operands[1], E_SImode)
22879 : : || !
22880 : : #line 21711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22881 : : (TARGET_LZCNT && TARGET_64BIT))
22882 : : return -1;
22883 : : return 1546; /* *clzsi2_lzcnt_zext */
22884 : :
22885 : : case 1:
22886 : : switch (GET_MODE (operands[1]))
22887 : : {
22888 : : case E_SImode:
22889 : : if (!nonimmediate_operand (operands[1], E_SImode)
22890 : : || !
22891 : : #line 21739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22892 : : (TARGET_LZCNT))
22893 : : return -1;
22894 : : *pnum_clobbers = 1;
22895 : : return 1547; /* *clzsi2_lzcnt_zext_falsedep */
22896 : :
22897 : : case E_DImode:
22898 : : if (!nonimmediate_operand (operands[1], E_DImode)
22899 : : || !(
22900 : : #line 21739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22901 : : (TARGET_LZCNT) &&
22902 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22903 : : (TARGET_64BIT)))
22904 : : return -1;
22905 : : *pnum_clobbers = 1;
22906 : : return 1548; /* *clzsi2_lzcnt_zext_falsedep */
22907 : :
22908 : : default:
22909 : : return -1;
22910 : : }
22911 : :
22912 : : default:
22913 : : return -1;
22914 : : }
22915 : :
22916 : : case POPCOUNT:
22917 : : switch (pattern805 (x1, pnum_clobbers))
22918 : : {
22919 : : case 0:
22920 : : if (!
22921 : : #line 22536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22922 : : (TARGET_POPCNT && TARGET_64BIT))
22923 : : return -1;
22924 : : return 1638; /* *popcountsi2_zext */
22925 : :
22926 : : case 1:
22927 : : if (!
22928 : : #line 22570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22929 : : (TARGET_POPCNT && TARGET_64BIT))
22930 : : return -1;
22931 : : *pnum_clobbers = 1;
22932 : : return 1639; /* *popcountsi2_zext_falsedep */
22933 : :
22934 : : default:
22935 : : return -1;
22936 : : }
22937 : :
22938 : : default:
22939 : : return -1;
22940 : : }
22941 : :
22942 : : case NOT:
22943 : : x9 = XEXP (x2, 0);
22944 : : operands[0] = x9;
22945 : : x5 = XEXP (x4, 0);
22946 : : switch (GET_CODE (x5))
22947 : : {
22948 : : case REG:
22949 : : case SUBREG:
22950 : : operands[1] = x5;
22951 : : res = recog_404 (x1, insn, pnum_clobbers);
22952 : : if (res >= 0)
22953 : : return res;
22954 : : if (GET_CODE (x5) != SUBREG
22955 : : || maybe_ne (SUBREG_BYTE (x5), 0)
22956 : : || GET_MODE (x5) != E_QImode)
22957 : : return -1;
22958 : : x7 = XEXP (x5, 0);
22959 : : if (GET_CODE (x7) != LSHIFTRT)
22960 : : return -1;
22961 : : x8 = XEXP (x3, 1);
22962 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
22963 : : return -1;
22964 : : x6 = XVECEXP (x1, 0, 1);
22965 : : if (pattern222 (x6,
22966 : : E_CCmode,
22967 : : 17) != 0)
22968 : : return -1;
22969 : : switch (pattern1516 (x3))
22970 : : {
22971 : : case 0:
22972 : : if (!
22973 : : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22974 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
22975 : : return -1;
22976 : : return 1440; /* *btsi_setncqi */
22977 : :
22978 : : case 1:
22979 : : if (!(
22980 : : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22981 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
22982 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22983 : : (TARGET_64BIT)))
22984 : : return -1;
22985 : : return 1441; /* *btdi_setncqi */
22986 : :
22987 : : default:
22988 : : return -1;
22989 : : }
22990 : :
22991 : : case LSHIFTRT:
22992 : : x8 = XEXP (x3, 1);
22993 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
22994 : : return -1;
22995 : : x6 = XVECEXP (x1, 0, 1);
22996 : : if (pattern222 (x6,
22997 : : E_CCmode,
22998 : : 17) != 0)
22999 : : return -1;
23000 : : switch (pattern1233 (x3))
23001 : : {
23002 : : case 0:
23003 : : if (!
23004 : : #line 19515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23005 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
23006 : : return -1;
23007 : : return 1442; /* *btsi_setncsi */
23008 : :
23009 : : case 1:
23010 : : if (!(
23011 : : #line 19515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23012 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
23013 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23014 : : (TARGET_64BIT)))
23015 : : return -1;
23016 : : return 1443; /* *btdi_setncdi */
23017 : :
23018 : : default:
23019 : : return -1;
23020 : : }
23021 : :
23022 : : case ASHIFT:
23023 : : x7 = XEXP (x5, 0);
23024 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23025 : : return -1;
23026 : : x6 = XVECEXP (x1, 0, 1);
23027 : : if (pattern222 (x6,
23028 : : E_CCmode,
23029 : : 17) != 0)
23030 : : return -1;
23031 : : switch (pattern1235 (x3))
23032 : : {
23033 : : case 0:
23034 : : if (!
23035 : : #line 22238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23036 : : (TARGET_BMI2))
23037 : : return -1;
23038 : : return 1602; /* *bmi2_bzhi_si3_3 */
23039 : :
23040 : : case 1:
23041 : : if (!(
23042 : : #line 22238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23043 : : (TARGET_BMI2) &&
23044 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23045 : : (TARGET_64BIT)))
23046 : : return -1;
23047 : : return 1603; /* *bmi2_bzhi_di3_3 */
23048 : :
23049 : : default:
23050 : : return -1;
23051 : : }
23052 : :
23053 : : default:
23054 : : return -1;
23055 : : }
23056 : :
23057 : : case ROTATE:
23058 : : switch (pattern363 (x1,
23059 : : -2))
23060 : : {
23061 : : case 0:
23062 : : x10 = XEXP (x4, 1);
23063 : : operands[2] = x10;
23064 : : if (register_operand (operands[2], E_QImode))
23065 : : {
23066 : : switch (pattern927 (x3))
23067 : : {
23068 : : case 0:
23069 : : if (
23070 : : #line 19026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23071 : : (TARGET_USE_BT))
23072 : : return 1407; /* *btrsi */
23073 : : break;
23074 : :
23075 : : case 1:
23076 : : if ((
23077 : : #line 19026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23078 : : (TARGET_USE_BT) &&
23079 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23080 : : (TARGET_64BIT)))
23081 : : return 1408; /* *btrdi */
23082 : : break;
23083 : :
23084 : : default:
23085 : : break;
23086 : : }
23087 : : }
23088 : : if (GET_CODE (x10) != SUBREG)
23089 : : return -1;
23090 : : switch (pattern1314 (x3))
23091 : : {
23092 : : case 0:
23093 : : if (!
23094 : : #line 19045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23095 : : (TARGET_USE_BT
23096 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
23097 : : == GET_MODE_BITSIZE (SImode)-1
23098 : : && ix86_pre_reload_split ()))
23099 : : return -1;
23100 : : return 1409; /* *btrsi_mask */
23101 : :
23102 : : case 1:
23103 : : if (!(
23104 : : #line 19045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23105 : : (TARGET_USE_BT
23106 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
23107 : : == GET_MODE_BITSIZE (DImode)-1
23108 : : && ix86_pre_reload_split ()) &&
23109 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23110 : : (TARGET_64BIT)))
23111 : : return -1;
23112 : : return 1410; /* *btrdi_mask */
23113 : :
23114 : : default:
23115 : : return -1;
23116 : : }
23117 : :
23118 : : case 1:
23119 : : if (!
23120 : : #line 19073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23121 : : (TARGET_USE_BT
23122 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
23123 : : == GET_MODE_BITSIZE (SImode)-1
23124 : : && ix86_pre_reload_split ()))
23125 : : return -1;
23126 : : return 1411; /* *btrsi_mask_1 */
23127 : :
23128 : : case 2:
23129 : : if (!(
23130 : : #line 19073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23131 : : (TARGET_USE_BT
23132 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
23133 : : == GET_MODE_BITSIZE (DImode)-1
23134 : : && ix86_pre_reload_split ()) &&
23135 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23136 : : (TARGET_64BIT)))
23137 : : return -1;
23138 : : return 1412; /* *btrdi_mask_1 */
23139 : :
23140 : : default:
23141 : : return -1;
23142 : : }
23143 : :
23144 : : case NEG:
23145 : : x6 = XVECEXP (x1, 0, 1);
23146 : : if (pattern364 (x6) != 0)
23147 : : return -1;
23148 : : switch (pattern933 (x2))
23149 : : {
23150 : : case 0:
23151 : : if (!
23152 : : #line 21915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23153 : : (TARGET_BMI))
23154 : : return -1;
23155 : : return 1576; /* *bmi_blsi_si */
23156 : :
23157 : : case 1:
23158 : : if (!(
23159 : : #line 21915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23160 : : (TARGET_BMI) &&
23161 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23162 : : (TARGET_64BIT)))
23163 : : return -1;
23164 : : return 1577; /* *bmi_blsi_di */
23165 : :
23166 : : default:
23167 : : return -1;
23168 : : }
23169 : :
23170 : : case PLUS:
23171 : : x10 = XEXP (x4, 1);
23172 : : if (GET_CODE (x10) != CONST_INT
23173 : : || pattern333 (x1) != 0)
23174 : : return -1;
23175 : : x5 = XEXP (x4, 0);
23176 : : switch (GET_CODE (x5))
23177 : : {
23178 : : case REG:
23179 : : case SUBREG:
23180 : : case MEM:
23181 : : operands[1] = x5;
23182 : : switch (XWINT (x10, 0))
23183 : : {
23184 : : case -1L:
23185 : : switch (pattern1313 (x3))
23186 : : {
23187 : : case 0:
23188 : : if (!
23189 : : #line 22060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23190 : : (TARGET_BMI))
23191 : : return -1;
23192 : : return 1588; /* *bmi_blsr_si */
23193 : :
23194 : : case 1:
23195 : : if (!(
23196 : : #line 22060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23197 : : (TARGET_BMI) &&
23198 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23199 : : (TARGET_64BIT)))
23200 : : return -1;
23201 : : return 1589; /* *bmi_blsr_di */
23202 : :
23203 : : case 2:
23204 : : if (!
23205 : : #line 22431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23206 : : (TARGET_TBM))
23207 : : return -1;
23208 : : return 1628; /* *tbm_tzmsk_si */
23209 : :
23210 : : case 3:
23211 : : if (!(
23212 : : #line 22431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23213 : : (TARGET_TBM) &&
23214 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23215 : : (TARGET_64BIT)))
23216 : : return -1;
23217 : : return 1629; /* *tbm_tzmsk_di */
23218 : :
23219 : : default:
23220 : : return -1;
23221 : : }
23222 : :
23223 : : case 1L:
23224 : : switch (pattern1313 (x3))
23225 : : {
23226 : : case 0:
23227 : : if (!
23228 : : #line 22322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23229 : : (TARGET_TBM))
23230 : : return -1;
23231 : : return 1612; /* *tbm_blcfill_si */
23232 : :
23233 : : case 1:
23234 : : if (!(
23235 : : #line 22322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23236 : : (TARGET_TBM) &&
23237 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23238 : : (TARGET_64BIT)))
23239 : : return -1;
23240 : : return 1613; /* *tbm_blcfill_di */
23241 : :
23242 : : case 2:
23243 : : if (!
23244 : : #line 22350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23245 : : (TARGET_TBM))
23246 : : return -1;
23247 : : return 1616; /* *tbm_blcic_si */
23248 : :
23249 : : case 3:
23250 : : if (!(
23251 : : #line 22350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23252 : : (TARGET_TBM) &&
23253 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23254 : : (TARGET_64BIT)))
23255 : : return -1;
23256 : : return 1617; /* *tbm_blcic_di */
23257 : :
23258 : : default:
23259 : : return -1;
23260 : : }
23261 : :
23262 : : default:
23263 : : return -1;
23264 : : }
23265 : :
23266 : : case ASHIFT:
23267 : : x7 = XEXP (x5, 0);
23268 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
23269 : : || XWINT (x10, 0) != -1L)
23270 : : return -1;
23271 : : switch (pattern1235 (x3))
23272 : : {
23273 : : case 0:
23274 : : if (!
23275 : : #line 22224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23276 : : (TARGET_BMI2))
23277 : : return -1;
23278 : : return 1600; /* *bmi2_bzhi_si3_2 */
23279 : :
23280 : : case 1:
23281 : : if (!(
23282 : : #line 22224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23283 : : (TARGET_BMI2) &&
23284 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23285 : : (TARGET_64BIT)))
23286 : : return -1;
23287 : : return 1601; /* *bmi2_bzhi_di3_2 */
23288 : :
23289 : : default:
23290 : : return -1;
23291 : : }
23292 : :
23293 : : default:
23294 : : return -1;
23295 : : }
23296 : :
23297 : : case ZERO_EXTEND:
23298 : : if (GET_MODE (x4) != E_DImode)
23299 : : return -1;
23300 : : x5 = XEXP (x4, 0);
23301 : : if (GET_CODE (x5) != PLUS
23302 : : || pattern679 (x5) != 0
23303 : : || pattern557 (x1) != 0)
23304 : : return -1;
23305 : : x7 = XEXP (x5, 0);
23306 : : x11 = XEXP (x7, 1);
23307 : : operands[2] = x11;
23308 : : if (!register_operand (operands[2], E_QImode))
23309 : : return -1;
23310 : : x8 = XEXP (x3, 1);
23311 : : operands[1] = x8;
23312 : : if (!nonimmediate_operand (operands[1], E_DImode)
23313 : : || !
23314 : : #line 22270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23315 : : (TARGET_64BIT && TARGET_BMI2))
23316 : : return -1;
23317 : : return 1605; /* *bmi2_bzhi_zero_extendsidi_5 */
23318 : :
23319 : : default:
23320 : : return -1;
23321 : : }
23322 : : }
23323 : :
23324 : : int
23325 : : recog_422 (rtx x1 ATTRIBUTE_UNUSED,
23326 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23327 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23328 : : {
23329 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23330 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23331 : : rtx x10, x11, x12, x13, x14, x15;
23332 : : int res ATTRIBUTE_UNUSED;
23333 : : x2 = XVECEXP (x1, 0, 0);
23334 : : switch (GET_CODE (x2))
23335 : : {
23336 : : case SET:
23337 : : x3 = XEXP (x2, 1);
23338 : : switch (GET_CODE (x3))
23339 : : {
23340 : : case CONST_INT:
23341 : : case CONST_WIDE_INT:
23342 : : case CONST_POLY_INT:
23343 : : case CONST_FIXED:
23344 : : case CONST_DOUBLE:
23345 : : case CONST_VECTOR:
23346 : : case CONST:
23347 : : case REG:
23348 : : case SUBREG:
23349 : : case MEM:
23350 : : case LABEL_REF:
23351 : : case SYMBOL_REF:
23352 : : case HIGH:
23353 : : res = recog_359 (x1, insn, pnum_clobbers);
23354 : : if (res >= 0)
23355 : : return res;
23356 : : break;
23357 : :
23358 : : case ASHIFTRT:
23359 : : case LSHIFTRT:
23360 : : case SIGN_EXTRACT:
23361 : : case ZERO_EXTRACT:
23362 : : res = recog_365 (x1, insn, pnum_clobbers);
23363 : : if (res >= 0)
23364 : : return res;
23365 : : break;
23366 : :
23367 : : case UNSPEC:
23368 : : res = recog_371 (x1, insn, pnum_clobbers);
23369 : : if (res >= 0)
23370 : : return res;
23371 : : break;
23372 : :
23373 : : case ZERO_EXTEND:
23374 : : res = recog_375 (x1, insn, pnum_clobbers);
23375 : : if (res >= 0)
23376 : : return res;
23377 : : break;
23378 : :
23379 : : case UNSIGNED_FIX:
23380 : : res = recog_376 (x1, insn, pnum_clobbers);
23381 : : if (res >= 0)
23382 : : return res;
23383 : : break;
23384 : :
23385 : : case FIX:
23386 : : res = recog_377 (x1, insn, pnum_clobbers);
23387 : : if (res >= 0)
23388 : : return res;
23389 : : break;
23390 : :
23391 : : case FLOAT:
23392 : : res = recog_378 (x1, insn, pnum_clobbers);
23393 : : if (res >= 0)
23394 : : return res;
23395 : : break;
23396 : :
23397 : : case UNSIGNED_FLOAT:
23398 : : res = recog_379 (x1, insn, pnum_clobbers);
23399 : : if (res >= 0)
23400 : : return res;
23401 : : break;
23402 : :
23403 : : case PLUS:
23404 : : res = recog_381 (x1, insn, pnum_clobbers);
23405 : : if (res >= 0)
23406 : : return res;
23407 : : break;
23408 : :
23409 : : case COMPARE:
23410 : : res = recog_392 (x1, insn, pnum_clobbers);
23411 : : if (res >= 0)
23412 : : return res;
23413 : : break;
23414 : :
23415 : : case NE:
23416 : : case EQ:
23417 : : case GE:
23418 : : case GT:
23419 : : case LE:
23420 : : case LT:
23421 : : case LTGT:
23422 : : case GEU:
23423 : : case GTU:
23424 : : case LEU:
23425 : : case LTU:
23426 : : case UNORDERED:
23427 : : case ORDERED:
23428 : : case UNEQ:
23429 : : case UNGE:
23430 : : case UNGT:
23431 : : case UNLE:
23432 : : case UNLT:
23433 : : switch (GET_CODE (x3))
23434 : : {
23435 : : case NE:
23436 : : case EQ:
23437 : : if (GET_CODE (x3) == EQ)
23438 : : {
23439 : : res = recog_393 (x1, insn, pnum_clobbers);
23440 : : if (res >= 0)
23441 : : return res;
23442 : : }
23443 : : operands[1] = x3;
23444 : : switch (pattern545 (x1))
23445 : : {
23446 : : case 0:
23447 : : if ((
23448 : : #line 2386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23449 : : (TARGET_AVX512BW) &&
23450 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23451 : : (TARGET_AVX512DQ)))
23452 : : return 2643; /* *kortest_cmpqi_setcc */
23453 : : break;
23454 : :
23455 : : case 1:
23456 : : if (
23457 : : #line 2386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23458 : : (TARGET_AVX512BW))
23459 : : return 2644; /* *kortest_cmphi_setcc */
23460 : : break;
23461 : :
23462 : : case 2:
23463 : : if (
23464 : : #line 2386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23465 : : (TARGET_AVX512BW))
23466 : : return 2645; /* *kortest_cmpsi_setcc */
23467 : : break;
23468 : :
23469 : : case 3:
23470 : : if ((
23471 : : #line 2386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23472 : : (TARGET_AVX512BW) &&
23473 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23474 : : (TARGET_AVX512BW && TARGET_64BIT)))
23475 : : return 2646; /* *kortest_cmpdi_setcc */
23476 : : break;
23477 : :
23478 : : default:
23479 : : break;
23480 : : }
23481 : : break;
23482 : :
23483 : : case GT:
23484 : : if (pattern359 (x1) == 0
23485 : : &&
23486 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23487 : : (TARGET_3DNOW))
23488 : : return 2081; /* mmx_gtv2sf3 */
23489 : : break;
23490 : :
23491 : : case GE:
23492 : : if (pattern359 (x1) == 0
23493 : : &&
23494 : : #line 1248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23495 : : (TARGET_3DNOW))
23496 : : return 2082; /* mmx_gev2sf3 */
23497 : : break;
23498 : :
23499 : : default:
23500 : : break;
23501 : : }
23502 : : operands[1] = x3;
23503 : : switch (pattern360 (x1))
23504 : : {
23505 : : case 0:
23506 : : if (
23507 : : #line 19650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23508 : : (!TARGET_PARTIAL_REG_STALL
23509 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
23510 : : return 1452; /* *setcc_hi_1_and */
23511 : : break;
23512 : :
23513 : : case 1:
23514 : : if (
23515 : : #line 19650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23516 : : (!TARGET_PARTIAL_REG_STALL
23517 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
23518 : : return 1453; /* *setcc_si_1_and */
23519 : : break;
23520 : :
23521 : : default:
23522 : : break;
23523 : : }
23524 : : break;
23525 : :
23526 : : case MINUS:
23527 : : res = recog_396 (x1, insn, pnum_clobbers);
23528 : : if (res >= 0)
23529 : : return res;
23530 : : break;
23531 : :
23532 : : case IF_THEN_ELSE:
23533 : : res = recog_398 (x1, insn, pnum_clobbers);
23534 : : if (res >= 0)
23535 : : return res;
23536 : : break;
23537 : :
23538 : : case MULT:
23539 : : res = recog_399 (x1, insn, pnum_clobbers);
23540 : : if (res >= 0)
23541 : : return res;
23542 : : break;
23543 : :
23544 : : case DIV:
23545 : : if (pnum_clobbers != NULL)
23546 : : {
23547 : : switch (pattern210 (x1))
23548 : : {
23549 : : case 0:
23550 : : switch (GET_MODE (operands[0]))
23551 : : {
23552 : : case E_HImode:
23553 : : if (pattern380 (x1,
23554 : : E_HImode) == 0
23555 : : &&
23556 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23557 : : (TARGET_HIMODE_MATH))
23558 : : {
23559 : : *pnum_clobbers = 1;
23560 : : return 651; /* *divmodhi4 */
23561 : : }
23562 : : break;
23563 : :
23564 : : case E_SImode:
23565 : : if (pattern380 (x1,
23566 : : E_SImode) == 0)
23567 : : {
23568 : : *pnum_clobbers = 1;
23569 : : return 652; /* *divmodsi4 */
23570 : : }
23571 : : break;
23572 : :
23573 : : case E_DImode:
23574 : : if (pattern380 (x1,
23575 : : E_DImode) == 0
23576 : : &&
23577 : : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23578 : : (TARGET_64BIT))
23579 : : {
23580 : : *pnum_clobbers = 1;
23581 : : return 653; /* *divmoddi4 */
23582 : : }
23583 : : break;
23584 : :
23585 : : default:
23586 : : break;
23587 : : }
23588 : : break;
23589 : :
23590 : : case 1:
23591 : : if (const_int_operand (operands[2], E_SImode)
23592 : : && pattern1482 (x1) == 0
23593 : : &&
23594 : : #line 12070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23595 : : (!optimize_function_for_size_p (cfun)))
23596 : : {
23597 : : *pnum_clobbers = 1;
23598 : : return 681; /* *divmodsi4_const */
23599 : : }
23600 : : break;
23601 : :
23602 : : default:
23603 : : break;
23604 : : }
23605 : : }
23606 : : break;
23607 : :
23608 : : case UDIV:
23609 : : if (pnum_clobbers != NULL)
23610 : : {
23611 : : switch (pattern211 (x1))
23612 : : {
23613 : : case 0:
23614 : : switch (GET_MODE (operands[0]))
23615 : : {
23616 : : case E_HImode:
23617 : : if (pattern380 (x1,
23618 : : E_HImode) == 0
23619 : : &&
23620 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23621 : : (TARGET_HIMODE_MATH))
23622 : : {
23623 : : *pnum_clobbers = 1;
23624 : : return 654; /* *udivmodhi4 */
23625 : : }
23626 : : break;
23627 : :
23628 : : case E_SImode:
23629 : : if (pattern380 (x1,
23630 : : E_SImode) == 0)
23631 : : {
23632 : : *pnum_clobbers = 1;
23633 : : return 655; /* *udivmodsi4 */
23634 : : }
23635 : : break;
23636 : :
23637 : : case E_DImode:
23638 : : if (pattern380 (x1,
23639 : : E_DImode) == 0
23640 : : &&
23641 : : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23642 : : (TARGET_64BIT))
23643 : : {
23644 : : *pnum_clobbers = 1;
23645 : : return 656; /* *udivmoddi4 */
23646 : : }
23647 : : break;
23648 : :
23649 : : default:
23650 : : break;
23651 : : }
23652 : : break;
23653 : :
23654 : : case 1:
23655 : : switch (GET_MODE (operands[0]))
23656 : : {
23657 : : case E_SImode:
23658 : : if (pattern1483 (x1,
23659 : : E_SImode) == 0
23660 : : &&
23661 : : #line 11823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23662 : : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
23663 : : {
23664 : : *pnum_clobbers = 1;
23665 : : return 657; /* *udivmodsi4_pow2 */
23666 : : }
23667 : : break;
23668 : :
23669 : : case E_DImode:
23670 : : if (pattern1483 (x1,
23671 : : E_DImode) == 0
23672 : : && (
23673 : : #line 11823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23674 : : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)) &&
23675 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23676 : : (TARGET_64BIT)))
23677 : : {
23678 : : *pnum_clobbers = 1;
23679 : : return 658; /* *udivmoddi4_pow2 */
23680 : : }
23681 : : break;
23682 : :
23683 : : default:
23684 : : break;
23685 : : }
23686 : : break;
23687 : :
23688 : : default:
23689 : : break;
23690 : : }
23691 : : }
23692 : : break;
23693 : :
23694 : : case IOR:
23695 : : res = recog_402 (x1, insn, pnum_clobbers);
23696 : : if (res >= 0)
23697 : : return res;
23698 : : break;
23699 : :
23700 : : case AND:
23701 : : res = recog_405 (x1, insn, pnum_clobbers);
23702 : : if (res >= 0)
23703 : : return res;
23704 : : break;
23705 : :
23706 : : case XOR:
23707 : : res = recog_407 (x1, insn, pnum_clobbers);
23708 : : if (res >= 0)
23709 : : return res;
23710 : : break;
23711 : :
23712 : : case NOT:
23713 : : res = recog_408 (x1, insn, pnum_clobbers);
23714 : : if (res >= 0)
23715 : : return res;
23716 : : break;
23717 : :
23718 : : case NEG:
23719 : : res = recog_409 (x1, insn, pnum_clobbers);
23720 : : if (res >= 0)
23721 : : return res;
23722 : : break;
23723 : :
23724 : : case ABS:
23725 : : res = recog_410 (x1, insn, pnum_clobbers);
23726 : : if (res >= 0)
23727 : : return res;
23728 : : break;
23729 : :
23730 : : case ASHIFT:
23731 : : res = recog_411 (x1, insn, pnum_clobbers);
23732 : : if (res >= 0)
23733 : : return res;
23734 : : break;
23735 : :
23736 : : case ROTATE:
23737 : : switch (pattern201 (x1))
23738 : : {
23739 : : case 0:
23740 : : x4 = XEXP (x3, 1);
23741 : : if (GET_CODE (x4) == SUBREG)
23742 : : {
23743 : : switch (pattern1156 (x2))
23744 : : {
23745 : : case 0:
23746 : : if (
23747 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23748 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23749 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
23750 : : == GET_MODE_BITSIZE (QImode)-1
23751 : : && ix86_pre_reload_split ()))
23752 : : return 1288; /* *rotlqi3_mask */
23753 : : break;
23754 : :
23755 : : case 1:
23756 : : if (
23757 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23758 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23759 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
23760 : : == GET_MODE_BITSIZE (HImode)-1
23761 : : && ix86_pre_reload_split ()))
23762 : : return 1290; /* *rotlhi3_mask */
23763 : : break;
23764 : :
23765 : : case 2:
23766 : : if (
23767 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23768 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23769 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23770 : : == GET_MODE_BITSIZE (SImode)-1
23771 : : && ix86_pre_reload_split ()))
23772 : : return 1292; /* *rotlsi3_mask */
23773 : : break;
23774 : :
23775 : : case 3:
23776 : : if ((
23777 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23778 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23779 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23780 : : == GET_MODE_BITSIZE (DImode)-1
23781 : : && ix86_pre_reload_split ()) &&
23782 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23783 : : (TARGET_64BIT)))
23784 : : return 1294; /* *rotldi3_mask */
23785 : : break;
23786 : :
23787 : : case 4:
23788 : : if (
23789 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23790 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23791 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23792 : : && ix86_pre_reload_split ()))
23793 : : return 1304; /* *rotlqi3_add */
23794 : : break;
23795 : :
23796 : : case 5:
23797 : : if (
23798 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23799 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23800 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23801 : : && ix86_pre_reload_split ()))
23802 : : return 1306; /* *rotlhi3_add */
23803 : : break;
23804 : :
23805 : : case 6:
23806 : : if (
23807 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23808 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23809 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23810 : : && ix86_pre_reload_split ()))
23811 : : return 1308; /* *rotlsi3_add */
23812 : : break;
23813 : :
23814 : : case 7:
23815 : : if ((
23816 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23817 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23818 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23819 : : && ix86_pre_reload_split ()) &&
23820 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23821 : : (TARGET_64BIT)))
23822 : : return 1310; /* *rotldi3_add */
23823 : : break;
23824 : :
23825 : : case 8:
23826 : : if (
23827 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23828 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23829 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23830 : : && ix86_pre_reload_split ()))
23831 : : return 1320; /* *rotlqi3_sub */
23832 : : break;
23833 : :
23834 : : case 9:
23835 : : if (
23836 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23837 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23838 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23839 : : && ix86_pre_reload_split ()))
23840 : : return 1322; /* *rotlhi3_sub */
23841 : : break;
23842 : :
23843 : : case 10:
23844 : : if (
23845 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23846 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23847 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23848 : : && ix86_pre_reload_split ()))
23849 : : return 1324; /* *rotlsi3_sub */
23850 : : break;
23851 : :
23852 : : case 11:
23853 : : if ((
23854 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23855 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23856 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23857 : : && ix86_pre_reload_split ()) &&
23858 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23859 : : (TARGET_64BIT)))
23860 : : return 1326; /* *rotldi3_sub */
23861 : : break;
23862 : :
23863 : : default:
23864 : : break;
23865 : : }
23866 : : }
23867 : : operands[2] = x4;
23868 : : switch (pattern1157 (x2))
23869 : : {
23870 : : case 0:
23871 : : if (
23872 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23873 : : (ix86_binary_operator_ok (ROTATE, SImode, operands, TARGET_APX_NDD)
23874 : : && true))
23875 : : return 1347; /* *rotlsi3_1 */
23876 : : break;
23877 : :
23878 : : case 1:
23879 : : if ((
23880 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23881 : : (ix86_binary_operator_ok (ROTATE, DImode, operands, TARGET_APX_NDD)
23882 : : && true) &&
23883 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23884 : : (TARGET_64BIT)))
23885 : : return 1351; /* *rotldi3_1 */
23886 : : break;
23887 : :
23888 : : case 2:
23889 : : if (
23890 : : #line 18812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23891 : : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
23892 : : && true))
23893 : : return 1378; /* *rotlqi3_1 */
23894 : : break;
23895 : :
23896 : : case 3:
23897 : : if (
23898 : : #line 18812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23899 : : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
23900 : : && true))
23901 : : return 1382; /* *rotlhi3_1 */
23902 : : break;
23903 : :
23904 : : case 4:
23905 : : if (
23906 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23907 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23908 : : return 1385; /* *rotlqi3_1_slp */
23909 : : break;
23910 : :
23911 : : case 5:
23912 : : if (
23913 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23914 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23915 : : return 1387; /* *rotlhi3_1_slp */
23916 : : break;
23917 : :
23918 : : default:
23919 : : break;
23920 : : }
23921 : : break;
23922 : :
23923 : : case 1:
23924 : : if (
23925 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23926 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23927 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
23928 : : == GET_MODE_BITSIZE (QImode)-1
23929 : : && ix86_pre_reload_split ()))
23930 : : return 1296; /* *rotlqi3_mask_1 */
23931 : : break;
23932 : :
23933 : : case 2:
23934 : : if (
23935 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23936 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23937 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
23938 : : == GET_MODE_BITSIZE (HImode)-1
23939 : : && ix86_pre_reload_split ()))
23940 : : return 1298; /* *rotlhi3_mask_1 */
23941 : : break;
23942 : :
23943 : : case 3:
23944 : : if (
23945 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23946 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23947 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23948 : : == GET_MODE_BITSIZE (SImode)-1
23949 : : && ix86_pre_reload_split ()))
23950 : : return 1300; /* *rotlsi3_mask_1 */
23951 : : break;
23952 : :
23953 : : case 4:
23954 : : if ((
23955 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23956 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23957 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23958 : : == GET_MODE_BITSIZE (DImode)-1
23959 : : && ix86_pre_reload_split ()) &&
23960 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23961 : : (TARGET_64BIT)))
23962 : : return 1302; /* *rotldi3_mask_1 */
23963 : : break;
23964 : :
23965 : : case 5:
23966 : : if (
23967 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23968 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23969 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23970 : : && ix86_pre_reload_split ()))
23971 : : return 1312; /* *rotlqi3_add_1 */
23972 : : break;
23973 : :
23974 : : case 6:
23975 : : if (
23976 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23977 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23978 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23979 : : && ix86_pre_reload_split ()))
23980 : : return 1314; /* *rotlhi3_add_1 */
23981 : : break;
23982 : :
23983 : : case 7:
23984 : : if (
23985 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23986 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23987 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23988 : : && ix86_pre_reload_split ()))
23989 : : return 1316; /* *rotlsi3_add_1 */
23990 : : break;
23991 : :
23992 : : case 8:
23993 : : if ((
23994 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23995 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23996 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23997 : : && ix86_pre_reload_split ()) &&
23998 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23999 : : (TARGET_64BIT)))
24000 : : return 1318; /* *rotldi3_add_1 */
24001 : : break;
24002 : :
24003 : : case 9:
24004 : : if (
24005 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24006 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
24007 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
24008 : : && ix86_pre_reload_split ()))
24009 : : return 1328; /* *rotlqi3_sub_1 */
24010 : : break;
24011 : :
24012 : : case 10:
24013 : : if (
24014 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24015 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
24016 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
24017 : : && ix86_pre_reload_split ()))
24018 : : return 1330; /* *rotlhi3_sub_1 */
24019 : : break;
24020 : :
24021 : : case 11:
24022 : : if (
24023 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24024 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
24025 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24026 : : && ix86_pre_reload_split ()))
24027 : : return 1332; /* *rotlsi3_sub_1 */
24028 : : break;
24029 : :
24030 : : case 12:
24031 : : if ((
24032 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24033 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
24034 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24035 : : && ix86_pre_reload_split ()) &&
24036 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24037 : : (TARGET_64BIT)))
24038 : : return 1334; /* *rotldi3_sub_1 */
24039 : : break;
24040 : :
24041 : : default:
24042 : : break;
24043 : : }
24044 : : break;
24045 : :
24046 : : case ROTATERT:
24047 : : switch (pattern201 (x1))
24048 : : {
24049 : : case 0:
24050 : : x4 = XEXP (x3, 1);
24051 : : if (GET_CODE (x4) == SUBREG)
24052 : : {
24053 : : switch (pattern1156 (x2))
24054 : : {
24055 : : case 0:
24056 : : if (
24057 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24058 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
24059 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
24060 : : == GET_MODE_BITSIZE (QImode)-1
24061 : : && ix86_pre_reload_split ()))
24062 : : return 1289; /* *rotrqi3_mask */
24063 : : break;
24064 : :
24065 : : case 1:
24066 : : if (
24067 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24068 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
24069 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
24070 : : == GET_MODE_BITSIZE (HImode)-1
24071 : : && ix86_pre_reload_split ()))
24072 : : return 1291; /* *rotrhi3_mask */
24073 : : break;
24074 : :
24075 : : case 2:
24076 : : if (
24077 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24078 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
24079 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
24080 : : == GET_MODE_BITSIZE (SImode)-1
24081 : : && ix86_pre_reload_split ()))
24082 : : return 1293; /* *rotrsi3_mask */
24083 : : break;
24084 : :
24085 : : case 3:
24086 : : if ((
24087 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24088 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
24089 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
24090 : : == GET_MODE_BITSIZE (DImode)-1
24091 : : && ix86_pre_reload_split ()) &&
24092 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24093 : : (TARGET_64BIT)))
24094 : : return 1295; /* *rotrdi3_mask */
24095 : : break;
24096 : :
24097 : : case 4:
24098 : : if (
24099 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24100 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
24101 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
24102 : : && ix86_pre_reload_split ()))
24103 : : return 1305; /* *rotrqi3_add */
24104 : : break;
24105 : :
24106 : : case 5:
24107 : : if (
24108 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24109 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
24110 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
24111 : : && ix86_pre_reload_split ()))
24112 : : return 1307; /* *rotrhi3_add */
24113 : : break;
24114 : :
24115 : : case 6:
24116 : : if (
24117 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24118 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
24119 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24120 : : && ix86_pre_reload_split ()))
24121 : : return 1309; /* *rotrsi3_add */
24122 : : break;
24123 : :
24124 : : case 7:
24125 : : if ((
24126 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24127 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
24128 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24129 : : && ix86_pre_reload_split ()) &&
24130 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24131 : : (TARGET_64BIT)))
24132 : : return 1311; /* *rotrdi3_add */
24133 : : break;
24134 : :
24135 : : case 8:
24136 : : if (
24137 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24138 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
24139 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
24140 : : && ix86_pre_reload_split ()))
24141 : : return 1321; /* *rotrqi3_sub */
24142 : : break;
24143 : :
24144 : : case 9:
24145 : : if (
24146 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24147 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
24148 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
24149 : : && ix86_pre_reload_split ()))
24150 : : return 1323; /* *rotrhi3_sub */
24151 : : break;
24152 : :
24153 : : case 10:
24154 : : if (
24155 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24156 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
24157 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24158 : : && ix86_pre_reload_split ()))
24159 : : return 1325; /* *rotrsi3_sub */
24160 : : break;
24161 : :
24162 : : case 11:
24163 : : if ((
24164 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24165 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
24166 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24167 : : && ix86_pre_reload_split ()) &&
24168 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24169 : : (TARGET_64BIT)))
24170 : : return 1327; /* *rotrdi3_sub */
24171 : : break;
24172 : :
24173 : : default:
24174 : : break;
24175 : : }
24176 : : }
24177 : : operands[2] = x4;
24178 : : switch (pattern1157 (x2))
24179 : : {
24180 : : case 0:
24181 : : if (
24182 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24183 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
24184 : : && true))
24185 : : return 1349; /* *rotrsi3_1 */
24186 : : break;
24187 : :
24188 : : case 1:
24189 : : if ((
24190 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24191 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
24192 : : && true) &&
24193 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24194 : : (TARGET_64BIT)))
24195 : : return 1353; /* *rotrdi3_1 */
24196 : : break;
24197 : :
24198 : : case 2:
24199 : : if (
24200 : : #line 18812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24201 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands, TARGET_APX_NDD)
24202 : : && true))
24203 : : return 1380; /* *rotrqi3_1 */
24204 : : break;
24205 : :
24206 : : case 3:
24207 : : if (
24208 : : #line 18812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24209 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands, TARGET_APX_NDD)
24210 : : && true))
24211 : : return 1384; /* *rotrhi3_1 */
24212 : : break;
24213 : :
24214 : : case 4:
24215 : : if (
24216 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24217 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
24218 : : return 1386; /* *rotrqi3_1_slp */
24219 : : break;
24220 : :
24221 : : case 5:
24222 : : if (
24223 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24224 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
24225 : : return 1388; /* *rotrhi3_1_slp */
24226 : : break;
24227 : :
24228 : : default:
24229 : : break;
24230 : : }
24231 : : break;
24232 : :
24233 : : case 1:
24234 : : if (
24235 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24236 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
24237 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
24238 : : == GET_MODE_BITSIZE (QImode)-1
24239 : : && ix86_pre_reload_split ()))
24240 : : return 1297; /* *rotrqi3_mask_1 */
24241 : : break;
24242 : :
24243 : : case 2:
24244 : : if (
24245 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24246 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
24247 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
24248 : : == GET_MODE_BITSIZE (HImode)-1
24249 : : && ix86_pre_reload_split ()))
24250 : : return 1299; /* *rotrhi3_mask_1 */
24251 : : break;
24252 : :
24253 : : case 3:
24254 : : if (
24255 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24256 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
24257 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
24258 : : == GET_MODE_BITSIZE (SImode)-1
24259 : : && ix86_pre_reload_split ()))
24260 : : return 1301; /* *rotrsi3_mask_1 */
24261 : : break;
24262 : :
24263 : : case 4:
24264 : : if ((
24265 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24266 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
24267 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
24268 : : == GET_MODE_BITSIZE (DImode)-1
24269 : : && ix86_pre_reload_split ()) &&
24270 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24271 : : (TARGET_64BIT)))
24272 : : return 1303; /* *rotrdi3_mask_1 */
24273 : : break;
24274 : :
24275 : : case 5:
24276 : : if (
24277 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24278 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
24279 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
24280 : : && ix86_pre_reload_split ()))
24281 : : return 1313; /* *rotrqi3_add_1 */
24282 : : break;
24283 : :
24284 : : case 6:
24285 : : if (
24286 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24287 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
24288 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
24289 : : && ix86_pre_reload_split ()))
24290 : : return 1315; /* *rotrhi3_add_1 */
24291 : : break;
24292 : :
24293 : : case 7:
24294 : : if (
24295 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24296 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
24297 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24298 : : && ix86_pre_reload_split ()))
24299 : : return 1317; /* *rotrsi3_add_1 */
24300 : : break;
24301 : :
24302 : : case 8:
24303 : : if ((
24304 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24305 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
24306 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24307 : : && ix86_pre_reload_split ()) &&
24308 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24309 : : (TARGET_64BIT)))
24310 : : return 1319; /* *rotrdi3_add_1 */
24311 : : break;
24312 : :
24313 : : case 9:
24314 : : if (
24315 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24316 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
24317 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
24318 : : && ix86_pre_reload_split ()))
24319 : : return 1329; /* *rotrqi3_sub_1 */
24320 : : break;
24321 : :
24322 : : case 10:
24323 : : if (
24324 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24325 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
24326 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
24327 : : && ix86_pre_reload_split ()))
24328 : : return 1331; /* *rotrhi3_sub_1 */
24329 : : break;
24330 : :
24331 : : case 11:
24332 : : if (
24333 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24334 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
24335 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24336 : : && ix86_pre_reload_split ()))
24337 : : return 1333; /* *rotrsi3_sub_1 */
24338 : : break;
24339 : :
24340 : : case 12:
24341 : : if ((
24342 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24343 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
24344 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24345 : : && ix86_pre_reload_split ()) &&
24346 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24347 : : (TARGET_64BIT)))
24348 : : return 1335; /* *rotrdi3_sub_1 */
24349 : : break;
24350 : :
24351 : : default:
24352 : : break;
24353 : : }
24354 : : break;
24355 : :
24356 : : case CALL:
24357 : : res = recog_412 (x1, insn, pnum_clobbers);
24358 : : if (res >= 0)
24359 : : return res;
24360 : : break;
24361 : :
24362 : : case CTZ:
24363 : : res = recog_413 (x1, insn, pnum_clobbers);
24364 : : if (res >= 0)
24365 : : return res;
24366 : : break;
24367 : :
24368 : : case SIGN_EXTEND:
24369 : : res = recog_414 (x1, insn, pnum_clobbers);
24370 : : if (res >= 0)
24371 : : return res;
24372 : : break;
24373 : :
24374 : : case CLZ:
24375 : : res = recog_415 (x1, insn, pnum_clobbers);
24376 : : if (res >= 0)
24377 : : return res;
24378 : : break;
24379 : :
24380 : : case POPCOUNT:
24381 : : res = recog_416 (x1, insn, pnum_clobbers);
24382 : : if (res >= 0)
24383 : : return res;
24384 : : break;
24385 : :
24386 : : case SMAX:
24387 : : switch (pattern205 (x1))
24388 : : {
24389 : : case 0:
24390 : : if ((
24391 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24392 : : (TARGET_CMOVE
24393 : : && ix86_pre_reload_split ()) &&
24394 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24395 : : (!TARGET_64BIT)))
24396 : : return 1837; /* *smaxdi3_doubleword */
24397 : : if ((
24398 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24399 : : (TARGET_CMOVE
24400 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24401 : : && ix86_pre_reload_split ()) &&
24402 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24403 : : (TARGET_64BIT)))
24404 : : return 1857; /* *smaxdi3_1 */
24405 : : break;
24406 : :
24407 : : case 1:
24408 : : if ((
24409 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24410 : : (TARGET_CMOVE
24411 : : && ix86_pre_reload_split ()) &&
24412 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24413 : : (TARGET_64BIT)))
24414 : : return 1841; /* *smaxti3_doubleword */
24415 : : break;
24416 : :
24417 : : case 2:
24418 : : if (
24419 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24420 : : (TARGET_CMOVE
24421 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24422 : : && ix86_pre_reload_split ()))
24423 : : return 1845; /* *smaxqi3_1 */
24424 : : break;
24425 : :
24426 : : case 3:
24427 : : if (
24428 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24429 : : (TARGET_CMOVE
24430 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24431 : : && ix86_pre_reload_split ()))
24432 : : return 1849; /* *smaxhi3_1 */
24433 : : break;
24434 : :
24435 : : case 4:
24436 : : if (
24437 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24438 : : (TARGET_CMOVE
24439 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24440 : : && ix86_pre_reload_split ()))
24441 : : return 1853; /* *smaxsi3_1 */
24442 : : break;
24443 : :
24444 : : case 5:
24445 : : if (
24446 : : #line 894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24447 : : (TARGET_3DNOW && ix86_binary_operator_ok (SMAX, V2SFmode, operands)))
24448 : : return 2066; /* *mmx_smaxv2sf3 */
24449 : : break;
24450 : :
24451 : : default:
24452 : : break;
24453 : : }
24454 : : break;
24455 : :
24456 : : case SMIN:
24457 : : switch (pattern205 (x1))
24458 : : {
24459 : : case 0:
24460 : : if ((
24461 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24462 : : (TARGET_CMOVE
24463 : : && ix86_pre_reload_split ()) &&
24464 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24465 : : (!TARGET_64BIT)))
24466 : : return 1838; /* *smindi3_doubleword */
24467 : : if ((
24468 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24469 : : (TARGET_CMOVE
24470 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24471 : : && ix86_pre_reload_split ()) &&
24472 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24473 : : (TARGET_64BIT)))
24474 : : return 1858; /* *smindi3_1 */
24475 : : break;
24476 : :
24477 : : case 1:
24478 : : if ((
24479 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24480 : : (TARGET_CMOVE
24481 : : && ix86_pre_reload_split ()) &&
24482 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24483 : : (TARGET_64BIT)))
24484 : : return 1842; /* *sminti3_doubleword */
24485 : : break;
24486 : :
24487 : : case 2:
24488 : : if (
24489 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24490 : : (TARGET_CMOVE
24491 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24492 : : && ix86_pre_reload_split ()))
24493 : : return 1846; /* *sminqi3_1 */
24494 : : break;
24495 : :
24496 : : case 3:
24497 : : if (
24498 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24499 : : (TARGET_CMOVE
24500 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24501 : : && ix86_pre_reload_split ()))
24502 : : return 1850; /* *sminhi3_1 */
24503 : : break;
24504 : :
24505 : : case 4:
24506 : : if (
24507 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24508 : : (TARGET_CMOVE
24509 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24510 : : && ix86_pre_reload_split ()))
24511 : : return 1854; /* *sminsi3_1 */
24512 : : break;
24513 : :
24514 : : case 5:
24515 : : if (
24516 : : #line 894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24517 : : (TARGET_3DNOW && ix86_binary_operator_ok (SMIN, V2SFmode, operands)))
24518 : : return 2067; /* *mmx_sminv2sf3 */
24519 : : break;
24520 : :
24521 : : default:
24522 : : break;
24523 : : }
24524 : : break;
24525 : :
24526 : : case UMAX:
24527 : : switch (pattern206 (x1))
24528 : : {
24529 : : case 0:
24530 : : if ((
24531 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24532 : : (TARGET_CMOVE
24533 : : && ix86_pre_reload_split ()) &&
24534 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24535 : : (!TARGET_64BIT)))
24536 : : return 1839; /* *umaxdi3_doubleword */
24537 : : if ((
24538 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24539 : : (TARGET_CMOVE
24540 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24541 : : && ix86_pre_reload_split ()) &&
24542 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24543 : : (TARGET_64BIT)))
24544 : : return 1859; /* *umaxdi3_1 */
24545 : : break;
24546 : :
24547 : : case 1:
24548 : : if ((
24549 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24550 : : (TARGET_CMOVE
24551 : : && ix86_pre_reload_split ()) &&
24552 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24553 : : (TARGET_64BIT)))
24554 : : return 1843; /* *umaxti3_doubleword */
24555 : : break;
24556 : :
24557 : : case 2:
24558 : : if (
24559 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24560 : : (TARGET_CMOVE
24561 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24562 : : && ix86_pre_reload_split ()))
24563 : : return 1847; /* *umaxqi3_1 */
24564 : : break;
24565 : :
24566 : : case 3:
24567 : : if (
24568 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24569 : : (TARGET_CMOVE
24570 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24571 : : && ix86_pre_reload_split ()))
24572 : : return 1851; /* *umaxhi3_1 */
24573 : : break;
24574 : :
24575 : : case 4:
24576 : : if (
24577 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24578 : : (TARGET_CMOVE
24579 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24580 : : && ix86_pre_reload_split ()))
24581 : : return 1855; /* *umaxsi3_1 */
24582 : : break;
24583 : :
24584 : : default:
24585 : : break;
24586 : : }
24587 : : break;
24588 : :
24589 : : case UMIN:
24590 : : switch (pattern206 (x1))
24591 : : {
24592 : : case 0:
24593 : : if ((
24594 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24595 : : (TARGET_CMOVE
24596 : : && ix86_pre_reload_split ()) &&
24597 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24598 : : (!TARGET_64BIT)))
24599 : : return 1840; /* *umindi3_doubleword */
24600 : : if ((
24601 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24602 : : (TARGET_CMOVE
24603 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24604 : : && ix86_pre_reload_split ()) &&
24605 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24606 : : (TARGET_64BIT)))
24607 : : return 1860; /* *umindi3_1 */
24608 : : break;
24609 : :
24610 : : case 1:
24611 : : if ((
24612 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24613 : : (TARGET_CMOVE
24614 : : && ix86_pre_reload_split ()) &&
24615 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24616 : : (TARGET_64BIT)))
24617 : : return 1844; /* *uminti3_doubleword */
24618 : : break;
24619 : :
24620 : : case 2:
24621 : : if (
24622 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24623 : : (TARGET_CMOVE
24624 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24625 : : && ix86_pre_reload_split ()))
24626 : : return 1848; /* *uminqi3_1 */
24627 : : break;
24628 : :
24629 : : case 3:
24630 : : if (
24631 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24632 : : (TARGET_CMOVE
24633 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24634 : : && ix86_pre_reload_split ()))
24635 : : return 1852; /* *uminhi3_1 */
24636 : : break;
24637 : :
24638 : : case 4:
24639 : : if (
24640 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24641 : : (TARGET_CMOVE
24642 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24643 : : && ix86_pre_reload_split ()))
24644 : : return 1856; /* *uminsi3_1 */
24645 : : break;
24646 : :
24647 : : default:
24648 : : break;
24649 : : }
24650 : : break;
24651 : :
24652 : : case UNSPEC_VOLATILE:
24653 : : res = recog_417 (x1, insn, pnum_clobbers);
24654 : : if (res >= 0)
24655 : : return res;
24656 : : break;
24657 : :
24658 : : case VEC_MERGE:
24659 : : if (pattern207 (x1) == 0
24660 : : &&
24661 : : #line 8403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24662 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE))
24663 : : return 4741; /* sse_cvtpi2ps */
24664 : : break;
24665 : :
24666 : : case VEC_CONCAT:
24667 : : res = recog_418 (x1, insn, pnum_clobbers);
24668 : : if (res >= 0)
24669 : : return res;
24670 : : break;
24671 : :
24672 : : case VEC_DUPLICATE:
24673 : : res = recog_419 (x1, insn, pnum_clobbers);
24674 : : if (res >= 0)
24675 : : return res;
24676 : : break;
24677 : :
24678 : : case VEC_SELECT:
24679 : : res = recog_420 (x1, insn, pnum_clobbers);
24680 : : if (res >= 0)
24681 : : return res;
24682 : : break;
24683 : :
24684 : : default:
24685 : : break;
24686 : : }
24687 : : x5 = XVECEXP (x1, 0, 1);
24688 : : if (GET_CODE (x5) != UNSPEC
24689 : : || XVECLEN (x5, 0) != 1
24690 : : || XINT (x5, 1) != 39)
24691 : : return -1;
24692 : : return recog_421 (x1, insn, pnum_clobbers);
24693 : :
24694 : : case CALL:
24695 : : x6 = XEXP (x2, 0);
24696 : : if (GET_CODE (x6) != MEM
24697 : : || GET_MODE (x6) != E_QImode)
24698 : : return -1;
24699 : : x7 = XEXP (x6, 0);
24700 : : operands[0] = x7;
24701 : : x3 = XEXP (x2, 1);
24702 : : operands[1] = x3;
24703 : : x5 = XVECEXP (x1, 0, 1);
24704 : : switch (pattern691 (x5))
24705 : : {
24706 : : case 0:
24707 : : switch (GET_MODE (operands[0]))
24708 : : {
24709 : : case E_SImode:
24710 : : if (memory_operand (operands[0], E_SImode)
24711 : : && (
24712 : : #line 20325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24713 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER) &&
24714 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24715 : : (word_mode == SImode)))
24716 : : return 1474; /* *sibcall_memory */
24717 : : break;
24718 : :
24719 : : case E_DImode:
24720 : : if (memory_operand (operands[0], E_DImode)
24721 : : && (
24722 : : #line 20325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24723 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER) &&
24724 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24725 : : (word_mode == DImode)))
24726 : : return 1475; /* *sibcall_memory */
24727 : : break;
24728 : :
24729 : : default:
24730 : : break;
24731 : : }
24732 : : break;
24733 : :
24734 : : case 1:
24735 : : x8 = XEXP (x5, 1);
24736 : : x9 = XEXP (x8, 1);
24737 : : operands[2] = x9;
24738 : : if (immediate_operand (operands[2], E_SImode))
24739 : : {
24740 : : if (call_insn_operand (operands[0], E_SImode)
24741 : : &&
24742 : : #line 20376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24743 : : (!TARGET_64BIT && !SIBLING_CALL_P (insn)))
24744 : : return 1476; /* *call_pop */
24745 : : if (sibcall_insn_operand (operands[0], E_SImode)
24746 : : &&
24747 : : #line 20386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24748 : : (!TARGET_64BIT && SIBLING_CALL_P (insn)))
24749 : : return 1477; /* *sibcall_pop */
24750 : : }
24751 : : break;
24752 : :
24753 : : default:
24754 : : break;
24755 : : }
24756 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24757 : : || x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24758 : : || pattern373 (x5,
24759 : : 105,
24760 : : 1) != 0
24761 : : || !
24762 : : #line 27391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24763 : : (TARGET_AVX))
24764 : : return -1;
24765 : : return 9042; /* avx_vzeroupper_callee_abi */
24766 : :
24767 : : case SIMPLE_RETURN:
24768 : : x5 = XVECEXP (x1, 0, 1);
24769 : : switch (GET_CODE (x5))
24770 : : {
24771 : : case UNSPEC:
24772 : : if (XVECLEN (x5, 0) != 1)
24773 : : return -1;
24774 : : x10 = XVECEXP (x5, 0, 0);
24775 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24776 : : return -1;
24777 : : switch (XINT (x5, 1))
24778 : : {
24779 : : case 102:
24780 : : if (!
24781 : : #line 20788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24782 : : (reload_completed))
24783 : : return -1;
24784 : : return 1494; /* interrupt_return */
24785 : :
24786 : : case 30:
24787 : : if (!
24788 : : #line 20799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24789 : : (reload_completed))
24790 : : return -1;
24791 : : return 1495; /* simple_return_internal_long */
24792 : :
24793 : : default:
24794 : : return -1;
24795 : : }
24796 : :
24797 : : case USE:
24798 : : x11 = XEXP (x5, 0);
24799 : : operands[0] = x11;
24800 : : switch (GET_CODE (operands[0]))
24801 : : {
24802 : : case CONST_INT:
24803 : : if (!const_int_operand (operands[0], E_SImode)
24804 : : || !
24805 : : #line 20810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24806 : : (reload_completed))
24807 : : return -1;
24808 : : return 1496; /* simple_return_pop_internal */
24809 : :
24810 : : case REG:
24811 : : case SUBREG:
24812 : : switch (GET_MODE (operands[0]))
24813 : : {
24814 : : case E_SImode:
24815 : : if (!register_operand (operands[0], E_SImode)
24816 : : || !(
24817 : : #line 20828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24818 : : (reload_completed) &&
24819 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24820 : : (word_mode == SImode)))
24821 : : return -1;
24822 : : return 1497; /* *simple_return_indirect_internalsi */
24823 : :
24824 : : case E_DImode:
24825 : : if (!register_operand (operands[0], E_DImode)
24826 : : || !(
24827 : : #line 20828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24828 : : (reload_completed) &&
24829 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24830 : : (word_mode == DImode)))
24831 : : return -1;
24832 : : return 1498; /* *simple_return_indirect_internaldi */
24833 : :
24834 : : default:
24835 : : return -1;
24836 : : }
24837 : :
24838 : : default:
24839 : : return -1;
24840 : : }
24841 : :
24842 : : default:
24843 : : return -1;
24844 : : }
24845 : :
24846 : : case UNSPEC_VOLATILE:
24847 : : if (XVECLEN (x2, 0) != 4
24848 : : || XINT (x2, 1) != 98
24849 : : || GET_MODE (x2) != E_V2DImode)
24850 : : return -1;
24851 : : x5 = XVECEXP (x1, 0, 1);
24852 : : if (pattern222 (x5,
24853 : : E_CCmode,
24854 : : 17) != 0)
24855 : : return -1;
24856 : : x12 = XVECEXP (x2, 0, 0);
24857 : : operands[0] = x12;
24858 : : if (!register_operand (operands[0], E_V2DImode))
24859 : : return -1;
24860 : : x13 = XVECEXP (x2, 0, 1);
24861 : : operands[1] = x13;
24862 : : if (!register_operand (operands[1], E_V2DImode))
24863 : : return -1;
24864 : : x14 = XVECEXP (x2, 0, 2);
24865 : : operands[2] = x14;
24866 : : if (!register_operand (operands[2], E_V2DImode))
24867 : : return -1;
24868 : : x15 = XVECEXP (x2, 0, 3);
24869 : : operands[3] = x15;
24870 : : if (!register_operand (operands[3], E_SImode)
24871 : : || !
24872 : : #line 31371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24873 : : (TARGET_KL))
24874 : : return -1;
24875 : : return 10332; /* loadiwkey */
24876 : :
24877 : : default:
24878 : : return -1;
24879 : : }
24880 : : }
24881 : :
24882 : : rtx_insn *
24883 : : split_28 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24884 : : {
24885 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24886 : : rtx x2, x3, x4, x5, x6, x7;
24887 : : rtx_insn *res ATTRIBUTE_UNUSED;
24888 : : x2 = XVECEXP (x1, 0, 0);
24889 : : x3 = XEXP (x2, 1);
24890 : : if (maybe_ne (SUBREG_BYTE (x3), 0))
24891 : : return NULL;
24892 : : x4 = XVECEXP (x1, 0, 1);
24893 : : if (pattern222 (x4,
24894 : : E_CCmode,
24895 : : 17) != 0)
24896 : : return NULL;
24897 : : switch (pattern1026 (x2))
24898 : : {
24899 : : case 0:
24900 : : x5 = XEXP (x3, 0);
24901 : : x6 = XEXP (x5, 1);
24902 : : operands[2] = x6;
24903 : : if (general_operand (operands[2], E_QImode))
24904 : : {
24905 : : switch (pattern1024 (x2))
24906 : : {
24907 : : case 0:
24908 : : if (
24909 : : #line 7544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24910 : : (reload_completed
24911 : : && !rtx_equal_p (operands[0], operands[1])))
24912 : : return gen_split_143 (insn, operands);
24913 : : break;
24914 : :
24915 : : case 1:
24916 : : if (
24917 : : #line 7544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24918 : : (reload_completed
24919 : : && !rtx_equal_p (operands[0], operands[1])))
24920 : : return gen_split_144 (insn, operands);
24921 : : break;
24922 : :
24923 : : case 2:
24924 : : if ((
24925 : : #line 7544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24926 : : (reload_completed
24927 : : && !rtx_equal_p (operands[0], operands[1])) &&
24928 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24929 : : (TARGET_64BIT)))
24930 : : return gen_split_145 (insn, operands);
24931 : : break;
24932 : :
24933 : : default:
24934 : : break;
24935 : : }
24936 : : }
24937 : : if (GET_CODE (x6) != SUBREG)
24938 : : return NULL;
24939 : : switch (pattern1784 (x2))
24940 : : {
24941 : : case 0:
24942 : : if (!
24943 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24944 : : (reload_completed
24945 : : && !(rtx_equal_p (operands[0], operands[1])
24946 : : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24947 : : return NULL;
24948 : : return gen_split_146 (insn, operands);
24949 : :
24950 : : case 1:
24951 : : if (!
24952 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24953 : : (reload_completed
24954 : : && !(rtx_equal_p (operands[0], operands[1])
24955 : : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24956 : : return NULL;
24957 : : return gen_split_148 (insn, operands);
24958 : :
24959 : : case 2:
24960 : : if (!(
24961 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24962 : : (reload_completed
24963 : : && !(rtx_equal_p (operands[0], operands[1])
24964 : : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
24965 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24966 : : (TARGET_64BIT)))
24967 : : return NULL;
24968 : : return gen_split_150 (insn, operands);
24969 : :
24970 : : default:
24971 : : return NULL;
24972 : : }
24973 : :
24974 : : case 1:
24975 : : x5 = XEXP (x3, 0);
24976 : : x6 = XEXP (x5, 1);
24977 : : if (GET_CODE (x6) == SUBREG)
24978 : : {
24979 : : switch (pattern1784 (x2))
24980 : : {
24981 : : case 0:
24982 : : if (
24983 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24984 : : (reload_completed
24985 : : && !(rtx_equal_p (operands[0], operands[1])
24986 : : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24987 : : return gen_split_147 (insn, operands);
24988 : : break;
24989 : :
24990 : : case 1:
24991 : : if (
24992 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24993 : : (reload_completed
24994 : : && !(rtx_equal_p (operands[0], operands[1])
24995 : : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24996 : : return gen_split_149 (insn, operands);
24997 : : break;
24998 : :
24999 : : case 2:
25000 : : if ((
25001 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25002 : : (reload_completed
25003 : : && !(rtx_equal_p (operands[0], operands[1])
25004 : : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
25005 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25006 : : (TARGET_64BIT)))
25007 : : return gen_split_151 (insn, operands);
25008 : : break;
25009 : :
25010 : : default:
25011 : : break;
25012 : : }
25013 : : }
25014 : : operands[2] = x6;
25015 : : if (!general_operand (operands[2], E_QImode))
25016 : : return NULL;
25017 : : switch (pattern1024 (x2))
25018 : : {
25019 : : case 0:
25020 : : if (!
25021 : : #line 8352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25022 : : (reload_completed
25023 : : && !(rtx_equal_p (operands[0], operands[1]))))
25024 : : return NULL;
25025 : : return gen_split_189 (insn, operands);
25026 : :
25027 : : case 1:
25028 : : if (!
25029 : : #line 8352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25030 : : (reload_completed
25031 : : && !(rtx_equal_p (operands[0], operands[1]))))
25032 : : return NULL;
25033 : : return gen_split_190 (insn, operands);
25034 : :
25035 : : case 2:
25036 : : if (!(
25037 : : #line 8352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25038 : : (reload_completed
25039 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25040 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25041 : : (TARGET_64BIT)))
25042 : : return NULL;
25043 : : return gen_split_191 (insn, operands);
25044 : :
25045 : : default:
25046 : : return NULL;
25047 : : }
25048 : :
25049 : : case 2:
25050 : : x5 = XEXP (x3, 0);
25051 : : x6 = XEXP (x5, 1);
25052 : : operands[2] = x6;
25053 : : if (general_operand (operands[2], E_QImode))
25054 : : {
25055 : : switch (pattern1024 (x2))
25056 : : {
25057 : : case 0:
25058 : : if (
25059 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25060 : : (reload_completed
25061 : : && !(rtx_equal_p (operands[0], operands[1]))))
25062 : : return gen_split_337 (insn, operands);
25063 : : break;
25064 : :
25065 : : case 1:
25066 : : if (
25067 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25068 : : (reload_completed
25069 : : && !(rtx_equal_p (operands[0], operands[1]))))
25070 : : return gen_split_340 (insn, operands);
25071 : : break;
25072 : :
25073 : : case 2:
25074 : : if ((
25075 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25076 : : (reload_completed
25077 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25078 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25079 : : (TARGET_64BIT)))
25080 : : return gen_split_343 (insn, operands);
25081 : : break;
25082 : :
25083 : : default:
25084 : : break;
25085 : : }
25086 : : }
25087 : : if (GET_CODE (x6) != SUBREG)
25088 : : return NULL;
25089 : : switch (pattern1784 (x2))
25090 : : {
25091 : : case 0:
25092 : : if (!
25093 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25094 : : (reload_completed
25095 : : && !(rtx_equal_p (operands[0], operands[1])
25096 : : || rtx_equal_p (operands[0], operands[2]))))
25097 : : return NULL;
25098 : : return gen_split_355 (insn, operands);
25099 : :
25100 : : case 1:
25101 : : if (!
25102 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25103 : : (reload_completed
25104 : : && !(rtx_equal_p (operands[0], operands[1])
25105 : : || rtx_equal_p (operands[0], operands[2]))))
25106 : : return NULL;
25107 : : return gen_split_358 (insn, operands);
25108 : :
25109 : : case 2:
25110 : : if (!(
25111 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25112 : : (reload_completed
25113 : : && !(rtx_equal_p (operands[0], operands[1])
25114 : : || rtx_equal_p (operands[0], operands[2]))) &&
25115 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25116 : : (TARGET_64BIT)))
25117 : : return NULL;
25118 : : return gen_split_361 (insn, operands);
25119 : :
25120 : : default:
25121 : : return NULL;
25122 : : }
25123 : :
25124 : : case 3:
25125 : : x5 = XEXP (x3, 0);
25126 : : x6 = XEXP (x5, 1);
25127 : : operands[2] = x6;
25128 : : if (general_operand (operands[2], E_QImode))
25129 : : {
25130 : : switch (pattern1024 (x2))
25131 : : {
25132 : : case 0:
25133 : : if (
25134 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25135 : : (reload_completed
25136 : : && !(rtx_equal_p (operands[0], operands[1]))))
25137 : : return gen_split_338 (insn, operands);
25138 : : break;
25139 : :
25140 : : case 1:
25141 : : if (
25142 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25143 : : (reload_completed
25144 : : && !(rtx_equal_p (operands[0], operands[1]))))
25145 : : return gen_split_341 (insn, operands);
25146 : : break;
25147 : :
25148 : : case 2:
25149 : : if ((
25150 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25151 : : (reload_completed
25152 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25153 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25154 : : (TARGET_64BIT)))
25155 : : return gen_split_344 (insn, operands);
25156 : : break;
25157 : :
25158 : : default:
25159 : : break;
25160 : : }
25161 : : }
25162 : : if (GET_CODE (x6) != SUBREG)
25163 : : return NULL;
25164 : : switch (pattern1784 (x2))
25165 : : {
25166 : : case 0:
25167 : : if (!
25168 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25169 : : (reload_completed
25170 : : && !(rtx_equal_p (operands[0], operands[1])
25171 : : || rtx_equal_p (operands[0], operands[2]))))
25172 : : return NULL;
25173 : : return gen_split_356 (insn, operands);
25174 : :
25175 : : case 1:
25176 : : if (!
25177 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25178 : : (reload_completed
25179 : : && !(rtx_equal_p (operands[0], operands[1])
25180 : : || rtx_equal_p (operands[0], operands[2]))))
25181 : : return NULL;
25182 : : return gen_split_359 (insn, operands);
25183 : :
25184 : : case 2:
25185 : : if (!(
25186 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25187 : : (reload_completed
25188 : : && !(rtx_equal_p (operands[0], operands[1])
25189 : : || rtx_equal_p (operands[0], operands[2]))) &&
25190 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25191 : : (TARGET_64BIT)))
25192 : : return NULL;
25193 : : return gen_split_362 (insn, operands);
25194 : :
25195 : : default:
25196 : : return NULL;
25197 : : }
25198 : :
25199 : : case 4:
25200 : : x5 = XEXP (x3, 0);
25201 : : x6 = XEXP (x5, 1);
25202 : : operands[2] = x6;
25203 : : if (general_operand (operands[2], E_QImode))
25204 : : {
25205 : : switch (pattern1024 (x2))
25206 : : {
25207 : : case 0:
25208 : : if (
25209 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25210 : : (reload_completed
25211 : : && !(rtx_equal_p (operands[0], operands[1]))))
25212 : : return gen_split_339 (insn, operands);
25213 : : break;
25214 : :
25215 : : case 1:
25216 : : if (
25217 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25218 : : (reload_completed
25219 : : && !(rtx_equal_p (operands[0], operands[1]))))
25220 : : return gen_split_342 (insn, operands);
25221 : : break;
25222 : :
25223 : : case 2:
25224 : : if ((
25225 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25226 : : (reload_completed
25227 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25228 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25229 : : (TARGET_64BIT)))
25230 : : return gen_split_345 (insn, operands);
25231 : : break;
25232 : :
25233 : : default:
25234 : : break;
25235 : : }
25236 : : }
25237 : : if (GET_CODE (x6) != SUBREG)
25238 : : return NULL;
25239 : : switch (pattern1784 (x2))
25240 : : {
25241 : : case 0:
25242 : : if (!
25243 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25244 : : (reload_completed
25245 : : && !(rtx_equal_p (operands[0], operands[1])
25246 : : || rtx_equal_p (operands[0], operands[2]))))
25247 : : return NULL;
25248 : : return gen_split_357 (insn, operands);
25249 : :
25250 : : case 1:
25251 : : if (!
25252 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25253 : : (reload_completed
25254 : : && !(rtx_equal_p (operands[0], operands[1])
25255 : : || rtx_equal_p (operands[0], operands[2]))))
25256 : : return NULL;
25257 : : return gen_split_360 (insn, operands);
25258 : :
25259 : : case 2:
25260 : : if (!(
25261 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25262 : : (reload_completed
25263 : : && !(rtx_equal_p (operands[0], operands[1])
25264 : : || rtx_equal_p (operands[0], operands[2]))) &&
25265 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25266 : : (TARGET_64BIT)))
25267 : : return NULL;
25268 : : return gen_split_363 (insn, operands);
25269 : :
25270 : : default:
25271 : : return NULL;
25272 : : }
25273 : :
25274 : : case 5:
25275 : : if (!
25276 : : #line 14633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25277 : : (reload_completed
25278 : : && !(rtx_equal_p (operands[0], operands[1]))))
25279 : : return NULL;
25280 : : return gen_split_500 (insn, operands);
25281 : :
25282 : : case 6:
25283 : : if (!
25284 : : #line 14633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25285 : : (reload_completed
25286 : : && !(rtx_equal_p (operands[0], operands[1]))))
25287 : : return NULL;
25288 : : return gen_split_501 (insn, operands);
25289 : :
25290 : : case 7:
25291 : : if (!(
25292 : : #line 14633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25293 : : (reload_completed
25294 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25295 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25296 : : (TARGET_64BIT)))
25297 : : return NULL;
25298 : : return gen_split_502 (insn, operands);
25299 : :
25300 : : case 8:
25301 : : if (!
25302 : : #line 16664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25303 : : (reload_completed
25304 : : && !(rtx_equal_p (operands[0], operands[1]))))
25305 : : return NULL;
25306 : : return gen_split_592 (insn, operands);
25307 : :
25308 : : case 9:
25309 : : if (!
25310 : : #line 16664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25311 : : (reload_completed
25312 : : && !(rtx_equal_p (operands[0], operands[1]))))
25313 : : return NULL;
25314 : : return gen_split_593 (insn, operands);
25315 : :
25316 : : case 10:
25317 : : if (!(
25318 : : #line 16664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25319 : : (reload_completed
25320 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25321 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25322 : : (TARGET_64BIT)))
25323 : : return NULL;
25324 : : return gen_split_594 (insn, operands);
25325 : :
25326 : : case 11:
25327 : : x7 = XEXP (x2, 0);
25328 : : operands[0] = x7;
25329 : : switch (pattern1218 (x3))
25330 : : {
25331 : : case 0:
25332 : : if (((
25333 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25334 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25335 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25336 : : (!TARGET_64BIT)) &&
25337 : : #line 16896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25338 : : ( reload_completed)))
25339 : : return gen_split_611 (insn, operands);
25340 : : break;
25341 : :
25342 : : case 1:
25343 : : if (((
25344 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25345 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25346 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25347 : : (TARGET_64BIT)) &&
25348 : : #line 16896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25349 : : ( reload_completed)))
25350 : : return gen_split_613 (insn, operands);
25351 : : break;
25352 : :
25353 : : default:
25354 : : break;
25355 : : }
25356 : : x5 = XEXP (x3, 0);
25357 : : if (GET_MODE (x5) != E_QImode)
25358 : : return NULL;
25359 : : switch (pattern1025 (x2))
25360 : : {
25361 : : case 0:
25362 : : if (!
25363 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25364 : : (reload_completed
25365 : : && !(rtx_equal_p (operands[0], operands[1]))))
25366 : : return NULL;
25367 : : return gen_split_638 (insn, operands);
25368 : :
25369 : : case 1:
25370 : : if (!
25371 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25372 : : (reload_completed
25373 : : && !(rtx_equal_p (operands[0], operands[1]))))
25374 : : return NULL;
25375 : : return gen_split_640 (insn, operands);
25376 : :
25377 : : case 2:
25378 : : if (!(
25379 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25380 : : (reload_completed
25381 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25382 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25383 : : (TARGET_64BIT)))
25384 : : return NULL;
25385 : : return gen_split_642 (insn, operands);
25386 : :
25387 : : default:
25388 : : return NULL;
25389 : : }
25390 : :
25391 : : case 12:
25392 : : x7 = XEXP (x2, 0);
25393 : : operands[0] = x7;
25394 : : switch (pattern1218 (x3))
25395 : : {
25396 : : case 0:
25397 : : if (((
25398 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25399 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25400 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25401 : : (!TARGET_64BIT)) &&
25402 : : #line 16896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25403 : : ( reload_completed)))
25404 : : return gen_split_612 (insn, operands);
25405 : : break;
25406 : :
25407 : : case 1:
25408 : : if (((
25409 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25410 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25411 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25412 : : (TARGET_64BIT)) &&
25413 : : #line 16896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25414 : : ( reload_completed)))
25415 : : return gen_split_614 (insn, operands);
25416 : : break;
25417 : :
25418 : : default:
25419 : : break;
25420 : : }
25421 : : x5 = XEXP (x3, 0);
25422 : : if (GET_MODE (x5) != E_QImode)
25423 : : return NULL;
25424 : : switch (pattern1025 (x2))
25425 : : {
25426 : : case 0:
25427 : : if (!
25428 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25429 : : (reload_completed
25430 : : && !(rtx_equal_p (operands[0], operands[1]))))
25431 : : return NULL;
25432 : : return gen_split_639 (insn, operands);
25433 : :
25434 : : case 1:
25435 : : if (!
25436 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25437 : : (reload_completed
25438 : : && !(rtx_equal_p (operands[0], operands[1]))))
25439 : : return NULL;
25440 : : return gen_split_641 (insn, operands);
25441 : :
25442 : : case 2:
25443 : : if (!(
25444 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25445 : : (reload_completed
25446 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25447 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25448 : : (TARGET_64BIT)))
25449 : : return NULL;
25450 : : return gen_split_643 (insn, operands);
25451 : :
25452 : : default:
25453 : : return NULL;
25454 : : }
25455 : :
25456 : : default:
25457 : : return NULL;
25458 : : }
25459 : : }
25460 : :
25461 : : rtx_insn *
25462 : : split_35 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25463 : : {
25464 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25465 : : rtx x2, x3, x4, x5, x6;
25466 : : rtx_insn *res ATTRIBUTE_UNUSED;
25467 : : switch (pattern396 (x1))
25468 : : {
25469 : : case 0:
25470 : : if (!(
25471 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25472 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25473 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25474 : : == GET_MODE_BITSIZE (QImode)-1
25475 : : && ix86_pre_reload_split ()) &&
25476 : : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25477 : : ( 1)))
25478 : : return NULL;
25479 : : return gen_split_700 (insn, operands);
25480 : :
25481 : : case 1:
25482 : : if (!(
25483 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25484 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25485 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25486 : : == GET_MODE_BITSIZE (HImode)-1
25487 : : && ix86_pre_reload_split ()) &&
25488 : : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25489 : : ( 1)))
25490 : : return NULL;
25491 : : return gen_split_702 (insn, operands);
25492 : :
25493 : : case 2:
25494 : : if (!(
25495 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25496 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25497 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25498 : : == GET_MODE_BITSIZE (SImode)-1
25499 : : && ix86_pre_reload_split ()) &&
25500 : : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25501 : : ( 1)))
25502 : : return NULL;
25503 : : return gen_split_704 (insn, operands);
25504 : :
25505 : : case 3:
25506 : : if (!((
25507 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25508 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25509 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25510 : : == GET_MODE_BITSIZE (DImode)-1
25511 : : && ix86_pre_reload_split ()) &&
25512 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25513 : : (TARGET_64BIT)) &&
25514 : : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25515 : : ( 1)))
25516 : : return NULL;
25517 : : return gen_split_706 (insn, operands);
25518 : :
25519 : : case 4:
25520 : : if (!(
25521 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25522 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25523 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25524 : : && ix86_pre_reload_split ()) &&
25525 : : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25526 : : ( 1)))
25527 : : return NULL;
25528 : : return gen_split_732 (insn, operands);
25529 : :
25530 : : case 5:
25531 : : if (!(
25532 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25533 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25534 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25535 : : && ix86_pre_reload_split ()) &&
25536 : : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25537 : : ( 1)))
25538 : : return NULL;
25539 : : return gen_split_734 (insn, operands);
25540 : :
25541 : : case 6:
25542 : : if (!(
25543 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25544 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25545 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25546 : : && ix86_pre_reload_split ()) &&
25547 : : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25548 : : ( 1)))
25549 : : return NULL;
25550 : : return gen_split_736 (insn, operands);
25551 : :
25552 : : case 7:
25553 : : if (!((
25554 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25555 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25556 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25557 : : && ix86_pre_reload_split ()) &&
25558 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25559 : : (TARGET_64BIT)) &&
25560 : : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25561 : : ( 1)))
25562 : : return NULL;
25563 : : return gen_split_738 (insn, operands);
25564 : :
25565 : : case 8:
25566 : : if (!(
25567 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25568 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25569 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25570 : : && ix86_pre_reload_split ()) &&
25571 : : #line 18479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25572 : : ( 1)))
25573 : : return NULL;
25574 : : return gen_split_764 (insn, operands);
25575 : :
25576 : : case 9:
25577 : : if (!(
25578 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25579 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25580 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25581 : : && ix86_pre_reload_split ()) &&
25582 : : #line 18479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25583 : : ( 1)))
25584 : : return NULL;
25585 : : return gen_split_766 (insn, operands);
25586 : :
25587 : : case 10:
25588 : : if (!(
25589 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25590 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25591 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25592 : : && ix86_pre_reload_split ()) &&
25593 : : #line 18479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25594 : : ( 1)))
25595 : : return NULL;
25596 : : return gen_split_768 (insn, operands);
25597 : :
25598 : : case 11:
25599 : : if (!((
25600 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25601 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25602 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25603 : : && ix86_pre_reload_split ()) &&
25604 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25605 : : (TARGET_64BIT)) &&
25606 : : #line 18479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25607 : : ( 1)))
25608 : : return NULL;
25609 : : return gen_split_770 (insn, operands);
25610 : :
25611 : : case 12:
25612 : : x2 = XVECEXP (x1, 0, 0);
25613 : : x3 = XEXP (x2, 0);
25614 : : operands[0] = x3;
25615 : : x4 = XEXP (x2, 1);
25616 : : switch (pattern1167 (x4))
25617 : : {
25618 : : case 0:
25619 : : if ((
25620 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25621 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25622 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25623 : : == GET_MODE_BITSIZE (QImode)-1
25624 : : && ix86_pre_reload_split ()) &&
25625 : : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25626 : : ( 1)))
25627 : : return gen_split_684 (insn, operands);
25628 : : break;
25629 : :
25630 : : case 1:
25631 : : if ((
25632 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25633 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25634 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25635 : : == GET_MODE_BITSIZE (HImode)-1
25636 : : && ix86_pre_reload_split ()) &&
25637 : : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25638 : : ( 1)))
25639 : : return gen_split_686 (insn, operands);
25640 : : break;
25641 : :
25642 : : case 2:
25643 : : if ((
25644 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25645 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25646 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25647 : : == GET_MODE_BITSIZE (SImode)-1
25648 : : && ix86_pre_reload_split ()) &&
25649 : : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25650 : : ( 1)))
25651 : : return gen_split_688 (insn, operands);
25652 : : break;
25653 : :
25654 : : case 3:
25655 : : if (((
25656 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25657 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25658 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25659 : : == GET_MODE_BITSIZE (DImode)-1
25660 : : && ix86_pre_reload_split ()) &&
25661 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25662 : : (TARGET_64BIT)) &&
25663 : : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25664 : : ( 1)))
25665 : : return gen_split_690 (insn, operands);
25666 : : break;
25667 : :
25668 : : case 4:
25669 : : if ((
25670 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25671 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25672 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25673 : : && ix86_pre_reload_split ()) &&
25674 : : #line 18374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25675 : : ( 1)))
25676 : : return gen_split_716 (insn, operands);
25677 : : break;
25678 : :
25679 : : case 5:
25680 : : if ((
25681 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25682 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25683 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25684 : : && ix86_pre_reload_split ()) &&
25685 : : #line 18374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25686 : : ( 1)))
25687 : : return gen_split_718 (insn, operands);
25688 : : break;
25689 : :
25690 : : case 6:
25691 : : if ((
25692 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25693 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25694 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25695 : : && ix86_pre_reload_split ()) &&
25696 : : #line 18374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25697 : : ( 1)))
25698 : : return gen_split_720 (insn, operands);
25699 : : break;
25700 : :
25701 : : case 7:
25702 : : if (((
25703 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25704 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25705 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25706 : : && ix86_pre_reload_split ()) &&
25707 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25708 : : (TARGET_64BIT)) &&
25709 : : #line 18374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25710 : : ( 1)))
25711 : : return gen_split_722 (insn, operands);
25712 : : break;
25713 : :
25714 : : case 8:
25715 : : if ((
25716 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25717 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25718 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25719 : : && ix86_pre_reload_split ()) &&
25720 : : #line 18443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25721 : : ( 1)))
25722 : : return gen_split_748 (insn, operands);
25723 : : break;
25724 : :
25725 : : case 9:
25726 : : if ((
25727 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25728 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25729 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25730 : : && ix86_pre_reload_split ()) &&
25731 : : #line 18443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25732 : : ( 1)))
25733 : : return gen_split_750 (insn, operands);
25734 : : break;
25735 : :
25736 : : case 10:
25737 : : if ((
25738 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25739 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25740 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25741 : : && ix86_pre_reload_split ()) &&
25742 : : #line 18443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25743 : : ( 1)))
25744 : : return gen_split_752 (insn, operands);
25745 : : break;
25746 : :
25747 : : case 11:
25748 : : if (((
25749 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25750 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25751 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25752 : : && ix86_pre_reload_split ()) &&
25753 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25754 : : (TARGET_64BIT)) &&
25755 : : #line 18443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25756 : : ( 1)))
25757 : : return gen_split_754 (insn, operands);
25758 : : break;
25759 : :
25760 : : case 12:
25761 : : x5 = XEXP (x4, 1);
25762 : : operands[2] = x5;
25763 : : switch (pattern1325 (x4))
25764 : : {
25765 : : case 0:
25766 : : if (
25767 : : #line 18676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25768 : : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)))
25769 : : return gen_split_788 (insn, operands);
25770 : : break;
25771 : :
25772 : : case 1:
25773 : : if ((
25774 : : #line 18676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25775 : : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)) &&
25776 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25777 : : (TARGET_64BIT)))
25778 : : return gen_split_789 (insn, operands);
25779 : : break;
25780 : :
25781 : : default:
25782 : : break;
25783 : : }
25784 : : if (XWINT (x5, 0) == 8L
25785 : : && QIreg_operand (operands[0], E_HImode)
25786 : : && GET_MODE (x4) == E_HImode)
25787 : : {
25788 : : x6 = XEXP (x4, 0);
25789 : : if (rtx_equal_p (x6, operands[0])
25790 : : &&
25791 : : #line 18876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25792 : : (reload_completed
25793 : : && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
25794 : : return gen_split_800 (insn, operands);
25795 : : }
25796 : : break;
25797 : :
25798 : : default:
25799 : : break;
25800 : : }
25801 : : x5 = XEXP (x4, 1);
25802 : : operands[2] = x5;
25803 : : switch (pattern1168 (x2))
25804 : : {
25805 : : case 0:
25806 : : if (!(
25807 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25808 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25809 : : #line 18854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25810 : : ( reload_completed
25811 : : && !(rtx_equal_p (operands[0], operands[1])))))
25812 : : return NULL;
25813 : : return gen_split_796 (insn, operands);
25814 : :
25815 : : case 1:
25816 : : if (!(
25817 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25818 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25819 : : #line 18854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25820 : : ( reload_completed
25821 : : && !(rtx_equal_p (operands[0], operands[1])))))
25822 : : return NULL;
25823 : : return gen_split_798 (insn, operands);
25824 : :
25825 : : default:
25826 : : return NULL;
25827 : : }
25828 : :
25829 : : default:
25830 : : return NULL;
25831 : : }
25832 : : }
25833 : :
25834 : : rtx_insn *
25835 : : split_47 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25836 : : {
25837 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25838 : : rtx x2, x3, x4;
25839 : : rtx_insn *res ATTRIBUTE_UNUSED;
25840 : : x2 = XEXP (x1, 1);
25841 : : operands[1] = x2;
25842 : : x3 = XEXP (x1, 0);
25843 : : operands[0] = x3;
25844 : : switch (GET_MODE (operands[0]))
25845 : : {
25846 : : case E_V8QImode:
25847 : : if (nonimmediate_gr_operand (operands[0], E_V8QImode)
25848 : : && nonimmediate_gr_operand (operands[1], E_V8QImode)
25849 : : &&
25850 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25851 : : (!TARGET_64BIT && reload_completed))
25852 : : return gen_split_999 (insn, operands);
25853 : : if (general_reg_operand (operands[0], E_V8QImode)
25854 : : && memory_operand (operands[1], E_V8QImode)
25855 : : && (
25856 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25857 : : (reload_completed
25858 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25859 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25860 : : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25861 : : (TARGET_64BIT)))
25862 : : return gen_split_1029 (insn, operands);
25863 : : break;
25864 : :
25865 : : case E_V4HImode:
25866 : : if (nonimmediate_gr_operand (operands[0], E_V4HImode)
25867 : : && nonimmediate_gr_operand (operands[1], E_V4HImode)
25868 : : &&
25869 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25870 : : (!TARGET_64BIT && reload_completed))
25871 : : return gen_split_1000 (insn, operands);
25872 : : if (general_reg_operand (operands[0], E_V4HImode)
25873 : : && memory_operand (operands[1], E_V4HImode)
25874 : : && (
25875 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25876 : : (reload_completed
25877 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25878 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25879 : : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25880 : : (TARGET_64BIT)))
25881 : : return gen_split_1030 (insn, operands);
25882 : : break;
25883 : :
25884 : : case E_V2SImode:
25885 : : if (nonimmediate_gr_operand (operands[0], E_V2SImode)
25886 : : && nonimmediate_gr_operand (operands[1], E_V2SImode)
25887 : : &&
25888 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25889 : : (!TARGET_64BIT && reload_completed))
25890 : : return gen_split_1001 (insn, operands);
25891 : : if (general_reg_operand (operands[0], E_V2SImode)
25892 : : && memory_operand (operands[1], E_V2SImode)
25893 : : && (
25894 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25895 : : (reload_completed
25896 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25897 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25898 : : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25899 : : (TARGET_64BIT)))
25900 : : return gen_split_1033 (insn, operands);
25901 : : break;
25902 : :
25903 : : case E_V1DImode:
25904 : : if (nonimmediate_gr_operand (operands[0], E_V1DImode)
25905 : : && nonimmediate_gr_operand (operands[1], E_V1DImode)
25906 : : &&
25907 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25908 : : (!TARGET_64BIT && reload_completed))
25909 : : return gen_split_1002 (insn, operands);
25910 : : if (general_reg_operand (operands[0], E_V1DImode)
25911 : : && memory_operand (operands[1], E_V1DImode)
25912 : : && (
25913 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25914 : : (reload_completed
25915 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25916 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25917 : : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25918 : : (TARGET_64BIT)))
25919 : : return gen_split_1035 (insn, operands);
25920 : : break;
25921 : :
25922 : : case E_V2SFmode:
25923 : : if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
25924 : : && nonimmediate_gr_operand (operands[1], E_V2SFmode)
25925 : : &&
25926 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25927 : : (!TARGET_64BIT && reload_completed))
25928 : : return gen_split_1003 (insn, operands);
25929 : : if (general_reg_operand (operands[0], E_V2SFmode)
25930 : : && memory_operand (operands[1], E_V2SFmode)
25931 : : && (
25932 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25933 : : (reload_completed
25934 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25935 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25936 : : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25937 : : (TARGET_64BIT)))
25938 : : return gen_split_1034 (insn, operands);
25939 : : break;
25940 : :
25941 : : case E_V4HFmode:
25942 : : if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
25943 : : && nonimmediate_gr_operand (operands[1], E_V4HFmode)
25944 : : &&
25945 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25946 : : (!TARGET_64BIT && reload_completed))
25947 : : return gen_split_1004 (insn, operands);
25948 : : if (general_reg_operand (operands[0], E_V4HFmode)
25949 : : && memory_operand (operands[1], E_V4HFmode)
25950 : : && (
25951 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25952 : : (reload_completed
25953 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25954 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25955 : : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25956 : : (TARGET_64BIT)))
25957 : : return gen_split_1031 (insn, operands);
25958 : : break;
25959 : :
25960 : : case E_V4BFmode:
25961 : : if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
25962 : : && nonimmediate_gr_operand (operands[1], E_V4BFmode)
25963 : : &&
25964 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25965 : : (!TARGET_64BIT && reload_completed))
25966 : : return gen_split_1005 (insn, operands);
25967 : : if (general_reg_operand (operands[0], E_V4BFmode)
25968 : : && memory_operand (operands[1], E_V4BFmode)
25969 : : && (
25970 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25971 : : (reload_completed
25972 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25973 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25974 : : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25975 : : (TARGET_64BIT)))
25976 : : return gen_split_1032 (insn, operands);
25977 : : break;
25978 : :
25979 : : case E_V4QImode:
25980 : : if (push_operand (operands[0], E_V4QImode)
25981 : : && sse_reg_operand (operands[1], E_V4QImode))
25982 : : {
25983 : : if ((
25984 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25985 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25986 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25987 : : (Pmode == SImode)))
25988 : : return gen_split_1013 (insn, operands);
25989 : : if ((
25990 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25991 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25992 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25993 : : (Pmode == DImode)))
25994 : : return gen_split_1018 (insn, operands);
25995 : : }
25996 : : if (general_reg_operand (operands[0], E_V4QImode)
25997 : : && memory_operand (operands[1], E_V4QImode)
25998 : : &&
25999 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26000 : : (reload_completed
26001 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
26002 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26003 : : return gen_split_1024 (insn, operands);
26004 : : break;
26005 : :
26006 : : case E_V2HImode:
26007 : : if (push_operand (operands[0], E_V2HImode)
26008 : : && sse_reg_operand (operands[1], E_V2HImode))
26009 : : {
26010 : : if ((
26011 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26012 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26013 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26014 : : (Pmode == SImode)))
26015 : : return gen_split_1014 (insn, operands);
26016 : : if ((
26017 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26018 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26019 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26020 : : (Pmode == DImode)))
26021 : : return gen_split_1019 (insn, operands);
26022 : : }
26023 : : if (general_reg_operand (operands[0], E_V2HImode)
26024 : : && memory_operand (operands[1], E_V2HImode)
26025 : : &&
26026 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26027 : : (reload_completed
26028 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
26029 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26030 : : return gen_split_1025 (insn, operands);
26031 : : break;
26032 : :
26033 : : case E_V1SImode:
26034 : : if (push_operand (operands[0], E_V1SImode)
26035 : : && sse_reg_operand (operands[1], E_V1SImode))
26036 : : {
26037 : : if ((
26038 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26039 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26040 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26041 : : (Pmode == SImode)))
26042 : : return gen_split_1015 (insn, operands);
26043 : : if ((
26044 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26045 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26046 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26047 : : (Pmode == DImode)))
26048 : : return gen_split_1020 (insn, operands);
26049 : : }
26050 : : if (general_reg_operand (operands[0], E_V1SImode)
26051 : : && memory_operand (operands[1], E_V1SImode)
26052 : : &&
26053 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26054 : : (reload_completed
26055 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
26056 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26057 : : return gen_split_1026 (insn, operands);
26058 : : break;
26059 : :
26060 : : case E_V2HFmode:
26061 : : if (push_operand (operands[0], E_V2HFmode)
26062 : : && sse_reg_operand (operands[1], E_V2HFmode))
26063 : : {
26064 : : if ((
26065 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26066 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26067 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26068 : : (Pmode == SImode)))
26069 : : return gen_split_1016 (insn, operands);
26070 : : if ((
26071 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26072 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26073 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26074 : : (Pmode == DImode)))
26075 : : return gen_split_1021 (insn, operands);
26076 : : }
26077 : : if (general_reg_operand (operands[0], E_V2HFmode)
26078 : : && memory_operand (operands[1], E_V2HFmode)
26079 : : &&
26080 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26081 : : (reload_completed
26082 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
26083 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26084 : : return gen_split_1027 (insn, operands);
26085 : : break;
26086 : :
26087 : : case E_V2BFmode:
26088 : : if (push_operand (operands[0], E_V2BFmode)
26089 : : && sse_reg_operand (operands[1], E_V2BFmode))
26090 : : {
26091 : : if ((
26092 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26093 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26094 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26095 : : (Pmode == SImode)))
26096 : : return gen_split_1017 (insn, operands);
26097 : : if ((
26098 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26099 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26100 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26101 : : (Pmode == DImode)))
26102 : : return gen_split_1022 (insn, operands);
26103 : : }
26104 : : if (general_reg_operand (operands[0], E_V2BFmode)
26105 : : && memory_operand (operands[1], E_V2BFmode)
26106 : : &&
26107 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26108 : : (reload_completed
26109 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
26110 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26111 : : return gen_split_1028 (insn, operands);
26112 : : break;
26113 : :
26114 : : case E_V2QImode:
26115 : : if (general_reg_operand (operands[0], E_V2QImode)
26116 : : && memory_operand (operands[1], E_V2QImode)
26117 : : &&
26118 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26119 : : (reload_completed
26120 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
26121 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26122 : : return gen_split_1023 (insn, operands);
26123 : : if (push_operand (operands[0], E_V2QImode)
26124 : : && sse_reg_operand (operands[1], E_V2QImode))
26125 : : {
26126 : : if ((
26127 : : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26128 : : (TARGET_SSE4_1 && reload_completed) &&
26129 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26130 : : (Pmode == SImode)))
26131 : : return gen_split_1049 (insn, operands);
26132 : : if ((
26133 : : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26134 : : (TARGET_SSE4_1 && reload_completed) &&
26135 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26136 : : (Pmode == DImode)))
26137 : : return gen_split_1050 (insn, operands);
26138 : : }
26139 : : break;
26140 : :
26141 : : case E_P2QImode:
26142 : : if (nonimmediate_operand (operands[0], E_P2QImode)
26143 : : && nonimmediate_operand (operands[1], E_P2QImode)
26144 : : && (
26145 : : #line 31102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26146 : : (TARGET_AVX512VP2INTERSECT
26147 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26148 : : #line 31105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26149 : : ( reload_completed)))
26150 : : return gen_split_3858 (insn, operands);
26151 : : break;
26152 : :
26153 : : case E_P2HImode:
26154 : : if (nonimmediate_operand (operands[0], E_P2HImode)
26155 : : && nonimmediate_operand (operands[1], E_P2HImode)
26156 : : && (
26157 : : #line 31102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26158 : : (TARGET_AVX512VP2INTERSECT
26159 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26160 : : #line 31105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26161 : : ( reload_completed)))
26162 : : return gen_split_3859 (insn, operands);
26163 : : break;
26164 : :
26165 : : default:
26166 : : break;
26167 : : }
26168 : : if (GET_CODE (x2) != SUBREG)
26169 : : return NULL;
26170 : : operands[0] = x3;
26171 : : switch (SUBREG_BYTE (x2))
26172 : : {
26173 : : case 8:
26174 : : if (GET_MODE (x2) != E_DFmode
26175 : : || !register_operand (operands[0], E_DFmode))
26176 : : return NULL;
26177 : : x4 = XEXP (x2, 0);
26178 : : operands[1] = x4;
26179 : : if (!register_operand (operands[1], E_V2DFmode)
26180 : : || !
26181 : : #line 14671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26182 : : (TARGET_SSE))
26183 : : return NULL;
26184 : : return gen_split_3204 (insn, operands);
26185 : :
26186 : : case 0:
26187 : : x4 = XEXP (x2, 0);
26188 : : switch (GET_CODE (x4))
26189 : : {
26190 : : case REG:
26191 : : case SUBREG:
26192 : : operands[1] = x4;
26193 : : switch (GET_MODE (operands[0]))
26194 : : {
26195 : : case E_DFmode:
26196 : : if (!register_operand (operands[0], E_DFmode)
26197 : : || GET_MODE (x2) != E_DFmode
26198 : : || !register_operand (operands[1], E_V2DFmode)
26199 : : || !
26200 : : #line 14724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26201 : : (TARGET_SSE))
26202 : : return NULL;
26203 : : return gen_split_3206 (insn, operands);
26204 : :
26205 : : case E_SImode:
26206 : : if (!nonimmediate_operand (operands[0], E_SImode)
26207 : : || GET_MODE (x2) != E_SImode
26208 : : || !register_operand (operands[1], E_VOIDmode)
26209 : : || !
26210 : : #line 21478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26211 : : (can_create_pseudo_p ()
26212 : : && REG_P (operands[1])
26213 : : && VECTOR_MODE_P (GET_MODE (operands[1]))
26214 : : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26215 : : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26216 : : || (TARGET_AVX512F
26217 : : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26218 : : && (SImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26219 : : return NULL;
26220 : : return gen_split_3432 (insn, operands);
26221 : :
26222 : : case E_DImode:
26223 : : if (!nonimmediate_operand (operands[0], E_DImode)
26224 : : || GET_MODE (x2) != E_DImode
26225 : : || !register_operand (operands[1], E_VOIDmode)
26226 : : || !
26227 : : #line 21478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26228 : : (can_create_pseudo_p ()
26229 : : && REG_P (operands[1])
26230 : : && VECTOR_MODE_P (GET_MODE (operands[1]))
26231 : : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26232 : : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26233 : : || (TARGET_AVX512F
26234 : : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26235 : : && (DImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26236 : : return NULL;
26237 : : return gen_split_3433 (insn, operands);
26238 : :
26239 : : default:
26240 : : return NULL;
26241 : : }
26242 : :
26243 : : case SS_TRUNCATE:
26244 : : switch (pattern706 (x2))
26245 : : {
26246 : : case 0:
26247 : : if (!(
26248 : : #line 15444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26249 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26250 : : #line 15446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26251 : : ( 1)))
26252 : : return NULL;
26253 : : return gen_split_3218 (insn, operands);
26254 : :
26255 : : case 1:
26256 : : if (!(
26257 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26258 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26259 : : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26260 : : ( 1)))
26261 : : return NULL;
26262 : : return gen_split_3221 (insn, operands);
26263 : :
26264 : : case 2:
26265 : : if (!(
26266 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26267 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26268 : : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26269 : : ( 1)))
26270 : : return NULL;
26271 : : return gen_split_3224 (insn, operands);
26272 : :
26273 : : case 3:
26274 : : if (!(
26275 : : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26276 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26277 : : #line 15892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26278 : : ( 1)))
26279 : : return NULL;
26280 : : return gen_split_3240 (insn, operands);
26281 : :
26282 : : case 4:
26283 : : if (!((
26284 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26285 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26286 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26287 : : (TARGET_AVX512BW)) &&
26288 : : #line 15639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26289 : : ( 1)))
26290 : : return NULL;
26291 : : return gen_split_3227 (insn, operands);
26292 : :
26293 : : case 5:
26294 : : if (!(
26295 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26296 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26297 : : #line 15639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26298 : : ( 1)))
26299 : : return NULL;
26300 : : return gen_split_3230 (insn, operands);
26301 : :
26302 : : case 6:
26303 : : if (!(
26304 : : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26305 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26306 : : #line 16155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26307 : : ( 1)))
26308 : : return NULL;
26309 : : return gen_split_3247 (insn, operands);
26310 : :
26311 : : case 7:
26312 : : if (!(
26313 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26314 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26315 : : #line 15801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26316 : : ( 1)))
26317 : : return NULL;
26318 : : return gen_split_3234 (insn, operands);
26319 : :
26320 : : case 8:
26321 : : if (!(
26322 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26323 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26324 : : #line 15801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26325 : : ( 1)))
26326 : : return NULL;
26327 : : return gen_split_3237 (insn, operands);
26328 : :
26329 : : case 9:
26330 : : if (!(
26331 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26332 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26333 : : #line 16042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26334 : : ( 1)))
26335 : : return NULL;
26336 : : return gen_split_3244 (insn, operands);
26337 : :
26338 : : default:
26339 : : return NULL;
26340 : : }
26341 : :
26342 : : case TRUNCATE:
26343 : : switch (pattern706 (x2))
26344 : : {
26345 : : case 0:
26346 : : if (!(
26347 : : #line 15444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26348 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26349 : : #line 15446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26350 : : ( 1)))
26351 : : return NULL;
26352 : : return gen_split_3219 (insn, operands);
26353 : :
26354 : : case 1:
26355 : : if (!(
26356 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26357 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26358 : : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26359 : : ( 1)))
26360 : : return NULL;
26361 : : return gen_split_3222 (insn, operands);
26362 : :
26363 : : case 2:
26364 : : if (!(
26365 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26366 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26367 : : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26368 : : ( 1)))
26369 : : return NULL;
26370 : : return gen_split_3225 (insn, operands);
26371 : :
26372 : : case 3:
26373 : : if (!(
26374 : : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26375 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26376 : : #line 15892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26377 : : ( 1)))
26378 : : return NULL;
26379 : : return gen_split_3241 (insn, operands);
26380 : :
26381 : : case 4:
26382 : : if (!((
26383 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26384 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26385 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26386 : : (TARGET_AVX512BW)) &&
26387 : : #line 15639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26388 : : ( 1)))
26389 : : return NULL;
26390 : : return gen_split_3228 (insn, operands);
26391 : :
26392 : : case 5:
26393 : : if (!(
26394 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26395 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26396 : : #line 15639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26397 : : ( 1)))
26398 : : return NULL;
26399 : : return gen_split_3231 (insn, operands);
26400 : :
26401 : : case 6:
26402 : : if (!(
26403 : : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26404 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26405 : : #line 16155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26406 : : ( 1)))
26407 : : return NULL;
26408 : : return gen_split_3248 (insn, operands);
26409 : :
26410 : : case 7:
26411 : : if (!(
26412 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26413 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26414 : : #line 15801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26415 : : ( 1)))
26416 : : return NULL;
26417 : : return gen_split_3235 (insn, operands);
26418 : :
26419 : : case 8:
26420 : : if (!(
26421 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26422 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26423 : : #line 15801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26424 : : ( 1)))
26425 : : return NULL;
26426 : : return gen_split_3238 (insn, operands);
26427 : :
26428 : : case 9:
26429 : : if (!(
26430 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26431 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26432 : : #line 16042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26433 : : ( 1)))
26434 : : return NULL;
26435 : : return gen_split_3245 (insn, operands);
26436 : :
26437 : : default:
26438 : : return NULL;
26439 : : }
26440 : :
26441 : : case US_TRUNCATE:
26442 : : switch (pattern706 (x2))
26443 : : {
26444 : : case 0:
26445 : : if (!(
26446 : : #line 15444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26447 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26448 : : #line 15446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26449 : : ( 1)))
26450 : : return NULL;
26451 : : return gen_split_3220 (insn, operands);
26452 : :
26453 : : case 1:
26454 : : if (!(
26455 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26456 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26457 : : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26458 : : ( 1)))
26459 : : return NULL;
26460 : : return gen_split_3223 (insn, operands);
26461 : :
26462 : : case 2:
26463 : : if (!(
26464 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26465 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26466 : : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26467 : : ( 1)))
26468 : : return NULL;
26469 : : return gen_split_3226 (insn, operands);
26470 : :
26471 : : case 3:
26472 : : if (!(
26473 : : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26474 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26475 : : #line 15892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26476 : : ( 1)))
26477 : : return NULL;
26478 : : return gen_split_3242 (insn, operands);
26479 : :
26480 : : case 4:
26481 : : if (!((
26482 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26483 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26484 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26485 : : (TARGET_AVX512BW)) &&
26486 : : #line 15639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26487 : : ( 1)))
26488 : : return NULL;
26489 : : return gen_split_3229 (insn, operands);
26490 : :
26491 : : case 5:
26492 : : if (!(
26493 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26494 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26495 : : #line 15639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26496 : : ( 1)))
26497 : : return NULL;
26498 : : return gen_split_3232 (insn, operands);
26499 : :
26500 : : case 6:
26501 : : if (!(
26502 : : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26503 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26504 : : #line 16155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26505 : : ( 1)))
26506 : : return NULL;
26507 : : return gen_split_3249 (insn, operands);
26508 : :
26509 : : case 7:
26510 : : if (!(
26511 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26512 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26513 : : #line 15801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26514 : : ( 1)))
26515 : : return NULL;
26516 : : return gen_split_3236 (insn, operands);
26517 : :
26518 : : case 8:
26519 : : if (!(
26520 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26521 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26522 : : #line 15801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26523 : : ( 1)))
26524 : : return NULL;
26525 : : return gen_split_3239 (insn, operands);
26526 : :
26527 : : case 9:
26528 : : if (!(
26529 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26530 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26531 : : #line 16042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26532 : : ( 1)))
26533 : : return NULL;
26534 : : return gen_split_3246 (insn, operands);
26535 : :
26536 : : default:
26537 : : return NULL;
26538 : : }
26539 : :
26540 : : default:
26541 : : return NULL;
26542 : : }
26543 : :
26544 : : default:
26545 : : return NULL;
26546 : : }
26547 : : }
26548 : :
26549 : : rtx_insn *
26550 : : split_65 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26551 : : {
26552 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26553 : : rtx x2, x3, x4, x5, x6, x7;
26554 : : rtx_insn *res ATTRIBUTE_UNUSED;
26555 : : x2 = XEXP (x1, 1);
26556 : : x3 = XEXP (x2, 1);
26557 : : if (pattern820 (x3) != 0)
26558 : : return NULL;
26559 : : x4 = XVECEXP (x3, 0, 4);
26560 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
26561 : : return NULL;
26562 : : x5 = XVECEXP (x3, 0, 5);
26563 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
26564 : : return NULL;
26565 : : x6 = XVECEXP (x3, 0, 6);
26566 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
26567 : : return NULL;
26568 : : x7 = XVECEXP (x3, 0, 7);
26569 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
26570 : : return NULL;
26571 : : switch (pattern1522 (x2))
26572 : : {
26573 : : case 0:
26574 : : if (!
26575 : : #line 12873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26576 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26577 : : && reload_completed
26578 : : && (TARGET_AVX512VL
26579 : : || REG_P (operands[0])
26580 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26581 : : return NULL;
26582 : : return gen_split_1597 (insn, operands);
26583 : :
26584 : : case 1:
26585 : : if (!
26586 : : #line 12873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26587 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26588 : : && reload_completed
26589 : : && (TARGET_AVX512VL
26590 : : || REG_P (operands[0])
26591 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26592 : : return NULL;
26593 : : return gen_split_1598 (insn, operands);
26594 : :
26595 : : case 2:
26596 : : if (!(
26597 : : #line 13113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26598 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26599 : : #line 13115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26600 : : ( reload_completed)))
26601 : : return NULL;
26602 : : return gen_split_1606 (insn, operands);
26603 : :
26604 : : case 3:
26605 : : if (!(
26606 : : #line 13113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26607 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26608 : : #line 13115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26609 : : ( reload_completed)))
26610 : : return NULL;
26611 : : return gen_split_1607 (insn, operands);
26612 : :
26613 : : case 4:
26614 : : if (!(
26615 : : #line 13113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26616 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26617 : : #line 13115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26618 : : ( reload_completed)))
26619 : : return NULL;
26620 : : return gen_split_1608 (insn, operands);
26621 : :
26622 : : default:
26623 : : return NULL;
26624 : : }
26625 : : }
26626 : :
26627 : : rtx_insn *
26628 : : split_67 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26629 : : {
26630 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26631 : : rtx x2, x3, x4;
26632 : : rtx_insn *res ATTRIBUTE_UNUSED;
26633 : : x2 = XEXP (x1, 1);
26634 : : x3 = XEXP (x2, 0);
26635 : : x4 = XEXP (x3, 0);
26636 : : switch (GET_CODE (x4))
26637 : : {
26638 : : case REG:
26639 : : case SUBREG:
26640 : : case MEM:
26641 : : case NOT:
26642 : : switch (pattern520 (x2))
26643 : : {
26644 : : case 0:
26645 : : if (!((
26646 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26647 : : ((64 == 64 || TARGET_AVX512VL
26648 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26649 : : && ix86_pre_reload_split ()
26650 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26651 : : STRIP_UNARY (operands[4]))
26652 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26653 : : STRIP_UNARY (operands[4]))
26654 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26655 : : STRIP_UNARY (operands[3]))
26656 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26657 : : STRIP_UNARY (operands[3])))) &&
26658 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26659 : : (TARGET_AVX512F)) &&
26660 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26661 : : ( 1)))
26662 : : return NULL;
26663 : : return gen_split_1709 (insn, operands);
26664 : :
26665 : : case 1:
26666 : : if (!((
26667 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26668 : : ((32 == 64 || TARGET_AVX512VL
26669 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26670 : : && ix86_pre_reload_split ()
26671 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26672 : : STRIP_UNARY (operands[4]))
26673 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26674 : : STRIP_UNARY (operands[4]))
26675 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26676 : : STRIP_UNARY (operands[3]))
26677 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26678 : : STRIP_UNARY (operands[3])))) &&
26679 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26680 : : (TARGET_AVX)) &&
26681 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26682 : : ( 1)))
26683 : : return NULL;
26684 : : return gen_split_1736 (insn, operands);
26685 : :
26686 : : case 2:
26687 : : if (!(
26688 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26689 : : ((16 == 64 || TARGET_AVX512VL
26690 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26691 : : && ix86_pre_reload_split ()
26692 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26693 : : STRIP_UNARY (operands[4]))
26694 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26695 : : STRIP_UNARY (operands[4]))
26696 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26697 : : STRIP_UNARY (operands[3]))
26698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26699 : : STRIP_UNARY (operands[3])))) &&
26700 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26701 : : ( 1)))
26702 : : return NULL;
26703 : : return gen_split_1763 (insn, operands);
26704 : :
26705 : : case 3:
26706 : : if (!((
26707 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26708 : : ((64 == 64 || TARGET_AVX512VL
26709 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26710 : : && ix86_pre_reload_split ()
26711 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26712 : : STRIP_UNARY (operands[4]))
26713 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26714 : : STRIP_UNARY (operands[4]))
26715 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26716 : : STRIP_UNARY (operands[3]))
26717 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26718 : : STRIP_UNARY (operands[3])))) &&
26719 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26720 : : (TARGET_AVX512F)) &&
26721 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26722 : : ( 1)))
26723 : : return NULL;
26724 : : return gen_split_1790 (insn, operands);
26725 : :
26726 : : case 4:
26727 : : if (!((
26728 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26729 : : ((32 == 64 || TARGET_AVX512VL
26730 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26731 : : && ix86_pre_reload_split ()
26732 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26733 : : STRIP_UNARY (operands[4]))
26734 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26735 : : STRIP_UNARY (operands[4]))
26736 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26737 : : STRIP_UNARY (operands[3]))
26738 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26739 : : STRIP_UNARY (operands[3])))) &&
26740 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26741 : : (TARGET_AVX)) &&
26742 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26743 : : ( 1)))
26744 : : return NULL;
26745 : : return gen_split_1817 (insn, operands);
26746 : :
26747 : : case 5:
26748 : : if (!(
26749 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26750 : : ((16 == 64 || TARGET_AVX512VL
26751 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26752 : : && ix86_pre_reload_split ()
26753 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26754 : : STRIP_UNARY (operands[4]))
26755 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26756 : : STRIP_UNARY (operands[4]))
26757 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26758 : : STRIP_UNARY (operands[3]))
26759 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26760 : : STRIP_UNARY (operands[3])))) &&
26761 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26762 : : ( 1)))
26763 : : return NULL;
26764 : : return gen_split_1844 (insn, operands);
26765 : :
26766 : : case 6:
26767 : : if (!((
26768 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26769 : : ((64 == 64 || TARGET_AVX512VL
26770 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26771 : : && ix86_pre_reload_split ()
26772 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26773 : : STRIP_UNARY (operands[4]))
26774 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26775 : : STRIP_UNARY (operands[4]))
26776 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26777 : : STRIP_UNARY (operands[3]))
26778 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26779 : : STRIP_UNARY (operands[3])))) &&
26780 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26781 : : (TARGET_AVX512F)) &&
26782 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26783 : : ( 1)))
26784 : : return NULL;
26785 : : return gen_split_1871 (insn, operands);
26786 : :
26787 : : case 7:
26788 : : if (!((
26789 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26790 : : ((32 == 64 || TARGET_AVX512VL
26791 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26792 : : && ix86_pre_reload_split ()
26793 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26794 : : STRIP_UNARY (operands[4]))
26795 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26796 : : STRIP_UNARY (operands[4]))
26797 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26798 : : STRIP_UNARY (operands[3]))
26799 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26800 : : STRIP_UNARY (operands[3])))) &&
26801 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26802 : : (TARGET_AVX)) &&
26803 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26804 : : ( 1)))
26805 : : return NULL;
26806 : : return gen_split_1898 (insn, operands);
26807 : :
26808 : : case 8:
26809 : : if (!(
26810 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26811 : : ((16 == 64 || TARGET_AVX512VL
26812 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26813 : : && ix86_pre_reload_split ()
26814 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26815 : : STRIP_UNARY (operands[4]))
26816 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26817 : : STRIP_UNARY (operands[4]))
26818 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26819 : : STRIP_UNARY (operands[3]))
26820 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26821 : : STRIP_UNARY (operands[3])))) &&
26822 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26823 : : ( 1)))
26824 : : return NULL;
26825 : : return gen_split_1925 (insn, operands);
26826 : :
26827 : : case 9:
26828 : : if (!((
26829 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26830 : : ((64 == 64 || TARGET_AVX512VL
26831 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26832 : : && ix86_pre_reload_split ()
26833 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26834 : : STRIP_UNARY (operands[4]))
26835 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26836 : : STRIP_UNARY (operands[4]))
26837 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26838 : : STRIP_UNARY (operands[3]))
26839 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26840 : : STRIP_UNARY (operands[3])))) &&
26841 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26842 : : (TARGET_AVX512F)) &&
26843 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26844 : : ( 1)))
26845 : : return NULL;
26846 : : return gen_split_1952 (insn, operands);
26847 : :
26848 : : case 10:
26849 : : if (!((
26850 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26851 : : ((32 == 64 || TARGET_AVX512VL
26852 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26853 : : && ix86_pre_reload_split ()
26854 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26855 : : STRIP_UNARY (operands[4]))
26856 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26857 : : STRIP_UNARY (operands[4]))
26858 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26859 : : STRIP_UNARY (operands[3]))
26860 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26861 : : STRIP_UNARY (operands[3])))) &&
26862 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26863 : : (TARGET_AVX)) &&
26864 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26865 : : ( 1)))
26866 : : return NULL;
26867 : : return gen_split_1979 (insn, operands);
26868 : :
26869 : : case 11:
26870 : : if (!(
26871 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26872 : : ((16 == 64 || TARGET_AVX512VL
26873 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26874 : : && ix86_pre_reload_split ()
26875 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26876 : : STRIP_UNARY (operands[4]))
26877 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26878 : : STRIP_UNARY (operands[4]))
26879 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26880 : : STRIP_UNARY (operands[3]))
26881 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26882 : : STRIP_UNARY (operands[3])))) &&
26883 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26884 : : ( 1)))
26885 : : return NULL;
26886 : : return gen_split_2006 (insn, operands);
26887 : :
26888 : : case 12:
26889 : : if (!((
26890 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26891 : : ((64 == 64 || TARGET_AVX512VL
26892 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26893 : : && ix86_pre_reload_split ()
26894 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26895 : : STRIP_UNARY (operands[4]))
26896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26897 : : STRIP_UNARY (operands[4]))
26898 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26899 : : STRIP_UNARY (operands[3]))
26900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26901 : : STRIP_UNARY (operands[3])))) &&
26902 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26903 : : (TARGET_AVX512F)) &&
26904 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26905 : : ( 1)))
26906 : : return NULL;
26907 : : return gen_split_1712 (insn, operands);
26908 : :
26909 : : case 13:
26910 : : if (!((
26911 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26912 : : ((32 == 64 || TARGET_AVX512VL
26913 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26914 : : && ix86_pre_reload_split ()
26915 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26916 : : STRIP_UNARY (operands[4]))
26917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26918 : : STRIP_UNARY (operands[4]))
26919 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26920 : : STRIP_UNARY (operands[3]))
26921 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26922 : : STRIP_UNARY (operands[3])))) &&
26923 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26924 : : (TARGET_AVX)) &&
26925 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26926 : : ( 1)))
26927 : : return NULL;
26928 : : return gen_split_1739 (insn, operands);
26929 : :
26930 : : case 14:
26931 : : if (!(
26932 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26933 : : ((16 == 64 || TARGET_AVX512VL
26934 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26935 : : && ix86_pre_reload_split ()
26936 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26937 : : STRIP_UNARY (operands[4]))
26938 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26939 : : STRIP_UNARY (operands[4]))
26940 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26941 : : STRIP_UNARY (operands[3]))
26942 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26943 : : STRIP_UNARY (operands[3])))) &&
26944 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26945 : : ( 1)))
26946 : : return NULL;
26947 : : return gen_split_1766 (insn, operands);
26948 : :
26949 : : case 15:
26950 : : if (!((
26951 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26952 : : ((64 == 64 || TARGET_AVX512VL
26953 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26954 : : && ix86_pre_reload_split ()
26955 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26956 : : STRIP_UNARY (operands[4]))
26957 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26958 : : STRIP_UNARY (operands[4]))
26959 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26960 : : STRIP_UNARY (operands[3]))
26961 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26962 : : STRIP_UNARY (operands[3])))) &&
26963 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26964 : : (TARGET_AVX512F)) &&
26965 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26966 : : ( 1)))
26967 : : return NULL;
26968 : : return gen_split_1793 (insn, operands);
26969 : :
26970 : : case 16:
26971 : : if (!((
26972 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26973 : : ((32 == 64 || TARGET_AVX512VL
26974 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26975 : : && ix86_pre_reload_split ()
26976 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26977 : : STRIP_UNARY (operands[4]))
26978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26979 : : STRIP_UNARY (operands[4]))
26980 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26981 : : STRIP_UNARY (operands[3]))
26982 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26983 : : STRIP_UNARY (operands[3])))) &&
26984 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26985 : : (TARGET_AVX)) &&
26986 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26987 : : ( 1)))
26988 : : return NULL;
26989 : : return gen_split_1820 (insn, operands);
26990 : :
26991 : : case 17:
26992 : : if (!(
26993 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26994 : : ((16 == 64 || TARGET_AVX512VL
26995 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26996 : : && ix86_pre_reload_split ()
26997 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26998 : : STRIP_UNARY (operands[4]))
26999 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27000 : : STRIP_UNARY (operands[4]))
27001 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27002 : : STRIP_UNARY (operands[3]))
27003 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27004 : : STRIP_UNARY (operands[3])))) &&
27005 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27006 : : ( 1)))
27007 : : return NULL;
27008 : : return gen_split_1847 (insn, operands);
27009 : :
27010 : : case 18:
27011 : : if (!((
27012 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27013 : : ((64 == 64 || TARGET_AVX512VL
27014 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27015 : : && ix86_pre_reload_split ()
27016 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27017 : : STRIP_UNARY (operands[4]))
27018 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27019 : : STRIP_UNARY (operands[4]))
27020 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27021 : : STRIP_UNARY (operands[3]))
27022 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27023 : : STRIP_UNARY (operands[3])))) &&
27024 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27025 : : (TARGET_AVX512F)) &&
27026 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27027 : : ( 1)))
27028 : : return NULL;
27029 : : return gen_split_1874 (insn, operands);
27030 : :
27031 : : case 19:
27032 : : if (!((
27033 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27034 : : ((32 == 64 || TARGET_AVX512VL
27035 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27036 : : && ix86_pre_reload_split ()
27037 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27038 : : STRIP_UNARY (operands[4]))
27039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27040 : : STRIP_UNARY (operands[4]))
27041 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27042 : : STRIP_UNARY (operands[3]))
27043 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27044 : : STRIP_UNARY (operands[3])))) &&
27045 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27046 : : (TARGET_AVX)) &&
27047 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27048 : : ( 1)))
27049 : : return NULL;
27050 : : return gen_split_1901 (insn, operands);
27051 : :
27052 : : case 20:
27053 : : if (!(
27054 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27055 : : ((16 == 64 || TARGET_AVX512VL
27056 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27057 : : && ix86_pre_reload_split ()
27058 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27059 : : STRIP_UNARY (operands[4]))
27060 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27061 : : STRIP_UNARY (operands[4]))
27062 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27063 : : STRIP_UNARY (operands[3]))
27064 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27065 : : STRIP_UNARY (operands[3])))) &&
27066 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27067 : : ( 1)))
27068 : : return NULL;
27069 : : return gen_split_1928 (insn, operands);
27070 : :
27071 : : case 21:
27072 : : if (!((
27073 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27074 : : ((64 == 64 || TARGET_AVX512VL
27075 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27076 : : && ix86_pre_reload_split ()
27077 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27078 : : STRIP_UNARY (operands[4]))
27079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27080 : : STRIP_UNARY (operands[4]))
27081 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27082 : : STRIP_UNARY (operands[3]))
27083 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27084 : : STRIP_UNARY (operands[3])))) &&
27085 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27086 : : (TARGET_AVX512F)) &&
27087 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27088 : : ( 1)))
27089 : : return NULL;
27090 : : return gen_split_1955 (insn, operands);
27091 : :
27092 : : case 22:
27093 : : if (!((
27094 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27095 : : ((32 == 64 || TARGET_AVX512VL
27096 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27097 : : && ix86_pre_reload_split ()
27098 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27099 : : STRIP_UNARY (operands[4]))
27100 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27101 : : STRIP_UNARY (operands[4]))
27102 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27103 : : STRIP_UNARY (operands[3]))
27104 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27105 : : STRIP_UNARY (operands[3])))) &&
27106 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27107 : : (TARGET_AVX)) &&
27108 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27109 : : ( 1)))
27110 : : return NULL;
27111 : : return gen_split_1982 (insn, operands);
27112 : :
27113 : : case 23:
27114 : : if (!(
27115 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27116 : : ((16 == 64 || TARGET_AVX512VL
27117 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27118 : : && ix86_pre_reload_split ()
27119 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27120 : : STRIP_UNARY (operands[4]))
27121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27122 : : STRIP_UNARY (operands[4]))
27123 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27124 : : STRIP_UNARY (operands[3]))
27125 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27126 : : STRIP_UNARY (operands[3])))) &&
27127 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27128 : : ( 1)))
27129 : : return NULL;
27130 : : return gen_split_2009 (insn, operands);
27131 : :
27132 : : case 24:
27133 : : if (!((
27134 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27135 : : ((64 == 64 || TARGET_AVX512VL
27136 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27137 : : && ix86_pre_reload_split ()
27138 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27139 : : STRIP_UNARY (operands[4]))
27140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27141 : : STRIP_UNARY (operands[4]))
27142 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27143 : : STRIP_UNARY (operands[3]))
27144 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27145 : : STRIP_UNARY (operands[3])))) &&
27146 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27147 : : (TARGET_AVX512F)) &&
27148 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27149 : : ( 1)))
27150 : : return NULL;
27151 : : return gen_split_1715 (insn, operands);
27152 : :
27153 : : case 25:
27154 : : if (!((
27155 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27156 : : ((32 == 64 || TARGET_AVX512VL
27157 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27158 : : && ix86_pre_reload_split ()
27159 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27160 : : STRIP_UNARY (operands[4]))
27161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27162 : : STRIP_UNARY (operands[4]))
27163 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27164 : : STRIP_UNARY (operands[3]))
27165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27166 : : STRIP_UNARY (operands[3])))) &&
27167 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27168 : : (TARGET_AVX)) &&
27169 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27170 : : ( 1)))
27171 : : return NULL;
27172 : : return gen_split_1742 (insn, operands);
27173 : :
27174 : : case 26:
27175 : : if (!(
27176 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27177 : : ((16 == 64 || TARGET_AVX512VL
27178 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27179 : : && ix86_pre_reload_split ()
27180 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27181 : : STRIP_UNARY (operands[4]))
27182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27183 : : STRIP_UNARY (operands[4]))
27184 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27185 : : STRIP_UNARY (operands[3]))
27186 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27187 : : STRIP_UNARY (operands[3])))) &&
27188 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27189 : : ( 1)))
27190 : : return NULL;
27191 : : return gen_split_1769 (insn, operands);
27192 : :
27193 : : case 27:
27194 : : if (!((
27195 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27196 : : ((64 == 64 || TARGET_AVX512VL
27197 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27198 : : && ix86_pre_reload_split ()
27199 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27200 : : STRIP_UNARY (operands[4]))
27201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27202 : : STRIP_UNARY (operands[4]))
27203 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27204 : : STRIP_UNARY (operands[3]))
27205 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27206 : : STRIP_UNARY (operands[3])))) &&
27207 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27208 : : (TARGET_AVX512F)) &&
27209 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27210 : : ( 1)))
27211 : : return NULL;
27212 : : return gen_split_1796 (insn, operands);
27213 : :
27214 : : case 28:
27215 : : if (!((
27216 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27217 : : ((32 == 64 || TARGET_AVX512VL
27218 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27219 : : && ix86_pre_reload_split ()
27220 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27221 : : STRIP_UNARY (operands[4]))
27222 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27223 : : STRIP_UNARY (operands[4]))
27224 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27225 : : STRIP_UNARY (operands[3]))
27226 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27227 : : STRIP_UNARY (operands[3])))) &&
27228 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27229 : : (TARGET_AVX)) &&
27230 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27231 : : ( 1)))
27232 : : return NULL;
27233 : : return gen_split_1823 (insn, operands);
27234 : :
27235 : : case 29:
27236 : : if (!(
27237 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27238 : : ((16 == 64 || TARGET_AVX512VL
27239 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27240 : : && ix86_pre_reload_split ()
27241 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27242 : : STRIP_UNARY (operands[4]))
27243 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27244 : : STRIP_UNARY (operands[4]))
27245 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27246 : : STRIP_UNARY (operands[3]))
27247 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27248 : : STRIP_UNARY (operands[3])))) &&
27249 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27250 : : ( 1)))
27251 : : return NULL;
27252 : : return gen_split_1850 (insn, operands);
27253 : :
27254 : : case 30:
27255 : : if (!((
27256 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27257 : : ((64 == 64 || TARGET_AVX512VL
27258 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27259 : : && ix86_pre_reload_split ()
27260 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27261 : : STRIP_UNARY (operands[4]))
27262 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27263 : : STRIP_UNARY (operands[4]))
27264 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27265 : : STRIP_UNARY (operands[3]))
27266 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27267 : : STRIP_UNARY (operands[3])))) &&
27268 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27269 : : (TARGET_AVX512F)) &&
27270 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27271 : : ( 1)))
27272 : : return NULL;
27273 : : return gen_split_1877 (insn, operands);
27274 : :
27275 : : case 31:
27276 : : if (!((
27277 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27278 : : ((32 == 64 || TARGET_AVX512VL
27279 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27280 : : && ix86_pre_reload_split ()
27281 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27282 : : STRIP_UNARY (operands[4]))
27283 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27284 : : STRIP_UNARY (operands[4]))
27285 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27286 : : STRIP_UNARY (operands[3]))
27287 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27288 : : STRIP_UNARY (operands[3])))) &&
27289 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27290 : : (TARGET_AVX)) &&
27291 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27292 : : ( 1)))
27293 : : return NULL;
27294 : : return gen_split_1904 (insn, operands);
27295 : :
27296 : : case 32:
27297 : : if (!(
27298 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27299 : : ((16 == 64 || TARGET_AVX512VL
27300 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27301 : : && ix86_pre_reload_split ()
27302 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27303 : : STRIP_UNARY (operands[4]))
27304 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27305 : : STRIP_UNARY (operands[4]))
27306 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27307 : : STRIP_UNARY (operands[3]))
27308 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27309 : : STRIP_UNARY (operands[3])))) &&
27310 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27311 : : ( 1)))
27312 : : return NULL;
27313 : : return gen_split_1931 (insn, operands);
27314 : :
27315 : : case 33:
27316 : : if (!((
27317 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27318 : : ((64 == 64 || TARGET_AVX512VL
27319 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27320 : : && ix86_pre_reload_split ()
27321 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27322 : : STRIP_UNARY (operands[4]))
27323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27324 : : STRIP_UNARY (operands[4]))
27325 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27326 : : STRIP_UNARY (operands[3]))
27327 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27328 : : STRIP_UNARY (operands[3])))) &&
27329 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27330 : : (TARGET_AVX512F)) &&
27331 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27332 : : ( 1)))
27333 : : return NULL;
27334 : : return gen_split_1958 (insn, operands);
27335 : :
27336 : : case 34:
27337 : : if (!((
27338 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27339 : : ((32 == 64 || TARGET_AVX512VL
27340 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27341 : : && ix86_pre_reload_split ()
27342 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27343 : : STRIP_UNARY (operands[4]))
27344 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27345 : : STRIP_UNARY (operands[4]))
27346 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27347 : : STRIP_UNARY (operands[3]))
27348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27349 : : STRIP_UNARY (operands[3])))) &&
27350 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27351 : : (TARGET_AVX)) &&
27352 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27353 : : ( 1)))
27354 : : return NULL;
27355 : : return gen_split_1985 (insn, operands);
27356 : :
27357 : : case 35:
27358 : : if (!(
27359 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27360 : : ((16 == 64 || TARGET_AVX512VL
27361 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27362 : : && ix86_pre_reload_split ()
27363 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27364 : : STRIP_UNARY (operands[4]))
27365 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27366 : : STRIP_UNARY (operands[4]))
27367 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27368 : : STRIP_UNARY (operands[3]))
27369 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27370 : : STRIP_UNARY (operands[3])))) &&
27371 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27372 : : ( 1)))
27373 : : return NULL;
27374 : : return gen_split_2012 (insn, operands);
27375 : :
27376 : : case 36:
27377 : : if (!((
27378 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27379 : : ((64 == 64 || TARGET_AVX512VL
27380 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27381 : : && ix86_pre_reload_split ()) &&
27382 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27383 : : (TARGET_AVX512F)) &&
27384 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27385 : : ( 1)))
27386 : : return NULL;
27387 : : return gen_split_2993 (insn, operands);
27388 : :
27389 : : case 37:
27390 : : if (!((
27391 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27392 : : ((32 == 64 || TARGET_AVX512VL
27393 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27394 : : && ix86_pre_reload_split ()) &&
27395 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27396 : : (TARGET_AVX)) &&
27397 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27398 : : ( 1)))
27399 : : return NULL;
27400 : : return gen_split_3002 (insn, operands);
27401 : :
27402 : : case 38:
27403 : : if (!(
27404 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27405 : : ((16 == 64 || TARGET_AVX512VL
27406 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27407 : : && ix86_pre_reload_split ()) &&
27408 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27409 : : ( 1)))
27410 : : return NULL;
27411 : : return gen_split_3011 (insn, operands);
27412 : :
27413 : : case 39:
27414 : : if (!((
27415 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27416 : : ((64 == 64 || TARGET_AVX512VL
27417 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27418 : : && ix86_pre_reload_split ()) &&
27419 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27420 : : (TARGET_AVX512F)) &&
27421 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27422 : : ( 1)))
27423 : : return NULL;
27424 : : return gen_split_3020 (insn, operands);
27425 : :
27426 : : case 40:
27427 : : if (!((
27428 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27429 : : ((32 == 64 || TARGET_AVX512VL
27430 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27431 : : && ix86_pre_reload_split ()) &&
27432 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27433 : : (TARGET_AVX)) &&
27434 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27435 : : ( 1)))
27436 : : return NULL;
27437 : : return gen_split_3029 (insn, operands);
27438 : :
27439 : : case 41:
27440 : : if (!(
27441 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27442 : : ((16 == 64 || TARGET_AVX512VL
27443 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27444 : : && ix86_pre_reload_split ()) &&
27445 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27446 : : ( 1)))
27447 : : return NULL;
27448 : : return gen_split_3038 (insn, operands);
27449 : :
27450 : : case 42:
27451 : : if (!((
27452 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27453 : : ((64 == 64 || TARGET_AVX512VL
27454 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27455 : : && ix86_pre_reload_split ()) &&
27456 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27457 : : (TARGET_AVX512F)) &&
27458 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27459 : : ( 1)))
27460 : : return NULL;
27461 : : return gen_split_3047 (insn, operands);
27462 : :
27463 : : case 43:
27464 : : if (!((
27465 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27466 : : ((32 == 64 || TARGET_AVX512VL
27467 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27468 : : && ix86_pre_reload_split ()) &&
27469 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27470 : : (TARGET_AVX)) &&
27471 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27472 : : ( 1)))
27473 : : return NULL;
27474 : : return gen_split_3056 (insn, operands);
27475 : :
27476 : : case 44:
27477 : : if (!(
27478 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27479 : : ((16 == 64 || TARGET_AVX512VL
27480 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27481 : : && ix86_pre_reload_split ()) &&
27482 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27483 : : ( 1)))
27484 : : return NULL;
27485 : : return gen_split_3065 (insn, operands);
27486 : :
27487 : : case 45:
27488 : : if (!((
27489 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27490 : : ((64 == 64 || TARGET_AVX512VL
27491 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27492 : : && ix86_pre_reload_split ()) &&
27493 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27494 : : (TARGET_AVX512F)) &&
27495 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27496 : : ( 1)))
27497 : : return NULL;
27498 : : return gen_split_3074 (insn, operands);
27499 : :
27500 : : case 46:
27501 : : if (!((
27502 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27503 : : ((32 == 64 || TARGET_AVX512VL
27504 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27505 : : && ix86_pre_reload_split ()) &&
27506 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27507 : : (TARGET_AVX)) &&
27508 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27509 : : ( 1)))
27510 : : return NULL;
27511 : : return gen_split_3083 (insn, operands);
27512 : :
27513 : : case 47:
27514 : : if (!(
27515 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27516 : : ((16 == 64 || TARGET_AVX512VL
27517 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27518 : : && ix86_pre_reload_split ()) &&
27519 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27520 : : ( 1)))
27521 : : return NULL;
27522 : : return gen_split_3092 (insn, operands);
27523 : :
27524 : : default:
27525 : : return NULL;
27526 : : }
27527 : :
27528 : : case AND:
27529 : : switch (pattern522 (x2))
27530 : : {
27531 : : case 0:
27532 : : if (!((
27533 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27548 : : ( 1)))
27549 : : return NULL;
27550 : : return gen_split_2357 (insn, operands);
27551 : :
27552 : : case 1:
27553 : : if (!((
27554 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27569 : : ( 1)))
27570 : : return NULL;
27571 : : return gen_split_2384 (insn, operands);
27572 : :
27573 : : case 2:
27574 : : if (!(
27575 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27588 : : ( 1)))
27589 : : return NULL;
27590 : : return gen_split_2411 (insn, operands);
27591 : :
27592 : : case 3:
27593 : : if (!((
27594 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27609 : : ( 1)))
27610 : : return NULL;
27611 : : return gen_split_2438 (insn, operands);
27612 : :
27613 : : case 4:
27614 : : if (!((
27615 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27630 : : ( 1)))
27631 : : return NULL;
27632 : : return gen_split_2465 (insn, operands);
27633 : :
27634 : : case 5:
27635 : : if (!(
27636 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27649 : : ( 1)))
27650 : : return NULL;
27651 : : return gen_split_2492 (insn, operands);
27652 : :
27653 : : case 6:
27654 : : if (!((
27655 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27670 : : ( 1)))
27671 : : return NULL;
27672 : : return gen_split_2519 (insn, operands);
27673 : :
27674 : : case 7:
27675 : : if (!((
27676 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27691 : : ( 1)))
27692 : : return NULL;
27693 : : return gen_split_2546 (insn, operands);
27694 : :
27695 : : case 8:
27696 : : if (!(
27697 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27710 : : ( 1)))
27711 : : return NULL;
27712 : : return gen_split_2573 (insn, operands);
27713 : :
27714 : : case 9:
27715 : : if (!((
27716 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27731 : : ( 1)))
27732 : : return NULL;
27733 : : return gen_split_2600 (insn, operands);
27734 : :
27735 : : case 10:
27736 : : if (!((
27737 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27752 : : ( 1)))
27753 : : return NULL;
27754 : : return gen_split_2627 (insn, operands);
27755 : :
27756 : : case 11:
27757 : : if (!(
27758 : : #line 13894 "/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 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27771 : : ( 1)))
27772 : : return NULL;
27773 : : return gen_split_2654 (insn, operands);
27774 : :
27775 : : default:
27776 : : return NULL;
27777 : : }
27778 : :
27779 : : case IOR:
27780 : : switch (pattern522 (x2))
27781 : : {
27782 : : case 0:
27783 : : if (!((
27784 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27785 : : ((64 == 64 || TARGET_AVX512VL
27786 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27787 : : && ix86_pre_reload_split ()
27788 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27789 : : STRIP_UNARY (operands[4]))
27790 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27791 : : STRIP_UNARY (operands[4]))
27792 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27793 : : STRIP_UNARY (operands[3]))
27794 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27795 : : STRIP_UNARY (operands[3])))) &&
27796 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27797 : : (TARGET_AVX512F)) &&
27798 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27799 : : ( 1)))
27800 : : return NULL;
27801 : : return gen_split_2360 (insn, operands);
27802 : :
27803 : : case 1:
27804 : : if (!((
27805 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27806 : : ((32 == 64 || TARGET_AVX512VL
27807 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27808 : : && ix86_pre_reload_split ()
27809 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27810 : : STRIP_UNARY (operands[4]))
27811 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27812 : : STRIP_UNARY (operands[4]))
27813 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27814 : : STRIP_UNARY (operands[3]))
27815 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27816 : : STRIP_UNARY (operands[3])))) &&
27817 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27818 : : (TARGET_AVX)) &&
27819 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27820 : : ( 1)))
27821 : : return NULL;
27822 : : return gen_split_2387 (insn, operands);
27823 : :
27824 : : case 2:
27825 : : if (!(
27826 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27827 : : ((16 == 64 || TARGET_AVX512VL
27828 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27829 : : && ix86_pre_reload_split ()
27830 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27831 : : STRIP_UNARY (operands[4]))
27832 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27833 : : STRIP_UNARY (operands[4]))
27834 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27835 : : STRIP_UNARY (operands[3]))
27836 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27837 : : STRIP_UNARY (operands[3])))) &&
27838 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27839 : : ( 1)))
27840 : : return NULL;
27841 : : return gen_split_2414 (insn, operands);
27842 : :
27843 : : case 3:
27844 : : if (!((
27845 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27846 : : ((64 == 64 || TARGET_AVX512VL
27847 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27848 : : && ix86_pre_reload_split ()
27849 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27850 : : STRIP_UNARY (operands[4]))
27851 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27852 : : STRIP_UNARY (operands[4]))
27853 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27854 : : STRIP_UNARY (operands[3]))
27855 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27856 : : STRIP_UNARY (operands[3])))) &&
27857 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27858 : : (TARGET_AVX512F)) &&
27859 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27860 : : ( 1)))
27861 : : return NULL;
27862 : : return gen_split_2441 (insn, operands);
27863 : :
27864 : : case 4:
27865 : : if (!((
27866 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27867 : : ((32 == 64 || TARGET_AVX512VL
27868 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27869 : : && ix86_pre_reload_split ()
27870 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27871 : : STRIP_UNARY (operands[4]))
27872 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27873 : : STRIP_UNARY (operands[4]))
27874 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27875 : : STRIP_UNARY (operands[3]))
27876 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27877 : : STRIP_UNARY (operands[3])))) &&
27878 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27879 : : (TARGET_AVX)) &&
27880 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27881 : : ( 1)))
27882 : : return NULL;
27883 : : return gen_split_2468 (insn, operands);
27884 : :
27885 : : case 5:
27886 : : if (!(
27887 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27888 : : ((16 == 64 || TARGET_AVX512VL
27889 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27890 : : && ix86_pre_reload_split ()
27891 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27892 : : STRIP_UNARY (operands[4]))
27893 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27894 : : STRIP_UNARY (operands[4]))
27895 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27896 : : STRIP_UNARY (operands[3]))
27897 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27898 : : STRIP_UNARY (operands[3])))) &&
27899 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27900 : : ( 1)))
27901 : : return NULL;
27902 : : return gen_split_2495 (insn, operands);
27903 : :
27904 : : case 6:
27905 : : if (!((
27906 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27907 : : ((64 == 64 || TARGET_AVX512VL
27908 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27909 : : && ix86_pre_reload_split ()
27910 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27911 : : STRIP_UNARY (operands[4]))
27912 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27913 : : STRIP_UNARY (operands[4]))
27914 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27915 : : STRIP_UNARY (operands[3]))
27916 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27917 : : STRIP_UNARY (operands[3])))) &&
27918 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27919 : : (TARGET_AVX512F)) &&
27920 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27921 : : ( 1)))
27922 : : return NULL;
27923 : : return gen_split_2522 (insn, operands);
27924 : :
27925 : : case 7:
27926 : : if (!((
27927 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27928 : : ((32 == 64 || TARGET_AVX512VL
27929 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27930 : : && ix86_pre_reload_split ()
27931 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27932 : : STRIP_UNARY (operands[4]))
27933 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27934 : : STRIP_UNARY (operands[4]))
27935 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27936 : : STRIP_UNARY (operands[3]))
27937 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27938 : : STRIP_UNARY (operands[3])))) &&
27939 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27940 : : (TARGET_AVX)) &&
27941 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27942 : : ( 1)))
27943 : : return NULL;
27944 : : return gen_split_2549 (insn, operands);
27945 : :
27946 : : case 8:
27947 : : if (!(
27948 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27949 : : ((16 == 64 || TARGET_AVX512VL
27950 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27951 : : && ix86_pre_reload_split ()
27952 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27953 : : STRIP_UNARY (operands[4]))
27954 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27955 : : STRIP_UNARY (operands[4]))
27956 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27957 : : STRIP_UNARY (operands[3]))
27958 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27959 : : STRIP_UNARY (operands[3])))) &&
27960 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27961 : : ( 1)))
27962 : : return NULL;
27963 : : return gen_split_2576 (insn, operands);
27964 : :
27965 : : case 9:
27966 : : if (!((
27967 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27968 : : ((64 == 64 || TARGET_AVX512VL
27969 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27970 : : && ix86_pre_reload_split ()
27971 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27972 : : STRIP_UNARY (operands[4]))
27973 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27974 : : STRIP_UNARY (operands[4]))
27975 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27976 : : STRIP_UNARY (operands[3]))
27977 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27978 : : STRIP_UNARY (operands[3])))) &&
27979 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27980 : : (TARGET_AVX512F)) &&
27981 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27982 : : ( 1)))
27983 : : return NULL;
27984 : : return gen_split_2603 (insn, operands);
27985 : :
27986 : : case 10:
27987 : : if (!((
27988 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27989 : : ((32 == 64 || TARGET_AVX512VL
27990 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27991 : : && ix86_pre_reload_split ()
27992 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27993 : : STRIP_UNARY (operands[4]))
27994 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27995 : : STRIP_UNARY (operands[4]))
27996 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27997 : : STRIP_UNARY (operands[3]))
27998 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27999 : : STRIP_UNARY (operands[3])))) &&
28000 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28001 : : (TARGET_AVX)) &&
28002 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28003 : : ( 1)))
28004 : : return NULL;
28005 : : return gen_split_2630 (insn, operands);
28006 : :
28007 : : case 11:
28008 : : if (!(
28009 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28010 : : ((16 == 64 || TARGET_AVX512VL
28011 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28012 : : && ix86_pre_reload_split ()
28013 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28014 : : STRIP_UNARY (operands[4]))
28015 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28016 : : STRIP_UNARY (operands[4]))
28017 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28018 : : STRIP_UNARY (operands[3]))
28019 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28020 : : STRIP_UNARY (operands[3])))) &&
28021 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28022 : : ( 1)))
28023 : : return NULL;
28024 : : return gen_split_2657 (insn, operands);
28025 : :
28026 : : default:
28027 : : return NULL;
28028 : : }
28029 : :
28030 : : case XOR:
28031 : : switch (pattern522 (x2))
28032 : : {
28033 : : case 0:
28034 : : if (!((
28035 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28036 : : ((64 == 64 || TARGET_AVX512VL
28037 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28038 : : && ix86_pre_reload_split ()
28039 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28040 : : STRIP_UNARY (operands[4]))
28041 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28042 : : STRIP_UNARY (operands[4]))
28043 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28044 : : STRIP_UNARY (operands[3]))
28045 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28046 : : STRIP_UNARY (operands[3])))) &&
28047 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28048 : : (TARGET_AVX512F)) &&
28049 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28050 : : ( 1)))
28051 : : return NULL;
28052 : : return gen_split_2363 (insn, operands);
28053 : :
28054 : : case 1:
28055 : : if (!((
28056 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28057 : : ((32 == 64 || TARGET_AVX512VL
28058 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28059 : : && ix86_pre_reload_split ()
28060 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28061 : : STRIP_UNARY (operands[4]))
28062 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28063 : : STRIP_UNARY (operands[4]))
28064 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28065 : : STRIP_UNARY (operands[3]))
28066 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28067 : : STRIP_UNARY (operands[3])))) &&
28068 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28069 : : (TARGET_AVX)) &&
28070 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28071 : : ( 1)))
28072 : : return NULL;
28073 : : return gen_split_2390 (insn, operands);
28074 : :
28075 : : case 2:
28076 : : if (!(
28077 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28078 : : ((16 == 64 || TARGET_AVX512VL
28079 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28080 : : && ix86_pre_reload_split ()
28081 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28082 : : STRIP_UNARY (operands[4]))
28083 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28084 : : STRIP_UNARY (operands[4]))
28085 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28086 : : STRIP_UNARY (operands[3]))
28087 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28088 : : STRIP_UNARY (operands[3])))) &&
28089 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28090 : : ( 1)))
28091 : : return NULL;
28092 : : return gen_split_2417 (insn, operands);
28093 : :
28094 : : case 3:
28095 : : if (!((
28096 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28097 : : ((64 == 64 || TARGET_AVX512VL
28098 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28099 : : && ix86_pre_reload_split ()
28100 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28101 : : STRIP_UNARY (operands[4]))
28102 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28103 : : STRIP_UNARY (operands[4]))
28104 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28105 : : STRIP_UNARY (operands[3]))
28106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28107 : : STRIP_UNARY (operands[3])))) &&
28108 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28109 : : (TARGET_AVX512F)) &&
28110 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28111 : : ( 1)))
28112 : : return NULL;
28113 : : return gen_split_2444 (insn, operands);
28114 : :
28115 : : case 4:
28116 : : if (!((
28117 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28118 : : ((32 == 64 || TARGET_AVX512VL
28119 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28120 : : && ix86_pre_reload_split ()
28121 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28122 : : STRIP_UNARY (operands[4]))
28123 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28124 : : STRIP_UNARY (operands[4]))
28125 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28126 : : STRIP_UNARY (operands[3]))
28127 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28128 : : STRIP_UNARY (operands[3])))) &&
28129 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28130 : : (TARGET_AVX)) &&
28131 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28132 : : ( 1)))
28133 : : return NULL;
28134 : : return gen_split_2471 (insn, operands);
28135 : :
28136 : : case 5:
28137 : : if (!(
28138 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28139 : : ((16 == 64 || TARGET_AVX512VL
28140 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28141 : : && ix86_pre_reload_split ()
28142 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28143 : : STRIP_UNARY (operands[4]))
28144 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28145 : : STRIP_UNARY (operands[4]))
28146 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28147 : : STRIP_UNARY (operands[3]))
28148 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28149 : : STRIP_UNARY (operands[3])))) &&
28150 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28151 : : ( 1)))
28152 : : return NULL;
28153 : : return gen_split_2498 (insn, operands);
28154 : :
28155 : : case 6:
28156 : : if (!((
28157 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28158 : : ((64 == 64 || TARGET_AVX512VL
28159 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28160 : : && ix86_pre_reload_split ()
28161 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28162 : : STRIP_UNARY (operands[4]))
28163 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28164 : : STRIP_UNARY (operands[4]))
28165 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28166 : : STRIP_UNARY (operands[3]))
28167 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28168 : : STRIP_UNARY (operands[3])))) &&
28169 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28170 : : (TARGET_AVX512F)) &&
28171 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28172 : : ( 1)))
28173 : : return NULL;
28174 : : return gen_split_2525 (insn, operands);
28175 : :
28176 : : case 7:
28177 : : if (!((
28178 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28179 : : ((32 == 64 || TARGET_AVX512VL
28180 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28181 : : && ix86_pre_reload_split ()
28182 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28183 : : STRIP_UNARY (operands[4]))
28184 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28185 : : STRIP_UNARY (operands[4]))
28186 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28187 : : STRIP_UNARY (operands[3]))
28188 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28189 : : STRIP_UNARY (operands[3])))) &&
28190 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28191 : : (TARGET_AVX)) &&
28192 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28193 : : ( 1)))
28194 : : return NULL;
28195 : : return gen_split_2552 (insn, operands);
28196 : :
28197 : : case 8:
28198 : : if (!(
28199 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28200 : : ((16 == 64 || TARGET_AVX512VL
28201 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28202 : : && ix86_pre_reload_split ()
28203 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28204 : : STRIP_UNARY (operands[4]))
28205 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28206 : : STRIP_UNARY (operands[4]))
28207 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28208 : : STRIP_UNARY (operands[3]))
28209 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28210 : : STRIP_UNARY (operands[3])))) &&
28211 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28212 : : ( 1)))
28213 : : return NULL;
28214 : : return gen_split_2579 (insn, operands);
28215 : :
28216 : : case 9:
28217 : : if (!((
28218 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28219 : : ((64 == 64 || TARGET_AVX512VL
28220 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28221 : : && ix86_pre_reload_split ()
28222 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28223 : : STRIP_UNARY (operands[4]))
28224 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28225 : : STRIP_UNARY (operands[4]))
28226 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28227 : : STRIP_UNARY (operands[3]))
28228 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28229 : : STRIP_UNARY (operands[3])))) &&
28230 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28231 : : (TARGET_AVX512F)) &&
28232 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28233 : : ( 1)))
28234 : : return NULL;
28235 : : return gen_split_2606 (insn, operands);
28236 : :
28237 : : case 10:
28238 : : if (!((
28239 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28240 : : ((32 == 64 || TARGET_AVX512VL
28241 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28242 : : && ix86_pre_reload_split ()
28243 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28244 : : STRIP_UNARY (operands[4]))
28245 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28246 : : STRIP_UNARY (operands[4]))
28247 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28248 : : STRIP_UNARY (operands[3]))
28249 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28250 : : STRIP_UNARY (operands[3])))) &&
28251 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28252 : : (TARGET_AVX)) &&
28253 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28254 : : ( 1)))
28255 : : return NULL;
28256 : : return gen_split_2633 (insn, operands);
28257 : :
28258 : : case 11:
28259 : : if (!(
28260 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28261 : : ((16 == 64 || TARGET_AVX512VL
28262 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28263 : : && ix86_pre_reload_split ()
28264 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28265 : : STRIP_UNARY (operands[4]))
28266 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28267 : : STRIP_UNARY (operands[4]))
28268 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28269 : : STRIP_UNARY (operands[3]))
28270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28271 : : STRIP_UNARY (operands[3])))) &&
28272 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28273 : : ( 1)))
28274 : : return NULL;
28275 : : return gen_split_2660 (insn, operands);
28276 : :
28277 : : default:
28278 : : return NULL;
28279 : : }
28280 : :
28281 : : default:
28282 : : return NULL;
28283 : : }
28284 : : }
28285 : :
28286 : : rtx_insn *
28287 : : split_77 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28288 : : {
28289 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28290 : : rtx x2, x3, x4;
28291 : : rtx_insn *res ATTRIBUTE_UNUSED;
28292 : : x2 = XEXP (x1, 1);
28293 : : x3 = XEXP (x2, 0);
28294 : : switch (GET_CODE (x3))
28295 : : {
28296 : : case AND:
28297 : : return split_75 (x1, insn);
28298 : :
28299 : : case IOR:
28300 : : x4 = XEXP (x3, 0);
28301 : : switch (GET_CODE (x4))
28302 : : {
28303 : : case REG:
28304 : : case SUBREG:
28305 : : case MEM:
28306 : : case NOT:
28307 : : switch (pattern524 (x2))
28308 : : {
28309 : : case 0:
28310 : : if (!((
28311 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28312 : : ((64 == 64 || TARGET_AVX512VL
28313 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28314 : : && ix86_pre_reload_split ()
28315 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28316 : : STRIP_UNARY (operands[4]))
28317 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28318 : : STRIP_UNARY (operands[4]))
28319 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28320 : : STRIP_UNARY (operands[3]))
28321 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28322 : : STRIP_UNARY (operands[3])))) &&
28323 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28324 : : (TARGET_AVX512F)) &&
28325 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28326 : : ( 1)))
28327 : : return NULL;
28328 : : return gen_split_2026 (insn, operands);
28329 : :
28330 : : case 1:
28331 : : if (!((
28332 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28333 : : ((32 == 64 || TARGET_AVX512VL
28334 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28335 : : && ix86_pre_reload_split ()
28336 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28337 : : STRIP_UNARY (operands[4]))
28338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28339 : : STRIP_UNARY (operands[4]))
28340 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28341 : : STRIP_UNARY (operands[3]))
28342 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28343 : : STRIP_UNARY (operands[3])))) &&
28344 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28345 : : (TARGET_AVX)) &&
28346 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28347 : : ( 1)))
28348 : : return NULL;
28349 : : return gen_split_2053 (insn, operands);
28350 : :
28351 : : case 2:
28352 : : if (!(
28353 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28354 : : ((16 == 64 || TARGET_AVX512VL
28355 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28356 : : && ix86_pre_reload_split ()
28357 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28358 : : STRIP_UNARY (operands[4]))
28359 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28360 : : STRIP_UNARY (operands[4]))
28361 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28362 : : STRIP_UNARY (operands[3]))
28363 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28364 : : STRIP_UNARY (operands[3])))) &&
28365 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28366 : : ( 1)))
28367 : : return NULL;
28368 : : return gen_split_2080 (insn, operands);
28369 : :
28370 : : case 3:
28371 : : if (!((
28372 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28373 : : ((64 == 64 || TARGET_AVX512VL
28374 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28375 : : && ix86_pre_reload_split ()
28376 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28377 : : STRIP_UNARY (operands[4]))
28378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28379 : : STRIP_UNARY (operands[4]))
28380 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28381 : : STRIP_UNARY (operands[3]))
28382 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28383 : : STRIP_UNARY (operands[3])))) &&
28384 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28385 : : (TARGET_AVX512F)) &&
28386 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28387 : : ( 1)))
28388 : : return NULL;
28389 : : return gen_split_2107 (insn, operands);
28390 : :
28391 : : case 4:
28392 : : if (!((
28393 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28394 : : ((32 == 64 || TARGET_AVX512VL
28395 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28396 : : && ix86_pre_reload_split ()
28397 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28398 : : STRIP_UNARY (operands[4]))
28399 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28400 : : STRIP_UNARY (operands[4]))
28401 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28402 : : STRIP_UNARY (operands[3]))
28403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28404 : : STRIP_UNARY (operands[3])))) &&
28405 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28406 : : (TARGET_AVX)) &&
28407 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28408 : : ( 1)))
28409 : : return NULL;
28410 : : return gen_split_2134 (insn, operands);
28411 : :
28412 : : case 5:
28413 : : if (!(
28414 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28415 : : ((16 == 64 || TARGET_AVX512VL
28416 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28417 : : && ix86_pre_reload_split ()
28418 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28419 : : STRIP_UNARY (operands[4]))
28420 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28421 : : STRIP_UNARY (operands[4]))
28422 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28423 : : STRIP_UNARY (operands[3]))
28424 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28425 : : STRIP_UNARY (operands[3])))) &&
28426 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28427 : : ( 1)))
28428 : : return NULL;
28429 : : return gen_split_2161 (insn, operands);
28430 : :
28431 : : case 6:
28432 : : if (!((
28433 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28434 : : ((64 == 64 || TARGET_AVX512VL
28435 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28436 : : && ix86_pre_reload_split ()
28437 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28438 : : STRIP_UNARY (operands[4]))
28439 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28440 : : STRIP_UNARY (operands[4]))
28441 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28442 : : STRIP_UNARY (operands[3]))
28443 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28444 : : STRIP_UNARY (operands[3])))) &&
28445 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28446 : : (TARGET_AVX512F)) &&
28447 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28448 : : ( 1)))
28449 : : return NULL;
28450 : : return gen_split_2188 (insn, operands);
28451 : :
28452 : : case 7:
28453 : : if (!((
28454 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28455 : : ((32 == 64 || TARGET_AVX512VL
28456 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28457 : : && ix86_pre_reload_split ()
28458 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28459 : : STRIP_UNARY (operands[4]))
28460 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28461 : : STRIP_UNARY (operands[4]))
28462 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28463 : : STRIP_UNARY (operands[3]))
28464 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28465 : : STRIP_UNARY (operands[3])))) &&
28466 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28467 : : (TARGET_AVX)) &&
28468 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28469 : : ( 1)))
28470 : : return NULL;
28471 : : return gen_split_2215 (insn, operands);
28472 : :
28473 : : case 8:
28474 : : if (!(
28475 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28476 : : ((16 == 64 || TARGET_AVX512VL
28477 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28478 : : && ix86_pre_reload_split ()
28479 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28480 : : STRIP_UNARY (operands[4]))
28481 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28482 : : STRIP_UNARY (operands[4]))
28483 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28484 : : STRIP_UNARY (operands[3]))
28485 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28486 : : STRIP_UNARY (operands[3])))) &&
28487 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28488 : : ( 1)))
28489 : : return NULL;
28490 : : return gen_split_2242 (insn, operands);
28491 : :
28492 : : case 9:
28493 : : if (!((
28494 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28495 : : ((64 == 64 || TARGET_AVX512VL
28496 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28497 : : && ix86_pre_reload_split ()
28498 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28499 : : STRIP_UNARY (operands[4]))
28500 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28501 : : STRIP_UNARY (operands[4]))
28502 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28503 : : STRIP_UNARY (operands[3]))
28504 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28505 : : STRIP_UNARY (operands[3])))) &&
28506 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28507 : : (TARGET_AVX512F)) &&
28508 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28509 : : ( 1)))
28510 : : return NULL;
28511 : : return gen_split_2269 (insn, operands);
28512 : :
28513 : : case 10:
28514 : : if (!((
28515 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28516 : : ((32 == 64 || TARGET_AVX512VL
28517 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28518 : : && ix86_pre_reload_split ()
28519 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28520 : : STRIP_UNARY (operands[4]))
28521 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28522 : : STRIP_UNARY (operands[4]))
28523 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28524 : : STRIP_UNARY (operands[3]))
28525 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28526 : : STRIP_UNARY (operands[3])))) &&
28527 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28528 : : (TARGET_AVX)) &&
28529 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28530 : : ( 1)))
28531 : : return NULL;
28532 : : return gen_split_2296 (insn, operands);
28533 : :
28534 : : case 11:
28535 : : if (!((
28536 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28537 : : ((16 == 64 || TARGET_AVX512VL
28538 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28539 : : && ix86_pre_reload_split ()
28540 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28541 : : STRIP_UNARY (operands[4]))
28542 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28543 : : STRIP_UNARY (operands[4]))
28544 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28545 : : STRIP_UNARY (operands[3]))
28546 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28547 : : STRIP_UNARY (operands[3])))) &&
28548 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28549 : : (TARGET_SSE2)) &&
28550 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28551 : : ( 1)))
28552 : : return NULL;
28553 : : return gen_split_2323 (insn, operands);
28554 : :
28555 : : case 12:
28556 : : if (!((
28557 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28558 : : ((64 == 64 || TARGET_AVX512VL
28559 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28560 : : && ix86_pre_reload_split ()
28561 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28562 : : STRIP_UNARY (operands[4]))
28563 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28564 : : STRIP_UNARY (operands[4]))
28565 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28566 : : STRIP_UNARY (operands[3]))
28567 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28568 : : STRIP_UNARY (operands[3])))) &&
28569 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28570 : : (TARGET_AVX512F)) &&
28571 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28572 : : ( 1)))
28573 : : return NULL;
28574 : : return gen_split_2029 (insn, operands);
28575 : :
28576 : : case 13:
28577 : : if (!((
28578 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28579 : : ((32 == 64 || TARGET_AVX512VL
28580 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28581 : : && ix86_pre_reload_split ()
28582 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28583 : : STRIP_UNARY (operands[4]))
28584 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28585 : : STRIP_UNARY (operands[4]))
28586 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28587 : : STRIP_UNARY (operands[3]))
28588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28589 : : STRIP_UNARY (operands[3])))) &&
28590 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28591 : : (TARGET_AVX)) &&
28592 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28593 : : ( 1)))
28594 : : return NULL;
28595 : : return gen_split_2056 (insn, operands);
28596 : :
28597 : : case 14:
28598 : : if (!(
28599 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28600 : : ((16 == 64 || TARGET_AVX512VL
28601 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28602 : : && ix86_pre_reload_split ()
28603 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28604 : : STRIP_UNARY (operands[4]))
28605 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28606 : : STRIP_UNARY (operands[4]))
28607 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28608 : : STRIP_UNARY (operands[3]))
28609 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28610 : : STRIP_UNARY (operands[3])))) &&
28611 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28612 : : ( 1)))
28613 : : return NULL;
28614 : : return gen_split_2083 (insn, operands);
28615 : :
28616 : : case 15:
28617 : : if (!((
28618 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28619 : : ((64 == 64 || TARGET_AVX512VL
28620 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28621 : : && ix86_pre_reload_split ()
28622 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28623 : : STRIP_UNARY (operands[4]))
28624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28625 : : STRIP_UNARY (operands[4]))
28626 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28627 : : STRIP_UNARY (operands[3]))
28628 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28629 : : STRIP_UNARY (operands[3])))) &&
28630 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28631 : : (TARGET_AVX512F)) &&
28632 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28633 : : ( 1)))
28634 : : return NULL;
28635 : : return gen_split_2110 (insn, operands);
28636 : :
28637 : : case 16:
28638 : : if (!((
28639 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28640 : : ((32 == 64 || TARGET_AVX512VL
28641 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28642 : : && ix86_pre_reload_split ()
28643 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28644 : : STRIP_UNARY (operands[4]))
28645 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28646 : : STRIP_UNARY (operands[4]))
28647 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28648 : : STRIP_UNARY (operands[3]))
28649 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28650 : : STRIP_UNARY (operands[3])))) &&
28651 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28652 : : (TARGET_AVX)) &&
28653 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28654 : : ( 1)))
28655 : : return NULL;
28656 : : return gen_split_2137 (insn, operands);
28657 : :
28658 : : case 17:
28659 : : if (!(
28660 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28661 : : ((16 == 64 || TARGET_AVX512VL
28662 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28663 : : && ix86_pre_reload_split ()
28664 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28665 : : STRIP_UNARY (operands[4]))
28666 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28667 : : STRIP_UNARY (operands[4]))
28668 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28669 : : STRIP_UNARY (operands[3]))
28670 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28671 : : STRIP_UNARY (operands[3])))) &&
28672 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28673 : : ( 1)))
28674 : : return NULL;
28675 : : return gen_split_2164 (insn, operands);
28676 : :
28677 : : case 18:
28678 : : if (!((
28679 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28680 : : ((64 == 64 || TARGET_AVX512VL
28681 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28682 : : && ix86_pre_reload_split ()
28683 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28684 : : STRIP_UNARY (operands[4]))
28685 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28686 : : STRIP_UNARY (operands[4]))
28687 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28688 : : STRIP_UNARY (operands[3]))
28689 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28690 : : STRIP_UNARY (operands[3])))) &&
28691 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28692 : : (TARGET_AVX512F)) &&
28693 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28694 : : ( 1)))
28695 : : return NULL;
28696 : : return gen_split_2191 (insn, operands);
28697 : :
28698 : : case 19:
28699 : : if (!((
28700 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28701 : : ((32 == 64 || TARGET_AVX512VL
28702 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28703 : : && ix86_pre_reload_split ()
28704 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28705 : : STRIP_UNARY (operands[4]))
28706 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28707 : : STRIP_UNARY (operands[4]))
28708 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28709 : : STRIP_UNARY (operands[3]))
28710 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28711 : : STRIP_UNARY (operands[3])))) &&
28712 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28713 : : (TARGET_AVX)) &&
28714 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28715 : : ( 1)))
28716 : : return NULL;
28717 : : return gen_split_2218 (insn, operands);
28718 : :
28719 : : case 20:
28720 : : if (!(
28721 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28722 : : ((16 == 64 || TARGET_AVX512VL
28723 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28724 : : && ix86_pre_reload_split ()
28725 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28726 : : STRIP_UNARY (operands[4]))
28727 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28728 : : STRIP_UNARY (operands[4]))
28729 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28730 : : STRIP_UNARY (operands[3]))
28731 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28732 : : STRIP_UNARY (operands[3])))) &&
28733 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28734 : : ( 1)))
28735 : : return NULL;
28736 : : return gen_split_2245 (insn, operands);
28737 : :
28738 : : case 21:
28739 : : if (!((
28740 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28741 : : ((64 == 64 || TARGET_AVX512VL
28742 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28743 : : && ix86_pre_reload_split ()
28744 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28745 : : STRIP_UNARY (operands[4]))
28746 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28747 : : STRIP_UNARY (operands[4]))
28748 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28749 : : STRIP_UNARY (operands[3]))
28750 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28751 : : STRIP_UNARY (operands[3])))) &&
28752 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28753 : : (TARGET_AVX512F)) &&
28754 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28755 : : ( 1)))
28756 : : return NULL;
28757 : : return gen_split_2272 (insn, operands);
28758 : :
28759 : : case 22:
28760 : : if (!((
28761 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28762 : : ((32 == 64 || TARGET_AVX512VL
28763 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28764 : : && ix86_pre_reload_split ()
28765 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28766 : : STRIP_UNARY (operands[4]))
28767 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28768 : : STRIP_UNARY (operands[4]))
28769 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28770 : : STRIP_UNARY (operands[3]))
28771 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28772 : : STRIP_UNARY (operands[3])))) &&
28773 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28774 : : (TARGET_AVX)) &&
28775 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28776 : : ( 1)))
28777 : : return NULL;
28778 : : return gen_split_2299 (insn, operands);
28779 : :
28780 : : case 23:
28781 : : if (!((
28782 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28783 : : ((16 == 64 || TARGET_AVX512VL
28784 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28785 : : && ix86_pre_reload_split ()
28786 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28787 : : STRIP_UNARY (operands[4]))
28788 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28789 : : STRIP_UNARY (operands[4]))
28790 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28791 : : STRIP_UNARY (operands[3]))
28792 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28793 : : STRIP_UNARY (operands[3])))) &&
28794 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28795 : : (TARGET_SSE2)) &&
28796 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28797 : : ( 1)))
28798 : : return NULL;
28799 : : return gen_split_2326 (insn, operands);
28800 : :
28801 : : case 24:
28802 : : if (!((
28803 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28804 : : ((64 == 64 || TARGET_AVX512VL
28805 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28806 : : && ix86_pre_reload_split ()
28807 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28808 : : STRIP_UNARY (operands[4]))
28809 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28810 : : STRIP_UNARY (operands[4]))
28811 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28812 : : STRIP_UNARY (operands[3]))
28813 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28814 : : STRIP_UNARY (operands[3])))) &&
28815 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28816 : : (TARGET_AVX512F)) &&
28817 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28818 : : ( 1)))
28819 : : return NULL;
28820 : : return gen_split_2032 (insn, operands);
28821 : :
28822 : : case 25:
28823 : : if (!((
28824 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28825 : : ((32 == 64 || TARGET_AVX512VL
28826 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28827 : : && ix86_pre_reload_split ()
28828 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28829 : : STRIP_UNARY (operands[4]))
28830 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28831 : : STRIP_UNARY (operands[4]))
28832 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28833 : : STRIP_UNARY (operands[3]))
28834 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28835 : : STRIP_UNARY (operands[3])))) &&
28836 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28837 : : (TARGET_AVX)) &&
28838 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28839 : : ( 1)))
28840 : : return NULL;
28841 : : return gen_split_2059 (insn, operands);
28842 : :
28843 : : case 26:
28844 : : if (!(
28845 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28846 : : ((16 == 64 || TARGET_AVX512VL
28847 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28848 : : && ix86_pre_reload_split ()
28849 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28850 : : STRIP_UNARY (operands[4]))
28851 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28852 : : STRIP_UNARY (operands[4]))
28853 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28854 : : STRIP_UNARY (operands[3]))
28855 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28856 : : STRIP_UNARY (operands[3])))) &&
28857 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28858 : : ( 1)))
28859 : : return NULL;
28860 : : return gen_split_2086 (insn, operands);
28861 : :
28862 : : case 27:
28863 : : if (!((
28864 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28865 : : ((64 == 64 || TARGET_AVX512VL
28866 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28867 : : && ix86_pre_reload_split ()
28868 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28869 : : STRIP_UNARY (operands[4]))
28870 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28871 : : STRIP_UNARY (operands[4]))
28872 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28873 : : STRIP_UNARY (operands[3]))
28874 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28875 : : STRIP_UNARY (operands[3])))) &&
28876 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28877 : : (TARGET_AVX512F)) &&
28878 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28879 : : ( 1)))
28880 : : return NULL;
28881 : : return gen_split_2113 (insn, operands);
28882 : :
28883 : : case 28:
28884 : : if (!((
28885 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28886 : : ((32 == 64 || TARGET_AVX512VL
28887 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28888 : : && ix86_pre_reload_split ()
28889 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28890 : : STRIP_UNARY (operands[4]))
28891 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28892 : : STRIP_UNARY (operands[4]))
28893 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28894 : : STRIP_UNARY (operands[3]))
28895 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28896 : : STRIP_UNARY (operands[3])))) &&
28897 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28898 : : (TARGET_AVX)) &&
28899 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28900 : : ( 1)))
28901 : : return NULL;
28902 : : return gen_split_2140 (insn, operands);
28903 : :
28904 : : case 29:
28905 : : if (!(
28906 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28907 : : ((16 == 64 || TARGET_AVX512VL
28908 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28909 : : && ix86_pre_reload_split ()
28910 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28911 : : STRIP_UNARY (operands[4]))
28912 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28913 : : STRIP_UNARY (operands[4]))
28914 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28915 : : STRIP_UNARY (operands[3]))
28916 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28917 : : STRIP_UNARY (operands[3])))) &&
28918 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28919 : : ( 1)))
28920 : : return NULL;
28921 : : return gen_split_2167 (insn, operands);
28922 : :
28923 : : case 30:
28924 : : if (!((
28925 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28926 : : ((64 == 64 || TARGET_AVX512VL
28927 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28928 : : && ix86_pre_reload_split ()
28929 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28930 : : STRIP_UNARY (operands[4]))
28931 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28932 : : STRIP_UNARY (operands[4]))
28933 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28934 : : STRIP_UNARY (operands[3]))
28935 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28936 : : STRIP_UNARY (operands[3])))) &&
28937 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28938 : : (TARGET_AVX512F)) &&
28939 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28940 : : ( 1)))
28941 : : return NULL;
28942 : : return gen_split_2194 (insn, operands);
28943 : :
28944 : : case 31:
28945 : : if (!((
28946 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28947 : : ((32 == 64 || TARGET_AVX512VL
28948 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28949 : : && ix86_pre_reload_split ()
28950 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28951 : : STRIP_UNARY (operands[4]))
28952 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28953 : : STRIP_UNARY (operands[4]))
28954 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28955 : : STRIP_UNARY (operands[3]))
28956 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28957 : : STRIP_UNARY (operands[3])))) &&
28958 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28959 : : (TARGET_AVX)) &&
28960 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28961 : : ( 1)))
28962 : : return NULL;
28963 : : return gen_split_2221 (insn, operands);
28964 : :
28965 : : case 32:
28966 : : if (!(
28967 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28968 : : ((16 == 64 || TARGET_AVX512VL
28969 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28970 : : && ix86_pre_reload_split ()
28971 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28972 : : STRIP_UNARY (operands[4]))
28973 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28974 : : STRIP_UNARY (operands[4]))
28975 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28976 : : STRIP_UNARY (operands[3]))
28977 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28978 : : STRIP_UNARY (operands[3])))) &&
28979 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28980 : : ( 1)))
28981 : : return NULL;
28982 : : return gen_split_2248 (insn, operands);
28983 : :
28984 : : case 33:
28985 : : if (!((
28986 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28987 : : ((64 == 64 || TARGET_AVX512VL
28988 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28989 : : && ix86_pre_reload_split ()
28990 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28991 : : STRIP_UNARY (operands[4]))
28992 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28993 : : STRIP_UNARY (operands[4]))
28994 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28995 : : STRIP_UNARY (operands[3]))
28996 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28997 : : STRIP_UNARY (operands[3])))) &&
28998 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28999 : : (TARGET_AVX512F)) &&
29000 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29001 : : ( 1)))
29002 : : return NULL;
29003 : : return gen_split_2275 (insn, operands);
29004 : :
29005 : : case 34:
29006 : : if (!((
29007 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29008 : : ((32 == 64 || TARGET_AVX512VL
29009 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29010 : : && ix86_pre_reload_split ()
29011 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29012 : : STRIP_UNARY (operands[4]))
29013 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29014 : : STRIP_UNARY (operands[4]))
29015 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29016 : : STRIP_UNARY (operands[3]))
29017 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29018 : : STRIP_UNARY (operands[3])))) &&
29019 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29020 : : (TARGET_AVX)) &&
29021 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29022 : : ( 1)))
29023 : : return NULL;
29024 : : return gen_split_2302 (insn, operands);
29025 : :
29026 : : case 35:
29027 : : if (!((
29028 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29029 : : ((16 == 64 || TARGET_AVX512VL
29030 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29031 : : && ix86_pre_reload_split ()
29032 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29033 : : STRIP_UNARY (operands[4]))
29034 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29035 : : STRIP_UNARY (operands[4]))
29036 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29037 : : STRIP_UNARY (operands[3]))
29038 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29039 : : STRIP_UNARY (operands[3])))) &&
29040 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29041 : : (TARGET_SSE2)) &&
29042 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29043 : : ( 1)))
29044 : : return NULL;
29045 : : return gen_split_2329 (insn, operands);
29046 : :
29047 : : case 36:
29048 : : if (!((
29049 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29050 : : ((64 == 64 || TARGET_AVX512VL
29051 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29052 : : && ix86_pre_reload_split ()) &&
29053 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29054 : : (TARGET_AVX512F)) &&
29055 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29056 : : ( 1)))
29057 : : return NULL;
29058 : : return gen_split_3100 (insn, operands);
29059 : :
29060 : : case 37:
29061 : : if (!((
29062 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29063 : : ((32 == 64 || TARGET_AVX512VL
29064 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29065 : : && ix86_pre_reload_split ()) &&
29066 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29067 : : (TARGET_AVX)) &&
29068 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29069 : : ( 1)))
29070 : : return NULL;
29071 : : return gen_split_3109 (insn, operands);
29072 : :
29073 : : case 38:
29074 : : if (!(
29075 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29076 : : ((16 == 64 || TARGET_AVX512VL
29077 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29078 : : && ix86_pre_reload_split ()) &&
29079 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29080 : : ( 1)))
29081 : : return NULL;
29082 : : return gen_split_3118 (insn, operands);
29083 : :
29084 : : case 39:
29085 : : if (!((
29086 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29087 : : ((64 == 64 || TARGET_AVX512VL
29088 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29089 : : && ix86_pre_reload_split ()) &&
29090 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29091 : : (TARGET_AVX512F)) &&
29092 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29093 : : ( 1)))
29094 : : return NULL;
29095 : : return gen_split_3127 (insn, operands);
29096 : :
29097 : : case 40:
29098 : : if (!((
29099 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29100 : : ((32 == 64 || TARGET_AVX512VL
29101 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29102 : : && ix86_pre_reload_split ()) &&
29103 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29104 : : (TARGET_AVX)) &&
29105 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29106 : : ( 1)))
29107 : : return NULL;
29108 : : return gen_split_3136 (insn, operands);
29109 : :
29110 : : case 41:
29111 : : if (!(
29112 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29113 : : ((16 == 64 || TARGET_AVX512VL
29114 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29115 : : && ix86_pre_reload_split ()) &&
29116 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29117 : : ( 1)))
29118 : : return NULL;
29119 : : return gen_split_3145 (insn, operands);
29120 : :
29121 : : case 42:
29122 : : if (!((
29123 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29124 : : ((64 == 64 || TARGET_AVX512VL
29125 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29126 : : && ix86_pre_reload_split ()) &&
29127 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29128 : : (TARGET_AVX512F)) &&
29129 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29130 : : ( 1)))
29131 : : return NULL;
29132 : : return gen_split_3154 (insn, operands);
29133 : :
29134 : : case 43:
29135 : : if (!((
29136 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29137 : : ((32 == 64 || TARGET_AVX512VL
29138 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29139 : : && ix86_pre_reload_split ()) &&
29140 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29141 : : (TARGET_AVX)) &&
29142 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29143 : : ( 1)))
29144 : : return NULL;
29145 : : return gen_split_3163 (insn, operands);
29146 : :
29147 : : case 44:
29148 : : if (!(
29149 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29150 : : ((16 == 64 || TARGET_AVX512VL
29151 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29152 : : && ix86_pre_reload_split ()) &&
29153 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29154 : : ( 1)))
29155 : : return NULL;
29156 : : return gen_split_3172 (insn, operands);
29157 : :
29158 : : case 45:
29159 : : if (!((
29160 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29161 : : ((64 == 64 || TARGET_AVX512VL
29162 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29163 : : && ix86_pre_reload_split ()) &&
29164 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29165 : : (TARGET_AVX512F)) &&
29166 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29167 : : ( 1)))
29168 : : return NULL;
29169 : : return gen_split_3181 (insn, operands);
29170 : :
29171 : : case 46:
29172 : : if (!((
29173 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29174 : : ((32 == 64 || TARGET_AVX512VL
29175 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29176 : : && ix86_pre_reload_split ()) &&
29177 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29178 : : (TARGET_AVX)) &&
29179 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29180 : : ( 1)))
29181 : : return NULL;
29182 : : return gen_split_3190 (insn, operands);
29183 : :
29184 : : case 47:
29185 : : if (!((
29186 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29187 : : ((16 == 64 || TARGET_AVX512VL
29188 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29189 : : && ix86_pre_reload_split ()) &&
29190 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29191 : : (TARGET_SSE2)) &&
29192 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29193 : : ( 1)))
29194 : : return NULL;
29195 : : return gen_split_3199 (insn, operands);
29196 : :
29197 : : default:
29198 : : return NULL;
29199 : : }
29200 : :
29201 : : case AND:
29202 : : switch (pattern525 (x2))
29203 : : {
29204 : : case 0:
29205 : : if (!((
29206 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29207 : : ((64 == 64 || TARGET_AVX512VL
29208 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29209 : : && ix86_pre_reload_split ()
29210 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29211 : : STRIP_UNARY (operands[4]))
29212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29213 : : STRIP_UNARY (operands[4]))
29214 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29215 : : STRIP_UNARY (operands[3]))
29216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29217 : : STRIP_UNARY (operands[3])))) &&
29218 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29219 : : (TARGET_AVX512F)) &&
29220 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29221 : : ( 1)))
29222 : : return NULL;
29223 : : return gen_split_2674 (insn, operands);
29224 : :
29225 : : case 1:
29226 : : if (!((
29227 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29228 : : ((32 == 64 || TARGET_AVX512VL
29229 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29230 : : && ix86_pre_reload_split ()
29231 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29232 : : STRIP_UNARY (operands[4]))
29233 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29234 : : STRIP_UNARY (operands[4]))
29235 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29236 : : STRIP_UNARY (operands[3]))
29237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29238 : : STRIP_UNARY (operands[3])))) &&
29239 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29240 : : (TARGET_AVX)) &&
29241 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29242 : : ( 1)))
29243 : : return NULL;
29244 : : return gen_split_2701 (insn, operands);
29245 : :
29246 : : case 2:
29247 : : if (!(
29248 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29249 : : ((16 == 64 || TARGET_AVX512VL
29250 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29251 : : && ix86_pre_reload_split ()
29252 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29253 : : STRIP_UNARY (operands[4]))
29254 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29255 : : STRIP_UNARY (operands[4]))
29256 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29257 : : STRIP_UNARY (operands[3]))
29258 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29259 : : STRIP_UNARY (operands[3])))) &&
29260 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29261 : : ( 1)))
29262 : : return NULL;
29263 : : return gen_split_2728 (insn, operands);
29264 : :
29265 : : case 3:
29266 : : if (!((
29267 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29268 : : ((64 == 64 || TARGET_AVX512VL
29269 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29270 : : && ix86_pre_reload_split ()
29271 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29272 : : STRIP_UNARY (operands[4]))
29273 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29274 : : STRIP_UNARY (operands[4]))
29275 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29276 : : STRIP_UNARY (operands[3]))
29277 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29278 : : STRIP_UNARY (operands[3])))) &&
29279 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29280 : : (TARGET_AVX512F)) &&
29281 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29282 : : ( 1)))
29283 : : return NULL;
29284 : : return gen_split_2755 (insn, operands);
29285 : :
29286 : : case 4:
29287 : : if (!((
29288 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29289 : : ((32 == 64 || TARGET_AVX512VL
29290 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29291 : : && ix86_pre_reload_split ()
29292 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29293 : : STRIP_UNARY (operands[4]))
29294 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29295 : : STRIP_UNARY (operands[4]))
29296 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29297 : : STRIP_UNARY (operands[3]))
29298 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29299 : : STRIP_UNARY (operands[3])))) &&
29300 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29301 : : (TARGET_AVX)) &&
29302 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29303 : : ( 1)))
29304 : : return NULL;
29305 : : return gen_split_2782 (insn, operands);
29306 : :
29307 : : case 5:
29308 : : if (!(
29309 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29310 : : ((16 == 64 || TARGET_AVX512VL
29311 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29312 : : && ix86_pre_reload_split ()
29313 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29314 : : STRIP_UNARY (operands[4]))
29315 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29316 : : STRIP_UNARY (operands[4]))
29317 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29318 : : STRIP_UNARY (operands[3]))
29319 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29320 : : STRIP_UNARY (operands[3])))) &&
29321 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29322 : : ( 1)))
29323 : : return NULL;
29324 : : return gen_split_2809 (insn, operands);
29325 : :
29326 : : case 6:
29327 : : if (!((
29328 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29329 : : ((64 == 64 || TARGET_AVX512VL
29330 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29331 : : && ix86_pre_reload_split ()
29332 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29333 : : STRIP_UNARY (operands[4]))
29334 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29335 : : STRIP_UNARY (operands[4]))
29336 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29337 : : STRIP_UNARY (operands[3]))
29338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29339 : : STRIP_UNARY (operands[3])))) &&
29340 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29341 : : (TARGET_AVX512F)) &&
29342 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29343 : : ( 1)))
29344 : : return NULL;
29345 : : return gen_split_2836 (insn, operands);
29346 : :
29347 : : case 7:
29348 : : if (!((
29349 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29350 : : ((32 == 64 || TARGET_AVX512VL
29351 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29352 : : && ix86_pre_reload_split ()
29353 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29354 : : STRIP_UNARY (operands[4]))
29355 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29356 : : STRIP_UNARY (operands[4]))
29357 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29358 : : STRIP_UNARY (operands[3]))
29359 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29360 : : STRIP_UNARY (operands[3])))) &&
29361 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29362 : : (TARGET_AVX)) &&
29363 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29364 : : ( 1)))
29365 : : return NULL;
29366 : : return gen_split_2863 (insn, operands);
29367 : :
29368 : : case 8:
29369 : : if (!(
29370 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29371 : : ((16 == 64 || TARGET_AVX512VL
29372 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29373 : : && ix86_pre_reload_split ()
29374 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29375 : : STRIP_UNARY (operands[4]))
29376 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29377 : : STRIP_UNARY (operands[4]))
29378 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29379 : : STRIP_UNARY (operands[3]))
29380 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29381 : : STRIP_UNARY (operands[3])))) &&
29382 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29383 : : ( 1)))
29384 : : return NULL;
29385 : : return gen_split_2890 (insn, operands);
29386 : :
29387 : : case 9:
29388 : : if (!((
29389 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29390 : : ((64 == 64 || TARGET_AVX512VL
29391 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29392 : : && ix86_pre_reload_split ()
29393 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29394 : : STRIP_UNARY (operands[4]))
29395 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29396 : : STRIP_UNARY (operands[4]))
29397 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29398 : : STRIP_UNARY (operands[3]))
29399 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29400 : : STRIP_UNARY (operands[3])))) &&
29401 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29402 : : (TARGET_AVX512F)) &&
29403 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29404 : : ( 1)))
29405 : : return NULL;
29406 : : return gen_split_2917 (insn, operands);
29407 : :
29408 : : case 10:
29409 : : if (!((
29410 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29411 : : ((32 == 64 || TARGET_AVX512VL
29412 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29413 : : && ix86_pre_reload_split ()
29414 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29415 : : STRIP_UNARY (operands[4]))
29416 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29417 : : STRIP_UNARY (operands[4]))
29418 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29419 : : STRIP_UNARY (operands[3]))
29420 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29421 : : STRIP_UNARY (operands[3])))) &&
29422 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29423 : : (TARGET_AVX)) &&
29424 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29425 : : ( 1)))
29426 : : return NULL;
29427 : : return gen_split_2944 (insn, operands);
29428 : :
29429 : : case 11:
29430 : : if (!((
29431 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29432 : : ((16 == 64 || TARGET_AVX512VL
29433 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29434 : : && ix86_pre_reload_split ()
29435 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29436 : : STRIP_UNARY (operands[4]))
29437 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29438 : : STRIP_UNARY (operands[4]))
29439 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29440 : : STRIP_UNARY (operands[3]))
29441 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29442 : : STRIP_UNARY (operands[3])))) &&
29443 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29444 : : (TARGET_SSE2)) &&
29445 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29446 : : ( 1)))
29447 : : return NULL;
29448 : : return gen_split_2971 (insn, operands);
29449 : :
29450 : : default:
29451 : : return NULL;
29452 : : }
29453 : :
29454 : : case IOR:
29455 : : switch (pattern525 (x2))
29456 : : {
29457 : : case 0:
29458 : : if (!((
29459 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29460 : : ((64 == 64 || TARGET_AVX512VL
29461 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29462 : : && ix86_pre_reload_split ()
29463 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29464 : : STRIP_UNARY (operands[4]))
29465 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29466 : : STRIP_UNARY (operands[4]))
29467 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29468 : : STRIP_UNARY (operands[3]))
29469 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29470 : : STRIP_UNARY (operands[3])))) &&
29471 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29472 : : (TARGET_AVX512F)) &&
29473 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29474 : : ( 1)))
29475 : : return NULL;
29476 : : return gen_split_2677 (insn, operands);
29477 : :
29478 : : case 1:
29479 : : if (!((
29480 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29481 : : ((32 == 64 || TARGET_AVX512VL
29482 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29483 : : && ix86_pre_reload_split ()
29484 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29485 : : STRIP_UNARY (operands[4]))
29486 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29487 : : STRIP_UNARY (operands[4]))
29488 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29489 : : STRIP_UNARY (operands[3]))
29490 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29491 : : STRIP_UNARY (operands[3])))) &&
29492 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29493 : : (TARGET_AVX)) &&
29494 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29495 : : ( 1)))
29496 : : return NULL;
29497 : : return gen_split_2704 (insn, operands);
29498 : :
29499 : : case 2:
29500 : : if (!(
29501 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29502 : : ((16 == 64 || TARGET_AVX512VL
29503 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29504 : : && ix86_pre_reload_split ()
29505 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29506 : : STRIP_UNARY (operands[4]))
29507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29508 : : STRIP_UNARY (operands[4]))
29509 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29510 : : STRIP_UNARY (operands[3]))
29511 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29512 : : STRIP_UNARY (operands[3])))) &&
29513 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29514 : : ( 1)))
29515 : : return NULL;
29516 : : return gen_split_2731 (insn, operands);
29517 : :
29518 : : case 3:
29519 : : if (!((
29520 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29521 : : ((64 == 64 || TARGET_AVX512VL
29522 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29523 : : && ix86_pre_reload_split ()
29524 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29525 : : STRIP_UNARY (operands[4]))
29526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29527 : : STRIP_UNARY (operands[4]))
29528 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29529 : : STRIP_UNARY (operands[3]))
29530 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29531 : : STRIP_UNARY (operands[3])))) &&
29532 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29533 : : (TARGET_AVX512F)) &&
29534 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29535 : : ( 1)))
29536 : : return NULL;
29537 : : return gen_split_2758 (insn, operands);
29538 : :
29539 : : case 4:
29540 : : if (!((
29541 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29542 : : ((32 == 64 || TARGET_AVX512VL
29543 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29544 : : && ix86_pre_reload_split ()
29545 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29546 : : STRIP_UNARY (operands[4]))
29547 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29548 : : STRIP_UNARY (operands[4]))
29549 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29550 : : STRIP_UNARY (operands[3]))
29551 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29552 : : STRIP_UNARY (operands[3])))) &&
29553 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29554 : : (TARGET_AVX)) &&
29555 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29556 : : ( 1)))
29557 : : return NULL;
29558 : : return gen_split_2785 (insn, operands);
29559 : :
29560 : : case 5:
29561 : : if (!(
29562 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29563 : : ((16 == 64 || TARGET_AVX512VL
29564 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29565 : : && ix86_pre_reload_split ()
29566 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29567 : : STRIP_UNARY (operands[4]))
29568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29569 : : STRIP_UNARY (operands[4]))
29570 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29571 : : STRIP_UNARY (operands[3]))
29572 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29573 : : STRIP_UNARY (operands[3])))) &&
29574 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29575 : : ( 1)))
29576 : : return NULL;
29577 : : return gen_split_2812 (insn, operands);
29578 : :
29579 : : case 6:
29580 : : if (!((
29581 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29582 : : ((64 == 64 || TARGET_AVX512VL
29583 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29584 : : && ix86_pre_reload_split ()
29585 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29586 : : STRIP_UNARY (operands[4]))
29587 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29588 : : STRIP_UNARY (operands[4]))
29589 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29590 : : STRIP_UNARY (operands[3]))
29591 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29592 : : STRIP_UNARY (operands[3])))) &&
29593 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29594 : : (TARGET_AVX512F)) &&
29595 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29596 : : ( 1)))
29597 : : return NULL;
29598 : : return gen_split_2839 (insn, operands);
29599 : :
29600 : : case 7:
29601 : : if (!((
29602 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29603 : : ((32 == 64 || TARGET_AVX512VL
29604 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29605 : : && ix86_pre_reload_split ()
29606 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29607 : : STRIP_UNARY (operands[4]))
29608 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29609 : : STRIP_UNARY (operands[4]))
29610 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29611 : : STRIP_UNARY (operands[3]))
29612 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29613 : : STRIP_UNARY (operands[3])))) &&
29614 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29615 : : (TARGET_AVX)) &&
29616 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29617 : : ( 1)))
29618 : : return NULL;
29619 : : return gen_split_2866 (insn, operands);
29620 : :
29621 : : case 8:
29622 : : if (!(
29623 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29624 : : ((16 == 64 || TARGET_AVX512VL
29625 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29626 : : && ix86_pre_reload_split ()
29627 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29628 : : STRIP_UNARY (operands[4]))
29629 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29630 : : STRIP_UNARY (operands[4]))
29631 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29632 : : STRIP_UNARY (operands[3]))
29633 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29634 : : STRIP_UNARY (operands[3])))) &&
29635 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29636 : : ( 1)))
29637 : : return NULL;
29638 : : return gen_split_2893 (insn, operands);
29639 : :
29640 : : case 9:
29641 : : if (!((
29642 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29643 : : ((64 == 64 || TARGET_AVX512VL
29644 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29645 : : && ix86_pre_reload_split ()
29646 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29647 : : STRIP_UNARY (operands[4]))
29648 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29649 : : STRIP_UNARY (operands[4]))
29650 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29651 : : STRIP_UNARY (operands[3]))
29652 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29653 : : STRIP_UNARY (operands[3])))) &&
29654 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29655 : : (TARGET_AVX512F)) &&
29656 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29657 : : ( 1)))
29658 : : return NULL;
29659 : : return gen_split_2920 (insn, operands);
29660 : :
29661 : : case 10:
29662 : : if (!((
29663 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29664 : : ((32 == 64 || TARGET_AVX512VL
29665 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29666 : : && ix86_pre_reload_split ()
29667 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29668 : : STRIP_UNARY (operands[4]))
29669 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29670 : : STRIP_UNARY (operands[4]))
29671 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29672 : : STRIP_UNARY (operands[3]))
29673 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29674 : : STRIP_UNARY (operands[3])))) &&
29675 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29676 : : (TARGET_AVX)) &&
29677 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29678 : : ( 1)))
29679 : : return NULL;
29680 : : return gen_split_2947 (insn, operands);
29681 : :
29682 : : case 11:
29683 : : if (!((
29684 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29685 : : ((16 == 64 || TARGET_AVX512VL
29686 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29687 : : && ix86_pre_reload_split ()
29688 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29689 : : STRIP_UNARY (operands[4]))
29690 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29691 : : STRIP_UNARY (operands[4]))
29692 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29693 : : STRIP_UNARY (operands[3]))
29694 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29695 : : STRIP_UNARY (operands[3])))) &&
29696 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29697 : : (TARGET_SSE2)) &&
29698 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29699 : : ( 1)))
29700 : : return NULL;
29701 : : return gen_split_2974 (insn, operands);
29702 : :
29703 : : default:
29704 : : return NULL;
29705 : : }
29706 : :
29707 : : case XOR:
29708 : : switch (pattern525 (x2))
29709 : : {
29710 : : case 0:
29711 : : if (!((
29712 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29713 : : ((64 == 64 || TARGET_AVX512VL
29714 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29715 : : && ix86_pre_reload_split ()
29716 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29717 : : STRIP_UNARY (operands[4]))
29718 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29719 : : STRIP_UNARY (operands[4]))
29720 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29721 : : STRIP_UNARY (operands[3]))
29722 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29723 : : STRIP_UNARY (operands[3])))) &&
29724 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29725 : : (TARGET_AVX512F)) &&
29726 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29727 : : ( 1)))
29728 : : return NULL;
29729 : : return gen_split_2680 (insn, operands);
29730 : :
29731 : : case 1:
29732 : : if (!((
29733 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29734 : : ((32 == 64 || TARGET_AVX512VL
29735 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29736 : : && ix86_pre_reload_split ()
29737 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29738 : : STRIP_UNARY (operands[4]))
29739 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29740 : : STRIP_UNARY (operands[4]))
29741 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29742 : : STRIP_UNARY (operands[3]))
29743 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29744 : : STRIP_UNARY (operands[3])))) &&
29745 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29746 : : (TARGET_AVX)) &&
29747 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29748 : : ( 1)))
29749 : : return NULL;
29750 : : return gen_split_2707 (insn, operands);
29751 : :
29752 : : case 2:
29753 : : if (!(
29754 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29755 : : ((16 == 64 || TARGET_AVX512VL
29756 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29757 : : && ix86_pre_reload_split ()
29758 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29759 : : STRIP_UNARY (operands[4]))
29760 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29761 : : STRIP_UNARY (operands[4]))
29762 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29763 : : STRIP_UNARY (operands[3]))
29764 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29765 : : STRIP_UNARY (operands[3])))) &&
29766 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29767 : : ( 1)))
29768 : : return NULL;
29769 : : return gen_split_2734 (insn, operands);
29770 : :
29771 : : case 3:
29772 : : if (!((
29773 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29774 : : ((64 == 64 || TARGET_AVX512VL
29775 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29776 : : && ix86_pre_reload_split ()
29777 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29778 : : STRIP_UNARY (operands[4]))
29779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29780 : : STRIP_UNARY (operands[4]))
29781 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29782 : : STRIP_UNARY (operands[3]))
29783 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29784 : : STRIP_UNARY (operands[3])))) &&
29785 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29786 : : (TARGET_AVX512F)) &&
29787 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29788 : : ( 1)))
29789 : : return NULL;
29790 : : return gen_split_2761 (insn, operands);
29791 : :
29792 : : case 4:
29793 : : if (!((
29794 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29795 : : ((32 == 64 || TARGET_AVX512VL
29796 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29797 : : && ix86_pre_reload_split ()
29798 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29799 : : STRIP_UNARY (operands[4]))
29800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29801 : : STRIP_UNARY (operands[4]))
29802 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29803 : : STRIP_UNARY (operands[3]))
29804 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29805 : : STRIP_UNARY (operands[3])))) &&
29806 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29807 : : (TARGET_AVX)) &&
29808 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29809 : : ( 1)))
29810 : : return NULL;
29811 : : return gen_split_2788 (insn, operands);
29812 : :
29813 : : case 5:
29814 : : if (!(
29815 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29816 : : ((16 == 64 || TARGET_AVX512VL
29817 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29818 : : && ix86_pre_reload_split ()
29819 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29820 : : STRIP_UNARY (operands[4]))
29821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29822 : : STRIP_UNARY (operands[4]))
29823 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29824 : : STRIP_UNARY (operands[3]))
29825 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29826 : : STRIP_UNARY (operands[3])))) &&
29827 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29828 : : ( 1)))
29829 : : return NULL;
29830 : : return gen_split_2815 (insn, operands);
29831 : :
29832 : : case 6:
29833 : : if (!((
29834 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29835 : : ((64 == 64 || TARGET_AVX512VL
29836 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29837 : : && ix86_pre_reload_split ()
29838 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29839 : : STRIP_UNARY (operands[4]))
29840 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29841 : : STRIP_UNARY (operands[4]))
29842 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29843 : : STRIP_UNARY (operands[3]))
29844 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29845 : : STRIP_UNARY (operands[3])))) &&
29846 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29847 : : (TARGET_AVX512F)) &&
29848 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29849 : : ( 1)))
29850 : : return NULL;
29851 : : return gen_split_2842 (insn, operands);
29852 : :
29853 : : case 7:
29854 : : if (!((
29855 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29856 : : ((32 == 64 || TARGET_AVX512VL
29857 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29858 : : && ix86_pre_reload_split ()
29859 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29860 : : STRIP_UNARY (operands[4]))
29861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29862 : : STRIP_UNARY (operands[4]))
29863 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29864 : : STRIP_UNARY (operands[3]))
29865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29866 : : STRIP_UNARY (operands[3])))) &&
29867 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29868 : : (TARGET_AVX)) &&
29869 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29870 : : ( 1)))
29871 : : return NULL;
29872 : : return gen_split_2869 (insn, operands);
29873 : :
29874 : : case 8:
29875 : : if (!(
29876 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29877 : : ((16 == 64 || TARGET_AVX512VL
29878 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29879 : : && ix86_pre_reload_split ()
29880 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29881 : : STRIP_UNARY (operands[4]))
29882 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29883 : : STRIP_UNARY (operands[4]))
29884 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29885 : : STRIP_UNARY (operands[3]))
29886 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29887 : : STRIP_UNARY (operands[3])))) &&
29888 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29889 : : ( 1)))
29890 : : return NULL;
29891 : : return gen_split_2896 (insn, operands);
29892 : :
29893 : : case 9:
29894 : : if (!((
29895 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29896 : : ((64 == 64 || TARGET_AVX512VL
29897 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29898 : : && ix86_pre_reload_split ()
29899 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29900 : : STRIP_UNARY (operands[4]))
29901 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29902 : : STRIP_UNARY (operands[4]))
29903 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29904 : : STRIP_UNARY (operands[3]))
29905 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29906 : : STRIP_UNARY (operands[3])))) &&
29907 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29908 : : (TARGET_AVX512F)) &&
29909 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29910 : : ( 1)))
29911 : : return NULL;
29912 : : return gen_split_2923 (insn, operands);
29913 : :
29914 : : case 10:
29915 : : if (!((
29916 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29917 : : ((32 == 64 || TARGET_AVX512VL
29918 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29919 : : && ix86_pre_reload_split ()
29920 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29921 : : STRIP_UNARY (operands[4]))
29922 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29923 : : STRIP_UNARY (operands[4]))
29924 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29925 : : STRIP_UNARY (operands[3]))
29926 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29927 : : STRIP_UNARY (operands[3])))) &&
29928 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29929 : : (TARGET_AVX)) &&
29930 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29931 : : ( 1)))
29932 : : return NULL;
29933 : : return gen_split_2950 (insn, operands);
29934 : :
29935 : : case 11:
29936 : : if (!((
29937 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29938 : : ((16 == 64 || TARGET_AVX512VL
29939 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29940 : : && ix86_pre_reload_split ()
29941 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29942 : : STRIP_UNARY (operands[4]))
29943 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29944 : : STRIP_UNARY (operands[4]))
29945 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29946 : : STRIP_UNARY (operands[3]))
29947 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29948 : : STRIP_UNARY (operands[3])))) &&
29949 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29950 : : (TARGET_SSE2)) &&
29951 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29952 : : ( 1)))
29953 : : return NULL;
29954 : : return gen_split_2977 (insn, operands);
29955 : :
29956 : : default:
29957 : : return NULL;
29958 : : }
29959 : :
29960 : : default:
29961 : : return NULL;
29962 : : }
29963 : :
29964 : : case XOR:
29965 : : x4 = XEXP (x3, 0);
29966 : : switch (GET_CODE (x4))
29967 : : {
29968 : : case REG:
29969 : : case SUBREG:
29970 : : case MEM:
29971 : : case NOT:
29972 : : switch (pattern524 (x2))
29973 : : {
29974 : : case 0:
29975 : : if (!((
29976 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29977 : : ((64 == 64 || TARGET_AVX512VL
29978 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29979 : : && ix86_pre_reload_split ()
29980 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29981 : : STRIP_UNARY (operands[4]))
29982 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29983 : : STRIP_UNARY (operands[4]))
29984 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29985 : : STRIP_UNARY (operands[3]))
29986 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29987 : : STRIP_UNARY (operands[3])))) &&
29988 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29989 : : (TARGET_AVX512F)) &&
29990 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29991 : : ( 1)))
29992 : : return NULL;
29993 : : return gen_split_2035 (insn, operands);
29994 : :
29995 : : case 1:
29996 : : if (!((
29997 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29998 : : ((32 == 64 || TARGET_AVX512VL
29999 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30000 : : && ix86_pre_reload_split ()
30001 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30002 : : STRIP_UNARY (operands[4]))
30003 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30004 : : STRIP_UNARY (operands[4]))
30005 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30006 : : STRIP_UNARY (operands[3]))
30007 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30008 : : STRIP_UNARY (operands[3])))) &&
30009 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30010 : : (TARGET_AVX)) &&
30011 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30012 : : ( 1)))
30013 : : return NULL;
30014 : : return gen_split_2062 (insn, operands);
30015 : :
30016 : : case 2:
30017 : : if (!(
30018 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30019 : : ((16 == 64 || TARGET_AVX512VL
30020 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30021 : : && ix86_pre_reload_split ()
30022 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30023 : : STRIP_UNARY (operands[4]))
30024 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30025 : : STRIP_UNARY (operands[4]))
30026 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30027 : : STRIP_UNARY (operands[3]))
30028 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30029 : : STRIP_UNARY (operands[3])))) &&
30030 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30031 : : ( 1)))
30032 : : return NULL;
30033 : : return gen_split_2089 (insn, operands);
30034 : :
30035 : : case 3:
30036 : : if (!((
30037 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30038 : : ((64 == 64 || TARGET_AVX512VL
30039 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30040 : : && ix86_pre_reload_split ()
30041 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30042 : : STRIP_UNARY (operands[4]))
30043 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30044 : : STRIP_UNARY (operands[4]))
30045 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30046 : : STRIP_UNARY (operands[3]))
30047 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30048 : : STRIP_UNARY (operands[3])))) &&
30049 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30050 : : (TARGET_AVX512F)) &&
30051 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30052 : : ( 1)))
30053 : : return NULL;
30054 : : return gen_split_2116 (insn, operands);
30055 : :
30056 : : case 4:
30057 : : if (!((
30058 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30059 : : ((32 == 64 || TARGET_AVX512VL
30060 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30061 : : && ix86_pre_reload_split ()
30062 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30063 : : STRIP_UNARY (operands[4]))
30064 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30065 : : STRIP_UNARY (operands[4]))
30066 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30067 : : STRIP_UNARY (operands[3]))
30068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30069 : : STRIP_UNARY (operands[3])))) &&
30070 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30071 : : (TARGET_AVX)) &&
30072 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30073 : : ( 1)))
30074 : : return NULL;
30075 : : return gen_split_2143 (insn, operands);
30076 : :
30077 : : case 5:
30078 : : if (!(
30079 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30080 : : ((16 == 64 || TARGET_AVX512VL
30081 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30082 : : && ix86_pre_reload_split ()
30083 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30084 : : STRIP_UNARY (operands[4]))
30085 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30086 : : STRIP_UNARY (operands[4]))
30087 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30088 : : STRIP_UNARY (operands[3]))
30089 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30090 : : STRIP_UNARY (operands[3])))) &&
30091 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30092 : : ( 1)))
30093 : : return NULL;
30094 : : return gen_split_2170 (insn, operands);
30095 : :
30096 : : case 6:
30097 : : if (!((
30098 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30099 : : ((64 == 64 || TARGET_AVX512VL
30100 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30101 : : && ix86_pre_reload_split ()
30102 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30103 : : STRIP_UNARY (operands[4]))
30104 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30105 : : STRIP_UNARY (operands[4]))
30106 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30107 : : STRIP_UNARY (operands[3]))
30108 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30109 : : STRIP_UNARY (operands[3])))) &&
30110 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30111 : : (TARGET_AVX512F)) &&
30112 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30113 : : ( 1)))
30114 : : return NULL;
30115 : : return gen_split_2197 (insn, operands);
30116 : :
30117 : : case 7:
30118 : : if (!((
30119 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30120 : : ((32 == 64 || TARGET_AVX512VL
30121 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30122 : : && ix86_pre_reload_split ()
30123 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30124 : : STRIP_UNARY (operands[4]))
30125 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30126 : : STRIP_UNARY (operands[4]))
30127 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30128 : : STRIP_UNARY (operands[3]))
30129 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30130 : : STRIP_UNARY (operands[3])))) &&
30131 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30132 : : (TARGET_AVX)) &&
30133 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30134 : : ( 1)))
30135 : : return NULL;
30136 : : return gen_split_2224 (insn, operands);
30137 : :
30138 : : case 8:
30139 : : if (!(
30140 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30141 : : ((16 == 64 || TARGET_AVX512VL
30142 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30143 : : && ix86_pre_reload_split ()
30144 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30145 : : STRIP_UNARY (operands[4]))
30146 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30147 : : STRIP_UNARY (operands[4]))
30148 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30149 : : STRIP_UNARY (operands[3]))
30150 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30151 : : STRIP_UNARY (operands[3])))) &&
30152 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30153 : : ( 1)))
30154 : : return NULL;
30155 : : return gen_split_2251 (insn, operands);
30156 : :
30157 : : case 9:
30158 : : if (!((
30159 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30160 : : ((64 == 64 || TARGET_AVX512VL
30161 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30162 : : && ix86_pre_reload_split ()
30163 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30164 : : STRIP_UNARY (operands[4]))
30165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30166 : : STRIP_UNARY (operands[4]))
30167 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30168 : : STRIP_UNARY (operands[3]))
30169 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30170 : : STRIP_UNARY (operands[3])))) &&
30171 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30172 : : (TARGET_AVX512F)) &&
30173 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30174 : : ( 1)))
30175 : : return NULL;
30176 : : return gen_split_2278 (insn, operands);
30177 : :
30178 : : case 10:
30179 : : if (!((
30180 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30181 : : ((32 == 64 || TARGET_AVX512VL
30182 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30183 : : && ix86_pre_reload_split ()
30184 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30185 : : STRIP_UNARY (operands[4]))
30186 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30187 : : STRIP_UNARY (operands[4]))
30188 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30189 : : STRIP_UNARY (operands[3]))
30190 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30191 : : STRIP_UNARY (operands[3])))) &&
30192 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30193 : : (TARGET_AVX)) &&
30194 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30195 : : ( 1)))
30196 : : return NULL;
30197 : : return gen_split_2305 (insn, operands);
30198 : :
30199 : : case 11:
30200 : : if (!((
30201 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30202 : : ((16 == 64 || TARGET_AVX512VL
30203 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30204 : : && ix86_pre_reload_split ()
30205 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30206 : : STRIP_UNARY (operands[4]))
30207 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30208 : : STRIP_UNARY (operands[4]))
30209 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30210 : : STRIP_UNARY (operands[3]))
30211 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30212 : : STRIP_UNARY (operands[3])))) &&
30213 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30214 : : (TARGET_SSE2)) &&
30215 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30216 : : ( 1)))
30217 : : return NULL;
30218 : : return gen_split_2332 (insn, operands);
30219 : :
30220 : : case 12:
30221 : : if (!((
30222 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30223 : : ((64 == 64 || TARGET_AVX512VL
30224 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30225 : : && ix86_pre_reload_split ()
30226 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30227 : : STRIP_UNARY (operands[4]))
30228 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30229 : : STRIP_UNARY (operands[4]))
30230 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30231 : : STRIP_UNARY (operands[3]))
30232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30233 : : STRIP_UNARY (operands[3])))) &&
30234 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30235 : : (TARGET_AVX512F)) &&
30236 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30237 : : ( 1)))
30238 : : return NULL;
30239 : : return gen_split_2038 (insn, operands);
30240 : :
30241 : : case 13:
30242 : : if (!((
30243 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30244 : : ((32 == 64 || TARGET_AVX512VL
30245 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30246 : : && ix86_pre_reload_split ()
30247 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30248 : : STRIP_UNARY (operands[4]))
30249 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30250 : : STRIP_UNARY (operands[4]))
30251 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30252 : : STRIP_UNARY (operands[3]))
30253 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30254 : : STRIP_UNARY (operands[3])))) &&
30255 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30256 : : (TARGET_AVX)) &&
30257 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30258 : : ( 1)))
30259 : : return NULL;
30260 : : return gen_split_2065 (insn, operands);
30261 : :
30262 : : case 14:
30263 : : if (!(
30264 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30265 : : ((16 == 64 || TARGET_AVX512VL
30266 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30267 : : && ix86_pre_reload_split ()
30268 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30269 : : STRIP_UNARY (operands[4]))
30270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30271 : : STRIP_UNARY (operands[4]))
30272 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30273 : : STRIP_UNARY (operands[3]))
30274 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30275 : : STRIP_UNARY (operands[3])))) &&
30276 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30277 : : ( 1)))
30278 : : return NULL;
30279 : : return gen_split_2092 (insn, operands);
30280 : :
30281 : : case 15:
30282 : : if (!((
30283 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30284 : : ((64 == 64 || TARGET_AVX512VL
30285 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30286 : : && ix86_pre_reload_split ()
30287 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30288 : : STRIP_UNARY (operands[4]))
30289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30290 : : STRIP_UNARY (operands[4]))
30291 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30292 : : STRIP_UNARY (operands[3]))
30293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30294 : : STRIP_UNARY (operands[3])))) &&
30295 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30296 : : (TARGET_AVX512F)) &&
30297 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30298 : : ( 1)))
30299 : : return NULL;
30300 : : return gen_split_2119 (insn, operands);
30301 : :
30302 : : case 16:
30303 : : if (!((
30304 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30305 : : ((32 == 64 || TARGET_AVX512VL
30306 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30307 : : && ix86_pre_reload_split ()
30308 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30309 : : STRIP_UNARY (operands[4]))
30310 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30311 : : STRIP_UNARY (operands[4]))
30312 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30313 : : STRIP_UNARY (operands[3]))
30314 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30315 : : STRIP_UNARY (operands[3])))) &&
30316 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30317 : : (TARGET_AVX)) &&
30318 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30319 : : ( 1)))
30320 : : return NULL;
30321 : : return gen_split_2146 (insn, operands);
30322 : :
30323 : : case 17:
30324 : : if (!(
30325 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30326 : : ((16 == 64 || TARGET_AVX512VL
30327 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30328 : : && ix86_pre_reload_split ()
30329 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30330 : : STRIP_UNARY (operands[4]))
30331 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30332 : : STRIP_UNARY (operands[4]))
30333 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30334 : : STRIP_UNARY (operands[3]))
30335 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30336 : : STRIP_UNARY (operands[3])))) &&
30337 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30338 : : ( 1)))
30339 : : return NULL;
30340 : : return gen_split_2173 (insn, operands);
30341 : :
30342 : : case 18:
30343 : : if (!((
30344 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30345 : : ((64 == 64 || TARGET_AVX512VL
30346 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30347 : : && ix86_pre_reload_split ()
30348 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30349 : : STRIP_UNARY (operands[4]))
30350 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30351 : : STRIP_UNARY (operands[4]))
30352 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30353 : : STRIP_UNARY (operands[3]))
30354 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30355 : : STRIP_UNARY (operands[3])))) &&
30356 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30357 : : (TARGET_AVX512F)) &&
30358 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30359 : : ( 1)))
30360 : : return NULL;
30361 : : return gen_split_2200 (insn, operands);
30362 : :
30363 : : case 19:
30364 : : if (!((
30365 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30366 : : ((32 == 64 || TARGET_AVX512VL
30367 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30368 : : && ix86_pre_reload_split ()
30369 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30370 : : STRIP_UNARY (operands[4]))
30371 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30372 : : STRIP_UNARY (operands[4]))
30373 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30374 : : STRIP_UNARY (operands[3]))
30375 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30376 : : STRIP_UNARY (operands[3])))) &&
30377 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30378 : : (TARGET_AVX)) &&
30379 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30380 : : ( 1)))
30381 : : return NULL;
30382 : : return gen_split_2227 (insn, operands);
30383 : :
30384 : : case 20:
30385 : : if (!(
30386 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30387 : : ((16 == 64 || TARGET_AVX512VL
30388 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30389 : : && ix86_pre_reload_split ()
30390 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30391 : : STRIP_UNARY (operands[4]))
30392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30393 : : STRIP_UNARY (operands[4]))
30394 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30395 : : STRIP_UNARY (operands[3]))
30396 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30397 : : STRIP_UNARY (operands[3])))) &&
30398 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30399 : : ( 1)))
30400 : : return NULL;
30401 : : return gen_split_2254 (insn, operands);
30402 : :
30403 : : case 21:
30404 : : if (!((
30405 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30406 : : ((64 == 64 || TARGET_AVX512VL
30407 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30408 : : && ix86_pre_reload_split ()
30409 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30410 : : STRIP_UNARY (operands[4]))
30411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30412 : : STRIP_UNARY (operands[4]))
30413 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30414 : : STRIP_UNARY (operands[3]))
30415 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30416 : : STRIP_UNARY (operands[3])))) &&
30417 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30418 : : (TARGET_AVX512F)) &&
30419 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30420 : : ( 1)))
30421 : : return NULL;
30422 : : return gen_split_2281 (insn, operands);
30423 : :
30424 : : case 22:
30425 : : if (!((
30426 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30427 : : ((32 == 64 || TARGET_AVX512VL
30428 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30429 : : && ix86_pre_reload_split ()
30430 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30431 : : STRIP_UNARY (operands[4]))
30432 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30433 : : STRIP_UNARY (operands[4]))
30434 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30435 : : STRIP_UNARY (operands[3]))
30436 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30437 : : STRIP_UNARY (operands[3])))) &&
30438 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30439 : : (TARGET_AVX)) &&
30440 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30441 : : ( 1)))
30442 : : return NULL;
30443 : : return gen_split_2308 (insn, operands);
30444 : :
30445 : : case 23:
30446 : : if (!((
30447 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30448 : : ((16 == 64 || TARGET_AVX512VL
30449 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30450 : : && ix86_pre_reload_split ()
30451 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30452 : : STRIP_UNARY (operands[4]))
30453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30454 : : STRIP_UNARY (operands[4]))
30455 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30456 : : STRIP_UNARY (operands[3]))
30457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30458 : : STRIP_UNARY (operands[3])))) &&
30459 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30460 : : (TARGET_SSE2)) &&
30461 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30462 : : ( 1)))
30463 : : return NULL;
30464 : : return gen_split_2335 (insn, operands);
30465 : :
30466 : : case 24:
30467 : : if (!((
30468 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30469 : : ((64 == 64 || TARGET_AVX512VL
30470 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30471 : : && ix86_pre_reload_split ()
30472 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30473 : : STRIP_UNARY (operands[4]))
30474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30475 : : STRIP_UNARY (operands[4]))
30476 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30477 : : STRIP_UNARY (operands[3]))
30478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30479 : : STRIP_UNARY (operands[3])))) &&
30480 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30481 : : (TARGET_AVX512F)) &&
30482 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30483 : : ( 1)))
30484 : : return NULL;
30485 : : return gen_split_2041 (insn, operands);
30486 : :
30487 : : case 25:
30488 : : if (!((
30489 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30490 : : ((32 == 64 || TARGET_AVX512VL
30491 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30492 : : && ix86_pre_reload_split ()
30493 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30494 : : STRIP_UNARY (operands[4]))
30495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30496 : : STRIP_UNARY (operands[4]))
30497 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30498 : : STRIP_UNARY (operands[3]))
30499 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30500 : : STRIP_UNARY (operands[3])))) &&
30501 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30502 : : (TARGET_AVX)) &&
30503 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30504 : : ( 1)))
30505 : : return NULL;
30506 : : return gen_split_2068 (insn, operands);
30507 : :
30508 : : case 26:
30509 : : if (!(
30510 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30511 : : ((16 == 64 || TARGET_AVX512VL
30512 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30513 : : && ix86_pre_reload_split ()
30514 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30515 : : STRIP_UNARY (operands[4]))
30516 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30517 : : STRIP_UNARY (operands[4]))
30518 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30519 : : STRIP_UNARY (operands[3]))
30520 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30521 : : STRIP_UNARY (operands[3])))) &&
30522 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30523 : : ( 1)))
30524 : : return NULL;
30525 : : return gen_split_2095 (insn, operands);
30526 : :
30527 : : case 27:
30528 : : if (!((
30529 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30530 : : ((64 == 64 || TARGET_AVX512VL
30531 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30532 : : && ix86_pre_reload_split ()
30533 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30534 : : STRIP_UNARY (operands[4]))
30535 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30536 : : STRIP_UNARY (operands[4]))
30537 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30538 : : STRIP_UNARY (operands[3]))
30539 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30540 : : STRIP_UNARY (operands[3])))) &&
30541 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30542 : : (TARGET_AVX512F)) &&
30543 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30544 : : ( 1)))
30545 : : return NULL;
30546 : : return gen_split_2122 (insn, operands);
30547 : :
30548 : : case 28:
30549 : : if (!((
30550 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30551 : : ((32 == 64 || TARGET_AVX512VL
30552 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30553 : : && ix86_pre_reload_split ()
30554 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30555 : : STRIP_UNARY (operands[4]))
30556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30557 : : STRIP_UNARY (operands[4]))
30558 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30559 : : STRIP_UNARY (operands[3]))
30560 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30561 : : STRIP_UNARY (operands[3])))) &&
30562 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30563 : : (TARGET_AVX)) &&
30564 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30565 : : ( 1)))
30566 : : return NULL;
30567 : : return gen_split_2149 (insn, operands);
30568 : :
30569 : : case 29:
30570 : : if (!(
30571 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30572 : : ((16 == 64 || TARGET_AVX512VL
30573 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30574 : : && ix86_pre_reload_split ()
30575 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30576 : : STRIP_UNARY (operands[4]))
30577 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30578 : : STRIP_UNARY (operands[4]))
30579 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30580 : : STRIP_UNARY (operands[3]))
30581 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30582 : : STRIP_UNARY (operands[3])))) &&
30583 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30584 : : ( 1)))
30585 : : return NULL;
30586 : : return gen_split_2176 (insn, operands);
30587 : :
30588 : : case 30:
30589 : : if (!((
30590 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30591 : : ((64 == 64 || TARGET_AVX512VL
30592 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30593 : : && ix86_pre_reload_split ()
30594 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30595 : : STRIP_UNARY (operands[4]))
30596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30597 : : STRIP_UNARY (operands[4]))
30598 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30599 : : STRIP_UNARY (operands[3]))
30600 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30601 : : STRIP_UNARY (operands[3])))) &&
30602 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30603 : : (TARGET_AVX512F)) &&
30604 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30605 : : ( 1)))
30606 : : return NULL;
30607 : : return gen_split_2203 (insn, operands);
30608 : :
30609 : : case 31:
30610 : : if (!((
30611 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30612 : : ((32 == 64 || TARGET_AVX512VL
30613 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30614 : : && ix86_pre_reload_split ()
30615 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30616 : : STRIP_UNARY (operands[4]))
30617 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30618 : : STRIP_UNARY (operands[4]))
30619 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30620 : : STRIP_UNARY (operands[3]))
30621 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30622 : : STRIP_UNARY (operands[3])))) &&
30623 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30624 : : (TARGET_AVX)) &&
30625 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30626 : : ( 1)))
30627 : : return NULL;
30628 : : return gen_split_2230 (insn, operands);
30629 : :
30630 : : case 32:
30631 : : if (!(
30632 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30633 : : ((16 == 64 || TARGET_AVX512VL
30634 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30635 : : && ix86_pre_reload_split ()
30636 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30637 : : STRIP_UNARY (operands[4]))
30638 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30639 : : STRIP_UNARY (operands[4]))
30640 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30641 : : STRIP_UNARY (operands[3]))
30642 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30643 : : STRIP_UNARY (operands[3])))) &&
30644 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30645 : : ( 1)))
30646 : : return NULL;
30647 : : return gen_split_2257 (insn, operands);
30648 : :
30649 : : case 33:
30650 : : if (!((
30651 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30652 : : ((64 == 64 || TARGET_AVX512VL
30653 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30654 : : && ix86_pre_reload_split ()
30655 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30656 : : STRIP_UNARY (operands[4]))
30657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30658 : : STRIP_UNARY (operands[4]))
30659 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30660 : : STRIP_UNARY (operands[3]))
30661 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30662 : : STRIP_UNARY (operands[3])))) &&
30663 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30664 : : (TARGET_AVX512F)) &&
30665 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30666 : : ( 1)))
30667 : : return NULL;
30668 : : return gen_split_2284 (insn, operands);
30669 : :
30670 : : case 34:
30671 : : if (!((
30672 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30673 : : ((32 == 64 || TARGET_AVX512VL
30674 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30675 : : && ix86_pre_reload_split ()
30676 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30677 : : STRIP_UNARY (operands[4]))
30678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30679 : : STRIP_UNARY (operands[4]))
30680 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30681 : : STRIP_UNARY (operands[3]))
30682 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30683 : : STRIP_UNARY (operands[3])))) &&
30684 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30685 : : (TARGET_AVX)) &&
30686 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30687 : : ( 1)))
30688 : : return NULL;
30689 : : return gen_split_2311 (insn, operands);
30690 : :
30691 : : case 35:
30692 : : if (!((
30693 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30694 : : ((16 == 64 || TARGET_AVX512VL
30695 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30696 : : && ix86_pre_reload_split ()
30697 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30698 : : STRIP_UNARY (operands[4]))
30699 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30700 : : STRIP_UNARY (operands[4]))
30701 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30702 : : STRIP_UNARY (operands[3]))
30703 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30704 : : STRIP_UNARY (operands[3])))) &&
30705 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30706 : : (TARGET_SSE2)) &&
30707 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30708 : : ( 1)))
30709 : : return NULL;
30710 : : return gen_split_2338 (insn, operands);
30711 : :
30712 : : case 36:
30713 : : if (!((
30714 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30715 : : ((64 == 64 || TARGET_AVX512VL
30716 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30717 : : && ix86_pre_reload_split ()) &&
30718 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30719 : : (TARGET_AVX512F)) &&
30720 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30721 : : ( 1)))
30722 : : return NULL;
30723 : : return gen_split_3103 (insn, operands);
30724 : :
30725 : : case 37:
30726 : : if (!((
30727 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30728 : : ((32 == 64 || TARGET_AVX512VL
30729 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30730 : : && ix86_pre_reload_split ()) &&
30731 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30732 : : (TARGET_AVX)) &&
30733 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30734 : : ( 1)))
30735 : : return NULL;
30736 : : return gen_split_3112 (insn, operands);
30737 : :
30738 : : case 38:
30739 : : if (!(
30740 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30741 : : ((16 == 64 || TARGET_AVX512VL
30742 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30743 : : && ix86_pre_reload_split ()) &&
30744 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30745 : : ( 1)))
30746 : : return NULL;
30747 : : return gen_split_3121 (insn, operands);
30748 : :
30749 : : case 39:
30750 : : if (!((
30751 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30752 : : ((64 == 64 || TARGET_AVX512VL
30753 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30754 : : && ix86_pre_reload_split ()) &&
30755 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30756 : : (TARGET_AVX512F)) &&
30757 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30758 : : ( 1)))
30759 : : return NULL;
30760 : : return gen_split_3130 (insn, operands);
30761 : :
30762 : : case 40:
30763 : : if (!((
30764 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30765 : : ((32 == 64 || TARGET_AVX512VL
30766 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30767 : : && ix86_pre_reload_split ()) &&
30768 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30769 : : (TARGET_AVX)) &&
30770 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30771 : : ( 1)))
30772 : : return NULL;
30773 : : return gen_split_3139 (insn, operands);
30774 : :
30775 : : case 41:
30776 : : if (!(
30777 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30778 : : ((16 == 64 || TARGET_AVX512VL
30779 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30780 : : && ix86_pre_reload_split ()) &&
30781 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30782 : : ( 1)))
30783 : : return NULL;
30784 : : return gen_split_3148 (insn, operands);
30785 : :
30786 : : case 42:
30787 : : if (!((
30788 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30789 : : ((64 == 64 || TARGET_AVX512VL
30790 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30791 : : && ix86_pre_reload_split ()) &&
30792 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30793 : : (TARGET_AVX512F)) &&
30794 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30795 : : ( 1)))
30796 : : return NULL;
30797 : : return gen_split_3157 (insn, operands);
30798 : :
30799 : : case 43:
30800 : : if (!((
30801 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30802 : : ((32 == 64 || TARGET_AVX512VL
30803 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30804 : : && ix86_pre_reload_split ()) &&
30805 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30806 : : (TARGET_AVX)) &&
30807 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30808 : : ( 1)))
30809 : : return NULL;
30810 : : return gen_split_3166 (insn, operands);
30811 : :
30812 : : case 44:
30813 : : if (!(
30814 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30815 : : ((16 == 64 || TARGET_AVX512VL
30816 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30817 : : && ix86_pre_reload_split ()) &&
30818 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30819 : : ( 1)))
30820 : : return NULL;
30821 : : return gen_split_3175 (insn, operands);
30822 : :
30823 : : case 45:
30824 : : if (!((
30825 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30826 : : ((64 == 64 || TARGET_AVX512VL
30827 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30828 : : && ix86_pre_reload_split ()) &&
30829 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30830 : : (TARGET_AVX512F)) &&
30831 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30832 : : ( 1)))
30833 : : return NULL;
30834 : : return gen_split_3184 (insn, operands);
30835 : :
30836 : : case 46:
30837 : : if (!((
30838 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30839 : : ((32 == 64 || TARGET_AVX512VL
30840 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30841 : : && ix86_pre_reload_split ()) &&
30842 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30843 : : (TARGET_AVX)) &&
30844 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30845 : : ( 1)))
30846 : : return NULL;
30847 : : return gen_split_3193 (insn, operands);
30848 : :
30849 : : case 47:
30850 : : if (!((
30851 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30852 : : ((16 == 64 || TARGET_AVX512VL
30853 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30854 : : && ix86_pre_reload_split ()) &&
30855 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30856 : : (TARGET_SSE2)) &&
30857 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30858 : : ( 1)))
30859 : : return NULL;
30860 : : return gen_split_3202 (insn, operands);
30861 : :
30862 : : default:
30863 : : return NULL;
30864 : : }
30865 : :
30866 : : case AND:
30867 : : switch (pattern525 (x2))
30868 : : {
30869 : : case 0:
30870 : : if (!((
30871 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30872 : : ((64 == 64 || TARGET_AVX512VL
30873 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30874 : : && ix86_pre_reload_split ()
30875 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30876 : : STRIP_UNARY (operands[4]))
30877 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30878 : : STRIP_UNARY (operands[4]))
30879 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30880 : : STRIP_UNARY (operands[3]))
30881 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30882 : : STRIP_UNARY (operands[3])))) &&
30883 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30884 : : (TARGET_AVX512F)) &&
30885 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30886 : : ( 1)))
30887 : : return NULL;
30888 : : return gen_split_2683 (insn, operands);
30889 : :
30890 : : case 1:
30891 : : if (!((
30892 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30893 : : ((32 == 64 || TARGET_AVX512VL
30894 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30895 : : && ix86_pre_reload_split ()
30896 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30897 : : STRIP_UNARY (operands[4]))
30898 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30899 : : STRIP_UNARY (operands[4]))
30900 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30901 : : STRIP_UNARY (operands[3]))
30902 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30903 : : STRIP_UNARY (operands[3])))) &&
30904 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30905 : : (TARGET_AVX)) &&
30906 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30907 : : ( 1)))
30908 : : return NULL;
30909 : : return gen_split_2710 (insn, operands);
30910 : :
30911 : : case 2:
30912 : : if (!(
30913 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30914 : : ((16 == 64 || TARGET_AVX512VL
30915 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30916 : : && ix86_pre_reload_split ()
30917 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30918 : : STRIP_UNARY (operands[4]))
30919 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30920 : : STRIP_UNARY (operands[4]))
30921 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30922 : : STRIP_UNARY (operands[3]))
30923 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30924 : : STRIP_UNARY (operands[3])))) &&
30925 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30926 : : ( 1)))
30927 : : return NULL;
30928 : : return gen_split_2737 (insn, operands);
30929 : :
30930 : : case 3:
30931 : : if (!((
30932 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30933 : : ((64 == 64 || TARGET_AVX512VL
30934 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30935 : : && ix86_pre_reload_split ()
30936 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30937 : : STRIP_UNARY (operands[4]))
30938 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30939 : : STRIP_UNARY (operands[4]))
30940 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30941 : : STRIP_UNARY (operands[3]))
30942 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30943 : : STRIP_UNARY (operands[3])))) &&
30944 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30945 : : (TARGET_AVX512F)) &&
30946 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30947 : : ( 1)))
30948 : : return NULL;
30949 : : return gen_split_2764 (insn, operands);
30950 : :
30951 : : case 4:
30952 : : if (!((
30953 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30954 : : ((32 == 64 || TARGET_AVX512VL
30955 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30956 : : && ix86_pre_reload_split ()
30957 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30958 : : STRIP_UNARY (operands[4]))
30959 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30960 : : STRIP_UNARY (operands[4]))
30961 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30962 : : STRIP_UNARY (operands[3]))
30963 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30964 : : STRIP_UNARY (operands[3])))) &&
30965 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30966 : : (TARGET_AVX)) &&
30967 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30968 : : ( 1)))
30969 : : return NULL;
30970 : : return gen_split_2791 (insn, operands);
30971 : :
30972 : : case 5:
30973 : : if (!(
30974 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30975 : : ((16 == 64 || TARGET_AVX512VL
30976 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30977 : : && ix86_pre_reload_split ()
30978 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30979 : : STRIP_UNARY (operands[4]))
30980 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30981 : : STRIP_UNARY (operands[4]))
30982 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30983 : : STRIP_UNARY (operands[3]))
30984 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30985 : : STRIP_UNARY (operands[3])))) &&
30986 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30987 : : ( 1)))
30988 : : return NULL;
30989 : : return gen_split_2818 (insn, operands);
30990 : :
30991 : : case 6:
30992 : : if (!((
30993 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30994 : : ((64 == 64 || TARGET_AVX512VL
30995 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30996 : : && ix86_pre_reload_split ()
30997 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30998 : : STRIP_UNARY (operands[4]))
30999 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31000 : : STRIP_UNARY (operands[4]))
31001 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31002 : : STRIP_UNARY (operands[3]))
31003 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31004 : : STRIP_UNARY (operands[3])))) &&
31005 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31006 : : (TARGET_AVX512F)) &&
31007 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31008 : : ( 1)))
31009 : : return NULL;
31010 : : return gen_split_2845 (insn, operands);
31011 : :
31012 : : case 7:
31013 : : if (!((
31014 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31015 : : ((32 == 64 || TARGET_AVX512VL
31016 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31017 : : && ix86_pre_reload_split ()
31018 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31019 : : STRIP_UNARY (operands[4]))
31020 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31021 : : STRIP_UNARY (operands[4]))
31022 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31023 : : STRIP_UNARY (operands[3]))
31024 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31025 : : STRIP_UNARY (operands[3])))) &&
31026 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31027 : : (TARGET_AVX)) &&
31028 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31029 : : ( 1)))
31030 : : return NULL;
31031 : : return gen_split_2872 (insn, operands);
31032 : :
31033 : : case 8:
31034 : : if (!(
31035 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31036 : : ((16 == 64 || TARGET_AVX512VL
31037 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31038 : : && ix86_pre_reload_split ()
31039 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31040 : : STRIP_UNARY (operands[4]))
31041 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31042 : : STRIP_UNARY (operands[4]))
31043 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31044 : : STRIP_UNARY (operands[3]))
31045 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31046 : : STRIP_UNARY (operands[3])))) &&
31047 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31048 : : ( 1)))
31049 : : return NULL;
31050 : : return gen_split_2899 (insn, operands);
31051 : :
31052 : : case 9:
31053 : : if (!((
31054 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31055 : : ((64 == 64 || TARGET_AVX512VL
31056 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31057 : : && ix86_pre_reload_split ()
31058 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31059 : : STRIP_UNARY (operands[4]))
31060 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31061 : : STRIP_UNARY (operands[4]))
31062 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31063 : : STRIP_UNARY (operands[3]))
31064 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31065 : : STRIP_UNARY (operands[3])))) &&
31066 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31067 : : (TARGET_AVX512F)) &&
31068 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31069 : : ( 1)))
31070 : : return NULL;
31071 : : return gen_split_2926 (insn, operands);
31072 : :
31073 : : case 10:
31074 : : if (!((
31075 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31076 : : ((32 == 64 || TARGET_AVX512VL
31077 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31078 : : && ix86_pre_reload_split ()
31079 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31080 : : STRIP_UNARY (operands[4]))
31081 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31082 : : STRIP_UNARY (operands[4]))
31083 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31084 : : STRIP_UNARY (operands[3]))
31085 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31086 : : STRIP_UNARY (operands[3])))) &&
31087 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31088 : : (TARGET_AVX)) &&
31089 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31090 : : ( 1)))
31091 : : return NULL;
31092 : : return gen_split_2953 (insn, operands);
31093 : :
31094 : : case 11:
31095 : : if (!((
31096 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31097 : : ((16 == 64 || TARGET_AVX512VL
31098 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31099 : : && ix86_pre_reload_split ()
31100 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31101 : : STRIP_UNARY (operands[4]))
31102 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31103 : : STRIP_UNARY (operands[4]))
31104 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31105 : : STRIP_UNARY (operands[3]))
31106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31107 : : STRIP_UNARY (operands[3])))) &&
31108 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31109 : : (TARGET_SSE2)) &&
31110 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31111 : : ( 1)))
31112 : : return NULL;
31113 : : return gen_split_2980 (insn, operands);
31114 : :
31115 : : default:
31116 : : return NULL;
31117 : : }
31118 : :
31119 : : case IOR:
31120 : : switch (pattern525 (x2))
31121 : : {
31122 : : case 0:
31123 : : if (!((
31124 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31125 : : ((64 == 64 || TARGET_AVX512VL
31126 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31127 : : && ix86_pre_reload_split ()
31128 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31129 : : STRIP_UNARY (operands[4]))
31130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31131 : : STRIP_UNARY (operands[4]))
31132 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31133 : : STRIP_UNARY (operands[3]))
31134 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31135 : : STRIP_UNARY (operands[3])))) &&
31136 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31137 : : (TARGET_AVX512F)) &&
31138 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31139 : : ( 1)))
31140 : : return NULL;
31141 : : return gen_split_2686 (insn, operands);
31142 : :
31143 : : case 1:
31144 : : if (!((
31145 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31146 : : ((32 == 64 || TARGET_AVX512VL
31147 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31148 : : && ix86_pre_reload_split ()
31149 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31150 : : STRIP_UNARY (operands[4]))
31151 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31152 : : STRIP_UNARY (operands[4]))
31153 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31154 : : STRIP_UNARY (operands[3]))
31155 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31156 : : STRIP_UNARY (operands[3])))) &&
31157 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31158 : : (TARGET_AVX)) &&
31159 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31160 : : ( 1)))
31161 : : return NULL;
31162 : : return gen_split_2713 (insn, operands);
31163 : :
31164 : : case 2:
31165 : : if (!(
31166 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31167 : : ((16 == 64 || TARGET_AVX512VL
31168 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31169 : : && ix86_pre_reload_split ()
31170 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31171 : : STRIP_UNARY (operands[4]))
31172 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31173 : : STRIP_UNARY (operands[4]))
31174 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31175 : : STRIP_UNARY (operands[3]))
31176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31177 : : STRIP_UNARY (operands[3])))) &&
31178 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31179 : : ( 1)))
31180 : : return NULL;
31181 : : return gen_split_2740 (insn, operands);
31182 : :
31183 : : case 3:
31184 : : if (!((
31185 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31186 : : ((64 == 64 || TARGET_AVX512VL
31187 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31188 : : && ix86_pre_reload_split ()
31189 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31190 : : STRIP_UNARY (operands[4]))
31191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31192 : : STRIP_UNARY (operands[4]))
31193 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31194 : : STRIP_UNARY (operands[3]))
31195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31196 : : STRIP_UNARY (operands[3])))) &&
31197 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31198 : : (TARGET_AVX512F)) &&
31199 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31200 : : ( 1)))
31201 : : return NULL;
31202 : : return gen_split_2767 (insn, operands);
31203 : :
31204 : : case 4:
31205 : : if (!((
31206 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31207 : : ((32 == 64 || TARGET_AVX512VL
31208 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31209 : : && ix86_pre_reload_split ()
31210 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31211 : : STRIP_UNARY (operands[4]))
31212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31213 : : STRIP_UNARY (operands[4]))
31214 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31215 : : STRIP_UNARY (operands[3]))
31216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31217 : : STRIP_UNARY (operands[3])))) &&
31218 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31219 : : (TARGET_AVX)) &&
31220 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31221 : : ( 1)))
31222 : : return NULL;
31223 : : return gen_split_2794 (insn, operands);
31224 : :
31225 : : case 5:
31226 : : if (!(
31227 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31228 : : ((16 == 64 || TARGET_AVX512VL
31229 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31230 : : && ix86_pre_reload_split ()
31231 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31232 : : STRIP_UNARY (operands[4]))
31233 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31234 : : STRIP_UNARY (operands[4]))
31235 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31236 : : STRIP_UNARY (operands[3]))
31237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31238 : : STRIP_UNARY (operands[3])))) &&
31239 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31240 : : ( 1)))
31241 : : return NULL;
31242 : : return gen_split_2821 (insn, operands);
31243 : :
31244 : : case 6:
31245 : : if (!((
31246 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31247 : : ((64 == 64 || TARGET_AVX512VL
31248 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31249 : : && ix86_pre_reload_split ()
31250 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31251 : : STRIP_UNARY (operands[4]))
31252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31253 : : STRIP_UNARY (operands[4]))
31254 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31255 : : STRIP_UNARY (operands[3]))
31256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31257 : : STRIP_UNARY (operands[3])))) &&
31258 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31259 : : (TARGET_AVX512F)) &&
31260 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31261 : : ( 1)))
31262 : : return NULL;
31263 : : return gen_split_2848 (insn, operands);
31264 : :
31265 : : case 7:
31266 : : if (!((
31267 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31268 : : ((32 == 64 || TARGET_AVX512VL
31269 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31270 : : && ix86_pre_reload_split ()
31271 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31272 : : STRIP_UNARY (operands[4]))
31273 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31274 : : STRIP_UNARY (operands[4]))
31275 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31276 : : STRIP_UNARY (operands[3]))
31277 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31278 : : STRIP_UNARY (operands[3])))) &&
31279 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31280 : : (TARGET_AVX)) &&
31281 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31282 : : ( 1)))
31283 : : return NULL;
31284 : : return gen_split_2875 (insn, operands);
31285 : :
31286 : : case 8:
31287 : : if (!(
31288 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31289 : : ((16 == 64 || TARGET_AVX512VL
31290 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31291 : : && ix86_pre_reload_split ()
31292 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31293 : : STRIP_UNARY (operands[4]))
31294 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31295 : : STRIP_UNARY (operands[4]))
31296 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31297 : : STRIP_UNARY (operands[3]))
31298 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31299 : : STRIP_UNARY (operands[3])))) &&
31300 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31301 : : ( 1)))
31302 : : return NULL;
31303 : : return gen_split_2902 (insn, operands);
31304 : :
31305 : : case 9:
31306 : : if (!((
31307 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31308 : : ((64 == 64 || TARGET_AVX512VL
31309 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31310 : : && ix86_pre_reload_split ()
31311 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31312 : : STRIP_UNARY (operands[4]))
31313 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31314 : : STRIP_UNARY (operands[4]))
31315 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31316 : : STRIP_UNARY (operands[3]))
31317 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31318 : : STRIP_UNARY (operands[3])))) &&
31319 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31320 : : (TARGET_AVX512F)) &&
31321 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31322 : : ( 1)))
31323 : : return NULL;
31324 : : return gen_split_2929 (insn, operands);
31325 : :
31326 : : case 10:
31327 : : if (!((
31328 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31329 : : ((32 == 64 || TARGET_AVX512VL
31330 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31331 : : && ix86_pre_reload_split ()
31332 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31333 : : STRIP_UNARY (operands[4]))
31334 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31335 : : STRIP_UNARY (operands[4]))
31336 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31337 : : STRIP_UNARY (operands[3]))
31338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31339 : : STRIP_UNARY (operands[3])))) &&
31340 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31341 : : (TARGET_AVX)) &&
31342 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31343 : : ( 1)))
31344 : : return NULL;
31345 : : return gen_split_2956 (insn, operands);
31346 : :
31347 : : case 11:
31348 : : if (!((
31349 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31350 : : ((16 == 64 || TARGET_AVX512VL
31351 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31352 : : && ix86_pre_reload_split ()
31353 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31354 : : STRIP_UNARY (operands[4]))
31355 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31356 : : STRIP_UNARY (operands[4]))
31357 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31358 : : STRIP_UNARY (operands[3]))
31359 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31360 : : STRIP_UNARY (operands[3])))) &&
31361 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31362 : : (TARGET_SSE2)) &&
31363 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31364 : : ( 1)))
31365 : : return NULL;
31366 : : return gen_split_2983 (insn, operands);
31367 : :
31368 : : default:
31369 : : return NULL;
31370 : : }
31371 : :
31372 : : case XOR:
31373 : : switch (pattern525 (x2))
31374 : : {
31375 : : case 0:
31376 : : if (!((
31377 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31378 : : ((64 == 64 || TARGET_AVX512VL
31379 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31380 : : && ix86_pre_reload_split ()
31381 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31382 : : STRIP_UNARY (operands[4]))
31383 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31384 : : STRIP_UNARY (operands[4]))
31385 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31386 : : STRIP_UNARY (operands[3]))
31387 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31388 : : STRIP_UNARY (operands[3])))) &&
31389 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31390 : : (TARGET_AVX512F)) &&
31391 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31392 : : ( 1)))
31393 : : return NULL;
31394 : : return gen_split_2689 (insn, operands);
31395 : :
31396 : : case 1:
31397 : : if (!((
31398 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31399 : : ((32 == 64 || TARGET_AVX512VL
31400 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31401 : : && ix86_pre_reload_split ()
31402 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31403 : : STRIP_UNARY (operands[4]))
31404 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31405 : : STRIP_UNARY (operands[4]))
31406 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31407 : : STRIP_UNARY (operands[3]))
31408 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31409 : : STRIP_UNARY (operands[3])))) &&
31410 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31411 : : (TARGET_AVX)) &&
31412 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31413 : : ( 1)))
31414 : : return NULL;
31415 : : return gen_split_2716 (insn, operands);
31416 : :
31417 : : case 2:
31418 : : if (!(
31419 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31420 : : ((16 == 64 || TARGET_AVX512VL
31421 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31422 : : && ix86_pre_reload_split ()
31423 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31424 : : STRIP_UNARY (operands[4]))
31425 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31426 : : STRIP_UNARY (operands[4]))
31427 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31428 : : STRIP_UNARY (operands[3]))
31429 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31430 : : STRIP_UNARY (operands[3])))) &&
31431 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31432 : : ( 1)))
31433 : : return NULL;
31434 : : return gen_split_2743 (insn, operands);
31435 : :
31436 : : case 3:
31437 : : if (!((
31438 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31439 : : ((64 == 64 || TARGET_AVX512VL
31440 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31441 : : && ix86_pre_reload_split ()
31442 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31443 : : STRIP_UNARY (operands[4]))
31444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31445 : : STRIP_UNARY (operands[4]))
31446 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31447 : : STRIP_UNARY (operands[3]))
31448 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31449 : : STRIP_UNARY (operands[3])))) &&
31450 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31451 : : (TARGET_AVX512F)) &&
31452 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31453 : : ( 1)))
31454 : : return NULL;
31455 : : return gen_split_2770 (insn, operands);
31456 : :
31457 : : case 4:
31458 : : if (!((
31459 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31460 : : ((32 == 64 || TARGET_AVX512VL
31461 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31462 : : && ix86_pre_reload_split ()
31463 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31464 : : STRIP_UNARY (operands[4]))
31465 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31466 : : STRIP_UNARY (operands[4]))
31467 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31468 : : STRIP_UNARY (operands[3]))
31469 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31470 : : STRIP_UNARY (operands[3])))) &&
31471 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31472 : : (TARGET_AVX)) &&
31473 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31474 : : ( 1)))
31475 : : return NULL;
31476 : : return gen_split_2797 (insn, operands);
31477 : :
31478 : : case 5:
31479 : : if (!(
31480 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31481 : : ((16 == 64 || TARGET_AVX512VL
31482 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31483 : : && ix86_pre_reload_split ()
31484 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31485 : : STRIP_UNARY (operands[4]))
31486 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31487 : : STRIP_UNARY (operands[4]))
31488 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31489 : : STRIP_UNARY (operands[3]))
31490 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31491 : : STRIP_UNARY (operands[3])))) &&
31492 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31493 : : ( 1)))
31494 : : return NULL;
31495 : : return gen_split_2824 (insn, operands);
31496 : :
31497 : : case 6:
31498 : : if (!((
31499 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31500 : : ((64 == 64 || TARGET_AVX512VL
31501 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31502 : : && ix86_pre_reload_split ()
31503 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31504 : : STRIP_UNARY (operands[4]))
31505 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31506 : : STRIP_UNARY (operands[4]))
31507 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31508 : : STRIP_UNARY (operands[3]))
31509 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31510 : : STRIP_UNARY (operands[3])))) &&
31511 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31512 : : (TARGET_AVX512F)) &&
31513 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31514 : : ( 1)))
31515 : : return NULL;
31516 : : return gen_split_2851 (insn, operands);
31517 : :
31518 : : case 7:
31519 : : if (!((
31520 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31521 : : ((32 == 64 || TARGET_AVX512VL
31522 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31523 : : && ix86_pre_reload_split ()
31524 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31525 : : STRIP_UNARY (operands[4]))
31526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31527 : : STRIP_UNARY (operands[4]))
31528 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31529 : : STRIP_UNARY (operands[3]))
31530 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31531 : : STRIP_UNARY (operands[3])))) &&
31532 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31533 : : (TARGET_AVX)) &&
31534 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31535 : : ( 1)))
31536 : : return NULL;
31537 : : return gen_split_2878 (insn, operands);
31538 : :
31539 : : case 8:
31540 : : if (!(
31541 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31542 : : ((16 == 64 || TARGET_AVX512VL
31543 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31544 : : && ix86_pre_reload_split ()
31545 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31546 : : STRIP_UNARY (operands[4]))
31547 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31548 : : STRIP_UNARY (operands[4]))
31549 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31550 : : STRIP_UNARY (operands[3]))
31551 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31552 : : STRIP_UNARY (operands[3])))) &&
31553 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31554 : : ( 1)))
31555 : : return NULL;
31556 : : return gen_split_2905 (insn, operands);
31557 : :
31558 : : case 9:
31559 : : if (!((
31560 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31561 : : ((64 == 64 || TARGET_AVX512VL
31562 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31563 : : && ix86_pre_reload_split ()
31564 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31565 : : STRIP_UNARY (operands[4]))
31566 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31567 : : STRIP_UNARY (operands[4]))
31568 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31569 : : STRIP_UNARY (operands[3]))
31570 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31571 : : STRIP_UNARY (operands[3])))) &&
31572 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31573 : : (TARGET_AVX512F)) &&
31574 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31575 : : ( 1)))
31576 : : return NULL;
31577 : : return gen_split_2932 (insn, operands);
31578 : :
31579 : : case 10:
31580 : : if (!((
31581 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31582 : : ((32 == 64 || TARGET_AVX512VL
31583 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31584 : : && ix86_pre_reload_split ()
31585 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31586 : : STRIP_UNARY (operands[4]))
31587 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31588 : : STRIP_UNARY (operands[4]))
31589 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31590 : : STRIP_UNARY (operands[3]))
31591 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31592 : : STRIP_UNARY (operands[3])))) &&
31593 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31594 : : (TARGET_AVX)) &&
31595 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31596 : : ( 1)))
31597 : : return NULL;
31598 : : return gen_split_2959 (insn, operands);
31599 : :
31600 : : case 11:
31601 : : if (!((
31602 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31603 : : ((16 == 64 || TARGET_AVX512VL
31604 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31605 : : && ix86_pre_reload_split ()
31606 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31607 : : STRIP_UNARY (operands[4]))
31608 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31609 : : STRIP_UNARY (operands[4]))
31610 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31611 : : STRIP_UNARY (operands[3]))
31612 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31613 : : STRIP_UNARY (operands[3])))) &&
31614 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31615 : : (TARGET_SSE2)) &&
31616 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31617 : : ( 1)))
31618 : : return NULL;
31619 : : return gen_split_2986 (insn, operands);
31620 : :
31621 : : default:
31622 : : return NULL;
31623 : : }
31624 : :
31625 : : default:
31626 : : return NULL;
31627 : : }
31628 : :
31629 : : default:
31630 : : return NULL;
31631 : : }
31632 : : }
|