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 : 38911 : pattern2 (rtx x1, int *pnum_clobbers)
57 : : {
58 : 38911 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 38911 : rtx x2, x3, x4, x5, x6, x7;
60 : 38911 : int res ATTRIBUTE_UNUSED;
61 : 38911 : x2 = XEXP (x1, 1);
62 : 38911 : x3 = XEXP (x2, 0);
63 : 38911 : operands[1] = x3;
64 : 38911 : x4 = XEXP (x2, 1);
65 : 38911 : switch (GET_CODE (x4))
66 : : {
67 : 21 : case AND:
68 : 21 : if (pnum_clobbers == NULL
69 : 21 : || GET_MODE (x4) != E_QImode)
70 : : return -1;
71 : 21 : x5 = XEXP (x1, 0);
72 : 21 : operands[0] = x5;
73 : 21 : x6 = XEXP (x4, 0);
74 : 21 : operands[2] = x6;
75 : 21 : if (!register_operand (operands[2], E_QImode))
76 : : return -1;
77 : 15 : return pattern1 (x2); /* [-1, 1] */
78 : :
79 : 49 : case PLUS:
80 : 49 : if (pnum_clobbers == NULL
81 : 49 : || GET_MODE (x4) != E_QImode)
82 : : return -1;
83 : 49 : x5 = XEXP (x1, 0);
84 : 49 : operands[0] = x5;
85 : 49 : x6 = XEXP (x4, 0);
86 : 49 : operands[2] = x6;
87 : 49 : if (!nonimmediate_operand (operands[2], E_QImode))
88 : : return -1;
89 : 49 : res = pattern1 (x2);
90 : 49 : if (res >= 0)
91 : 0 : return res + 2; /* [2, 3] */
92 : : return -1;
93 : :
94 : 52 : case MINUS:
95 : 52 : if (pnum_clobbers == NULL
96 : 52 : || GET_MODE (x4) != E_QImode)
97 : : return -1;
98 : 52 : x5 = XEXP (x1, 0);
99 : 52 : operands[0] = x5;
100 : 52 : x6 = XEXP (x4, 0);
101 : 52 : operands[3] = x6;
102 : 52 : if (!const_int_operand (operands[3], E_QImode))
103 : : return -1;
104 : 17 : x7 = XEXP (x4, 1);
105 : 17 : operands[2] = x7;
106 : 17 : if (!nonimmediate_operand (operands[2], E_QImode))
107 : : return -1;
108 : 14 : res = pattern0 (x2);
109 : 14 : if (res >= 0)
110 : 0 : return res + 4; /* [4, 5] */
111 : : return -1;
112 : :
113 : : case CONST_INT:
114 : : case CONST_WIDE_INT:
115 : : case CONST_POLY_INT:
116 : : case CONST_FIXED:
117 : : case CONST_DOUBLE:
118 : : case CONST_VECTOR:
119 : : case CONST:
120 : : case REG:
121 : : case SUBREG:
122 : : case LABEL_REF:
123 : : case SYMBOL_REF:
124 : : case HIGH:
125 : : return 6;
126 : :
127 : : default:
128 : : return -1;
129 : : }
130 : : }
131 : :
132 : : int
133 : 115553 : pattern31 (rtx x1)
134 : : {
135 : 115553 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
136 : 115553 : rtx x2, x3, x4, x5;
137 : 115553 : int res ATTRIBUTE_UNUSED;
138 : 115553 : x2 = XEXP (x1, 0);
139 : 115553 : operands[0] = x2;
140 : 115553 : x3 = XEXP (x1, 1);
141 : 115553 : x4 = XEXP (x3, 0);
142 : 115553 : operands[1] = x4;
143 : 115553 : x5 = XEXP (x3, 1);
144 : 115553 : operands[2] = x5;
145 : 115553 : switch (GET_MODE (operands[0]))
146 : : {
147 : 437 : case E_V32QImode:
148 : 437 : return pattern3 (x3,
149 : 437 : E_V32QImode); /* [-1, 0] */
150 : :
151 : 821 : case E_V16HImode:
152 : 821 : if (pattern3 (x3,
153 : : E_V16HImode) != 0)
154 : : return -1;
155 : : return 1;
156 : :
157 : 858 : case E_V8SImode:
158 : 858 : if (pattern3 (x3,
159 : : E_V8SImode) != 0)
160 : : return -1;
161 : : return 2;
162 : :
163 : 142 : case E_V16SImode:
164 : 142 : if (pattern3 (x3,
165 : : E_V16SImode) != 0)
166 : : return -1;
167 : : return 3;
168 : :
169 : 1996 : case E_V4SImode:
170 : 1996 : if (!register_operand (operands[0], E_V4SImode)
171 : 1996 : || GET_MODE (x3) != E_V4SImode)
172 : : return -1;
173 : : return 4;
174 : :
175 : 1691 : case E_V8DImode:
176 : 1691 : if (pattern3 (x3,
177 : : E_V8DImode) != 0)
178 : : return -1;
179 : : return 5;
180 : :
181 : 308 : case E_V4DImode:
182 : 308 : if (pattern3 (x3,
183 : : E_V4DImode) != 0)
184 : : return -1;
185 : : return 6;
186 : :
187 : 160 : case E_V2DImode:
188 : 160 : if (pattern3 (x3,
189 : : E_V2DImode) != 0)
190 : : return -1;
191 : : return 7;
192 : :
193 : 170 : case E_V64QImode:
194 : 170 : if (pattern3 (x3,
195 : : E_V64QImode) != 0)
196 : : return -1;
197 : : return 8;
198 : :
199 : 9900 : case E_V16QImode:
200 : 9900 : if (!register_operand (operands[0], E_V16QImode)
201 : 9900 : || GET_MODE (x3) != E_V16QImode)
202 : : return -1;
203 : : return 9;
204 : :
205 : 172 : case E_V32HImode:
206 : 172 : if (pattern3 (x3,
207 : : E_V32HImode) != 0)
208 : : return -1;
209 : : return 10;
210 : :
211 : 5431 : case E_V8HImode:
212 : 5431 : if (!register_operand (operands[0], E_V8HImode)
213 : 5431 : || GET_MODE (x3) != E_V8HImode)
214 : : return -1;
215 : : return 11;
216 : :
217 : : default:
218 : : return -1;
219 : : }
220 : : }
221 : :
222 : : int
223 : 178942 : pattern40 (rtx x1, machine_mode i1, machine_mode i2)
224 : : {
225 : 178942 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
226 : 178942 : rtx x2, x3, x4;
227 : 178942 : int res ATTRIBUTE_UNUSED;
228 : 178942 : if (!register_operand (operands[0], i2)
229 : 178942 : || GET_MODE (x1) != i2)
230 : : return -1;
231 : 178699 : x2 = XEXP (x1, 0);
232 : 178699 : x3 = XEXP (x2, 0);
233 : 178699 : operands[1] = x3;
234 : 178699 : if (!nonimmediate_operand (operands[1], i1))
235 : : return -1;
236 : 140533 : x4 = XEXP (x1, 1);
237 : 140533 : operands[2] = x4;
238 : 140533 : if (!const_int_operand (operands[2], E_QImode))
239 : : return -1;
240 : : return 0;
241 : : }
242 : :
243 : : int
244 : 152968 : pattern46 (rtx x1)
245 : : {
246 : 152968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
247 : 152968 : int res ATTRIBUTE_UNUSED;
248 : 152968 : switch (GET_MODE (x1))
249 : : {
250 : 48060 : case E_QImode:
251 : 48060 : if (!nonimmediate_operand (operands[1], E_QImode)
252 : 48060 : || !general_operand (operands[2], E_QImode))
253 : 25834 : return -1;
254 : : return 0;
255 : :
256 : 786 : case E_HImode:
257 : 786 : if (!nonimmediate_operand (operands[1], E_HImode)
258 : 786 : || !general_operand (operands[2], E_HImode))
259 : 214 : return -1;
260 : : return 1;
261 : :
262 : 44589 : case E_SImode:
263 : 44589 : if (!nonimmediate_operand (operands[1], E_SImode)
264 : 44589 : || !x86_64_general_operand (operands[2], E_SImode))
265 : 21230 : return -1;
266 : : return 2;
267 : :
268 : 56713 : case E_DImode:
269 : 56713 : if (!nonimmediate_operand (operands[1], E_DImode)
270 : 56713 : || !x86_64_general_operand (operands[2], E_DImode))
271 : 25893 : return -1;
272 : : return 3;
273 : :
274 : : default:
275 : : return -1;
276 : : }
277 : : }
278 : :
279 : : int
280 : 2501 : pattern54 (rtx x1, machine_mode i1)
281 : : {
282 : 2501 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
283 : 2501 : rtx x2, x3, x4;
284 : 2501 : int res ATTRIBUTE_UNUSED;
285 : 2501 : x2 = XEXP (x1, 1);
286 : 2501 : if (GET_MODE (x2) != E_CCmode)
287 : : return -1;
288 : 2501 : x3 = XEXP (x1, 0);
289 : 2501 : if (GET_CODE (x3) != REG
290 : 2501 : || REGNO (x3) != 17
291 : 5000 : || GET_MODE (x3) != E_CCmode)
292 : : return -1;
293 : 2499 : x4 = XVECEXP (x2, 0, 0);
294 : 2499 : operands[0] = x4;
295 : 2499 : if (!register_operand (operands[0], i1))
296 : : return -1;
297 : : return 0;
298 : : }
299 : :
300 : : int
301 : 567 : pattern58 (rtx x1, int *pnum_clobbers, machine_mode i1)
302 : : {
303 : 567 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
304 : 567 : rtx x2, x3, x4;
305 : 567 : int res ATTRIBUTE_UNUSED;
306 : 567 : if (pnum_clobbers == NULL)
307 : : return -1;
308 : 567 : x2 = XEXP (x1, 1);
309 : 567 : if (GET_MODE (x2) != i1)
310 : : return -1;
311 : 567 : x3 = XEXP (x1, 0);
312 : 567 : operands[0] = x3;
313 : 567 : if (!register_operand (operands[0], i1))
314 : : return -1;
315 : 550 : x4 = XVECEXP (x2, 0, 0);
316 : 550 : operands[1] = x4;
317 : 550 : if (!register_operand (operands[1], i1))
318 : : return -1;
319 : : return 0;
320 : : }
321 : :
322 : : int
323 : 13023 : pattern63 (rtx x1, machine_mode i1)
324 : : {
325 : 13023 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
326 : 13023 : int res ATTRIBUTE_UNUSED;
327 : 13023 : if (!register_operand (operands[0], i1)
328 : 12436 : || GET_MODE (x1) != i1
329 : 12436 : || !register_operand (operands[1], E_V4HImode)
330 : 21510 : || !register_mmxmem_operand (operands[2], E_V4HImode))
331 : 7217 : return -1;
332 : : return 0;
333 : : }
334 : :
335 : : int
336 : 1852 : pattern67 (rtx x1)
337 : : {
338 : 1852 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
339 : 1852 : rtx x2, x3, x4, x5;
340 : 1852 : int res ATTRIBUTE_UNUSED;
341 : 1852 : x2 = XEXP (x1, 0);
342 : 1852 : operands[0] = x2;
343 : 1852 : x3 = XEXP (x1, 1);
344 : 1852 : x4 = XVECEXP (x3, 0, 0);
345 : 1852 : operands[1] = x4;
346 : 1852 : x5 = XVECEXP (x3, 0, 1);
347 : 1852 : operands[2] = x5;
348 : 1852 : return pattern66 (x3); /* [-1, 8] */
349 : : }
350 : :
351 : : int
352 : 75115 : pattern72 (rtx x1, int *pnum_clobbers)
353 : : {
354 : 75115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
355 : 75115 : int res ATTRIBUTE_UNUSED;
356 : 75115 : if (pnum_clobbers == NULL
357 : 75115 : || !nonimmediate_operand (operands[0], E_TImode)
358 : 75023 : || GET_MODE (x1) != E_TImode
359 : 75023 : || !nonimmediate_operand (operands[1], E_TImode)
360 : 139521 : || !x86_64_hilo_general_operand (operands[2], E_TImode))
361 : 28621 : return -1;
362 : : return 0;
363 : : }
364 : :
365 : : int
366 : 11653 : pattern78 (rtx x1)
367 : : {
368 : 11653 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
369 : 11653 : rtx x2, x3, x4;
370 : 11653 : int res ATTRIBUTE_UNUSED;
371 : 11653 : x2 = XEXP (x1, 0);
372 : 11653 : if (GET_MODE (x2) != E_QImode
373 : 6913 : || !register_operand (operands[0], E_HImode)
374 : 12051 : || GET_MODE (x1) != E_HImode)
375 : 11255 : return -1;
376 : 398 : x3 = XEXP (x2, 0);
377 : 398 : operands[1] = x3;
378 : 398 : if (!nonimmediate_operand (operands[1], E_QImode))
379 : : return -1;
380 : 249 : x4 = XEXP (x2, 1);
381 : 249 : operands[2] = x4;
382 : 249 : if (!x86_64_general_operand (operands[2], E_QImode))
383 : : return -1;
384 : : return 0;
385 : : }
386 : :
387 : : int
388 : 40561 : pattern86 (rtx x1, int *pnum_clobbers)
389 : : {
390 : 40561 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
391 : 40561 : rtx x2, x3, x4, x5, x6, x7;
392 : 40561 : int res ATTRIBUTE_UNUSED;
393 : 40561 : if (pnum_clobbers == NULL)
394 : : return -1;
395 : 40561 : x2 = XEXP (x1, 1);
396 : 40561 : x3 = XEXP (x2, 0);
397 : 40561 : if (GET_MODE (x3) != E_TImode)
398 : : return -1;
399 : 14278 : x4 = XEXP (x3, 0);
400 : 14278 : if (GET_CODE (x4) != ASHIFT
401 : 11215 : || GET_MODE (x4) != E_TImode)
402 : : return -1;
403 : 11215 : x5 = XEXP (x4, 0);
404 : 11215 : if (GET_CODE (x5) != ZERO_EXTEND
405 : 11195 : || GET_MODE (x5) != E_TImode)
406 : : return -1;
407 : 11195 : x6 = XEXP (x3, 1);
408 : 11195 : if (GET_CODE (x6) != ZERO_EXTEND
409 : 11044 : || GET_MODE (x6) != E_TImode)
410 : : return -1;
411 : 11044 : x7 = XEXP (x1, 0);
412 : 11044 : operands[0] = x7;
413 : 11044 : return pattern85 (x2,
414 : : E_TImode,
415 : 11044 : E_DImode); /* [-1, 1] */
416 : : }
417 : :
418 : : int
419 : 168 : pattern93 (rtx x1)
420 : : {
421 : 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
422 : 168 : rtx x2, x3, x4, x5;
423 : 168 : int res ATTRIBUTE_UNUSED;
424 : 168 : x2 = XEXP (x1, 1);
425 : 168 : if (GET_MODE (x2) != E_CCZmode)
426 : : return -1;
427 : 168 : x3 = XEXP (x1, 0);
428 : 168 : if (GET_CODE (x3) != REG
429 : 168 : || REGNO (x3) != 17
430 : 336 : || GET_MODE (x3) != E_CCZmode)
431 : : return -1;
432 : 168 : x4 = XVECEXP (x2, 0, 0);
433 : 168 : operands[0] = x4;
434 : 168 : x5 = XVECEXP (x2, 0, 1);
435 : 168 : operands[1] = x5;
436 : 168 : if (!memory_operand (operands[1], E_XImode))
437 : : return -1;
438 : 168 : switch (GET_MODE (operands[0]))
439 : : {
440 : 0 : case E_SImode:
441 : 0 : if (!register_operand (operands[0], E_SImode))
442 : : return -1;
443 : : return 0;
444 : :
445 : 168 : case E_DImode:
446 : 168 : if (!register_operand (operands[0], E_DImode))
447 : : return -1;
448 : : return 1;
449 : :
450 : : default:
451 : : return -1;
452 : : }
453 : : }
454 : :
455 : : int
456 : 1337 : pattern104 (rtx x1, machine_mode i1)
457 : : {
458 : 1337 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
459 : 1337 : rtx x2;
460 : 1337 : int res ATTRIBUTE_UNUSED;
461 : 1337 : if (!nonimmediate_operand (operands[0], i1)
462 : 1337 : || GET_MODE (x1) != i1)
463 : : return -1;
464 : 1337 : x2 = XEXP (x1, 0);
465 : 1337 : if (GET_MODE (x2) != i1
466 : 1337 : || !x86_64_general_operand (operands[1], i1))
467 : 197 : return -1;
468 : : return 0;
469 : : }
470 : :
471 : : int
472 : 50675 : pattern109 (rtx x1)
473 : : {
474 : 50675 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
475 : 50675 : rtx x2, x3, x4;
476 : 50675 : int res ATTRIBUTE_UNUSED;
477 : 50675 : x2 = XEXP (x1, 0);
478 : 50675 : x3 = XEXP (x2, 0);
479 : 50675 : operands[1] = x3;
480 : 50675 : x4 = XEXP (x2, 1);
481 : 50675 : operands[2] = x4;
482 : 50675 : switch (GET_MODE (operands[0]))
483 : : {
484 : 41807 : case E_DImode:
485 : 41807 : if (!register_operand (operands[0], E_DImode)
486 : 41807 : || GET_MODE (x1) != E_DImode)
487 : : return -1;
488 : 41682 : switch (GET_MODE (x2))
489 : : {
490 : 38568 : case E_SImode:
491 : 38568 : if (!nonimmediate_operand (operands[1], E_SImode))
492 : : return -1;
493 : : return 0;
494 : :
495 : 2081 : case E_QImode:
496 : 2081 : if (!nonimmediate_operand (operands[1], E_QImode)
497 : 2081 : || !nonmemory_operand (operands[2], E_QImode))
498 : 40 : return -1;
499 : : return 1;
500 : :
501 : 1033 : case E_HImode:
502 : 1033 : if (!nonimmediate_operand (operands[1], E_HImode)
503 : 1033 : || !nonmemory_operand (operands[2], E_QImode))
504 : 0 : return -1;
505 : : return 2;
506 : :
507 : : default:
508 : : return -1;
509 : : }
510 : :
511 : 8129 : case E_SImode:
512 : 8129 : if (!register_operand (operands[0], E_SImode)
513 : 8129 : || GET_MODE (x1) != E_SImode
514 : 16258 : || !nonmemory_operand (operands[2], E_QImode))
515 : 130 : return -1;
516 : 7999 : switch (GET_MODE (x2))
517 : : {
518 : 6253 : case E_QImode:
519 : 6253 : if (!nonimmediate_operand (operands[1], E_QImode))
520 : : return -1;
521 : : return 3;
522 : :
523 : 1746 : case E_HImode:
524 : 1746 : if (!nonimmediate_operand (operands[1], E_HImode))
525 : : return -1;
526 : : return 4;
527 : :
528 : : default:
529 : : return -1;
530 : : }
531 : :
532 : : default:
533 : : return -1;
534 : : }
535 : : }
536 : :
537 : : int
538 : 9327 : pattern126 (rtx x1, machine_mode i1, machine_mode i2)
539 : : {
540 : 9327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
541 : 9327 : rtx x2;
542 : 9327 : int res ATTRIBUTE_UNUSED;
543 : 9327 : if (!register_operand (operands[0], i1)
544 : 9327 : || GET_MODE (x1) != i1)
545 : : return -1;
546 : 8912 : x2 = XEXP (x1, 0);
547 : 8912 : if (GET_MODE (x2) != i1
548 : 8912 : || !vector_operand (operands[1], i1)
549 : 8814 : || !vector_operand (operands[2], i1)
550 : 8336 : || !nonimm_or_0_operand (operands[3], i1)
551 : 16950 : || !register_operand (operands[4], i2))
552 : 1300 : return -1;
553 : : return 0;
554 : : }
555 : :
556 : : int
557 : 3646 : pattern138 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
558 : : {
559 : 3646 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
560 : 3646 : rtx x2;
561 : 3646 : int res ATTRIBUTE_UNUSED;
562 : 3646 : if (!nonimmediate_operand (operands[0], i1)
563 : 3646 : || GET_MODE (x1) != i1)
564 : : return -1;
565 : 3646 : x2 = XEXP (x1, 0);
566 : 3646 : if (GET_MODE (x2) != i1
567 : 3646 : || !register_operand (operands[1], i3)
568 : 3645 : || !nonimm_or_0_operand (operands[2], i1)
569 : 7279 : || !register_operand (operands[3], i2))
570 : 229 : return -1;
571 : : return 0;
572 : : }
573 : :
574 : : int
575 : 6887 : pattern145 (rtx x1, machine_mode i1, machine_mode i2)
576 : : {
577 : 6887 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
578 : 6887 : rtx x2;
579 : 6887 : int res ATTRIBUTE_UNUSED;
580 : 6887 : if (!register_operand (operands[0], i1)
581 : 6887 : || GET_MODE (x1) != i1)
582 : : return -1;
583 : 6604 : x2 = XEXP (x1, 0);
584 : 6604 : if (GET_MODE (x2) != i1
585 : 6604 : || !nonimmediate_operand (operands[1], i1)
586 : 6546 : || !nonimm_or_0_operand (operands[2], i1)
587 : 13018 : || !register_operand (operands[3], i2))
588 : 630 : return -1;
589 : : return 0;
590 : : }
591 : :
592 : : int
593 : 5425 : pattern147 (rtx x1)
594 : : {
595 : 5425 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
596 : 5425 : rtx x2, x3, x4, x5;
597 : 5425 : int res ATTRIBUTE_UNUSED;
598 : 5425 : x2 = XEXP (x1, 0);
599 : 5425 : x3 = XEXP (x2, 0);
600 : 5425 : operands[1] = x3;
601 : 5425 : x4 = XEXP (x1, 1);
602 : 5425 : operands[2] = x4;
603 : 5425 : x5 = XEXP (x1, 2);
604 : 5425 : operands[3] = x5;
605 : 5425 : switch (GET_MODE (operands[0]))
606 : : {
607 : 457 : case E_V16SImode:
608 : 457 : return pattern145 (x1,
609 : : E_V16SImode,
610 : 457 : E_HImode); /* [-1, 0] */
611 : :
612 : 446 : case E_V8SImode:
613 : 446 : if (pattern145 (x1,
614 : : E_V8SImode,
615 : : E_QImode) != 0)
616 : : return -1;
617 : : return 1;
618 : :
619 : 398 : case E_V4SImode:
620 : 398 : if (pattern145 (x1,
621 : : E_V4SImode,
622 : : E_QImode) != 0)
623 : : return -1;
624 : : return 2;
625 : :
626 : 534 : case E_V8DImode:
627 : 534 : if (pattern145 (x1,
628 : : E_V8DImode,
629 : : E_QImode) != 0)
630 : : return -1;
631 : : return 3;
632 : :
633 : 493 : case E_V4DImode:
634 : 493 : if (pattern145 (x1,
635 : : E_V4DImode,
636 : : E_QImode) != 0)
637 : : return -1;
638 : : return 4;
639 : :
640 : 413 : case E_V2DImode:
641 : 413 : if (pattern145 (x1,
642 : : E_V2DImode,
643 : : E_QImode) != 0)
644 : : return -1;
645 : : return 5;
646 : :
647 : 481 : case E_V64QImode:
648 : 481 : if (pattern145 (x1,
649 : : E_V64QImode,
650 : : E_DImode) != 0)
651 : : return -1;
652 : : return 6;
653 : :
654 : 393 : case E_V16QImode:
655 : 393 : if (pattern145 (x1,
656 : : E_V16QImode,
657 : : E_HImode) != 0)
658 : : return -1;
659 : : return 7;
660 : :
661 : 492 : case E_V32QImode:
662 : 492 : if (pattern145 (x1,
663 : : E_V32QImode,
664 : : E_SImode) != 0)
665 : : return -1;
666 : : return 8;
667 : :
668 : 449 : case E_V32HImode:
669 : 449 : if (pattern145 (x1,
670 : : E_V32HImode,
671 : : E_SImode) != 0)
672 : : return -1;
673 : : return 9;
674 : :
675 : 500 : case E_V16HImode:
676 : 500 : if (pattern146 (x1,
677 : : E_V16HImode) != 0)
678 : : return -1;
679 : : return 10;
680 : :
681 : 369 : case E_V8HImode:
682 : 369 : if (pattern145 (x1,
683 : : E_V8HImode,
684 : : E_QImode) != 0)
685 : : return -1;
686 : : return 11;
687 : :
688 : : default:
689 : : return -1;
690 : : }
691 : : }
692 : :
693 : : int
694 : 564 : pattern161 (rtx x1)
695 : : {
696 : 564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
697 : 564 : rtx x2, x3, x4, x5;
698 : 564 : int res ATTRIBUTE_UNUSED;
699 : 564 : x2 = XEXP (x1, 0);
700 : 564 : operands[0] = x2;
701 : 564 : x3 = XEXP (x1, 1);
702 : 564 : x4 = XVECEXP (x3, 0, 0);
703 : 564 : operands[1] = x4;
704 : 564 : x5 = XVECEXP (x3, 0, 1);
705 : 564 : operands[2] = x5;
706 : 564 : switch (GET_MODE (operands[0]))
707 : : {
708 : 308 : case E_V32QImode:
709 : 308 : return pattern151 (x3,
710 : 308 : E_V32QImode); /* [-1, 0] */
711 : :
712 : 0 : case E_V16QImode:
713 : 0 : if (pattern151 (x3,
714 : : E_V16QImode) != 0)
715 : : return -1;
716 : : return 1;
717 : :
718 : 256 : case E_V64QImode:
719 : 256 : if (pattern151 (x3,
720 : : E_V64QImode) != 0)
721 : : return -1;
722 : : return 2;
723 : :
724 : : default:
725 : : return -1;
726 : : }
727 : : }
728 : :
729 : : int
730 : 199 : pattern170 (rtx x1)
731 : : {
732 : 199 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
733 : 199 : rtx x2, x3;
734 : 199 : int res ATTRIBUTE_UNUSED;
735 : 199 : x2 = XEXP (x1, 1);
736 : 199 : if (GET_MODE (x2) != E_V4SImode)
737 : : return -1;
738 : 199 : x3 = XEXP (x1, 0);
739 : 199 : operands[0] = x3;
740 : 199 : return pattern169 (x2); /* [-1, 0] */
741 : : }
742 : :
743 : : int
744 : 1442 : pattern174 (rtx x1)
745 : : {
746 : 1442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
747 : 1442 : rtx x2, x3, x4, x5, x6;
748 : 1442 : int res ATTRIBUTE_UNUSED;
749 : 1442 : x2 = XEXP (x1, 0);
750 : 1442 : operands[0] = x2;
751 : 1442 : x3 = XEXP (x1, 1);
752 : 1442 : x4 = XVECEXP (x3, 0, 0);
753 : 1442 : operands[1] = x4;
754 : 1442 : x5 = XVECEXP (x3, 0, 1);
755 : 1442 : operands[2] = x5;
756 : 1442 : x6 = XVECEXP (x3, 0, 2);
757 : 1442 : operands[3] = x6;
758 : 1442 : if (!const_0_to_255_operand (operands[3], E_SImode))
759 : : return -1;
760 : 1442 : switch (GET_MODE (operands[0]))
761 : : {
762 : 150 : case E_V32HImode:
763 : 150 : return pattern60 (x3,
764 : 150 : E_V32HImode); /* [-1, 0] */
765 : :
766 : 168 : case E_V16SImode:
767 : 168 : if (pattern60 (x3,
768 : : E_V16SImode) != 0)
769 : : return -1;
770 : : return 1;
771 : :
772 : 183 : case E_V8DImode:
773 : 183 : if (pattern60 (x3,
774 : : E_V8DImode) != 0)
775 : : return -1;
776 : : return 2;
777 : :
778 : 144 : case E_V16HImode:
779 : 144 : if (pattern60 (x3,
780 : : E_V16HImode) != 0)
781 : : return -1;
782 : : return 3;
783 : :
784 : 162 : case E_V8SImode:
785 : 162 : if (pattern60 (x3,
786 : : E_V8SImode) != 0)
787 : : return -1;
788 : : return 4;
789 : :
790 : 172 : case E_V4DImode:
791 : 172 : if (pattern60 (x3,
792 : : E_V4DImode) != 0)
793 : : return -1;
794 : : return 5;
795 : :
796 : 141 : case E_V8HImode:
797 : 141 : if (pattern60 (x3,
798 : : E_V8HImode) != 0)
799 : : return -1;
800 : : return 6;
801 : :
802 : 156 : case E_V4SImode:
803 : 156 : if (pattern60 (x3,
804 : : E_V4SImode) != 0)
805 : : return -1;
806 : : return 7;
807 : :
808 : 166 : case E_V2DImode:
809 : 166 : if (pattern60 (x3,
810 : : E_V2DImode) != 0)
811 : : return -1;
812 : : return 8;
813 : :
814 : : default:
815 : : return -1;
816 : : }
817 : : }
818 : :
819 : : int
820 : 225049 : pattern189 (rtx x1)
821 : : {
822 : 225049 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
823 : 225049 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
824 : 225049 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
825 : 225049 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
826 : 225049 : rtx x26, x27;
827 : 225049 : int res ATTRIBUTE_UNUSED;
828 : 225049 : x2 = XEXP (x1, 0);
829 : 225049 : x3 = XEXP (x2, 0);
830 : 225049 : if (GET_CODE (x3) != VEC_CONCAT)
831 : : return -1;
832 : 70619 : x4 = XEXP (x2, 1);
833 : 70619 : if (GET_CODE (x4) != PARALLEL)
834 : : return -1;
835 : 70619 : x5 = XEXP (x1, 1);
836 : 70619 : if (GET_CODE (x5) != VEC_SELECT)
837 : : return -1;
838 : 1790 : x6 = XEXP (x5, 0);
839 : 1790 : if (GET_CODE (x6) != VEC_CONCAT)
840 : : return -1;
841 : 1782 : x7 = XEXP (x5, 1);
842 : 1782 : if (GET_CODE (x7) != PARALLEL)
843 : : return -1;
844 : 1782 : x8 = XEXP (x3, 0);
845 : 1782 : operands[1] = x8;
846 : 1782 : x9 = XEXP (x3, 1);
847 : 1782 : operands[2] = x9;
848 : 1782 : x10 = XEXP (x6, 0);
849 : 1782 : if (!rtx_equal_p (x10, operands[1]))
850 : : return -1;
851 : 1518 : x11 = XEXP (x6, 1);
852 : 1518 : if (!rtx_equal_p (x11, operands[2]))
853 : : return -1;
854 : 1513 : switch (XVECLEN (x4, 0))
855 : : {
856 : 189 : case 16:
857 : 189 : return pattern187 (x1); /* [-1, 0] */
858 : :
859 : 512 : case 8:
860 : 512 : x12 = XVECEXP (x4, 0, 0);
861 : 512 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
862 : : return -1;
863 : 512 : x13 = XVECEXP (x4, 0, 1);
864 : 512 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
865 : : return -1;
866 : 512 : x14 = XVECEXP (x4, 0, 2);
867 : 512 : if (GET_CODE (x14) != CONST_INT)
868 : : return -1;
869 : 512 : x15 = XVECEXP (x4, 0, 3);
870 : 512 : if (GET_CODE (x15) != CONST_INT)
871 : : return -1;
872 : 512 : x16 = XVECEXP (x4, 0, 4);
873 : 512 : if (GET_CODE (x16) != CONST_INT)
874 : : return -1;
875 : 512 : x17 = XVECEXP (x4, 0, 5);
876 : 512 : if (GET_CODE (x17) != CONST_INT)
877 : : return -1;
878 : 512 : x18 = XVECEXP (x4, 0, 6);
879 : 512 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
880 : : return -1;
881 : 512 : x19 = XVECEXP (x4, 0, 7);
882 : 512 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
883 : 512 : || XVECLEN (x7, 0) != 8)
884 : : return -1;
885 : 512 : x20 = XVECEXP (x7, 0, 0);
886 : 512 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
887 : : return -1;
888 : 512 : x21 = XVECEXP (x7, 0, 1);
889 : 512 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
890 : : return -1;
891 : 512 : x22 = XVECEXP (x7, 0, 2);
892 : 512 : if (GET_CODE (x22) != CONST_INT)
893 : : return -1;
894 : 512 : x23 = XVECEXP (x7, 0, 3);
895 : 512 : if (GET_CODE (x23) != CONST_INT)
896 : : return -1;
897 : 512 : x24 = XVECEXP (x7, 0, 4);
898 : 512 : if (GET_CODE (x24) != CONST_INT)
899 : : return -1;
900 : 512 : x25 = XVECEXP (x7, 0, 5);
901 : 512 : if (GET_CODE (x25) != CONST_INT)
902 : : return -1;
903 : 512 : x26 = XVECEXP (x7, 0, 6);
904 : 512 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
905 : : return -1;
906 : 512 : x27 = XVECEXP (x7, 0, 7);
907 : 512 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
908 : : return -1;
909 : 512 : switch (XWINT (x14, 0))
910 : : {
911 : 314 : case 4L:
912 : 314 : if (XWINT (x15, 0) != 6L
913 : 314 : || XWINT (x16, 0) != 8L
914 : 314 : || XWINT (x17, 0) != 10L
915 : 314 : || XWINT (x22, 0) != 5L
916 : 314 : || XWINT (x23, 0) != 7L
917 : 314 : || XWINT (x24, 0) != 9L
918 : 314 : || XWINT (x25, 0) != 11L
919 : 628 : || pattern188 (x1,
920 : : E_V16HImode,
921 : : E_V8HImode) != 0)
922 : 58 : return -1;
923 : : return 1;
924 : :
925 : 198 : case 8L:
926 : 198 : if (XWINT (x15, 0) != 10L
927 : 198 : || XWINT (x16, 0) != 4L
928 : 198 : || XWINT (x17, 0) != 6L
929 : 198 : || XWINT (x22, 0) != 9L
930 : 198 : || XWINT (x23, 0) != 11L
931 : 198 : || XWINT (x24, 0) != 5L
932 : 198 : || XWINT (x25, 0) != 7L
933 : 396 : || pattern186 (x1,
934 : : E_V16SImode,
935 : : E_V8SImode) != 0)
936 : 11 : return -1;
937 : : return 2;
938 : :
939 : : default:
940 : : return -1;
941 : : }
942 : :
943 : 741 : case 4:
944 : 741 : x12 = XVECEXP (x4, 0, 0);
945 : 741 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
946 : : return -1;
947 : 251 : x13 = XVECEXP (x4, 0, 1);
948 : 251 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
949 : : return -1;
950 : 251 : x14 = XVECEXP (x4, 0, 2);
951 : 251 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
952 : : return -1;
953 : 251 : x15 = XVECEXP (x4, 0, 3);
954 : 251 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
955 : 251 : || XVECLEN (x7, 0) != 4)
956 : : return -1;
957 : 251 : x20 = XVECEXP (x7, 0, 0);
958 : 251 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
959 : : return -1;
960 : 251 : x21 = XVECEXP (x7, 0, 1);
961 : 251 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
962 : : return -1;
963 : 251 : x22 = XVECEXP (x7, 0, 2);
964 : 251 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
965 : : return -1;
966 : 251 : x23 = XVECEXP (x7, 0, 3);
967 : 251 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
968 : 251 : || pattern188 (x1,
969 : : E_V8SImode,
970 : : E_V4SImode) != 0)
971 : 25 : return -1;
972 : : return 3;
973 : :
974 : : default:
975 : : return -1;
976 : : }
977 : : }
978 : :
979 : : int
980 : 656 : pattern218 (rtx x1, machine_mode i1)
981 : : {
982 : 656 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
983 : 656 : int res ATTRIBUTE_UNUSED;
984 : 656 : if (!register_operand (operands[0], i1)
985 : 656 : || GET_MODE (x1) != i1
986 : 656 : || !nonimmediate_operand (operands[1], i1)
987 : 1312 : || !register_operand (operands[2], i1))
988 : 0 : return -1;
989 : : return 0;
990 : : }
991 : :
992 : : int
993 : 340150 : pattern224 (rtx x1)
994 : : {
995 : 340150 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
996 : 340150 : rtx x2, x3;
997 : 340150 : int res ATTRIBUTE_UNUSED;
998 : 340150 : x2 = XEXP (x1, 0);
999 : 340150 : operands[1] = x2;
1000 : 340150 : x3 = XEXP (x1, 1);
1001 : 340150 : operands[2] = x3;
1002 : 340150 : if (!register_operand (operands[2], E_QImode))
1003 : : return -1;
1004 : 1775 : return pattern125 (x1); /* [-1, 1] */
1005 : : }
1006 : :
1007 : : int
1008 : 87 : pattern230 (rtx x1, machine_mode i1)
1009 : : {
1010 : 87 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1011 : 87 : int res ATTRIBUTE_UNUSED;
1012 : 87 : if (!register_operand (operands[0], i1)
1013 : 87 : || GET_MODE (x1) != i1
1014 : 87 : || !nonimmediate_operand (operands[1], i1)
1015 : 90 : || !const_vector_duplicate_operand (operands[2], i1))
1016 : 84 : return -1;
1017 : : return 0;
1018 : : }
1019 : :
1020 : : int
1021 : 358478 : pattern236 (rtx x1)
1022 : : {
1023 : 358478 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1024 : 358478 : int res ATTRIBUTE_UNUSED;
1025 : 358478 : switch (GET_MODE (operands[0]))
1026 : : {
1027 : 225163 : case E_DImode:
1028 : 225163 : if (!register_operand (operands[0], E_DImode)
1029 : 224626 : || GET_MODE (x1) != E_DImode
1030 : 449789 : || !register_operand (operands[1], E_DImode))
1031 : 2192 : return -1;
1032 : : return 0;
1033 : :
1034 : 6097 : case E_TImode:
1035 : 6097 : if (!register_operand (operands[0], E_TImode)
1036 : 6096 : || GET_MODE (x1) != E_TImode
1037 : 12193 : || !register_operand (operands[1], E_TImode))
1038 : 31 : return -1;
1039 : : return 1;
1040 : :
1041 : : default:
1042 : : return -1;
1043 : : }
1044 : : }
1045 : :
1046 : : int
1047 : 138 : pattern243 (rtx x1)
1048 : : {
1049 : 138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1050 : 138 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1051 : 138 : rtx x10;
1052 : 138 : int res ATTRIBUTE_UNUSED;
1053 : 138 : x2 = XEXP (x1, 0);
1054 : 138 : if (GET_CODE (x2) != ZERO_EXTRACT)
1055 : : return -1;
1056 : 138 : x3 = XEXP (x2, 1);
1057 : 138 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1058 : : return -1;
1059 : 138 : x4 = XEXP (x2, 2);
1060 : 138 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1061 : : return -1;
1062 : 138 : x5 = XEXP (x2, 0);
1063 : 138 : operands[0] = x5;
1064 : 138 : if (!int248_register_operand (operands[0], E_VOIDmode))
1065 : : return -1;
1066 : 138 : x6 = XEXP (x1, 1);
1067 : 138 : x7 = XEXP (x6, 0);
1068 : 138 : x8 = XEXP (x7, 0);
1069 : 138 : x9 = XEXP (x8, 0);
1070 : 138 : x10 = XEXP (x9, 0);
1071 : 138 : operands[1] = x10;
1072 : 138 : if (!int248_register_operand (operands[1], E_VOIDmode))
1073 : : return -1;
1074 : : return 0;
1075 : : }
1076 : :
1077 : : int
1078 : 21633 : pattern259 (rtx x1, machine_mode i1, machine_mode i2)
1079 : : {
1080 : 21633 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1081 : 21633 : rtx x2;
1082 : 21633 : int res ATTRIBUTE_UNUSED;
1083 : 21633 : if (!register_operand (operands[0], i1)
1084 : 21633 : || GET_MODE (x1) != i1)
1085 : : return -1;
1086 : 20418 : x2 = XEXP (x1, 0);
1087 : 20418 : if (GET_MODE (x2) != i2
1088 : 20418 : || !register_operand (operands[1], i1)
1089 : 39529 : || !register_operand (operands[2], i1))
1090 : 2667 : return -1;
1091 : : return 0;
1092 : : }
1093 : :
1094 : : int
1095 : 236339 : pattern265 (rtx x1, int *pnum_clobbers, machine_mode i1, machine_mode i2)
1096 : : {
1097 : 236339 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1098 : 236339 : rtx x2, x3, x4;
1099 : 236339 : int res ATTRIBUTE_UNUSED;
1100 : 236339 : if (!nonimmediate_operand (operands[0], i1)
1101 : 236339 : || GET_MODE (x1) != i1)
1102 : : return -1;
1103 : 236290 : x2 = XEXP (x1, 0);
1104 : 236290 : x3 = XEXP (x2, 0);
1105 : 236290 : if (!nonimmediate_operand (x3, i2))
1106 : : return -1;
1107 : 201718 : x4 = XEXP (x1, 1);
1108 : 201718 : switch (GET_CODE (x4))
1109 : : {
1110 : 172199 : case REG:
1111 : 172199 : case SUBREG:
1112 : 172199 : case MEM:
1113 : 172199 : if (pnum_clobbers == NULL)
1114 : : return -1;
1115 : 172199 : operands[1] = x4;
1116 : 172199 : if (!nonimmediate_operand (operands[1], i1))
1117 : : return -1;
1118 : 172172 : operands[2] = x3;
1119 : 172172 : return 0;
1120 : :
1121 : 0 : case ASHIFT:
1122 : 0 : if (GET_MODE (x4) != i1)
1123 : : return -1;
1124 : 0 : operands[1] = x3;
1125 : 0 : res = pattern36 (x4,
1126 : : i1,
1127 : : i2);
1128 : 0 : if (res >= 0)
1129 : 0 : return res + 1; /* [1, 3] */
1130 : : return -1;
1131 : :
1132 : 17994 : case CONST_INT:
1133 : 17994 : case CONST_WIDE_INT:
1134 : 17994 : operands[2] = x4;
1135 : 17994 : if (!const_scalar_int_operand (operands[2], i1))
1136 : : return -1;
1137 : 17994 : operands[1] = x3;
1138 : 17994 : return 4;
1139 : :
1140 : : default:
1141 : : return -1;
1142 : : }
1143 : : }
1144 : :
1145 : : int
1146 : 116570 : pattern282 (rtx x1)
1147 : : {
1148 : 116570 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1149 : 116570 : rtx x2, x3, x4;
1150 : 116570 : int res ATTRIBUTE_UNUSED;
1151 : 116570 : x2 = XEXP (x1, 0);
1152 : 116570 : x3 = XEXP (x2, 0);
1153 : 116570 : operands[1] = x3;
1154 : 116570 : x4 = XEXP (x2, 1);
1155 : 116570 : operands[2] = x4;
1156 : 116570 : if (!const_int_operand (operands[2], E_QImode))
1157 : : return -1;
1158 : 114179 : switch (GET_MODE (operands[0]))
1159 : : {
1160 : 33328 : case E_SImode:
1161 : 33328 : return pattern281 (x1,
1162 : : E_DImode,
1163 : 33328 : E_SImode); /* [-1, 0] */
1164 : :
1165 : 989 : case E_DImode:
1166 : 989 : if (pattern281 (x1,
1167 : : E_TImode,
1168 : : E_DImode) != 0)
1169 : : return -1;
1170 : : return 1;
1171 : :
1172 : : default:
1173 : : return -1;
1174 : : }
1175 : : }
1176 : :
1177 : : int
1178 : 573 : pattern289 (rtx x1)
1179 : : {
1180 : 573 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1181 : 573 : rtx x2, x3;
1182 : 573 : int res ATTRIBUTE_UNUSED;
1183 : 573 : x2 = XVECEXP (x1, 0, 0);
1184 : 573 : operands[1] = x2;
1185 : 573 : x3 = XVECEXP (x1, 0, 1);
1186 : 573 : operands[2] = x3;
1187 : 573 : return pattern288 (x1); /* [-1, 2] */
1188 : : }
1189 : :
1190 : : int
1191 : 1194 : pattern294 (rtx x1)
1192 : : {
1193 : 1194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1194 : 1194 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1195 : 1194 : int res ATTRIBUTE_UNUSED;
1196 : 1194 : x2 = XEXP (x1, 2);
1197 : 1194 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1198 : : return -1;
1199 : 1170 : x3 = XEXP (x1, 0);
1200 : 1170 : x4 = XEXP (x3, 0);
1201 : 1170 : x5 = XEXP (x4, 0);
1202 : 1170 : operands[1] = x5;
1203 : 1170 : x6 = XEXP (x4, 1);
1204 : 1170 : operands[2] = x6;
1205 : 1170 : x7 = XEXP (x3, 1);
1206 : 1170 : operands[3] = x7;
1207 : 1170 : x8 = XEXP (x3, 2);
1208 : 1170 : operands[4] = x8;
1209 : 1170 : if (!register_operand (operands[4], E_QImode))
1210 : : return -1;
1211 : 1146 : x9 = XEXP (x1, 1);
1212 : 1146 : if (!rtx_equal_p (x9, operands[1]))
1213 : : return -1;
1214 : 1146 : switch (GET_MODE (operands[0]))
1215 : : {
1216 : 702 : case E_V8HFmode:
1217 : 702 : return pattern293 (x1,
1218 : 702 : E_V8HFmode); /* [-1, 0] */
1219 : :
1220 : 222 : case E_V4SFmode:
1221 : 222 : if (pattern293 (x1,
1222 : : E_V4SFmode) != 0)
1223 : : return -1;
1224 : : return 1;
1225 : :
1226 : 222 : case E_V2DFmode:
1227 : 222 : if (pattern293 (x1,
1228 : : E_V2DFmode) != 0)
1229 : : return -1;
1230 : : return 2;
1231 : :
1232 : : default:
1233 : : return -1;
1234 : : }
1235 : : }
1236 : :
1237 : : int
1238 : 549 : pattern306 (rtx x1, machine_mode i1)
1239 : : {
1240 : 549 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1241 : 549 : int res ATTRIBUTE_UNUSED;
1242 : 549 : if (!register_operand (operands[0], i1)
1243 : 522 : || GET_MODE (x1) != i1
1244 : 522 : || !float_vector_all_ones_operand (operands[1], i1)
1245 : 48 : || !const0_operand (operands[2], i1)
1246 : 48 : || !register_operand (operands[3], i1)
1247 : 597 : || !nonimmediate_operand (operands[4], i1))
1248 : 525 : return -1;
1249 : : return 0;
1250 : : }
1251 : :
1252 : : int
1253 : 384 : pattern312 (rtx x1)
1254 : : {
1255 : 384 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1256 : 384 : rtx x2;
1257 : 384 : int res ATTRIBUTE_UNUSED;
1258 : 384 : x2 = XVECEXP (x1, 0, 0);
1259 : 384 : operands[1] = x2;
1260 : 384 : switch (GET_MODE (operands[0]))
1261 : : {
1262 : 192 : case E_V16QImode:
1263 : 192 : if (!register_operand (operands[0], E_V16QImode)
1264 : 192 : || GET_MODE (x1) != E_V16QImode
1265 : 384 : || !nonimmediate_operand (operands[1], E_V16HFmode))
1266 : 4 : return -1;
1267 : : return 0;
1268 : :
1269 : 192 : case E_V32QImode:
1270 : 192 : if (!register_operand (operands[0], E_V32QImode)
1271 : 192 : || GET_MODE (x1) != E_V32QImode
1272 : 384 : || !nonimmediate_operand (operands[1], E_V32HFmode))
1273 : 4 : return -1;
1274 : : return 1;
1275 : :
1276 : : default:
1277 : : return -1;
1278 : : }
1279 : : }
1280 : :
1281 : : int
1282 : 935 : pattern316 (rtx x1, rtx_code i1)
1283 : : {
1284 : 935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1285 : 935 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1286 : 935 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1287 : 935 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1288 : 935 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
1289 : 935 : rtx x34, x35, x36, x37, x38, x39;
1290 : 935 : int res ATTRIBUTE_UNUSED;
1291 : 935 : x2 = XEXP (x1, 0);
1292 : 935 : x3 = XEXP (x2, 0);
1293 : 935 : x4 = XEXP (x3, 0);
1294 : 935 : if (GET_CODE (x4) != VEC_SELECT)
1295 : : return -1;
1296 : 454 : x5 = XEXP (x4, 1);
1297 : 454 : if (GET_CODE (x5) != PARALLEL
1298 : 454 : || XVECLEN (x5, 0) != 1)
1299 : : return -1;
1300 : 454 : x6 = XVECEXP (x5, 0, 0);
1301 : 454 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1302 : : return -1;
1303 : 454 : x7 = XEXP (x3, 1);
1304 : 454 : if (GET_CODE (x7) != VEC_SELECT)
1305 : : return -1;
1306 : 454 : x8 = XEXP (x7, 1);
1307 : 454 : if (GET_CODE (x8) != PARALLEL
1308 : 454 : || XVECLEN (x8, 0) != 1)
1309 : : return -1;
1310 : 454 : x9 = XVECEXP (x8, 0, 0);
1311 : 454 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1312 : : return -1;
1313 : 454 : x10 = XEXP (x2, 1);
1314 : 454 : if (GET_CODE (x10) != i1)
1315 : : return -1;
1316 : 428 : x11 = XEXP (x10, 0);
1317 : 428 : if (GET_CODE (x11) != VEC_SELECT)
1318 : : return -1;
1319 : 428 : x12 = XEXP (x11, 1);
1320 : 428 : if (GET_CODE (x12) != PARALLEL
1321 : 428 : || XVECLEN (x12, 0) != 1)
1322 : : return -1;
1323 : 428 : x13 = XVECEXP (x12, 0, 0);
1324 : 428 : if (GET_CODE (x13) != CONST_INT)
1325 : : return -1;
1326 : 428 : x14 = XEXP (x10, 1);
1327 : 428 : if (GET_CODE (x14) != VEC_SELECT)
1328 : : return -1;
1329 : 428 : x15 = XEXP (x14, 1);
1330 : 428 : if (GET_CODE (x15) != PARALLEL
1331 : 428 : || XVECLEN (x15, 0) != 1)
1332 : : return -1;
1333 : 428 : x16 = XVECEXP (x15, 0, 0);
1334 : 428 : if (GET_CODE (x16) != CONST_INT)
1335 : : return -1;
1336 : 428 : x17 = XEXP (x1, 1);
1337 : 428 : if (GET_CODE (x17) != VEC_CONCAT)
1338 : : return -1;
1339 : 428 : x18 = XEXP (x17, 0);
1340 : 428 : if (GET_CODE (x18) != i1)
1341 : : return -1;
1342 : 428 : x19 = XEXP (x18, 0);
1343 : 428 : if (GET_CODE (x19) != VEC_SELECT)
1344 : : return -1;
1345 : 428 : x20 = XEXP (x19, 1);
1346 : 428 : if (GET_CODE (x20) != PARALLEL
1347 : 428 : || XVECLEN (x20, 0) != 1)
1348 : : return -1;
1349 : 428 : x21 = XVECEXP (x20, 0, 0);
1350 : 428 : if (GET_CODE (x21) != CONST_INT)
1351 : : return -1;
1352 : 428 : x22 = XEXP (x18, 1);
1353 : 428 : if (GET_CODE (x22) != VEC_SELECT)
1354 : : return -1;
1355 : 428 : x23 = XEXP (x22, 1);
1356 : 428 : if (GET_CODE (x23) != PARALLEL
1357 : 428 : || XVECLEN (x23, 0) != 1)
1358 : : return -1;
1359 : 428 : x24 = XVECEXP (x23, 0, 0);
1360 : 428 : if (GET_CODE (x24) != CONST_INT)
1361 : : return -1;
1362 : 428 : x25 = XEXP (x17, 1);
1363 : 428 : if (GET_CODE (x25) != i1)
1364 : : return -1;
1365 : 428 : x26 = XEXP (x25, 0);
1366 : 428 : if (GET_CODE (x26) != VEC_SELECT)
1367 : : return -1;
1368 : 428 : x27 = XEXP (x26, 1);
1369 : 428 : if (GET_CODE (x27) != PARALLEL
1370 : 428 : || XVECLEN (x27, 0) != 1)
1371 : : return -1;
1372 : 428 : x28 = XVECEXP (x27, 0, 0);
1373 : 428 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1374 : : return -1;
1375 : 428 : x29 = XEXP (x25, 1);
1376 : 428 : if (GET_CODE (x29) != VEC_SELECT)
1377 : : return -1;
1378 : 428 : x30 = XEXP (x29, 1);
1379 : 428 : if (GET_CODE (x30) != PARALLEL
1380 : 428 : || XVECLEN (x30, 0) != 1)
1381 : : return -1;
1382 : 428 : x31 = XVECEXP (x30, 0, 0);
1383 : 428 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1384 : : return -1;
1385 : 428 : x32 = XEXP (x4, 0);
1386 : 428 : operands[1] = x32;
1387 : 428 : x33 = XEXP (x7, 0);
1388 : 428 : if (!rtx_equal_p (x33, operands[1]))
1389 : : return -1;
1390 : 428 : switch (XWINT (x13, 0))
1391 : : {
1392 : 208 : case 0L:
1393 : 208 : if (XWINT (x16, 0) != 1L
1394 : 208 : || XWINT (x21, 0) != 2L
1395 : 208 : || XWINT (x24, 0) != 3L
1396 : 208 : || !register_operand (operands[0], E_V4DFmode)
1397 : 204 : || GET_MODE (x1) != E_V4DFmode
1398 : 204 : || GET_MODE (x2) != E_V2DFmode
1399 : 204 : || GET_MODE (x3) != E_DFmode
1400 : 204 : || GET_MODE (x4) != E_DFmode
1401 : 204 : || !register_operand (operands[1], E_V4DFmode)
1402 : 180 : || GET_MODE (x7) != E_DFmode
1403 : 180 : || GET_MODE (x10) != E_DFmode
1404 : 388 : || GET_MODE (x11) != E_DFmode)
1405 : 28 : return -1;
1406 : 180 : x34 = XEXP (x11, 0);
1407 : 180 : operands[2] = x34;
1408 : 180 : if (!nonimmediate_operand (operands[2], E_V4DFmode)
1409 : 156 : || GET_MODE (x14) != E_DFmode
1410 : 156 : || GET_MODE (x17) != E_V2DFmode
1411 : 156 : || GET_MODE (x18) != E_DFmode
1412 : 156 : || GET_MODE (x19) != E_DFmode
1413 : 156 : || GET_MODE (x22) != E_DFmode
1414 : 156 : || GET_MODE (x25) != E_DFmode
1415 : 156 : || GET_MODE (x26) != E_DFmode
1416 : 336 : || GET_MODE (x29) != E_DFmode)
1417 : : return -1;
1418 : 156 : x35 = XEXP (x14, 0);
1419 : 156 : if (!rtx_equal_p (x35, operands[2]))
1420 : : return -1;
1421 : 156 : x36 = XEXP (x19, 0);
1422 : 156 : if (!rtx_equal_p (x36, operands[1]))
1423 : : return -1;
1424 : 156 : x37 = XEXP (x22, 0);
1425 : 156 : if (!rtx_equal_p (x37, operands[1]))
1426 : : return -1;
1427 : 156 : x38 = XEXP (x26, 0);
1428 : 156 : if (!rtx_equal_p (x38, operands[2]))
1429 : : return -1;
1430 : 156 : x39 = XEXP (x29, 0);
1431 : 156 : if (!rtx_equal_p (x39, operands[2]))
1432 : : return -1;
1433 : : return 0;
1434 : :
1435 : 220 : case 2L:
1436 : 220 : if (XWINT (x16, 0) != 3L
1437 : 220 : || XWINT (x21, 0) != 0L
1438 : 220 : || XWINT (x24, 0) != 1L
1439 : 220 : || !register_operand (operands[0], E_V4SFmode)
1440 : 220 : || GET_MODE (x1) != E_V4SFmode
1441 : 220 : || GET_MODE (x2) != E_V2SFmode
1442 : 220 : || GET_MODE (x3) != E_SFmode
1443 : 220 : || GET_MODE (x4) != E_SFmode
1444 : 220 : || !register_operand (operands[1], E_V4SFmode)
1445 : 198 : || GET_MODE (x7) != E_SFmode
1446 : 198 : || GET_MODE (x10) != E_SFmode
1447 : 198 : || GET_MODE (x11) != E_SFmode
1448 : 198 : || GET_MODE (x14) != E_SFmode
1449 : 198 : || GET_MODE (x17) != E_V2SFmode
1450 : 198 : || GET_MODE (x18) != E_SFmode
1451 : 418 : || GET_MODE (x19) != E_SFmode)
1452 : 22 : return -1;
1453 : 198 : x36 = XEXP (x19, 0);
1454 : 198 : operands[2] = x36;
1455 : 198 : if (!vector_operand (operands[2], E_V4SFmode)
1456 : 198 : || GET_MODE (x22) != E_SFmode
1457 : 198 : || GET_MODE (x25) != E_SFmode
1458 : 198 : || GET_MODE (x26) != E_SFmode
1459 : 396 : || GET_MODE (x29) != E_SFmode)
1460 : : return -1;
1461 : 198 : x34 = XEXP (x11, 0);
1462 : 198 : if (!rtx_equal_p (x34, operands[1]))
1463 : : return -1;
1464 : 198 : x35 = XEXP (x14, 0);
1465 : 198 : if (!rtx_equal_p (x35, operands[1]))
1466 : : return -1;
1467 : 198 : x37 = XEXP (x22, 0);
1468 : 198 : if (!rtx_equal_p (x37, operands[2]))
1469 : : return -1;
1470 : 198 : x38 = XEXP (x26, 0);
1471 : 198 : if (!rtx_equal_p (x38, operands[2]))
1472 : : return -1;
1473 : 198 : x39 = XEXP (x29, 0);
1474 : 198 : if (!rtx_equal_p (x39, operands[2]))
1475 : : return -1;
1476 : : return 1;
1477 : :
1478 : : default:
1479 : : return -1;
1480 : : }
1481 : : }
1482 : :
1483 : : int
1484 : 303109 : pattern364 (rtx x1)
1485 : : {
1486 : 303109 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1487 : 303109 : rtx x2;
1488 : 303109 : int res ATTRIBUTE_UNUSED;
1489 : 303109 : if (GET_CODE (x1) != CLOBBER)
1490 : : return -1;
1491 : 291540 : x2 = XEXP (x1, 0);
1492 : 291540 : if (GET_CODE (x2) != REG
1493 : 291540 : || REGNO (x2) != 17
1494 : 583080 : || GET_MODE (x2) != E_CCmode)
1495 : 0 : return -1;
1496 : : return 0;
1497 : : }
1498 : :
1499 : : int
1500 : 529832 : pattern367 (rtx x1)
1501 : : {
1502 : 529832 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1503 : 529832 : rtx x2, x3, x4, x5, x6, x7, x8;
1504 : 529832 : int res ATTRIBUTE_UNUSED;
1505 : 529832 : x2 = XVECEXP (x1, 0, 0);
1506 : 529832 : x3 = XEXP (x2, 1);
1507 : 529832 : x4 = XEXP (x3, 0);
1508 : 529832 : operands[1] = x4;
1509 : 529832 : x5 = XEXP (x2, 0);
1510 : 529832 : switch (GET_CODE (x5))
1511 : : {
1512 : 529823 : case REG:
1513 : 529823 : case SUBREG:
1514 : 529823 : case MEM:
1515 : 529823 : operands[0] = x5;
1516 : 529823 : x6 = XVECEXP (x1, 0, 1);
1517 : 529823 : switch (GET_CODE (x6))
1518 : : {
1519 : : case CLOBBER:
1520 : : return 0;
1521 : :
1522 : 41436 : case USE:
1523 : 41436 : return 1;
1524 : :
1525 : : default:
1526 : : return -1;
1527 : : }
1528 : :
1529 : 9 : case STRICT_LOW_PART:
1530 : 9 : x6 = XVECEXP (x1, 0, 1);
1531 : 9 : if (GET_CODE (x6) != CLOBBER)
1532 : : return -1;
1533 : 9 : x7 = XEXP (x6, 0);
1534 : 9 : if (GET_CODE (x7) != REG
1535 : 9 : || REGNO (x7) != 17
1536 : 18 : || GET_MODE (x7) != E_CCmode)
1537 : : return -1;
1538 : 9 : x8 = XEXP (x5, 0);
1539 : 9 : operands[0] = x8;
1540 : 9 : res = pattern366 (x3);
1541 : 9 : if (res >= 0)
1542 : 9 : return res + 2; /* [2, 3] */
1543 : : return -1;
1544 : :
1545 : : default:
1546 : : return -1;
1547 : : }
1548 : : }
1549 : :
1550 : : int
1551 : 82293 : pattern383 (rtx x1)
1552 : : {
1553 : 82293 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1554 : 82293 : rtx x2, x3;
1555 : 82293 : int res ATTRIBUTE_UNUSED;
1556 : 82293 : x2 = XVECEXP (x1, 0, 2);
1557 : 82293 : x3 = XEXP (x2, 0);
1558 : 82293 : operands[4] = x3;
1559 : 82293 : switch (GET_MODE (operands[0]))
1560 : : {
1561 : 814 : case E_HImode:
1562 : 814 : return pattern382 (x1,
1563 : 814 : E_HImode); /* [-1, 0] */
1564 : :
1565 : 26719 : case E_SImode:
1566 : 26719 : if (pattern382 (x1,
1567 : : E_SImode) != 0)
1568 : : return -1;
1569 : : return 1;
1570 : :
1571 : 54760 : case E_DImode:
1572 : 54760 : if (pattern382 (x1,
1573 : : E_DImode) != 0)
1574 : : return -1;
1575 : : return 2;
1576 : :
1577 : : default:
1578 : : return -1;
1579 : : }
1580 : : }
1581 : :
1582 : : int
1583 : 0 : pattern390 (rtx x1, machine_mode i1, machine_mode i2)
1584 : : {
1585 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1586 : 0 : rtx x2, x3;
1587 : 0 : int res ATTRIBUTE_UNUSED;
1588 : 0 : if (!nonimmediate_operand (operands[0], i1)
1589 : 0 : || GET_MODE (x1) != i1)
1590 : : return -1;
1591 : 0 : x2 = XEXP (x1, 0);
1592 : 0 : if (GET_MODE (x2) != i1
1593 : 0 : || !nonimmediate_operand (operands[1], i2))
1594 : 0 : return -1;
1595 : 0 : x3 = XEXP (x1, 1);
1596 : 0 : if (GET_MODE (x3) != i1
1597 : 0 : || !register_operand (operands[2], i1))
1598 : 0 : return -1;
1599 : : return 0;
1600 : : }
1601 : :
1602 : : int
1603 : 78376 : pattern397 (rtx x1)
1604 : : {
1605 : 78376 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1606 : 78376 : int res ATTRIBUTE_UNUSED;
1607 : 78376 : switch (GET_MODE (operands[0]))
1608 : : {
1609 : 34563 : case E_SImode:
1610 : 34563 : if (!register_operand (operands[0], E_SImode)
1611 : 34537 : || GET_MODE (x1) != E_SImode
1612 : 69100 : || !nonimmediate_operand (operands[1], E_SImode))
1613 : 7881 : return -1;
1614 : : return 0;
1615 : :
1616 : 27364 : case E_DImode:
1617 : 27364 : if (!register_operand (operands[0], E_DImode)
1618 : 27141 : || GET_MODE (x1) != E_DImode
1619 : 54505 : || !nonimmediate_operand (operands[1], E_DImode))
1620 : 5270 : return -1;
1621 : : return 1;
1622 : :
1623 : : default:
1624 : : return -1;
1625 : : }
1626 : : }
1627 : :
1628 : : int
1629 : 8689019 : pattern404 (rtx x1, machine_mode i1)
1630 : : {
1631 : 8689019 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1632 : 8689019 : rtx x2, x3, x4, x5, x6, x7, x8;
1633 : 8689019 : int res ATTRIBUTE_UNUSED;
1634 : 8689019 : if (!general_reg_operand (operands[0], i1)
1635 : 3790603 : || GET_CODE (x1) != PARALLEL
1636 : 9376184 : || XVECLEN (x1, 0) != 2)
1637 : : return -1;
1638 : 660656 : x2 = XVECEXP (x1, 0, 0);
1639 : 660656 : if (GET_CODE (x2) != SET)
1640 : : return -1;
1641 : 657147 : x3 = XEXP (x2, 1);
1642 : 657147 : if (!commutative_operator (x3, i1))
1643 : : return -1;
1644 : 216887 : operands[3] = x3;
1645 : 216887 : x4 = XVECEXP (x1, 0, 1);
1646 : 216887 : if (GET_CODE (x4) != CLOBBER)
1647 : : return -1;
1648 : 216873 : x5 = XEXP (x4, 0);
1649 : 216873 : if (GET_CODE (x5) != REG
1650 : 216873 : || REGNO (x5) != 17
1651 : 433746 : || GET_MODE (x5) != E_CCmode)
1652 : : return -1;
1653 : 216873 : x6 = XEXP (x3, 1);
1654 : 216873 : operands[2] = x6;
1655 : 216873 : if (!memory_operand (operands[2], i1))
1656 : : return -1;
1657 : 40761 : x7 = XEXP (x3, 0);
1658 : 40761 : if (!rtx_equal_p (x7, operands[0]))
1659 : : return -1;
1660 : 39634 : x8 = XEXP (x2, 0);
1661 : 39634 : if (!rtx_equal_p (x8, operands[0]))
1662 : : return -1;
1663 : : return 0;
1664 : : }
1665 : :
1666 : : int
1667 : 533873 : pattern415 (rtx x1, machine_mode i1)
1668 : : {
1669 : 533873 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1670 : 533873 : int res ATTRIBUTE_UNUSED;
1671 : 533873 : if (GET_MODE (x1) != i1)
1672 : : return -1;
1673 : 533873 : switch (GET_MODE (operands[1]))
1674 : : {
1675 : 409483 : case E_SFmode:
1676 : 409483 : if (!nonimmediate_operand (operands[1], E_SFmode))
1677 : : return -1;
1678 : : return 0;
1679 : :
1680 : 124379 : case E_DFmode:
1681 : 124379 : if (!nonimmediate_operand (operands[1], E_DFmode))
1682 : : return -1;
1683 : : return 1;
1684 : :
1685 : : default:
1686 : : return -1;
1687 : : }
1688 : : }
1689 : :
1690 : : int
1691 : 164644 : pattern421 (rtx x1)
1692 : : {
1693 : 164644 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1694 : 164644 : rtx x2, x3, x4, x5;
1695 : 164644 : int res ATTRIBUTE_UNUSED;
1696 : 164644 : x2 = XEXP (x1, 0);
1697 : 164644 : x3 = XEXP (x2, 0);
1698 : 164644 : x4 = XEXP (x3, 0);
1699 : 164644 : operands[1] = x4;
1700 : 164644 : x5 = XEXP (x3, 1);
1701 : 164644 : operands[2] = x5;
1702 : 164644 : if (!const248_operand (operands[2], E_VOIDmode))
1703 : : return -1;
1704 : 22363 : return pattern420 (x1); /* [-1, 1] */
1705 : : }
1706 : :
1707 : : int
1708 : 6994 : pattern431 (rtx x1, rtx_code i1)
1709 : : {
1710 : 6994 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1711 : 6994 : rtx x2, x3, x4, x5, x6;
1712 : 6994 : int res ATTRIBUTE_UNUSED;
1713 : 6994 : x2 = XEXP (x1, 1);
1714 : 6994 : if (maybe_ne (SUBREG_BYTE (x2), 0))
1715 : : return -1;
1716 : 6994 : x3 = XEXP (x2, 0);
1717 : 6994 : if (GET_CODE (x3) != i1)
1718 : : return -1;
1719 : 941 : x4 = XEXP (x3, 0);
1720 : 941 : if (GET_CODE (x4) != ZERO_EXTEND)
1721 : : return -1;
1722 : 849 : switch (GET_MODE (operands[0]))
1723 : : {
1724 : 764 : case E_DImode:
1725 : 764 : if (GET_MODE (x1) != E_DImode)
1726 : : return -1;
1727 : 764 : x5 = XEXP (x1, 0);
1728 : 764 : if (GET_MODE (x5) != E_DImode)
1729 : : return -1;
1730 : 764 : x6 = XEXP (x5, 1);
1731 : 764 : if (!const_0_to_63_operand (x6, E_QImode))
1732 : : return -1;
1733 : : return 0;
1734 : :
1735 : 85 : case E_SImode:
1736 : 85 : if (GET_MODE (x1) != E_SImode)
1737 : : return -1;
1738 : 85 : x5 = XEXP (x1, 0);
1739 : 85 : if (GET_MODE (x5) != E_SImode)
1740 : : return -1;
1741 : 85 : x6 = XEXP (x5, 1);
1742 : 85 : if (!const_0_to_31_operand (x6, E_QImode))
1743 : : return -1;
1744 : : return 1;
1745 : :
1746 : : default:
1747 : : return -1;
1748 : : }
1749 : : }
1750 : :
1751 : : int
1752 : 56 : pattern445 (rtx x1)
1753 : : {
1754 : 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1755 : 56 : rtx x2;
1756 : 56 : int res ATTRIBUTE_UNUSED;
1757 : 56 : if (!register_operand (operands[0], E_SImode)
1758 : 56 : || GET_MODE (x1) != E_SImode)
1759 : : return -1;
1760 : 56 : x2 = XVECEXP (x1, 0, 0);
1761 : 56 : switch (GET_MODE (x2))
1762 : : {
1763 : 28 : case E_V32QImode:
1764 : 28 : if (!vector_operand (operands[1], E_V32QImode)
1765 : 28 : || !vector_operand (operands[2], E_V32QImode)
1766 : 56 : || !const0_operand (operands[3], E_V32QImode))
1767 : 14 : return -1;
1768 : : return 0;
1769 : :
1770 : 28 : case E_V32HImode:
1771 : 28 : if (!vector_operand (operands[1], E_V32HImode)
1772 : 28 : || !vector_operand (operands[2], E_V32HImode)
1773 : 56 : || !const0_operand (operands[3], E_V32HImode))
1774 : 14 : return -1;
1775 : : return 1;
1776 : :
1777 : : default:
1778 : : return -1;
1779 : : }
1780 : : }
1781 : :
1782 : : int
1783 : 424 : pattern453 (rtx x1)
1784 : : {
1785 : 424 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1786 : 424 : rtx x2, x3, x4, x5, x6;
1787 : 424 : int res ATTRIBUTE_UNUSED;
1788 : 424 : x2 = XEXP (x1, 0);
1789 : 424 : if (GET_MODE (x2) != E_V32HImode
1790 : 424 : || !register_operand (operands[0], E_V32HImode)
1791 : 824 : || GET_MODE (x1) != E_V32HImode)
1792 : 24 : return -1;
1793 : 400 : x3 = XVECEXP (x2, 0, 0);
1794 : 400 : operands[1] = x3;
1795 : 400 : if (!nonimmediate_operand (operands[1], E_V32HImode))
1796 : : return -1;
1797 : 400 : x4 = XVECEXP (x2, 0, 1);
1798 : 400 : operands[2] = x4;
1799 : 400 : if (!const_0_to_255_operand (operands[2], E_SImode))
1800 : : return -1;
1801 : 400 : x5 = XEXP (x1, 1);
1802 : 400 : operands[3] = x5;
1803 : 400 : if (!nonimm_or_0_operand (operands[3], E_V32HImode))
1804 : : return -1;
1805 : 384 : x6 = XEXP (x1, 2);
1806 : 384 : operands[4] = x6;
1807 : 384 : if (!register_operand (operands[4], E_SImode))
1808 : : return -1;
1809 : : return 0;
1810 : : }
1811 : :
1812 : : int
1813 : 1836 : pattern465 (rtx x1, machine_mode i1)
1814 : : {
1815 : 1836 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1816 : 1836 : rtx x2, x3, x4, x5, x6, x7;
1817 : 1836 : int res ATTRIBUTE_UNUSED;
1818 : 1836 : x2 = XEXP (x1, 0);
1819 : 1836 : x3 = XVECEXP (x2, 0, 0);
1820 : 1836 : operands[1] = x3;
1821 : 1836 : x4 = XVECEXP (x2, 0, 1);
1822 : 1836 : operands[2] = x4;
1823 : 1836 : x5 = XVECEXP (x2, 0, 2);
1824 : 1836 : operands[3] = x5;
1825 : 1836 : if (!const_0_to_255_operand (operands[3], i1))
1826 : : return -1;
1827 : 1836 : x6 = XEXP (x1, 1);
1828 : 1836 : operands[4] = x6;
1829 : 1836 : x7 = XEXP (x1, 2);
1830 : 1836 : operands[5] = x7;
1831 : 1836 : switch (GET_MODE (operands[0]))
1832 : : {
1833 : 610 : case E_V64QImode:
1834 : 610 : return pattern464 (x1,
1835 : : E_V64QImode,
1836 : 610 : E_DImode); /* [-1, 0] */
1837 : :
1838 : 632 : case E_V32QImode:
1839 : 632 : if (pattern464 (x1,
1840 : : E_V32QImode,
1841 : : E_SImode) != 0)
1842 : : return -1;
1843 : : return 1;
1844 : :
1845 : 594 : case E_V16QImode:
1846 : 594 : if (pattern464 (x1,
1847 : : E_V16QImode,
1848 : : E_HImode) != 0)
1849 : : return -1;
1850 : : return 2;
1851 : :
1852 : : default:
1853 : : return -1;
1854 : : }
1855 : : }
1856 : :
1857 : : int
1858 : 2708 : pattern475 (rtx x1)
1859 : : {
1860 : 2708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1861 : 2708 : rtx x2, x3, x4, x5, x6, x7;
1862 : 2708 : int res ATTRIBUTE_UNUSED;
1863 : 2708 : x2 = XEXP (x1, 0);
1864 : 2708 : x3 = XVECEXP (x2, 0, 0);
1865 : 2708 : operands[1] = x3;
1866 : 2708 : x4 = XVECEXP (x2, 0, 1);
1867 : 2708 : operands[2] = x4;
1868 : 2708 : x5 = XVECEXP (x2, 0, 2);
1869 : 2708 : operands[3] = x5;
1870 : 2708 : x6 = XEXP (x1, 1);
1871 : 2708 : switch (GET_CODE (x6))
1872 : : {
1873 : 1338 : case REG:
1874 : 1338 : case SUBREG:
1875 : 1338 : if (!rtx_equal_p (x6, operands[1]))
1876 : : return -1;
1877 : 1338 : x7 = XEXP (x1, 2);
1878 : 1338 : operands[4] = x7;
1879 : 1338 : switch (GET_MODE (operands[0]))
1880 : : {
1881 : 430 : case E_V16SImode:
1882 : 430 : return pattern471 (x1,
1883 : : E_V16SImode,
1884 : 430 : E_HImode); /* [-1, 0] */
1885 : :
1886 : 458 : case E_V8SImode:
1887 : 458 : if (pattern471 (x1,
1888 : : E_V8SImode,
1889 : : E_QImode) != 0)
1890 : : return -1;
1891 : : return 1;
1892 : :
1893 : 450 : case E_V4SImode:
1894 : 450 : if (pattern471 (x1,
1895 : : E_V4SImode,
1896 : : E_QImode) != 0)
1897 : : return -1;
1898 : : return 2;
1899 : :
1900 : : default:
1901 : : return -1;
1902 : : }
1903 : :
1904 : 1346 : case CONST_INT:
1905 : 1346 : case CONST_DOUBLE:
1906 : 1346 : case CONST_VECTOR:
1907 : 1346 : operands[4] = x6;
1908 : 1346 : x7 = XEXP (x1, 2);
1909 : 1346 : operands[5] = x7;
1910 : 1346 : switch (GET_MODE (operands[0]))
1911 : : {
1912 : 442 : case E_V16SImode:
1913 : 442 : if (pattern473 (x1,
1914 : : E_V16SImode,
1915 : : E_HImode) != 0)
1916 : : return -1;
1917 : : return 3;
1918 : :
1919 : 466 : case E_V8SImode:
1920 : 466 : if (pattern473 (x1,
1921 : : E_V8SImode,
1922 : : E_QImode) != 0)
1923 : : return -1;
1924 : : return 4;
1925 : :
1926 : 438 : case E_V4SImode:
1927 : 438 : if (pattern473 (x1,
1928 : : E_V4SImode,
1929 : : E_QImode) != 0)
1930 : : return -1;
1931 : : return 5;
1932 : :
1933 : : default:
1934 : : return -1;
1935 : : }
1936 : :
1937 : : default:
1938 : : return -1;
1939 : : }
1940 : : }
1941 : :
1942 : : int
1943 : 180 : pattern490 (rtx x1, machine_mode i1)
1944 : : {
1945 : 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1946 : 180 : int res ATTRIBUTE_UNUSED;
1947 : 180 : if (GET_MODE (x1) != E_V2HFmode
1948 : 180 : || !vector_operand (operands[1], i1)
1949 : 180 : || !const0_operand (operands[3], E_V2HFmode)
1950 : 360 : || !const0_operand (operands[4], E_V6HFmode))
1951 : 0 : return -1;
1952 : : return 0;
1953 : : }
1954 : :
1955 : : int
1956 : 432 : pattern493 (rtx x1)
1957 : : {
1958 : 432 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1959 : 432 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1960 : 432 : int res ATTRIBUTE_UNUSED;
1961 : 432 : x2 = XEXP (x1, 1);
1962 : 432 : if (GET_MODE (x2) != E_V2SImode)
1963 : : return -1;
1964 : 432 : switch (GET_CODE (x2))
1965 : : {
1966 : 300 : case VEC_SELECT:
1967 : 300 : x3 = XEXP (x2, 1);
1968 : 300 : if (GET_CODE (x3) != PARALLEL
1969 : 300 : || XVECLEN (x3, 0) != 2)
1970 : : return -1;
1971 : 300 : x4 = XVECEXP (x3, 0, 0);
1972 : 300 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1973 : : return -1;
1974 : 300 : x5 = XVECEXP (x3, 0, 1);
1975 : 300 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1976 : : return -1;
1977 : 300 : x6 = XEXP (x2, 0);
1978 : 300 : operands[2] = x6;
1979 : 300 : if (!nonimm_or_0_operand (operands[2], E_V4SImode))
1980 : : return -1;
1981 : 292 : x7 = XEXP (x1, 2);
1982 : 292 : operands[3] = x7;
1983 : 292 : return 0;
1984 : :
1985 : 128 : case CONST_VECTOR:
1986 : 128 : if (XVECLEN (x2, 0) != 2)
1987 : : return -1;
1988 : 128 : x8 = XVECEXP (x2, 0, 0);
1989 : 128 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1990 : : return -1;
1991 : 120 : x9 = XVECEXP (x2, 0, 1);
1992 : 120 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1993 : : return -1;
1994 : 120 : x7 = XEXP (x1, 2);
1995 : 120 : operands[2] = x7;
1996 : 120 : return 1;
1997 : :
1998 : : default:
1999 : : return -1;
2000 : : }
2001 : : }
2002 : :
2003 : : int
2004 : 7101 : pattern501 (rtx x1, machine_mode i1, int i2)
2005 : : {
2006 : 7101 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2007 : 7101 : rtx x2, x3;
2008 : 7101 : int res ATTRIBUTE_UNUSED;
2009 : 7101 : if (XVECLEN (x1, 0) != i2
2010 : 6983 : || GET_MODE (x1) != i1)
2011 : : return -1;
2012 : 6983 : x2 = XVECEXP (x1, 0, 0);
2013 : 6983 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2014 : : return -1;
2015 : 6981 : x3 = XVECEXP (x1, 0, 1);
2016 : 6981 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2017 : 0 : return -1;
2018 : : return 0;
2019 : : }
2020 : :
2021 : : int
2022 : 571 : pattern506 (rtx x1)
2023 : : {
2024 : 571 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2025 : 571 : int res ATTRIBUTE_UNUSED;
2026 : 571 : if (!register_operand (operands[0], E_V8HFmode)
2027 : 571 : || GET_MODE (x1) != E_V8HFmode)
2028 : : return -1;
2029 : 514 : switch (GET_MODE (operands[1]))
2030 : : {
2031 : 198 : case E_V8HImode:
2032 : 198 : if (!vector_operand (operands[1], E_V8HImode))
2033 : : return -1;
2034 : : return 0;
2035 : :
2036 : 251 : case E_V8SImode:
2037 : 251 : if (!vector_operand (operands[1], E_V8SImode))
2038 : : return -1;
2039 : : return 1;
2040 : :
2041 : 62 : case E_V8DImode:
2042 : 62 : if (!vector_operand (operands[1], E_V8DImode))
2043 : : return -1;
2044 : : return 2;
2045 : :
2046 : : default:
2047 : : return -1;
2048 : : }
2049 : : }
2050 : :
2051 : : int
2052 : 24691 : pattern512 (rtx x1)
2053 : : {
2054 : 24691 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2055 : 24691 : rtx x2, x3, x4, x5, x6, x7, x8;
2056 : 24691 : int res ATTRIBUTE_UNUSED;
2057 : 24691 : x2 = XEXP (x1, 1);
2058 : 24691 : if (XVECLEN (x2, 0) < 1)
2059 : : return -1;
2060 : 24691 : operands[4] = x2;
2061 : 24691 : if (!pmovzx_parallel (operands[4], E_VOIDmode))
2062 : : return -1;
2063 : 85 : x3 = XEXP (x1, 0);
2064 : 85 : x4 = XEXP (x3, 0);
2065 : 85 : x5 = XEXP (x4, 0);
2066 : 85 : operands[1] = x5;
2067 : 85 : x6 = XEXP (x4, 1);
2068 : 85 : operands[2] = x6;
2069 : 85 : x7 = XEXP (x3, 1);
2070 : 85 : operands[3] = x7;
2071 : 85 : x8 = XVECEXP (x2, 0, 0);
2072 : 85 : operands[5] = x8;
2073 : 85 : if (!const_int_operand (operands[5], E_VOIDmode))
2074 : : return -1;
2075 : 85 : switch (GET_MODE (operands[0]))
2076 : : {
2077 : 4 : case E_V16SImode:
2078 : 4 : return pattern511 (x1,
2079 : : E_V16SImode,
2080 : : E_V8SImode,
2081 : 4 : E_V32SImode); /* [-1, 0] */
2082 : :
2083 : 4 : case E_V8SImode:
2084 : 4 : if (pattern511 (x1,
2085 : : E_V8SImode,
2086 : : E_V4SImode,
2087 : : E_V16SImode) != 0)
2088 : : return -1;
2089 : : return 1;
2090 : :
2091 : 61 : case E_V4SImode:
2092 : 61 : if (!register_operand (operands[0], E_V4SImode)
2093 : 61 : || GET_MODE (x1) != E_V4SImode
2094 : 61 : || GET_MODE (x3) != E_V8SImode
2095 : 61 : || GET_MODE (x4) != E_V4SImode
2096 : 61 : || !vector_operand (operands[1], E_V2SImode)
2097 : 61 : || !const0_operand (operands[2], E_V2SImode)
2098 : 65 : || !const0_operand (operands[3], E_V4SImode))
2099 : 57 : return -1;
2100 : : return 2;
2101 : :
2102 : : default:
2103 : : return -1;
2104 : : }
2105 : : }
2106 : :
2107 : : int
2108 : 18233 : pattern526 (rtx x1)
2109 : : {
2110 : 18233 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2111 : 18233 : int res ATTRIBUTE_UNUSED;
2112 : 18233 : switch (GET_MODE (operands[0]))
2113 : : {
2114 : 17830 : case E_V8HImode:
2115 : 17830 : if (!register_operand (operands[0], E_V8HImode)
2116 : 17830 : || GET_MODE (x1) != E_V8HImode)
2117 : : return -1;
2118 : : return 0;
2119 : :
2120 : 239 : case E_V8SImode:
2121 : 239 : if (!register_operand (operands[0], E_V8SImode)
2122 : 239 : || GET_MODE (x1) != E_V8SImode)
2123 : : return -1;
2124 : : return 1;
2125 : :
2126 : 164 : case E_V8DImode:
2127 : 164 : if (!register_operand (operands[0], E_V8DImode)
2128 : 164 : || GET_MODE (x1) != E_V8DImode)
2129 : : return -1;
2130 : : return 2;
2131 : :
2132 : : default:
2133 : : return -1;
2134 : : }
2135 : : }
2136 : :
2137 : : int
2138 : 78465 : pattern528 (rtx x1)
2139 : : {
2140 : 78465 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2141 : 78465 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2142 : 78465 : rtx x10, x11;
2143 : 78465 : int res ATTRIBUTE_UNUSED;
2144 : 78465 : x2 = XEXP (x1, 0);
2145 : 78465 : x3 = XEXP (x2, 1);
2146 : 78465 : switch (XVECLEN (x3, 0))
2147 : : {
2148 : 24437 : case 8:
2149 : 24437 : x4 = XVECEXP (x3, 0, 0);
2150 : 24437 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2151 : : return -1;
2152 : 22958 : x5 = XVECEXP (x3, 0, 1);
2153 : 22958 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2154 : : return -1;
2155 : 22958 : x6 = XVECEXP (x3, 0, 2);
2156 : 22958 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2157 : : return -1;
2158 : 22958 : x7 = XVECEXP (x3, 0, 3);
2159 : 22958 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2160 : : return -1;
2161 : 22958 : x8 = XVECEXP (x3, 0, 4);
2162 : 22958 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2163 : : return -1;
2164 : 22958 : x9 = XVECEXP (x3, 0, 5);
2165 : 22958 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2166 : : return -1;
2167 : 22958 : x10 = XVECEXP (x3, 0, 6);
2168 : 22958 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2169 : : return -1;
2170 : 22958 : x11 = XVECEXP (x3, 0, 7);
2171 : 22958 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2172 : 22958 : || GET_MODE (x2) != E_V8QImode
2173 : 44509 : || !register_operand (operands[1], E_V16QImode))
2174 : 4734 : return -1;
2175 : 18224 : return pattern526 (x1); /* [-1, 2] */
2176 : :
2177 : 12685 : case 4:
2178 : 12685 : x4 = XVECEXP (x3, 0, 0);
2179 : 12685 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2180 : : return -1;
2181 : 11687 : x5 = XVECEXP (x3, 0, 1);
2182 : 11687 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2183 : : return -1;
2184 : 11687 : x6 = XVECEXP (x3, 0, 2);
2185 : 11687 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2186 : : return -1;
2187 : 11687 : x7 = XVECEXP (x3, 0, 3);
2188 : 11687 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2189 : : return -1;
2190 : 11687 : switch (GET_MODE (operands[0]))
2191 : : {
2192 : 9851 : case E_V4SImode:
2193 : 9851 : res = pattern527 (x1,
2194 : : E_V4SImode);
2195 : 9851 : if (res >= 0)
2196 : 6922 : return res + 3; /* [3, 4] */
2197 : : return -1;
2198 : :
2199 : 1454 : case E_V4DImode:
2200 : 1454 : res = pattern527 (x1,
2201 : : E_V4DImode);
2202 : 1454 : if (res >= 0)
2203 : 380 : return res + 5; /* [5, 6] */
2204 : : return -1;
2205 : :
2206 : : default:
2207 : : return -1;
2208 : : }
2209 : :
2210 : 8728 : case 2:
2211 : 8728 : x4 = XVECEXP (x3, 0, 0);
2212 : 8728 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2213 : : return -1;
2214 : 8728 : x5 = XVECEXP (x3, 0, 1);
2215 : 8728 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2216 : 8615 : || !register_operand (operands[0], E_V2DImode)
2217 : 14931 : || GET_MODE (x1) != E_V2DImode)
2218 : 2525 : return -1;
2219 : 6203 : switch (GET_MODE (x2))
2220 : : {
2221 : 260 : case E_V2QImode:
2222 : 260 : if (!register_operand (operands[1], E_V16QImode))
2223 : : return -1;
2224 : : return 7;
2225 : :
2226 : 208 : case E_V2HImode:
2227 : 208 : if (!register_operand (operands[1], E_V8HImode))
2228 : : return -1;
2229 : : return 8;
2230 : :
2231 : 5735 : case E_V2SImode:
2232 : 5735 : if (!register_operand (operands[1], E_V4SImode))
2233 : : return -1;
2234 : : return 9;
2235 : :
2236 : : default:
2237 : : return -1;
2238 : : }
2239 : :
2240 : : default:
2241 : : return -1;
2242 : : }
2243 : : }
2244 : :
2245 : : int
2246 : 2926690 : pattern555 (rtx x1)
2247 : : {
2248 : 2926690 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2249 : 2926690 : rtx x2, x3, x4, x5, x6, x7;
2250 : 2926690 : int res ATTRIBUTE_UNUSED;
2251 : 2926690 : x2 = XVECEXP (x1, 0, 0);
2252 : 2926690 : x3 = XEXP (x2, 1);
2253 : 2926690 : x4 = XEXP (x3, 1);
2254 : 2926690 : operands[2] = x4;
2255 : 2926690 : x5 = XEXP (x2, 0);
2256 : 2926690 : switch (GET_CODE (x5))
2257 : : {
2258 : 2197 : case STRICT_LOW_PART:
2259 : 2197 : return pattern543 (x1); /* [-1, 1] */
2260 : :
2261 : 2924493 : case REG:
2262 : 2924493 : case SUBREG:
2263 : 2924493 : case MEM:
2264 : 2924493 : operands[0] = x5;
2265 : 2924493 : x6 = XVECEXP (x1, 0, 1);
2266 : 2924493 : switch (GET_CODE (x6))
2267 : : {
2268 : 2853961 : case CLOBBER:
2269 : 2853961 : x7 = XEXP (x6, 0);
2270 : 2853961 : if (GET_CODE (x7) != REG
2271 : 2853961 : || REGNO (x7) != 17
2272 : 5707922 : || GET_MODE (x7) != E_CCmode)
2273 : : return -1;
2274 : 2853961 : switch (GET_MODE (operands[0]))
2275 : : {
2276 : 902964 : case E_DImode:
2277 : 902964 : if (!nonimmediate_operand (operands[0], E_DImode)
2278 : 902792 : || GET_MODE (x3) != E_DImode
2279 : 1805756 : || !nonimmediate_operand (operands[1], E_DImode))
2280 : 3536 : return -1;
2281 : : return 2;
2282 : :
2283 : 23093 : case E_TImode:
2284 : 23093 : if (pattern549 (x3,
2285 : : E_TImode) != 0)
2286 : : return -1;
2287 : : return 3;
2288 : :
2289 : 116756 : case E_HImode:
2290 : 116756 : if (pattern550 (x3,
2291 : : E_HImode) != 0)
2292 : : return -1;
2293 : : return 4;
2294 : :
2295 : 1096088 : case E_SImode:
2296 : 1096088 : if (pattern551 (x3) != 0)
2297 : : return -1;
2298 : : return 5;
2299 : :
2300 : 793 : case E_V4QImode:
2301 : 793 : if (pattern552 (x3,
2302 : : E_V4QImode) != 0)
2303 : : return -1;
2304 : : return 6;
2305 : :
2306 : 288 : case E_V2QImode:
2307 : 288 : if (pattern552 (x3,
2308 : : E_V2QImode) != 0)
2309 : : return -1;
2310 : : return 7;
2311 : :
2312 : 396 : case E_V2HImode:
2313 : 396 : if (pattern552 (x3,
2314 : : E_V2HImode) != 0)
2315 : : return -1;
2316 : : return 8;
2317 : :
2318 : : default:
2319 : : return -1;
2320 : : }
2321 : :
2322 : 1997 : case UNSPEC:
2323 : 1997 : res = pattern554 (x1);
2324 : 1997 : if (res >= 0)
2325 : 1986 : return res + 9; /* [9, 12] */
2326 : : return -1;
2327 : :
2328 : : default:
2329 : : return -1;
2330 : : }
2331 : :
2332 : : default:
2333 : : return -1;
2334 : : }
2335 : : }
2336 : :
2337 : : int
2338 : 76 : pattern580 (rtx x1, machine_mode i1, machine_mode i2)
2339 : : {
2340 : 76 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2341 : 76 : rtx x2;
2342 : 76 : int res ATTRIBUTE_UNUSED;
2343 : 76 : if (!register_operand (operands[0], i1)
2344 : 52 : || GET_MODE (x1) != i1
2345 : 128 : || !vector_operand (operands[1], i1))
2346 : 46 : return -1;
2347 : 30 : x2 = XVECEXP (x1, 0, 1);
2348 : 30 : if (GET_MODE (x2) != i1
2349 : 30 : || !bcst_vector_operand (operands[2], i2)
2350 : 42 : || !vector_operand (operands[3], i1))
2351 : 18 : return -1;
2352 : : return 0;
2353 : : }
2354 : :
2355 : : int
2356 : 18 : pattern583 (rtx x1, machine_mode i1, machine_mode i2)
2357 : : {
2358 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2359 : 18 : rtx x2, x3;
2360 : 18 : int res ATTRIBUTE_UNUSED;
2361 : 18 : if (!register_operand (operands[0], i1)
2362 : 18 : || GET_MODE (x1) != i1)
2363 : : return -1;
2364 : 18 : x2 = XEXP (x1, 0);
2365 : 18 : if (GET_MODE (x2) != i1)
2366 : : return -1;
2367 : 18 : x3 = XEXP (x2, 0);
2368 : 18 : if (GET_MODE (x3) != i2
2369 : 18 : || !nonimmediate_operand (operands[1], i2)
2370 : 36 : || !vector_operand (operands[2], i1))
2371 : 0 : return -1;
2372 : : return 0;
2373 : : }
2374 : :
2375 : : int
2376 : 3991 : pattern589 (rtx x1)
2377 : : {
2378 : 3991 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2379 : 3991 : rtx x2, x3, x4, x5, x6, x7;
2380 : 3991 : int res ATTRIBUTE_UNUSED;
2381 : 3991 : x2 = XEXP (x1, 0);
2382 : 3991 : x3 = XEXP (x2, 1);
2383 : 3991 : if (GET_CODE (x3) != PARALLEL
2384 : 3991 : || XVECLEN (x3, 0) != 1)
2385 : : return -1;
2386 : 3991 : x4 = XVECEXP (x3, 0, 0);
2387 : 3991 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2388 : : return -1;
2389 : 3390 : x5 = XEXP (x1, 1);
2390 : 3390 : if (GET_CODE (x5) != VEC_SELECT)
2391 : : return -1;
2392 : 1778 : x6 = XEXP (x5, 1);
2393 : 1778 : if (GET_CODE (x6) != PARALLEL
2394 : 1778 : || XVECLEN (x6, 0) != 1)
2395 : : return -1;
2396 : 1778 : x7 = XVECEXP (x6, 0, 0);
2397 : 1778 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2398 : 28 : return -1;
2399 : : return 0;
2400 : : }
2401 : :
2402 : : int
2403 : 11206 : pattern597 (rtx x1)
2404 : : {
2405 : 11206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2406 : 11206 : rtx x2, x3, x4, x5;
2407 : 11206 : int res ATTRIBUTE_UNUSED;
2408 : 11206 : x2 = XEXP (x1, 0);
2409 : 11206 : x3 = XEXP (x2, 1);
2410 : 11206 : x4 = XVECEXP (x3, 0, 0);
2411 : 11206 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2412 : : return -1;
2413 : 11206 : x5 = XVECEXP (x3, 0, 1);
2414 : 11206 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2415 : : return -1;
2416 : 11093 : switch (GET_MODE (operands[0]))
2417 : : {
2418 : 3267 : case E_V2SImode:
2419 : 3267 : if (!register_operand (operands[0], E_V2SImode)
2420 : 3267 : || GET_MODE (x1) != E_V2SImode)
2421 : : return -1;
2422 : 3191 : switch (GET_MODE (x2))
2423 : : {
2424 : 3128 : case E_V2HImode:
2425 : 3128 : if (!register_operand (operands[1], E_V4HImode))
2426 : : return -1;
2427 : : return 0;
2428 : :
2429 : 63 : case E_V2QImode:
2430 : 63 : if (!register_operand (operands[1], E_V4QImode))
2431 : : return -1;
2432 : : return 1;
2433 : :
2434 : : default:
2435 : : return -1;
2436 : : }
2437 : :
2438 : 73 : case E_V2HImode:
2439 : 73 : if (pattern595 (x1,
2440 : : E_V4QImode,
2441 : : E_V2QImode,
2442 : : E_V2HImode) != 0)
2443 : : return -1;
2444 : : return 2;
2445 : :
2446 : : default:
2447 : : return -1;
2448 : : }
2449 : : }
2450 : :
2451 : : int
2452 : 884364 : pattern612 (rtx x1, machine_mode i1)
2453 : : {
2454 : 884364 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2455 : 884364 : int res ATTRIBUTE_UNUSED;
2456 : 884364 : if (!nonimmediate_operand (operands[0], i1)
2457 : 872340 : || GET_MODE (x1) != i1
2458 : 872340 : || !nonimmediate_operand (operands[1], i1)
2459 : 1454573 : || !nonmemory_operand (operands[2], E_QImode))
2460 : 333347 : return -1;
2461 : : return 0;
2462 : : }
2463 : :
2464 : : int
2465 : 7702 : pattern618 (rtx x1)
2466 : : {
2467 : 7702 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2468 : 7702 : rtx x2, x3, x4, x5, x6, x7, x8;
2469 : 7702 : int res ATTRIBUTE_UNUSED;
2470 : 7702 : x2 = XEXP (x1, 2);
2471 : 7702 : operands[3] = x2;
2472 : 7702 : x3 = XEXP (x1, 0);
2473 : 7702 : x4 = XVECEXP (x3, 0, 0);
2474 : 7702 : switch (GET_CODE (x4))
2475 : : {
2476 : 7178 : case REG:
2477 : 7178 : case SUBREG:
2478 : 7178 : case MEM:
2479 : 7178 : operands[1] = x4;
2480 : 7178 : switch (GET_MODE (operands[0]))
2481 : : {
2482 : : case E_V32HImode:
2483 : : return 0;
2484 : :
2485 : 364 : case E_V16SImode:
2486 : 364 : return 1;
2487 : :
2488 : 662 : case E_V8DImode:
2489 : 662 : return 2;
2490 : :
2491 : 486 : case E_V16HImode:
2492 : 486 : return 3;
2493 : :
2494 : 1152 : case E_V8SImode:
2495 : 1152 : return 4;
2496 : :
2497 : 1536 : case E_V4DImode:
2498 : 1536 : return 5;
2499 : :
2500 : 486 : case E_V8HImode:
2501 : 486 : return 6;
2502 : :
2503 : 1376 : case E_V4SImode:
2504 : 1376 : return 7;
2505 : :
2506 : 936 : case E_V2DImode:
2507 : 936 : return 8;
2508 : :
2509 : : default:
2510 : : return -1;
2511 : : }
2512 : :
2513 : 492 : case VEC_SELECT:
2514 : 492 : if (GET_MODE (x4) != E_V2SFmode)
2515 : : return -1;
2516 : 492 : x5 = XEXP (x4, 1);
2517 : 492 : if (GET_CODE (x5) != PARALLEL
2518 : 492 : || XVECLEN (x5, 0) != 2)
2519 : : return -1;
2520 : 492 : x6 = XVECEXP (x5, 0, 0);
2521 : 492 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2522 : : return -1;
2523 : 492 : x7 = XVECEXP (x5, 0, 1);
2524 : 492 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2525 : 492 : || !register_operand (operands[0], E_V2DImode)
2526 : 472 : || GET_MODE (x1) != E_V2DImode
2527 : 964 : || GET_MODE (x3) != E_V2DImode)
2528 : 20 : return -1;
2529 : 472 : x8 = XEXP (x4, 0);
2530 : 472 : operands[1] = x8;
2531 : 472 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
2532 : 468 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
2533 : 928 : || !register_operand (operands[3], E_QImode))
2534 : 34 : return -1;
2535 : : return 9;
2536 : :
2537 : : default:
2538 : : return -1;
2539 : : }
2540 : : }
2541 : :
2542 : : int
2543 : 2820 : pattern636 (rtx x1)
2544 : : {
2545 : 2820 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2546 : 2820 : rtx x2, x3, x4, x5;
2547 : 2820 : int res ATTRIBUTE_UNUSED;
2548 : 2820 : x2 = XVECEXP (x1, 0, 0);
2549 : 2820 : x3 = XEXP (x2, 2);
2550 : 2820 : if (XWINT (x3, 0) != 1L)
2551 : : return -1;
2552 : 2776 : x4 = XVECEXP (x1, 0, 1);
2553 : 2776 : operands[3] = x4;
2554 : 2776 : x5 = XEXP (x2, 1);
2555 : 2776 : if (!rtx_equal_p (x5, operands[1]))
2556 : : return -1;
2557 : 2764 : switch (GET_MODE (operands[0]))
2558 : : {
2559 : 340 : case E_V8HFmode:
2560 : 340 : return pattern635 (x1,
2561 : 340 : E_V8HFmode); /* [-1, 0] */
2562 : :
2563 : 352 : case E_V4SFmode:
2564 : 352 : if (pattern635 (x1,
2565 : : E_V4SFmode) != 0)
2566 : : return -1;
2567 : : return 1;
2568 : :
2569 : 2072 : case E_V2DFmode:
2570 : 2072 : if (pattern635 (x1,
2571 : : E_V2DFmode) != 0)
2572 : : return -1;
2573 : : return 2;
2574 : :
2575 : : default:
2576 : : return -1;
2577 : : }
2578 : : }
2579 : :
2580 : : int
2581 : 172 : pattern644 (rtx x1, machine_mode i1)
2582 : : {
2583 : 172 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2584 : 172 : rtx x2;
2585 : 172 : int res ATTRIBUTE_UNUSED;
2586 : 172 : if (!register_operand (operands[0], i1)
2587 : 169 : || GET_MODE (x1) != i1
2588 : 169 : || !register_operand (operands[1], i1)
2589 : 331 : || !vector_operand (operands[2], i1))
2590 : 18 : return -1;
2591 : 154 : x2 = XVECEXP (x1, 0, 2);
2592 : 154 : if (GET_MODE (x2) != i1
2593 : 154 : || !register_operand (operands[3], i1)
2594 : 300 : || !const0_operand (operands[4], i1))
2595 : 8 : return -1;
2596 : : return 0;
2597 : : }
2598 : :
2599 : : int
2600 : 923 : pattern650 (rtx x1)
2601 : : {
2602 : 923 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2603 : 923 : rtx x2, x3, x4, x5;
2604 : 923 : int res ATTRIBUTE_UNUSED;
2605 : 923 : x2 = XVECEXP (x1, 0, 1);
2606 : 923 : operands[2] = x2;
2607 : 923 : x3 = XVECEXP (x1, 0, 2);
2608 : 923 : x4 = XEXP (x3, 0);
2609 : 923 : operands[3] = x4;
2610 : 923 : x5 = XEXP (x3, 1);
2611 : 923 : operands[4] = x5;
2612 : 923 : switch (GET_MODE (operands[0]))
2613 : : {
2614 : 60 : case E_V8SFmode:
2615 : 60 : return pattern648 (x1,
2616 : : E_V8SImode,
2617 : 60 : E_V8SFmode); /* [-1, 0] */
2618 : :
2619 : 200 : case E_V4SFmode:
2620 : 200 : if (pattern648 (x1,
2621 : : E_V4SImode,
2622 : : E_V4SFmode) != 0)
2623 : : return -1;
2624 : : return 1;
2625 : :
2626 : 76 : case E_V4DFmode:
2627 : 76 : if (pattern648 (x1,
2628 : : E_V4DImode,
2629 : : E_V4DFmode) != 0)
2630 : : return -1;
2631 : : return 2;
2632 : :
2633 : 137 : case E_V2DFmode:
2634 : 137 : if (pattern648 (x1,
2635 : : E_V2DImode,
2636 : : E_V2DFmode) != 0)
2637 : : return -1;
2638 : : return 3;
2639 : :
2640 : 54 : case E_V32QImode:
2641 : 54 : if (pattern649 (x1,
2642 : : E_V32QImode) != 0)
2643 : : return -1;
2644 : : return 4;
2645 : :
2646 : 255 : case E_V16QImode:
2647 : 255 : if (pattern649 (x1,
2648 : : E_V16QImode) != 0)
2649 : : return -1;
2650 : : return 5;
2651 : :
2652 : : default:
2653 : : return -1;
2654 : : }
2655 : : }
2656 : :
2657 : : int
2658 : 3814 : pattern658 (rtx x1)
2659 : : {
2660 : 3814 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2661 : 3814 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2662 : 3814 : int res ATTRIBUTE_UNUSED;
2663 : 3814 : x2 = XVECEXP (x1, 0, 0);
2664 : 3814 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2665 : : return -1;
2666 : 3697 : x3 = XVECEXP (x1, 0, 1);
2667 : 3697 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2668 : : return -1;
2669 : 3697 : x4 = XVECEXP (x1, 0, 2);
2670 : 3697 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2671 : : return -1;
2672 : 3697 : x5 = XVECEXP (x1, 0, 3);
2673 : 3697 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2674 : : return -1;
2675 : 3697 : x6 = XVECEXP (x1, 0, 4);
2676 : 3697 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2677 : : return -1;
2678 : 3697 : x7 = XVECEXP (x1, 0, 5);
2679 : 3697 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2680 : : return -1;
2681 : 3697 : x8 = XVECEXP (x1, 0, 6);
2682 : 3697 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2683 : : return -1;
2684 : 3697 : x9 = XVECEXP (x1, 0, 7);
2685 : 3697 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
2686 : 0 : return -1;
2687 : : return 0;
2688 : : }
2689 : :
2690 : : int
2691 : 120 : pattern670 (rtx x1, machine_mode i1, machine_mode i2)
2692 : : {
2693 : 120 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2694 : 120 : rtx x2, x3, x4, x5;
2695 : 120 : int res ATTRIBUTE_UNUSED;
2696 : 120 : x2 = XVECEXP (x1, 0, 1);
2697 : 120 : if (XVECLEN (x2, 0) != 1
2698 : 120 : || XINT (x2, 1) != 111)
2699 : : return -1;
2700 : 120 : x3 = XVECEXP (x2, 0, 0);
2701 : 120 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2702 : 120 : || !register_operand (operands[0], i2))
2703 : 0 : return -1;
2704 : 120 : x4 = XVECEXP (x1, 0, 0);
2705 : 120 : x5 = XEXP (x4, 1);
2706 : 120 : if (GET_MODE (x5) != i2
2707 : 120 : || !nonimmediate_operand (operands[1], i1))
2708 : 0 : return -1;
2709 : : return 0;
2710 : : }
2711 : :
2712 : : int
2713 : 248 : pattern676 (rtx x1, machine_mode i1)
2714 : : {
2715 : 248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2716 : 248 : rtx x2;
2717 : 248 : int res ATTRIBUTE_UNUSED;
2718 : 248 : if (!nonimmediate_operand (operands[0], i1)
2719 : 248 : || GET_MODE (x1) != i1
2720 : 496 : || !general_operand (operands[1], i1))
2721 : 0 : return -1;
2722 : 248 : x2 = XEXP (x1, 1);
2723 : 248 : if (GET_MODE (x2) != i1)
2724 : : return -1;
2725 : : return 0;
2726 : : }
2727 : :
2728 : : int
2729 : 1861190 : pattern680 (rtx x1)
2730 : : {
2731 : 1861190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2732 : 1861190 : rtx x2, x3, x4, x5, x6, x7;
2733 : 1861190 : int res ATTRIBUTE_UNUSED;
2734 : 1861190 : x2 = XVECEXP (x1, 0, 1);
2735 : 1861190 : if (GET_CODE (x2) != CLOBBER)
2736 : : return -1;
2737 : 246083 : x3 = XEXP (x2, 0);
2738 : 246083 : if (GET_CODE (x3) != REG
2739 : 246083 : || REGNO (x3) != 17
2740 : 455558 : || GET_MODE (x3) != E_CCmode)
2741 : : return -1;
2742 : 56951 : x4 = XVECEXP (x1, 0, 0);
2743 : 56951 : x5 = XEXP (x4, 1);
2744 : 56951 : x6 = XEXP (x5, 0);
2745 : 56951 : x7 = XEXP (x6, 0);
2746 : 56951 : switch (GET_CODE (x7))
2747 : : {
2748 : : case REG:
2749 : : case SUBREG:
2750 : : return 0;
2751 : :
2752 : 23533 : case ZERO_EXTRACT:
2753 : 23533 : return 1;
2754 : :
2755 : : default:
2756 : : return -1;
2757 : : }
2758 : : }
2759 : :
2760 : : int
2761 : 195 : pattern685 (rtx x1, machine_mode i1)
2762 : : {
2763 : 195 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2764 : 195 : int res ATTRIBUTE_UNUSED;
2765 : 195 : if (!register_operand (operands[0], i1)
2766 : 179 : || GET_MODE (x1) != i1
2767 : 179 : || !register_operand (operands[1], i1)
2768 : 310 : || !register_operand (operands[2], i1))
2769 : 136 : return -1;
2770 : : return 0;
2771 : : }
2772 : :
2773 : : int
2774 : 1712248 : pattern693 (rtx x1)
2775 : : {
2776 : 1712248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2777 : 1712248 : rtx x2, x3, x4, x5;
2778 : 1712248 : int res ATTRIBUTE_UNUSED;
2779 : 1712248 : switch (GET_CODE (x1))
2780 : : {
2781 : 18318 : case UNSPEC:
2782 : 18318 : if (XVECLEN (x1, 0) != 1
2783 : 18317 : || XINT (x1, 1) != 38)
2784 : : return -1;
2785 : 1485 : x2 = XVECEXP (x1, 0, 0);
2786 : 1485 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2787 : 0 : return -1;
2788 : : return 0;
2789 : :
2790 : 1693930 : case SET:
2791 : 1693930 : x3 = XEXP (x1, 1);
2792 : 1693930 : if (GET_CODE (x3) != PLUS
2793 : 1691458 : || GET_MODE (x3) != E_SImode)
2794 : : return -1;
2795 : 1691420 : x4 = XEXP (x3, 0);
2796 : 1691420 : if (GET_CODE (x4) != REG
2797 : 1691420 : || REGNO (x4) != 7
2798 : 3382840 : || GET_MODE (x4) != E_SImode)
2799 : : return -1;
2800 : 1691420 : x5 = XEXP (x1, 0);
2801 : 1691420 : if (GET_CODE (x5) != REG
2802 : 1691420 : || REGNO (x5) != 7
2803 : 3382840 : || GET_MODE (x5) != E_SImode)
2804 : 0 : return -1;
2805 : : return 1;
2806 : :
2807 : : default:
2808 : : return -1;
2809 : : }
2810 : : }
2811 : :
2812 : : int
2813 : 0 : pattern701 (rtx x1)
2814 : : {
2815 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2816 : 0 : rtx x2, x3;
2817 : 0 : int res ATTRIBUTE_UNUSED;
2818 : 0 : if (GET_MODE (x1) != E_QImode)
2819 : : return -1;
2820 : 0 : x2 = XEXP (x1, 0);
2821 : 0 : if (GET_CODE (x2) != REG
2822 : 0 : || REGNO (x2) != 17)
2823 : : return -1;
2824 : 0 : x3 = XEXP (x1, 1);
2825 : 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2826 : 0 : return -1;
2827 : : return 0;
2828 : : }
2829 : :
2830 : : int
2831 : 858 : pattern707 (rtx x1, int i1, int i2)
2832 : : {
2833 : 858 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2834 : 858 : rtx x2, x3, x4, x5, x6, x7;
2835 : 858 : int res ATTRIBUTE_UNUSED;
2836 : 858 : x2 = XVECEXP (x1, 0, 0);
2837 : 858 : x3 = XEXP (x2, 1);
2838 : 858 : if (XINT (x3, 1) != i1
2839 : 858 : || GET_MODE (x3) != E_SImode)
2840 : : return -1;
2841 : 448 : x4 = XVECEXP (x1, 0, 1);
2842 : 448 : if (GET_CODE (x4) != SET)
2843 : : return -1;
2844 : 448 : x5 = XEXP (x4, 1);
2845 : 448 : if (GET_CODE (x5) != UNSPEC
2846 : 448 : || XVECLEN (x5, 0) != i2
2847 : 448 : || XINT (x5, 1) != i1
2848 : 448 : || GET_MODE (x5) != E_V16QImode)
2849 : : return -1;
2850 : 448 : x6 = XVECEXP (x1, 0, 2);
2851 : 448 : if (GET_CODE (x6) != SET)
2852 : : return -1;
2853 : 448 : x7 = XEXP (x6, 1);
2854 : 448 : if (GET_CODE (x7) != UNSPEC
2855 : 448 : || XVECLEN (x7, 0) != i2
2856 : 448 : || XINT (x7, 1) != i1
2857 : 896 : || pattern706 (x6,
2858 : : E_CCmode,
2859 : : 17) != 0)
2860 : 0 : return -1;
2861 : : return 0;
2862 : : }
2863 : :
2864 : : int
2865 : 3868644 : pattern714 (rtx x1, machine_mode i1)
2866 : : {
2867 : 3868644 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2868 : 3868644 : rtx x2, x3, x4, x5, x6;
2869 : 3868644 : int res ATTRIBUTE_UNUSED;
2870 : 3868644 : if (!register_operand (operands[0], i1)
2871 : 3868644 : || GET_CODE (x1) != SET)
2872 : : return -1;
2873 : 3063351 : x2 = XEXP (x1, 1);
2874 : 3063351 : if (GET_CODE (x2) != PLUS
2875 : 270265 : || GET_MODE (x2) != i1)
2876 : : return -1;
2877 : 263087 : x3 = XEXP (x1, 0);
2878 : 263087 : operands[3] = x3;
2879 : 263087 : if (!register_operand (operands[3], i1))
2880 : : return -1;
2881 : 263087 : x4 = XEXP (x2, 0);
2882 : 263087 : operands[4] = x4;
2883 : 263087 : if (!register_operand (operands[4], i1))
2884 : : return -1;
2885 : 214866 : x5 = XEXP (x2, 1);
2886 : 214866 : operands[2] = x5;
2887 : 214866 : if (!x86_64_nonmemory_operand (operands[2], i1))
2888 : : return -1;
2889 : 206396 : x6 = PATTERN (peep2_next_insn (2));
2890 : 206396 : return pattern712 (x6,
2891 : 206396 : i1); /* [-1, 0] */
2892 : : }
2893 : :
2894 : : int
2895 : 6968 : pattern724 ()
2896 : : {
2897 : 6968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2898 : 6968 : int res ATTRIBUTE_UNUSED;
2899 : 6968 : switch (GET_MODE (operands[1]))
2900 : : {
2901 : 1183 : case E_V8HImode:
2902 : 1183 : if (!register_operand (operands[1], E_V8HImode)
2903 : 1183 : || !nonimmediate_operand (operands[2], E_V8HImode))
2904 : 1 : return -1;
2905 : : return 0;
2906 : :
2907 : 1135 : case E_V8SImode:
2908 : 1135 : if (!register_operand (operands[1], E_V8SImode)
2909 : 1135 : || !nonimmediate_operand (operands[2], E_V8SImode))
2910 : 0 : return -1;
2911 : : return 1;
2912 : :
2913 : 1144 : case E_V4SImode:
2914 : 1144 : if (!register_operand (operands[1], E_V4SImode)
2915 : 1144 : || !nonimmediate_operand (operands[2], E_V4SImode))
2916 : 0 : return -1;
2917 : : return 2;
2918 : :
2919 : 1140 : case E_V8DImode:
2920 : 1140 : if (!register_operand (operands[1], E_V8DImode)
2921 : 1140 : || !nonimmediate_operand (operands[2], E_V8DImode))
2922 : 4 : return -1;
2923 : : return 3;
2924 : :
2925 : 1147 : case E_V4DImode:
2926 : 1147 : if (!register_operand (operands[1], E_V4DImode)
2927 : 1147 : || !nonimmediate_operand (operands[2], E_V4DImode))
2928 : 8 : return -1;
2929 : : return 4;
2930 : :
2931 : 1219 : case E_V2DImode:
2932 : 1219 : if (!register_operand (operands[1], E_V2DImode)
2933 : 1219 : || !nonimmediate_operand (operands[2], E_V2DImode))
2934 : 83 : return -1;
2935 : : return 5;
2936 : :
2937 : : default:
2938 : : return -1;
2939 : : }
2940 : : }
2941 : :
2942 : : int
2943 : 792 : pattern744 (rtx x1)
2944 : : {
2945 : 792 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2946 : 792 : rtx x2, x3, x4, x5, x6;
2947 : 792 : int res ATTRIBUTE_UNUSED;
2948 : 792 : x2 = XEXP (x1, 0);
2949 : 792 : x3 = XEXP (x2, 1);
2950 : 792 : if (maybe_ne (SUBREG_BYTE (x3), 0)
2951 : 792 : || GET_MODE (x3) != E_QImode)
2952 : : return -1;
2953 : 792 : x4 = XEXP (x3, 0);
2954 : 792 : if (GET_CODE (x4) != AND)
2955 : : return -1;
2956 : 146 : x5 = XEXP (x4, 0);
2957 : 146 : operands[1] = x5;
2958 : 146 : if (!int248_register_operand (operands[1], E_VOIDmode))
2959 : : return -1;
2960 : 139 : x6 = XEXP (x4, 1);
2961 : 139 : operands[2] = x6;
2962 : 139 : if (!const_int_operand (operands[2], E_VOIDmode))
2963 : : return -1;
2964 : 139 : return pattern272 (x1); /* [-1, 1] */
2965 : : }
2966 : :
2967 : : int
2968 : 176 : pattern752 (rtx x1)
2969 : : {
2970 : 176 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2971 : 176 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2972 : 176 : rtx x10;
2973 : 176 : int res ATTRIBUTE_UNUSED;
2974 : 176 : x2 = XEXP (x1, 0);
2975 : 176 : x3 = XEXP (x2, 0);
2976 : 176 : if (GET_MODE (x3) != E_V8HFmode)
2977 : : return -1;
2978 : 176 : x4 = XEXP (x2, 2);
2979 : 176 : if (GET_CODE (x4) != UNSPEC
2980 : 176 : || XVECLEN (x4, 0) != 1
2981 : 176 : || XINT (x4, 1) != 224
2982 : 176 : || GET_MODE (x4) != E_QImode)
2983 : : return -1;
2984 : 176 : x5 = XEXP (x1, 2);
2985 : 176 : if (XWINT (x5, 0) != 3L
2986 : 176 : || !register_operand (operands[0], E_V8HFmode)
2987 : 144 : || GET_MODE (x1) != E_V8HFmode
2988 : 320 : || GET_MODE (x2) != E_V8HFmode)
2989 : 32 : return -1;
2990 : 144 : x6 = XVECEXP (x3, 0, 0);
2991 : 144 : operands[1] = x6;
2992 : 144 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
2993 : : return -1;
2994 : 144 : x7 = XVECEXP (x3, 0, 1);
2995 : 144 : operands[2] = x7;
2996 : 144 : if (!vector_operand (operands[2], E_V8HFmode))
2997 : : return -1;
2998 : 144 : x8 = XEXP (x2, 1);
2999 : 144 : operands[3] = x8;
3000 : 144 : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
3001 : : return -1;
3002 : 140 : x9 = XVECEXP (x4, 0, 0);
3003 : 140 : operands[4] = x9;
3004 : 140 : if (!register_operand (operands[4], E_QImode))
3005 : : return -1;
3006 : 128 : x10 = XEXP (x1, 1);
3007 : 128 : if (!rtx_equal_p (x10, operands[1]))
3008 : : return -1;
3009 : : return 0;
3010 : : }
3011 : :
3012 : : int
3013 : 1963 : pattern768 (rtx x1, machine_mode i1)
3014 : : {
3015 : 1963 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3016 : 1963 : int res ATTRIBUTE_UNUSED;
3017 : 1963 : if (!register_operand (operands[0], i1)
3018 : 1951 : || GET_MODE (x1) != i1
3019 : 1951 : || !register_operand (operands[2], i1)
3020 : 3375 : || !memory_operand (operands[1], i1))
3021 : 681 : return -1;
3022 : : return 0;
3023 : : }
3024 : :
3025 : : int
3026 : 54968 : pattern777 (rtx x1, machine_mode i1, machine_mode i2)
3027 : : {
3028 : 54968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3029 : 54968 : rtx x2;
3030 : 54968 : int res ATTRIBUTE_UNUSED;
3031 : 54968 : if (!register_operand (operands[0], i2)
3032 : 53855 : || GET_MODE (x1) != i2
3033 : 108823 : || !nonimmediate_operand (operands[1], i1))
3034 : 6072 : return -1;
3035 : 48896 : x2 = XEXP (x1, 1);
3036 : 48896 : if (!rtx_equal_p (x2, operands[1]))
3037 : : return -1;
3038 : : return 0;
3039 : : }
3040 : :
3041 : : int
3042 : 40789 : pattern784 (rtx x1, machine_mode i1, machine_mode i2)
3043 : : {
3044 : 40789 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3045 : 40789 : rtx x2;
3046 : 40789 : int res ATTRIBUTE_UNUSED;
3047 : 40789 : if (!register_operand (operands[0], i1)
3048 : 40789 : || GET_MODE (x1) != i1)
3049 : : return -1;
3050 : 40789 : x2 = XEXP (x1, 0);
3051 : 40789 : if (GET_MODE (x2) != i2
3052 : 40789 : || !vector_operand (operands[1], i1)
3053 : 40753 : || !const0_operand (operands[2], i1)
3054 : 81439 : || !pmovzx_parallel (operands[3], E_VOIDmode))
3055 : 19672 : return -1;
3056 : : return 0;
3057 : : }
3058 : :
3059 : : int
3060 : 39537 : pattern794 (rtx x1)
3061 : : {
3062 : 39537 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3063 : 39537 : rtx x2, x3, x4, x5;
3064 : 39537 : int res ATTRIBUTE_UNUSED;
3065 : 39537 : x2 = XEXP (x1, 1);
3066 : 39537 : x3 = XEXP (x2, 0);
3067 : 39537 : x4 = XEXP (x3, 0);
3068 : 39537 : operands[2] = x4;
3069 : 39537 : if (!int248_register_operand (operands[2], E_VOIDmode))
3070 : : return -1;
3071 : 34855 : x5 = XEXP (x3, 1);
3072 : 34855 : operands[3] = x5;
3073 : 34855 : if (!const_int_operand (operands[3], E_VOIDmode))
3074 : : return -1;
3075 : 34825 : return pattern236 (x1); /* [-1, 1] */
3076 : : }
3077 : :
3078 : : int
3079 : 40708 : pattern798 (rtx x1, machine_mode i1)
3080 : : {
3081 : 40708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3082 : 40708 : rtx x2, x3, x4, x5;
3083 : 40708 : int res ATTRIBUTE_UNUSED;
3084 : 40708 : x2 = XVECEXP (x1, 0, 1);
3085 : 40708 : x3 = XEXP (x2, 0);
3086 : 40708 : if (GET_CODE (x3) != REG
3087 : 40708 : || REGNO (x3) != 17
3088 : 81416 : || GET_MODE (x3) != E_CCmode)
3089 : : return -1;
3090 : 40708 : x4 = XVECEXP (x1, 0, 0);
3091 : 40708 : x5 = XEXP (x4, 0);
3092 : 40708 : operands[0] = x5;
3093 : 40708 : if (!register_operand (operands[0], i1))
3094 : : return -1;
3095 : : return 0;
3096 : : }
3097 : :
3098 : : int
3099 : 33394 : pattern802 (rtx x1)
3100 : : {
3101 : 33394 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3102 : 33394 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3103 : 33394 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3104 : 33394 : int res ATTRIBUTE_UNUSED;
3105 : 33394 : x2 = XVECEXP (x1, 0, 0);
3106 : 33394 : x3 = XEXP (x2, 1);
3107 : 33394 : x4 = XEXP (x3, 0);
3108 : 33394 : x5 = XEXP (x4, 0);
3109 : 33394 : if (maybe_ne (SUBREG_BYTE (x5), 0)
3110 : 33394 : || GET_MODE (x5) != E_QImode)
3111 : : return -1;
3112 : 6231 : x6 = XEXP (x5, 0);
3113 : 6231 : switch (GET_CODE (x6))
3114 : : {
3115 : 4457 : case ASHIFTRT:
3116 : 4457 : case LSHIFTRT:
3117 : 4457 : case SIGN_EXTRACT:
3118 : 4457 : case ZERO_EXTRACT:
3119 : 4457 : operands[3] = x6;
3120 : 4457 : x7 = XVECEXP (x1, 0, 1);
3121 : 4457 : if (GET_CODE (x7) != SET)
3122 : : return -1;
3123 : 4433 : x8 = XEXP (x7, 1);
3124 : 4433 : if (GET_CODE (x8) != SUBREG
3125 : 4433 : || maybe_ne (SUBREG_BYTE (x8), 0))
3126 : : return -1;
3127 : 880 : x9 = XEXP (x8, 0);
3128 : 880 : if (GET_CODE (x9) != AND
3129 : 880 : || GET_MODE (x9) != E_QImode)
3130 : : return -1;
3131 : 880 : x10 = XEXP (x9, 0);
3132 : 880 : if (GET_CODE (x10) != SUBREG
3133 : 880 : || maybe_ne (SUBREG_BYTE (x10), 0)
3134 : 1760 : || GET_MODE (x10) != E_QImode)
3135 : : return -1;
3136 : 880 : x11 = XEXP (x10, 0);
3137 : 880 : if (GET_CODE (x11) != ZERO_EXTRACT)
3138 : : return -1;
3139 : 880 : x12 = XEXP (x11, 1);
3140 : 880 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3141 : : return -1;
3142 : 880 : x13 = XEXP (x11, 2);
3143 : 880 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3144 : : return -1;
3145 : 880 : x14 = XEXP (x7, 0);
3146 : 880 : if (GET_CODE (x14) != ZERO_EXTRACT)
3147 : : return -1;
3148 : 880 : x15 = XEXP (x14, 1);
3149 : 880 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3150 : : return -1;
3151 : 880 : x16 = XEXP (x14, 2);
3152 : 880 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3153 : : return -1;
3154 : 880 : x17 = XEXP (x2, 0);
3155 : 880 : operands[4] = x17;
3156 : 880 : if (!flags_reg_operand (operands[4], E_VOIDmode))
3157 : : return -1;
3158 : 880 : operands[5] = x3;
3159 : 880 : if (!compare_operator (operands[5], E_VOIDmode)
3160 : 880 : || GET_MODE (x4) != E_QImode)
3161 : : return -1;
3162 : 880 : return pattern572 (x1); /* [-1, 2] */
3163 : :
3164 : : default:
3165 : : return -1;
3166 : : }
3167 : : }
3168 : :
3169 : : int
3170 : 4782332 : pattern825 (rtx x1)
3171 : : {
3172 : 4782332 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3173 : 4782332 : rtx x2, x3, x4, x5, x6;
3174 : 4782332 : int res ATTRIBUTE_UNUSED;
3175 : 4782332 : x2 = XEXP (x1, 1);
3176 : 4782332 : switch (GET_CODE (x2))
3177 : : {
3178 : 1312563 : case REG:
3179 : 1312563 : case SUBREG:
3180 : 1312563 : if (!rtx_equal_p (x2, operands[0]))
3181 : : return -1;
3182 : 969726 : x3 = XEXP (x1, 0);
3183 : 969726 : if (GET_CODE (x3) != PC)
3184 : : return -1;
3185 : : return 0;
3186 : :
3187 : 143837 : case CALL:
3188 : 143837 : x4 = XEXP (x2, 0);
3189 : 143837 : if (GET_CODE (x4) != MEM
3190 : 143837 : || GET_MODE (x4) != E_QImode)
3191 : : return -1;
3192 : 143837 : x3 = XEXP (x1, 0);
3193 : 143837 : operands[2] = x3;
3194 : 143837 : x5 = XEXP (x2, 1);
3195 : 143837 : operands[3] = x5;
3196 : 143837 : x6 = XEXP (x4, 0);
3197 : 143837 : if (!rtx_equal_p (x6, operands[0]))
3198 : : return -1;
3199 : : return 1;
3200 : :
3201 : : default:
3202 : : return -1;
3203 : : }
3204 : : }
3205 : :
3206 : : int
3207 : 23426 : pattern831 (rtx x1)
3208 : : {
3209 : 23426 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3210 : 23426 : rtx x2, x3, x4, x5, x6, x7;
3211 : 23426 : int res ATTRIBUTE_UNUSED;
3212 : 23426 : x2 = XVECEXP (x1, 0, 2);
3213 : 23426 : if (maybe_ne (SUBREG_BYTE (x2), 0))
3214 : : return -1;
3215 : 23426 : x3 = XEXP (x2, 0);
3216 : 23426 : if (GET_CODE (x3) != EQ)
3217 : : return -1;
3218 : 3042 : x4 = XEXP (x3, 0);
3219 : 3042 : if (GET_CODE (x4) != EQ)
3220 : : return -1;
3221 : 580 : x5 = XEXP (x4, 0);
3222 : 580 : operands[3] = x5;
3223 : 580 : x6 = XEXP (x4, 1);
3224 : 580 : operands[4] = x6;
3225 : 580 : x7 = XEXP (x3, 1);
3226 : 580 : operands[5] = x7;
3227 : 580 : switch (GET_MODE (operands[0]))
3228 : : {
3229 : 165 : case E_V8QImode:
3230 : 165 : if (!register_operand (operands[0], E_V8QImode)
3231 : 165 : || GET_MODE (x1) != E_V8QImode
3232 : 165 : || !register_operand (operands[1], E_V8QImode)
3233 : 90 : || !register_operand (operands[2], E_V8QImode)
3234 : 216 : || GET_MODE (x2) != E_V8QImode)
3235 : 114 : return -1;
3236 : 51 : switch (GET_MODE (x3))
3237 : : {
3238 : 51 : case E_V4HImode:
3239 : 51 : return pattern830 (x4,
3240 : 51 : E_V4HImode); /* [-1, 0] */
3241 : :
3242 : 0 : case E_V2SImode:
3243 : 0 : if (pattern830 (x4,
3244 : : E_V2SImode) != 0)
3245 : : return -1;
3246 : : return 1;
3247 : :
3248 : : default:
3249 : : return -1;
3250 : : }
3251 : :
3252 : 315 : case E_V4QImode:
3253 : 315 : if (!register_operand (operands[0], E_V4QImode)
3254 : 315 : || GET_MODE (x1) != E_V4QImode
3255 : 315 : || !register_operand (operands[1], E_V4QImode)
3256 : 174 : || !register_operand (operands[2], E_V4QImode)
3257 : 93 : || GET_MODE (x2) != E_V4QImode
3258 : 93 : || GET_MODE (x3) != E_V2HImode
3259 : 408 : || pattern830 (x4,
3260 : : E_V2HImode) != 0)
3261 : 270 : return -1;
3262 : : return 2;
3263 : :
3264 : : default:
3265 : : return -1;
3266 : : }
3267 : : }
3268 : :
3269 : : int
3270 : 2290 : pattern847 (rtx x1, machine_mode i1, machine_mode i2)
3271 : : {
3272 : 2290 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3273 : 2290 : rtx x2;
3274 : 2290 : int res ATTRIBUTE_UNUSED;
3275 : 2290 : if (!register_operand (operands[0], i1)
3276 : 2290 : || GET_MODE (x1) != i1)
3277 : : return -1;
3278 : 2172 : x2 = XEXP (x1, 0);
3279 : 2172 : if (GET_MODE (x2) != i1
3280 : 2172 : || !nonimmediate_operand (operands[2], i2)
3281 : 4207 : || !register_operand (operands[1], i1))
3282 : 631 : return -1;
3283 : : return 0;
3284 : : }
3285 : :
3286 : : int
3287 : 552 : pattern856 (rtx x1, machine_mode i1, machine_mode i2)
3288 : : {
3289 : 552 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3290 : 552 : rtx x2;
3291 : 552 : int res ATTRIBUTE_UNUSED;
3292 : 552 : if (!register_operand (operands[0], i1)
3293 : 552 : || GET_MODE (x1) != i1)
3294 : : return -1;
3295 : 538 : x2 = XEXP (x1, 0);
3296 : 538 : if (GET_MODE (x2) != i1
3297 : 538 : || !register_operand (operands[1], i2)
3298 : 538 : || !nonimmediate_operand (operands[2], i2)
3299 : 1076 : || !register_operand (operands[3], i1))
3300 : 55 : return -1;
3301 : : return 0;
3302 : : }
3303 : :
3304 : : int
3305 : 1255 : pattern863 (rtx x1)
3306 : : {
3307 : 1255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3308 : 1255 : rtx x2, x3, x4, x5, x6;
3309 : 1255 : int res ATTRIBUTE_UNUSED;
3310 : 1255 : x2 = XVECEXP (x1, 0, 0);
3311 : 1255 : x3 = XVECEXP (x2, 0, 0);
3312 : 1255 : if (GET_CODE (x3) != VEC_SELECT)
3313 : : return -1;
3314 : 932 : x4 = XEXP (x3, 1);
3315 : 932 : if (GET_CODE (x4) != PARALLEL
3316 : 932 : || XVECLEN (x4, 0) != 1)
3317 : : return -1;
3318 : 932 : x5 = XVECEXP (x4, 0, 0);
3319 : 932 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3320 : : return -1;
3321 : 932 : x6 = XEXP (x3, 0);
3322 : 932 : operands[1] = x6;
3323 : 932 : if (!const48_operand (operands[2], E_SImode))
3324 : : return -1;
3325 : 932 : switch (GET_MODE (operands[0]))
3326 : : {
3327 : 466 : case E_SImode:
3328 : 466 : return pattern862 (x1,
3329 : 466 : E_SImode); /* [-1, 1] */
3330 : :
3331 : 466 : case E_DImode:
3332 : 466 : res = pattern862 (x1,
3333 : : E_DImode);
3334 : 466 : if (res >= 0)
3335 : 446 : return res + 2; /* [2, 3] */
3336 : : return -1;
3337 : :
3338 : : default:
3339 : : return -1;
3340 : : }
3341 : : }
3342 : :
3343 : : int
3344 : 901 : pattern878 (rtx x1, machine_mode i1)
3345 : : {
3346 : 901 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3347 : 901 : rtx x2;
3348 : 901 : int res ATTRIBUTE_UNUSED;
3349 : 901 : if (!register_operand (operands[0], i1)
3350 : 901 : || GET_MODE (x1) != i1)
3351 : : return -1;
3352 : 861 : x2 = XEXP (x1, 0);
3353 : 861 : if (GET_MODE (x2) != i1
3354 : 861 : || !nonimm_or_0_operand (operands[2], i1)
3355 : 1706 : || !register_operand (operands[3], E_QImode))
3356 : 58 : return -1;
3357 : 803 : switch (GET_MODE (operands[1]))
3358 : : {
3359 : 376 : case E_V4SImode:
3360 : 376 : if (!nonimmediate_operand (operands[1], E_V4SImode))
3361 : : return -1;
3362 : : return 0;
3363 : :
3364 : 427 : case E_V4DImode:
3365 : 427 : if (!nonimmediate_operand (operands[1], E_V4DImode))
3366 : : return -1;
3367 : : return 1;
3368 : :
3369 : : default:
3370 : : return -1;
3371 : : }
3372 : : }
3373 : :
3374 : : int
3375 : 1370 : pattern889 (rtx x1)
3376 : : {
3377 : 1370 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3378 : 1370 : rtx x2, x3, x4, x5, x6, x7;
3379 : 1370 : int res ATTRIBUTE_UNUSED;
3380 : 1370 : x2 = XVECEXP (x1, 0, 0);
3381 : 1370 : x3 = XEXP (x2, 0);
3382 : 1370 : x4 = XEXP (x3, 0);
3383 : 1370 : x5 = XEXP (x4, 0);
3384 : 1370 : operands[2] = x5;
3385 : 1370 : x6 = XEXP (x2, 1);
3386 : 1370 : operands[1] = x6;
3387 : 1370 : x7 = XVECEXP (x1, 0, 1);
3388 : 1370 : operands[3] = x7;
3389 : 1370 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
3390 : : return -1;
3391 : 1370 : switch (GET_MODE (operands[0]))
3392 : : {
3393 : 572 : case E_V8HFmode:
3394 : 572 : return pattern888 (x1,
3395 : : E_V8HFmode,
3396 : 572 : E_HFmode); /* [-1, 1] */
3397 : :
3398 : 556 : case E_V4SFmode:
3399 : 556 : res = pattern888 (x1,
3400 : : E_V4SFmode,
3401 : : E_SFmode);
3402 : 556 : if (res >= 0)
3403 : 540 : return res + 2; /* [2, 3] */
3404 : : return -1;
3405 : :
3406 : 242 : case E_V2DFmode:
3407 : 242 : if (!register_operand (operands[0], E_V2DFmode)
3408 : 236 : || GET_MODE (x1) != E_V2DFmode
3409 : 236 : || GET_MODE (x2) != E_V2DFmode
3410 : 236 : || GET_MODE (x3) != E_V2DFmode
3411 : 236 : || GET_MODE (x4) != E_DFmode
3412 : 236 : || !register_operand (operands[2], E_DImode)
3413 : 478 : || !register_operand (operands[1], E_V2DFmode))
3414 : 8 : return -1;
3415 : : return 4;
3416 : :
3417 : : default:
3418 : : return -1;
3419 : : }
3420 : : }
3421 : :
3422 : : int
3423 : 288 : pattern901 (rtx x1)
3424 : : {
3425 : 288 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3426 : 288 : rtx x2;
3427 : 288 : int res ATTRIBUTE_UNUSED;
3428 : 288 : x2 = XEXP (x1, 0);
3429 : 288 : if (GET_MODE (x2) != E_V8QImode
3430 : 288 : || !register_operand (operands[0], E_V16QImode)
3431 : 288 : || GET_MODE (x1) != E_V16QImode
3432 : 288 : || !register_operand (operands[1], E_V16QImode)
3433 : 288 : || !nonimmediate_operand (operands[2], E_V8HFmode)
3434 : 576 : || !const0_operand (operands[3], E_V8QImode))
3435 : 0 : return -1;
3436 : : return 0;
3437 : : }
3438 : :
3439 : : int
3440 : 241 : pattern903 (rtx x1, machine_mode i1)
3441 : : {
3442 : 241 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3443 : 241 : int res ATTRIBUTE_UNUSED;
3444 : 241 : if (!register_operand (operands[0], i1)
3445 : 232 : || GET_MODE (x1) != i1
3446 : 232 : || !nonimmediate_operand (operands[1], i1)
3447 : 223 : || !nonimmediate_operand (operands[2], i1)
3448 : 464 : || !nonimmediate_operand (operands[3], i1))
3449 : 18 : return -1;
3450 : : return 0;
3451 : : }
3452 : :
3453 : : int
3454 : 232 : pattern906 (rtx x1, machine_mode i1)
3455 : : {
3456 : 232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3457 : 232 : rtx x2, x3;
3458 : 232 : int res ATTRIBUTE_UNUSED;
3459 : 232 : if (!register_operand (operands[0], i1)
3460 : 232 : || GET_MODE (x1) != i1)
3461 : : return -1;
3462 : 223 : x2 = XEXP (x1, 0);
3463 : 223 : if (GET_MODE (x2) != i1
3464 : 223 : || !nonimmediate_operand (operands[1], i1)
3465 : 443 : || !nonimmediate_operand (operands[2], i1))
3466 : 3 : return -1;
3467 : 220 : x3 = XEXP (x1, 2);
3468 : 220 : if (GET_MODE (x3) != i1
3469 : 220 : || !nonimmediate_operand (operands[3], i1))
3470 : 0 : return -1;
3471 : : return 0;
3472 : : }
3473 : :
3474 : : int
3475 : 779 : pattern913 (rtx x1, machine_mode i1)
3476 : : {
3477 : 779 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3478 : 779 : rtx x2;
3479 : 779 : int res ATTRIBUTE_UNUSED;
3480 : 779 : if (!register_operand (operands[0], i1)
3481 : 779 : || GET_MODE (x1) != i1)
3482 : : return -1;
3483 : 771 : x2 = XEXP (x1, 0);
3484 : 771 : if (GET_MODE (x2) != i1
3485 : 771 : || !register_operand (operands[1], i1)
3486 : 297 : || !const0_operand (operands[2], i1)
3487 : 851 : || !const1_operand (operands[3], i1))
3488 : 771 : return -1;
3489 : : return 0;
3490 : : }
3491 : :
3492 : : int
3493 : 28 : pattern920 (rtx x1)
3494 : : {
3495 : 28 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3496 : 28 : rtx x2, x3, x4, x5;
3497 : 28 : int res ATTRIBUTE_UNUSED;
3498 : 28 : x2 = XVECEXP (x1, 0, 1);
3499 : 28 : x3 = XEXP (x2, 0);
3500 : 28 : operands[2] = x3;
3501 : 28 : if (!memory_operand (operands[2], E_DImode))
3502 : : return -1;
3503 : 28 : x4 = XVECEXP (x1, 0, 0);
3504 : 28 : x5 = XEXP (x4, 1);
3505 : 28 : return pattern378 (x5); /* [-1, 2] */
3506 : : }
3507 : :
3508 : : int
3509 : 231 : pattern924 (rtx x1, machine_mode i1)
3510 : : {
3511 : 231 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3512 : 231 : rtx x2, x3;
3513 : 231 : int res ATTRIBUTE_UNUSED;
3514 : 231 : if (!nonimmediate_operand (operands[0], i1)
3515 : 231 : || GET_MODE (x1) != i1)
3516 : : return -1;
3517 : 231 : x2 = XEXP (x1, 0);
3518 : 231 : if (GET_MODE (x2) != i1
3519 : 231 : || !nonimmediate_operand (operands[1], i1))
3520 : 46 : return -1;
3521 : 185 : x3 = XEXP (x2, 1);
3522 : 185 : if (GET_MODE (x3) != i1
3523 : 185 : || !x86_64_immediate_operand (operands[2], i1))
3524 : 18 : return -1;
3525 : : return 0;
3526 : : }
3527 : :
3528 : : int
3529 : 94662 : pattern932 (rtx x1)
3530 : : {
3531 : 94662 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3532 : 94662 : int res ATTRIBUTE_UNUSED;
3533 : 94662 : switch (GET_MODE (x1))
3534 : : {
3535 : 64895 : case E_QImode:
3536 : 64895 : if (!nonimmediate_operand (operands[1], E_QImode)
3537 : 63612 : || !general_operand (operands[2], E_QImode)
3538 : 128507 : || !scratch_operand (operands[0], E_QImode))
3539 : 1344 : return -1;
3540 : : return 0;
3541 : :
3542 : 298 : case E_HImode:
3543 : 298 : if (!nonimmediate_operand (operands[1], E_HImode)
3544 : 298 : || !general_operand (operands[2], E_HImode)
3545 : 596 : || !scratch_operand (operands[0], E_HImode))
3546 : 45 : return -1;
3547 : : return 1;
3548 : :
3549 : 16065 : case E_SImode:
3550 : 16065 : if (!nonimmediate_operand (operands[1], E_SImode)
3551 : 12897 : || !x86_64_general_operand (operands[2], E_SImode)
3552 : 24209 : || !scratch_operand (operands[0], E_SImode))
3553 : 8553 : return -1;
3554 : : return 2;
3555 : :
3556 : 13404 : case E_DImode:
3557 : 13404 : if (!nonimmediate_operand (operands[1], E_DImode)
3558 : 10245 : || !x86_64_general_operand (operands[2], E_DImode)
3559 : 18595 : || !scratch_operand (operands[0], E_DImode))
3560 : 8343 : return -1;
3561 : : return 3;
3562 : :
3563 : : default:
3564 : : return -1;
3565 : : }
3566 : : }
3567 : :
3568 : : int
3569 : 105863 : pattern948 (rtx x1)
3570 : : {
3571 : 105863 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3572 : 105863 : int res ATTRIBUTE_UNUSED;
3573 : 105863 : switch (GET_MODE (operands[0]))
3574 : : {
3575 : 37984 : case E_QImode:
3576 : 37984 : if (!register_operand (operands[0], E_QImode)
3577 : 37984 : || GET_MODE (x1) != E_QImode)
3578 : : return -1;
3579 : : return 0;
3580 : :
3581 : 47409 : case E_HImode:
3582 : 47409 : if (!register_operand (operands[0], E_HImode)
3583 : 47409 : || GET_MODE (x1) != E_HImode)
3584 : : return -1;
3585 : : return 1;
3586 : :
3587 : : default:
3588 : : return -1;
3589 : : }
3590 : : }
3591 : :
3592 : : int
3593 : 6497 : pattern951 (rtx x1, machine_mode i1)
3594 : : {
3595 : 6497 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3596 : 6497 : int res ATTRIBUTE_UNUSED;
3597 : 6497 : if (!register_operand (operands[0], i1)
3598 : 6134 : || GET_MODE (x1) != i1
3599 : 6134 : || !nonimmediate_operand (operands[2], i1)
3600 : 12550 : || !register_operand (operands[1], i1))
3601 : 902 : return -1;
3602 : : return 0;
3603 : : }
3604 : :
3605 : : int
3606 : 3818 : pattern954 (rtx x1)
3607 : : {
3608 : 3818 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3609 : 3818 : rtx x2, x3;
3610 : 3818 : int res ATTRIBUTE_UNUSED;
3611 : 3818 : x2 = XEXP (x1, 1);
3612 : 3818 : operands[3] = x2;
3613 : 3818 : switch (GET_MODE (operands[0]))
3614 : : {
3615 : 1382 : case E_HImode:
3616 : 1382 : if (!register_operand (operands[0], E_HImode)
3617 : 1382 : || GET_MODE (x1) != E_HImode)
3618 : : return -1;
3619 : 1355 : x3 = XEXP (x1, 0);
3620 : 1355 : if (GET_MODE (x3) != E_HImode
3621 : 1355 : || !register_operand (operands[3], E_HImode))
3622 : 326 : return -1;
3623 : 1029 : switch (GET_MODE (operands[1]))
3624 : : {
3625 : 75 : case E_V16QImode:
3626 : 75 : if (!nonimm_or_0_operand (operands[1], E_V16QImode)
3627 : 75 : || !nonimm_or_0_operand (operands[2], E_V16QImode))
3628 : 0 : return -1;
3629 : : return 0;
3630 : :
3631 : 91 : case E_V16HImode:
3632 : 91 : if (!nonimm_or_0_operand (operands[1], E_V16HImode)
3633 : 91 : || !nonimm_or_0_operand (operands[2], E_V16HImode))
3634 : 0 : return -1;
3635 : : return 1;
3636 : :
3637 : 859 : case E_V16SImode:
3638 : 859 : if (!nonimm_or_0_operand (operands[1], E_V16SImode)
3639 : 859 : || !nonimm_or_0_operand (operands[2], E_V16SImode))
3640 : 0 : return -1;
3641 : : return 2;
3642 : :
3643 : : default:
3644 : : return -1;
3645 : : }
3646 : :
3647 : 1278 : case E_QImode:
3648 : 1278 : if (!register_operand (operands[0], E_QImode)
3649 : 1278 : || GET_MODE (x1) != E_QImode)
3650 : : return -1;
3651 : 1200 : x3 = XEXP (x1, 0);
3652 : 1200 : if (GET_MODE (x3) != E_QImode
3653 : 1200 : || !register_operand (operands[3], E_QImode))
3654 : 691 : return -1;
3655 : 509 : switch (GET_MODE (operands[1]))
3656 : : {
3657 : 91 : case E_V8HImode:
3658 : 91 : if (!nonimm_or_0_operand (operands[1], E_V8HImode)
3659 : 91 : || !nonimm_or_0_operand (operands[2], E_V8HImode))
3660 : 0 : return -1;
3661 : : return 3;
3662 : :
3663 : 77 : case E_V8SImode:
3664 : 77 : if (!nonimm_or_0_operand (operands[1], E_V8SImode)
3665 : 77 : || !nonimm_or_0_operand (operands[2], E_V8SImode))
3666 : 0 : return -1;
3667 : : return 4;
3668 : :
3669 : 81 : case E_V4SImode:
3670 : 81 : if (!nonimm_or_0_operand (operands[1], E_V4SImode)
3671 : 81 : || !nonimm_or_0_operand (operands[2], E_V4SImode))
3672 : 0 : return -1;
3673 : : return 5;
3674 : :
3675 : 79 : case E_V8DImode:
3676 : 79 : if (!nonimm_or_0_operand (operands[1], E_V8DImode)
3677 : 79 : || !nonimm_or_0_operand (operands[2], E_V8DImode))
3678 : 2 : return -1;
3679 : : return 6;
3680 : :
3681 : 80 : case E_V4DImode:
3682 : 80 : if (!nonimm_or_0_operand (operands[1], E_V4DImode)
3683 : 80 : || !nonimm_or_0_operand (operands[2], E_V4DImode))
3684 : 2 : return -1;
3685 : : return 7;
3686 : :
3687 : 97 : case E_V2DImode:
3688 : 97 : if (!nonimm_or_0_operand (operands[1], E_V2DImode)
3689 : 97 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3690 : 2 : return -1;
3691 : : return 8;
3692 : :
3693 : : default:
3694 : : return -1;
3695 : : }
3696 : :
3697 : : default:
3698 : : return -1;
3699 : : }
3700 : : }
3701 : :
3702 : : int
3703 : 7833 : pattern975 (rtx x1)
3704 : : {
3705 : 7833 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3706 : 7833 : int res ATTRIBUTE_UNUSED;
3707 : 7833 : switch (GET_MODE (operands[0]))
3708 : : {
3709 : 109 : case E_DImode:
3710 : 109 : if (!register_operand (operands[0], E_DImode)
3711 : 102 : || GET_MODE (x1) != E_DImode
3712 : 102 : || !nonimm_or_0_operand (operands[1], E_V64QImode)
3713 : 207 : || !nonimm_or_0_operand (operands[2], E_V64QImode))
3714 : 15 : return -1;
3715 : : return 0;
3716 : :
3717 : 294 : case E_SImode:
3718 : 294 : if (!register_operand (operands[0], E_SImode)
3719 : 294 : || GET_MODE (x1) != E_SImode)
3720 : : return -1;
3721 : 286 : switch (GET_MODE (operands[1]))
3722 : : {
3723 : 112 : case E_V32QImode:
3724 : 112 : if (!nonimm_or_0_operand (operands[1], E_V32QImode)
3725 : 112 : || !nonimm_or_0_operand (operands[2], E_V32QImode))
3726 : 19 : return -1;
3727 : : return 1;
3728 : :
3729 : 142 : case E_V32HImode:
3730 : 142 : if (!nonimm_or_0_operand (operands[1], E_V32HImode)
3731 : 142 : || !nonimm_or_0_operand (operands[2], E_V32HImode))
3732 : 16 : return -1;
3733 : : return 2;
3734 : :
3735 : : default:
3736 : : return -1;
3737 : : }
3738 : :
3739 : : default:
3740 : : return -1;
3741 : : }
3742 : : }
3743 : :
3744 : : int
3745 : 3339 : pattern986 (rtx x1, machine_mode i1)
3746 : : {
3747 : 3339 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3748 : 3339 : rtx x2, x3, x4;
3749 : 3339 : int res ATTRIBUTE_UNUSED;
3750 : 3339 : if (!register_operand (operands[0], i1)
3751 : 3339 : || GET_MODE (x1) != i1)
3752 : : return -1;
3753 : 3231 : x2 = XEXP (x1, 0);
3754 : 3231 : if (GET_MODE (x2) != i1)
3755 : : return -1;
3756 : 3231 : x3 = XVECEXP (x2, 0, 0);
3757 : 3231 : if (!register_operand (x3, i1))
3758 : : return -1;
3759 : 3193 : x4 = XVECEXP (x2, 0, 1);
3760 : 3193 : if (!register_operand (x4, i1))
3761 : : return -1;
3762 : : return 0;
3763 : : }
3764 : :
3765 : : int
3766 : 0 : pattern996 (rtx x1, machine_mode i1, machine_mode i2)
3767 : : {
3768 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3769 : 0 : rtx x2, x3;
3770 : 0 : int res ATTRIBUTE_UNUSED;
3771 : 0 : if (!register_operand (operands[0], i1)
3772 : 0 : || GET_MODE (x1) != i1
3773 : 0 : || !vector_operand (operands[1], i1)
3774 : 0 : || !vector_operand (operands[2], i1))
3775 : 0 : return -1;
3776 : 0 : x2 = XEXP (x1, 2);
3777 : 0 : if (GET_MODE (x2) != i2)
3778 : : return -1;
3779 : 0 : x3 = XVECEXP (x2, 0, 0);
3780 : 0 : if (GET_MODE (x3) != i1
3781 : 0 : || !register_operand (operands[3], i1)
3782 : 0 : || !const0_operand (operands[4], i1))
3783 : 0 : return -1;
3784 : : return 0;
3785 : : }
3786 : :
3787 : : int
3788 : 221 : pattern1003 (rtx x1, machine_mode i1)
3789 : : {
3790 : 221 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3791 : 221 : rtx x2;
3792 : 221 : int res ATTRIBUTE_UNUSED;
3793 : 221 : if (!register_operand (operands[0], i1)
3794 : 221 : || GET_MODE (x1) != i1)
3795 : : return -1;
3796 : 213 : x2 = XVECEXP (x1, 0, 0);
3797 : 213 : if (GET_MODE (x2) != i1
3798 : 213 : || !register_operand (operands[1], i1))
3799 : 7 : return -1;
3800 : : return 0;
3801 : : }
3802 : :
3803 : : int
3804 : 363 : pattern1010 (rtx x1)
3805 : : {
3806 : 363 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3807 : 363 : rtx x2;
3808 : 363 : int res ATTRIBUTE_UNUSED;
3809 : 363 : if (!const48_operand (operands[2], E_SImode))
3810 : : return -1;
3811 : 363 : switch (GET_MODE (operands[0]))
3812 : : {
3813 : 70 : case E_V16SImode:
3814 : 70 : return pattern1004 (x1,
3815 : : E_V16SFmode,
3816 : 70 : E_V16SImode); /* [-1, 0] */
3817 : :
3818 : 69 : case E_V8SImode:
3819 : 69 : if (pattern1004 (x1,
3820 : : E_V8DFmode,
3821 : : E_V8SImode) != 0)
3822 : : return -1;
3823 : : return 1;
3824 : :
3825 : 184 : case E_V8DImode:
3826 : 184 : if (!register_operand (operands[0], E_V8DImode)
3827 : 184 : || GET_MODE (x1) != E_V8DImode)
3828 : : return -1;
3829 : 164 : x2 = XVECEXP (x1, 0, 0);
3830 : 164 : if (GET_MODE (x2) != E_V8DImode)
3831 : : return -1;
3832 : 164 : switch (GET_MODE (operands[1]))
3833 : : {
3834 : 82 : case E_V8DFmode:
3835 : 82 : if (!register_operand (operands[1], E_V8DFmode))
3836 : : return -1;
3837 : : return 2;
3838 : :
3839 : 82 : case E_V8SFmode:
3840 : 82 : if (!register_operand (operands[1], E_V8SFmode))
3841 : : return -1;
3842 : : return 3;
3843 : :
3844 : : default:
3845 : : return -1;
3846 : : }
3847 : :
3848 : : default:
3849 : : return -1;
3850 : : }
3851 : : }
3852 : :
3853 : : int
3854 : 14546 : pattern1027 (rtx x1)
3855 : : {
3856 : 14546 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3857 : 14546 : rtx x2;
3858 : 14546 : int res ATTRIBUTE_UNUSED;
3859 : 14546 : switch (GET_MODE (operands[0]))
3860 : : {
3861 : 28 : case E_HImode:
3862 : 28 : if (!register_operand (operands[0], E_HImode)
3863 : 28 : || GET_MODE (x1) != E_HImode)
3864 : : return -1;
3865 : 28 : x2 = XEXP (x1, 0);
3866 : 28 : if (GET_MODE (x2) != E_QImode
3867 : 28 : || !nonimmediate_operand (operands[1], E_QImode)
3868 : 54 : || !x86_64_general_operand (operands[2], E_QImode))
3869 : 2 : return -1;
3870 : : return 0;
3871 : :
3872 : 418 : case E_SImode:
3873 : 418 : if (!register_operand (operands[0], E_SImode)
3874 : 418 : || GET_MODE (x1) != E_SImode)
3875 : : return -1;
3876 : 416 : x2 = XEXP (x1, 0);
3877 : 416 : switch (GET_MODE (x2))
3878 : : {
3879 : 219 : case E_QImode:
3880 : 219 : if (!nonimmediate_operand (operands[1], E_QImode)
3881 : 219 : || !x86_64_general_operand (operands[2], E_QImode))
3882 : 10 : return -1;
3883 : : return 1;
3884 : :
3885 : 197 : case E_HImode:
3886 : 197 : if (!nonimmediate_operand (operands[1], E_HImode)
3887 : 197 : || !x86_64_general_operand (operands[2], E_HImode))
3888 : 49 : return -1;
3889 : : return 2;
3890 : :
3891 : : default:
3892 : : return -1;
3893 : : }
3894 : :
3895 : 14099 : case E_DImode:
3896 : 14099 : if (!register_operand (operands[0], E_DImode)
3897 : 14099 : || GET_MODE (x1) != E_DImode)
3898 : : return -1;
3899 : 14099 : x2 = XEXP (x1, 0);
3900 : 14099 : switch (GET_MODE (x2))
3901 : : {
3902 : 244 : case E_QImode:
3903 : 244 : if (!nonimmediate_operand (operands[1], E_QImode)
3904 : 244 : || !x86_64_general_operand (operands[2], E_QImode))
3905 : 0 : return -1;
3906 : : return 3;
3907 : :
3908 : 28 : case E_HImode:
3909 : 28 : if (!nonimmediate_operand (operands[1], E_HImode)
3910 : 28 : || !x86_64_general_operand (operands[2], E_HImode))
3911 : 0 : return -1;
3912 : : return 4;
3913 : :
3914 : 13827 : case E_SImode:
3915 : 13827 : if (!nonimmediate_operand (operands[1], E_SImode)
3916 : 13827 : || !x86_64_general_operand (operands[2], E_SImode))
3917 : 1881 : return -1;
3918 : : return 5;
3919 : :
3920 : : default:
3921 : : return -1;
3922 : : }
3923 : :
3924 : : default:
3925 : : return -1;
3926 : : }
3927 : : }
3928 : :
3929 : : int
3930 : 0 : pattern1041 (rtx x1, machine_mode i1, machine_mode i2)
3931 : : {
3932 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3933 : 0 : rtx x2;
3934 : 0 : int res ATTRIBUTE_UNUSED;
3935 : 0 : if (!register_operand (operands[0], i2)
3936 : 0 : || GET_MODE (x1) != i2)
3937 : : return -1;
3938 : 0 : x2 = XEXP (x1, 0);
3939 : 0 : if (GET_MODE (x2) != i2
3940 : 0 : || !register_operand (operands[1], i2)
3941 : 0 : || !vector_operand (operands[2], i1))
3942 : 0 : return -1;
3943 : : return 0;
3944 : : }
3945 : :
3946 : : int
3947 : 7844 : pattern1045 (rtx x1)
3948 : : {
3949 : 7844 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3950 : 7844 : rtx x2, x3, x4, x5, x6, x7;
3951 : 7844 : int res ATTRIBUTE_UNUSED;
3952 : 7844 : x2 = XEXP (x1, 1);
3953 : 7844 : x3 = XEXP (x2, 0);
3954 : 7844 : x4 = XEXP (x3, 0);
3955 : 7844 : if (GET_CODE (x4) != ASHIFT)
3956 : : return -1;
3957 : 2159 : x5 = XEXP (x4, 0);
3958 : 2159 : if (GET_CODE (x5) != ZERO_EXTEND)
3959 : : return -1;
3960 : 1693 : x6 = XEXP (x3, 1);
3961 : 1693 : if (GET_CODE (x6) != ZERO_EXTEND)
3962 : : return -1;
3963 : 1693 : x7 = XEXP (x1, 0);
3964 : 1693 : operands[0] = x7;
3965 : 1693 : return pattern347 (x2); /* [-1, 3] */
3966 : : }
3967 : :
3968 : : int
3969 : 3991 : pattern1051 (rtx x1, machine_mode i1, machine_mode i2)
3970 : : {
3971 : 3991 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3972 : 3991 : rtx x2;
3973 : 3991 : int res ATTRIBUTE_UNUSED;
3974 : 3991 : if (!sse_reg_operand (operands[0], i1)
3975 : 3991 : || GET_MODE (x1) != i1)
3976 : : return -1;
3977 : 3117 : x2 = XEXP (x1, 0);
3978 : 3117 : if (GET_MODE (x2) != i1
3979 : 3117 : || !sse_reg_operand (operands[2], i2)
3980 : 3177 : || !sse_reg_operand (operands[1], i1))
3981 : 3057 : return -1;
3982 : : return 0;
3983 : : }
3984 : :
3985 : : int
3986 : 92 : pattern1056 (rtx x1, machine_mode i1, machine_mode i2)
3987 : : {
3988 : 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3989 : 92 : rtx x2;
3990 : 92 : int res ATTRIBUTE_UNUSED;
3991 : 92 : if (!memory_operand (operands[0], i2)
3992 : 92 : || GET_MODE (x1) != i2)
3993 : : return -1;
3994 : 88 : x2 = XVECEXP (x1, 0, 0);
3995 : 88 : if (GET_MODE (x2) != i2
3996 : 88 : || !register_operand (operands[1], i1))
3997 : 0 : return -1;
3998 : : return 0;
3999 : : }
4000 : :
4001 : : int
4002 : 812 : pattern1061 (rtx x1)
4003 : : {
4004 : 812 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4005 : 812 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4006 : 812 : rtx x10;
4007 : 812 : int res ATTRIBUTE_UNUSED;
4008 : 812 : x2 = XEXP (x1, 1);
4009 : 812 : x3 = XEXP (x2, 0);
4010 : 812 : x4 = XEXP (x3, 0);
4011 : 812 : x5 = XEXP (x4, 0);
4012 : 812 : operands[1] = x5;
4013 : 812 : if (!int248_register_operand (operands[1], E_VOIDmode))
4014 : : return -1;
4015 : 565 : x6 = XEXP (x2, 1);
4016 : 565 : x7 = XEXP (x6, 0);
4017 : 565 : x8 = XEXP (x7, 0);
4018 : 565 : operands[2] = x8;
4019 : 565 : if (!int248_register_operand (operands[2], E_VOIDmode))
4020 : : return -1;
4021 : 371 : x9 = XEXP (x1, 0);
4022 : 371 : switch (GET_CODE (x9))
4023 : : {
4024 : 43 : case STRICT_LOW_PART:
4025 : 43 : x10 = XEXP (x9, 0);
4026 : 43 : operands[0] = x10;
4027 : 43 : if (!register_operand (operands[0], E_QImode))
4028 : : return -1;
4029 : 43 : return pattern1060 (); /* [-1, 2] */
4030 : :
4031 : 272 : case REG:
4032 : 272 : case SUBREG:
4033 : 272 : operands[0] = x9;
4034 : 272 : if (!register_operand (operands[0], E_QImode))
4035 : : return -1;
4036 : 272 : res = pattern1060 ();
4037 : 272 : if (res >= 0)
4038 : 53 : return res + 3; /* [3, 5] */
4039 : : return -1;
4040 : :
4041 : : default:
4042 : : return -1;
4043 : : }
4044 : : }
4045 : :
4046 : : int
4047 : 187 : pattern1078 (rtx x1)
4048 : : {
4049 : 187 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4050 : 187 : int res ATTRIBUTE_UNUSED;
4051 : 187 : switch (GET_MODE (x1))
4052 : : {
4053 : 0 : case E_DImode:
4054 : 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
4055 : 0 : || !nonimmediate_operand (operands[2], E_V64QImode))
4056 : 0 : return -1;
4057 : : return 0;
4058 : :
4059 : 44 : case E_HImode:
4060 : 44 : switch (GET_MODE (operands[1]))
4061 : : {
4062 : 14 : case E_V16QImode:
4063 : 14 : if (!nonimmediate_operand (operands[1], E_V16QImode)
4064 : 14 : || !nonimmediate_operand (operands[2], E_V16QImode))
4065 : 2 : return -1;
4066 : : return 1;
4067 : :
4068 : 16 : case E_V16HImode:
4069 : 16 : if (!nonimmediate_operand (operands[1], E_V16HImode)
4070 : 16 : || !nonimmediate_operand (operands[2], E_V16HImode))
4071 : 2 : return -1;
4072 : : return 2;
4073 : :
4074 : 14 : case E_V16SImode:
4075 : 14 : if (!nonimmediate_operand (operands[1], E_V16SImode)
4076 : 14 : || !nonimmediate_operand (operands[2], E_V16SImode))
4077 : 2 : return -1;
4078 : : return 3;
4079 : :
4080 : : default:
4081 : : return -1;
4082 : : }
4083 : :
4084 : 14 : case E_SImode:
4085 : 14 : switch (GET_MODE (operands[1]))
4086 : : {
4087 : 7 : case E_V32QImode:
4088 : 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
4089 : 7 : || !nonimmediate_operand (operands[2], E_V32QImode))
4090 : 1 : return -1;
4091 : : return 4;
4092 : :
4093 : 7 : case E_V32HImode:
4094 : 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4095 : 7 : || !nonimmediate_operand (operands[2], E_V32HImode))
4096 : 1 : return -1;
4097 : : return 5;
4098 : :
4099 : : default:
4100 : : return -1;
4101 : : }
4102 : :
4103 : 129 : case E_QImode:
4104 : 129 : switch (GET_MODE (operands[1]))
4105 : : {
4106 : 24 : case E_V8HImode:
4107 : 24 : if (!nonimmediate_operand (operands[1], E_V8HImode)
4108 : 24 : || !nonimmediate_operand (operands[2], E_V8HImode))
4109 : 0 : return -1;
4110 : : return 6;
4111 : :
4112 : 21 : case E_V8SImode:
4113 : 21 : if (!nonimmediate_operand (operands[1], E_V8SImode)
4114 : 21 : || !nonimmediate_operand (operands[2], E_V8SImode))
4115 : 3 : return -1;
4116 : : return 7;
4117 : :
4118 : 21 : case E_V4SImode:
4119 : 21 : if (!nonimmediate_operand (operands[1], E_V4SImode)
4120 : 21 : || !nonimmediate_operand (operands[2], E_V4SImode))
4121 : 3 : return -1;
4122 : : return 8;
4123 : :
4124 : 21 : case E_V8DImode:
4125 : 21 : if (!nonimmediate_operand (operands[1], E_V8DImode)
4126 : 21 : || !nonimmediate_operand (operands[2], E_V8DImode))
4127 : 3 : return -1;
4128 : : return 9;
4129 : :
4130 : 21 : case E_V4DImode:
4131 : 21 : if (!nonimmediate_operand (operands[1], E_V4DImode)
4132 : 21 : || !nonimmediate_operand (operands[2], E_V4DImode))
4133 : 3 : return -1;
4134 : : return 10;
4135 : :
4136 : 21 : case E_V2DImode:
4137 : 21 : if (!nonimmediate_operand (operands[1], E_V2DImode)
4138 : 21 : || !nonimmediate_operand (operands[2], E_V2DImode))
4139 : 3 : return -1;
4140 : : return 11;
4141 : :
4142 : : default:
4143 : : return -1;
4144 : : }
4145 : :
4146 : : default:
4147 : : return -1;
4148 : : }
4149 : : }
4150 : :
4151 : : int
4152 : 272 : pattern1111 (rtx x1, machine_mode i1, machine_mode i2)
4153 : : {
4154 : 272 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4155 : 272 : rtx x2;
4156 : 272 : int res ATTRIBUTE_UNUSED;
4157 : 272 : if (!register_operand (operands[0], i2)
4158 : 263 : || GET_MODE (x1) != i2
4159 : 535 : || !register_operand (operands[1], i2))
4160 : 10 : return -1;
4161 : 262 : x2 = XEXP (x1, 1);
4162 : 262 : if (GET_MODE (x2) != i2
4163 : 262 : || !nonimmediate_operand (operands[2], i1))
4164 : 0 : return -1;
4165 : : return 0;
4166 : : }
4167 : :
4168 : : int
4169 : 964 : pattern1120 (rtx x1)
4170 : : {
4171 : 964 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4172 : 964 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4173 : 964 : rtx x10, x11, x12;
4174 : 964 : int res ATTRIBUTE_UNUSED;
4175 : 964 : x2 = XVECEXP (x1, 0, 0);
4176 : 964 : x3 = XEXP (x2, 0);
4177 : 964 : x4 = XEXP (x3, 0);
4178 : 964 : if (GET_MODE (x4) != E_V8HFmode)
4179 : : return -1;
4180 : 964 : x5 = XEXP (x3, 2);
4181 : 964 : if (GET_CODE (x5) != UNSPEC
4182 : 964 : || XVECLEN (x5, 0) != 1
4183 : 964 : || XINT (x5, 1) != 224
4184 : 964 : || GET_MODE (x5) != E_QImode)
4185 : : return -1;
4186 : 964 : x6 = XEXP (x2, 2);
4187 : 964 : if (XWINT (x6, 0) != 3L
4188 : 964 : || !register_operand (operands[0], E_V8HFmode)
4189 : 896 : || GET_MODE (x1) != E_V8HFmode
4190 : 896 : || GET_MODE (x2) != E_V8HFmode
4191 : 1860 : || GET_MODE (x3) != E_V8HFmode)
4192 : 68 : return -1;
4193 : 896 : x7 = XVECEXP (x4, 0, 0);
4194 : 896 : operands[1] = x7;
4195 : 896 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
4196 : : return -1;
4197 : 896 : x8 = XVECEXP (x4, 0, 1);
4198 : 896 : operands[2] = x8;
4199 : 896 : if (!register_operand (operands[2], E_V8HFmode))
4200 : : return -1;
4201 : 872 : x9 = XEXP (x3, 1);
4202 : 872 : operands[3] = x9;
4203 : 872 : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
4204 : : return -1;
4205 : 868 : x10 = XVECEXP (x5, 0, 0);
4206 : 868 : operands[4] = x10;
4207 : 868 : if (!register_operand (operands[4], E_QImode))
4208 : : return -1;
4209 : 792 : x11 = XVECEXP (x1, 0, 1);
4210 : 792 : operands[5] = x11;
4211 : 792 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
4212 : : return -1;
4213 : 792 : x12 = XEXP (x2, 1);
4214 : 792 : if (!rtx_equal_p (x12, operands[1]))
4215 : : return -1;
4216 : : return 0;
4217 : : }
4218 : :
4219 : : int
4220 : 41 : pattern1141 (rtx x1)
4221 : : {
4222 : 41 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4223 : 41 : rtx x2;
4224 : 41 : int res ATTRIBUTE_UNUSED;
4225 : 41 : switch (GET_MODE (operands[0]))
4226 : : {
4227 : 0 : case E_HImode:
4228 : 0 : if (!register_operand (operands[0], E_HImode)
4229 : 0 : || GET_MODE (x1) != E_HImode)
4230 : : return -1;
4231 : 0 : x2 = XEXP (x1, 0);
4232 : 0 : if (GET_MODE (x2) != E_QImode)
4233 : : return -1;
4234 : : return 0;
4235 : :
4236 : 1 : case E_SImode:
4237 : 1 : if (!register_operand (operands[0], E_SImode)
4238 : 1 : || GET_MODE (x1) != E_SImode)
4239 : : return -1;
4240 : 1 : x2 = XEXP (x1, 0);
4241 : 1 : switch (GET_MODE (x2))
4242 : : {
4243 : : case E_QImode:
4244 : : return 1;
4245 : :
4246 : 0 : case E_HImode:
4247 : 0 : return 2;
4248 : :
4249 : : default:
4250 : : return -1;
4251 : : }
4252 : :
4253 : 40 : case E_DImode:
4254 : 40 : if (!register_operand (operands[0], E_DImode)
4255 : 40 : || GET_MODE (x1) != E_DImode)
4256 : : return -1;
4257 : 40 : x2 = XEXP (x1, 0);
4258 : 40 : switch (GET_MODE (x2))
4259 : : {
4260 : : case E_QImode:
4261 : : return 3;
4262 : :
4263 : : case E_HImode:
4264 : : return 4;
4265 : :
4266 : : case E_SImode:
4267 : : return 5;
4268 : :
4269 : : default:
4270 : : return -1;
4271 : : }
4272 : :
4273 : : default:
4274 : : return -1;
4275 : : }
4276 : : }
4277 : :
4278 : : int
4279 : 22414 : pattern1160 (rtx x1, machine_mode i1, int i2)
4280 : : {
4281 : 22414 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4282 : 22414 : rtx x2, x3, x4, x5, x6;
4283 : 22414 : int res ATTRIBUTE_UNUSED;
4284 : 22414 : x2 = XVECEXP (x1, 0, 1);
4285 : 22414 : x3 = XEXP (x2, 1);
4286 : 22414 : x4 = XVECEXP (x3, 0, 0);
4287 : 22414 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4288 : : return -1;
4289 : 22414 : x5 = XVECEXP (x1, 0, 2);
4290 : 22414 : if (GET_CODE (x5) != SET)
4291 : : return -1;
4292 : 22414 : x6 = XEXP (x5, 1);
4293 : 22414 : return pattern1159 (x6,
4294 : : i1,
4295 : 22414 : i2); /* [-1, 0] */
4296 : : }
4297 : :
4298 : : int
4299 : 25856 : pattern1167 (rtx x1)
4300 : : {
4301 : 25856 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4302 : 25856 : rtx x2, x3;
4303 : 25856 : int res ATTRIBUTE_UNUSED;
4304 : 25856 : x2 = XEXP (x1, 1);
4305 : 25856 : switch (GET_CODE (x2))
4306 : : {
4307 : 4285 : case SUBREG:
4308 : 4285 : if (maybe_ne (SUBREG_BYTE (x2), 0)
4309 : 4285 : || GET_MODE (x2) != E_QImode)
4310 : : return -1;
4311 : 4285 : x3 = XEXP (x1, 0);
4312 : 4285 : operands[1] = x3;
4313 : 4285 : return pattern1155 (x1); /* [-1, 11] */
4314 : :
4315 : : case CONST_INT:
4316 : : return 12;
4317 : :
4318 : : default:
4319 : : return -1;
4320 : : }
4321 : : }
4322 : :
4323 : : int
4324 : 0 : pattern1174 (rtx x1, machine_mode i1, machine_mode i2)
4325 : : {
4326 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4327 : 0 : rtx x2;
4328 : 0 : int res ATTRIBUTE_UNUSED;
4329 : 0 : if (!memory_operand (operands[0], i2)
4330 : 0 : || GET_MODE (x1) != i2)
4331 : : return -1;
4332 : 0 : x2 = XEXP (x1, 0);
4333 : 0 : if (GET_MODE (x2) != i2
4334 : 0 : || !nonmemory_operand (operands[1], i1))
4335 : 0 : return -1;
4336 : : return 0;
4337 : : }
4338 : :
4339 : : int
4340 : 41681 : pattern1181 (rtx x1, machine_mode i1)
4341 : : {
4342 : 41681 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4343 : 41681 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4344 : 41681 : rtx x10, x11, x12;
4345 : 41681 : int res ATTRIBUTE_UNUSED;
4346 : 41681 : x2 = XVECEXP (x1, 0, 0);
4347 : 41681 : x3 = XEXP (x2, 1);
4348 : 41681 : if (GET_MODE (x3) != i1)
4349 : : return -1;
4350 : 40001 : x4 = XEXP (x3, 0);
4351 : 40001 : if (GET_CODE (x4) != PLUS
4352 : 19 : || GET_MODE (x4) != i1)
4353 : : return -1;
4354 : 19 : x5 = XEXP (x4, 0);
4355 : 19 : if (!ix86_carry_flag_operator (x5, i1))
4356 : : return -1;
4357 : 19 : operands[4] = x5;
4358 : 19 : x6 = XEXP (x5, 1);
4359 : 19 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4360 : : return -1;
4361 : 19 : x7 = XVECEXP (x1, 0, 1);
4362 : 19 : if (GET_CODE (x7) != CLOBBER)
4363 : : return -1;
4364 : 19 : x8 = XEXP (x7, 0);
4365 : 19 : if (GET_CODE (x8) != REG
4366 : 19 : || REGNO (x8) != 17
4367 : 38 : || GET_MODE (x8) != E_CCmode)
4368 : : return -1;
4369 : 19 : x9 = XEXP (x5, 0);
4370 : 19 : operands[3] = x9;
4371 : 19 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4372 : : return -1;
4373 : 19 : x10 = XEXP (x3, 1);
4374 : 19 : operands[2] = x10;
4375 : 19 : if (!memory_operand (operands[2], i1))
4376 : : return -1;
4377 : 6 : x11 = XEXP (x4, 1);
4378 : 6 : if (!rtx_equal_p (x11, operands[0]))
4379 : : return -1;
4380 : 6 : x12 = XEXP (x2, 0);
4381 : 6 : return pattern1180 (x12,
4382 : 6 : i1); /* [-1, 1] */
4383 : : }
4384 : :
4385 : : int
4386 : 2376 : pattern1191 (rtx x1, machine_mode i1)
4387 : : {
4388 : 2376 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4389 : 2376 : int res ATTRIBUTE_UNUSED;
4390 : 2376 : if (!register_operand (operands[0], i1)
4391 : 2376 : || GET_MODE (x1) != i1)
4392 : : return -1;
4393 : 1995 : return pattern1190 (); /* [-1, 2] */
4394 : : }
4395 : :
4396 : : int
4397 : 6671 : pattern1194 (rtx x1, machine_mode i1)
4398 : : {
4399 : 6671 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4400 : 6671 : int res ATTRIBUTE_UNUSED;
4401 : 6671 : if (!nonimmediate_operand (operands[0], i1)
4402 : 6671 : || GET_MODE (x1) != i1
4403 : 6671 : || !nonimmediate_operand (operands[1], i1)
4404 : 12645 : || !ix86_carry_flag_operator (operands[2], i1))
4405 : 697 : return -1;
4406 : : return 0;
4407 : : }
4408 : :
4409 : : int
4410 : 963 : pattern1200 (rtx x1, machine_mode i1)
4411 : : {
4412 : 963 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4413 : 963 : rtx x2;
4414 : 963 : int res ATTRIBUTE_UNUSED;
4415 : 963 : if (!register_operand (operands[0], i1)
4416 : 963 : || GET_MODE (x1) != i1)
4417 : : return -1;
4418 : 889 : x2 = XEXP (x1, 0);
4419 : 889 : if (GET_MODE (x2) != i1
4420 : 889 : || !nonimmediate_operand (operands[2], i1)
4421 : 1764 : || !register_operand (operands[1], i1))
4422 : 123 : return -1;
4423 : : return 0;
4424 : : }
4425 : :
4426 : : int
4427 : 1812 : pattern1206 (rtx x1)
4428 : : {
4429 : 1812 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4430 : 1812 : rtx x2, x3, x4, x5, x6, x7, x8;
4431 : 1812 : int res ATTRIBUTE_UNUSED;
4432 : 1812 : x2 = XEXP (x1, 0);
4433 : 1812 : x3 = XEXP (x2, 0);
4434 : 1812 : x4 = XEXP (x3, 0);
4435 : 1812 : x5 = XEXP (x4, 0);
4436 : 1812 : x6 = XEXP (x5, 1);
4437 : 1812 : if (GET_CODE (x6) != PARALLEL
4438 : 1812 : || XVECLEN (x6, 0) != 1)
4439 : : return -1;
4440 : 1812 : x7 = XVECEXP (x6, 0, 0);
4441 : 1812 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4442 : : return -1;
4443 : 1812 : x8 = XEXP (x1, 2);
4444 : 1812 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
4445 : 0 : return -1;
4446 : : return 0;
4447 : : }
4448 : :
4449 : : int
4450 : 46 : pattern1214 (rtx x1)
4451 : : {
4452 : 46 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4453 : 46 : rtx x2, x3, x4, x5, x6, x7;
4454 : 46 : int res ATTRIBUTE_UNUSED;
4455 : 46 : x2 = XVECEXP (x1, 0, 2);
4456 : 46 : x3 = XEXP (x2, 0);
4457 : 46 : x4 = XEXP (x3, 0);
4458 : 46 : if (maybe_ne (SUBREG_BYTE (x4), 0))
4459 : : return -1;
4460 : 46 : x5 = XEXP (x4, 0);
4461 : 46 : if (GET_CODE (x5) != NOT)
4462 : : return -1;
4463 : 9 : x6 = XEXP (x5, 0);
4464 : 9 : operands[3] = x6;
4465 : 9 : x7 = XEXP (x3, 1);
4466 : 9 : operands[4] = x7;
4467 : 9 : switch (GET_MODE (operands[0]))
4468 : : {
4469 : 9 : case E_V16QImode:
4470 : 9 : if (!register_operand (operands[0], E_V16QImode)
4471 : 9 : || GET_MODE (x1) != E_V16QImode
4472 : 9 : || !vector_operand (operands[1], E_V16QImode)
4473 : 9 : || !register_operand (operands[2], E_V16QImode)
4474 : 9 : || GET_MODE (x2) != E_V16QImode
4475 : 9 : || GET_MODE (x5) != E_V16QImode
4476 : 18 : || !register_operand (operands[3], E_V16QImode))
4477 : 0 : return -1;
4478 : 9 : switch (GET_MODE (x3))
4479 : : {
4480 : 9 : case E_V4SImode:
4481 : 9 : if (GET_MODE (x4) != E_V4SImode
4482 : 9 : || !vector_all_ones_operand (operands[4], E_V4SImode))
4483 : 0 : return -1;
4484 : : return 0;
4485 : :
4486 : 0 : case E_V2DImode:
4487 : 0 : if (GET_MODE (x4) != E_V2DImode
4488 : 0 : || !vector_all_ones_operand (operands[4], E_V2DImode))
4489 : 0 : return -1;
4490 : : return 1;
4491 : :
4492 : : default:
4493 : : return -1;
4494 : : }
4495 : :
4496 : 0 : case E_V32QImode:
4497 : 0 : if (!register_operand (operands[0], E_V32QImode)
4498 : 0 : || GET_MODE (x1) != E_V32QImode
4499 : 0 : || !vector_operand (operands[1], E_V32QImode)
4500 : 0 : || !register_operand (operands[2], E_V32QImode)
4501 : 0 : || GET_MODE (x2) != E_V32QImode
4502 : 0 : || GET_MODE (x5) != E_V32QImode
4503 : 0 : || !register_operand (operands[3], E_V32QImode))
4504 : 0 : return -1;
4505 : 0 : switch (GET_MODE (x3))
4506 : : {
4507 : 0 : case E_V8SImode:
4508 : 0 : if (GET_MODE (x4) != E_V8SImode
4509 : 0 : || !vector_all_ones_operand (operands[4], E_V8SImode))
4510 : 0 : return -1;
4511 : : return 2;
4512 : :
4513 : 0 : case E_V4DImode:
4514 : 0 : if (GET_MODE (x4) != E_V4DImode
4515 : 0 : || !vector_all_ones_operand (operands[4], E_V4DImode))
4516 : 0 : return -1;
4517 : : return 3;
4518 : :
4519 : : default:
4520 : : return -1;
4521 : : }
4522 : :
4523 : : default:
4524 : : return -1;
4525 : : }
4526 : : }
4527 : :
4528 : : int
4529 : 3 : pattern1237 (rtx x1, machine_mode i1)
4530 : : {
4531 : 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4532 : 3 : int res ATTRIBUTE_UNUSED;
4533 : 3 : if (!register_operand (operands[0], i1)
4534 : 3 : || GET_MODE (x1) != i1
4535 : 3 : || !bcst_vector_operand (operands[1], i1)
4536 : 3 : || !vector_all_ones_operand (operands[2], i1)
4537 : 6 : || !register_operand (operands[3], i1))
4538 : 0 : return -1;
4539 : : return 0;
4540 : : }
4541 : :
4542 : : int
4543 : 2 : pattern1241 (rtx x1)
4544 : : {
4545 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4546 : 2 : rtx x2;
4547 : 2 : int res ATTRIBUTE_UNUSED;
4548 : 2 : if (maybe_ne (SUBREG_BYTE (x1), 0)
4549 : 2 : || GET_MODE (x1) != E_V2DImode)
4550 : : return -1;
4551 : 2 : x2 = XEXP (x1, 0);
4552 : 2 : if (GET_CODE (x2) != UNSPEC
4553 : 2 : || XVECLEN (x2, 0) != 1
4554 : 2 : || XINT (x2, 1) != 120
4555 : 2 : || GET_MODE (x2) != E_V16QImode)
4556 : 0 : return -1;
4557 : : return 0;
4558 : : }
4559 : :
4560 : : int
4561 : 2 : pattern1248 (rtx x1, machine_mode i1, machine_mode i2)
4562 : : {
4563 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4564 : 2 : int res ATTRIBUTE_UNUSED;
4565 : 2 : if (!vector_all_ones_operand (operands[3], i1)
4566 : 2 : || !const0_operand (operands[4], i1)
4567 : 2 : || GET_MODE (x1) != i2
4568 : 2 : || !vector_operand (operands[0], i1)
4569 : 4 : || !const0_operand (operands[1], i1))
4570 : 0 : return -1;
4571 : : return 0;
4572 : : }
4573 : :
4574 : : int
4575 : 325 : pattern1253 (rtx x1, machine_mode i1, machine_mode i2)
4576 : : {
4577 : 325 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4578 : 325 : rtx x2, x3;
4579 : 325 : int res ATTRIBUTE_UNUSED;
4580 : 325 : if (GET_CODE (x1) != SIGN_EXTEND
4581 : 325 : || GET_MODE (x1) != i2)
4582 : : return -1;
4583 : 325 : x2 = XEXP (x1, 0);
4584 : 325 : if (GET_CODE (x2) != VEC_SELECT
4585 : 325 : || GET_MODE (x2) != i1)
4586 : : return -1;
4587 : 325 : x3 = XEXP (x2, 1);
4588 : 325 : if (GET_CODE (x3) != PARALLEL)
4589 : 0 : return -1;
4590 : : return 0;
4591 : : }
4592 : :
4593 : : int
4594 : 1452 : pattern1259 (rtx x1, machine_mode i1, machine_mode i2)
4595 : : {
4596 : 1452 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4597 : 1452 : rtx x2, x3;
4598 : 1452 : int res ATTRIBUTE_UNUSED;
4599 : 1452 : if (!register_operand (operands[0], i1)
4600 : 1452 : || GET_MODE (x1) != i1)
4601 : : return -1;
4602 : 1315 : x2 = XEXP (x1, 0);
4603 : 1315 : if (GET_MODE (x2) != i1
4604 : 1315 : || !nonimmediate_operand (operands[1], i1)
4605 : 2594 : || !vector_operand (operands[2], i1))
4606 : 36 : return -1;
4607 : 1279 : x3 = XVECEXP (x2, 0, 2);
4608 : 1279 : if (GET_MODE (x3) != i1
4609 : 1279 : || !register_operand (operands[4], i2))
4610 : 57 : return -1;
4611 : : return 0;
4612 : : }
4613 : :
4614 : : int
4615 : 444 : pattern1268 (rtx x1)
4616 : : {
4617 : 444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4618 : 444 : rtx x2, x3;
4619 : 444 : int res ATTRIBUTE_UNUSED;
4620 : 444 : x2 = XEXP (x1, 0);
4621 : 444 : x3 = XEXP (x2, 0);
4622 : 444 : if (GET_MODE (x3) != E_V8HFmode
4623 : 444 : || !register_operand (operands[0], E_V8HFmode)
4624 : 430 : || GET_MODE (x1) != E_V8HFmode
4625 : 430 : || GET_MODE (x2) != E_V8HFmode
4626 : 430 : || !nonimmediate_operand (operands[1], E_V8HFmode)
4627 : 430 : || !nonimm_or_0_operand (operands[3], E_V8HFmode)
4628 : 872 : || !register_operand (operands[2], E_V8HFmode))
4629 : 16 : return -1;
4630 : : return 0;
4631 : : }
4632 : :
4633 : : int
4634 : 2039 : pattern1276 (rtx x1, machine_mode i1, machine_mode i2)
4635 : : {
4636 : 2039 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4637 : 2039 : rtx x2, x3;
4638 : 2039 : int res ATTRIBUTE_UNUSED;
4639 : 2039 : if (!register_operand (operands[0], i1)
4640 : 2039 : || GET_MODE (x1) != i1)
4641 : : return -1;
4642 : 1899 : x2 = XEXP (x1, 0);
4643 : 1899 : if (GET_MODE (x2) != i1
4644 : 1899 : || !vector_operand (operands[2], i1))
4645 : 4 : return -1;
4646 : 1895 : x3 = XEXP (x2, 2);
4647 : 1895 : if (GET_MODE (x3) != i1
4648 : 1895 : || !register_operand (operands[4], i2))
4649 : 0 : return -1;
4650 : : return 0;
4651 : : }
4652 : :
4653 : : int
4654 : 2574 : pattern1286 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4655 : : {
4656 : 2574 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4657 : 2574 : rtx x2, x3;
4658 : 2574 : int res ATTRIBUTE_UNUSED;
4659 : 2574 : if (!register_operand (operands[0], i2)
4660 : 2574 : || GET_MODE (x1) != i2)
4661 : : return -1;
4662 : 2530 : x2 = XVECEXP (x1, 0, 0);
4663 : 2530 : if (GET_MODE (x2) != i2)
4664 : : return -1;
4665 : 2530 : x3 = XEXP (x2, 0);
4666 : 2530 : if (GET_MODE (x3) != i2
4667 : 2530 : || !register_operand (operands[1], i3)
4668 : 2498 : || !nonimm_or_0_operand (operands[2], i2)
4669 : 5028 : || !register_operand (operands[3], i1))
4670 : 76 : return -1;
4671 : : return 0;
4672 : : }
4673 : :
4674 : : int
4675 : 900 : pattern1293 (rtx x1)
4676 : : {
4677 : 900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4678 : 900 : rtx x2, x3;
4679 : 900 : int res ATTRIBUTE_UNUSED;
4680 : 900 : if (!register_operand (operands[0], E_V8HFmode)
4681 : 900 : || GET_MODE (x1) != E_V8HFmode)
4682 : : return -1;
4683 : 870 : x2 = XVECEXP (x1, 0, 0);
4684 : 870 : if (GET_MODE (x2) != E_V8HFmode)
4685 : : return -1;
4686 : 870 : x3 = XEXP (x2, 0);
4687 : 870 : if (GET_MODE (x3) != E_V8HFmode
4688 : 870 : || !nonimm_or_0_operand (operands[2], E_V8HFmode)
4689 : 1738 : || !register_operand (operands[3], E_QImode))
4690 : 24 : return -1;
4691 : 846 : switch (GET_MODE (operands[1]))
4692 : : {
4693 : 0 : case E_V8HImode:
4694 : 0 : if (!register_operand (operands[1], E_V8HImode))
4695 : : return -1;
4696 : : return 0;
4697 : :
4698 : 0 : case E_V8SImode:
4699 : 0 : if (!register_operand (operands[1], E_V8SImode))
4700 : : return -1;
4701 : : return 1;
4702 : :
4703 : 846 : case E_V8DImode:
4704 : 846 : if (!register_operand (operands[1], E_V8DImode))
4705 : : return -1;
4706 : : return 2;
4707 : :
4708 : : default:
4709 : : return -1;
4710 : : }
4711 : : }
4712 : :
4713 : : int
4714 : 3 : pattern1305 (rtx x1)
4715 : : {
4716 : 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4717 : 3 : rtx x2, x3, x4, x5, x6;
4718 : 3 : int res ATTRIBUTE_UNUSED;
4719 : 3 : x2 = XVECEXP (x1, 0, 1);
4720 : 3 : x3 = XEXP (x2, 1);
4721 : 3 : x4 = XEXP (x3, 0);
4722 : 3 : operands[2] = x4;
4723 : 3 : if (!nonimmediate_operand (operands[2], E_SImode))
4724 : : return -1;
4725 : 3 : switch (GET_MODE (operands[0]))
4726 : : {
4727 : 0 : case E_SImode:
4728 : 0 : if (!memory_operand (operands[0], E_SImode))
4729 : : return -1;
4730 : 0 : x5 = XVECEXP (x1, 0, 0);
4731 : 0 : x6 = XEXP (x5, 1);
4732 : 0 : if (GET_MODE (x6) != E_SImode
4733 : 0 : || !memory_operand (operands[3], E_SImode))
4734 : 0 : return -1;
4735 : : return 0;
4736 : :
4737 : 3 : case E_DImode:
4738 : 3 : if (!memory_operand (operands[0], E_DImode))
4739 : : return -1;
4740 : 3 : x5 = XVECEXP (x1, 0, 0);
4741 : 3 : x6 = XEXP (x5, 1);
4742 : 3 : if (GET_MODE (x6) != E_DImode
4743 : 3 : || !memory_operand (operands[3], E_DImode))
4744 : 0 : return -1;
4745 : : return 1;
4746 : :
4747 : : default:
4748 : : return -1;
4749 : : }
4750 : : }
4751 : :
4752 : : int
4753 : 323 : pattern1317 (rtx x1, machine_mode i1)
4754 : : {
4755 : 323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4756 : 323 : rtx x2;
4757 : 323 : int res ATTRIBUTE_UNUSED;
4758 : 323 : if (!register_operand (operands[0], i1)
4759 : 323 : || GET_MODE (x1) != i1)
4760 : : return -1;
4761 : 323 : x2 = XEXP (x1, 0);
4762 : 323 : if (GET_MODE (x2) != i1
4763 : 323 : || !register_operand (operands[1], i1)
4764 : 646 : || !register_operand (operands[2], i1))
4765 : 0 : return -1;
4766 : : return 0;
4767 : : }
4768 : :
4769 : : int
4770 : 23518 : pattern1324 (rtx x1)
4771 : : {
4772 : 23518 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4773 : 23518 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4774 : 23518 : rtx x10, x11, x12;
4775 : 23518 : int res ATTRIBUTE_UNUSED;
4776 : 23518 : x2 = XEXP (x1, 1);
4777 : 23518 : x3 = XEXP (x2, 1);
4778 : 23518 : if (GET_CODE (x3) != LABEL_REF)
4779 : : return -1;
4780 : 17901 : x4 = XEXP (x2, 2);
4781 : 17901 : if (GET_CODE (x4) != PC)
4782 : : return -1;
4783 : 17901 : x5 = XEXP (x1, 0);
4784 : 17901 : if (GET_CODE (x5) != PC)
4785 : : return -1;
4786 : 17901 : x6 = XEXP (x2, 0);
4787 : 17901 : operands[0] = x6;
4788 : 17901 : x7 = XEXP (x6, 0);
4789 : 17901 : x8 = XEXP (x7, 0);
4790 : 17901 : operands[1] = x8;
4791 : 17901 : x9 = XEXP (x7, 2);
4792 : 17901 : switch (GET_CODE (x9))
4793 : : {
4794 : : case CONST_INT:
4795 : : case CONST_WIDE_INT:
4796 : : case CONST_POLY_INT:
4797 : : case CONST_FIXED:
4798 : : case CONST_DOUBLE:
4799 : : case CONST_VECTOR:
4800 : : case CONST:
4801 : : case REG:
4802 : : case SUBREG:
4803 : : case LABEL_REF:
4804 : : case SYMBOL_REF:
4805 : : case HIGH:
4806 : : return 0;
4807 : :
4808 : 106 : case AND:
4809 : 106 : if (GET_MODE (x9) != E_QImode)
4810 : : return -1;
4811 : 106 : x10 = XEXP (x9, 0);
4812 : 106 : operands[2] = x10;
4813 : 106 : if (!register_operand (operands[2], E_QImode))
4814 : : return -1;
4815 : 56 : x11 = XEXP (x9, 1);
4816 : 56 : operands[3] = x11;
4817 : 56 : if (!const_int_operand (operands[3], E_VOIDmode))
4818 : : return -1;
4819 : 56 : x12 = XEXP (x3, 0);
4820 : 56 : operands[4] = x12;
4821 : 56 : switch (GET_MODE (x7))
4822 : : {
4823 : 18 : case E_SImode:
4824 : 18 : if (!register_operand (operands[1], E_SImode))
4825 : : return -1;
4826 : : return 1;
4827 : :
4828 : 38 : case E_DImode:
4829 : 38 : if (!register_operand (operands[1], E_DImode))
4830 : : return -1;
4831 : : return 2;
4832 : :
4833 : : default:
4834 : : return -1;
4835 : : }
4836 : :
4837 : : default:
4838 : : return -1;
4839 : : }
4840 : : }
4841 : :
4842 : : int
4843 : 764 : pattern1349 (rtx x1)
4844 : : {
4845 : 764 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4846 : 764 : rtx x2, x3, x4, x5, x6, x7, x8;
4847 : 764 : int res ATTRIBUTE_UNUSED;
4848 : 764 : if (!nonimmediate_operand (operands[0], E_DImode))
4849 : : return -1;
4850 : 762 : x2 = XEXP (x1, 1);
4851 : 762 : if (GET_MODE (x2) != E_DImode)
4852 : : return -1;
4853 : 762 : x3 = XEXP (x2, 0);
4854 : 762 : if (GET_MODE (x3) != E_TImode)
4855 : : return -1;
4856 : 762 : x4 = XEXP (x3, 0);
4857 : 762 : if (GET_MODE (x4) != E_TImode)
4858 : : return -1;
4859 : 762 : x5 = XEXP (x4, 0);
4860 : 762 : operands[1] = x5;
4861 : 762 : if (!register_operand (operands[1], E_DImode))
4862 : : return -1;
4863 : 762 : x6 = XEXP (x3, 1);
4864 : 762 : operands[3] = x6;
4865 : 762 : if (!const_0_to_255_operand (operands[3], E_QImode))
4866 : : return -1;
4867 : 762 : x7 = XEXP (x1, 0);
4868 : 762 : x8 = XEXP (x7, 0);
4869 : 762 : if (!rtx_equal_p (x8, operands[0]))
4870 : : return -1;
4871 : : return 0;
4872 : : }
4873 : :
4874 : : int
4875 : 258 : pattern1357 (rtx x1, machine_mode i1, machine_mode i2)
4876 : : {
4877 : 258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4878 : 258 : rtx x2;
4879 : 258 : int res ATTRIBUTE_UNUSED;
4880 : 258 : if (!register_operand (operands[0], i1)
4881 : 258 : || GET_MODE (x1) != i1)
4882 : : return -1;
4883 : 249 : x2 = XEXP (x1, 0);
4884 : 249 : if (GET_MODE (x2) != i1
4885 : 249 : || !register_operand (operands[1], i1)
4886 : 249 : || !register_operand (operands[2], i2)
4887 : 249 : || !nonimmediate_operand (operands[3], i2)
4888 : 498 : || !const0_operand (operands[4], i1))
4889 : 0 : return -1;
4890 : : return 0;
4891 : : }
4892 : :
4893 : : int
4894 : 436 : pattern1365 (rtx x1, machine_mode i1)
4895 : : {
4896 : 436 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4897 : 436 : rtx x2;
4898 : 436 : int res ATTRIBUTE_UNUSED;
4899 : 436 : if (!register_operand (operands[0], i1)
4900 : 436 : || GET_MODE (x1) != i1)
4901 : : return -1;
4902 : 436 : x2 = XEXP (x1, 0);
4903 : 436 : if (GET_MODE (x2) != i1
4904 : 436 : || !nonimmediate_operand (operands[1], i1)
4905 : 436 : || !nonimmediate_operand (operands[2], i1)
4906 : 436 : || !nonimmediate_operand (operands[3], i1)
4907 : 872 : || !const0_operand (operands[4], i1))
4908 : 0 : return -1;
4909 : : return 0;
4910 : : }
4911 : :
4912 : : int
4913 : 40 : pattern1376 (rtx x1, machine_mode i1)
4914 : : {
4915 : 40 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4916 : 40 : rtx x2, x3;
4917 : 40 : int res ATTRIBUTE_UNUSED;
4918 : 40 : if (!register_operand (operands[0], i1)
4919 : 40 : || GET_MODE (x1) != i1)
4920 : : return -1;
4921 : 40 : x2 = XEXP (x1, 0);
4922 : 40 : if (GET_MODE (x2) != i1)
4923 : : return -1;
4924 : 40 : x3 = XEXP (x2, 0);
4925 : 40 : if (GET_MODE (x3) != i1
4926 : 40 : || !nonimmediate_operand (operands[1], i1)
4927 : 40 : || !nonimmediate_operand (operands[2], i1)
4928 : 40 : || !nonimmediate_operand (operands[3], i1)
4929 : 80 : || !const0_operand (operands[4], i1))
4930 : 0 : return -1;
4931 : : return 0;
4932 : : }
4933 : :
4934 : : int
4935 : 1126 : pattern1388 (rtx x1, machine_mode i1)
4936 : : {
4937 : 1126 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4938 : 1126 : rtx x2, x3, x4, x5, x6;
4939 : 1126 : int res ATTRIBUTE_UNUSED;
4940 : 1126 : if (!register_operand (operands[0], i1)
4941 : 1126 : || GET_MODE (x1) != i1)
4942 : : return -1;
4943 : 1075 : x2 = XVECEXP (x1, 0, 0);
4944 : 1075 : if (GET_MODE (x2) != i1)
4945 : : return -1;
4946 : 1075 : x3 = XEXP (x2, 0);
4947 : 1075 : if (GET_MODE (x3) != i1)
4948 : : return -1;
4949 : 1075 : x4 = XEXP (x3, 0);
4950 : 1075 : if (GET_MODE (x4) != i1)
4951 : : return -1;
4952 : 1075 : x5 = XEXP (x4, 0);
4953 : 1075 : if (GET_MODE (x5) != i1)
4954 : : return -1;
4955 : 1075 : x6 = XEXP (x4, 1);
4956 : 1075 : if (!register_operand (x6, i1))
4957 : : return -1;
4958 : : return 0;
4959 : : }
4960 : :
4961 : : int
4962 : 2545 : pattern1395 (rtx x1)
4963 : : {
4964 : 2545 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4965 : 2545 : rtx x2, x3;
4966 : 2545 : int res ATTRIBUTE_UNUSED;
4967 : 2545 : x2 = XVECEXP (x1, 0, 0);
4968 : 2545 : x3 = XEXP (x2, 1);
4969 : 2545 : if (!rtx_equal_p (x3, operands[1]))
4970 : : return -1;
4971 : 2545 : switch (GET_MODE (operands[0]))
4972 : : {
4973 : 379 : case E_V8HFmode:
4974 : 379 : return pattern1394 (x1,
4975 : 379 : E_V8HFmode); /* [-1, 0] */
4976 : :
4977 : 235 : case E_V4SFmode:
4978 : 235 : if (pattern1394 (x1,
4979 : : E_V4SFmode) != 0)
4980 : : return -1;
4981 : : return 1;
4982 : :
4983 : 1931 : case E_V2DFmode:
4984 : 1931 : if (pattern1394 (x1,
4985 : : E_V2DFmode) != 0)
4986 : : return -1;
4987 : : return 2;
4988 : :
4989 : : default:
4990 : : return -1;
4991 : : }
4992 : : }
4993 : :
4994 : : int
4995 : 3598 : pattern1404 (rtx x1)
4996 : : {
4997 : 3598 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4998 : 3598 : rtx x2, x3, x4, x5;
4999 : 3598 : int res ATTRIBUTE_UNUSED;
5000 : 3598 : x2 = XVECEXP (x1, 0, 12);
5001 : 3598 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
5002 : : return -1;
5003 : 3594 : x3 = XVECEXP (x1, 0, 13);
5004 : 3594 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
5005 : : return -1;
5006 : 3594 : x4 = XVECEXP (x1, 0, 14);
5007 : 3594 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
5008 : : return -1;
5009 : 3594 : x5 = XVECEXP (x1, 0, 15);
5010 : 3594 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
5011 : 0 : return -1;
5012 : : return 0;
5013 : : }
5014 : :
5015 : : int
5016 : 434527 : pattern1414 (rtx x1, machine_mode i1)
5017 : : {
5018 : 434527 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5019 : 434527 : int res ATTRIBUTE_UNUSED;
5020 : 434527 : if (!nonimmediate_operand (operands[1], i1)
5021 : 434263 : || !x86_64_general_operand (operands[2], i1)
5022 : 430109 : || !nonimmediate_operand (operands[0], i1)
5023 : 864636 : || GET_MODE (x1) != i1)
5024 : 4418 : return -1;
5025 : : return 0;
5026 : : }
5027 : :
5028 : : int
5029 : 46909 : pattern1422 (rtx x1, machine_mode i1)
5030 : : {
5031 : 46909 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5032 : 46909 : rtx x2;
5033 : 46909 : int res ATTRIBUTE_UNUSED;
5034 : 46909 : if (!register_operand (operands[0], i1)
5035 : 46909 : || GET_MODE (x1) != i1)
5036 : : return -1;
5037 : 44872 : x2 = XEXP (x1, 0);
5038 : 44872 : if (GET_MODE (x2) != i1
5039 : 44872 : || !register_operand (operands[1], i1)
5040 : 89008 : || !nonimmediate_operand (operands[2], i1))
5041 : 8006 : return -1;
5042 : : return 0;
5043 : : }
5044 : :
5045 : : int
5046 : 98752 : pattern1428 (rtx x1)
5047 : : {
5048 : 98752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5049 : 98752 : rtx x2, x3, x4;
5050 : 98752 : int res ATTRIBUTE_UNUSED;
5051 : 98752 : x2 = XVECEXP (x1, 0, 0);
5052 : 98752 : x3 = XEXP (x2, 1);
5053 : 98752 : operands[1] = x3;
5054 : 98752 : x4 = XEXP (x2, 0);
5055 : 98752 : if (!rtx_equal_p (x4, operands[0]))
5056 : : return -1;
5057 : 96827 : switch (GET_MODE (operands[0]))
5058 : : {
5059 : 5495 : case E_QImode:
5060 : 5495 : return pattern1427 (x1,
5061 : 5495 : E_QImode); /* [-1, 0] */
5062 : :
5063 : 4044 : case E_HImode:
5064 : 4044 : if (pattern1427 (x1,
5065 : : E_HImode) != 0)
5066 : : return -1;
5067 : : return 1;
5068 : :
5069 : 64381 : case E_SImode:
5070 : 64381 : if (pattern1427 (x1,
5071 : : E_SImode) != 0)
5072 : : return -1;
5073 : : return 2;
5074 : :
5075 : 22907 : case E_DImode:
5076 : 22907 : if (pattern1427 (x1,
5077 : : E_DImode) != 0)
5078 : : return -1;
5079 : : return 3;
5080 : :
5081 : : default:
5082 : : return -1;
5083 : : }
5084 : : }
5085 : :
5086 : : int
5087 : 0 : pattern1440 (rtx x1)
5088 : : {
5089 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5090 : 0 : rtx x2, x3, x4, x5;
5091 : 0 : int res ATTRIBUTE_UNUSED;
5092 : 0 : x2 = XEXP (x1, 2);
5093 : 0 : x3 = XEXP (x2, 0);
5094 : 0 : x4 = XEXP (x3, 0);
5095 : 0 : operands[1] = x4;
5096 : 0 : x5 = XEXP (x3, 1);
5097 : 0 : operands[2] = x5;
5098 : 0 : if (!const_int_operand (operands[2], E_VOIDmode))
5099 : : return -1;
5100 : 0 : switch (GET_MODE (x1))
5101 : : {
5102 : 0 : case E_SImode:
5103 : 0 : return pattern1439 (x3,
5104 : 0 : E_SImode); /* [-1, 2] */
5105 : :
5106 : 0 : case E_DImode:
5107 : 0 : res = pattern1439 (x3,
5108 : : E_DImode);
5109 : 0 : if (res >= 0)
5110 : 0 : return res + 3; /* [3, 5] */
5111 : : return -1;
5112 : :
5113 : : default:
5114 : : return -1;
5115 : : }
5116 : : }
5117 : :
5118 : : int
5119 : 114 : pattern1451 (rtx x1, machine_mode i1, machine_mode i2)
5120 : : {
5121 : 114 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5122 : 114 : rtx x2, x3;
5123 : 114 : int res ATTRIBUTE_UNUSED;
5124 : 114 : if (!register_operand (operands[0], i1)
5125 : 114 : || GET_MODE (x1) != i1)
5126 : : return -1;
5127 : 108 : x2 = XEXP (x1, 0);
5128 : 108 : if (GET_MODE (x2) != i1)
5129 : : return -1;
5130 : 108 : x3 = XEXP (x2, 0);
5131 : 108 : if (GET_MODE (x3) != i2
5132 : 108 : || !register_operand (operands[2], i1))
5133 : 2 : return -1;
5134 : : return 0;
5135 : : }
5136 : :
5137 : : int
5138 : 27 : pattern1457 (rtx x1, machine_mode i1, machine_mode i2)
5139 : : {
5140 : 27 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5141 : 27 : rtx x2, x3;
5142 : 27 : int res ATTRIBUTE_UNUSED;
5143 : 27 : if (!register_operand (operands[0], i1)
5144 : 27 : || GET_MODE (x1) != i1
5145 : 27 : || !vector_operand (operands[1], i1)
5146 : 54 : || !vector_operand (operands[2], i1))
5147 : 0 : return -1;
5148 : 27 : x2 = XEXP (x1, 2);
5149 : 27 : if (GET_MODE (x2) != i2)
5150 : : return -1;
5151 : 27 : x3 = XVECEXP (x2, 0, 0);
5152 : 27 : if (GET_MODE (x3) != i1
5153 : 27 : || !register_operand (operands[3], E_VOIDmode)
5154 : 48 : || !const0_operand (operands[4], i1))
5155 : 14 : return -1;
5156 : : return 0;
5157 : : }
5158 : :
5159 : : int
5160 : 187 : pattern1466 (rtx x1)
5161 : : {
5162 : 187 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5163 : 187 : rtx x2, x3;
5164 : 187 : int res ATTRIBUTE_UNUSED;
5165 : 187 : if (!register_operand (operands[0], E_V2DFmode)
5166 : 187 : || GET_MODE (x1) != E_V2DFmode)
5167 : : return -1;
5168 : 178 : x2 = XVECEXP (x1, 0, 0);
5169 : 178 : if (GET_MODE (x2) != E_V2DFmode)
5170 : : return -1;
5171 : 178 : x3 = XEXP (x2, 0);
5172 : 178 : if (GET_MODE (x3) != E_V2DFmode)
5173 : 0 : return -1;
5174 : : return 0;
5175 : : }
5176 : :
5177 : : int
5178 : 226 : pattern1471 (rtx x1)
5179 : : {
5180 : 226 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5181 : 226 : rtx x2;
5182 : 226 : int res ATTRIBUTE_UNUSED;
5183 : 226 : if (!register_operand (operands[0], E_V4SFmode)
5184 : 226 : || GET_MODE (x1) != E_V4SFmode)
5185 : : return -1;
5186 : 222 : x2 = XEXP (x1, 0);
5187 : 222 : switch (GET_MODE (x2))
5188 : : {
5189 : 112 : case E_V4HFmode:
5190 : 112 : if (!memory_operand (operands[1], E_V8HFmode))
5191 : : return -1;
5192 : : return 0;
5193 : :
5194 : 110 : case E_V4BFmode:
5195 : 110 : if (!memory_operand (operands[1], E_V8BFmode))
5196 : : return -1;
5197 : : return 1;
5198 : :
5199 : : default:
5200 : : return -1;
5201 : : }
5202 : : }
5203 : :
5204 : : int
5205 : 33116 : pattern1482 (rtx x1)
5206 : : {
5207 : 33116 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5208 : 33116 : rtx x2, x3, x4, x5;
5209 : 33116 : int res ATTRIBUTE_UNUSED;
5210 : 33116 : if (!register_operand (operands[0], E_SImode))
5211 : : return -1;
5212 : 26468 : x2 = XVECEXP (x1, 0, 0);
5213 : 26468 : x3 = XEXP (x2, 1);
5214 : 26468 : if (GET_MODE (x3) != E_SImode
5215 : 26468 : || !nonimmediate_operand (operands[3], E_SImode)
5216 : 52512 : || !register_operand (operands[1], E_SImode))
5217 : 460 : return -1;
5218 : 26008 : x4 = XVECEXP (x1, 0, 1);
5219 : 26008 : x5 = XEXP (x4, 1);
5220 : 26008 : if (GET_MODE (x5) != E_SImode)
5221 : : return -1;
5222 : : return 0;
5223 : : }
5224 : :
5225 : : int
5226 : 92 : pattern1489 (rtx x1, rtx_code i1)
5227 : : {
5228 : 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5229 : 92 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5230 : 92 : rtx x10;
5231 : 92 : int res ATTRIBUTE_UNUSED;
5232 : 92 : x2 = XVECEXP (x1, 0, 1);
5233 : 92 : x3 = XEXP (x2, 1);
5234 : 92 : if (GET_CODE (x3) != i1)
5235 : : return -1;
5236 : 92 : x4 = XVECEXP (x1, 0, 0);
5237 : 92 : x5 = XEXP (x4, 0);
5238 : 92 : operands[1] = x5;
5239 : 92 : x6 = XEXP (x4, 1);
5240 : 92 : x7 = XEXP (x6, 0);
5241 : 92 : x8 = XEXP (x7, 0);
5242 : 92 : operands[2] = x8;
5243 : 92 : if (!register_operand (operands[2], E_SImode))
5244 : : return -1;
5245 : 92 : x9 = XEXP (x7, 1);
5246 : 92 : operands[3] = x9;
5247 : 92 : if (!nonimmediate_operand (operands[3], E_SImode))
5248 : : return -1;
5249 : 92 : x10 = XEXP (x2, 0);
5250 : 92 : operands[0] = x10;
5251 : 92 : return pattern1487 (x1); /* [-1, 1] */
5252 : : }
5253 : :
5254 : : int
5255 : 228 : pattern1499 (rtx x1, machine_mode i1)
5256 : : {
5257 : 228 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5258 : 228 : rtx x2, x3, x4;
5259 : 228 : int res ATTRIBUTE_UNUSED;
5260 : 228 : if (GET_MODE (x1) != i1)
5261 : : return -1;
5262 : 228 : x2 = XEXP (x1, 0);
5263 : 228 : if (GET_MODE (x2) != i1)
5264 : : return -1;
5265 : 228 : x3 = XEXP (x2, 0);
5266 : 228 : if (GET_MODE (x3) != i1)
5267 : : return -1;
5268 : 228 : x4 = XEXP (x3, 0);
5269 : 228 : if (GET_MODE (x4) != i1)
5270 : 0 : return -1;
5271 : : return 0;
5272 : : }
5273 : :
5274 : : int
5275 : 5450 : pattern1505 (rtx x1)
5276 : : {
5277 : 5450 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5278 : 5450 : rtx x2, x3, x4, x5, x6, x7;
5279 : 5450 : int res ATTRIBUTE_UNUSED;
5280 : 5450 : x2 = XVECEXP (x1, 0, 0);
5281 : 5450 : x3 = XEXP (x2, 0);
5282 : 5450 : x4 = XEXP (x3, 1);
5283 : 5450 : switch (GET_CODE (x4))
5284 : : {
5285 : 3784 : case REG:
5286 : 3784 : case SUBREG:
5287 : 3784 : case MEM:
5288 : 3784 : x5 = XEXP (x3, 2);
5289 : 3784 : operands[4] = x5;
5290 : 3784 : x6 = XVECEXP (x1, 0, 1);
5291 : 3784 : operands[5] = x6;
5292 : 3784 : switch (GET_MODE (operands[0]))
5293 : : {
5294 : : case E_V8HFmode:
5295 : : return 0;
5296 : :
5297 : : case E_V4SFmode:
5298 : : return 1;
5299 : :
5300 : : case E_V2DFmode:
5301 : : return 2;
5302 : :
5303 : : default:
5304 : : return -1;
5305 : : }
5306 : :
5307 : 1666 : case CONST_INT:
5308 : 1666 : case CONST_DOUBLE:
5309 : 1666 : case CONST_VECTOR:
5310 : 1666 : operands[4] = x4;
5311 : 1666 : x5 = XEXP (x3, 2);
5312 : 1666 : operands[5] = x5;
5313 : 1666 : x6 = XVECEXP (x1, 0, 1);
5314 : 1666 : operands[6] = x6;
5315 : 1666 : x7 = XEXP (x2, 1);
5316 : 1666 : if (!rtx_equal_p (x7, operands[1]))
5317 : : return -1;
5318 : 1666 : switch (GET_MODE (operands[0]))
5319 : : {
5320 : : case E_V8HFmode:
5321 : : return 3;
5322 : :
5323 : : case E_V4SFmode:
5324 : : return 4;
5325 : :
5326 : : case E_V2DFmode:
5327 : : return 5;
5328 : :
5329 : : default:
5330 : : return -1;
5331 : : }
5332 : :
5333 : : default:
5334 : : return -1;
5335 : : }
5336 : : }
5337 : :
5338 : : int
5339 : 242 : pattern1526 (rtx x1, machine_mode i1, machine_mode i2)
5340 : : {
5341 : 242 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5342 : 242 : rtx x2, x3, x4, x5, x6, x7;
5343 : 242 : int res ATTRIBUTE_UNUSED;
5344 : 242 : if (!register_operand (operands[0], i2)
5345 : 242 : || GET_MODE (x1) != i2)
5346 : : return -1;
5347 : 199 : x2 = XEXP (x1, 0);
5348 : 199 : if (GET_MODE (x2) != i1)
5349 : : return -1;
5350 : 199 : x3 = XEXP (x2, 0);
5351 : 199 : if (GET_MODE (x3) != i1)
5352 : : return -1;
5353 : 199 : x4 = XEXP (x3, 0);
5354 : 199 : if (GET_MODE (x4) != i1)
5355 : : return -1;
5356 : 199 : x5 = XEXP (x4, 0);
5357 : 199 : if (GET_MODE (x5) != i1
5358 : 199 : || !register_operand (operands[1], i2))
5359 : 50 : return -1;
5360 : 149 : x6 = XEXP (x4, 1);
5361 : 149 : if (GET_MODE (x6) != i1
5362 : 149 : || !register_operand (operands[2], i2))
5363 : 29 : return -1;
5364 : 120 : x7 = XEXP (x3, 1);
5365 : 120 : if (GET_MODE (x7) != i1)
5366 : : return -1;
5367 : : return 0;
5368 : : }
5369 : :
5370 : : int
5371 : 973 : pattern1539 (rtx x1, machine_mode i1, machine_mode i2)
5372 : : {
5373 : 973 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5374 : 973 : rtx x2, x3;
5375 : 973 : int res ATTRIBUTE_UNUSED;
5376 : 973 : if (!register_operand (operands[0], i1)
5377 : 973 : || GET_MODE (x1) != i1)
5378 : : return -1;
5379 : 912 : x2 = XVECEXP (x1, 0, 0);
5380 : 912 : if (GET_MODE (x2) != i1)
5381 : : return -1;
5382 : 912 : x3 = XEXP (x2, 0);
5383 : 912 : if (GET_MODE (x3) != i1
5384 : 912 : || !register_operand (operands[1], i1)
5385 : 904 : || !nonimm_or_0_operand (operands[3], i1)
5386 : 1801 : || !register_operand (operands[4], i2))
5387 : 53 : return -1;
5388 : : return 0;
5389 : : }
5390 : :
5391 : : int
5392 : 7243 : pattern1547 (rtx x1)
5393 : : {
5394 : 7243 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5395 : 7243 : rtx x2, x3;
5396 : 7243 : int res ATTRIBUTE_UNUSED;
5397 : 7243 : if (!register_operand (operands[0], E_V4SFmode)
5398 : 7243 : || GET_MODE (x1) != E_V4SFmode)
5399 : : return -1;
5400 : 4153 : x2 = XEXP (x1, 0);
5401 : 4153 : if (GET_MODE (x2) != E_V8SFmode
5402 : 4153 : || !vector_operand (operands[1], E_V4SFmode))
5403 : 98 : return -1;
5404 : 4055 : x3 = XEXP (x2, 1);
5405 : 4055 : if (!rtx_equal_p (x3, operands[1]))
5406 : : return -1;
5407 : : return 0;
5408 : : }
5409 : :
5410 : : int
5411 : 25452 : pattern1556 (rtx x1)
5412 : : {
5413 : 25452 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5414 : 25452 : int res ATTRIBUTE_UNUSED;
5415 : 25452 : switch (GET_MODE (operands[0]))
5416 : : {
5417 : 21341 : case E_SImode:
5418 : 21341 : if (!register_operand (operands[0], E_SImode)
5419 : 21341 : || GET_MODE (x1) != E_SImode)
5420 : : return -1;
5421 : : return 0;
5422 : :
5423 : 4111 : case E_DImode:
5424 : 4111 : if (!register_operand (operands[0], E_DImode)
5425 : 4111 : || GET_MODE (x1) != E_DImode)
5426 : : return -1;
5427 : : return 1;
5428 : :
5429 : : default:
5430 : : return -1;
5431 : : }
5432 : : }
5433 : :
5434 : : int
5435 : 562 : pattern1565 (rtx x1)
5436 : : {
5437 : 562 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5438 : 562 : rtx x2, x3, x4;
5439 : 562 : int res ATTRIBUTE_UNUSED;
5440 : 562 : x2 = XEXP (x1, 2);
5441 : 562 : operands[3] = x2;
5442 : 562 : x3 = XEXP (x1, 1);
5443 : 562 : x4 = XEXP (x3, 0);
5444 : 562 : if (!rtx_equal_p (x4, operands[2]))
5445 : : return -1;
5446 : 424 : switch (GET_MODE (operands[0]))
5447 : : {
5448 : 17 : case E_HImode:
5449 : 17 : return pattern1564 (x1,
5450 : 17 : E_HImode); /* [-1, 0] */
5451 : :
5452 : 390 : case E_SImode:
5453 : 390 : if (pattern1564 (x1,
5454 : : E_SImode) != 0)
5455 : : return -1;
5456 : : return 1;
5457 : :
5458 : 17 : case E_DImode:
5459 : 17 : if (pattern1564 (x1,
5460 : : E_DImode) != 0)
5461 : : return -1;
5462 : : return 2;
5463 : :
5464 : : default:
5465 : : return -1;
5466 : : }
5467 : : }
5468 : :
5469 : : int
5470 : 0 : pattern1573 (rtx x1, machine_mode i1, machine_mode i2)
5471 : : {
5472 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5473 : 0 : rtx x2, x3, x4;
5474 : 0 : int res ATTRIBUTE_UNUSED;
5475 : 0 : if (!register_operand (operands[0], i1)
5476 : 0 : || GET_MODE (x1) != i1)
5477 : : return -1;
5478 : 0 : x2 = XVECEXP (x1, 0, 0);
5479 : 0 : if (GET_MODE (x2) != i1)
5480 : : return -1;
5481 : 0 : x3 = XEXP (x2, 0);
5482 : 0 : if (GET_MODE (x3) != i1)
5483 : : return -1;
5484 : 0 : x4 = XEXP (x3, 0);
5485 : 0 : if (GET_MODE (x4) != i2
5486 : 0 : || !register_operand (operands[2], i2)
5487 : 0 : || !register_operand (operands[1], i1))
5488 : 0 : return -1;
5489 : : return 0;
5490 : : }
5491 : :
5492 : : int
5493 : 507 : pattern1582 (rtx x1, machine_mode i1, machine_mode i2)
5494 : : {
5495 : 507 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5496 : 507 : rtx x2, x3, x4;
5497 : 507 : int res ATTRIBUTE_UNUSED;
5498 : 507 : if (!register_operand (operands[0], i2)
5499 : 507 : || GET_MODE (x1) != i2)
5500 : : return -1;
5501 : 493 : x2 = XVECEXP (x1, 0, 0);
5502 : 493 : if (GET_MODE (x2) != i2)
5503 : : return -1;
5504 : 493 : x3 = XEXP (x2, 0);
5505 : 493 : if (GET_MODE (x3) != i2
5506 : 493 : || !register_operand (operands[1], i2))
5507 : 5 : return -1;
5508 : 488 : x4 = XEXP (x3, 2);
5509 : 488 : return pattern1581 (x4,
5510 : : i1,
5511 : 488 : i2); /* [-1, 0] */
5512 : : }
5513 : :
5514 : : int
5515 : 0 : pattern1590 (rtx x1, machine_mode i1, machine_mode i2)
5516 : : {
5517 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5518 : 0 : rtx x2, x3, x4, x5, x6;
5519 : 0 : int res ATTRIBUTE_UNUSED;
5520 : 0 : if (!register_operand (operands[0], i1)
5521 : 0 : || GET_MODE (x1) != i1)
5522 : : return -1;
5523 : 0 : x2 = XVECEXP (x1, 0, 0);
5524 : 0 : if (GET_MODE (x2) != i1)
5525 : : return -1;
5526 : 0 : x3 = XEXP (x2, 0);
5527 : 0 : if (GET_MODE (x3) != i1)
5528 : : return -1;
5529 : 0 : x4 = XEXP (x3, 0);
5530 : 0 : if (GET_MODE (x4) != i1
5531 : 0 : || !register_operand (operands[1], i1)
5532 : 0 : || !register_operand (operands[2], i1))
5533 : 0 : return -1;
5534 : 0 : x5 = XEXP (x3, 2);
5535 : 0 : if (GET_MODE (x5) != i1
5536 : 0 : || !nonimmediate_operand (operands[3], i1)
5537 : 0 : || !register_operand (operands[4], i2))
5538 : 0 : return -1;
5539 : 0 : x6 = XEXP (x2, 1);
5540 : 0 : if (!rtx_equal_p (x6, operands[3]))
5541 : : return -1;
5542 : : return 0;
5543 : : }
5544 : :
5545 : : int
5546 : 35 : pattern1604 (machine_mode i1)
5547 : : {
5548 : 35 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5549 : 35 : int res ATTRIBUTE_UNUSED;
5550 : 35 : if (!vsib_address_operand (operands[3], i1))
5551 : : return -1;
5552 : 27 : switch (GET_MODE (operands[2]))
5553 : : {
5554 : 4 : case E_V4SImode:
5555 : 4 : if (!register_operand (operands[2], E_V4SImode))
5556 : : return -1;
5557 : : return 0;
5558 : :
5559 : 23 : case E_V4DImode:
5560 : 23 : if (!register_operand (operands[2], E_V4DImode))
5561 : : return -1;
5562 : : return 1;
5563 : :
5564 : : default:
5565 : : return -1;
5566 : : }
5567 : : }
5568 : :
5569 : : int
5570 : 38 : pattern1612 (rtx x1, machine_mode i1)
5571 : : {
5572 : 38 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5573 : 38 : rtx x2;
5574 : 38 : int res ATTRIBUTE_UNUSED;
5575 : 38 : if (!nonimmediate_operand (operands[0], i1)
5576 : 38 : || GET_MODE (x1) != i1)
5577 : : return -1;
5578 : 38 : x2 = XEXP (x1, 0);
5579 : 38 : if (GET_MODE (x2) != i1
5580 : 38 : || !ix86_carry_flag_operator (operands[4], i1)
5581 : 38 : || !nonimmediate_operand (operands[1], i1)
5582 : 76 : || !general_operand (operands[2], i1))
5583 : 0 : return -1;
5584 : : return 0;
5585 : : }
5586 : :
5587 : : int
5588 : 1 : pattern1619 (rtx x1, machine_mode i1)
5589 : : {
5590 : 1 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5591 : 1 : rtx x2;
5592 : 1 : int res ATTRIBUTE_UNUSED;
5593 : 1 : if (!register_operand (operands[0], i1)
5594 : 1 : || GET_MODE (x1) != i1)
5595 : : return -1;
5596 : 1 : x2 = XEXP (x1, 0);
5597 : 1 : if (GET_MODE (x2) != i1
5598 : 1 : || !nonimmediate_operand (operands[1], i1)
5599 : 2 : || !register_operand (operands[2], i1))
5600 : 0 : return -1;
5601 : : return 0;
5602 : : }
5603 : :
5604 : : int
5605 : 420 : pattern1628 (rtx x1, machine_mode i1, machine_mode i2)
5606 : : {
5607 : 420 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5608 : 420 : rtx x2, x3, x4, x5, x6;
5609 : 420 : int res ATTRIBUTE_UNUSED;
5610 : 420 : if (!register_operand (operands[0], i1)
5611 : 420 : || GET_MODE (x1) != i1)
5612 : : return -1;
5613 : 400 : x2 = XEXP (x1, 0);
5614 : 400 : if (GET_MODE (x2) != i2)
5615 : : return -1;
5616 : 400 : x3 = XEXP (x2, 0);
5617 : 400 : if (GET_MODE (x3) != i2)
5618 : : return -1;
5619 : 400 : x4 = XEXP (x3, 0);
5620 : 400 : if (GET_MODE (x4) != i2)
5621 : : return -1;
5622 : 400 : x5 = XEXP (x4, 0);
5623 : 400 : if (GET_MODE (x5) != i2
5624 : 400 : || !register_mmxmem_operand (operands[1], i1))
5625 : 16 : return -1;
5626 : 384 : x6 = XEXP (x4, 1);
5627 : 384 : if (GET_MODE (x6) != i2
5628 : 384 : || !register_mmxmem_operand (operands[2], i1))
5629 : 12 : return -1;
5630 : : return 0;
5631 : : }
5632 : :
5633 : : int
5634 : 327 : pattern1640 (rtx x1, machine_mode i1, machine_mode i2)
5635 : : {
5636 : 327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5637 : 327 : rtx x2, x3, x4;
5638 : 327 : int res ATTRIBUTE_UNUSED;
5639 : 327 : if (!register_operand (operands[0], i2)
5640 : 327 : || GET_MODE (x1) != i2)
5641 : : return -1;
5642 : 311 : x2 = XVECEXP (x1, 0, 0);
5643 : 311 : if (GET_MODE (x2) != i2)
5644 : : return -1;
5645 : 311 : x3 = XEXP (x2, 0);
5646 : 311 : if (GET_MODE (x3) != i2
5647 : 311 : || !register_operand (operands[1], i2)
5648 : 617 : || !register_operand (operands[2], i2))
5649 : 9 : return -1;
5650 : 302 : x4 = XVECEXP (x3, 0, 2);
5651 : 302 : if (GET_MODE (x4) != i2
5652 : 302 : || !register_operand (operands[3], i2)
5653 : 302 : || !const0_operand (operands[4], i2)
5654 : 604 : || !register_operand (operands[5], i1))
5655 : 8 : return -1;
5656 : : return 0;
5657 : : }
5658 : :
5659 : : int
5660 : 155 : pattern1650 (rtx x1, machine_mode i1, machine_mode i2)
5661 : : {
5662 : 155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5663 : 155 : rtx x2, x3;
5664 : 155 : int res ATTRIBUTE_UNUSED;
5665 : 155 : if (!register_operand (operands[0], i2)
5666 : 151 : || GET_MODE (x1) != i2
5667 : 151 : || !register_operand (operands[1], i2)
5668 : 151 : || !register_operand (operands[7], E_QImode)
5669 : 270 : || !vsib_mem_operator (operands[6], i1))
5670 : 40 : return -1;
5671 : 115 : x2 = XVECEXP (x1, 0, 2);
5672 : 115 : x3 = XEXP (x2, 0);
5673 : 115 : switch (GET_MODE (x3))
5674 : : {
5675 : 0 : case E_SImode:
5676 : 0 : return pattern1649 (
5677 : 0 : E_SImode); /* [-1, 1] */
5678 : :
5679 : 115 : case E_DImode:
5680 : 115 : res = pattern1649 (
5681 : : E_DImode);
5682 : 115 : if (res >= 0)
5683 : 75 : return res + 2; /* [2, 3] */
5684 : : return -1;
5685 : :
5686 : : default:
5687 : : return -1;
5688 : : }
5689 : : }
5690 : :
5691 : : int
5692 : 469 : pattern1662 (rtx x1)
5693 : : {
5694 : 469 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5695 : 469 : rtx x2, x3, x4, x5, x6, x7;
5696 : 469 : int res ATTRIBUTE_UNUSED;
5697 : 469 : x2 = XVECEXP (x1, 0, 2);
5698 : 469 : if (XWINT (x2, 0) != 2L)
5699 : : return -1;
5700 : 447 : x3 = XVECEXP (x1, 0, 3);
5701 : 447 : if (XWINT (x3, 0) != 2L)
5702 : : return -1;
5703 : 447 : x4 = XVECEXP (x1, 0, 4);
5704 : 447 : if (XWINT (x4, 0) != 4L)
5705 : : return -1;
5706 : 447 : x5 = XVECEXP (x1, 0, 5);
5707 : 447 : if (XWINT (x5, 0) != 4L)
5708 : : return -1;
5709 : 447 : x6 = XVECEXP (x1, 0, 6);
5710 : 447 : if (XWINT (x6, 0) != 6L)
5711 : : return -1;
5712 : 447 : x7 = XVECEXP (x1, 0, 7);
5713 : 447 : if (XWINT (x7, 0) != 6L)
5714 : 0 : return -1;
5715 : : return 0;
5716 : : }
5717 : :
5718 : : int
5719 : 62673 : pattern1672 (rtx x1, rtx_code i1)
5720 : : {
5721 : 62673 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5722 : 62673 : rtx x2, x3, x4;
5723 : 62673 : int res ATTRIBUTE_UNUSED;
5724 : 62673 : if (GET_CODE (x1) != i1)
5725 : : return -1;
5726 : 50975 : x2 = XEXP (x1, 0);
5727 : 50975 : if (GET_CODE (x2) != MINUS)
5728 : : return -1;
5729 : 43708 : x3 = XEXP (x2, 1);
5730 : 43708 : switch (GET_CODE (x3))
5731 : : {
5732 : 39012 : case LTU:
5733 : 39012 : case UNLT:
5734 : 39012 : operands[5] = x3;
5735 : 39012 : x4 = XEXP (x3, 1);
5736 : 39012 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5737 : : return -1;
5738 : : return 0;
5739 : :
5740 : : default:
5741 : : return -1;
5742 : : }
5743 : : }
5744 : :
5745 : : int
5746 : 6051 : pattern1681 (rtx x1)
5747 : : {
5748 : 6051 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5749 : 6051 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5750 : 6051 : int res ATTRIBUTE_UNUSED;
5751 : 6051 : x2 = XEXP (x1, 0);
5752 : 6051 : x3 = XEXP (x2, 0);
5753 : 6051 : x4 = XEXP (x3, 2);
5754 : 6051 : if (maybe_ne (SUBREG_BYTE (x4), 0)
5755 : 6051 : || GET_MODE (x4) != E_QImode)
5756 : : return -1;
5757 : 6051 : x5 = XEXP (x4, 0);
5758 : 6051 : if (GET_CODE (x5) != AND)
5759 : : return -1;
5760 : 633 : x6 = XEXP (x5, 0);
5761 : 633 : operands[2] = x6;
5762 : 633 : x7 = XEXP (x5, 1);
5763 : 633 : operands[3] = x7;
5764 : 633 : if (!const_int_operand (operands[3], E_VOIDmode))
5765 : : return -1;
5766 : 633 : x8 = XEXP (x1, 1);
5767 : 633 : x9 = XEXP (x8, 0);
5768 : 633 : operands[4] = x9;
5769 : 633 : switch (GET_MODE (x3))
5770 : : {
5771 : 484 : case E_SImode:
5772 : 484 : return pattern1680 (x5,
5773 : 484 : E_SImode); /* [-1, 2] */
5774 : :
5775 : 149 : case E_DImode:
5776 : 149 : res = pattern1680 (x5,
5777 : : E_DImode);
5778 : 149 : if (res >= 0)
5779 : 64 : return res + 3; /* [3, 5] */
5780 : : return -1;
5781 : :
5782 : : default:
5783 : : return -1;
5784 : : }
5785 : : }
5786 : :
5787 : : int
5788 : 447 : pattern1692 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5789 : : {
5790 : 447 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5791 : 447 : rtx x2, x3;
5792 : 447 : int res ATTRIBUTE_UNUSED;
5793 : 447 : if (!register_operand (operands[0], i2)
5794 : 447 : || GET_MODE (x1) != i2)
5795 : : return -1;
5796 : 441 : x2 = XVECEXP (x1, 0, 0);
5797 : 441 : if (GET_MODE (x2) != i2)
5798 : : return -1;
5799 : 441 : x3 = XEXP (x2, 0);
5800 : 441 : if (GET_MODE (x3) != i2
5801 : 441 : || !register_operand (operands[1], i2)
5802 : 441 : || !register_operand (operands[2], i2)
5803 : 441 : || !nonimmediate_operand (operands[3], i1)
5804 : 882 : || !register_operand (operands[5], i3))
5805 : 0 : return -1;
5806 : : return 0;
5807 : : }
5808 : :
5809 : : int
5810 : 94456 : pattern1701 (rtx x1)
5811 : : {
5812 : 94456 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5813 : 94456 : rtx x2, x3, x4, x5, x6, x7, x8;
5814 : 94456 : int res ATTRIBUTE_UNUSED;
5815 : 94456 : x2 = XEXP (x1, 1);
5816 : 94456 : x3 = XVECEXP (x2, 0, 4);
5817 : 94456 : if (XWINT (x3, 0) != 6L)
5818 : : return -1;
5819 : 94456 : x4 = XVECEXP (x2, 0, 5);
5820 : 94456 : if (XWINT (x4, 0) != 14L)
5821 : : return -1;
5822 : 94456 : x5 = XVECEXP (x2, 0, 6);
5823 : 94456 : if (XWINT (x5, 0) != 7L)
5824 : : return -1;
5825 : 94456 : x6 = XVECEXP (x2, 0, 7);
5826 : 94456 : if (XWINT (x6, 0) != 15L)
5827 : : return -1;
5828 : 94456 : x7 = XEXP (x1, 0);
5829 : 94456 : x8 = XEXP (x7, 1);
5830 : 94456 : operands[2] = x8;
5831 : 94456 : return 0;
5832 : : }
5833 : :
5834 : : int
5835 : 829 : pattern1711 (rtx x1, machine_mode i1, machine_mode i2)
5836 : : {
5837 : 829 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5838 : 829 : int res ATTRIBUTE_UNUSED;
5839 : 829 : if (!register_operand (operands[6], i1)
5840 : 829 : || !register_operand (operands[2], i2)
5841 : 1608 : || !scratch_operand (operands[1], i1))
5842 : 50 : return -1;
5843 : 779 : switch (GET_MODE (x1))
5844 : : {
5845 : 0 : case E_SImode:
5846 : 0 : if (!vsib_address_operand (operands[3], E_SImode))
5847 : : return -1;
5848 : : return 0;
5849 : :
5850 : 779 : case E_DImode:
5851 : 779 : if (!vsib_address_operand (operands[3], E_DImode))
5852 : : return -1;
5853 : : return 1;
5854 : :
5855 : : default:
5856 : : return -1;
5857 : : }
5858 : : }
5859 : :
5860 : : int
5861 : 3047 : pattern1721 (rtx x1)
5862 : : {
5863 : 3047 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5864 : 3047 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5865 : 3047 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
5866 : 3047 : rtx x18, x19, x20, x21, x22, x23;
5867 : 3047 : int res ATTRIBUTE_UNUSED;
5868 : 3047 : if (!register_operand (operands[0], E_SImode))
5869 : : return -1;
5870 : 3043 : x2 = XVECEXP (x1, 0, 0);
5871 : 3043 : x3 = XEXP (x2, 1);
5872 : 3043 : x4 = XVECEXP (x3, 0, 0);
5873 : 3043 : operands[2] = x4;
5874 : 3043 : if (!register_operand (operands[2], E_V16QImode))
5875 : : return -1;
5876 : 3017 : x5 = XVECEXP (x3, 0, 1);
5877 : 3017 : operands[3] = x5;
5878 : 3017 : if (!register_operand (operands[3], E_SImode))
5879 : : return -1;
5880 : 2991 : x6 = XVECEXP (x3, 0, 2);
5881 : 2991 : operands[4] = x6;
5882 : 2991 : if (!nonimmediate_operand (operands[4], E_V16QImode))
5883 : : return -1;
5884 : 2991 : x7 = XVECEXP (x3, 0, 3);
5885 : 2991 : operands[5] = x7;
5886 : 2991 : if (!register_operand (operands[5], E_SImode))
5887 : : return -1;
5888 : 2975 : x8 = XVECEXP (x3, 0, 4);
5889 : 2975 : operands[6] = x8;
5890 : 2975 : if (!const_0_to_255_operand (operands[6], E_SImode))
5891 : : return -1;
5892 : 2975 : x9 = XVECEXP (x1, 0, 1);
5893 : 2975 : x10 = XEXP (x9, 0);
5894 : 2975 : operands[1] = x10;
5895 : 2975 : if (!register_operand (operands[1], E_V16QImode))
5896 : : return -1;
5897 : 2935 : x11 = XEXP (x9, 1);
5898 : 2935 : x12 = XVECEXP (x11, 0, 0);
5899 : 2935 : if (!rtx_equal_p (x12, operands[2]))
5900 : : return -1;
5901 : 2903 : x13 = XVECEXP (x11, 0, 1);
5902 : 2903 : if (!rtx_equal_p (x13, operands[3]))
5903 : : return -1;
5904 : 2883 : x14 = XVECEXP (x11, 0, 2);
5905 : 2883 : if (!rtx_equal_p (x14, operands[4]))
5906 : : return -1;
5907 : 2851 : x15 = XVECEXP (x11, 0, 3);
5908 : 2851 : if (!rtx_equal_p (x15, operands[5]))
5909 : : return -1;
5910 : 2835 : x16 = XVECEXP (x11, 0, 4);
5911 : 2835 : if (!rtx_equal_p (x16, operands[6]))
5912 : : return -1;
5913 : 2835 : x17 = XVECEXP (x1, 0, 2);
5914 : 2835 : x18 = XEXP (x17, 1);
5915 : 2835 : x19 = XVECEXP (x18, 0, 0);
5916 : 2835 : if (!rtx_equal_p (x19, operands[2]))
5917 : : return -1;
5918 : 2755 : x20 = XVECEXP (x18, 0, 1);
5919 : 2755 : if (!rtx_equal_p (x20, operands[3]))
5920 : : return -1;
5921 : 2675 : x21 = XVECEXP (x18, 0, 2);
5922 : 2675 : if (!rtx_equal_p (x21, operands[4]))
5923 : : return -1;
5924 : 2595 : x22 = XVECEXP (x18, 0, 3);
5925 : 2595 : if (!rtx_equal_p (x22, operands[5]))
5926 : : return -1;
5927 : 2515 : x23 = XVECEXP (x18, 0, 4);
5928 : 2515 : if (!rtx_equal_p (x23, operands[6]))
5929 : : return -1;
5930 : : return 0;
5931 : : }
5932 : :
5933 : : int
5934 : 230 : pattern1750 (rtx x1)
5935 : : {
5936 : 230 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5937 : 230 : rtx x2;
5938 : 230 : int res ATTRIBUTE_UNUSED;
5939 : 230 : if (!register_operand (operands[0], E_V8SFmode)
5940 : 230 : || GET_MODE (x1) != E_V8SFmode)
5941 : : return -1;
5942 : 222 : x2 = XEXP (x1, 0);
5943 : 222 : switch (GET_MODE (x2))
5944 : : {
5945 : 112 : case E_V8HFmode:
5946 : 112 : if (!memory_operand (operands[1], E_V16HFmode))
5947 : : return -1;
5948 : : return 0;
5949 : :
5950 : 110 : case E_V8BFmode:
5951 : 110 : if (!memory_operand (operands[1], E_V16BFmode))
5952 : : return -1;
5953 : : return 1;
5954 : :
5955 : : default:
5956 : : return -1;
5957 : : }
5958 : : }
5959 : :
5960 : : int
5961 : 451 : pattern1761 (rtx x1, machine_mode i1, machine_mode i2)
5962 : : {
5963 : 451 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5964 : 451 : rtx x2, x3, x4;
5965 : 451 : int res ATTRIBUTE_UNUSED;
5966 : 451 : if (!register_operand (operands[0], i2)
5967 : 451 : || GET_MODE (x1) != i2)
5968 : : return -1;
5969 : 443 : x2 = XVECEXP (x1, 0, 0);
5970 : 443 : if (GET_MODE (x2) != i2)
5971 : : return -1;
5972 : 443 : x3 = XEXP (x2, 0);
5973 : 443 : if (GET_MODE (x3) != i2)
5974 : : return -1;
5975 : 443 : x4 = XEXP (x3, 0);
5976 : 443 : if (GET_MODE (x4) != i2
5977 : 443 : || !register_operand (operands[1], i2)
5978 : 441 : || !register_operand (operands[2], i2)
5979 : 884 : || !register_operand (operands[3], i1))
5980 : 2 : return -1;
5981 : : return 0;
5982 : : }
5983 : :
5984 : : int
5985 : 653 : pattern1770 (rtx x1, machine_mode i1, machine_mode i2)
5986 : : {
5987 : 653 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5988 : 653 : rtx x2, x3;
5989 : 653 : int res ATTRIBUTE_UNUSED;
5990 : 653 : if (!register_operand (operands[0], i1)
5991 : 645 : || GET_MODE (x1) != i1
5992 : 645 : || !vsib_mem_operator (operands[6], i2)
5993 : 645 : || !register_operand (operands[4], i1)
5994 : 1176 : || !scratch_operand (operands[1], i1))
5995 : 130 : return -1;
5996 : 523 : x2 = XVECEXP (x1, 0, 1);
5997 : 523 : x3 = XEXP (x2, 0);
5998 : 523 : switch (GET_MODE (x3))
5999 : : {
6000 : 0 : case E_SImode:
6001 : 0 : return pattern1769 (
6002 : 0 : E_SImode); /* [-1, 1] */
6003 : :
6004 : 523 : case E_DImode:
6005 : 523 : res = pattern1769 (
6006 : : E_DImode);
6007 : 523 : if (res >= 0)
6008 : 435 : return res + 2; /* [2, 3] */
6009 : : return -1;
6010 : :
6011 : : default:
6012 : : return -1;
6013 : : }
6014 : : }
6015 : :
6016 : : int
6017 : 123 : pattern1781 (machine_mode i1)
6018 : : {
6019 : 123 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6020 : 123 : int res ATTRIBUTE_UNUSED;
6021 : 123 : if (!vsib_address_operand (operands[2], i1))
6022 : : return -1;
6023 : 111 : switch (GET_MODE (operands[3]))
6024 : : {
6025 : 73 : case E_V8SImode:
6026 : 73 : if (!register_operand (operands[3], E_V8SImode)
6027 : 73 : || !register_operand (operands[4], E_V8SImode))
6028 : 66 : return -1;
6029 : : return 0;
6030 : :
6031 : 38 : case E_V4DImode:
6032 : 38 : if (!register_operand (operands[3], E_V4DImode)
6033 : 38 : || !register_operand (operands[4], E_V4SImode))
6034 : 37 : return -1;
6035 : : return 1;
6036 : :
6037 : : default:
6038 : : return -1;
6039 : : }
6040 : : }
6041 : :
6042 : : int
6043 : 844 : pattern1788 (rtx x1, machine_mode i1, machine_mode i2)
6044 : : {
6045 : 844 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6046 : 844 : rtx x2, x3;
6047 : 844 : int res ATTRIBUTE_UNUSED;
6048 : 844 : if (!register_operand (operands[0], i1)
6049 : 836 : || GET_MODE (x1) != i1
6050 : 836 : || !register_operand (operands[2], i1)
6051 : 836 : || !vsib_mem_operator (operands[7], i2)
6052 : 836 : || !register_operand (operands[5], i1)
6053 : 1614 : || !scratch_operand (operands[1], i1))
6054 : 74 : return -1;
6055 : 770 : x2 = XVECEXP (x1, 0, 1);
6056 : 770 : x3 = XEXP (x2, 0);
6057 : 770 : switch (GET_MODE (x3))
6058 : : {
6059 : 0 : case E_SImode:
6060 : 0 : return pattern1787 (
6061 : 0 : E_SImode); /* [-1, 1] */
6062 : :
6063 : 770 : case E_DImode:
6064 : 770 : res = pattern1787 (
6065 : : E_DImode);
6066 : 770 : if (res >= 0)
6067 : 694 : return res + 2; /* [2, 3] */
6068 : : return -1;
6069 : :
6070 : : default:
6071 : : return -1;
6072 : : }
6073 : : }
6074 : :
6075 : : int
6076 : 898 : pattern1800 (rtx x1, machine_mode i1, machine_mode i2)
6077 : : {
6078 : 898 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6079 : 898 : rtx x2, x3, x4, x5, x6;
6080 : 898 : int res ATTRIBUTE_UNUSED;
6081 : 898 : if (!register_operand (operands[0], i1)
6082 : 898 : || GET_MODE (x1) != i1)
6083 : : return -1;
6084 : 842 : x2 = XEXP (x1, 0);
6085 : 842 : if (GET_MODE (x2) != i1)
6086 : : return -1;
6087 : 842 : x3 = XEXP (x2, 0);
6088 : 842 : if (GET_MODE (x3) != i2
6089 : 842 : || !nonimmediate_operand (operands[1], i1))
6090 : 0 : return -1;
6091 : 842 : x4 = XEXP (x1, 1);
6092 : 842 : operands[2] = x4;
6093 : 842 : if (!nonimm_or_0_operand (operands[2], i1))
6094 : : return -1;
6095 : 818 : x5 = XEXP (x1, 2);
6096 : 818 : operands[3] = x5;
6097 : 818 : x6 = XEXP (x3, 1);
6098 : 818 : if (!rtx_equal_p (x6, operands[1]))
6099 : : return -1;
6100 : : return 0;
6101 : : }
6102 : :
6103 : : int
6104 : 204 : pattern1809 (rtx x1, rtx_code i1)
6105 : : {
6106 : 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6107 : 204 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6108 : 204 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6109 : 204 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
6110 : 204 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
6111 : 204 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
6112 : 204 : rtx x42, x43, x44, x45, x46, x47, x48, x49;
6113 : 204 : rtx x50, x51, x52, x53, x54, x55, x56, x57;
6114 : 204 : rtx x58, x59, x60, x61, x62, x63, x64, x65;
6115 : 204 : rtx x66, x67, x68, x69, x70, x71, x72, x73;
6116 : 204 : rtx x74, x75, x76, x77, x78, x79;
6117 : 204 : int res ATTRIBUTE_UNUSED;
6118 : 204 : x2 = XEXP (x1, 0);
6119 : 204 : x3 = XEXP (x2, 0);
6120 : 204 : x4 = XEXP (x3, 0);
6121 : 204 : x5 = XEXP (x4, 0);
6122 : 204 : if (GET_CODE (x5) != VEC_SELECT
6123 : 204 : || GET_MODE (x5) != E_SFmode)
6124 : : return -1;
6125 : 204 : x6 = XEXP (x5, 1);
6126 : 204 : if (GET_CODE (x6) != PARALLEL
6127 : 204 : || XVECLEN (x6, 0) != 1)
6128 : : return -1;
6129 : 204 : x7 = XVECEXP (x6, 0, 0);
6130 : 204 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6131 : : return -1;
6132 : 204 : x8 = XEXP (x4, 1);
6133 : 204 : if (GET_CODE (x8) != VEC_SELECT
6134 : 204 : || GET_MODE (x8) != E_SFmode)
6135 : : return -1;
6136 : 204 : x9 = XEXP (x8, 1);
6137 : 204 : if (GET_CODE (x9) != PARALLEL
6138 : 204 : || XVECLEN (x9, 0) != 1)
6139 : : return -1;
6140 : 204 : x10 = XVECEXP (x9, 0, 0);
6141 : 204 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6142 : : return -1;
6143 : 204 : x11 = XEXP (x3, 1);
6144 : 204 : if (GET_CODE (x11) != i1)
6145 : : return -1;
6146 : 204 : x12 = XEXP (x11, 0);
6147 : 204 : if (GET_CODE (x12) != VEC_SELECT
6148 : 204 : || GET_MODE (x12) != E_SFmode)
6149 : : return -1;
6150 : 204 : x13 = XEXP (x12, 1);
6151 : 204 : if (GET_CODE (x13) != PARALLEL
6152 : 204 : || XVECLEN (x13, 0) != 1)
6153 : : return -1;
6154 : 204 : x14 = XVECEXP (x13, 0, 0);
6155 : 204 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6156 : : return -1;
6157 : 204 : x15 = XEXP (x11, 1);
6158 : 204 : if (GET_CODE (x15) != VEC_SELECT
6159 : 204 : || GET_MODE (x15) != E_SFmode)
6160 : : return -1;
6161 : 204 : x16 = XEXP (x15, 1);
6162 : 204 : if (GET_CODE (x16) != PARALLEL
6163 : 204 : || XVECLEN (x16, 0) != 1)
6164 : : return -1;
6165 : 204 : x17 = XVECEXP (x16, 0, 0);
6166 : 204 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6167 : : return -1;
6168 : 204 : x18 = XEXP (x2, 1);
6169 : 204 : x19 = XEXP (x18, 0);
6170 : 204 : if (GET_CODE (x19) != i1)
6171 : : return -1;
6172 : 204 : x20 = XEXP (x19, 0);
6173 : 204 : if (GET_CODE (x20) != VEC_SELECT
6174 : 204 : || GET_MODE (x20) != E_SFmode)
6175 : : return -1;
6176 : 204 : x21 = XEXP (x20, 1);
6177 : 204 : if (GET_CODE (x21) != PARALLEL
6178 : 204 : || XVECLEN (x21, 0) != 1)
6179 : : return -1;
6180 : 204 : x22 = XVECEXP (x21, 0, 0);
6181 : 204 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6182 : : return -1;
6183 : 204 : x23 = XEXP (x19, 1);
6184 : 204 : if (GET_CODE (x23) != VEC_SELECT
6185 : 204 : || GET_MODE (x23) != E_SFmode)
6186 : : return -1;
6187 : 204 : x24 = XEXP (x23, 1);
6188 : 204 : if (GET_CODE (x24) != PARALLEL
6189 : 204 : || XVECLEN (x24, 0) != 1)
6190 : : return -1;
6191 : 204 : x25 = XVECEXP (x24, 0, 0);
6192 : 204 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6193 : : return -1;
6194 : 204 : x26 = XEXP (x18, 1);
6195 : 204 : if (GET_CODE (x26) != i1)
6196 : : return -1;
6197 : 204 : x27 = XEXP (x26, 0);
6198 : 204 : if (GET_CODE (x27) != VEC_SELECT
6199 : 204 : || GET_MODE (x27) != E_SFmode)
6200 : : return -1;
6201 : 204 : x28 = XEXP (x27, 1);
6202 : 204 : if (GET_CODE (x28) != PARALLEL
6203 : 204 : || XVECLEN (x28, 0) != 1)
6204 : : return -1;
6205 : 204 : x29 = XVECEXP (x28, 0, 0);
6206 : 204 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6207 : : return -1;
6208 : 204 : x30 = XEXP (x26, 1);
6209 : 204 : if (GET_CODE (x30) != VEC_SELECT
6210 : 204 : || GET_MODE (x30) != E_SFmode)
6211 : : return -1;
6212 : 204 : x31 = XEXP (x30, 1);
6213 : 204 : if (GET_CODE (x31) != PARALLEL
6214 : 204 : || XVECLEN (x31, 0) != 1)
6215 : : return -1;
6216 : 204 : x32 = XVECEXP (x31, 0, 0);
6217 : 204 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6218 : : return -1;
6219 : 204 : x33 = XEXP (x1, 1);
6220 : 204 : x34 = XEXP (x33, 0);
6221 : 204 : x35 = XEXP (x34, 0);
6222 : 204 : if (GET_CODE (x35) != i1)
6223 : : return -1;
6224 : 204 : x36 = XEXP (x35, 0);
6225 : 204 : if (GET_CODE (x36) != VEC_SELECT
6226 : 204 : || GET_MODE (x36) != E_SFmode)
6227 : : return -1;
6228 : 204 : x37 = XEXP (x36, 1);
6229 : 204 : if (GET_CODE (x37) != PARALLEL
6230 : 204 : || XVECLEN (x37, 0) != 1)
6231 : : return -1;
6232 : 204 : x38 = XVECEXP (x37, 0, 0);
6233 : 204 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6234 : : return -1;
6235 : 204 : x39 = XEXP (x35, 1);
6236 : 204 : if (GET_CODE (x39) != VEC_SELECT
6237 : 204 : || GET_MODE (x39) != E_SFmode)
6238 : : return -1;
6239 : 204 : x40 = XEXP (x39, 1);
6240 : 204 : if (GET_CODE (x40) != PARALLEL
6241 : 204 : || XVECLEN (x40, 0) != 1)
6242 : : return -1;
6243 : 204 : x41 = XVECEXP (x40, 0, 0);
6244 : 204 : if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6245 : : return -1;
6246 : 204 : x42 = XEXP (x34, 1);
6247 : 204 : if (GET_CODE (x42) != i1)
6248 : : return -1;
6249 : 204 : x43 = XEXP (x42, 0);
6250 : 204 : if (GET_CODE (x43) != VEC_SELECT
6251 : 204 : || GET_MODE (x43) != E_SFmode)
6252 : : return -1;
6253 : 204 : x44 = XEXP (x43, 1);
6254 : 204 : if (GET_CODE (x44) != PARALLEL
6255 : 204 : || XVECLEN (x44, 0) != 1)
6256 : : return -1;
6257 : 204 : x45 = XVECEXP (x44, 0, 0);
6258 : 204 : if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6259 : : return -1;
6260 : 204 : x46 = XEXP (x42, 1);
6261 : 204 : if (GET_CODE (x46) != VEC_SELECT
6262 : 204 : || GET_MODE (x46) != E_SFmode)
6263 : : return -1;
6264 : 204 : x47 = XEXP (x46, 1);
6265 : 204 : if (GET_CODE (x47) != PARALLEL
6266 : 204 : || XVECLEN (x47, 0) != 1)
6267 : : return -1;
6268 : 204 : x48 = XVECEXP (x47, 0, 0);
6269 : 204 : if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6270 : : return -1;
6271 : 204 : x49 = XEXP (x33, 1);
6272 : 204 : x50 = XEXP (x49, 0);
6273 : 204 : if (GET_CODE (x50) != i1)
6274 : : return -1;
6275 : 204 : x51 = XEXP (x50, 0);
6276 : 204 : if (GET_CODE (x51) != VEC_SELECT
6277 : 204 : || GET_MODE (x51) != E_SFmode)
6278 : : return -1;
6279 : 204 : x52 = XEXP (x51, 1);
6280 : 204 : if (GET_CODE (x52) != PARALLEL
6281 : 204 : || XVECLEN (x52, 0) != 1)
6282 : : return -1;
6283 : 204 : x53 = XVECEXP (x52, 0, 0);
6284 : 204 : if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6285 : : return -1;
6286 : 204 : x54 = XEXP (x50, 1);
6287 : 204 : if (GET_CODE (x54) != VEC_SELECT
6288 : 204 : || GET_MODE (x54) != E_SFmode)
6289 : : return -1;
6290 : 204 : x55 = XEXP (x54, 1);
6291 : 204 : if (GET_CODE (x55) != PARALLEL
6292 : 204 : || XVECLEN (x55, 0) != 1)
6293 : : return -1;
6294 : 204 : x56 = XVECEXP (x55, 0, 0);
6295 : 204 : if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6296 : : return -1;
6297 : 204 : x57 = XEXP (x49, 1);
6298 : 204 : if (GET_CODE (x57) != i1)
6299 : : return -1;
6300 : 204 : x58 = XEXP (x57, 0);
6301 : 204 : if (GET_CODE (x58) != VEC_SELECT
6302 : 204 : || GET_MODE (x58) != E_SFmode)
6303 : : return -1;
6304 : 204 : x59 = XEXP (x58, 1);
6305 : 204 : if (GET_CODE (x59) != PARALLEL
6306 : 204 : || XVECLEN (x59, 0) != 1)
6307 : : return -1;
6308 : 204 : x60 = XVECEXP (x59, 0, 0);
6309 : 204 : if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6310 : : return -1;
6311 : 204 : x61 = XEXP (x57, 1);
6312 : 204 : if (GET_CODE (x61) != VEC_SELECT
6313 : 204 : || GET_MODE (x61) != E_SFmode)
6314 : : return -1;
6315 : 204 : x62 = XEXP (x61, 1);
6316 : 204 : if (GET_CODE (x62) != PARALLEL
6317 : 204 : || XVECLEN (x62, 0) != 1)
6318 : : return -1;
6319 : 204 : x63 = XVECEXP (x62, 0, 0);
6320 : 204 : if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6321 : : return -1;
6322 : 204 : x64 = XEXP (x5, 0);
6323 : 204 : operands[1] = x64;
6324 : 204 : if (!register_operand (operands[1], E_V8SFmode))
6325 : : return -1;
6326 : 180 : x65 = XEXP (x20, 0);
6327 : 180 : operands[2] = x65;
6328 : 180 : if (!nonimmediate_operand (operands[2], E_V8SFmode))
6329 : : return -1;
6330 : 156 : x66 = XEXP (x8, 0);
6331 : 156 : if (!rtx_equal_p (x66, operands[1]))
6332 : : return -1;
6333 : 156 : x67 = XEXP (x12, 0);
6334 : 156 : if (!rtx_equal_p (x67, operands[1]))
6335 : : return -1;
6336 : 156 : x68 = XEXP (x15, 0);
6337 : 156 : if (!rtx_equal_p (x68, operands[1]))
6338 : : return -1;
6339 : 156 : x69 = XEXP (x23, 0);
6340 : 156 : if (!rtx_equal_p (x69, operands[2]))
6341 : : return -1;
6342 : 156 : x70 = XEXP (x27, 0);
6343 : 156 : if (!rtx_equal_p (x70, operands[2]))
6344 : : return -1;
6345 : 156 : x71 = XEXP (x30, 0);
6346 : 156 : if (!rtx_equal_p (x71, operands[2]))
6347 : : return -1;
6348 : 156 : x72 = XEXP (x36, 0);
6349 : 156 : if (!rtx_equal_p (x72, operands[1]))
6350 : : return -1;
6351 : 156 : x73 = XEXP (x39, 0);
6352 : 156 : if (!rtx_equal_p (x73, operands[1]))
6353 : : return -1;
6354 : 156 : x74 = XEXP (x43, 0);
6355 : 156 : if (!rtx_equal_p (x74, operands[1]))
6356 : : return -1;
6357 : 156 : x75 = XEXP (x46, 0);
6358 : 156 : if (!rtx_equal_p (x75, operands[1]))
6359 : : return -1;
6360 : 156 : x76 = XEXP (x51, 0);
6361 : 156 : if (!rtx_equal_p (x76, operands[2]))
6362 : : return -1;
6363 : 156 : x77 = XEXP (x54, 0);
6364 : 156 : if (!rtx_equal_p (x77, operands[2]))
6365 : : return -1;
6366 : 156 : x78 = XEXP (x58, 0);
6367 : 156 : if (!rtx_equal_p (x78, operands[2]))
6368 : : return -1;
6369 : 156 : x79 = XEXP (x61, 0);
6370 : 156 : if (!rtx_equal_p (x79, operands[2]))
6371 : : return -1;
6372 : : return 0;
6373 : : }
6374 : :
6375 : : int
6376 : 53088 : recog_10 (rtx x1 ATTRIBUTE_UNUSED,
6377 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6378 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6379 : : {
6380 : 53088 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6381 : 53088 : rtx x2, x3, x4, x5;
6382 : 53088 : int res ATTRIBUTE_UNUSED;
6383 : 53088 : x2 = XEXP (x1, 0);
6384 : 53088 : if (GET_CODE (x2) != REG
6385 : 53088 : || REGNO (x2) != 17)
6386 : : return -1;
6387 : 53075 : x3 = XEXP (x1, 1);
6388 : 53075 : x4 = XVECEXP (x3, 0, 0);
6389 : 53075 : switch (GET_CODE (x4))
6390 : : {
6391 : 50945 : case REG:
6392 : 50945 : case SUBREG:
6393 : 50945 : operands[0] = x4;
6394 : 50945 : if (!register_operand (operands[0], E_TFmode)
6395 : 23 : || GET_MODE (x2) != E_CCmode
6396 : 50968 : || GET_MODE (x3) != E_CCmode)
6397 : : return -1;
6398 : 23 : x5 = XVECEXP (x3, 0, 1);
6399 : 23 : operands[1] = x5;
6400 : 23 : if (!vector_operand (operands[1], E_TFmode)
6401 : 23 : || !
6402 : : #line 25393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6403 : : (TARGET_SSE4_1))
6404 : : return -1;
6405 : : return 8905; /* ptesttf2 */
6406 : :
6407 : : case AND:
6408 : : switch (pattern590 (x1))
6409 : : {
6410 : : case 0:
6411 : : if (!
6412 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6413 : : (TARGET_SSE4_1
6414 : : && ix86_pre_reload_split ()))
6415 : : return -1;
6416 : : return 8906; /* *ptestv16qi_and */
6417 : :
6418 : : case 1:
6419 : : if (!
6420 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6421 : : (TARGET_SSE4_1
6422 : : && ix86_pre_reload_split ()))
6423 : : return -1;
6424 : : return 8907; /* *ptestv8hi_and */
6425 : :
6426 : : case 2:
6427 : : if (!
6428 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6429 : : (TARGET_SSE4_1
6430 : : && ix86_pre_reload_split ()))
6431 : : return -1;
6432 : : return 8908; /* *ptestv4si_and */
6433 : :
6434 : : case 3:
6435 : : if (!
6436 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6437 : : (TARGET_SSE4_1
6438 : : && ix86_pre_reload_split ()))
6439 : : return -1;
6440 : : return 8909; /* *ptestv2di_and */
6441 : :
6442 : : case 4:
6443 : : if (!
6444 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6445 : : (TARGET_SSE4_1
6446 : : && ix86_pre_reload_split ()))
6447 : : return -1;
6448 : : return 8910; /* *ptestv1ti_and */
6449 : :
6450 : : case 5:
6451 : : if (!
6452 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6453 : : (TARGET_SSE4_1
6454 : : && ix86_pre_reload_split ()))
6455 : : return -1;
6456 : : return 8911; /* *ptestv4sf_and */
6457 : :
6458 : : case 6:
6459 : : if (!
6460 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6461 : : (TARGET_SSE4_1
6462 : : && ix86_pre_reload_split ()))
6463 : : return -1;
6464 : : return 8912; /* *ptestv2df_and */
6465 : :
6466 : : case 7:
6467 : : if (!(
6468 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6469 : : (TARGET_SSE4_1
6470 : : && ix86_pre_reload_split ()) &&
6471 : : #line 579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6472 : : (TARGET_AVX)))
6473 : : return -1;
6474 : : return 8913; /* *ptestv32qi_and */
6475 : :
6476 : : case 8:
6477 : : if (!(
6478 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6479 : : (TARGET_SSE4_1
6480 : : && ix86_pre_reload_split ()) &&
6481 : : #line 579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6482 : : (TARGET_AVX)))
6483 : : return -1;
6484 : : return 8914; /* *ptestv16hi_and */
6485 : :
6486 : : case 9:
6487 : : if (!(
6488 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6489 : : (TARGET_SSE4_1
6490 : : && ix86_pre_reload_split ()) &&
6491 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6492 : : (TARGET_AVX)))
6493 : : return -1;
6494 : : return 8915; /* *ptestv8si_and */
6495 : :
6496 : : case 10:
6497 : : if (!(
6498 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6499 : : (TARGET_SSE4_1
6500 : : && ix86_pre_reload_split ()) &&
6501 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6502 : : (TARGET_AVX)))
6503 : : return -1;
6504 : : return 8916; /* *ptestv4di_and */
6505 : :
6506 : : case 11:
6507 : : if (!(
6508 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6509 : : (TARGET_SSE4_1
6510 : : && ix86_pre_reload_split ()) &&
6511 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6512 : : (TARGET_AVX)))
6513 : : return -1;
6514 : : return 8917; /* *ptestv2ti_and */
6515 : :
6516 : : case 12:
6517 : : if (!(
6518 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6519 : : (TARGET_SSE4_1
6520 : : && ix86_pre_reload_split ()) &&
6521 : : #line 581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6522 : : (TARGET_AVX)))
6523 : : return -1;
6524 : : return 8918; /* *ptestv8sf_and */
6525 : :
6526 : : case 13:
6527 : : if (!(
6528 : : #line 25408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6529 : : (TARGET_SSE4_1
6530 : : && ix86_pre_reload_split ()) &&
6531 : : #line 581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6532 : : (TARGET_AVX)))
6533 : : return -1;
6534 : : return 8919; /* *ptestv4df_and */
6535 : :
6536 : : default:
6537 : : return -1;
6538 : : }
6539 : :
6540 : : default:
6541 : : return -1;
6542 : : }
6543 : : }
6544 : :
6545 : : int
6546 : : recog_14 (rtx x1 ATTRIBUTE_UNUSED,
6547 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6548 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6549 : : {
6550 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6551 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6552 : : rtx x10, x11;
6553 : : int res ATTRIBUTE_UNUSED;
6554 : : x2 = XEXP (x1, 1);
6555 : : switch (XVECLEN (x2, 0))
6556 : : {
6557 : : case 1:
6558 : : return recog_13 (x1, insn, pnum_clobbers);
6559 : :
6560 : : case 2:
6561 : : return recog_12 (x1, insn, pnum_clobbers);
6562 : :
6563 : : case 3:
6564 : : switch (XINT (x2, 1))
6565 : : {
6566 : : case 40:
6567 : : if (pnum_clobbers == NULL
6568 : : || GET_MODE (x2) != E_CCGZmode)
6569 : : return -1;
6570 : : x3 = XVECEXP (x2, 0, 2);
6571 : : if (GET_CODE (x3) != LTU)
6572 : : return -1;
6573 : : x4 = XEXP (x3, 0);
6574 : : if (GET_CODE (x4) != REG
6575 : : || REGNO (x4) != 17
6576 : : || GET_MODE (x4) != E_CCmode)
6577 : : return -1;
6578 : : x5 = XEXP (x3, 1);
6579 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6580 : : return -1;
6581 : : x6 = XEXP (x1, 0);
6582 : : if (GET_CODE (x6) != REG
6583 : : || REGNO (x6) != 17
6584 : : || GET_MODE (x6) != E_CCGZmode)
6585 : : return -1;
6586 : : x7 = XVECEXP (x2, 0, 0);
6587 : : operands[1] = x7;
6588 : : x8 = XVECEXP (x2, 0, 1);
6589 : : operands[2] = x8;
6590 : : switch (GET_MODE (operands[1]))
6591 : : {
6592 : : case E_SImode:
6593 : : if (!register_operand (operands[1], E_SImode)
6594 : : || !x86_64_general_operand (operands[2], E_SImode)
6595 : : || GET_MODE (x3) != E_SImode
6596 : : || !
6597 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6598 : : (!TARGET_64BIT))
6599 : : return -1;
6600 : : *pnum_clobbers = 1;
6601 : : return 525; /* subsi3_carry_ccgz */
6602 : :
6603 : : case E_DImode:
6604 : : if (!register_operand (operands[1], E_DImode)
6605 : : || !x86_64_general_operand (operands[2], E_DImode)
6606 : : || GET_MODE (x3) != E_DImode
6607 : : || !
6608 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6609 : : (TARGET_64BIT))
6610 : : return -1;
6611 : : *pnum_clobbers = 1;
6612 : : return 526; /* subdi3_carry_ccgz */
6613 : :
6614 : : default:
6615 : : return -1;
6616 : : }
6617 : :
6618 : : case 60:
6619 : : return recog_11 (x1, insn, pnum_clobbers);
6620 : :
6621 : : case 49:
6622 : : if (GET_MODE (x2) != E_HFmode)
6623 : : return -1;
6624 : : x6 = XEXP (x1, 0);
6625 : : operands[0] = x6;
6626 : : if (!nonimmediate_operand (operands[0], E_HFmode))
6627 : : return -1;
6628 : : x7 = XVECEXP (x2, 0, 0);
6629 : : operands[1] = x7;
6630 : : if (!nonimmediate_operand (operands[1], E_HFmode))
6631 : : return -1;
6632 : : x8 = XVECEXP (x2, 0, 1);
6633 : : operands[2] = x8;
6634 : : if (!nonimm_or_0_operand (operands[2], E_HFmode))
6635 : : return -1;
6636 : : x3 = XVECEXP (x2, 0, 2);
6637 : : operands[3] = x3;
6638 : : if (!register_operand (operands[3], E_QImode)
6639 : : || !
6640 : : #line 26785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6641 : : (TARGET_AVX512FP16))
6642 : : return -1;
6643 : : return 1815; /* movhf_mask */
6644 : :
6645 : : case 52:
6646 : : x6 = XEXP (x1, 0);
6647 : : operands[0] = x6;
6648 : : x7 = XVECEXP (x2, 0, 0);
6649 : : operands[1] = x7;
6650 : : x8 = XVECEXP (x2, 0, 1);
6651 : : operands[2] = x8;
6652 : : x3 = XVECEXP (x2, 0, 2);
6653 : : switch (GET_CODE (x3))
6654 : : {
6655 : : case LT:
6656 : : switch (pattern718 (x2))
6657 : : {
6658 : : case 0:
6659 : : if (
6660 : : #line 27018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6661 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
6662 : : && (rtx_equal_p (operands[1], operands[3])
6663 : : && rtx_equal_p (operands[2], operands[4]))
6664 : : && ix86_pre_reload_split ()))
6665 : : return 1833; /* *ieee_maxsf3_1 */
6666 : : if (!
6667 : : #line 27039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6668 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
6669 : : && (rtx_equal_p (operands[1], operands[4])
6670 : : && rtx_equal_p (operands[2], operands[3]))
6671 : : && ix86_pre_reload_split ()))
6672 : : return -1;
6673 : : return 1835; /* *ieee_minsf3_1 */
6674 : :
6675 : : case 1:
6676 : : if (
6677 : : #line 27018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6678 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
6679 : : && (rtx_equal_p (operands[1], operands[3])
6680 : : && rtx_equal_p (operands[2], operands[4]))
6681 : : && ix86_pre_reload_split ()))
6682 : : return 1834; /* *ieee_maxdf3_1 */
6683 : : if (!
6684 : : #line 27039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6685 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
6686 : : && (rtx_equal_p (operands[1], operands[4])
6687 : : && rtx_equal_p (operands[2], operands[3]))
6688 : : && ix86_pre_reload_split ()))
6689 : : return -1;
6690 : : return 1836; /* *ieee_mindf3_1 */
6691 : :
6692 : : default:
6693 : : return -1;
6694 : : }
6695 : :
6696 : : case REG:
6697 : : case SUBREG:
6698 : : operands[3] = x3;
6699 : : switch (GET_MODE (operands[0]))
6700 : : {
6701 : : case E_V2SFmode:
6702 : : if (pattern950 (x2,
6703 : : E_V2SFmode) == 0
6704 : : &&
6705 : : #line 1340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6706 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6707 : : return 2086; /* mmx_blendvps */
6708 : : break;
6709 : :
6710 : : case E_V8QImode:
6711 : : if (pattern950 (x2,
6712 : : E_V8QImode) == 0
6713 : : &&
6714 : : #line 4337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6715 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6716 : : return 2252; /* mmx_pblendvb_v8qi */
6717 : : break;
6718 : :
6719 : : case E_V4QImode:
6720 : : if (pattern950 (x2,
6721 : : E_V4QImode) == 0
6722 : : &&
6723 : : #line 4413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6724 : : (TARGET_SSE4_1))
6725 : : return 2256; /* mmx_pblendvb_v4qi */
6726 : : break;
6727 : :
6728 : : case E_V2QImode:
6729 : : if (pattern950 (x2,
6730 : : E_V2QImode) == 0
6731 : : &&
6732 : : #line 4413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6733 : : (TARGET_SSE4_1))
6734 : : return 2257; /* mmx_pblendvb_v2qi */
6735 : : break;
6736 : :
6737 : : case E_V2HImode:
6738 : : if (pattern950 (x2,
6739 : : E_V2HImode) == 0
6740 : : &&
6741 : : #line 4413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6742 : : (TARGET_SSE4_1))
6743 : : return 2258; /* mmx_pblendvb_v2hi */
6744 : : break;
6745 : :
6746 : : case E_SFmode:
6747 : : if (pattern950 (x2,
6748 : : E_SFmode) == 0
6749 : : &&
6750 : : #line 23578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6751 : : (TARGET_SSE4_1))
6752 : : return 8640; /* sse4_1_blendvss */
6753 : : break;
6754 : :
6755 : : case E_DFmode:
6756 : : if (pattern950 (x2,
6757 : : E_DFmode) == 0
6758 : : &&
6759 : : #line 23578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6760 : : (TARGET_SSE4_1))
6761 : : return 8641; /* sse4_1_blendvsd */
6762 : : break;
6763 : :
6764 : : default:
6765 : : break;
6766 : : }
6767 : : if (GET_CODE (x3) != SUBREG)
6768 : : return -1;
6769 : : switch (pattern831 (x2))
6770 : : {
6771 : : case 0:
6772 : : if (!
6773 : : #line 4389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6774 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
6775 : : return -1;
6776 : : return 2254; /* *mmx_pblendvb_v8qi_2 */
6777 : :
6778 : : case 1:
6779 : : if (!
6780 : : #line 4389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6781 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
6782 : : return -1;
6783 : : return 2255; /* *mmx_pblendvb_v8qi_2 */
6784 : :
6785 : : case 2:
6786 : : if (!
6787 : : #line 4465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6788 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
6789 : : return -1;
6790 : : return 2262; /* *mmx_pblendvb_v4qi_2 */
6791 : :
6792 : : default:
6793 : : return -1;
6794 : : }
6795 : :
6796 : : case EQ:
6797 : : switch (pattern720 (x2))
6798 : : {
6799 : : case 0:
6800 : : if (!
6801 : : #line 4361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6802 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
6803 : : return -1;
6804 : : return 2253; /* *mmx_pblendvb_v8qi_1 */
6805 : :
6806 : : case 1:
6807 : : if (!
6808 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6809 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
6810 : : return -1;
6811 : : return 2259; /* *mmx_pblendvb_v4qi_1 */
6812 : :
6813 : : case 2:
6814 : : if (!
6815 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6816 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
6817 : : return -1;
6818 : : return 2260; /* *mmx_pblendvb_v2qi_1 */
6819 : :
6820 : : case 3:
6821 : : if (!
6822 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6823 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
6824 : : return -1;
6825 : : return 2261; /* *mmx_pblendvb_v2hi_1 */
6826 : :
6827 : : default:
6828 : : return -1;
6829 : : }
6830 : :
6831 : : default:
6832 : : return -1;
6833 : : }
6834 : :
6835 : : case 51:
6836 : : x6 = XEXP (x1, 0);
6837 : : operands[0] = x6;
6838 : : x7 = XVECEXP (x2, 0, 0);
6839 : : operands[2] = x7;
6840 : : x8 = XVECEXP (x2, 0, 1);
6841 : : operands[1] = x8;
6842 : : x3 = XVECEXP (x2, 0, 2);
6843 : : operands[3] = x3;
6844 : : if (!const_0_to_255_operand (operands[3], E_SImode))
6845 : : return -1;
6846 : : switch (GET_MODE (operands[0]))
6847 : : {
6848 : : case E_V2SFmode:
6849 : : if (pattern951 (x2,
6850 : : E_V2SFmode) != 0
6851 : : || !
6852 : : #line 1284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6853 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6854 : : return -1;
6855 : : return 2083; /* sse4_1_insertps_v2sf */
6856 : :
6857 : : case E_V2SImode:
6858 : : if (pattern951 (x2,
6859 : : E_V2SImode) != 0
6860 : : || !
6861 : : #line 1284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6862 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6863 : : return -1;
6864 : : return 2084; /* sse4_1_insertps_v2si */
6865 : :
6866 : : default:
6867 : : return -1;
6868 : : }
6869 : :
6870 : : case 54:
6871 : : x6 = XEXP (x1, 0);
6872 : : operands[0] = x6;
6873 : : x7 = XVECEXP (x2, 0, 0);
6874 : : operands[1] = x7;
6875 : : x8 = XVECEXP (x2, 0, 1);
6876 : : operands[2] = x8;
6877 : : x3 = XVECEXP (x2, 0, 2);
6878 : : operands[3] = x3;
6879 : : if (!nonimmediate_operand (operands[3], E_V16QImode))
6880 : : return -1;
6881 : : switch (GET_MODE (operands[0]))
6882 : : {
6883 : : case E_V8QImode:
6884 : : if (pattern952 (x2,
6885 : : E_V8QImode) != 0
6886 : : || !
6887 : : #line 4535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6888 : : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6889 : : return -1;
6890 : : return 2274; /* mmx_ppermv64 */
6891 : :
6892 : : case E_V4QImode:
6893 : : if (pattern952 (x2,
6894 : : E_V4QImode) != 0
6895 : : || !
6896 : : #line 4547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6897 : : (TARGET_XOP))
6898 : : return -1;
6899 : : return 2275; /* mmx_ppermv32 */
6900 : :
6901 : : default:
6902 : : return -1;
6903 : : }
6904 : :
6905 : : case 48:
6906 : : if (GET_MODE (x2) != E_V8QImode)
6907 : : return -1;
6908 : : x3 = XVECEXP (x2, 0, 2);
6909 : : if (GET_CODE (x3) != MEM
6910 : : || GET_MODE (x3) != E_V8QImode)
6911 : : return -1;
6912 : : x6 = XEXP (x1, 0);
6913 : : if (GET_CODE (x6) != MEM
6914 : : || GET_MODE (x6) != E_V8QImode)
6915 : : return -1;
6916 : : x9 = XEXP (x6, 0);
6917 : : operands[0] = x9;
6918 : : x7 = XVECEXP (x2, 0, 0);
6919 : : operands[1] = x7;
6920 : : switch (pattern1057 (x2,
6921 : : E_V8QImode))
6922 : : {
6923 : : case 0:
6924 : : if (!(
6925 : : #line 6883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6926 : : (TARGET_SSE || TARGET_3DNOW_A) &&
6927 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6928 : : (Pmode == SImode)))
6929 : : return -1;
6930 : : return 2396; /* *mmx_maskmovq */
6931 : :
6932 : : case 1:
6933 : : if (!(
6934 : : #line 6883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6935 : : (TARGET_SSE || TARGET_3DNOW_A) &&
6936 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6937 : : (Pmode == DImode)))
6938 : : return -1;
6939 : : return 2397; /* *mmx_maskmovq */
6940 : :
6941 : : default:
6942 : : return -1;
6943 : : }
6944 : :
6945 : : case 158:
6946 : : x6 = XEXP (x1, 0);
6947 : : operands[0] = x6;
6948 : : x7 = XVECEXP (x2, 0, 0);
6949 : : switch (GET_CODE (x7))
6950 : : {
6951 : : case CONST_INT:
6952 : : case CONST_DOUBLE:
6953 : : case CONST_VECTOR:
6954 : : case REG:
6955 : : case SUBREG:
6956 : : case MEM:
6957 : : operands[1] = x7;
6958 : : x3 = XVECEXP (x2, 0, 2);
6959 : : if (GET_CODE (x3) != CONST_INT)
6960 : : return -1;
6961 : : x8 = XVECEXP (x2, 0, 1);
6962 : : operands[2] = x8;
6963 : : if (XWINT (x3, 0) == 0L)
6964 : : {
6965 : : switch (pattern949 (x2))
6966 : : {
6967 : : case 0:
6968 : : if ((
6969 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6970 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6971 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6972 : : (TARGET_AVX512VL)))
6973 : : return 3488; /* *avx512vl_eqv16qi3_1 */
6974 : : break;
6975 : :
6976 : : case 1:
6977 : : if ((
6978 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6979 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6980 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6981 : : (TARGET_AVX512VL)))
6982 : : return 3500; /* *avx512vl_eqv16hi3_1 */
6983 : : break;
6984 : :
6985 : : case 2:
6986 : : if (
6987 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6988 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
6989 : : return 3556; /* *avx512f_eqv16si3_1 */
6990 : : break;
6991 : :
6992 : : case 3:
6993 : : if ((
6994 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6995 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6996 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6997 : : (TARGET_AVX512VL)))
6998 : : return 3504; /* *avx512vl_eqv8hi3_1 */
6999 : : break;
7000 : :
7001 : : case 4:
7002 : : if ((
7003 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7004 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7005 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7006 : : (TARGET_AVX512VL)))
7007 : : return 3560; /* *avx512vl_eqv8si3_1 */
7008 : : break;
7009 : :
7010 : : case 5:
7011 : : if ((
7012 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7013 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7014 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7015 : : (TARGET_AVX512VL)))
7016 : : return 3564; /* *avx512vl_eqv4si3_1 */
7017 : : break;
7018 : :
7019 : : case 6:
7020 : : if (
7021 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7022 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7023 : : return 3568; /* *avx512f_eqv8di3_1 */
7024 : : break;
7025 : :
7026 : : case 7:
7027 : : if ((
7028 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7029 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7030 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7031 : : (TARGET_AVX512VL)))
7032 : : return 3572; /* *avx512vl_eqv4di3_1 */
7033 : : break;
7034 : :
7035 : : case 8:
7036 : : if ((
7037 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7038 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7039 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7040 : : (TARGET_AVX512VL)))
7041 : : return 3576; /* *avx512vl_eqv2di3_1 */
7042 : : break;
7043 : :
7044 : : default:
7045 : : break;
7046 : : }
7047 : : }
7048 : : operands[3] = x3;
7049 : : if (!const_0_to_7_operand (operands[3], E_SImode))
7050 : : return -1;
7051 : : switch (pattern66 (x2))
7052 : : {
7053 : : case 0:
7054 : : if (!(
7055 : : #line 4647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7056 : : (TARGET_AVX512BW) &&
7057 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7058 : : (TARGET_AVX512VL)))
7059 : : return -1;
7060 : : return 3508; /* avx512vl_ucmpv16qi3 */
7061 : :
7062 : : case 1:
7063 : : if (!(
7064 : : #line 4647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7065 : : (TARGET_AVX512BW) &&
7066 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7067 : : (TARGET_AVX512VL)))
7068 : : return -1;
7069 : : return 3514; /* avx512vl_ucmpv16hi3 */
7070 : :
7071 : : case 2:
7072 : : if (!
7073 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7074 : : (TARGET_AVX512F))
7075 : : return -1;
7076 : : return 3578; /* avx512f_ucmpv16si3 */
7077 : :
7078 : : case 3:
7079 : : if (!(
7080 : : #line 4647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7081 : : (TARGET_AVX512BW) &&
7082 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7083 : : (TARGET_AVX512VL)))
7084 : : return -1;
7085 : : return 3516; /* avx512vl_ucmpv8hi3 */
7086 : :
7087 : : case 4:
7088 : : if (!(
7089 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7090 : : (TARGET_AVX512F) &&
7091 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7092 : : (TARGET_AVX512VL)))
7093 : : return -1;
7094 : : return 3580; /* avx512vl_ucmpv8si3 */
7095 : :
7096 : : case 5:
7097 : : if (!(
7098 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7099 : : (TARGET_AVX512F) &&
7100 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7101 : : (TARGET_AVX512VL)))
7102 : : return -1;
7103 : : return 3582; /* avx512vl_ucmpv4si3 */
7104 : :
7105 : : case 6:
7106 : : if (!
7107 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7108 : : (TARGET_AVX512F))
7109 : : return -1;
7110 : : return 3584; /* avx512f_ucmpv8di3 */
7111 : :
7112 : : case 7:
7113 : : if (!(
7114 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7115 : : (TARGET_AVX512F) &&
7116 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7117 : : (TARGET_AVX512VL)))
7118 : : return -1;
7119 : : return 3586; /* avx512vl_ucmpv4di3 */
7120 : :
7121 : : case 8:
7122 : : if (!(
7123 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7124 : : (TARGET_AVX512F) &&
7125 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7126 : : (TARGET_AVX512VL)))
7127 : : return -1;
7128 : : return 3588; /* avx512vl_ucmpv2di3 */
7129 : :
7130 : : default:
7131 : : return -1;
7132 : : }
7133 : :
7134 : : case US_MINUS:
7135 : : switch (pattern410 (x2))
7136 : : {
7137 : : case 0:
7138 : : if (!(
7139 : : #line 4840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7140 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
7141 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
7142 : : && (INTVAL (operands[4]) & 1) == 0) &&
7143 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7144 : : (TARGET_AVX512VL)))
7145 : : return -1;
7146 : : return 3635; /* *avx512vl_ucmpv16qi3_1 */
7147 : :
7148 : : case 1:
7149 : : if (!(
7150 : : #line 4840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7151 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
7152 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
7153 : : && (INTVAL (operands[4]) & 1) == 0) &&
7154 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7155 : : (TARGET_AVX512VL)))
7156 : : return -1;
7157 : : return 3641; /* *avx512vl_ucmpv16hi3_1 */
7158 : :
7159 : : case 2:
7160 : : if (!(
7161 : : #line 4840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7162 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
7163 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
7164 : : && (INTVAL (operands[4]) & 1) == 0) &&
7165 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7166 : : (TARGET_AVX512VL)))
7167 : : return -1;
7168 : : return 3643; /* *avx512vl_ucmpv8hi3_1 */
7169 : :
7170 : : default:
7171 : : return -1;
7172 : : }
7173 : :
7174 : : default:
7175 : : return -1;
7176 : : }
7177 : :
7178 : : case 53:
7179 : : if (pattern58 (x1, pnum_clobbers,
7180 : : E_V8QImode) != 0)
7181 : : return -1;
7182 : : x8 = XVECEXP (x2, 0, 1);
7183 : : operands[2] = x8;
7184 : : if (!register_mmxmem_operand (operands[2], E_V8QImode))
7185 : : return -1;
7186 : : x3 = XVECEXP (x2, 0, 2);
7187 : : operands[4] = x3;
7188 : : if (!reg_or_const_vector_operand (operands[4], E_V4SImode)
7189 : : || !
7190 : : #line 23184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7191 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7192 : : return -1;
7193 : : *pnum_clobbers = 1;
7194 : : return 8583; /* *ssse3_pshufbv8qi3 */
7195 : :
7196 : : case 133:
7197 : : if (pnum_clobbers == NULL
7198 : : || pattern242 (x1) != 0
7199 : : || !nonimmediate_operand (operands[3], E_V16QImode))
7200 : : return -1;
7201 : : x3 = XVECEXP (x2, 0, 2);
7202 : : operands[4] = x3;
7203 : : if (!const_0_to_255_operand (operands[4], E_SImode)
7204 : : || !
7205 : : #line 26105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7206 : : (TARGET_SSE4_2))
7207 : : return -1;
7208 : : *pnum_clobbers = 2;
7209 : : return 8937; /* sse4_2_pcmpistr_cconly */
7210 : :
7211 : : default:
7212 : : return -1;
7213 : : }
7214 : :
7215 : : case 5:
7216 : : if (pnum_clobbers == NULL
7217 : : || XINT (x2, 1) != 132
7218 : : || pattern242 (x1) != 0
7219 : : || !register_operand (operands[3], E_SImode))
7220 : : return -1;
7221 : : x3 = XVECEXP (x2, 0, 2);
7222 : : operands[4] = x3;
7223 : : if (!nonimmediate_operand (operands[4], E_V16QImode))
7224 : : return -1;
7225 : : x10 = XVECEXP (x2, 0, 3);
7226 : : operands[5] = x10;
7227 : : if (!register_operand (operands[5], E_SImode))
7228 : : return -1;
7229 : : x11 = XVECEXP (x2, 0, 4);
7230 : : operands[6] = x11;
7231 : : if (!const_0_to_255_operand (operands[6], E_SImode)
7232 : : || !
7233 : : #line 25980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7234 : : (TARGET_SSE4_2))
7235 : : return -1;
7236 : : *pnum_clobbers = 2;
7237 : : return 8933; /* sse4_2_pcmpestr_cconly */
7238 : :
7239 : : default:
7240 : : return -1;
7241 : : }
7242 : : }
7243 : :
7244 : : int
7245 : : recog_31 (rtx x1 ATTRIBUTE_UNUSED,
7246 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7247 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7248 : : {
7249 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7250 : : rtx x2, x3, x4;
7251 : : int res ATTRIBUTE_UNUSED;
7252 : : x2 = XEXP (x1, 0);
7253 : : operands[0] = x2;
7254 : : x3 = XEXP (x1, 1);
7255 : : x4 = XEXP (x3, 0);
7256 : : operands[1] = x4;
7257 : : switch (GET_MODE (operands[0]))
7258 : : {
7259 : : case E_DFmode:
7260 : : if (GET_MODE (x3) != E_DFmode)
7261 : : return -1;
7262 : : if (nonimm_ssenomem_operand (operands[0], E_DFmode)
7263 : : && nonimmediate_operand (operands[1], E_SFmode)
7264 : : &&
7265 : : #line 5304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7266 : : (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)))
7267 : : return 204; /* *extendsfdf2 */
7268 : : if (!register_operand (operands[0], E_DFmode)
7269 : : || !nonimmediate_operand (operands[1], E_HFmode)
7270 : : || !
7271 : : #line 5460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7272 : : (TARGET_AVX512FP16))
7273 : : return -1;
7274 : : return 206; /* *extendhfdf2 */
7275 : :
7276 : : case E_SFmode:
7277 : : if (!register_operand (operands[0], E_SFmode)
7278 : : || GET_MODE (x3) != E_SFmode
7279 : : || !nonimmediate_operand (operands[1], E_HFmode)
7280 : : || !
7281 : : #line 5460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7282 : : (TARGET_AVX512FP16))
7283 : : return -1;
7284 : : return 205; /* *extendhfsf2 */
7285 : :
7286 : : case E_XFmode:
7287 : : if (!nonimmediate_operand (operands[0], E_XFmode))
7288 : : return -1;
7289 : : switch (pattern415 (x3,
7290 : : E_XFmode))
7291 : : {
7292 : : case 0:
7293 : : if (!
7294 : : #line 5522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7295 : : (TARGET_80387))
7296 : : return -1;
7297 : : return 208; /* *extendsfxf2_i387 */
7298 : :
7299 : : case 1:
7300 : : if (!
7301 : : #line 5522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7302 : : (TARGET_80387))
7303 : : return -1;
7304 : : return 209; /* *extenddfxf2_i387 */
7305 : :
7306 : : default:
7307 : : return -1;
7308 : : }
7309 : :
7310 : : default:
7311 : : return -1;
7312 : : }
7313 : : }
7314 : :
7315 : : int
7316 : : recog_33 (rtx x1 ATTRIBUTE_UNUSED,
7317 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7318 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7319 : : {
7320 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7321 : : rtx x2, x3, x4;
7322 : : int res ATTRIBUTE_UNUSED;
7323 : : x2 = XEXP (x1, 0);
7324 : : operands[0] = x2;
7325 : : x3 = XEXP (x1, 1);
7326 : : x4 = XEXP (x3, 0);
7327 : : operands[1] = x4;
7328 : : switch (GET_MODE (operands[0]))
7329 : : {
7330 : : case E_SImode:
7331 : : if (GET_MODE (x3) != E_SImode)
7332 : : return -1;
7333 : : if (register_operand (operands[0], E_SImode))
7334 : : {
7335 : : switch (pattern249 ())
7336 : : {
7337 : : case 0:
7338 : : if (
7339 : : #line 5778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7340 : : (TARGET_AVX512FP16))
7341 : : return 216; /* fix_trunchfsi2 */
7342 : : break;
7343 : :
7344 : : case 1:
7345 : : if (
7346 : : #line 5954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7347 : : (SSE_FLOAT_MODE_P (SFmode)
7348 : : && (!TARGET_FISTTP || TARGET_SSE_MATH)))
7349 : : return 229; /* fix_truncsfsi_sse */
7350 : : break;
7351 : :
7352 : : case 2:
7353 : : if (
7354 : : #line 5954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7355 : : (SSE_FLOAT_MODE_P (DFmode)
7356 : : && (!TARGET_FISTTP || TARGET_SSE_MATH)))
7357 : : return 231; /* fix_truncdfsi_sse */
7358 : : break;
7359 : :
7360 : : default:
7361 : : break;
7362 : : }
7363 : : }
7364 : : if (pnum_clobbers == NULL
7365 : : || !nonimmediate_operand (operands[0], E_SImode)
7366 : : || !register_operand (operands[1], E_VOIDmode))
7367 : : return -1;
7368 : : if (
7369 : : #line 5984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7370 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
7371 : : && TARGET_FISTTP
7372 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
7373 : : && (TARGET_64BIT || SImode != DImode))
7374 : : && TARGET_SSE_MATH)))
7375 : : {
7376 : : *pnum_clobbers = 1;
7377 : : return 234; /* fix_truncsi_i387_fisttp */
7378 : : }
7379 : : if (!
7380 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7381 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
7382 : : && !TARGET_FISTTP
7383 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
7384 : : && (TARGET_64BIT || SImode != DImode))
7385 : : && ix86_pre_reload_split ()))
7386 : : return -1;
7387 : : *pnum_clobbers = 1;
7388 : : return 237; /* *fix_truncsi_i387_1 */
7389 : :
7390 : : case E_DImode:
7391 : : if (GET_MODE (x3) != E_DImode)
7392 : : return -1;
7393 : : if (register_operand (operands[0], E_DImode))
7394 : : {
7395 : : switch (pattern249 ())
7396 : : {
7397 : : case 0:
7398 : : if ((
7399 : : #line 5778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7400 : : (TARGET_AVX512FP16) &&
7401 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7402 : : (TARGET_64BIT)))
7403 : : return 218; /* fix_trunchfdi2 */
7404 : : break;
7405 : :
7406 : : case 1:
7407 : : if ((
7408 : : #line 5954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7409 : : (SSE_FLOAT_MODE_P (SFmode)
7410 : : && (!TARGET_FISTTP || TARGET_SSE_MATH)) &&
7411 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7412 : : (TARGET_64BIT)))
7413 : : return 230; /* fix_truncsfdi_sse */
7414 : : break;
7415 : :
7416 : : case 2:
7417 : : if ((
7418 : : #line 5954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7419 : : (SSE_FLOAT_MODE_P (DFmode)
7420 : : && (!TARGET_FISTTP || TARGET_SSE_MATH)) &&
7421 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7422 : : (TARGET_64BIT)))
7423 : : return 232; /* fix_truncdfdi_sse */
7424 : : break;
7425 : :
7426 : : default:
7427 : : break;
7428 : : }
7429 : : }
7430 : : if (pnum_clobbers == NULL
7431 : : || !nonimmediate_operand (operands[0], E_DImode)
7432 : : || !register_operand (operands[1], E_VOIDmode))
7433 : : return -1;
7434 : : if (
7435 : : #line 5984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7436 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
7437 : : && TARGET_FISTTP
7438 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
7439 : : && (TARGET_64BIT || DImode != DImode))
7440 : : && TARGET_SSE_MATH)))
7441 : : {
7442 : : *pnum_clobbers = 1;
7443 : : return 235; /* fix_truncdi_i387_fisttp */
7444 : : }
7445 : : if (!
7446 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7447 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
7448 : : && !TARGET_FISTTP
7449 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
7450 : : && (TARGET_64BIT || DImode != DImode))
7451 : : && ix86_pre_reload_split ()))
7452 : : return -1;
7453 : : *pnum_clobbers = 1;
7454 : : return 238; /* *fix_truncdi_i387_1 */
7455 : :
7456 : : case E_HImode:
7457 : : if (pattern248 (x3, pnum_clobbers,
7458 : : E_VOIDmode,
7459 : : E_HImode) != 0)
7460 : : return -1;
7461 : : if (
7462 : : #line 5984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7463 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
7464 : : && TARGET_FISTTP
7465 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
7466 : : && (TARGET_64BIT || HImode != DImode))
7467 : : && TARGET_SSE_MATH)))
7468 : : {
7469 : : *pnum_clobbers = 1;
7470 : : return 233; /* fix_trunchi_i387_fisttp */
7471 : : }
7472 : : if (!
7473 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7474 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
7475 : : && !TARGET_FISTTP
7476 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
7477 : : && (TARGET_64BIT || HImode != DImode))
7478 : : && ix86_pre_reload_split ()))
7479 : : return -1;
7480 : : *pnum_clobbers = 1;
7481 : : return 236; /* *fix_trunchi_i387_1 */
7482 : :
7483 : : case E_V2SImode:
7484 : : if (!register_operand (operands[0], E_V2SImode)
7485 : : || GET_MODE (x3) != E_V2SImode
7486 : : || !vector_operand (operands[1], E_V2DFmode)
7487 : : || !
7488 : : #line 8962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7489 : : (TARGET_SSE2))
7490 : : return -1;
7491 : : return 4854; /* sse2_cvttpd2pi */
7492 : :
7493 : : default:
7494 : : return -1;
7495 : : }
7496 : : }
7497 : :
7498 : : int
7499 : : recog_41 (rtx x1 ATTRIBUTE_UNUSED,
7500 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7501 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7502 : : {
7503 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7504 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7505 : : rtx x10, x11, x12, x13, x14, x15, x16;
7506 : : int res ATTRIBUTE_UNUSED;
7507 : : x2 = XEXP (x1, 1);
7508 : : x3 = XEXP (x2, 0);
7509 : : switch (GET_CODE (x3))
7510 : : {
7511 : : case REG:
7512 : : case SUBREG:
7513 : : case MEM:
7514 : : operands[1] = x3;
7515 : : res = recog_37 (x1, insn, pnum_clobbers);
7516 : : if (res >= 0)
7517 : : return res;
7518 : : if (pnum_clobbers == NULL
7519 : : || GET_CODE (x3) != SUBREG
7520 : : || maybe_ne (SUBREG_BYTE (x3), 0))
7521 : : return -1;
7522 : : x4 = XEXP (x3, 0);
7523 : : switch (GET_CODE (x4))
7524 : : {
7525 : : case ASHIFTRT:
7526 : : case LSHIFTRT:
7527 : : case SIGN_EXTRACT:
7528 : : case ZERO_EXTRACT:
7529 : : operands[3] = x4;
7530 : : if (GET_MODE (x2) != E_QImode
7531 : : || GET_MODE (x3) != E_QImode)
7532 : : return -1;
7533 : : x5 = XEXP (x4, 0);
7534 : : operands[2] = x5;
7535 : : switch (pattern1059 (x1))
7536 : : {
7537 : : case 0:
7538 : : if (
7539 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7540 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7541 : : {
7542 : : *pnum_clobbers = 1;
7543 : : return 735; /* *andqi_exthi_1_slp */
7544 : : }
7545 : : break;
7546 : :
7547 : : case 1:
7548 : : if (
7549 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7550 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7551 : : {
7552 : : *pnum_clobbers = 1;
7553 : : return 738; /* *andqi_extsi_1_slp */
7554 : : }
7555 : : break;
7556 : :
7557 : : case 2:
7558 : : if ((
7559 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7560 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7561 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7562 : : (TARGET_64BIT)))
7563 : : {
7564 : : *pnum_clobbers = 1;
7565 : : return 741; /* *andqi_extdi_1_slp */
7566 : : }
7567 : : break;
7568 : :
7569 : : case 3:
7570 : : *pnum_clobbers = 1;
7571 : : return 759; /* *andqi_exthi_0 */
7572 : :
7573 : : case 4:
7574 : : *pnum_clobbers = 1;
7575 : : return 762; /* *andqi_extsi_0 */
7576 : :
7577 : : case 5:
7578 : : if (
7579 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7580 : : (TARGET_64BIT))
7581 : : {
7582 : : *pnum_clobbers = 1;
7583 : : return 765; /* *andqi_extdi_0 */
7584 : : }
7585 : : break;
7586 : :
7587 : : default:
7588 : : break;
7589 : : }
7590 : : x6 = XEXP (x2, 1);
7591 : : if (GET_CODE (x6) != SUBREG)
7592 : : return -1;
7593 : : switch (pattern1062 (x1))
7594 : : {
7595 : : case 0:
7596 : : if (!
7597 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7598 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7599 : : return -1;
7600 : : *pnum_clobbers = 1;
7601 : : return 744; /* *andqi_exthi_2_slp */
7602 : :
7603 : : case 1:
7604 : : if (!
7605 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7606 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7607 : : return -1;
7608 : : *pnum_clobbers = 1;
7609 : : return 747; /* *andqi_extsi_2_slp */
7610 : :
7611 : : case 2:
7612 : : if (!(
7613 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7614 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7615 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7616 : : (TARGET_64BIT)))
7617 : : return -1;
7618 : : *pnum_clobbers = 1;
7619 : : return 750; /* *andqi_extdi_2_slp */
7620 : :
7621 : : case 3:
7622 : : *pnum_clobbers = 1;
7623 : : return 768; /* *andqi_ext2hi_0 */
7624 : :
7625 : : case 4:
7626 : : *pnum_clobbers = 1;
7627 : : return 771; /* *andqi_ext2si_0 */
7628 : :
7629 : : case 5:
7630 : : if (!
7631 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7632 : : (TARGET_64BIT))
7633 : : return -1;
7634 : : *pnum_clobbers = 1;
7635 : : return 774; /* *andqi_ext2di_0 */
7636 : :
7637 : : default:
7638 : : return -1;
7639 : : }
7640 : :
7641 : : case ROTATE:
7642 : : if (GET_MODE (x4) != E_SImode)
7643 : : return -1;
7644 : : x5 = XEXP (x4, 0);
7645 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
7646 : : return -1;
7647 : : x7 = XEXP (x1, 0);
7648 : : operands[0] = x7;
7649 : : x8 = XEXP (x4, 1);
7650 : : operands[2] = x8;
7651 : : if (!register_operand (operands[2], E_QImode))
7652 : : return -1;
7653 : : x6 = XEXP (x2, 1);
7654 : : operands[1] = x6;
7655 : : switch (GET_MODE (operands[0]))
7656 : : {
7657 : : case E_QImode:
7658 : : if (pattern1345 (x2,
7659 : : E_QImode) != 0
7660 : : || !
7661 : : #line 19095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7662 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
7663 : : return -1;
7664 : : *pnum_clobbers = 1;
7665 : : return 1413; /* *btrqi_1 */
7666 : :
7667 : : case E_HImode:
7668 : : if (pattern1345 (x2,
7669 : : E_HImode) != 0
7670 : : || !
7671 : : #line 19095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7672 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
7673 : : return -1;
7674 : : *pnum_clobbers = 1;
7675 : : return 1414; /* *btrhi_1 */
7676 : :
7677 : : default:
7678 : : return -1;
7679 : : }
7680 : :
7681 : : default:
7682 : : return -1;
7683 : : }
7684 : :
7685 : : case NOT:
7686 : : x7 = XEXP (x1, 0);
7687 : : operands[0] = x7;
7688 : : x4 = XEXP (x3, 0);
7689 : : operands[1] = x4;
7690 : : res = recog_38 (x1, insn, pnum_clobbers);
7691 : : if (res >= 0)
7692 : : return res;
7693 : : if (pnum_clobbers == NULL
7694 : : || !register_operand (operands[0], E_QImode)
7695 : : || GET_CODE (x4) != SUBREG
7696 : : || maybe_ne (SUBREG_BYTE (x4), 0)
7697 : : || GET_MODE (x4) != E_QImode)
7698 : : return -1;
7699 : : x5 = XEXP (x4, 0);
7700 : : if (GET_CODE (x5) != LSHIFTRT)
7701 : : return -1;
7702 : : x6 = XEXP (x2, 1);
7703 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
7704 : : || GET_MODE (x2) != E_QImode
7705 : : || GET_MODE (x3) != E_QImode)
7706 : : return -1;
7707 : : x9 = XEXP (x5, 0);
7708 : : operands[1] = x9;
7709 : : x10 = XEXP (x5, 1);
7710 : : operands[2] = x10;
7711 : : if (!register_operand (operands[2], E_QImode))
7712 : : return -1;
7713 : : switch (GET_MODE (x5))
7714 : : {
7715 : : case E_SImode:
7716 : : if (!register_operand (operands[1], E_SImode)
7717 : : || !
7718 : : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7719 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
7720 : : return -1;
7721 : : *pnum_clobbers = 1;
7722 : : return 1440; /* *btsi_setncqi */
7723 : :
7724 : : case E_DImode:
7725 : : if (!register_operand (operands[1], E_DImode)
7726 : : || !(
7727 : : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7728 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
7729 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7730 : : (TARGET_64BIT)))
7731 : : return -1;
7732 : : *pnum_clobbers = 1;
7733 : : return 1441; /* *btdi_setncqi */
7734 : :
7735 : : default:
7736 : : return -1;
7737 : : }
7738 : :
7739 : : case UNSPEC:
7740 : : x7 = XEXP (x1, 0);
7741 : : operands[0] = x7;
7742 : : switch (XVECLEN (x3, 0))
7743 : : {
7744 : : case 3:
7745 : : x11 = XVECEXP (x3, 0, 2);
7746 : : if (GET_CODE (x11) != CONST_INT)
7747 : : return -1;
7748 : : x12 = XVECEXP (x3, 0, 0);
7749 : : operands[1] = x12;
7750 : : x13 = XVECEXP (x3, 0, 1);
7751 : : operands[2] = x13;
7752 : : switch (XINT (x3, 1))
7753 : : {
7754 : : case 60:
7755 : : operands[3] = x11;
7756 : : res = recog_39 (x1, insn, pnum_clobbers);
7757 : : if (res >= 0)
7758 : : return res;
7759 : : if (XWINT (x11, 0) != 0L)
7760 : : return -1;
7761 : : switch (pattern954 (x2))
7762 : : {
7763 : : case 0:
7764 : : if (!(
7765 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7766 : : (TARGET_AVX512F) && (
7767 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7768 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7769 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7770 : : (TARGET_AVX512VL))))
7771 : : return -1;
7772 : : return 3487; /* *avx512vl_eqv16qi3_mask_1 */
7773 : :
7774 : : case 1:
7775 : : if (!(
7776 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7777 : : (TARGET_AVX512F) && (
7778 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7779 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7780 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7781 : : (TARGET_AVX512VL))))
7782 : : return -1;
7783 : : return 3499; /* *avx512vl_eqv16hi3_mask_1 */
7784 : :
7785 : : case 2:
7786 : : if (!(
7787 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7788 : : (TARGET_AVX512F) &&
7789 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7790 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
7791 : : return -1;
7792 : : return 3555; /* *avx512f_eqv16si3_mask_1 */
7793 : :
7794 : : case 3:
7795 : : if (!(
7796 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7797 : : (TARGET_AVX512F) && (
7798 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7799 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7800 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7801 : : (TARGET_AVX512VL))))
7802 : : return -1;
7803 : : return 3503; /* *avx512vl_eqv8hi3_mask_1 */
7804 : :
7805 : : case 4:
7806 : : if (!(
7807 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7808 : : (TARGET_AVX512F) && (
7809 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7810 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7811 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7812 : : (TARGET_AVX512VL))))
7813 : : return -1;
7814 : : return 3559; /* *avx512vl_eqv8si3_mask_1 */
7815 : :
7816 : : case 5:
7817 : : if (!(
7818 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7819 : : (TARGET_AVX512F) && (
7820 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7821 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7822 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7823 : : (TARGET_AVX512VL))))
7824 : : return -1;
7825 : : return 3563; /* *avx512vl_eqv4si3_mask_1 */
7826 : :
7827 : : case 6:
7828 : : if (!(
7829 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7830 : : (TARGET_AVX512F) &&
7831 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7832 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
7833 : : return -1;
7834 : : return 3567; /* *avx512f_eqv8di3_mask_1 */
7835 : :
7836 : : case 7:
7837 : : if (!(
7838 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7839 : : (TARGET_AVX512F) && (
7840 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7841 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7842 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7843 : : (TARGET_AVX512VL))))
7844 : : return -1;
7845 : : return 3571; /* *avx512vl_eqv4di3_mask_1 */
7846 : :
7847 : : case 8:
7848 : : if (!(
7849 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7850 : : (TARGET_AVX512F) && (
7851 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7852 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7853 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7854 : : (TARGET_AVX512VL))))
7855 : : return -1;
7856 : : return 3575; /* *avx512vl_eqv2di3_mask_1 */
7857 : :
7858 : : default:
7859 : : return -1;
7860 : : }
7861 : :
7862 : : case 158:
7863 : : if (GET_MODE (x3) == E_QImode)
7864 : : {
7865 : : res = recog_40 (x1, insn, pnum_clobbers);
7866 : : if (res >= 0)
7867 : : return res;
7868 : : }
7869 : : if (XWINT (x11, 0) == 0L)
7870 : : {
7871 : : switch (pattern954 (x2))
7872 : : {
7873 : : case 0:
7874 : : if ((
7875 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7876 : : (TARGET_AVX512F) && (
7877 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7878 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7879 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7880 : : (TARGET_AVX512VL))))
7881 : : return 3489; /* *avx512vl_eqv16qi3_mask_1 */
7882 : : break;
7883 : :
7884 : : case 1:
7885 : : if ((
7886 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7887 : : (TARGET_AVX512F) && (
7888 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7889 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7890 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7891 : : (TARGET_AVX512VL))))
7892 : : return 3501; /* *avx512vl_eqv16hi3_mask_1 */
7893 : : break;
7894 : :
7895 : : case 2:
7896 : : if ((
7897 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7898 : : (TARGET_AVX512F) &&
7899 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7900 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
7901 : : return 3557; /* *avx512f_eqv16si3_mask_1 */
7902 : : break;
7903 : :
7904 : : case 3:
7905 : : if ((
7906 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7907 : : (TARGET_AVX512F) && (
7908 : : #line 4632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7909 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7910 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7911 : : (TARGET_AVX512VL))))
7912 : : return 3505; /* *avx512vl_eqv8hi3_mask_1 */
7913 : : break;
7914 : :
7915 : : case 4:
7916 : : if ((
7917 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7918 : : (TARGET_AVX512F) && (
7919 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7920 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7921 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7922 : : (TARGET_AVX512VL))))
7923 : : return 3561; /* *avx512vl_eqv8si3_mask_1 */
7924 : : break;
7925 : :
7926 : : case 5:
7927 : : if ((
7928 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7929 : : (TARGET_AVX512F) && (
7930 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7931 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7932 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7933 : : (TARGET_AVX512VL))))
7934 : : return 3565; /* *avx512vl_eqv4si3_mask_1 */
7935 : : break;
7936 : :
7937 : : case 6:
7938 : : if ((
7939 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7940 : : (TARGET_AVX512F) &&
7941 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7942 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
7943 : : return 3569; /* *avx512f_eqv8di3_mask_1 */
7944 : : break;
7945 : :
7946 : : case 7:
7947 : : if ((
7948 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7949 : : (TARGET_AVX512F) && (
7950 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7951 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7952 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7953 : : (TARGET_AVX512VL))))
7954 : : return 3573; /* *avx512vl_eqv4di3_mask_1 */
7955 : : break;
7956 : :
7957 : : case 8:
7958 : : if ((
7959 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7960 : : (TARGET_AVX512F) && (
7961 : : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7962 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7963 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7964 : : (TARGET_AVX512VL))))
7965 : : return 3577; /* *avx512vl_eqv2di3_mask_1 */
7966 : : break;
7967 : :
7968 : : default:
7969 : : break;
7970 : : }
7971 : : }
7972 : : operands[3] = x11;
7973 : : if (!const_0_to_7_operand (operands[3], E_SImode))
7974 : : return -1;
7975 : : switch (pattern1065 (x2))
7976 : : {
7977 : : case 0:
7978 : : switch (pattern723 ())
7979 : : {
7980 : : case 0:
7981 : : if (!(
7982 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7983 : : (TARGET_AVX512F) && (
7984 : : #line 4647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7985 : : (TARGET_AVX512BW) &&
7986 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7987 : : (TARGET_AVX512VL))))
7988 : : return -1;
7989 : : return 3509; /* avx512vl_ucmpv16qi3_mask */
7990 : :
7991 : : case 1:
7992 : : if (!(
7993 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7994 : : (TARGET_AVX512F) && (
7995 : : #line 4647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7996 : : (TARGET_AVX512BW) &&
7997 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7998 : : (TARGET_AVX512VL))))
7999 : : return -1;
8000 : : return 3515; /* avx512vl_ucmpv16hi3_mask */
8001 : :
8002 : : case 2:
8003 : : if (!
8004 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8005 : : (TARGET_AVX512F))
8006 : : return -1;
8007 : : return 3579; /* avx512f_ucmpv16si3_mask */
8008 : :
8009 : : default:
8010 : : return -1;
8011 : : }
8012 : :
8013 : : case 1:
8014 : : switch (pattern724 ())
8015 : : {
8016 : : case 0:
8017 : : if (!(
8018 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8019 : : (TARGET_AVX512F) && (
8020 : : #line 4647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8021 : : (TARGET_AVX512BW) &&
8022 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8023 : : (TARGET_AVX512VL))))
8024 : : return -1;
8025 : : return 3517; /* avx512vl_ucmpv8hi3_mask */
8026 : :
8027 : : case 1:
8028 : : if (!(
8029 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8030 : : (TARGET_AVX512F) && (
8031 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8032 : : (TARGET_AVX512F) &&
8033 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8034 : : (TARGET_AVX512VL))))
8035 : : return -1;
8036 : : return 3581; /* avx512vl_ucmpv8si3_mask */
8037 : :
8038 : : case 2:
8039 : : if (!(
8040 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8041 : : (TARGET_AVX512F) && (
8042 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8043 : : (TARGET_AVX512F) &&
8044 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8045 : : (TARGET_AVX512VL))))
8046 : : return -1;
8047 : : return 3583; /* avx512vl_ucmpv4si3_mask */
8048 : :
8049 : : case 3:
8050 : : if (!
8051 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8052 : : (TARGET_AVX512F))
8053 : : return -1;
8054 : : return 3585; /* avx512f_ucmpv8di3_mask */
8055 : :
8056 : : case 4:
8057 : : if (!(
8058 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8059 : : (TARGET_AVX512F) && (
8060 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8061 : : (TARGET_AVX512F) &&
8062 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8063 : : (TARGET_AVX512VL))))
8064 : : return -1;
8065 : : return 3587; /* avx512vl_ucmpv4di3_mask */
8066 : :
8067 : : case 5:
8068 : : if (!(
8069 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8070 : : (TARGET_AVX512F) && (
8071 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8072 : : (TARGET_AVX512F) &&
8073 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8074 : : (TARGET_AVX512VL))))
8075 : : return -1;
8076 : : return 3589; /* avx512vl_ucmpv2di3_mask */
8077 : :
8078 : : default:
8079 : : return -1;
8080 : : }
8081 : :
8082 : : default:
8083 : : return -1;
8084 : : }
8085 : :
8086 : : default:
8087 : : return -1;
8088 : : }
8089 : :
8090 : : case 2:
8091 : : x12 = XVECEXP (x3, 0, 0);
8092 : : operands[1] = x12;
8093 : : x13 = XVECEXP (x3, 0, 1);
8094 : : operands[2] = x13;
8095 : : switch (XINT (x3, 1))
8096 : : {
8097 : : case 159:
8098 : : switch (pattern725 (x2))
8099 : : {
8100 : : case 0:
8101 : : if (!(
8102 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8103 : : (TARGET_AVX512F) && (
8104 : : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8105 : : (TARGET_AVX512F) &&
8106 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8107 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8108 : : return -1;
8109 : : return 8067; /* avx512vl_testmv16qi3_mask */
8110 : :
8111 : : case 1:
8112 : : if (!(
8113 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8114 : : (TARGET_AVX512F) && (
8115 : : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8116 : : (TARGET_AVX512F) &&
8117 : : #line 493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8118 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8119 : : return -1;
8120 : : return 8071; /* avx512vl_testmv16hi3_mask */
8121 : :
8122 : : case 2:
8123 : : if (!
8124 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8125 : : (TARGET_AVX512F))
8126 : : return -1;
8127 : : return 8075; /* avx512f_testmv16si3_mask */
8128 : :
8129 : : case 3:
8130 : : if (!(
8131 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8132 : : (TARGET_AVX512F) && (
8133 : : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8134 : : (TARGET_AVX512F) &&
8135 : : #line 494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8136 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8137 : : return -1;
8138 : : return 8073; /* avx512vl_testmv8hi3_mask */
8139 : :
8140 : : case 4:
8141 : : if (!(
8142 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8143 : : (TARGET_AVX512F) && (
8144 : : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8145 : : (TARGET_AVX512F) &&
8146 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8147 : : (TARGET_AVX512VL))))
8148 : : return -1;
8149 : : return 8077; /* avx512vl_testmv8si3_mask */
8150 : :
8151 : : case 5:
8152 : : if (!(
8153 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8154 : : (TARGET_AVX512F) && (
8155 : : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8156 : : (TARGET_AVX512F) &&
8157 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8158 : : (TARGET_AVX512VL))))
8159 : : return -1;
8160 : : return 8079; /* avx512vl_testmv4si3_mask */
8161 : :
8162 : : case 6:
8163 : : if (!
8164 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8165 : : (TARGET_AVX512F))
8166 : : return -1;
8167 : : return 8081; /* avx512f_testmv8di3_mask */
8168 : :
8169 : : case 7:
8170 : : if (!(
8171 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8172 : : (TARGET_AVX512F) && (
8173 : : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8174 : : (TARGET_AVX512F) &&
8175 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8176 : : (TARGET_AVX512VL))))
8177 : : return -1;
8178 : : return 8083; /* avx512vl_testmv4di3_mask */
8179 : :
8180 : : case 8:
8181 : : if (!(
8182 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8183 : : (TARGET_AVX512F) && (
8184 : : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8185 : : (TARGET_AVX512F) &&
8186 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8187 : : (TARGET_AVX512VL))))
8188 : : return -1;
8189 : : return 8085; /* avx512vl_testmv2di3_mask */
8190 : :
8191 : : default:
8192 : : return -1;
8193 : : }
8194 : :
8195 : : case 160:
8196 : : switch (pattern725 (x2))
8197 : : {
8198 : : case 0:
8199 : : if (!(
8200 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8201 : : (TARGET_AVX512F) && (
8202 : : #line 19080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8203 : : (TARGET_AVX512F) &&
8204 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8205 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8206 : : return -1;
8207 : : return 8091; /* avx512vl_testnmv16qi3_mask */
8208 : :
8209 : : case 1:
8210 : : if (!(
8211 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8212 : : (TARGET_AVX512F) && (
8213 : : #line 19080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8214 : : (TARGET_AVX512F) &&
8215 : : #line 493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8216 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8217 : : return -1;
8218 : : return 8095; /* avx512vl_testnmv16hi3_mask */
8219 : :
8220 : : case 2:
8221 : : if (!
8222 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8223 : : (TARGET_AVX512F))
8224 : : return -1;
8225 : : return 8099; /* avx512f_testnmv16si3_mask */
8226 : :
8227 : : case 3:
8228 : : if (!(
8229 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8230 : : (TARGET_AVX512F) && (
8231 : : #line 19080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8232 : : (TARGET_AVX512F) &&
8233 : : #line 494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8234 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8235 : : return -1;
8236 : : return 8097; /* avx512vl_testnmv8hi3_mask */
8237 : :
8238 : : case 4:
8239 : : if (!(
8240 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8241 : : (TARGET_AVX512F) && (
8242 : : #line 19080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8243 : : (TARGET_AVX512F) &&
8244 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8245 : : (TARGET_AVX512VL))))
8246 : : return -1;
8247 : : return 8101; /* avx512vl_testnmv8si3_mask */
8248 : :
8249 : : case 5:
8250 : : if (!(
8251 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8252 : : (TARGET_AVX512F) && (
8253 : : #line 19080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8254 : : (TARGET_AVX512F) &&
8255 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8256 : : (TARGET_AVX512VL))))
8257 : : return -1;
8258 : : return 8103; /* avx512vl_testnmv4si3_mask */
8259 : :
8260 : : case 6:
8261 : : if (!
8262 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8263 : : (TARGET_AVX512F))
8264 : : return -1;
8265 : : return 8105; /* avx512f_testnmv8di3_mask */
8266 : :
8267 : : case 7:
8268 : : if (!(
8269 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8270 : : (TARGET_AVX512F) && (
8271 : : #line 19080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8272 : : (TARGET_AVX512F) &&
8273 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8274 : : (TARGET_AVX512VL))))
8275 : : return -1;
8276 : : return 8107; /* avx512vl_testnmv4di3_mask */
8277 : :
8278 : : case 8:
8279 : : if (!(
8280 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8281 : : (TARGET_AVX512F) && (
8282 : : #line 19080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8283 : : (TARGET_AVX512F) &&
8284 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8285 : : (TARGET_AVX512VL))))
8286 : : return -1;
8287 : : return 8109; /* avx512vl_testnmv2di3_mask */
8288 : :
8289 : : default:
8290 : : return -1;
8291 : : }
8292 : :
8293 : : case 194:
8294 : : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
8295 : : return -1;
8296 : : x6 = XEXP (x2, 1);
8297 : : switch (GET_CODE (x6))
8298 : : {
8299 : : case REG:
8300 : : case SUBREG:
8301 : : operands[3] = x6;
8302 : : switch (GET_MODE (operands[0]))
8303 : : {
8304 : : case E_HImode:
8305 : : if (pattern271 (x2,
8306 : : E_HImode) != 0)
8307 : : return -1;
8308 : : switch (GET_MODE (operands[1]))
8309 : : {
8310 : : case E_V16HFmode:
8311 : : if (!vector_operand (operands[1], E_V16HFmode)
8312 : : || !(
8313 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8314 : : (TARGET_AVX512F) && (
8315 : : #line 29975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8316 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V16HFmode)) &&
8317 : : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8318 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
8319 : : return -1;
8320 : : return 9937; /* avx512dq_fpclassv16hf_mask */
8321 : :
8322 : : case E_V16SFmode:
8323 : : if (!vector_operand (operands[1], E_V16SFmode)
8324 : : || !(
8325 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8326 : : (TARGET_AVX512F) &&
8327 : : #line 29975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8328 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V16SFmode))))
8329 : : return -1;
8330 : : return 9941; /* avx512dq_fpclassv16sf_mask */
8331 : :
8332 : : default:
8333 : : return -1;
8334 : : }
8335 : :
8336 : : case E_QImode:
8337 : : if (pattern271 (x2,
8338 : : E_QImode) != 0)
8339 : : return -1;
8340 : : switch (GET_MODE (operands[1]))
8341 : : {
8342 : : case E_V8HFmode:
8343 : : if (!vector_operand (operands[1], E_V8HFmode)
8344 : : || !(
8345 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8346 : : (TARGET_AVX512F) && (
8347 : : #line 29975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8348 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8HFmode)) &&
8349 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8350 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
8351 : : return -1;
8352 : : return 9939; /* avx512dq_fpclassv8hf_mask */
8353 : :
8354 : : case E_V8SFmode:
8355 : : if (!vector_operand (operands[1], E_V8SFmode)
8356 : : || !(
8357 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8358 : : (TARGET_AVX512F) && (
8359 : : #line 29975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8360 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8SFmode)) &&
8361 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8362 : : (TARGET_AVX512VL))))
8363 : : return -1;
8364 : : return 9943; /* avx512dq_fpclassv8sf_mask */
8365 : :
8366 : : case E_V4SFmode:
8367 : : if (!vector_operand (operands[1], E_V4SFmode)
8368 : : || !(
8369 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8370 : : (TARGET_AVX512F) && (
8371 : : #line 29975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8372 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V4SFmode)) &&
8373 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8374 : : (TARGET_AVX512VL))))
8375 : : return -1;
8376 : : return 9945; /* avx512dq_fpclassv4sf_mask */
8377 : :
8378 : : case E_V8DFmode:
8379 : : if (!vector_operand (operands[1], E_V8DFmode)
8380 : : || !(
8381 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8382 : : (TARGET_AVX512F) &&
8383 : : #line 29975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8384 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8DFmode))))
8385 : : return -1;
8386 : : return 9947; /* avx512dq_fpclassv8df_mask */
8387 : :
8388 : : case E_V4DFmode:
8389 : : if (!vector_operand (operands[1], E_V4DFmode)
8390 : : || !(
8391 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8392 : : (TARGET_AVX512F) && (
8393 : : #line 29975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8394 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V4DFmode)) &&
8395 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8396 : : (TARGET_AVX512VL))))
8397 : : return -1;
8398 : : return 9949; /* avx512dq_fpclassv4df_mask */
8399 : :
8400 : : case E_V2DFmode:
8401 : : if (!vector_operand (operands[1], E_V2DFmode)
8402 : : || !(
8403 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8404 : : (TARGET_AVX512F) && (
8405 : : #line 29975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8406 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V2DFmode)) &&
8407 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8408 : : (TARGET_AVX512VL))))
8409 : : return -1;
8410 : : return 9951; /* avx512dq_fpclassv2df_mask */
8411 : :
8412 : : default:
8413 : : return -1;
8414 : : }
8415 : :
8416 : : default:
8417 : : return -1;
8418 : : }
8419 : :
8420 : : case CONST_INT:
8421 : : if (XWINT (x6, 0) != 1L
8422 : : || !register_operand (operands[0], E_QImode)
8423 : : || GET_MODE (x2) != E_QImode
8424 : : || GET_MODE (x3) != E_QImode)
8425 : : return -1;
8426 : : switch (GET_MODE (operands[1]))
8427 : : {
8428 : : case E_V8HFmode:
8429 : : if (!nonimmediate_operand (operands[1], E_V8HFmode)
8430 : : || !(
8431 : : #line 29990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8432 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8HFmode)) &&
8433 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8434 : : (TARGET_AVX512FP16)))
8435 : : return -1;
8436 : : return 9952; /* avx512dq_vmfpclassv8hf */
8437 : :
8438 : : case E_V4SFmode:
8439 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
8440 : : || !
8441 : : #line 29990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8442 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V4SFmode)))
8443 : : return -1;
8444 : : return 9954; /* avx512dq_vmfpclassv4sf */
8445 : :
8446 : : case E_V2DFmode:
8447 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
8448 : : || !(
8449 : : #line 29990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8450 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V2DFmode)) &&
8451 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8452 : : (TARGET_SSE2)))
8453 : : return -1;
8454 : : return 9956; /* avx512dq_vmfpclassv2df */
8455 : :
8456 : : default:
8457 : : return -1;
8458 : : }
8459 : :
8460 : : default:
8461 : : return -1;
8462 : : }
8463 : :
8464 : : case 215:
8465 : : if (GET_MODE (x3) != E_HImode
8466 : : || !register_operand (operands[0], E_HImode)
8467 : : || GET_MODE (x2) != E_HImode
8468 : : || !register_operand (operands[1], E_V16QImode)
8469 : : || !nonimmediate_operand (operands[2], E_V16QImode))
8470 : : return -1;
8471 : : x6 = XEXP (x2, 1);
8472 : : operands[3] = x6;
8473 : : if (!register_operand (operands[3], E_HImode)
8474 : : || !(
8475 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8476 : : (TARGET_AVX512F) && (
8477 : : #line 31058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8478 : : (TARGET_AVX512BITALG) &&
8479 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8480 : : (TARGET_AVX512VL))))
8481 : : return -1;
8482 : : return 10279; /* avx512vl_vpshufbitqmbv16qi_mask */
8483 : :
8484 : : case 263:
8485 : : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
8486 : : return -1;
8487 : : x6 = XEXP (x2, 1);
8488 : : operands[3] = x6;
8489 : : switch (GET_MODE (operands[0]))
8490 : : {
8491 : : case E_HImode:
8492 : : if (pattern1066 (x2,
8493 : : E_HImode,
8494 : : E_V16BFmode) != 0
8495 : : || !(
8496 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8497 : : (TARGET_AVX512F) &&
8498 : : #line 32573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8499 : : (TARGET_AVX10_2)))
8500 : : return -1;
8501 : : return 10673; /* avx10_2_fpclassbf16_v16bf_mask */
8502 : :
8503 : : case E_QImode:
8504 : : if (pattern1066 (x2,
8505 : : E_QImode,
8506 : : E_V8BFmode) != 0
8507 : : || !(
8508 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8509 : : (TARGET_AVX512F) &&
8510 : : #line 32573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8511 : : (TARGET_AVX10_2)))
8512 : : return -1;
8513 : : return 10675; /* avx10_2_fpclassbf16_v8bf_mask */
8514 : :
8515 : : default:
8516 : : return -1;
8517 : : }
8518 : :
8519 : : default:
8520 : : return -1;
8521 : : }
8522 : :
8523 : : default:
8524 : : return -1;
8525 : : }
8526 : :
8527 : : case AND:
8528 : : if (GET_MODE (x3) != E_QImode)
8529 : : return -1;
8530 : : x4 = XEXP (x3, 0);
8531 : : if (pattern82 (x4,
8532 : : E_QImode,
8533 : : 194,
8534 : : 2) != 0)
8535 : : return -1;
8536 : : x14 = XEXP (x3, 1);
8537 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8538 : : return -1;
8539 : : x7 = XEXP (x1, 0);
8540 : : operands[0] = x7;
8541 : : if (!register_operand (operands[0], E_QImode)
8542 : : || GET_MODE (x2) != E_QImode)
8543 : : return -1;
8544 : : x15 = XVECEXP (x4, 0, 0);
8545 : : operands[1] = x15;
8546 : : x16 = XVECEXP (x4, 0, 1);
8547 : : operands[2] = x16;
8548 : : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
8549 : : return -1;
8550 : : x6 = XEXP (x2, 1);
8551 : : operands[3] = x6;
8552 : : if (!register_operand (operands[3], E_QImode))
8553 : : return -1;
8554 : : switch (GET_MODE (operands[1]))
8555 : : {
8556 : : case E_V8HFmode:
8557 : : if (!nonimmediate_operand (operands[1], E_V8HFmode)
8558 : : || !(
8559 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8560 : : (TARGET_AVX512F) && (
8561 : : #line 29990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8562 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8HFmode)) &&
8563 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8564 : : (TARGET_AVX512FP16))))
8565 : : return -1;
8566 : : return 9953; /* avx512dq_vmfpclassv8hf_mask */
8567 : :
8568 : : case E_V4SFmode:
8569 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
8570 : : || !(
8571 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8572 : : (TARGET_AVX512F) &&
8573 : : #line 29990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8574 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V4SFmode))))
8575 : : return -1;
8576 : : return 9955; /* avx512dq_vmfpclassv4sf_mask */
8577 : :
8578 : : case E_V2DFmode:
8579 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
8580 : : || !(
8581 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8582 : : (TARGET_AVX512F) && (
8583 : : #line 29990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8584 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V2DFmode)) &&
8585 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8586 : : (TARGET_SSE2))))
8587 : : return -1;
8588 : : return 9957; /* avx512dq_vmfpclassv2df_mask */
8589 : :
8590 : : default:
8591 : : return -1;
8592 : : }
8593 : :
8594 : : default:
8595 : : return -1;
8596 : : }
8597 : : }
8598 : :
8599 : : int
8600 : : recog_78 (rtx x1 ATTRIBUTE_UNUSED,
8601 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8602 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8603 : : {
8604 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8605 : : rtx x2, x3, x4, x5, x6;
8606 : : int res ATTRIBUTE_UNUSED;
8607 : : x2 = XEXP (x1, 1);
8608 : : x3 = XEXP (x2, 0);
8609 : : x4 = XEXP (x3, 0);
8610 : : switch (GET_CODE (x4))
8611 : : {
8612 : : case REG:
8613 : : case SUBREG:
8614 : : case MEM:
8615 : : switch (pattern108 (x2, pnum_clobbers))
8616 : : {
8617 : : case 0:
8618 : : if (
8619 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8620 : : (TARGET_APX_NDD && TARGET_APX_NF
8621 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8622 : : return 853; /* *xorqi_1_zextsi_nf */
8623 : : if (pnum_clobbers == NULL
8624 : : || !
8625 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8626 : : (TARGET_APX_NDD && true
8627 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8628 : : return -1;
8629 : : *pnum_clobbers = 1;
8630 : : return 854; /* *xorqi_1_zextsi */
8631 : :
8632 : : case 1:
8633 : : if (
8634 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8635 : : (TARGET_APX_NDD && TARGET_APX_NF
8636 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8637 : : return 861; /* *xorhi_1_zextsi_nf */
8638 : : if (pnum_clobbers == NULL
8639 : : || !
8640 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8641 : : (TARGET_APX_NDD && true
8642 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8643 : : return -1;
8644 : : *pnum_clobbers = 1;
8645 : : return 862; /* *xorhi_1_zextsi */
8646 : :
8647 : : case 2:
8648 : : if (
8649 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8650 : : (TARGET_APX_NDD && TARGET_APX_NF
8651 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8652 : : return 857; /* *xorqi_1_zextdi_nf */
8653 : : if (pnum_clobbers == NULL
8654 : : || !
8655 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8656 : : (TARGET_APX_NDD && true
8657 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8658 : : return -1;
8659 : : *pnum_clobbers = 1;
8660 : : return 858; /* *xorqi_1_zextdi */
8661 : :
8662 : : case 3:
8663 : : if (
8664 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8665 : : (TARGET_APX_NDD && TARGET_APX_NF
8666 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8667 : : return 865; /* *xorhi_1_zextdi_nf */
8668 : : if (pnum_clobbers == NULL
8669 : : || !
8670 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8671 : : (TARGET_APX_NDD && true
8672 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8673 : : return -1;
8674 : : *pnum_clobbers = 1;
8675 : : return 866; /* *xorhi_1_zextdi */
8676 : :
8677 : : case 4:
8678 : : if (!
8679 : : #line 13882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8680 : : (TARGET_64BIT
8681 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
8682 : : return -1;
8683 : : *pnum_clobbers = 1;
8684 : : return 868; /* *xorsi_1_zext */
8685 : :
8686 : : default:
8687 : : return -1;
8688 : : }
8689 : :
8690 : : case MINUS:
8691 : : if (pnum_clobbers == NULL
8692 : : || pattern429 (x3) != 0
8693 : : || !register_operand (operands[0], E_DImode)
8694 : : || GET_MODE (x2) != E_DImode
8695 : : || GET_MODE (x3) != E_SImode)
8696 : : return -1;
8697 : : x5 = XEXP (x4, 1);
8698 : : x6 = XEXP (x5, 0);
8699 : : operands[1] = x6;
8700 : : if (!nonimmediate_operand (operands[1], E_SImode)
8701 : : || !
8702 : : #line 21487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8703 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
8704 : : return -1;
8705 : : *pnum_clobbers = 1;
8706 : : return 1537; /* *bsru_2 */
8707 : :
8708 : : default:
8709 : : return -1;
8710 : : }
8711 : : }
8712 : :
8713 : : int
8714 : : recog_81 (rtx x1 ATTRIBUTE_UNUSED,
8715 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8716 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8717 : : {
8718 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8719 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8720 : : rtx x10, x11;
8721 : : int res ATTRIBUTE_UNUSED;
8722 : : x2 = XEXP (x1, 1);
8723 : : x3 = XEXP (x2, 0);
8724 : : x4 = XEXP (x3, 1);
8725 : : x5 = XEXP (x4, 0);
8726 : : operands[2] = x5;
8727 : : x6 = XEXP (x3, 0);
8728 : : if (!rtx_equal_p (x6, operands[0]))
8729 : : return -1;
8730 : : x7 = XEXP (x2, 1);
8731 : : x8 = XEXP (x7, 0);
8732 : : x9 = XEXP (x8, 1);
8733 : : x10 = XEXP (x9, 1);
8734 : : x11 = XEXP (x10, 0);
8735 : : if (!rtx_equal_p (x11, operands[2]))
8736 : : return -1;
8737 : : if (
8738 : : #line 15540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8739 : : (TARGET_64BIT && TARGET_APX_NF))
8740 : : return 1066; /* x86_64_shld_nf */
8741 : : if (pnum_clobbers == NULL
8742 : : || !
8743 : : #line 15540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8744 : : (TARGET_64BIT && true))
8745 : : return -1;
8746 : : *pnum_clobbers = 1;
8747 : : return 1067; /* x86_64_shld */
8748 : : }
8749 : :
8750 : : int
8751 : : recog_83 (rtx x1 ATTRIBUTE_UNUSED,
8752 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8753 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8754 : : {
8755 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8756 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8757 : : rtx x10, x11, x12, x13, x14, x15;
8758 : : int res ATTRIBUTE_UNUSED;
8759 : : x2 = XEXP (x1, 1);
8760 : : x3 = XEXP (x2, 0);
8761 : : x4 = XEXP (x3, 0);
8762 : : switch (GET_CODE (x4))
8763 : : {
8764 : : case REG:
8765 : : case SUBREG:
8766 : : case MEM:
8767 : : x5 = XEXP (x3, 1);
8768 : : switch (GET_CODE (x5))
8769 : : {
8770 : : case CONST_INT:
8771 : : case CONST_WIDE_INT:
8772 : : case CONST_POLY_INT:
8773 : : case CONST_FIXED:
8774 : : case CONST_DOUBLE:
8775 : : case CONST_VECTOR:
8776 : : case CONST:
8777 : : case REG:
8778 : : case SUBREG:
8779 : : case LABEL_REF:
8780 : : case SYMBOL_REF:
8781 : : case HIGH:
8782 : : x6 = XEXP (x2, 1);
8783 : : switch (GET_CODE (x6))
8784 : : {
8785 : : case CONST_INT:
8786 : : case CONST_WIDE_INT:
8787 : : operands[3] = x6;
8788 : : operands[1] = x4;
8789 : : operands[2] = x5;
8790 : : switch (GET_MODE (operands[0]))
8791 : : {
8792 : : case E_SImode:
8793 : : if (pattern591 (x2,
8794 : : E_SImode) != 0
8795 : : || !
8796 : : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8797 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
8798 : : < (HOST_WIDE_INT_1U << INTVAL (operands[2]))))
8799 : : return -1;
8800 : : return 380; /* *leasi_general_4 */
8801 : :
8802 : : case E_DImode:
8803 : : if (GET_MODE (x2) != E_DImode
8804 : : || GET_MODE (x3) != E_DImode)
8805 : : return -1;
8806 : : if (register_operand (operands[0], E_DImode)
8807 : : && register_no_SP_operand (operands[1], E_DImode)
8808 : : && const_0_to_3_operand (operands[2], E_VOIDmode)
8809 : : && const_int_operand (operands[3], E_VOIDmode)
8810 : : && (
8811 : : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8812 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
8813 : : < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) &&
8814 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8815 : : (TARGET_64BIT)))
8816 : : return 382; /* *leadi_general_4 */
8817 : : if (!nonimmediate_operand (operands[0], E_DImode)
8818 : : || !register_operand (operands[1], E_DImode)
8819 : : || !const_int_operand (operands[2], E_QImode)
8820 : : || !const_scalar_int_operand (operands[3], E_DImode)
8821 : : || !(
8822 : : #line 14274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8823 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
8824 : : && (DImode == DImode
8825 : : ? CONST_INT_P (operands[3])
8826 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8827 : : : CONST_INT_P (operands[3])
8828 : : ? INTVAL (operands[3]) >= 0
8829 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8830 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8831 : : && !(CONST_INT_P (operands[3])
8832 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8833 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8834 : : 0)),
8835 : : VOIDmode))) &&
8836 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8837 : : (!TARGET_64BIT)))
8838 : : return -1;
8839 : : return 933; /* *concatsidi3_5 */
8840 : :
8841 : : default:
8842 : : return -1;
8843 : : }
8844 : :
8845 : : case ZERO_EXTEND:
8846 : : if (GET_MODE (x6) != E_DImode
8847 : : || !nonimmediate_operand (operands[0], E_DImode)
8848 : : || GET_MODE (x2) != E_DImode
8849 : : || GET_MODE (x3) != E_DImode)
8850 : : return -1;
8851 : : operands[1] = x4;
8852 : : if (!register_operand (operands[1], E_DImode))
8853 : : return -1;
8854 : : operands[2] = x5;
8855 : : if (!const_int_operand (operands[2], E_QImode))
8856 : : return -1;
8857 : : x7 = XEXP (x6, 0);
8858 : : operands[3] = x7;
8859 : : if (!nonimmediate_operand (operands[3], E_SImode)
8860 : : || !(
8861 : : #line 14197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8862 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
8863 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8864 : : (!TARGET_64BIT)))
8865 : : return -1;
8866 : : return 897; /* *concatsidi3_1 */
8867 : :
8868 : : case SUBREG:
8869 : : switch (pattern431 (x2,
8870 : : LSHIFTRT))
8871 : : {
8872 : : case 0:
8873 : : operands[2] = x5;
8874 : : if (pattern1349 (x2) == 0)
8875 : : {
8876 : : if (
8877 : : #line 15576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8878 : : (TARGET_64BIT
8879 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
8880 : : && TARGET_APX_NF))
8881 : : return 1070; /* x86_64_shld_1_nf */
8882 : : if (pnum_clobbers != NULL
8883 : : &&
8884 : : #line 15576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8885 : : (TARGET_64BIT
8886 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
8887 : : && true))
8888 : : {
8889 : : *pnum_clobbers = 1;
8890 : : return 1071; /* x86_64_shld_1 */
8891 : : }
8892 : : }
8893 : : operands[3] = x5;
8894 : : if (pattern1350 (x2) != 0)
8895 : : return -1;
8896 : : if (
8897 : : #line 15598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8898 : : (TARGET_APX_NDD
8899 : : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
8900 : : && TARGET_APX_NF))
8901 : : return 1072; /* x86_64_shld_ndd_1_nf */
8902 : : if (pnum_clobbers == NULL
8903 : : || !
8904 : : #line 15598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8905 : : (TARGET_APX_NDD
8906 : : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
8907 : : && true))
8908 : : return -1;
8909 : : *pnum_clobbers = 1;
8910 : : return 1073; /* x86_64_shld_ndd_1 */
8911 : :
8912 : : case 1:
8913 : : operands[2] = x5;
8914 : : if (pattern1351 (x2) == 0)
8915 : : {
8916 : : if (
8917 : : #line 15808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8918 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
8919 : : && TARGET_APX_NF))
8920 : : return 1082; /* x86_shld_1_nf */
8921 : : if (pnum_clobbers != NULL
8922 : : &&
8923 : : #line 15808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8924 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
8925 : : && true))
8926 : : {
8927 : : *pnum_clobbers = 1;
8928 : : return 1083; /* x86_shld_1 */
8929 : : }
8930 : : }
8931 : : operands[3] = x5;
8932 : : if (pattern1352 (x2) != 0)
8933 : : return -1;
8934 : : if (
8935 : : #line 15830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8936 : : (TARGET_APX_NDD
8937 : : && INTVAL (operands[4]) == 32 - INTVAL (operands[3])
8938 : : && TARGET_APX_NF))
8939 : : return 1084; /* x86_shld_ndd_1_nf */
8940 : : if (pnum_clobbers == NULL
8941 : : || !
8942 : : #line 15830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8943 : : (TARGET_APX_NDD
8944 : : && INTVAL (operands[4]) == 32 - INTVAL (operands[3])
8945 : : && true))
8946 : : return -1;
8947 : : *pnum_clobbers = 1;
8948 : : return 1085; /* x86_shld_ndd_1 */
8949 : :
8950 : : default:
8951 : : return -1;
8952 : : }
8953 : :
8954 : : case LSHIFTRT:
8955 : : switch (pattern434 (x2, pnum_clobbers))
8956 : : {
8957 : : case 0:
8958 : : if (
8959 : : #line 15614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8960 : : (TARGET_64BIT && TARGET_APX_NF
8961 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
8962 : : && ix86_pre_reload_split ()))
8963 : : return 1074; /* *x86_64_shld_shrd_1_nozext_nf */
8964 : : if (pnum_clobbers == NULL
8965 : : || !
8966 : : #line 15670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8967 : : (TARGET_64BIT
8968 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
8969 : : && ix86_pre_reload_split ()))
8970 : : return -1;
8971 : : *pnum_clobbers = 1;
8972 : : return 1075; /* *x86_64_shld_shrd_1_nozext */
8973 : :
8974 : : case 1:
8975 : : if (
8976 : : #line 15846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8977 : : (TARGET_APX_NF
8978 : : && INTVAL (operands[3]) == 32 - INTVAL (operands[2])
8979 : : && ix86_pre_reload_split ()))
8980 : : return 1086; /* *x86_shld_shrd_1_nozext_nf */
8981 : : if (pnum_clobbers == NULL
8982 : : || !
8983 : : #line 15902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8984 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
8985 : : && ix86_pre_reload_split ()))
8986 : : return -1;
8987 : : *pnum_clobbers = 1;
8988 : : return 1087; /* *x86_shld_shrd_1_nozext */
8989 : :
8990 : : case 2:
8991 : : x7 = XEXP (x6, 0);
8992 : : operands[1] = x7;
8993 : : if (nonimmediate_operand (operands[0], E_DImode))
8994 : : {
8995 : : operands[2] = x5;
8996 : : if (rtx_equal_p (x4, operands[0]))
8997 : : {
8998 : : x8 = XEXP (x6, 1);
8999 : : x9 = XEXP (x8, 1);
9000 : : if (rtx_equal_p (x9, operands[2])
9001 : : &&
9002 : : #line 15723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9003 : : (TARGET_64BIT && ix86_pre_reload_split ()))
9004 : : {
9005 : : *pnum_clobbers = 1;
9006 : : return 1076; /* *x86_64_shld_2 */
9007 : : }
9008 : : }
9009 : : }
9010 : : operands[2] = x7;
9011 : : if (!register_operand (operands[0], E_DImode))
9012 : : return -1;
9013 : : operands[1] = x4;
9014 : : if (!nonimmediate_operand (operands[1], E_DImode))
9015 : : return -1;
9016 : : operands[3] = x5;
9017 : : x8 = XEXP (x6, 1);
9018 : : x9 = XEXP (x8, 1);
9019 : : if (!rtx_equal_p (x9, operands[3])
9020 : : || !
9021 : : #line 15744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9022 : : (TARGET_APX_NDD
9023 : : && ix86_pre_reload_split ()))
9024 : : return -1;
9025 : : *pnum_clobbers = 1;
9026 : : return 1077; /* *x86_64_shld_ndd_2 */
9027 : :
9028 : : case 3:
9029 : : x7 = XEXP (x6, 0);
9030 : : operands[1] = x7;
9031 : : if (nonimmediate_operand (operands[0], E_SImode))
9032 : : {
9033 : : operands[2] = x5;
9034 : : if (rtx_equal_p (x4, operands[0]))
9035 : : {
9036 : : x8 = XEXP (x6, 1);
9037 : : x9 = XEXP (x8, 1);
9038 : : if (rtx_equal_p (x9, operands[2])
9039 : : &&
9040 : : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9041 : : (TARGET_64BIT && ix86_pre_reload_split ()))
9042 : : {
9043 : : *pnum_clobbers = 1;
9044 : : return 1088; /* *x86_shld_2 */
9045 : : }
9046 : : }
9047 : : }
9048 : : operands[2] = x7;
9049 : : if (!register_operand (operands[0], E_SImode))
9050 : : return -1;
9051 : : operands[1] = x4;
9052 : : if (!nonimmediate_operand (operands[1], E_SImode))
9053 : : return -1;
9054 : : operands[3] = x5;
9055 : : x8 = XEXP (x6, 1);
9056 : : x9 = XEXP (x8, 1);
9057 : : if (!rtx_equal_p (x9, operands[3])
9058 : : || !
9059 : : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9060 : : (TARGET_APX_NDD
9061 : : && ix86_pre_reload_split ()))
9062 : : return -1;
9063 : : *pnum_clobbers = 1;
9064 : : return 1089; /* *x86_shld_ndd_2 */
9065 : :
9066 : : default:
9067 : : return -1;
9068 : : }
9069 : :
9070 : : default:
9071 : : return -1;
9072 : : }
9073 : :
9074 : : case AND:
9075 : : switch (pattern276 (x2,
9076 : : LSHIFTRT))
9077 : : {
9078 : : case 0:
9079 : : x6 = XEXP (x2, 1);
9080 : : x7 = XEXP (x6, 0);
9081 : : x10 = XEXP (x7, 0);
9082 : : x11 = XEXP (x10, 0);
9083 : : operands[1] = x11;
9084 : : if (nonimmediate_operand (operands[0], E_DImode))
9085 : : {
9086 : : res = recog_81 (x1, insn, pnum_clobbers);
9087 : : if (res >= 0)
9088 : : return res;
9089 : : }
9090 : : operands[2] = x11;
9091 : : if (!register_operand (operands[0], E_DImode))
9092 : : return -1;
9093 : : operands[1] = x4;
9094 : : if (!nonimmediate_operand (operands[1], E_DImode))
9095 : : return -1;
9096 : : x12 = XEXP (x5, 0);
9097 : : operands[3] = x12;
9098 : : x13 = XEXP (x7, 1);
9099 : : x14 = XEXP (x13, 1);
9100 : : x15 = XEXP (x14, 0);
9101 : : if (!rtx_equal_p (x15, operands[3]))
9102 : : return -1;
9103 : : if (
9104 : : #line 15561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9105 : : (TARGET_APX_NDD && TARGET_APX_NF))
9106 : : return 1068; /* x86_64_shld_ndd_nf */
9107 : : if (pnum_clobbers == NULL
9108 : : || !
9109 : : #line 15561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9110 : : (TARGET_APX_NDD && true))
9111 : : return -1;
9112 : : *pnum_clobbers = 1;
9113 : : return 1069; /* x86_64_shld_ndd */
9114 : :
9115 : : case 1:
9116 : : if (!nonimmediate_operand (operands[0], E_SImode)
9117 : : || pattern275 (x2,
9118 : : E_SImode,
9119 : : E_DImode) != 0)
9120 : : return -1;
9121 : : x6 = XEXP (x2, 1);
9122 : : x7 = XEXP (x6, 0);
9123 : : x10 = XEXP (x7, 0);
9124 : : x11 = XEXP (x10, 0);
9125 : : operands[1] = x11;
9126 : : x12 = XEXP (x5, 0);
9127 : : operands[2] = x12;
9128 : : if (rtx_equal_p (x4, operands[0]))
9129 : : {
9130 : : x13 = XEXP (x7, 1);
9131 : : x14 = XEXP (x13, 1);
9132 : : x15 = XEXP (x14, 0);
9133 : : if (rtx_equal_p (x15, operands[2]))
9134 : : {
9135 : : if (
9136 : : #line 15770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9137 : : (TARGET_APX_NF))
9138 : : return 1078; /* x86_shld_nf */
9139 : : if (pnum_clobbers != NULL)
9140 : : {
9141 : : *pnum_clobbers = 1;
9142 : : return 1079; /* x86_shld */
9143 : : }
9144 : : }
9145 : : }
9146 : : operands[2] = x11;
9147 : : operands[1] = x4;
9148 : : if (!nonimmediate_operand (operands[1], E_SImode))
9149 : : return -1;
9150 : : operands[3] = x12;
9151 : : x13 = XEXP (x7, 1);
9152 : : x14 = XEXP (x13, 1);
9153 : : x15 = XEXP (x14, 0);
9154 : : if (!rtx_equal_p (x15, operands[3]))
9155 : : return -1;
9156 : : if (
9157 : : #line 15792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9158 : : (TARGET_APX_NDD && TARGET_APX_NF))
9159 : : return 1080; /* x86_shld_ndd_nf */
9160 : : if (pnum_clobbers == NULL
9161 : : || !
9162 : : #line 15792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9163 : : (TARGET_APX_NDD && true))
9164 : : return -1;
9165 : : *pnum_clobbers = 1;
9166 : : return 1081; /* x86_shld_ndd */
9167 : :
9168 : : default:
9169 : : return -1;
9170 : : }
9171 : :
9172 : : default:
9173 : : return -1;
9174 : : }
9175 : :
9176 : : case SIGN_EXTEND:
9177 : : switch (pattern247 (x2,
9178 : : E_SImode,
9179 : : E_DImode))
9180 : : {
9181 : : case 0:
9182 : : if (!(
9183 : : #line 14233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9184 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
9185 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9186 : : (!TARGET_64BIT)))
9187 : : return -1;
9188 : : return 909; /* *concatsidi3_3 */
9189 : :
9190 : : case 1:
9191 : : if (!(
9192 : : #line 14306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9193 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
9194 : : && (DImode == DImode
9195 : : ? CONST_INT_P (operands[3])
9196 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
9197 : : : CONST_INT_P (operands[3])
9198 : : ? INTVAL (operands[3]) >= 0
9199 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
9200 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
9201 : : && !(CONST_INT_P (operands[3])
9202 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
9203 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
9204 : : 0)),
9205 : : VOIDmode))) &&
9206 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9207 : : (!TARGET_64BIT)))
9208 : : return -1;
9209 : : return 939; /* *concatsidi3_6 */
9210 : :
9211 : : default:
9212 : : return -1;
9213 : : }
9214 : :
9215 : : case ZERO_EXTEND:
9216 : : switch (pattern247 (x2,
9217 : : E_SImode,
9218 : : E_DImode))
9219 : : {
9220 : : case 0:
9221 : : if (!(
9222 : : #line 14233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9223 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
9224 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9225 : : (!TARGET_64BIT)))
9226 : : return -1;
9227 : : return 912; /* *concatsidi3_3 */
9228 : :
9229 : : case 1:
9230 : : if (!(
9231 : : #line 14306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9232 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
9233 : : && (DImode == DImode
9234 : : ? CONST_INT_P (operands[3])
9235 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
9236 : : : CONST_INT_P (operands[3])
9237 : : ? INTVAL (operands[3]) >= 0
9238 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
9239 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
9240 : : && !(CONST_INT_P (operands[3])
9241 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
9242 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
9243 : : 0)),
9244 : : VOIDmode))) &&
9245 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9246 : : (!TARGET_64BIT)))
9247 : : return -1;
9248 : : return 942; /* *concatsidi3_6 */
9249 : :
9250 : : default:
9251 : : return -1;
9252 : : }
9253 : :
9254 : : case CONST_INT:
9255 : : switch (pattern274 (x2, pnum_clobbers))
9256 : : {
9257 : : case 0:
9258 : : x5 = XEXP (x3, 1);
9259 : : operands[2] = x5;
9260 : : if (register_operand (operands[2], E_QImode))
9261 : : {
9262 : : switch (pattern735 (x2))
9263 : : {
9264 : : case 0:
9265 : : if (
9266 : : #line 18958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9267 : : (TARGET_USE_BT))
9268 : : {
9269 : : *pnum_clobbers = 1;
9270 : : return 1395; /* *btssi */
9271 : : }
9272 : : break;
9273 : :
9274 : : case 1:
9275 : : if ((
9276 : : #line 18958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9277 : : (TARGET_USE_BT) &&
9278 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9279 : : (TARGET_64BIT)))
9280 : : {
9281 : : *pnum_clobbers = 1;
9282 : : return 1397; /* *btsdi */
9283 : : }
9284 : : break;
9285 : :
9286 : : default:
9287 : : break;
9288 : : }
9289 : : }
9290 : : if (GET_CODE (x5) != SUBREG)
9291 : : return -1;
9292 : : switch (pattern744 (x2))
9293 : : {
9294 : : case 0:
9295 : : if (!
9296 : : #line 18977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9297 : : (TARGET_USE_BT
9298 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
9299 : : == GET_MODE_BITSIZE (SImode)-1
9300 : : && ix86_pre_reload_split ()))
9301 : : return -1;
9302 : : *pnum_clobbers = 1;
9303 : : return 1399; /* *btssi_mask */
9304 : :
9305 : : case 1:
9306 : : if (!(
9307 : : #line 18977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9308 : : (TARGET_USE_BT
9309 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
9310 : : == GET_MODE_BITSIZE (DImode)-1
9311 : : && ix86_pre_reload_split ()) &&
9312 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9313 : : (TARGET_64BIT)))
9314 : : return -1;
9315 : : *pnum_clobbers = 1;
9316 : : return 1401; /* *btsdi_mask */
9317 : :
9318 : : default:
9319 : : return -1;
9320 : : }
9321 : :
9322 : : case 1:
9323 : : if (!
9324 : : #line 19005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9325 : : (TARGET_USE_BT
9326 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
9327 : : == GET_MODE_BITSIZE (SImode)-1
9328 : : && ix86_pre_reload_split ()))
9329 : : return -1;
9330 : : *pnum_clobbers = 1;
9331 : : return 1403; /* *btssi_mask_1 */
9332 : :
9333 : : case 2:
9334 : : if (!(
9335 : : #line 19005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9336 : : (TARGET_USE_BT
9337 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
9338 : : == GET_MODE_BITSIZE (DImode)-1
9339 : : && ix86_pre_reload_split ()) &&
9340 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9341 : : (TARGET_64BIT)))
9342 : : return -1;
9343 : : *pnum_clobbers = 1;
9344 : : return 1405; /* *btsdi_mask_1 */
9345 : :
9346 : : default:
9347 : : return -1;
9348 : : }
9349 : :
9350 : : default:
9351 : : return -1;
9352 : : }
9353 : : }
9354 : :
9355 : : int
9356 : : recog_102 (rtx x1 ATTRIBUTE_UNUSED,
9357 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9358 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9359 : : {
9360 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9361 : : rtx x2;
9362 : : int res ATTRIBUTE_UNUSED;
9363 : : switch (GET_MODE (operands[0]))
9364 : : {
9365 : : case E_DImode:
9366 : : if (pnum_clobbers != NULL)
9367 : : {
9368 : : x2 = XEXP (x1, 1);
9369 : : if (pattern832 (x2,
9370 : : E_DImode,
9371 : : E_QImode) == 0
9372 : : &&
9373 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9374 : : (!TARGET_64BIT))
9375 : : {
9376 : : *pnum_clobbers = 1;
9377 : : return 1135; /* ashrdi3_doubleword */
9378 : : }
9379 : : }
9380 : : x2 = XEXP (x1, 1);
9381 : : if (GET_MODE (x2) != E_DImode
9382 : : || !nonimmediate_operand (operands[1], E_DImode))
9383 : : return -1;
9384 : : if (nonimmediate_operand (operands[0], E_DImode)
9385 : : && const_int_operand (operands[2], E_QImode))
9386 : : {
9387 : : if ((
9388 : : #line 17381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9389 : : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
9390 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9391 : : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9392 : : && TARGET_APX_NF) &&
9393 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9394 : : (TARGET_64BIT)))
9395 : : return 1172; /* ashrdi3_cvt_nf */
9396 : : if (pnum_clobbers != NULL
9397 : : && (
9398 : : #line 17381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9399 : : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
9400 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9401 : : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9402 : : && true) &&
9403 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9404 : : (TARGET_64BIT)))
9405 : : {
9406 : : *pnum_clobbers = 1;
9407 : : return 1173; /* ashrdi3_cvt */
9408 : : }
9409 : : }
9410 : : if (register_operand (operands[0], E_DImode)
9411 : : && register_operand (operands[2], E_DImode)
9412 : : && (
9413 : : #line 17450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9414 : : (TARGET_BMI2) &&
9415 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9416 : : (TARGET_64BIT)))
9417 : : return 1178; /* *bmi2_ashrdi3_1 */
9418 : : if (!nonimmediate_operand (operands[0], E_DImode)
9419 : : || !nonmemory_operand (operands[2], E_QImode))
9420 : : return -1;
9421 : : if ((
9422 : : #line 17460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9423 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9424 : : && TARGET_APX_NF) &&
9425 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9426 : : (TARGET_64BIT)))
9427 : : return 1181; /* *ashrdi3_1_nf */
9428 : : if (pnum_clobbers == NULL
9429 : : || !(
9430 : : #line 17460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9431 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9432 : : && true) &&
9433 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9434 : : (TARGET_64BIT)))
9435 : : return -1;
9436 : : *pnum_clobbers = 1;
9437 : : return 1182; /* *ashrdi3_1 */
9438 : :
9439 : : case E_SImode:
9440 : : x2 = XEXP (x1, 1);
9441 : : if (pattern612 (x2,
9442 : : E_SImode) != 0)
9443 : : return -1;
9444 : : if (
9445 : : #line 17460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9446 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9447 : : && TARGET_APX_NF))
9448 : : return 1179; /* *ashrsi3_1_nf */
9449 : : if (pnum_clobbers == NULL
9450 : : || !
9451 : : #line 17460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9452 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9453 : : && true))
9454 : : return -1;
9455 : : *pnum_clobbers = 1;
9456 : : return 1180; /* *ashrsi3_1 */
9457 : :
9458 : : default:
9459 : : return -1;
9460 : : }
9461 : : }
9462 : :
9463 : : int
9464 : : recog_107 (rtx x1 ATTRIBUTE_UNUSED,
9465 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9466 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9467 : : {
9468 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9469 : : rtx x2, x3, x4, x5, x6, x7, x8;
9470 : : int res ATTRIBUTE_UNUSED;
9471 : : x2 = XEXP (x1, 0);
9472 : : if (GET_CODE (x2) == SUBREG
9473 : : && known_eq (SUBREG_BYTE (x2), 0))
9474 : : {
9475 : : x3 = XEXP (x2, 0);
9476 : : operands[0] = x3;
9477 : : if (register_operand (operands[0], E_QImode))
9478 : : {
9479 : : x4 = XEXP (x1, 1);
9480 : : x5 = XEXP (x4, 2);
9481 : : operands[2] = x5;
9482 : : if (register_operand (operands[2], E_QImode))
9483 : : {
9484 : : switch (GET_MODE (x2))
9485 : : {
9486 : : case E_SImode:
9487 : : if (GET_MODE (x4) == E_SImode
9488 : : && register_operand (operands[1], E_SImode)
9489 : : &&
9490 : : #line 19477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9491 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
9492 : : {
9493 : : *pnum_clobbers = 1;
9494 : : return 1438; /* *btsi_setcqi */
9495 : : }
9496 : : break;
9497 : :
9498 : : case E_DImode:
9499 : : if (GET_MODE (x4) == E_DImode
9500 : : && register_operand (operands[1], E_DImode)
9501 : : && (
9502 : : #line 19477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9503 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
9504 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9505 : : (TARGET_64BIT)))
9506 : : {
9507 : : *pnum_clobbers = 1;
9508 : : return 1439; /* *btdi_setcqi */
9509 : : }
9510 : : break;
9511 : :
9512 : : default:
9513 : : break;
9514 : : }
9515 : : }
9516 : : }
9517 : : }
9518 : : x4 = XEXP (x1, 1);
9519 : : x5 = XEXP (x4, 2);
9520 : : if (GET_CODE (x5) != SUBREG
9521 : : || maybe_ne (SUBREG_BYTE (x5), 0)
9522 : : || GET_MODE (x5) != E_QImode)
9523 : : return -1;
9524 : : x6 = XEXP (x5, 0);
9525 : : if (GET_CODE (x6) != AND)
9526 : : return -1;
9527 : : operands[0] = x2;
9528 : : x7 = XEXP (x6, 0);
9529 : : operands[2] = x7;
9530 : : x8 = XEXP (x6, 1);
9531 : : operands[3] = x8;
9532 : : if (!const_int_operand (operands[3], E_VOIDmode))
9533 : : return -1;
9534 : : switch (GET_MODE (operands[0]))
9535 : : {
9536 : : case E_SImode:
9537 : : if (pattern1443 (x4,
9538 : : E_SImode) != 0
9539 : : || !
9540 : : #line 19558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9541 : : (TARGET_USE_BT
9542 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
9543 : : == GET_MODE_BITSIZE (SImode)-1
9544 : : && ix86_pre_reload_split ()))
9545 : : return -1;
9546 : : *pnum_clobbers = 1;
9547 : : return 1446; /* *btsi_setcsi_mask */
9548 : :
9549 : : case E_DImode:
9550 : : if (pattern1443 (x4,
9551 : : E_DImode) != 0
9552 : : || !(
9553 : : #line 19558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9554 : : (TARGET_USE_BT
9555 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
9556 : : == GET_MODE_BITSIZE (DImode)-1
9557 : : && ix86_pre_reload_split ()) &&
9558 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9559 : : (TARGET_64BIT)))
9560 : : return -1;
9561 : : *pnum_clobbers = 1;
9562 : : return 1447; /* *btdi_setcdi_mask */
9563 : :
9564 : : default:
9565 : : return -1;
9566 : : }
9567 : : }
9568 : :
9569 : : int
9570 : : recog_108 (rtx x1 ATTRIBUTE_UNUSED,
9571 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9572 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9573 : : {
9574 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9575 : : rtx x2, x3, x4, x5, x6;
9576 : : int res ATTRIBUTE_UNUSED;
9577 : : if (pnum_clobbers == NULL)
9578 : : return -1;
9579 : : x2 = XEXP (x1, 1);
9580 : : x3 = XEXP (x2, 1);
9581 : : if (GET_CODE (x3) != CONST_INT)
9582 : : return -1;
9583 : : x4 = XEXP (x2, 0);
9584 : : operands[1] = x4;
9585 : : if (XWINT (x3, 0) == 1L)
9586 : : {
9587 : : res = recog_107 (x1, insn, pnum_clobbers);
9588 : : if (res >= 0)
9589 : : return res;
9590 : : }
9591 : : x5 = XEXP (x1, 0);
9592 : : operands[0] = x5;
9593 : : operands[2] = x3;
9594 : : if (!const_0_to_255_operand (operands[2], E_QImode))
9595 : : return -1;
9596 : : x6 = XEXP (x2, 2);
9597 : : operands[3] = x6;
9598 : : if (!const_0_to_255_operand (operands[3], E_QImode))
9599 : : return -1;
9600 : : switch (pattern125 (x2))
9601 : : {
9602 : : case 0:
9603 : : if (!
9604 : : #line 22306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9605 : : (TARGET_TBM))
9606 : : return -1;
9607 : : *pnum_clobbers = 1;
9608 : : return 1610; /* tbm_bextri_si */
9609 : :
9610 : : case 1:
9611 : : if (!(
9612 : : #line 22306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9613 : : (TARGET_TBM) &&
9614 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9615 : : (TARGET_64BIT)))
9616 : : return -1;
9617 : : *pnum_clobbers = 1;
9618 : : return 1611; /* tbm_bextri_di */
9619 : :
9620 : : default:
9621 : : return -1;
9622 : : }
9623 : : }
9624 : :
9625 : : int
9626 : : recog_110 (rtx x1 ATTRIBUTE_UNUSED,
9627 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9628 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9629 : : {
9630 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9631 : : rtx x2, x3, x4, x5;
9632 : : int res ATTRIBUTE_UNUSED;
9633 : : x2 = XEXP (x1, 1);
9634 : : if (GET_MODE (x2) != E_SImode)
9635 : : return -1;
9636 : : x3 = XEXP (x1, 0);
9637 : : operands[0] = x3;
9638 : : if (!register_operand (operands[0], E_SImode))
9639 : : return -1;
9640 : : x4 = XVECEXP (x2, 0, 0);
9641 : : switch (GET_CODE (x4))
9642 : : {
9643 : : case REG:
9644 : : case SUBREG:
9645 : : operands[1] = x4;
9646 : : switch (GET_MODE (operands[1]))
9647 : : {
9648 : : case E_DFmode:
9649 : : if (register_operand (operands[1], E_DFmode)
9650 : : &&
9651 : : #line 25656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9652 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
9653 : : return 1765; /* movmsk_df */
9654 : : break;
9655 : :
9656 : : case E_V8QImode:
9657 : : if (register_operand (operands[1], E_V8QImode)
9658 : : &&
9659 : : #line 6846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9660 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9661 : : && (TARGET_SSE || TARGET_3DNOW_A)))
9662 : : return 2395; /* mmx_pmovmskb */
9663 : : break;
9664 : :
9665 : : case E_V8SFmode:
9666 : : if (register_operand (operands[1], E_V8SFmode)
9667 : : && (
9668 : : #line 21965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9669 : : (TARGET_SSE) &&
9670 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9671 : : (TARGET_AVX)))
9672 : : return 8461; /* avx_movmskps256 */
9673 : : break;
9674 : :
9675 : : case E_V4SFmode:
9676 : : if (register_operand (operands[1], E_V4SFmode)
9677 : : &&
9678 : : #line 21965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9679 : : (TARGET_SSE))
9680 : : return 8462; /* sse_movmskps */
9681 : : break;
9682 : :
9683 : : case E_V4DFmode:
9684 : : if (register_operand (operands[1], E_V4DFmode)
9685 : : && (
9686 : : #line 21965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9687 : : (TARGET_SSE) &&
9688 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9689 : : (TARGET_AVX)))
9690 : : return 8463; /* avx_movmskpd256 */
9691 : : break;
9692 : :
9693 : : case E_V2DFmode:
9694 : : if (register_operand (operands[1], E_V2DFmode)
9695 : : && (
9696 : : #line 21965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9697 : : (TARGET_SSE) &&
9698 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9699 : : (TARGET_SSE2)))
9700 : : return 8464; /* sse2_movmskpd */
9701 : : break;
9702 : :
9703 : : case E_V32QImode:
9704 : : if (register_operand (operands[1], E_V32QImode)
9705 : : && (
9706 : : #line 22115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9707 : : (TARGET_SSE2) &&
9708 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9709 : : (TARGET_AVX2)))
9710 : : return 8509; /* avx2_pmovmskb */
9711 : : break;
9712 : :
9713 : : case E_V16QImode:
9714 : : if (register_operand (operands[1], E_V16QImode)
9715 : : &&
9716 : : #line 22115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9717 : : (TARGET_SSE2))
9718 : : return 8510; /* sse2_pmovmskb */
9719 : : break;
9720 : :
9721 : : default:
9722 : : break;
9723 : : }
9724 : : if (GET_CODE (x4) != SUBREG
9725 : : || maybe_ne (SUBREG_BYTE (x4), 0))
9726 : : return -1;
9727 : : x5 = XEXP (x4, 0);
9728 : : switch (GET_CODE (x5))
9729 : : {
9730 : : case VEC_MERGE:
9731 : : switch (pattern1085 (x4))
9732 : : {
9733 : : case 0:
9734 : : if (!(
9735 : : #line 22016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9736 : : (TARGET_SSE) &&
9737 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9738 : : (TARGET_AVX)))
9739 : : return -1;
9740 : : return 8477; /* *avx_movmskps256_lt_avx512 */
9741 : :
9742 : : case 1:
9743 : : if (!
9744 : : #line 22016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9745 : : (TARGET_SSE))
9746 : : return -1;
9747 : : return 8478; /* *sse_movmskps_lt_avx512 */
9748 : :
9749 : : case 2:
9750 : : if (!(
9751 : : #line 22016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9752 : : (TARGET_SSE) &&
9753 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9754 : : (TARGET_AVX)))
9755 : : return -1;
9756 : : return 8479; /* *avx_movmskpd256_lt_avx512 */
9757 : :
9758 : : case 3:
9759 : : if (!(
9760 : : #line 22016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9761 : : (TARGET_SSE) &&
9762 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9763 : : (TARGET_SSE2)))
9764 : : return -1;
9765 : : return 8480; /* *sse2_movmskpd_lt_avx512 */
9766 : :
9767 : : default:
9768 : : return -1;
9769 : : }
9770 : :
9771 : : case ASHIFTRT:
9772 : : switch (pattern1086 (x4))
9773 : : {
9774 : : case 0:
9775 : : if (!(
9776 : : #line 22079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9777 : : (TARGET_SSE) &&
9778 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9779 : : (TARGET_AVX)))
9780 : : return -1;
9781 : : return 8497; /* *avx_movmskps256_shift */
9782 : :
9783 : : case 1:
9784 : : if (!
9785 : : #line 22079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9786 : : (TARGET_SSE))
9787 : : return -1;
9788 : : return 8498; /* *sse_movmskps_shift */
9789 : :
9790 : : case 2:
9791 : : if (!(
9792 : : #line 22079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9793 : : (TARGET_SSE) &&
9794 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9795 : : (TARGET_AVX)))
9796 : : return -1;
9797 : : return 8499; /* *avx_movmskpd256_shift */
9798 : :
9799 : : case 3:
9800 : : if (!(
9801 : : #line 22079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9802 : : (TARGET_SSE) &&
9803 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9804 : : (TARGET_SSE2)))
9805 : : return -1;
9806 : : return 8500; /* *sse2_movmskpd_shift */
9807 : :
9808 : : default:
9809 : : return -1;
9810 : : }
9811 : :
9812 : : default:
9813 : : return -1;
9814 : : }
9815 : :
9816 : : case LT:
9817 : : switch (pattern746 (x4))
9818 : : {
9819 : : case 0:
9820 : : if (!(
9821 : : #line 21992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9822 : : (TARGET_SSE) &&
9823 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9824 : : (TARGET_AVX)))
9825 : : return -1;
9826 : : return 8473; /* *avx_movmskps256_lt */
9827 : :
9828 : : case 1:
9829 : : if (!
9830 : : #line 21992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9831 : : (TARGET_SSE))
9832 : : return -1;
9833 : : return 8474; /* *sse_movmskps_lt */
9834 : :
9835 : : case 2:
9836 : : if (!(
9837 : : #line 21992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9838 : : (TARGET_SSE) &&
9839 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9840 : : (TARGET_AVX)))
9841 : : return -1;
9842 : : return 8475; /* *avx_movmskpd256_lt */
9843 : :
9844 : : case 3:
9845 : : if (!(
9846 : : #line 21992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9847 : : (TARGET_SSE) &&
9848 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9849 : : (TARGET_SSE2)))
9850 : : return -1;
9851 : : return 8476; /* *sse2_movmskpd_lt */
9852 : :
9853 : : case 4:
9854 : : if (!(
9855 : : #line 22244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9856 : : (TARGET_SSE2) &&
9857 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9858 : : (TARGET_AVX2)))
9859 : : return -1;
9860 : : return 8515; /* *avx2_pmovmskb_lt */
9861 : :
9862 : : case 5:
9863 : : if (!
9864 : : #line 22244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9865 : : (TARGET_SSE2))
9866 : : return -1;
9867 : : return 8516; /* *sse2_pmovmskb_lt */
9868 : :
9869 : : default:
9870 : : return -1;
9871 : : }
9872 : :
9873 : : case VEC_MERGE:
9874 : : switch (pattern748 (x4))
9875 : : {
9876 : : case 0:
9877 : : if (!(
9878 : : #line 22272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9879 : : (TARGET_SSE2) &&
9880 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9881 : : (TARGET_AVX2)))
9882 : : return -1;
9883 : : return 8517; /* *avx2_pmovmskb_lt_avx512 */
9884 : :
9885 : : case 1:
9886 : : if (!
9887 : : #line 22272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9888 : : (TARGET_SSE2))
9889 : : return -1;
9890 : : return 8518; /* *sse2_pmovmskb_lt_avx512 */
9891 : :
9892 : : case 2:
9893 : : if (!
9894 : : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9895 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
9896 : : return -1;
9897 : : return 8526; /* *pmovsk_kmask_v16qi_avx512 */
9898 : :
9899 : : case 3:
9900 : : if (!
9901 : : #line 22414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9902 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
9903 : : return -1;
9904 : : return 8527; /* *pmovsk_mask_v32qi_avx512 */
9905 : :
9906 : : default:
9907 : : return -1;
9908 : : }
9909 : :
9910 : : default:
9911 : : return -1;
9912 : : }
9913 : : }
9914 : :
9915 : : int
9916 : : recog_124 (rtx x1 ATTRIBUTE_UNUSED,
9917 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9918 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9919 : : {
9920 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9921 : : rtx x2, x3, x4, x5, x6;
9922 : : int res ATTRIBUTE_UNUSED;
9923 : : x2 = XEXP (x1, 1);
9924 : : x3 = XEXP (x2, 0);
9925 : : x4 = XVECEXP (x3, 0, 0);
9926 : : operands[1] = x4;
9927 : : x5 = XEXP (x2, 2);
9928 : : switch (GET_CODE (x5))
9929 : : {
9930 : : case REG:
9931 : : case SUBREG:
9932 : : operands[3] = x5;
9933 : : switch (GET_MODE (operands[0]))
9934 : : {
9935 : : case E_V16SImode:
9936 : : if (pattern984 (x2,
9937 : : E_V16SImode,
9938 : : E_HImode) != 0
9939 : : || !
9940 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9941 : : (TARGET_AVX512F))
9942 : : return -1;
9943 : : return 2460; /* *avx512f_loadv16si_mask */
9944 : :
9945 : : case E_V8SImode:
9946 : : if (pattern984 (x2,
9947 : : E_V8SImode,
9948 : : E_QImode) != 0
9949 : : || !(
9950 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9951 : : (TARGET_AVX512F) &&
9952 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9953 : : (TARGET_AVX512VL)))
9954 : : return -1;
9955 : : return 2461; /* *avx512vl_loadv8si_mask */
9956 : :
9957 : : case E_V4SImode:
9958 : : if (pattern984 (x2,
9959 : : E_V4SImode,
9960 : : E_QImode) != 0
9961 : : || !(
9962 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9963 : : (TARGET_AVX512F) &&
9964 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9965 : : (TARGET_AVX512VL)))
9966 : : return -1;
9967 : : return 2462; /* *avx512vl_loadv4si_mask */
9968 : :
9969 : : case E_V8DImode:
9970 : : if (pattern984 (x2,
9971 : : E_V8DImode,
9972 : : E_QImode) != 0
9973 : : || !
9974 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9975 : : (TARGET_AVX512F))
9976 : : return -1;
9977 : : return 2463; /* *avx512f_loadv8di_mask */
9978 : :
9979 : : case E_V4DImode:
9980 : : if (pattern984 (x2,
9981 : : E_V4DImode,
9982 : : E_QImode) != 0
9983 : : || !(
9984 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9985 : : (TARGET_AVX512F) &&
9986 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9987 : : (TARGET_AVX512VL)))
9988 : : return -1;
9989 : : return 2464; /* *avx512vl_loadv4di_mask */
9990 : :
9991 : : case E_V2DImode:
9992 : : if (pattern984 (x2,
9993 : : E_V2DImode,
9994 : : E_QImode) != 0
9995 : : || !(
9996 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9997 : : (TARGET_AVX512F) &&
9998 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9999 : : (TARGET_AVX512VL)))
10000 : : return -1;
10001 : : return 2465; /* *avx512vl_loadv2di_mask */
10002 : :
10003 : : case E_V16SFmode:
10004 : : if (pattern984 (x2,
10005 : : E_V16SFmode,
10006 : : E_HImode) != 0
10007 : : || !
10008 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10009 : : (TARGET_AVX512F))
10010 : : return -1;
10011 : : return 2466; /* *avx512f_loadv16sf_mask */
10012 : :
10013 : : case E_V8SFmode:
10014 : : if (pattern984 (x2,
10015 : : E_V8SFmode,
10016 : : E_QImode) != 0
10017 : : || !(
10018 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10019 : : (TARGET_AVX512F) &&
10020 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10021 : : (TARGET_AVX512VL)))
10022 : : return -1;
10023 : : return 2467; /* *avx512vl_loadv8sf_mask */
10024 : :
10025 : : case E_V4SFmode:
10026 : : if (pattern984 (x2,
10027 : : E_V4SFmode,
10028 : : E_QImode) != 0
10029 : : || !(
10030 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10031 : : (TARGET_AVX512F) &&
10032 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10033 : : (TARGET_AVX512VL)))
10034 : : return -1;
10035 : : return 2468; /* *avx512vl_loadv4sf_mask */
10036 : :
10037 : : case E_V8DFmode:
10038 : : if (pattern984 (x2,
10039 : : E_V8DFmode,
10040 : : E_QImode) != 0
10041 : : || !
10042 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10043 : : (TARGET_AVX512F))
10044 : : return -1;
10045 : : return 2469; /* *avx512f_loadv8df_mask */
10046 : :
10047 : : case E_V4DFmode:
10048 : : if (pattern984 (x2,
10049 : : E_V4DFmode,
10050 : : E_QImode) != 0
10051 : : || !(
10052 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10053 : : (TARGET_AVX512F) &&
10054 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10055 : : (TARGET_AVX512VL)))
10056 : : return -1;
10057 : : return 2470; /* *avx512vl_loadv4df_mask */
10058 : :
10059 : : case E_V2DFmode:
10060 : : if (pattern984 (x2,
10061 : : E_V2DFmode,
10062 : : E_QImode) != 0
10063 : : || !(
10064 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10065 : : (TARGET_AVX512F) &&
10066 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10067 : : (TARGET_AVX512VL)))
10068 : : return -1;
10069 : : return 2471; /* *avx512vl_loadv2df_mask */
10070 : :
10071 : : case E_V64QImode:
10072 : : if (pattern984 (x2,
10073 : : E_V64QImode,
10074 : : E_DImode) != 0
10075 : : || !
10076 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10077 : : (TARGET_AVX512BW))
10078 : : return -1;
10079 : : return 2490; /* *avx512bw_loadv64qi_mask */
10080 : :
10081 : : case E_V16QImode:
10082 : : if (pattern984 (x2,
10083 : : E_V16QImode,
10084 : : E_HImode) != 0
10085 : : || !(
10086 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10087 : : (TARGET_AVX512BW) &&
10088 : : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10089 : : (TARGET_AVX512VL)))
10090 : : return -1;
10091 : : return 2491; /* *avx512vl_loadv16qi_mask */
10092 : :
10093 : : case E_V32QImode:
10094 : : if (pattern984 (x2,
10095 : : E_V32QImode,
10096 : : E_SImode) != 0
10097 : : || !(
10098 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10099 : : (TARGET_AVX512BW) &&
10100 : : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10101 : : (TARGET_AVX512VL)))
10102 : : return -1;
10103 : : return 2492; /* *avx512vl_loadv32qi_mask */
10104 : :
10105 : : case E_V32HImode:
10106 : : if (pattern984 (x2,
10107 : : E_V32HImode,
10108 : : E_SImode) != 0
10109 : : || !
10110 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10111 : : (TARGET_AVX512BW))
10112 : : return -1;
10113 : : return 2493; /* *avx512bw_loadv32hi_mask */
10114 : :
10115 : : case E_V16HImode:
10116 : : if (pattern984 (x2,
10117 : : E_V16HImode,
10118 : : E_HImode) != 0
10119 : : || !(
10120 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10121 : : (TARGET_AVX512BW) &&
10122 : : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10123 : : (TARGET_AVX512VL)))
10124 : : return -1;
10125 : : return 2494; /* *avx512vl_loadv16hi_mask */
10126 : :
10127 : : case E_V8HImode:
10128 : : if (pattern984 (x2,
10129 : : E_V8HImode,
10130 : : E_QImode) != 0
10131 : : || !(
10132 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10133 : : (TARGET_AVX512BW) &&
10134 : : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10135 : : (TARGET_AVX512VL)))
10136 : : return -1;
10137 : : return 2495; /* *avx512vl_loadv8hi_mask */
10138 : :
10139 : : case E_V32HFmode:
10140 : : if (pattern984 (x2,
10141 : : E_V32HFmode,
10142 : : E_SImode) != 0
10143 : : || !
10144 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10145 : : (TARGET_AVX512BW))
10146 : : return -1;
10147 : : return 2496; /* *avx512bw_loadv32hf_mask */
10148 : :
10149 : : case E_V16HFmode:
10150 : : if (pattern984 (x2,
10151 : : E_V16HFmode,
10152 : : E_HImode) != 0
10153 : : || !(
10154 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10155 : : (TARGET_AVX512BW) &&
10156 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10157 : : (TARGET_AVX512VL)))
10158 : : return -1;
10159 : : return 2497; /* *avx512vl_loadv16hf_mask */
10160 : :
10161 : : case E_V8HFmode:
10162 : : if (pattern984 (x2,
10163 : : E_V8HFmode,
10164 : : E_QImode) != 0
10165 : : || !(
10166 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10167 : : (TARGET_AVX512BW) &&
10168 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10169 : : (TARGET_AVX512VL)))
10170 : : return -1;
10171 : : return 2498; /* *avx512fp16_loadv8hf_mask */
10172 : :
10173 : : case E_V32BFmode:
10174 : : if (pattern984 (x2,
10175 : : E_V32BFmode,
10176 : : E_SImode) != 0
10177 : : || !
10178 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10179 : : (TARGET_AVX512BW))
10180 : : return -1;
10181 : : return 2499; /* *avx512bw_loadv32bf_mask */
10182 : :
10183 : : case E_V16BFmode:
10184 : : if (pattern984 (x2,
10185 : : E_V16BFmode,
10186 : : E_HImode) != 0
10187 : : || !(
10188 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10189 : : (TARGET_AVX512BW) &&
10190 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10191 : : (TARGET_AVX512VL)))
10192 : : return -1;
10193 : : return 2500; /* *avx512vl_loadv16bf_mask */
10194 : :
10195 : : case E_V8BFmode:
10196 : : if (pattern984 (x2,
10197 : : E_V8BFmode,
10198 : : E_QImode) != 0
10199 : : || !(
10200 : : #line 1661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10201 : : (TARGET_AVX512BW) &&
10202 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10203 : : (TARGET_AVX512VL)))
10204 : : return -1;
10205 : : return 2501; /* *avx512vl_loadv8bf_mask */
10206 : :
10207 : : default:
10208 : : return -1;
10209 : : }
10210 : :
10211 : : case AND:
10212 : : if (GET_MODE (x5) != E_QImode)
10213 : : return -1;
10214 : : x6 = XEXP (x5, 1);
10215 : : if (GET_CODE (x6) != CONST_INT)
10216 : : return -1;
10217 : : switch (pattern1090 (x2))
10218 : : {
10219 : : case 0:
10220 : : if (!(
10221 : : #line 1605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10222 : : (TARGET_AVX512F) &&
10223 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10224 : : (TARGET_AVX512VL)))
10225 : : return -1;
10226 : : return 2484; /* *avx512vl_loadv4sfmask_and15 */
10227 : :
10228 : : case 1:
10229 : : if (!(
10230 : : #line 1605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10231 : : (TARGET_AVX512F) &&
10232 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10233 : : (TARGET_AVX512VL)))
10234 : : return -1;
10235 : : return 2485; /* *avx512vl_loadv4dfmask_and15 */
10236 : :
10237 : : case 2:
10238 : : if (!(
10239 : : #line 1605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10240 : : (TARGET_AVX512F) &&
10241 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10242 : : (TARGET_AVX512VL)))
10243 : : return -1;
10244 : : return 2486; /* *avx512vl_loadv4simask_and15 */
10245 : :
10246 : : case 3:
10247 : : if (!(
10248 : : #line 1605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10249 : : (TARGET_AVX512F) &&
10250 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10251 : : (TARGET_AVX512VL)))
10252 : : return -1;
10253 : : return 2487; /* *avx512vl_loadv4dimask_and15 */
10254 : :
10255 : : case 4:
10256 : : if (!(
10257 : : #line 1624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10258 : : (TARGET_AVX512F) &&
10259 : : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10260 : : (TARGET_AVX512VL)))
10261 : : return -1;
10262 : : return 2488; /* *avx512vl_loadv2dfmask_and3 */
10263 : :
10264 : : case 5:
10265 : : if (!(
10266 : : #line 1624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10267 : : (TARGET_AVX512F) &&
10268 : : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10269 : : (TARGET_AVX512VL)))
10270 : : return -1;
10271 : : return 2489; /* *avx512vl_loadv2dimask_and3 */
10272 : :
10273 : : default:
10274 : : return -1;
10275 : : }
10276 : :
10277 : : default:
10278 : : return -1;
10279 : : }
10280 : : }
10281 : :
10282 : : int
10283 : : recog_131 (rtx x1 ATTRIBUTE_UNUSED,
10284 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10285 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10286 : : {
10287 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10288 : : rtx x2, x3, x4, x5, x6, x7;
10289 : : int res ATTRIBUTE_UNUSED;
10290 : : x2 = XEXP (x1, 1);
10291 : : x3 = XEXP (x2, 0);
10292 : : x4 = XVECEXP (x3, 0, 0);
10293 : : operands[1] = x4;
10294 : : x5 = XVECEXP (x3, 0, 1);
10295 : : operands[2] = x5;
10296 : : x6 = XEXP (x2, 1);
10297 : : operands[3] = x6;
10298 : : x7 = XEXP (x2, 2);
10299 : : operands[4] = x7;
10300 : : switch (GET_MODE (operands[0]))
10301 : : {
10302 : : case E_V8SImode:
10303 : : if (pattern1096 (x2,
10304 : : E_QImode,
10305 : : E_V8SImode) != 0
10306 : : || !(
10307 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10308 : : (TARGET_AVX512F) &&
10309 : : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10310 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
10311 : : return -1;
10312 : : return 9068; /* avx2_permvarv8si_mask */
10313 : :
10314 : : case E_V8SFmode:
10315 : : if (pattern1097 (x2,
10316 : : E_QImode,
10317 : : E_V8SFmode,
10318 : : E_V8SImode) != 0
10319 : : || !(
10320 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10321 : : (TARGET_AVX512F) &&
10322 : : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10323 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
10324 : : return -1;
10325 : : return 9070; /* avx2_permvarv8sf_mask */
10326 : :
10327 : : case E_V16SImode:
10328 : : if (pattern1096 (x2,
10329 : : E_HImode,
10330 : : E_V16SImode) != 0
10331 : : || !(
10332 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10333 : : (TARGET_AVX512F) && (
10334 : : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10335 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10336 : : #line 955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10337 : : (TARGET_AVX512F))))
10338 : : return -1;
10339 : : return 9072; /* avx512f_permvarv16si_mask */
10340 : :
10341 : : case E_V16SFmode:
10342 : : if (pattern1097 (x2,
10343 : : E_HImode,
10344 : : E_V16SFmode,
10345 : : E_V16SImode) != 0
10346 : : || !(
10347 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10348 : : (TARGET_AVX512F) && (
10349 : : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10350 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10351 : : #line 955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10352 : : (TARGET_AVX512F))))
10353 : : return -1;
10354 : : return 9074; /* avx512f_permvarv16sf_mask */
10355 : :
10356 : : case E_V8DImode:
10357 : : if (pattern1096 (x2,
10358 : : E_QImode,
10359 : : E_V8DImode) != 0
10360 : : || !(
10361 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10362 : : (TARGET_AVX512F) && (
10363 : : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10364 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10365 : : #line 956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10366 : : (TARGET_AVX512F))))
10367 : : return -1;
10368 : : return 9076; /* avx512f_permvarv8di_mask */
10369 : :
10370 : : case E_V8DFmode:
10371 : : if (pattern1097 (x2,
10372 : : E_QImode,
10373 : : E_V8DFmode,
10374 : : E_V8DImode) != 0
10375 : : || !(
10376 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10377 : : (TARGET_AVX512F) && (
10378 : : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10379 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10380 : : #line 956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10381 : : (TARGET_AVX512F))))
10382 : : return -1;
10383 : : return 9078; /* avx512f_permvarv8df_mask */
10384 : :
10385 : : case E_V4DImode:
10386 : : if (pattern1096 (x2,
10387 : : E_QImode,
10388 : : E_V4DImode) != 0
10389 : : || !(
10390 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10391 : : (TARGET_AVX512F) && (
10392 : : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10393 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
10394 : : #line 957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10395 : : (TARGET_AVX512VL))))
10396 : : return -1;
10397 : : return 9080; /* avx2_permvarv4di_mask */
10398 : :
10399 : : case E_V4DFmode:
10400 : : if (pattern1097 (x2,
10401 : : E_QImode,
10402 : : E_V4DFmode,
10403 : : E_V4DImode) != 0
10404 : : || !(
10405 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10406 : : (TARGET_AVX512F) && (
10407 : : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10408 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
10409 : : #line 957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10410 : : (TARGET_AVX512VL))))
10411 : : return -1;
10412 : : return 9082; /* avx2_permvarv4df_mask */
10413 : :
10414 : : case E_V64QImode:
10415 : : if (pattern1096 (x2,
10416 : : E_DImode,
10417 : : E_V64QImode) != 0
10418 : : || !(
10419 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10420 : : (TARGET_AVX512F) &&
10421 : : #line 27459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10422 : : (TARGET_AVX512VBMI && (64 == 64 || TARGET_AVX512VL))))
10423 : : return -1;
10424 : : return 9084; /* avx512bw_permvarv64qi_mask */
10425 : :
10426 : : case E_V16QImode:
10427 : : if (pattern1096 (x2,
10428 : : E_HImode,
10429 : : E_V16QImode) != 0
10430 : : || !(
10431 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10432 : : (TARGET_AVX512F) && (
10433 : : #line 27459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10434 : : (TARGET_AVX512VBMI && (16 == 64 || TARGET_AVX512VL)) &&
10435 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10436 : : (TARGET_AVX512VL))))
10437 : : return -1;
10438 : : return 9086; /* avx512vl_permvarv16qi_mask */
10439 : :
10440 : : case E_V32QImode:
10441 : : if (pattern1096 (x2,
10442 : : E_SImode,
10443 : : E_V32QImode) != 0
10444 : : || !(
10445 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10446 : : (TARGET_AVX512F) && (
10447 : : #line 27459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10448 : : (TARGET_AVX512VBMI && (32 == 64 || TARGET_AVX512VL)) &&
10449 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10450 : : (TARGET_AVX512VL))))
10451 : : return -1;
10452 : : return 9088; /* avx512vl_permvarv32qi_mask */
10453 : :
10454 : : case E_V8HImode:
10455 : : if (pattern1096 (x2,
10456 : : E_QImode,
10457 : : E_V8HImode) != 0
10458 : : || !(
10459 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10460 : : (TARGET_AVX512F) && (
10461 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10462 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10463 : : #line 656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10464 : : (TARGET_AVX512VL))))
10465 : : return -1;
10466 : : return 9090; /* avx512vl_permvarv8hi_mask */
10467 : :
10468 : : case E_V16HImode:
10469 : : if (pattern1096 (x2,
10470 : : E_HImode,
10471 : : E_V16HImode) != 0
10472 : : || !(
10473 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10474 : : (TARGET_AVX512F) && (
10475 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10476 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10477 : : #line 656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10478 : : (TARGET_AVX512VL))))
10479 : : return -1;
10480 : : return 9092; /* avx512vl_permvarv16hi_mask */
10481 : :
10482 : : case E_V32HImode:
10483 : : if (pattern1096 (x2,
10484 : : E_SImode,
10485 : : E_V32HImode) != 0
10486 : : || !(
10487 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10488 : : (TARGET_AVX512F) &&
10489 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10490 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
10491 : : return -1;
10492 : : return 9094; /* avx512bw_permvarv32hi_mask */
10493 : :
10494 : : case E_V8HFmode:
10495 : : if (pattern1097 (x2,
10496 : : E_QImode,
10497 : : E_V8HFmode,
10498 : : E_V8HImode) != 0
10499 : : || !(
10500 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10501 : : (TARGET_AVX512F) && (
10502 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10503 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10504 : : #line 657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10505 : : (TARGET_AVX512VL))))
10506 : : return -1;
10507 : : return 9096; /* avx512fp16_permvarv8hf_mask */
10508 : :
10509 : : case E_V16HFmode:
10510 : : if (pattern1097 (x2,
10511 : : E_HImode,
10512 : : E_V16HFmode,
10513 : : E_V16HImode) != 0
10514 : : || !(
10515 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10516 : : (TARGET_AVX512F) && (
10517 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10518 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10519 : : #line 657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10520 : : (TARGET_AVX512VL))))
10521 : : return -1;
10522 : : return 9098; /* avx512vl_permvarv16hf_mask */
10523 : :
10524 : : case E_V32HFmode:
10525 : : if (pattern1097 (x2,
10526 : : E_SImode,
10527 : : E_V32HFmode,
10528 : : E_V32HImode) != 0
10529 : : || !(
10530 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10531 : : (TARGET_AVX512F) &&
10532 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10533 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
10534 : : return -1;
10535 : : return 9100; /* avx512bw_permvarv32hf_mask */
10536 : :
10537 : : case E_V8BFmode:
10538 : : if (pattern1097 (x2,
10539 : : E_QImode,
10540 : : E_V8BFmode,
10541 : : E_V8HImode) != 0
10542 : : || !(
10543 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10544 : : (TARGET_AVX512F) && (
10545 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10546 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10547 : : #line 658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10548 : : (TARGET_AVX512VL))))
10549 : : return -1;
10550 : : return 9102; /* avx512vl_permvarv8bf_mask */
10551 : :
10552 : : case E_V16BFmode:
10553 : : if (pattern1097 (x2,
10554 : : E_HImode,
10555 : : E_V16BFmode,
10556 : : E_V16HImode) != 0
10557 : : || !(
10558 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10559 : : (TARGET_AVX512F) && (
10560 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10561 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10562 : : #line 658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10563 : : (TARGET_AVX512VL))))
10564 : : return -1;
10565 : : return 9104; /* avx512vl_permvarv16bf_mask */
10566 : :
10567 : : case E_V32BFmode:
10568 : : if (pattern1097 (x2,
10569 : : E_SImode,
10570 : : E_V32BFmode,
10571 : : E_V32HImode) != 0
10572 : : || !(
10573 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10574 : : (TARGET_AVX512F) &&
10575 : : #line 27471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10576 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
10577 : : return -1;
10578 : : return 9106; /* avx512bw_permvarv32bf_mask */
10579 : :
10580 : : default:
10581 : : return -1;
10582 : : }
10583 : : }
10584 : :
10585 : : int
10586 : : recog_143 (rtx x1 ATTRIBUTE_UNUSED,
10587 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10588 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10589 : : {
10590 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10591 : : rtx x2, x3, x4, x5, x6, x7, x8;
10592 : : int res ATTRIBUTE_UNUSED;
10593 : : x2 = XEXP (x1, 1);
10594 : : x3 = XEXP (x2, 0);
10595 : : x4 = XVECEXP (x3, 0, 0);
10596 : : operands[1] = x4;
10597 : : x5 = XVECEXP (x3, 0, 1);
10598 : : operands[2] = x5;
10599 : : x6 = XVECEXP (x3, 0, 2);
10600 : : operands[3] = x6;
10601 : : if (!const_0_to_255_operand (operands[3], E_SImode))
10602 : : return -1;
10603 : : x7 = XEXP (x2, 1);
10604 : : operands[4] = x7;
10605 : : x8 = XEXP (x2, 2);
10606 : : operands[5] = x8;
10607 : : switch (GET_MODE (operands[0]))
10608 : : {
10609 : : case E_V16SImode:
10610 : : if (pattern469 (x2,
10611 : : E_V16SImode,
10612 : : E_HImode) != 0
10613 : : || !
10614 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10615 : : (TARGET_AVX512F))
10616 : : return -1;
10617 : : return 7021; /* avx512f_alignv16si_mask */
10618 : :
10619 : : case E_V8SImode:
10620 : : if (pattern469 (x2,
10621 : : E_V8SImode,
10622 : : E_QImode) != 0
10623 : : || !(
10624 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10625 : : (TARGET_AVX512F) && (
10626 : : #line 14078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10627 : : (TARGET_AVX512F) &&
10628 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10629 : : (TARGET_AVX512VL))))
10630 : : return -1;
10631 : : return 7023; /* avx512vl_alignv8si_mask */
10632 : :
10633 : : case E_V4SImode:
10634 : : if (pattern469 (x2,
10635 : : E_V4SImode,
10636 : : E_QImode) != 0
10637 : : || !(
10638 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10639 : : (TARGET_AVX512F) && (
10640 : : #line 14078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10641 : : (TARGET_AVX512F) &&
10642 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10643 : : (TARGET_AVX512VL))))
10644 : : return -1;
10645 : : return 7025; /* avx512vl_alignv4si_mask */
10646 : :
10647 : : case E_V8DImode:
10648 : : if (pattern469 (x2,
10649 : : E_V8DImode,
10650 : : E_QImode) != 0
10651 : : || !
10652 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10653 : : (TARGET_AVX512F))
10654 : : return -1;
10655 : : return 7027; /* avx512f_alignv8di_mask */
10656 : :
10657 : : case E_V4DImode:
10658 : : if (pattern469 (x2,
10659 : : E_V4DImode,
10660 : : E_QImode) != 0
10661 : : || !(
10662 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10663 : : (TARGET_AVX512F) && (
10664 : : #line 14078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10665 : : (TARGET_AVX512F) &&
10666 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10667 : : (TARGET_AVX512VL))))
10668 : : return -1;
10669 : : return 7029; /* avx512vl_alignv4di_mask */
10670 : :
10671 : : case E_V2DImode:
10672 : : if (pattern469 (x2,
10673 : : E_V2DImode,
10674 : : E_QImode) != 0
10675 : : || !(
10676 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10677 : : (TARGET_AVX512F) && (
10678 : : #line 14078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10679 : : (TARGET_AVX512F) &&
10680 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10681 : : (TARGET_AVX512VL))))
10682 : : return -1;
10683 : : return 7031; /* avx512vl_alignv2di_mask */
10684 : :
10685 : : default:
10686 : : return -1;
10687 : : }
10688 : : }
10689 : :
10690 : : int
10691 : : recog_150 (rtx x1 ATTRIBUTE_UNUSED,
10692 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10693 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10694 : : {
10695 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10696 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10697 : : rtx x10, x11, x12;
10698 : : int res ATTRIBUTE_UNUSED;
10699 : : x2 = XEXP (x1, 1);
10700 : : x3 = XEXP (x2, 0);
10701 : : x4 = XEXP (x3, 0);
10702 : : switch (XVECLEN (x4, 0))
10703 : : {
10704 : : case 1:
10705 : : x5 = XEXP (x2, 2);
10706 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
10707 : : return -1;
10708 : : x6 = XVECEXP (x4, 0, 0);
10709 : : operands[1] = x6;
10710 : : x7 = XEXP (x3, 1);
10711 : : operands[3] = x7;
10712 : : x8 = XEXP (x3, 2);
10713 : : operands[4] = x8;
10714 : : if (!register_operand (operands[4], E_QImode))
10715 : : return -1;
10716 : : x9 = XEXP (x2, 1);
10717 : : operands[2] = x9;
10718 : : switch (XINT (x4, 1))
10719 : : {
10720 : : case 55:
10721 : : if (pattern1268 (x2) != 0
10722 : : || !(
10723 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10724 : : (TARGET_AVX512F) &&
10725 : : #line 2971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10726 : : (TARGET_AVX512FP16)))
10727 : : return -1;
10728 : : return 2903; /* avx512fp16_vmrcpv8hf2_mask */
10729 : :
10730 : : case 162:
10731 : : switch (GET_MODE (operands[0]))
10732 : : {
10733 : : case E_V4SFmode:
10734 : : if (pattern1360 (x2,
10735 : : E_V4SFmode) != 0
10736 : : || !
10737 : : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10738 : : (TARGET_AVX512F))
10739 : : return -1;
10740 : : return 2919; /* srcp14v4sf_mask */
10741 : :
10742 : : case E_V2DFmode:
10743 : : if (pattern1360 (x2,
10744 : : E_V2DFmode) != 0
10745 : : || !(
10746 : : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10747 : : (TARGET_AVX512F) &&
10748 : : #line 462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10749 : : (TARGET_SSE2)))
10750 : : return -1;
10751 : : return 2920; /* srcp14v2df_mask */
10752 : :
10753 : : default:
10754 : : return -1;
10755 : : }
10756 : :
10757 : : case 163:
10758 : : switch (GET_MODE (operands[0]))
10759 : : {
10760 : : case E_V4SFmode:
10761 : : if (pattern1360 (x2,
10762 : : E_V4SFmode) != 0
10763 : : || !
10764 : : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10765 : : (TARGET_AVX512F))
10766 : : return -1;
10767 : : return 2991; /* rsqrt14_v4sf_mask */
10768 : :
10769 : : case E_V2DFmode:
10770 : : if (pattern1360 (x2,
10771 : : E_V2DFmode) != 0
10772 : : || !(
10773 : : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10774 : : (TARGET_AVX512F) &&
10775 : : #line 462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10776 : : (TARGET_SSE2)))
10777 : : return -1;
10778 : : return 2992; /* rsqrt14_v2df_mask */
10779 : :
10780 : : default:
10781 : : return -1;
10782 : : }
10783 : :
10784 : : case 56:
10785 : : if (pattern1268 (x2) != 0
10786 : : || !(
10787 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10788 : : (TARGET_AVX512F) &&
10789 : : #line 3229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10790 : : (TARGET_AVX512FP16)))
10791 : : return -1;
10792 : : return 2996; /* avx512fp16_vmrsqrtv8hf2_mask */
10793 : :
10794 : : default:
10795 : : return -1;
10796 : : }
10797 : :
10798 : : case 2:
10799 : : x5 = XEXP (x2, 2);
10800 : : if (GET_CODE (x5) != CONST_INT)
10801 : : return -1;
10802 : : switch (XINT (x4, 1))
10803 : : {
10804 : : case 64:
10805 : : switch (pattern751 (x2))
10806 : : {
10807 : : case 0:
10808 : : if (!(
10809 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10810 : : (TARGET_AVX512F) && (
10811 : : #line 3478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10812 : : (TARGET_SSE) &&
10813 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10814 : : (TARGET_AVX512FP16))))
10815 : : return -1;
10816 : : return 3139; /* avx512fp16_ieee_vmmaxv8hf3_mask */
10817 : :
10818 : : case 1:
10819 : : if (!(
10820 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10821 : : (TARGET_AVX512F) &&
10822 : : #line 3478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10823 : : (TARGET_SSE)))
10824 : : return -1;
10825 : : return 3147; /* sse_ieee_vmmaxv4sf3_mask */
10826 : :
10827 : : case 2:
10828 : : if (!(
10829 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10830 : : (TARGET_AVX512F) && (
10831 : : #line 3478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10832 : : (TARGET_SSE) &&
10833 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10834 : : (TARGET_SSE2))))
10835 : : return -1;
10836 : : return 3155; /* sse2_ieee_vmmaxv2df3_mask */
10837 : :
10838 : : default:
10839 : : return -1;
10840 : : }
10841 : :
10842 : : case 63:
10843 : : switch (pattern751 (x2))
10844 : : {
10845 : : case 0:
10846 : : if (!(
10847 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10848 : : (TARGET_AVX512F) && (
10849 : : #line 3478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10850 : : (TARGET_SSE) &&
10851 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10852 : : (TARGET_AVX512FP16))))
10853 : : return -1;
10854 : : return 3143; /* avx512fp16_ieee_vmminv8hf3_mask */
10855 : :
10856 : : case 1:
10857 : : if (!(
10858 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10859 : : (TARGET_AVX512F) &&
10860 : : #line 3478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10861 : : (TARGET_SSE)))
10862 : : return -1;
10863 : : return 3151; /* sse_ieee_vmminv4sf3_mask */
10864 : :
10865 : : case 2:
10866 : : if (!(
10867 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10868 : : (TARGET_AVX512F) && (
10869 : : #line 3478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10870 : : (TARGET_SSE) &&
10871 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10872 : : (TARGET_SSE2))))
10873 : : return -1;
10874 : : return 3159; /* sse2_ieee_vmminv2df3_mask */
10875 : :
10876 : : default:
10877 : : return -1;
10878 : : }
10879 : :
10880 : : case 222:
10881 : : if (pattern752 (x2) != 0
10882 : : || !(
10883 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10884 : : (TARGET_AVX512F) &&
10885 : : #line 7566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10886 : : (TARGET_AVX512FP16)))
10887 : : return -1;
10888 : : return 4356; /* avx512fp16_fmulcsh_v8hf_mask */
10889 : :
10890 : : case 223:
10891 : : if (pattern752 (x2) != 0
10892 : : || !(
10893 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10894 : : (TARGET_AVX512F) &&
10895 : : #line 7566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10896 : : (TARGET_AVX512FP16)))
10897 : : return -1;
10898 : : return 4360; /* avx512fp16_fcmulcsh_v8hf_mask */
10899 : :
10900 : : case 59:
10901 : : switch (pattern751 (x2))
10902 : : {
10903 : : case 0:
10904 : : if (!(
10905 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10906 : : (TARGET_AVX512F) && (
10907 : : #line 13634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10908 : : (TARGET_AVX512F) &&
10909 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10910 : : (TARGET_AVX512FP16))))
10911 : : return -1;
10912 : : return 5348; /* avx512f_vmscalefv8hf_mask */
10913 : :
10914 : : case 1:
10915 : : if (!
10916 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10917 : : (TARGET_AVX512F))
10918 : : return -1;
10919 : : return 5352; /* avx512f_vmscalefv4sf_mask */
10920 : :
10921 : : case 2:
10922 : : if (!(
10923 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10924 : : (TARGET_AVX512F) && (
10925 : : #line 13634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10926 : : (TARGET_AVX512F) &&
10927 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10928 : : (TARGET_SSE2))))
10929 : : return -1;
10930 : : return 5356; /* avx512f_vmscalefv2df_mask */
10931 : :
10932 : : default:
10933 : : return -1;
10934 : : }
10935 : :
10936 : : case 166:
10937 : : switch (pattern751 (x2))
10938 : : {
10939 : : case 0:
10940 : : if (!(
10941 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10942 : : (TARGET_AVX512F) && (
10943 : : #line 14067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10944 : : (TARGET_AVX512F) &&
10945 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10946 : : (TARGET_AVX512FP16))))
10947 : : return -1;
10948 : : return 7009; /* avx512f_sgetexpv8hf_mask */
10949 : :
10950 : : case 1:
10951 : : if (!
10952 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10953 : : (TARGET_AVX512F))
10954 : : return -1;
10955 : : return 7013; /* avx512f_sgetexpv4sf_mask */
10956 : :
10957 : : case 2:
10958 : : if (!(
10959 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10960 : : (TARGET_AVX512F) && (
10961 : : #line 14067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10962 : : (TARGET_AVX512F) &&
10963 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10964 : : (TARGET_SSE2))))
10965 : : return -1;
10966 : : return 7017; /* avx512f_sgetexpv2df_mask */
10967 : :
10968 : : default:
10969 : : return -1;
10970 : : }
10971 : :
10972 : : case 95:
10973 : : if (XWINT (x5, 0) != 1L)
10974 : : return -1;
10975 : : x6 = XVECEXP (x4, 0, 0);
10976 : : operands[2] = x6;
10977 : : x10 = XVECEXP (x4, 0, 1);
10978 : : operands[3] = x10;
10979 : : if (!const_0_to_255_operand (operands[3], E_SImode))
10980 : : return -1;
10981 : : x7 = XEXP (x3, 1);
10982 : : operands[4] = x7;
10983 : : x8 = XEXP (x3, 2);
10984 : : operands[5] = x8;
10985 : : if (!register_operand (operands[5], E_QImode))
10986 : : return -1;
10987 : : x9 = XEXP (x2, 1);
10988 : : operands[1] = x9;
10989 : : switch (GET_MODE (operands[0]))
10990 : : {
10991 : : case E_V8HFmode:
10992 : : if (pattern1529 (x2,
10993 : : E_V8HFmode) != 0
10994 : : || !(
10995 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10996 : : (TARGET_AVX512F) && (
10997 : : #line 14261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10998 : : (TARGET_AVX512F) &&
10999 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11000 : : (TARGET_AVX512FP16))))
11001 : : return -1;
11002 : : return 7125; /* avx512f_rndscalev8hf_mask */
11003 : :
11004 : : case E_V4SFmode:
11005 : : if (pattern1529 (x2,
11006 : : E_V4SFmode) != 0
11007 : : || !
11008 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11009 : : (TARGET_AVX512F))
11010 : : return -1;
11011 : : return 7129; /* avx512f_rndscalev4sf_mask */
11012 : :
11013 : : case E_V2DFmode:
11014 : : if (pattern1529 (x2,
11015 : : E_V2DFmode) != 0
11016 : : || !(
11017 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11018 : : (TARGET_AVX512F) && (
11019 : : #line 14261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11020 : : (TARGET_AVX512F) &&
11021 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11022 : : (TARGET_SSE2))))
11023 : : return -1;
11024 : : return 7133; /* avx512f_rndscalev2df_mask */
11025 : :
11026 : : default:
11027 : : return -1;
11028 : : }
11029 : :
11030 : : default:
11031 : : return -1;
11032 : : }
11033 : :
11034 : : case 3:
11035 : : x5 = XEXP (x2, 2);
11036 : : if (GET_CODE (x5) != CONST_INT)
11037 : : return -1;
11038 : : x6 = XVECEXP (x4, 0, 0);
11039 : : operands[1] = x6;
11040 : : x10 = XVECEXP (x4, 0, 1);
11041 : : operands[2] = x10;
11042 : : x11 = XVECEXP (x4, 0, 2);
11043 : : operands[3] = x11;
11044 : : switch (XINT (x4, 1))
11045 : : {
11046 : : case 193:
11047 : : switch (pattern1103 (x2))
11048 : : {
11049 : : case 0:
11050 : : if (!(
11051 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11052 : : (TARGET_AVX512F) && (
11053 : : #line 4028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11054 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
11055 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11056 : : (TARGET_AVX512FP16))))
11057 : : return -1;
11058 : : return 3213; /* reducesv8hf_mask */
11059 : :
11060 : : case 1:
11061 : : if (!(
11062 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11063 : : (TARGET_AVX512F) &&
11064 : : #line 4028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11065 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode)))))
11066 : : return -1;
11067 : : return 3217; /* reducesv4sf_mask */
11068 : :
11069 : : case 2:
11070 : : if (!(
11071 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11072 : : (TARGET_AVX512F) && (
11073 : : #line 4028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11074 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
11075 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11076 : : (TARGET_SSE2))))
11077 : : return -1;
11078 : : return 3221; /* reducesv2df_mask */
11079 : :
11080 : : default:
11081 : : return -1;
11082 : : }
11083 : :
11084 : : case 218:
11085 : : switch (pattern1104 (x2))
11086 : : {
11087 : : case 0:
11088 : : if (!(
11089 : : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11090 : : (TARGET_AVX512F) &&
11091 : : #line 7531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11092 : : (TARGET_AVX512FP16)))
11093 : : return -1;
11094 : : return 4343; /* avx512fp16_fma_fmaddcsh_v8hf_maskz */
11095 : :
11096 : : case 1:
11097 : : if (!
11098 : : #line 7551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11099 : : (TARGET_AVX512FP16))
11100 : : return -1;
11101 : : return 4350; /* avx512fp16_fmaddcsh_v8hf_mask */
11102 : :
11103 : : default:
11104 : : return -1;
11105 : : }
11106 : :
11107 : : case 220:
11108 : : switch (pattern1104 (x2))
11109 : : {
11110 : : case 0:
11111 : : if (!(
11112 : : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11113 : : (TARGET_AVX512F) &&
11114 : : #line 7531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11115 : : (TARGET_AVX512FP16)))
11116 : : return -1;
11117 : : return 4347; /* avx512fp16_fma_fcmaddcsh_v8hf_maskz */
11118 : :
11119 : : case 1:
11120 : : if (!
11121 : : #line 7551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11122 : : (TARGET_AVX512FP16))
11123 : : return -1;
11124 : : return 4352; /* avx512fp16_fcmaddcsh_v8hf_mask */
11125 : :
11126 : : default:
11127 : : return -1;
11128 : : }
11129 : :
11130 : : case 195:
11131 : : if (XWINT (x5, 0) != 1L
11132 : : || !const_0_to_15_operand (operands[3], E_SImode))
11133 : : return -1;
11134 : : x7 = XEXP (x3, 1);
11135 : : operands[4] = x7;
11136 : : x8 = XEXP (x3, 2);
11137 : : operands[5] = x8;
11138 : : if (!register_operand (operands[5], E_QImode))
11139 : : return -1;
11140 : : x9 = XEXP (x2, 1);
11141 : : if (!rtx_equal_p (x9, operands[1]))
11142 : : return -1;
11143 : : switch (GET_MODE (operands[0]))
11144 : : {
11145 : : case E_V4SFmode:
11146 : : if (pattern1101 (x2,
11147 : : E_V4SFmode) != 0
11148 : : || !(
11149 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11150 : : (TARGET_AVX512F) &&
11151 : : #line 29956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11152 : : (TARGET_AVX512DQ)))
11153 : : return -1;
11154 : : return 9927; /* avx512dq_rangesv4sf_mask */
11155 : :
11156 : : case E_V2DFmode:
11157 : : if (pattern1101 (x2,
11158 : : E_V2DFmode) != 0
11159 : : || !(
11160 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11161 : : (TARGET_AVX512F) && (
11162 : : #line 29956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11163 : : (TARGET_AVX512DQ) &&
11164 : : #line 462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11165 : : (TARGET_SSE2))))
11166 : : return -1;
11167 : : return 9931; /* avx512dq_rangesv2df_mask */
11168 : :
11169 : : default:
11170 : : return -1;
11171 : : }
11172 : :
11173 : : case 167:
11174 : : if (XWINT (x5, 0) != 1L
11175 : : || !const_0_to_15_operand (operands[3], E_SImode))
11176 : : return -1;
11177 : : switch (pattern1102 (x2))
11178 : : {
11179 : : case 0:
11180 : : if (!(
11181 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11182 : : (TARGET_AVX512F) && (
11183 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11184 : : (TARGET_AVX512F) &&
11185 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11186 : : (TARGET_AVX512FP16))))
11187 : : return -1;
11188 : : return 9995; /* avx512f_vgetmantv8hf_mask */
11189 : :
11190 : : case 1:
11191 : : if (!
11192 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11193 : : (TARGET_AVX512F))
11194 : : return -1;
11195 : : return 9999; /* avx512f_vgetmantv4sf_mask */
11196 : :
11197 : : case 2:
11198 : : if (!(
11199 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11200 : : (TARGET_AVX512F) && (
11201 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11202 : : (TARGET_AVX512F) &&
11203 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11204 : : (TARGET_SSE2))))
11205 : : return -1;
11206 : : return 10003; /* avx512f_vgetmantv2df_mask */
11207 : :
11208 : : default:
11209 : : return -1;
11210 : : }
11211 : :
11212 : : case 279:
11213 : : switch (pattern1103 (x2))
11214 : : {
11215 : : case 0:
11216 : : if (!(
11217 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11218 : : (TARGET_AVX512F) && (
11219 : : #line 32788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11220 : : (TARGET_AVX10_2) &&
11221 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11222 : : (TARGET_AVX512FP16))))
11223 : : return -1;
11224 : : return 10893; /* avx10_2_minmaxsv8hf_mask */
11225 : :
11226 : : case 1:
11227 : : if (!(
11228 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11229 : : (TARGET_AVX512F) &&
11230 : : #line 32788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11231 : : (TARGET_AVX10_2)))
11232 : : return -1;
11233 : : return 10897; /* avx10_2_minmaxsv4sf_mask */
11234 : :
11235 : : case 2:
11236 : : if (!(
11237 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11238 : : (TARGET_AVX512F) && (
11239 : : #line 32788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11240 : : (TARGET_AVX10_2) &&
11241 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11242 : : (TARGET_SSE2))))
11243 : : return -1;
11244 : : return 10901; /* avx10_2_minmaxsv2df_mask */
11245 : :
11246 : : default:
11247 : : return -1;
11248 : : }
11249 : :
11250 : : default:
11251 : : return -1;
11252 : : }
11253 : :
11254 : : case 4:
11255 : : if (XINT (x4, 1) != 164)
11256 : : return -1;
11257 : : x6 = XVECEXP (x4, 0, 0);
11258 : : operands[1] = x6;
11259 : : x10 = XVECEXP (x4, 0, 1);
11260 : : operands[2] = x10;
11261 : : x11 = XVECEXP (x4, 0, 2);
11262 : : operands[3] = x11;
11263 : : x12 = XVECEXP (x4, 0, 3);
11264 : : operands[4] = x12;
11265 : : if (!const_0_to_255_operand (operands[4], E_SImode))
11266 : : return -1;
11267 : : x7 = XEXP (x3, 1);
11268 : : switch (GET_CODE (x7))
11269 : : {
11270 : : case CONST_INT:
11271 : : case CONST_DOUBLE:
11272 : : case CONST_VECTOR:
11273 : : operands[5] = x7;
11274 : : x5 = XEXP (x2, 2);
11275 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11276 : : return -1;
11277 : : x8 = XEXP (x3, 2);
11278 : : operands[6] = x8;
11279 : : if (!register_operand (operands[6], E_QImode))
11280 : : return -1;
11281 : : x9 = XEXP (x2, 1);
11282 : : if (!rtx_equal_p (x9, operands[2]))
11283 : : return -1;
11284 : : switch (GET_MODE (operands[0]))
11285 : : {
11286 : : case E_V4SFmode:
11287 : : if (pattern1630 (x2,
11288 : : E_V4SFmode,
11289 : : E_V4SImode) != 0
11290 : : || !
11291 : : #line 154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11292 : : (TARGET_AVX512F))
11293 : : return -1;
11294 : : return 7078; /* avx512f_sfixupimmv4sf_maskz_1 */
11295 : :
11296 : : case E_V2DFmode:
11297 : : if (pattern1630 (x2,
11298 : : E_V2DFmode,
11299 : : E_V2DImode) != 0
11300 : : || !(
11301 : : #line 154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11302 : : (TARGET_AVX512F) && (
11303 : : #line 14216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11304 : : (TARGET_AVX512F) &&
11305 : : #line 462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11306 : : (TARGET_SSE2))))
11307 : : return -1;
11308 : : return 7082; /* avx512f_sfixupimmv2df_maskz_1 */
11309 : :
11310 : : default:
11311 : : return -1;
11312 : : }
11313 : :
11314 : : case REG:
11315 : : case SUBREG:
11316 : : if (!rtx_equal_p (x7, operands[2]))
11317 : : return -1;
11318 : : x8 = XEXP (x3, 2);
11319 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11320 : : return -1;
11321 : : x5 = XEXP (x2, 2);
11322 : : operands[5] = x5;
11323 : : if (!register_operand (operands[5], E_QImode))
11324 : : return -1;
11325 : : x9 = XEXP (x2, 1);
11326 : : if (!rtx_equal_p (x9, operands[1]))
11327 : : return -1;
11328 : : switch (GET_MODE (operands[0]))
11329 : : {
11330 : : case E_V4SFmode:
11331 : : if (pattern1631 (x2,
11332 : : E_V4SImode,
11333 : : E_V4SFmode) != 0
11334 : : || !
11335 : : #line 14235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11336 : : (TARGET_AVX512F))
11337 : : return -1;
11338 : : return 7084; /* avx512f_sfixupimmv4sf_mask */
11339 : :
11340 : : case E_V2DFmode:
11341 : : if (pattern1631 (x2,
11342 : : E_V2DImode,
11343 : : E_V2DFmode) != 0
11344 : : || !(
11345 : : #line 14235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11346 : : (TARGET_AVX512F) &&
11347 : : #line 462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11348 : : (TARGET_SSE2)))
11349 : : return -1;
11350 : : return 7086; /* avx512f_sfixupimmv2df_mask */
11351 : :
11352 : : default:
11353 : : return -1;
11354 : : }
11355 : :
11356 : : default:
11357 : : return -1;
11358 : : }
11359 : :
11360 : : default:
11361 : : return -1;
11362 : : }
11363 : : }
11364 : :
11365 : : int
11366 : : recog_163 (rtx x1 ATTRIBUTE_UNUSED,
11367 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11368 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11369 : : {
11370 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11371 : : rtx x2, x3, x4, x5, x6;
11372 : : int res ATTRIBUTE_UNUSED;
11373 : : x2 = XEXP (x1, 1);
11374 : : x3 = XEXP (x2, 0);
11375 : : x4 = XEXP (x3, 0);
11376 : : x5 = XEXP (x4, 0);
11377 : : operands[1] = x5;
11378 : : switch (pattern627 (x2))
11379 : : {
11380 : : case 0:
11381 : : if (pattern1374 (x2,
11382 : : E_V32HFmode,
11383 : : E_SImode) != 0
11384 : : || !(
11385 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11386 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11387 : : #line 5973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11388 : : (TARGET_AVX512FP16)))
11389 : : return -1;
11390 : : return 3919; /* fma_fnmadd_v32hf_maskz_1 */
11391 : :
11392 : : case 1:
11393 : : if (pattern1374 (x2,
11394 : : E_V16HFmode,
11395 : : E_HImode) != 0
11396 : : || !(
11397 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11398 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11399 : : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11400 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11401 : : return -1;
11402 : : return 3923; /* fma_fnmadd_v16hf_maskz_1 */
11403 : :
11404 : : case 2:
11405 : : if (pattern1374 (x2,
11406 : : E_V8HFmode,
11407 : : E_QImode) != 0
11408 : : || !(
11409 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11410 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11411 : : #line 5975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11412 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11413 : : return -1;
11414 : : return 3925; /* fma_fnmadd_v8hf_maskz_1 */
11415 : :
11416 : : case 3:
11417 : : if (pattern1374 (x2,
11418 : : E_V16SFmode,
11419 : : E_HImode) != 0
11420 : : || !
11421 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11422 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11423 : : return -1;
11424 : : return 3929; /* fma_fnmadd_v16sf_maskz_1 */
11425 : :
11426 : : case 4:
11427 : : if (pattern1374 (x2,
11428 : : E_V8SFmode,
11429 : : E_QImode) != 0
11430 : : || !(
11431 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11432 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11433 : : #line 5977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11434 : : (TARGET_AVX512VL)))
11435 : : return -1;
11436 : : return 3933; /* fma_fnmadd_v8sf_maskz_1 */
11437 : :
11438 : : case 5:
11439 : : if (pattern1374 (x2,
11440 : : E_V4SFmode,
11441 : : E_QImode) != 0
11442 : : || !(
11443 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11445 : : #line 5977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11446 : : (TARGET_AVX512VL)))
11447 : : return -1;
11448 : : return 3935; /* fma_fnmadd_v4sf_maskz_1 */
11449 : :
11450 : : case 6:
11451 : : if (pattern1374 (x2,
11452 : : E_V8DFmode,
11453 : : E_QImode) != 0
11454 : : || !
11455 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11456 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11457 : : return -1;
11458 : : return 3938; /* fma_fnmadd_v8df_maskz_1 */
11459 : :
11460 : : case 7:
11461 : : if (pattern1374 (x2,
11462 : : E_V4DFmode,
11463 : : E_QImode) != 0
11464 : : || !(
11465 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11466 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11467 : : #line 5978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11468 : : (TARGET_AVX512VL)))
11469 : : return -1;
11470 : : return 3942; /* fma_fnmadd_v4df_maskz_1 */
11471 : :
11472 : : case 8:
11473 : : if (pattern1374 (x2,
11474 : : E_V2DFmode,
11475 : : E_QImode) != 0
11476 : : || !(
11477 : : #line 6195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11478 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11479 : : #line 5978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11480 : : (TARGET_AVX512VL)))
11481 : : return -1;
11482 : : return 3944; /* fma_fnmadd_v2df_maskz_1 */
11483 : :
11484 : : case 9:
11485 : : if (pattern1375 (x2,
11486 : : E_SImode,
11487 : : E_V32BFmode) != 0
11488 : : || !
11489 : : #line 32336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11490 : : (TARGET_AVX10_2))
11491 : : return -1;
11492 : : return 10593; /* avx10_2_fnmaddbf16_v32bf_maskz_1 */
11493 : :
11494 : : case 10:
11495 : : if (pattern1375 (x2,
11496 : : E_HImode,
11497 : : E_V16BFmode) != 0
11498 : : || !
11499 : : #line 32336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11500 : : (TARGET_AVX10_2))
11501 : : return -1;
11502 : : return 10595; /* avx10_2_fnmaddbf16_v16bf_maskz_1 */
11503 : :
11504 : : case 11:
11505 : : if (pattern1375 (x2,
11506 : : E_QImode,
11507 : : E_V8BFmode) != 0
11508 : : || !
11509 : : #line 32336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11510 : : (TARGET_AVX10_2))
11511 : : return -1;
11512 : : return 10597; /* avx10_2_fnmaddbf16_v8bf_maskz_1 */
11513 : :
11514 : : case 12:
11515 : : if (pattern1376 (x2,
11516 : : E_V4SFmode) != 0
11517 : : || !
11518 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11519 : : (TARGET_FMA4))
11520 : : return -1;
11521 : : return 4274; /* *fma4i_vmfnmadd_v4sf */
11522 : :
11523 : : case 13:
11524 : : if (pattern1376 (x2,
11525 : : E_V2DFmode) != 0
11526 : : || !(
11527 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11528 : : (TARGET_FMA4) &&
11529 : : #line 462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11530 : : (TARGET_SSE2)))
11531 : : return -1;
11532 : : return 4275; /* *fma4i_vmfnmadd_v2df */
11533 : :
11534 : : case 14:
11535 : : if (pattern1279 (x2,
11536 : : E_V32HFmode,
11537 : : E_SImode) != 0)
11538 : : return -1;
11539 : : if (nonimmediate_operand (operands[1], E_V32HFmode)
11540 : : && vector_operand (operands[3], E_V32HFmode))
11541 : : {
11542 : : x6 = XEXP (x2, 1);
11543 : : if (rtx_equal_p (x6, operands[1])
11544 : : && (
11545 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11546 : : (TARGET_AVX512F && 1) &&
11547 : : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11548 : : (TARGET_AVX512FP16)))
11549 : : return 3945; /* avx512bw_fnmadd_v32hf_mask */
11550 : : }
11551 : : if (!vector_operand (operands[1], E_V32HFmode)
11552 : : || !nonimmediate_operand (operands[3], E_V32HFmode))
11553 : : return -1;
11554 : : x6 = XEXP (x2, 1);
11555 : : if (!rtx_equal_p (x6, operands[3])
11556 : : || !(
11557 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11558 : : (TARGET_AVX512F && 1) &&
11559 : : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11560 : : (TARGET_AVX512FP16)))
11561 : : return -1;
11562 : : return 3957; /* avx512bw_fnmadd_v32hf_mask3 */
11563 : :
11564 : : case 15:
11565 : : if (pattern1279 (x2,
11566 : : E_V16HFmode,
11567 : : E_HImode) != 0)
11568 : : return -1;
11569 : : if (nonimmediate_operand (operands[1], E_V16HFmode)
11570 : : && vector_operand (operands[3], E_V16HFmode))
11571 : : {
11572 : : x6 = XEXP (x2, 1);
11573 : : if (rtx_equal_p (x6, operands[1])
11574 : : && (
11575 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11576 : : (TARGET_AVX512F && 1) &&
11577 : : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11578 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11579 : : return 3947; /* avx512vl_fnmadd_v16hf_mask */
11580 : : }
11581 : : if (!vector_operand (operands[1], E_V16HFmode)
11582 : : || !nonimmediate_operand (operands[3], E_V16HFmode))
11583 : : return -1;
11584 : : x6 = XEXP (x2, 1);
11585 : : if (!rtx_equal_p (x6, operands[3])
11586 : : || !(
11587 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11588 : : (TARGET_AVX512F && 1) &&
11589 : : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11590 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11591 : : return -1;
11592 : : return 3959; /* avx512vl_fnmadd_v16hf_mask3 */
11593 : :
11594 : : case 16:
11595 : : if (pattern1279 (x2,
11596 : : E_V8HFmode,
11597 : : E_QImode) != 0)
11598 : : return -1;
11599 : : if (nonimmediate_operand (operands[1], E_V8HFmode)
11600 : : && vector_operand (operands[3], E_V8HFmode))
11601 : : {
11602 : : x6 = XEXP (x2, 1);
11603 : : if (rtx_equal_p (x6, operands[1])
11604 : : && (
11605 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11606 : : (TARGET_AVX512F && 1) &&
11607 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11608 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11609 : : return 3948; /* avx512fp16_fnmadd_v8hf_mask */
11610 : : }
11611 : : if (!vector_operand (operands[1], E_V8HFmode)
11612 : : || !nonimmediate_operand (operands[3], E_V8HFmode))
11613 : : return -1;
11614 : : x6 = XEXP (x2, 1);
11615 : : if (!rtx_equal_p (x6, operands[3])
11616 : : || !(
11617 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11618 : : (TARGET_AVX512F && 1) &&
11619 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11620 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11621 : : return -1;
11622 : : return 3960; /* avx512fp16_fnmadd_v8hf_mask3 */
11623 : :
11624 : : case 17:
11625 : : if (pattern1279 (x2,
11626 : : E_V16SFmode,
11627 : : E_HImode) != 0)
11628 : : return -1;
11629 : : if (nonimmediate_operand (operands[1], E_V16SFmode)
11630 : : && vector_operand (operands[3], E_V16SFmode))
11631 : : {
11632 : : x6 = XEXP (x2, 1);
11633 : : if (rtx_equal_p (x6, operands[1])
11634 : : &&
11635 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11636 : : (TARGET_AVX512F && 1))
11637 : : return 3949; /* avx512f_fnmadd_v16sf_mask */
11638 : : }
11639 : : if (!vector_operand (operands[1], E_V16SFmode)
11640 : : || !nonimmediate_operand (operands[3], E_V16SFmode))
11641 : : return -1;
11642 : : x6 = XEXP (x2, 1);
11643 : : if (!rtx_equal_p (x6, operands[3])
11644 : : || !
11645 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11646 : : (TARGET_AVX512F && 1))
11647 : : return -1;
11648 : : return 3961; /* avx512f_fnmadd_v16sf_mask3 */
11649 : :
11650 : : case 18:
11651 : : if (pattern1279 (x2,
11652 : : E_V8SFmode,
11653 : : E_QImode) != 0)
11654 : : return -1;
11655 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
11656 : : && vector_operand (operands[3], E_V8SFmode))
11657 : : {
11658 : : x6 = XEXP (x2, 1);
11659 : : if (rtx_equal_p (x6, operands[1])
11660 : : && (
11661 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11662 : : (TARGET_AVX512F && 1) &&
11663 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11664 : : (TARGET_AVX512VL)))
11665 : : return 3951; /* avx512vl_fnmadd_v8sf_mask */
11666 : : }
11667 : : if (!vector_operand (operands[1], E_V8SFmode)
11668 : : || !nonimmediate_operand (operands[3], E_V8SFmode))
11669 : : return -1;
11670 : : x6 = XEXP (x2, 1);
11671 : : if (!rtx_equal_p (x6, operands[3])
11672 : : || !(
11673 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11674 : : (TARGET_AVX512F && 1) &&
11675 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11676 : : (TARGET_AVX512VL)))
11677 : : return -1;
11678 : : return 3963; /* avx512vl_fnmadd_v8sf_mask3 */
11679 : :
11680 : : case 19:
11681 : : if (pattern1279 (x2,
11682 : : E_V4SFmode,
11683 : : E_QImode) != 0)
11684 : : return -1;
11685 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
11686 : : && vector_operand (operands[3], E_V4SFmode))
11687 : : {
11688 : : x6 = XEXP (x2, 1);
11689 : : if (rtx_equal_p (x6, operands[1])
11690 : : && (
11691 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11692 : : (TARGET_AVX512F && 1) &&
11693 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11694 : : (TARGET_AVX512VL)))
11695 : : return 3952; /* avx512vl_fnmadd_v4sf_mask */
11696 : : }
11697 : : if (!vector_operand (operands[1], E_V4SFmode)
11698 : : || !nonimmediate_operand (operands[3], E_V4SFmode))
11699 : : return -1;
11700 : : x6 = XEXP (x2, 1);
11701 : : if (!rtx_equal_p (x6, operands[3])
11702 : : || !(
11703 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11704 : : (TARGET_AVX512F && 1) &&
11705 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11706 : : (TARGET_AVX512VL)))
11707 : : return -1;
11708 : : return 3964; /* avx512vl_fnmadd_v4sf_mask3 */
11709 : :
11710 : : case 20:
11711 : : if (pattern1279 (x2,
11712 : : E_V8DFmode,
11713 : : E_QImode) != 0)
11714 : : return -1;
11715 : : if (nonimmediate_operand (operands[1], E_V8DFmode)
11716 : : && vector_operand (operands[3], E_V8DFmode))
11717 : : {
11718 : : x6 = XEXP (x2, 1);
11719 : : if (rtx_equal_p (x6, operands[1])
11720 : : &&
11721 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11722 : : (TARGET_AVX512F && 1))
11723 : : return 3953; /* avx512f_fnmadd_v8df_mask */
11724 : : }
11725 : : if (!vector_operand (operands[1], E_V8DFmode)
11726 : : || !nonimmediate_operand (operands[3], E_V8DFmode))
11727 : : return -1;
11728 : : x6 = XEXP (x2, 1);
11729 : : if (!rtx_equal_p (x6, operands[3])
11730 : : || !
11731 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11732 : : (TARGET_AVX512F && 1))
11733 : : return -1;
11734 : : return 3965; /* avx512f_fnmadd_v8df_mask3 */
11735 : :
11736 : : case 21:
11737 : : if (pattern1279 (x2,
11738 : : E_V4DFmode,
11739 : : E_QImode) != 0)
11740 : : return -1;
11741 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
11742 : : && vector_operand (operands[3], E_V4DFmode))
11743 : : {
11744 : : x6 = XEXP (x2, 1);
11745 : : if (rtx_equal_p (x6, operands[1])
11746 : : && (
11747 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11748 : : (TARGET_AVX512F && 1) &&
11749 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11750 : : (TARGET_AVX512VL)))
11751 : : return 3955; /* avx512vl_fnmadd_v4df_mask */
11752 : : }
11753 : : if (!vector_operand (operands[1], E_V4DFmode)
11754 : : || !nonimmediate_operand (operands[3], E_V4DFmode))
11755 : : return -1;
11756 : : x6 = XEXP (x2, 1);
11757 : : if (!rtx_equal_p (x6, operands[3])
11758 : : || !(
11759 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11760 : : (TARGET_AVX512F && 1) &&
11761 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11762 : : (TARGET_AVX512VL)))
11763 : : return -1;
11764 : : return 3967; /* avx512vl_fnmadd_v4df_mask3 */
11765 : :
11766 : : case 22:
11767 : : if (pattern1279 (x2,
11768 : : E_V2DFmode,
11769 : : E_QImode) != 0)
11770 : : return -1;
11771 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
11772 : : && vector_operand (operands[3], E_V2DFmode))
11773 : : {
11774 : : x6 = XEXP (x2, 1);
11775 : : if (rtx_equal_p (x6, operands[1])
11776 : : && (
11777 : : #line 6238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11778 : : (TARGET_AVX512F && 1) &&
11779 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11780 : : (TARGET_AVX512VL)))
11781 : : return 3956; /* avx512vl_fnmadd_v2df_mask */
11782 : : }
11783 : : if (!vector_operand (operands[1], E_V2DFmode)
11784 : : || !nonimmediate_operand (operands[3], E_V2DFmode))
11785 : : return -1;
11786 : : x6 = XEXP (x2, 1);
11787 : : if (!rtx_equal_p (x6, operands[3])
11788 : : || !(
11789 : : #line 6256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11790 : : (TARGET_AVX512F && 1) &&
11791 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11792 : : (TARGET_AVX512VL)))
11793 : : return -1;
11794 : : return 3968; /* avx512vl_fnmadd_v2df_mask3 */
11795 : :
11796 : : case 23:
11797 : : if (pattern1280 (x2,
11798 : : E_SImode,
11799 : : E_V32BFmode) != 0)
11800 : : return -1;
11801 : : x6 = XEXP (x2, 1);
11802 : : if (rtx_equal_p (x6, operands[1])
11803 : : &&
11804 : : #line 32355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11805 : : (TARGET_AVX10_2))
11806 : : return 10598; /* avx10_2_fnmaddbf16_v32bf_mask */
11807 : : if (!rtx_equal_p (x6, operands[3])
11808 : : || !
11809 : : #line 32373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11810 : : (TARGET_AVX10_2))
11811 : : return -1;
11812 : : return 10601; /* avx10_2_fnmaddbf16_v32bf_mask3 */
11813 : :
11814 : : case 24:
11815 : : if (pattern1280 (x2,
11816 : : E_HImode,
11817 : : E_V16BFmode) != 0)
11818 : : return -1;
11819 : : x6 = XEXP (x2, 1);
11820 : : if (rtx_equal_p (x6, operands[1])
11821 : : &&
11822 : : #line 32355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11823 : : (TARGET_AVX10_2))
11824 : : return 10599; /* avx10_2_fnmaddbf16_v16bf_mask */
11825 : : if (!rtx_equal_p (x6, operands[3])
11826 : : || !
11827 : : #line 32373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11828 : : (TARGET_AVX10_2))
11829 : : return -1;
11830 : : return 10602; /* avx10_2_fnmaddbf16_v16bf_mask3 */
11831 : :
11832 : : case 25:
11833 : : if (pattern1280 (x2,
11834 : : E_QImode,
11835 : : E_V8BFmode) != 0)
11836 : : return -1;
11837 : : x6 = XEXP (x2, 1);
11838 : : if (rtx_equal_p (x6, operands[1])
11839 : : &&
11840 : : #line 32355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11841 : : (TARGET_AVX10_2))
11842 : : return 10600; /* avx10_2_fnmaddbf16_v8bf_mask */
11843 : : if (!rtx_equal_p (x6, operands[3])
11844 : : || !
11845 : : #line 32373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11846 : : (TARGET_AVX10_2))
11847 : : return -1;
11848 : : return 10603; /* avx10_2_fnmaddbf16_v8bf_mask3 */
11849 : :
11850 : : case 26:
11851 : : if (pattern1377 (x2,
11852 : : E_V8HFmode) != 0
11853 : : || !(
11854 : : #line 6676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11855 : : (TARGET_FMA || TARGET_AVX512F) &&
11856 : : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11857 : : (TARGET_AVX512FP16)))
11858 : : return -1;
11859 : : return 4186; /* *fmai_fnmadd_v8hf */
11860 : :
11861 : : case 27:
11862 : : if (pattern1377 (x2,
11863 : : E_V4SFmode) != 0
11864 : : || !
11865 : : #line 6676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11866 : : (TARGET_FMA || TARGET_AVX512F))
11867 : : return -1;
11868 : : return 4188; /* *fmai_fnmadd_v4sf */
11869 : :
11870 : : case 28:
11871 : : if (pattern1377 (x2,
11872 : : E_V2DFmode) != 0
11873 : : || !(
11874 : : #line 6676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11875 : : (TARGET_FMA || TARGET_AVX512F) &&
11876 : : #line 467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11877 : : (TARGET_SSE2)))
11878 : : return -1;
11879 : : return 4190; /* *fmai_fnmadd_v2df */
11880 : :
11881 : : case 29:
11882 : : return recog_162 (x1, insn, pnum_clobbers);
11883 : :
11884 : : default:
11885 : : return -1;
11886 : : }
11887 : : }
11888 : :
11889 : : int
11890 : : recog_168 (rtx x1 ATTRIBUTE_UNUSED,
11891 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11892 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11893 : : {
11894 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11895 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
11896 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
11897 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
11898 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
11899 : : rtx x34, x35, x36, x37, x38, x39, x40, x41;
11900 : : rtx x42, x43, x44, x45, x46, x47, x48, x49;
11901 : : rtx x50, x51, x52, x53, x54, x55, x56, x57;
11902 : : rtx x58, x59, x60, x61, x62, x63, x64, x65;
11903 : : rtx x66, x67, x68, x69, x70;
11904 : : int res ATTRIBUTE_UNUSED;
11905 : : x2 = XEXP (x1, 1);
11906 : : x3 = XEXP (x2, 0);
11907 : : x4 = XEXP (x3, 1);
11908 : : if (pattern879 (x4) != 0)
11909 : : return -1;
11910 : : x5 = XVECEXP (x4, 0, 32);
11911 : : if (GET_CODE (x5) != CONST_INT)
11912 : : return -1;
11913 : : x6 = XVECEXP (x4, 0, 33);
11914 : : if (GET_CODE (x6) != CONST_INT)
11915 : : return -1;
11916 : : x7 = XVECEXP (x4, 0, 34);
11917 : : if (GET_CODE (x7) != CONST_INT)
11918 : : return -1;
11919 : : x8 = XVECEXP (x4, 0, 35);
11920 : : if (GET_CODE (x8) != CONST_INT)
11921 : : return -1;
11922 : : x9 = XVECEXP (x4, 0, 36);
11923 : : if (GET_CODE (x9) != CONST_INT)
11924 : : return -1;
11925 : : x10 = XVECEXP (x4, 0, 37);
11926 : : if (GET_CODE (x10) != CONST_INT)
11927 : : return -1;
11928 : : x11 = XVECEXP (x4, 0, 38);
11929 : : if (GET_CODE (x11) != CONST_INT)
11930 : : return -1;
11931 : : x12 = XVECEXP (x4, 0, 39);
11932 : : if (GET_CODE (x12) != CONST_INT)
11933 : : return -1;
11934 : : x13 = XVECEXP (x4, 0, 40);
11935 : : if (GET_CODE (x13) != CONST_INT)
11936 : : return -1;
11937 : : x14 = XVECEXP (x4, 0, 41);
11938 : : if (GET_CODE (x14) != CONST_INT)
11939 : : return -1;
11940 : : x15 = XVECEXP (x4, 0, 42);
11941 : : if (GET_CODE (x15) != CONST_INT)
11942 : : return -1;
11943 : : x16 = XVECEXP (x4, 0, 43);
11944 : : if (GET_CODE (x16) != CONST_INT)
11945 : : return -1;
11946 : : x17 = XVECEXP (x4, 0, 44);
11947 : : if (GET_CODE (x17) != CONST_INT)
11948 : : return -1;
11949 : : x18 = XVECEXP (x4, 0, 45);
11950 : : if (GET_CODE (x18) != CONST_INT)
11951 : : return -1;
11952 : : x19 = XVECEXP (x4, 0, 46);
11953 : : if (GET_CODE (x19) != CONST_INT)
11954 : : return -1;
11955 : : x20 = XVECEXP (x4, 0, 47);
11956 : : if (GET_CODE (x20) != CONST_INT)
11957 : : return -1;
11958 : : x21 = XVECEXP (x4, 0, 48);
11959 : : if (GET_CODE (x21) != CONST_INT)
11960 : : return -1;
11961 : : x22 = XVECEXP (x4, 0, 49);
11962 : : if (GET_CODE (x22) != CONST_INT)
11963 : : return -1;
11964 : : x23 = XVECEXP (x4, 0, 50);
11965 : : if (GET_CODE (x23) != CONST_INT)
11966 : : return -1;
11967 : : x24 = XVECEXP (x4, 0, 51);
11968 : : if (GET_CODE (x24) != CONST_INT)
11969 : : return -1;
11970 : : x25 = XVECEXP (x4, 0, 52);
11971 : : if (GET_CODE (x25) != CONST_INT)
11972 : : return -1;
11973 : : x26 = XVECEXP (x4, 0, 53);
11974 : : if (GET_CODE (x26) != CONST_INT)
11975 : : return -1;
11976 : : x27 = XVECEXP (x4, 0, 54);
11977 : : if (GET_CODE (x27) != CONST_INT)
11978 : : return -1;
11979 : : x28 = XVECEXP (x4, 0, 55);
11980 : : if (GET_CODE (x28) != CONST_INT)
11981 : : return -1;
11982 : : x29 = XVECEXP (x4, 0, 56);
11983 : : if (GET_CODE (x29) != CONST_INT)
11984 : : return -1;
11985 : : x30 = XVECEXP (x4, 0, 57);
11986 : : if (GET_CODE (x30) != CONST_INT)
11987 : : return -1;
11988 : : x31 = XVECEXP (x4, 0, 58);
11989 : : if (GET_CODE (x31) != CONST_INT)
11990 : : return -1;
11991 : : x32 = XVECEXP (x4, 0, 59);
11992 : : if (GET_CODE (x32) != CONST_INT)
11993 : : return -1;
11994 : : x33 = XVECEXP (x4, 0, 60);
11995 : : if (GET_CODE (x33) != CONST_INT)
11996 : : return -1;
11997 : : x34 = XVECEXP (x4, 0, 61);
11998 : : if (GET_CODE (x34) != CONST_INT)
11999 : : return -1;
12000 : : x35 = XVECEXP (x4, 0, 62);
12001 : : if (GET_CODE (x35) != CONST_INT)
12002 : : return -1;
12003 : : x36 = XVECEXP (x4, 0, 63);
12004 : : if (GET_CODE (x36) != CONST_INT
12005 : : || pattern1204 (x2,
12006 : : E_V64QImode,
12007 : : E_V128QImode) != 0)
12008 : : return -1;
12009 : : x37 = XEXP (x2, 1);
12010 : : operands[3] = x37;
12011 : : if (!nonimm_or_0_operand (operands[3], E_V64QImode))
12012 : : return -1;
12013 : : x38 = XEXP (x2, 2);
12014 : : operands[4] = x38;
12015 : : if (!register_operand (operands[4], E_DImode))
12016 : : return -1;
12017 : : x39 = XVECEXP (x4, 0, 0);
12018 : : switch (XWINT (x39, 0))
12019 : : {
12020 : : case 8L:
12021 : : x40 = XVECEXP (x4, 0, 1);
12022 : : if (XWINT (x40, 0) != 72L)
12023 : : return -1;
12024 : : x41 = XVECEXP (x4, 0, 2);
12025 : : if (XWINT (x41, 0) != 9L)
12026 : : return -1;
12027 : : x42 = XVECEXP (x4, 0, 3);
12028 : : if (XWINT (x42, 0) != 73L)
12029 : : return -1;
12030 : : x43 = XVECEXP (x4, 0, 4);
12031 : : if (XWINT (x43, 0) != 10L)
12032 : : return -1;
12033 : : x44 = XVECEXP (x4, 0, 5);
12034 : : if (XWINT (x44, 0) != 74L)
12035 : : return -1;
12036 : : x45 = XVECEXP (x4, 0, 6);
12037 : : if (XWINT (x45, 0) != 11L)
12038 : : return -1;
12039 : : x46 = XVECEXP (x4, 0, 7);
12040 : : if (XWINT (x46, 0) != 75L)
12041 : : return -1;
12042 : : x47 = XVECEXP (x4, 0, 8);
12043 : : if (XWINT (x47, 0) != 12L)
12044 : : return -1;
12045 : : x48 = XVECEXP (x4, 0, 9);
12046 : : if (XWINT (x48, 0) != 76L)
12047 : : return -1;
12048 : : x49 = XVECEXP (x4, 0, 10);
12049 : : if (XWINT (x49, 0) != 13L)
12050 : : return -1;
12051 : : x50 = XVECEXP (x4, 0, 11);
12052 : : if (XWINT (x50, 0) != 77L)
12053 : : return -1;
12054 : : x51 = XVECEXP (x4, 0, 12);
12055 : : if (XWINT (x51, 0) != 14L)
12056 : : return -1;
12057 : : x52 = XVECEXP (x4, 0, 13);
12058 : : if (XWINT (x52, 0) != 78L)
12059 : : return -1;
12060 : : x53 = XVECEXP (x4, 0, 14);
12061 : : if (XWINT (x53, 0) != 15L)
12062 : : return -1;
12063 : : x54 = XVECEXP (x4, 0, 15);
12064 : : if (XWINT (x54, 0) != 79L)
12065 : : return -1;
12066 : : x55 = XVECEXP (x4, 0, 16);
12067 : : if (XWINT (x55, 0) != 24L)
12068 : : return -1;
12069 : : x56 = XVECEXP (x4, 0, 17);
12070 : : if (XWINT (x56, 0) != 88L)
12071 : : return -1;
12072 : : x57 = XVECEXP (x4, 0, 18);
12073 : : if (XWINT (x57, 0) != 25L)
12074 : : return -1;
12075 : : x58 = XVECEXP (x4, 0, 19);
12076 : : if (XWINT (x58, 0) != 89L)
12077 : : return -1;
12078 : : x59 = XVECEXP (x4, 0, 20);
12079 : : if (XWINT (x59, 0) != 26L)
12080 : : return -1;
12081 : : x60 = XVECEXP (x4, 0, 21);
12082 : : if (XWINT (x60, 0) != 90L)
12083 : : return -1;
12084 : : x61 = XVECEXP (x4, 0, 22);
12085 : : if (XWINT (x61, 0) != 27L)
12086 : : return -1;
12087 : : x62 = XVECEXP (x4, 0, 23);
12088 : : if (XWINT (x62, 0) != 91L)
12089 : : return -1;
12090 : : x63 = XVECEXP (x4, 0, 24);
12091 : : if (XWINT (x63, 0) != 28L)
12092 : : return -1;
12093 : : x64 = XVECEXP (x4, 0, 25);
12094 : : if (XWINT (x64, 0) != 92L)
12095 : : return -1;
12096 : : x65 = XVECEXP (x4, 0, 26);
12097 : : if (XWINT (x65, 0) != 29L)
12098 : : return -1;
12099 : : x66 = XVECEXP (x4, 0, 27);
12100 : : if (XWINT (x66, 0) != 93L)
12101 : : return -1;
12102 : : x67 = XVECEXP (x4, 0, 28);
12103 : : if (XWINT (x67, 0) != 30L)
12104 : : return -1;
12105 : : x68 = XVECEXP (x4, 0, 29);
12106 : : if (XWINT (x68, 0) != 94L)
12107 : : return -1;
12108 : : x69 = XVECEXP (x4, 0, 30);
12109 : : if (XWINT (x69, 0) != 31L)
12110 : : return -1;
12111 : : x70 = XVECEXP (x4, 0, 31);
12112 : : if (XWINT (x70, 0) != 95L
12113 : : || XWINT (x5, 0) != 40L
12114 : : || XWINT (x6, 0) != 104L
12115 : : || XWINT (x7, 0) != 41L
12116 : : || XWINT (x8, 0) != 105L
12117 : : || XWINT (x9, 0) != 42L
12118 : : || XWINT (x10, 0) != 106L
12119 : : || XWINT (x11, 0) != 43L
12120 : : || XWINT (x12, 0) != 107L
12121 : : || XWINT (x13, 0) != 44L
12122 : : || XWINT (x14, 0) != 108L
12123 : : || XWINT (x15, 0) != 45L
12124 : : || XWINT (x16, 0) != 109L
12125 : : || XWINT (x17, 0) != 46L
12126 : : || XWINT (x18, 0) != 110L
12127 : : || XWINT (x19, 0) != 47L
12128 : : || XWINT (x20, 0) != 111L
12129 : : || XWINT (x21, 0) != 56L
12130 : : || XWINT (x22, 0) != 120L
12131 : : || XWINT (x23, 0) != 57L
12132 : : || XWINT (x24, 0) != 121L
12133 : : || XWINT (x25, 0) != 58L
12134 : : || XWINT (x26, 0) != 122L
12135 : : || XWINT (x27, 0) != 59L
12136 : : || XWINT (x28, 0) != 123L
12137 : : || XWINT (x29, 0) != 60L
12138 : : || XWINT (x30, 0) != 124L
12139 : : || XWINT (x31, 0) != 61L
12140 : : || XWINT (x32, 0) != 125L
12141 : : || XWINT (x33, 0) != 62L
12142 : : || XWINT (x34, 0) != 126L
12143 : : || XWINT (x35, 0) != 63L
12144 : : || XWINT (x36, 0) != 127L
12145 : : || !(
12146 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12147 : : (TARGET_AVX512F) &&
12148 : : #line 19441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12149 : : (TARGET_AVX512BW)))
12150 : : return -1;
12151 : : return 8273; /* avx512bw_interleave_highv64qi_mask */
12152 : :
12153 : : case 0L:
12154 : : x40 = XVECEXP (x4, 0, 1);
12155 : : if (XWINT (x40, 0) != 64L)
12156 : : return -1;
12157 : : x41 = XVECEXP (x4, 0, 2);
12158 : : if (XWINT (x41, 0) != 1L)
12159 : : return -1;
12160 : : x42 = XVECEXP (x4, 0, 3);
12161 : : if (XWINT (x42, 0) != 65L)
12162 : : return -1;
12163 : : x43 = XVECEXP (x4, 0, 4);
12164 : : if (XWINT (x43, 0) != 2L)
12165 : : return -1;
12166 : : x44 = XVECEXP (x4, 0, 5);
12167 : : if (XWINT (x44, 0) != 66L)
12168 : : return -1;
12169 : : x45 = XVECEXP (x4, 0, 6);
12170 : : if (XWINT (x45, 0) != 3L)
12171 : : return -1;
12172 : : x46 = XVECEXP (x4, 0, 7);
12173 : : if (XWINT (x46, 0) != 67L)
12174 : : return -1;
12175 : : x47 = XVECEXP (x4, 0, 8);
12176 : : if (XWINT (x47, 0) != 4L)
12177 : : return -1;
12178 : : x48 = XVECEXP (x4, 0, 9);
12179 : : if (XWINT (x48, 0) != 68L)
12180 : : return -1;
12181 : : x49 = XVECEXP (x4, 0, 10);
12182 : : if (XWINT (x49, 0) != 5L)
12183 : : return -1;
12184 : : x50 = XVECEXP (x4, 0, 11);
12185 : : if (XWINT (x50, 0) != 69L)
12186 : : return -1;
12187 : : x51 = XVECEXP (x4, 0, 12);
12188 : : if (XWINT (x51, 0) != 6L)
12189 : : return -1;
12190 : : x52 = XVECEXP (x4, 0, 13);
12191 : : if (XWINT (x52, 0) != 70L)
12192 : : return -1;
12193 : : x53 = XVECEXP (x4, 0, 14);
12194 : : if (XWINT (x53, 0) != 7L)
12195 : : return -1;
12196 : : x54 = XVECEXP (x4, 0, 15);
12197 : : if (XWINT (x54, 0) != 71L)
12198 : : return -1;
12199 : : x55 = XVECEXP (x4, 0, 16);
12200 : : if (XWINT (x55, 0) != 16L)
12201 : : return -1;
12202 : : x56 = XVECEXP (x4, 0, 17);
12203 : : if (XWINT (x56, 0) != 80L)
12204 : : return -1;
12205 : : x57 = XVECEXP (x4, 0, 18);
12206 : : if (XWINT (x57, 0) != 17L)
12207 : : return -1;
12208 : : x58 = XVECEXP (x4, 0, 19);
12209 : : if (XWINT (x58, 0) != 81L)
12210 : : return -1;
12211 : : x59 = XVECEXP (x4, 0, 20);
12212 : : if (XWINT (x59, 0) != 18L)
12213 : : return -1;
12214 : : x60 = XVECEXP (x4, 0, 21);
12215 : : if (XWINT (x60, 0) != 82L)
12216 : : return -1;
12217 : : x61 = XVECEXP (x4, 0, 22);
12218 : : if (XWINT (x61, 0) != 19L)
12219 : : return -1;
12220 : : x62 = XVECEXP (x4, 0, 23);
12221 : : if (XWINT (x62, 0) != 83L)
12222 : : return -1;
12223 : : x63 = XVECEXP (x4, 0, 24);
12224 : : if (XWINT (x63, 0) != 20L)
12225 : : return -1;
12226 : : x64 = XVECEXP (x4, 0, 25);
12227 : : if (XWINT (x64, 0) != 84L)
12228 : : return -1;
12229 : : x65 = XVECEXP (x4, 0, 26);
12230 : : if (XWINT (x65, 0) != 21L)
12231 : : return -1;
12232 : : x66 = XVECEXP (x4, 0, 27);
12233 : : if (XWINT (x66, 0) != 85L)
12234 : : return -1;
12235 : : x67 = XVECEXP (x4, 0, 28);
12236 : : if (XWINT (x67, 0) != 22L)
12237 : : return -1;
12238 : : x68 = XVECEXP (x4, 0, 29);
12239 : : if (XWINT (x68, 0) != 86L)
12240 : : return -1;
12241 : : x69 = XVECEXP (x4, 0, 30);
12242 : : if (XWINT (x69, 0) != 23L)
12243 : : return -1;
12244 : : x70 = XVECEXP (x4, 0, 31);
12245 : : if (XWINT (x70, 0) != 87L
12246 : : || XWINT (x5, 0) != 32L
12247 : : || XWINT (x6, 0) != 96L
12248 : : || XWINT (x7, 0) != 33L
12249 : : || XWINT (x8, 0) != 97L
12250 : : || XWINT (x9, 0) != 34L
12251 : : || XWINT (x10, 0) != 98L
12252 : : || XWINT (x11, 0) != 35L
12253 : : || XWINT (x12, 0) != 99L
12254 : : || XWINT (x13, 0) != 36L
12255 : : || XWINT (x14, 0) != 100L
12256 : : || XWINT (x15, 0) != 37L
12257 : : || XWINT (x16, 0) != 101L
12258 : : || XWINT (x17, 0) != 38L
12259 : : || XWINT (x18, 0) != 102L
12260 : : || XWINT (x19, 0) != 39L
12261 : : || XWINT (x20, 0) != 103L
12262 : : || XWINT (x21, 0) != 48L
12263 : : || XWINT (x22, 0) != 112L
12264 : : || XWINT (x23, 0) != 49L
12265 : : || XWINT (x24, 0) != 113L
12266 : : || XWINT (x25, 0) != 50L
12267 : : || XWINT (x26, 0) != 114L
12268 : : || XWINT (x27, 0) != 51L
12269 : : || XWINT (x28, 0) != 115L
12270 : : || XWINT (x29, 0) != 52L
12271 : : || XWINT (x30, 0) != 116L
12272 : : || XWINT (x31, 0) != 53L
12273 : : || XWINT (x32, 0) != 117L
12274 : : || XWINT (x33, 0) != 54L
12275 : : || XWINT (x34, 0) != 118L
12276 : : || XWINT (x35, 0) != 55L
12277 : : || XWINT (x36, 0) != 119L
12278 : : || !(
12279 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12280 : : (TARGET_AVX512F) &&
12281 : : #line 19537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12282 : : (TARGET_AVX512BW)))
12283 : : return -1;
12284 : : return 8279; /* avx512bw_interleave_lowv64qi_mask */
12285 : :
12286 : : default:
12287 : : return -1;
12288 : : }
12289 : : }
12290 : :
12291 : : int
12292 : : recog_187 (rtx x1 ATTRIBUTE_UNUSED,
12293 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12294 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12295 : : {
12296 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12297 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12298 : : int res ATTRIBUTE_UNUSED;
12299 : : x2 = XEXP (x1, 1);
12300 : : x3 = XEXP (x2, 0);
12301 : : switch (XVECLEN (x3, 0))
12302 : : {
12303 : : case 1:
12304 : : return recog_148 (x1, insn, pnum_clobbers);
12305 : :
12306 : : case 2:
12307 : : return recog_147 (x1, insn, pnum_clobbers);
12308 : :
12309 : : case 3:
12310 : : return recog_146 (x1, insn, pnum_clobbers);
12311 : :
12312 : : case 4:
12313 : : x4 = XVECEXP (x3, 0, 0);
12314 : : operands[1] = x4;
12315 : : x5 = XVECEXP (x3, 0, 1);
12316 : : operands[2] = x5;
12317 : : x6 = XVECEXP (x3, 0, 2);
12318 : : operands[3] = x6;
12319 : : x7 = XVECEXP (x3, 0, 3);
12320 : : operands[4] = x7;
12321 : : if (!const_0_to_255_operand (operands[4], E_SImode))
12322 : : return -1;
12323 : : switch (XINT (x3, 1))
12324 : : {
12325 : : case 165:
12326 : : x8 = XEXP (x2, 1);
12327 : : switch (GET_CODE (x8))
12328 : : {
12329 : : case CONST_INT:
12330 : : case CONST_DOUBLE:
12331 : : case CONST_VECTOR:
12332 : : operands[5] = x8;
12333 : : x9 = XEXP (x2, 2);
12334 : : operands[6] = x9;
12335 : : switch (GET_MODE (operands[0]))
12336 : : {
12337 : : case E_V16SImode:
12338 : : if (pattern1445 (x2,
12339 : : E_V16SImode,
12340 : : E_HImode) != 0
12341 : : || !
12342 : : #line 13673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12343 : : (TARGET_AVX512F))
12344 : : return -1;
12345 : : return 5395; /* avx512f_vternlogv16si_maskz_1 */
12346 : :
12347 : : case E_V8SImode:
12348 : : if (pattern1445 (x2,
12349 : : E_V8SImode,
12350 : : E_QImode) != 0
12351 : : || !(
12352 : : #line 13673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12353 : : (TARGET_AVX512F) &&
12354 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12355 : : (TARGET_AVX512VL)))
12356 : : return -1;
12357 : : return 5397; /* avx512vl_vternlogv8si_maskz_1 */
12358 : :
12359 : : case E_V4SImode:
12360 : : if (pattern1445 (x2,
12361 : : E_V4SImode,
12362 : : E_QImode) != 0
12363 : : || !(
12364 : : #line 13673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12365 : : (TARGET_AVX512F) &&
12366 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12367 : : (TARGET_AVX512VL)))
12368 : : return -1;
12369 : : return 5399; /* avx512vl_vternlogv4si_maskz_1 */
12370 : :
12371 : : case E_V8DImode:
12372 : : if (pattern1445 (x2,
12373 : : E_V8DImode,
12374 : : E_QImode) != 0
12375 : : || !
12376 : : #line 13673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12377 : : (TARGET_AVX512F))
12378 : : return -1;
12379 : : return 5401; /* avx512f_vternlogv8di_maskz_1 */
12380 : :
12381 : : case E_V4DImode:
12382 : : if (pattern1445 (x2,
12383 : : E_V4DImode,
12384 : : E_QImode) != 0
12385 : : || !(
12386 : : #line 13673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12387 : : (TARGET_AVX512F) &&
12388 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12389 : : (TARGET_AVX512VL)))
12390 : : return -1;
12391 : : return 5403; /* avx512vl_vternlogv4di_maskz_1 */
12392 : :
12393 : : case E_V2DImode:
12394 : : if (pattern1445 (x2,
12395 : : E_V2DImode,
12396 : : E_QImode) != 0
12397 : : || !(
12398 : : #line 13673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12399 : : (TARGET_AVX512F) &&
12400 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12401 : : (TARGET_AVX512VL)))
12402 : : return -1;
12403 : : return 5405; /* avx512vl_vternlogv2di_maskz_1 */
12404 : :
12405 : : default:
12406 : : return -1;
12407 : : }
12408 : :
12409 : : case REG:
12410 : : case SUBREG:
12411 : : if (!rtx_equal_p (x8, operands[1]))
12412 : : return -1;
12413 : : x9 = XEXP (x2, 2);
12414 : : operands[5] = x9;
12415 : : switch (GET_MODE (operands[0]))
12416 : : {
12417 : : case E_V16SImode:
12418 : : if (pattern1446 (x2,
12419 : : E_V16SImode,
12420 : : E_HImode) != 0
12421 : : || !
12422 : : #line 14043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12423 : : (TARGET_AVX512F))
12424 : : return -1;
12425 : : return 6966; /* *avx512f_vternlogv16si_mask */
12426 : :
12427 : : case E_V8SImode:
12428 : : if (pattern1446 (x2,
12429 : : E_V8SImode,
12430 : : E_QImode) != 0
12431 : : || !(
12432 : : #line 14043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12433 : : (TARGET_AVX512F) &&
12434 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12435 : : (TARGET_AVX512VL)))
12436 : : return -1;
12437 : : return 6967; /* *avx512vl_vternlogv8si_mask */
12438 : :
12439 : : case E_V4SImode:
12440 : : if (pattern1446 (x2,
12441 : : E_V4SImode,
12442 : : E_QImode) != 0
12443 : : || !(
12444 : : #line 14043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12445 : : (TARGET_AVX512F) &&
12446 : : #line 485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12447 : : (TARGET_AVX512VL)))
12448 : : return -1;
12449 : : return 6968; /* *avx512vl_vternlogv4si_mask */
12450 : :
12451 : : case E_V8DImode:
12452 : : if (pattern1446 (x2,
12453 : : E_V8DImode,
12454 : : E_QImode) != 0
12455 : : || !
12456 : : #line 14043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12457 : : (TARGET_AVX512F))
12458 : : return -1;
12459 : : return 6969; /* *avx512f_vternlogv8di_mask */
12460 : :
12461 : : case E_V4DImode:
12462 : : if (pattern1446 (x2,
12463 : : E_V4DImode,
12464 : : E_QImode) != 0
12465 : : || !(
12466 : : #line 14043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12467 : : (TARGET_AVX512F) &&
12468 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12469 : : (TARGET_AVX512VL)))
12470 : : return -1;
12471 : : return 6970; /* *avx512vl_vternlogv4di_mask */
12472 : :
12473 : : case E_V2DImode:
12474 : : if (pattern1446 (x2,
12475 : : E_V2DImode,
12476 : : E_QImode) != 0
12477 : : || !(
12478 : : #line 14043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12479 : : (TARGET_AVX512F) &&
12480 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12481 : : (TARGET_AVX512VL)))
12482 : : return -1;
12483 : : return 6971; /* *avx512vl_vternlogv2di_mask */
12484 : :
12485 : : default:
12486 : : return -1;
12487 : : }
12488 : :
12489 : : default:
12490 : : return -1;
12491 : : }
12492 : :
12493 : : case 164:
12494 : : x8 = XEXP (x2, 1);
12495 : : switch (GET_CODE (x8))
12496 : : {
12497 : : case CONST_INT:
12498 : : case CONST_DOUBLE:
12499 : : case CONST_VECTOR:
12500 : : operands[5] = x8;
12501 : : x9 = XEXP (x2, 2);
12502 : : operands[6] = x9;
12503 : : switch (GET_MODE (operands[0]))
12504 : : {
12505 : : case E_V16SFmode:
12506 : : if (pattern1447 (x2,
12507 : : E_V16SFmode,
12508 : : E_V16SImode,
12509 : : E_HImode) != 0
12510 : : || !
12511 : : #line 14168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12512 : : (TARGET_AVX512F))
12513 : : return -1;
12514 : : return 7042; /* avx512f_fixupimmv16sf_maskz_1 */
12515 : :
12516 : : case E_V8SFmode:
12517 : : if (pattern1447 (x2,
12518 : : E_V8SFmode,
12519 : : E_V8SImode,
12520 : : E_QImode) != 0
12521 : : || !(
12522 : : #line 14168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12523 : : (TARGET_AVX512F) &&
12524 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12525 : : (TARGET_AVX512VL)))
12526 : : return -1;
12527 : : return 7046; /* avx512vl_fixupimmv8sf_maskz_1 */
12528 : :
12529 : : case E_V4SFmode:
12530 : : if (pattern1447 (x2,
12531 : : E_V4SFmode,
12532 : : E_V4SImode,
12533 : : E_QImode) != 0
12534 : : || !(
12535 : : #line 14168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12536 : : (TARGET_AVX512F) &&
12537 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12538 : : (TARGET_AVX512VL)))
12539 : : return -1;
12540 : : return 7050; /* avx512vl_fixupimmv4sf_maskz_1 */
12541 : :
12542 : : case E_V8DFmode:
12543 : : if (pattern1447 (x2,
12544 : : E_V8DFmode,
12545 : : E_V8DImode,
12546 : : E_QImode) != 0
12547 : : || !
12548 : : #line 14168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12549 : : (TARGET_AVX512F))
12550 : : return -1;
12551 : : return 7054; /* avx512f_fixupimmv8df_maskz_1 */
12552 : :
12553 : : case E_V4DFmode:
12554 : : if (pattern1447 (x2,
12555 : : E_V4DFmode,
12556 : : E_V4DImode,
12557 : : E_QImode) != 0
12558 : : || !(
12559 : : #line 14168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12560 : : (TARGET_AVX512F) &&
12561 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12562 : : (TARGET_AVX512VL)))
12563 : : return -1;
12564 : : return 7058; /* avx512vl_fixupimmv4df_maskz_1 */
12565 : :
12566 : : case E_V2DFmode:
12567 : : if (pattern1447 (x2,
12568 : : E_V2DFmode,
12569 : : E_V2DImode,
12570 : : E_QImode) != 0
12571 : : || !(
12572 : : #line 14168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12573 : : (TARGET_AVX512F) &&
12574 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12575 : : (TARGET_AVX512VL)))
12576 : : return -1;
12577 : : return 7062; /* avx512vl_fixupimmv2df_maskz_1 */
12578 : :
12579 : : default:
12580 : : return -1;
12581 : : }
12582 : :
12583 : : case REG:
12584 : : case SUBREG:
12585 : : x9 = XEXP (x2, 2);
12586 : : switch (GET_CODE (x9))
12587 : : {
12588 : : case REG:
12589 : : case SUBREG:
12590 : : operands[5] = x9;
12591 : : if (!rtx_equal_p (x8, operands[1]))
12592 : : return -1;
12593 : : switch (GET_MODE (operands[0]))
12594 : : {
12595 : : case E_V16SFmode:
12596 : : if (pattern1502 (x2,
12597 : : E_V16SImode,
12598 : : E_V16SFmode,
12599 : : E_HImode) != 0
12600 : : || !
12601 : : #line 14184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12602 : : (TARGET_AVX512F))
12603 : : return -1;
12604 : : return 7064; /* avx512f_fixupimmv16sf_mask */
12605 : :
12606 : : case E_V8SFmode:
12607 : : if (pattern1502 (x2,
12608 : : E_V8SImode,
12609 : : E_V8SFmode,
12610 : : E_QImode) != 0
12611 : : || !(
12612 : : #line 14184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12613 : : (TARGET_AVX512F) &&
12614 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12615 : : (TARGET_AVX512VL)))
12616 : : return -1;
12617 : : return 7066; /* avx512vl_fixupimmv8sf_mask */
12618 : :
12619 : : case E_V4SFmode:
12620 : : if (pattern1502 (x2,
12621 : : E_V4SImode,
12622 : : E_V4SFmode,
12623 : : E_QImode) != 0
12624 : : || !(
12625 : : #line 14184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12626 : : (TARGET_AVX512F) &&
12627 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12628 : : (TARGET_AVX512VL)))
12629 : : return -1;
12630 : : return 7068; /* avx512vl_fixupimmv4sf_mask */
12631 : :
12632 : : case E_V8DFmode:
12633 : : if (pattern1502 (x2,
12634 : : E_V8DImode,
12635 : : E_V8DFmode,
12636 : : E_QImode) != 0
12637 : : || !
12638 : : #line 14184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12639 : : (TARGET_AVX512F))
12640 : : return -1;
12641 : : return 7070; /* avx512f_fixupimmv8df_mask */
12642 : :
12643 : : case E_V4DFmode:
12644 : : if (pattern1502 (x2,
12645 : : E_V4DImode,
12646 : : E_V4DFmode,
12647 : : E_QImode) != 0
12648 : : || !(
12649 : : #line 14184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12650 : : (TARGET_AVX512F) &&
12651 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12652 : : (TARGET_AVX512VL)))
12653 : : return -1;
12654 : : return 7072; /* avx512vl_fixupimmv4df_mask */
12655 : :
12656 : : case E_V2DFmode:
12657 : : if (pattern1502 (x2,
12658 : : E_V2DImode,
12659 : : E_V2DFmode,
12660 : : E_QImode) != 0
12661 : : || !(
12662 : : #line 14184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12663 : : (TARGET_AVX512F) &&
12664 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12665 : : (TARGET_AVX512VL)))
12666 : : return -1;
12667 : : return 7074; /* avx512vl_fixupimmv2df_mask */
12668 : :
12669 : : default:
12670 : : return -1;
12671 : : }
12672 : :
12673 : : case CONST_INT:
12674 : : if (XWINT (x9, 0) != 1L
12675 : : || !rtx_equal_p (x8, operands[2]))
12676 : : return -1;
12677 : : switch (GET_MODE (operands[0]))
12678 : : {
12679 : : case E_V4SFmode:
12680 : : if (pattern1503 (x2,
12681 : : E_V4SImode,
12682 : : E_V4SFmode) != 0
12683 : : || !
12684 : : #line 14216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12685 : : (TARGET_AVX512F))
12686 : : return -1;
12687 : : return 7076; /* avx512f_sfixupimmv4sf */
12688 : :
12689 : : case E_V2DFmode:
12690 : : if (pattern1503 (x2,
12691 : : E_V2DImode,
12692 : : E_V2DFmode) != 0
12693 : : || !(
12694 : : #line 14216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12695 : : (TARGET_AVX512F) &&
12696 : : #line 462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12697 : : (TARGET_SSE2)))
12698 : : return -1;
12699 : : return 7080; /* avx512f_sfixupimmv2df */
12700 : :
12701 : : default:
12702 : : return -1;
12703 : : }
12704 : :
12705 : : default:
12706 : : return -1;
12707 : : }
12708 : :
12709 : : default:
12710 : : return -1;
12711 : : }
12712 : :
12713 : : default:
12714 : : return -1;
12715 : : }
12716 : :
12717 : : default:
12718 : : return -1;
12719 : : }
12720 : : }
12721 : :
12722 : : int
12723 : : recog_191 (rtx x1 ATTRIBUTE_UNUSED,
12724 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12725 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12726 : : {
12727 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12728 : : rtx x2;
12729 : : int res ATTRIBUTE_UNUSED;
12730 : : x2 = XEXP (x1, 1);
12731 : : switch (pattern141 (x2))
12732 : : {
12733 : : case 0:
12734 : : if (nonimmediate_operand (operands[1], E_V16HImode)
12735 : : && nonmemory_operand (operands[2], E_DImode)
12736 : : && (
12737 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12738 : : (TARGET_AVX512F) && (
12739 : : #line 17312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12740 : : (TARGET_AVX512VL) &&
12741 : : #line 764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12742 : : (TARGET_AVX512BW))))
12743 : : return 7597; /* ashlv16hi3_mask */
12744 : : if (!register_operand (operands[1], E_V16HImode)
12745 : : || !nonimmediate_operand (operands[2], E_V16HImode)
12746 : : || !(
12747 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12748 : : (TARGET_AVX512F) && (
12749 : : #line 29056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12750 : : (TARGET_AVX512BW) &&
12751 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12752 : : (TARGET_AVX512VL))))
12753 : : return -1;
12754 : : return 9552; /* avx512vl_ashlvv16hi_mask */
12755 : :
12756 : : case 1:
12757 : : if (nonimmediate_operand (operands[1], E_V8HImode)
12758 : : && nonmemory_operand (operands[2], E_DImode)
12759 : : && (
12760 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12761 : : (TARGET_AVX512F) && (
12762 : : #line 17312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12763 : : (TARGET_AVX512VL) &&
12764 : : #line 764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12765 : : (TARGET_AVX512BW))))
12766 : : return 7601; /* ashlv8hi3_mask */
12767 : : if (!register_operand (operands[1], E_V8HImode)
12768 : : || !nonimmediate_operand (operands[2], E_V8HImode)
12769 : : || !(
12770 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12771 : : (TARGET_AVX512F) && (
12772 : : #line 29056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12773 : : (TARGET_AVX512BW) &&
12774 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12775 : : (TARGET_AVX512VL))))
12776 : : return -1;
12777 : : return 9548; /* avx512vl_ashlvv8hi_mask */
12778 : :
12779 : : case 2:
12780 : : if (nonimmediate_operand (operands[1], E_V8SImode)
12781 : : && nonmemory_operand (operands[2], E_DImode)
12782 : : && (
12783 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12784 : : (TARGET_AVX512F) &&
12785 : : #line 17312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12786 : : (TARGET_AVX512VL)))
12787 : : return 7605; /* ashlv8si3_mask */
12788 : : if (!register_operand (operands[1], E_V8SImode)
12789 : : || !nonimmediate_operand (operands[2], E_V8SImode)
12790 : : || !(
12791 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12792 : : (TARGET_AVX512F) &&
12793 : : #line 29045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12794 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12795 : : return -1;
12796 : : return 9528; /* avx2_ashlvv8si_mask */
12797 : :
12798 : : case 3:
12799 : : if (nonimmediate_operand (operands[1], E_V4SImode)
12800 : : && nonmemory_operand (operands[2], E_DImode)
12801 : : && (
12802 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12803 : : (TARGET_AVX512F) &&
12804 : : #line 17312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12805 : : (TARGET_AVX512VL)))
12806 : : return 7609; /* ashlv4si3_mask */
12807 : : if (!register_operand (operands[1], E_V4SImode)
12808 : : || !nonimmediate_operand (operands[2], E_V4SImode)
12809 : : || !(
12810 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12811 : : (TARGET_AVX512F) &&
12812 : : #line 29045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12813 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12814 : : return -1;
12815 : : return 9532; /* avx2_ashlvv4si_mask */
12816 : :
12817 : : case 4:
12818 : : if (nonimmediate_operand (operands[1], E_V4DImode)
12819 : : && nonmemory_operand (operands[2], E_DImode)
12820 : : && (
12821 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12822 : : (TARGET_AVX512F) &&
12823 : : #line 17312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12824 : : (TARGET_AVX512VL)))
12825 : : return 7613; /* ashlv4di3_mask */
12826 : : if (!register_operand (operands[1], E_V4DImode)
12827 : : || !nonimmediate_operand (operands[2], E_V4DImode)
12828 : : || !(
12829 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12830 : : (TARGET_AVX512F) &&
12831 : : #line 29045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12832 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12833 : : return -1;
12834 : : return 9540; /* avx2_ashlvv4di_mask */
12835 : :
12836 : : case 5:
12837 : : if (nonimmediate_operand (operands[1], E_V2DImode)
12838 : : && nonmemory_operand (operands[2], E_DImode)
12839 : : && (
12840 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12841 : : (TARGET_AVX512F) &&
12842 : : #line 17312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12843 : : (TARGET_AVX512VL)))
12844 : : return 7617; /* ashlv2di3_mask */
12845 : : if (!register_operand (operands[1], E_V2DImode)
12846 : : || !nonimmediate_operand (operands[2], E_V2DImode)
12847 : : || !(
12848 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12849 : : (TARGET_AVX512F) &&
12850 : : #line 29045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12851 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12852 : : return -1;
12853 : : return 9544; /* avx2_ashlvv2di_mask */
12854 : :
12855 : : case 6:
12856 : : if (nonimmediate_operand (operands[1], E_V32HImode)
12857 : : && nonmemory_operand (operands[2], E_DImode)
12858 : : && (
12859 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12860 : : (TARGET_AVX512F) && (
12861 : : #line 17400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12862 : : (TARGET_AVX512F) &&
12863 : : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12864 : : (TARGET_AVX512BW))))
12865 : : return 7637; /* ashlv32hi3_mask */
12866 : : if (!register_operand (operands[1], E_V32HImode)
12867 : : || !nonimmediate_operand (operands[2], E_V32HImode)
12868 : : || !(
12869 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12870 : : (TARGET_AVX512F) &&
12871 : : #line 29056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12872 : : (TARGET_AVX512BW)))
12873 : : return -1;
12874 : : return 9556; /* avx512bw_ashlvv32hi_mask */
12875 : :
12876 : : case 7:
12877 : : if (nonimmediate_operand (operands[1], E_V16SImode)
12878 : : && nonmemory_operand (operands[2], E_DImode)
12879 : : &&
12880 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12881 : : (TARGET_AVX512F))
12882 : : return 7641; /* ashlv16si3_mask */
12883 : : if (!register_operand (operands[1], E_V16SImode)
12884 : : || !nonimmediate_operand (operands[2], E_V16SImode)
12885 : : || !(
12886 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12887 : : (TARGET_AVX512F) && (
12888 : : #line 29045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12889 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12890 : : #line 769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12891 : : (TARGET_AVX512F))))
12892 : : return -1;
12893 : : return 9524; /* avx512f_ashlvv16si_mask */
12894 : :
12895 : : case 8:
12896 : : if (nonimmediate_operand (operands[1], E_V8DImode)
12897 : : && nonmemory_operand (operands[2], E_DImode)
12898 : : &&
12899 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12900 : : (TARGET_AVX512F))
12901 : : return 7645; /* ashlv8di3_mask */
12902 : : if (!register_operand (operands[1], E_V8DImode)
12903 : : || !nonimmediate_operand (operands[2], E_V8DImode)
12904 : : || !(
12905 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12906 : : (TARGET_AVX512F) && (
12907 : : #line 29045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12908 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12909 : : #line 770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12910 : : (TARGET_AVX512F))))
12911 : : return -1;
12912 : : return 9536; /* avx512f_ashlvv8di_mask */
12913 : :
12914 : : default:
12915 : : return -1;
12916 : : }
12917 : : }
12918 : :
12919 : : int
12920 : : recog_198 (rtx x1 ATTRIBUTE_UNUSED,
12921 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12922 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12923 : : {
12924 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12925 : : rtx x2, x3, x4, x5, x6, x7;
12926 : : int res ATTRIBUTE_UNUSED;
12927 : : x2 = XEXP (x1, 1);
12928 : : x3 = XEXP (x2, 0);
12929 : : x4 = XEXP (x3, 0);
12930 : : operands[1] = x4;
12931 : : x5 = XEXP (x3, 1);
12932 : : operands[2] = x5;
12933 : : x6 = XEXP (x2, 1);
12934 : : operands[3] = x6;
12935 : : x7 = XEXP (x2, 2);
12936 : : operands[4] = x7;
12937 : : switch (GET_CODE (operands[2]))
12938 : : {
12939 : : case REG:
12940 : : case SUBREG:
12941 : : case MEM:
12942 : : case VEC_DUPLICATE:
12943 : : switch (GET_MODE (operands[0]))
12944 : : {
12945 : : case E_V8SFmode:
12946 : : if (pattern126 (x2,
12947 : : E_V8SFmode,
12948 : : E_QImode) != 0
12949 : : || !(
12950 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12951 : : (TARGET_AVX512F) && (
12952 : : #line 5414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12953 : : (TARGET_SSE && TARGET_AVX512VL
12954 : : && (!true || 32 != 16)
12955 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
12956 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12957 : : (TARGET_AVX))))
12958 : : return -1;
12959 : : return 3716; /* *xorv8sf3_mask */
12960 : :
12961 : : case E_V4SFmode:
12962 : : if (pattern126 (x2,
12963 : : E_V4SFmode,
12964 : : E_QImode) != 0
12965 : : || !(
12966 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12967 : : (TARGET_AVX512F) &&
12968 : : #line 5414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12969 : : (TARGET_SSE && TARGET_AVX512VL
12970 : : && (!true || 32 != 16)
12971 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12972 : : return -1;
12973 : : return 3722; /* *xorv4sf3_mask */
12974 : :
12975 : : case E_V4DFmode:
12976 : : if (pattern126 (x2,
12977 : : E_V4DFmode,
12978 : : E_QImode) != 0
12979 : : || !(
12980 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12981 : : (TARGET_AVX512F) && (
12982 : : #line 5414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12983 : : (TARGET_SSE && TARGET_AVX512VL
12984 : : && (!true || 64 != 16)
12985 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
12986 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12987 : : (TARGET_AVX))))
12988 : : return -1;
12989 : : return 3728; /* *xorv4df3_mask */
12990 : :
12991 : : case E_V2DFmode:
12992 : : if (pattern126 (x2,
12993 : : E_V2DFmode,
12994 : : E_QImode) != 0
12995 : : || !(
12996 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12997 : : (TARGET_AVX512F) && (
12998 : : #line 5414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12999 : : (TARGET_SSE && TARGET_AVX512VL
13000 : : && (!true || 64 != 16)
13001 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13002 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13003 : : (TARGET_SSE2))))
13004 : : return -1;
13005 : : return 3734; /* *xorv2df3_mask */
13006 : :
13007 : : case E_V16SFmode:
13008 : : if (pattern127 (x2,
13009 : : E_V16SFmode,
13010 : : E_HImode) != 0
13011 : : || !(
13012 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13013 : : (TARGET_AVX512F) &&
13014 : : #line 5484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13015 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13016 : : && (!true || 32 != 16))))
13017 : : return -1;
13018 : : return 3746; /* *xorv16sf3_mask */
13019 : :
13020 : : case E_V8DFmode:
13021 : : if (pattern127 (x2,
13022 : : E_V8DFmode,
13023 : : E_QImode) != 0
13024 : : || !(
13025 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13026 : : (TARGET_AVX512F) &&
13027 : : #line 5484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13028 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13029 : : && (!true || 64 != 16))))
13030 : : return -1;
13031 : : return 3752; /* *xorv8df3_mask */
13032 : :
13033 : : case E_V16SImode:
13034 : : if (pattern478 (x2,
13035 : : E_V16SImode,
13036 : : E_HImode) != 0
13037 : : || !(
13038 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13039 : : (TARGET_AVX512F) && (
13040 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13041 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
13042 : : && ix86_binary_operator_ok (XOR, V16SImode, operands)) &&
13043 : : #line 773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13044 : : (TARGET_AVX512F))))
13045 : : return -1;
13046 : : return 7962; /* *xorv16si3_mask */
13047 : :
13048 : : case E_V8SImode:
13049 : : if (pattern478 (x2,
13050 : : E_V8SImode,
13051 : : E_QImode) != 0
13052 : : || !(
13053 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13054 : : (TARGET_AVX512F) && (
13055 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13056 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
13057 : : && ix86_binary_operator_ok (XOR, V8SImode, operands)) &&
13058 : : #line 773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13059 : : (TARGET_AVX))))
13060 : : return -1;
13061 : : return 7968; /* *xorv8si3_mask */
13062 : :
13063 : : case E_V4SImode:
13064 : : if (pattern478 (x2,
13065 : : E_V4SImode,
13066 : : E_QImode) != 0
13067 : : || !(
13068 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13069 : : (TARGET_AVX512F) &&
13070 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13071 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
13072 : : && ix86_binary_operator_ok (XOR, V4SImode, operands))))
13073 : : return -1;
13074 : : return 7974; /* *xorv4si3_mask */
13075 : :
13076 : : case E_V8DImode:
13077 : : if (pattern478 (x2,
13078 : : E_V8DImode,
13079 : : E_QImode) != 0
13080 : : || !(
13081 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13082 : : (TARGET_AVX512F) && (
13083 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13084 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
13085 : : && ix86_binary_operator_ok (XOR, V8DImode, operands)) &&
13086 : : #line 774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13087 : : (TARGET_AVX512F))))
13088 : : return -1;
13089 : : return 7980; /* *xorv8di3_mask */
13090 : :
13091 : : case E_V4DImode:
13092 : : if (pattern478 (x2,
13093 : : E_V4DImode,
13094 : : E_QImode) != 0
13095 : : || !(
13096 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13097 : : (TARGET_AVX512F) && (
13098 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13099 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
13100 : : && ix86_binary_operator_ok (XOR, V4DImode, operands)) &&
13101 : : #line 774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13102 : : (TARGET_AVX))))
13103 : : return -1;
13104 : : return 7986; /* *xorv4di3_mask */
13105 : :
13106 : : case E_V2DImode:
13107 : : if (pattern478 (x2,
13108 : : E_V2DImode,
13109 : : E_QImode) != 0
13110 : : || !(
13111 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13112 : : (TARGET_AVX512F) &&
13113 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13114 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
13115 : : && ix86_binary_operator_ok (XOR, V2DImode, operands))))
13116 : : return -1;
13117 : : return 7992; /* *xorv2di3_mask */
13118 : :
13119 : : default:
13120 : : return -1;
13121 : : }
13122 : :
13123 : : case CONST_VECTOR:
13124 : : switch (GET_MODE (operands[0]))
13125 : : {
13126 : : case E_V16SImode:
13127 : : if (pattern1001 (x2,
13128 : : E_V16SImode,
13129 : : E_HImode) != 0
13130 : : || !(
13131 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13132 : : (TARGET_AVX512F) && (
13133 : : #line 18377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13134 : : (TARGET_AVX512F
13135 : : && (!true
13136 : : || SImode == SImode
13137 : : || SImode == DImode)) &&
13138 : : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13139 : : (TARGET_AVX512F))))
13140 : : return -1;
13141 : : return 7910; /* one_cmplv16si2_mask */
13142 : :
13143 : : case E_V8DImode:
13144 : : if (pattern1001 (x2,
13145 : : E_V8DImode,
13146 : : E_QImode) != 0
13147 : : || !(
13148 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13149 : : (TARGET_AVX512F) && (
13150 : : #line 18377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13151 : : (TARGET_AVX512F
13152 : : && (!true
13153 : : || DImode == SImode
13154 : : || DImode == DImode)) &&
13155 : : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13156 : : (TARGET_AVX512F))))
13157 : : return -1;
13158 : : return 7912; /* one_cmplv8di2_mask */
13159 : :
13160 : : case E_V8SImode:
13161 : : if (pattern1001 (x2,
13162 : : E_V8SImode,
13163 : : E_QImode) != 0
13164 : : || !(
13165 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13166 : : (TARGET_AVX512F) && (
13167 : : #line 18377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13168 : : (TARGET_AVX512F
13169 : : && (!true
13170 : : || SImode == SImode
13171 : : || SImode == DImode)) &&
13172 : : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13173 : : (TARGET_AVX))))
13174 : : return -1;
13175 : : return 7920; /* one_cmplv8si2_mask */
13176 : :
13177 : : case E_V4SImode:
13178 : : if (pattern1001 (x2,
13179 : : E_V4SImode,
13180 : : E_QImode) != 0
13181 : : || !(
13182 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13183 : : (TARGET_AVX512F) &&
13184 : : #line 18377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13185 : : (TARGET_AVX512F
13186 : : && (!true
13187 : : || SImode == SImode
13188 : : || SImode == DImode))))
13189 : : return -1;
13190 : : return 7922; /* one_cmplv4si2_mask */
13191 : :
13192 : : case E_V4DImode:
13193 : : if (pattern1001 (x2,
13194 : : E_V4DImode,
13195 : : E_QImode) != 0
13196 : : || !(
13197 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13198 : : (TARGET_AVX512F) && (
13199 : : #line 18377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13200 : : (TARGET_AVX512F
13201 : : && (!true
13202 : : || DImode == SImode
13203 : : || DImode == DImode)) &&
13204 : : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13205 : : (TARGET_AVX))))
13206 : : return -1;
13207 : : return 7924; /* one_cmplv4di2_mask */
13208 : :
13209 : : case E_V2DImode:
13210 : : if (pattern1001 (x2,
13211 : : E_V2DImode,
13212 : : E_QImode) != 0
13213 : : || !(
13214 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13215 : : (TARGET_AVX512F) &&
13216 : : #line 18377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13217 : : (TARGET_AVX512F
13218 : : && (!true
13219 : : || DImode == SImode
13220 : : || DImode == DImode))))
13221 : : return -1;
13222 : : return 7926; /* one_cmplv2di2_mask */
13223 : :
13224 : : default:
13225 : : return -1;
13226 : : }
13227 : :
13228 : : default:
13229 : : return -1;
13230 : : }
13231 : : }
13232 : :
13233 : : int
13234 : : recog_208 (rtx x1 ATTRIBUTE_UNUSED,
13235 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13236 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13237 : : {
13238 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13239 : : rtx x2, x3, x4, x5, x6, x7;
13240 : : int res ATTRIBUTE_UNUSED;
13241 : : x2 = XEXP (x1, 1);
13242 : : x3 = XEXP (x2, 0);
13243 : : x4 = XEXP (x3, 0);
13244 : : operands[1] = x4;
13245 : : x5 = XEXP (x3, 1);
13246 : : operands[2] = x5;
13247 : : x6 = XEXP (x2, 1);
13248 : : operands[3] = x6;
13249 : : x7 = XEXP (x2, 2);
13250 : : operands[4] = x7;
13251 : : switch (GET_MODE (operands[0]))
13252 : : {
13253 : : case E_V8SFmode:
13254 : : if (pattern126 (x2,
13255 : : E_V8SFmode,
13256 : : E_QImode) != 0
13257 : : || !(
13258 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13259 : : (TARGET_AVX512F) && (
13260 : : #line 5414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13261 : : (TARGET_SSE && TARGET_AVX512VL
13262 : : && (!true || 32 != 16)
13263 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13264 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13265 : : (TARGET_AVX))))
13266 : : return -1;
13267 : : return 3714; /* *iorv8sf3_mask */
13268 : :
13269 : : case E_V4SFmode:
13270 : : if (pattern126 (x2,
13271 : : E_V4SFmode,
13272 : : E_QImode) != 0
13273 : : || !(
13274 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13275 : : (TARGET_AVX512F) &&
13276 : : #line 5414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13277 : : (TARGET_SSE && TARGET_AVX512VL
13278 : : && (!true || 32 != 16)
13279 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13280 : : return -1;
13281 : : return 3720; /* *iorv4sf3_mask */
13282 : :
13283 : : case E_V4DFmode:
13284 : : if (pattern126 (x2,
13285 : : E_V4DFmode,
13286 : : E_QImode) != 0
13287 : : || !(
13288 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13289 : : (TARGET_AVX512F) && (
13290 : : #line 5414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13291 : : (TARGET_SSE && TARGET_AVX512VL
13292 : : && (!true || 64 != 16)
13293 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13294 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13295 : : (TARGET_AVX))))
13296 : : return -1;
13297 : : return 3726; /* *iorv4df3_mask */
13298 : :
13299 : : case E_V2DFmode:
13300 : : if (pattern126 (x2,
13301 : : E_V2DFmode,
13302 : : E_QImode) != 0
13303 : : || !(
13304 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13305 : : (TARGET_AVX512F) && (
13306 : : #line 5414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13307 : : (TARGET_SSE && TARGET_AVX512VL
13308 : : && (!true || 64 != 16)
13309 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13310 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13311 : : (TARGET_SSE2))))
13312 : : return -1;
13313 : : return 3732; /* *iorv2df3_mask */
13314 : :
13315 : : case E_V16SFmode:
13316 : : if (pattern127 (x2,
13317 : : E_V16SFmode,
13318 : : E_HImode) != 0
13319 : : || !(
13320 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13321 : : (TARGET_AVX512F) &&
13322 : : #line 5484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13323 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13324 : : && (!true || 32 != 16))))
13325 : : return -1;
13326 : : return 3744; /* *iorv16sf3_mask */
13327 : :
13328 : : case E_V8DFmode:
13329 : : if (pattern127 (x2,
13330 : : E_V8DFmode,
13331 : : E_QImode) != 0
13332 : : || !(
13333 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13334 : : (TARGET_AVX512F) &&
13335 : : #line 5484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13336 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13337 : : && (!true || 64 != 16))))
13338 : : return -1;
13339 : : return 3750; /* *iorv8df3_mask */
13340 : :
13341 : : case E_V16SImode:
13342 : : if (pattern478 (x2,
13343 : : E_V16SImode,
13344 : : E_HImode) != 0
13345 : : || !(
13346 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13347 : : (TARGET_AVX512F) && (
13348 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13349 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
13350 : : && ix86_binary_operator_ok (IOR, V16SImode, operands)) &&
13351 : : #line 773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13352 : : (TARGET_AVX512F))))
13353 : : return -1;
13354 : : return 7960; /* *iorv16si3_mask */
13355 : :
13356 : : case E_V8SImode:
13357 : : if (pattern478 (x2,
13358 : : E_V8SImode,
13359 : : E_QImode) != 0
13360 : : || !(
13361 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13362 : : (TARGET_AVX512F) && (
13363 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13364 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
13365 : : && ix86_binary_operator_ok (IOR, V8SImode, operands)) &&
13366 : : #line 773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13367 : : (TARGET_AVX))))
13368 : : return -1;
13369 : : return 7966; /* *iorv8si3_mask */
13370 : :
13371 : : case E_V4SImode:
13372 : : if (pattern478 (x2,
13373 : : E_V4SImode,
13374 : : E_QImode) != 0
13375 : : || !(
13376 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13377 : : (TARGET_AVX512F) &&
13378 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13379 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
13380 : : && ix86_binary_operator_ok (IOR, V4SImode, operands))))
13381 : : return -1;
13382 : : return 7972; /* *iorv4si3_mask */
13383 : :
13384 : : case E_V8DImode:
13385 : : if (pattern478 (x2,
13386 : : E_V8DImode,
13387 : : E_QImode) != 0
13388 : : || !(
13389 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13390 : : (TARGET_AVX512F) && (
13391 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13392 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
13393 : : && ix86_binary_operator_ok (IOR, V8DImode, operands)) &&
13394 : : #line 774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13395 : : (TARGET_AVX512F))))
13396 : : return -1;
13397 : : return 7978; /* *iorv8di3_mask */
13398 : :
13399 : : case E_V4DImode:
13400 : : if (pattern478 (x2,
13401 : : E_V4DImode,
13402 : : E_QImode) != 0
13403 : : || !(
13404 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13405 : : (TARGET_AVX512F) && (
13406 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13407 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
13408 : : && ix86_binary_operator_ok (IOR, V4DImode, operands)) &&
13409 : : #line 774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13410 : : (TARGET_AVX))))
13411 : : return -1;
13412 : : return 7984; /* *iorv4di3_mask */
13413 : :
13414 : : case E_V2DImode:
13415 : : if (pattern478 (x2,
13416 : : E_V2DImode,
13417 : : E_QImode) != 0
13418 : : || !(
13419 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13420 : : (TARGET_AVX512F) &&
13421 : : #line 18748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13422 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
13423 : : && ix86_binary_operator_ok (IOR, V2DImode, operands))))
13424 : : return -1;
13425 : : return 7990; /* *iorv2di3_mask */
13426 : :
13427 : : default:
13428 : : return -1;
13429 : : }
13430 : : }
13431 : :
13432 : : int
13433 : : recog_215 (rtx x1 ATTRIBUTE_UNUSED,
13434 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13435 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13436 : : {
13437 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13438 : : rtx x2, x3;
13439 : : int res ATTRIBUTE_UNUSED;
13440 : : x2 = XEXP (x1, 1);
13441 : : x3 = XVECEXP (x2, 0, 0);
13442 : : operands[1] = x3;
13443 : : switch (GET_MODE (operands[0]))
13444 : : {
13445 : : case E_V16SFmode:
13446 : : if (!memory_operand (operands[0], E_V16SFmode)
13447 : : || GET_MODE (x2) != E_V16SFmode
13448 : : || !register_operand (operands[1], E_V16SFmode)
13449 : : || !(
13450 : : #line 2014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13451 : : (TARGET_SSE) &&
13452 : : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13453 : : (TARGET_AVX512F)))
13454 : : return -1;
13455 : : return 2580; /* avx512f_movntv16sf */
13456 : :
13457 : : case E_V8SFmode:
13458 : : if (!memory_operand (operands[0], E_V8SFmode)
13459 : : || GET_MODE (x2) != E_V8SFmode
13460 : : || !register_operand (operands[1], E_V8SFmode)
13461 : : || !(
13462 : : #line 2014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13463 : : (TARGET_SSE) &&
13464 : : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13465 : : (TARGET_AVX)))
13466 : : return -1;
13467 : : return 2581; /* avx_movntv8sf */
13468 : :
13469 : : case E_V4SFmode:
13470 : : if (!memory_operand (operands[0], E_V4SFmode)
13471 : : || GET_MODE (x2) != E_V4SFmode
13472 : : || !register_operand (operands[1], E_V4SFmode)
13473 : : || !
13474 : : #line 2014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13475 : : (TARGET_SSE))
13476 : : return -1;
13477 : : return 2582; /* sse_movntv4sf */
13478 : :
13479 : : case E_V8DFmode:
13480 : : if (!memory_operand (operands[0], E_V8DFmode)
13481 : : || GET_MODE (x2) != E_V8DFmode
13482 : : || !register_operand (operands[1], E_V8DFmode)
13483 : : || !(
13484 : : #line 2014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13485 : : (TARGET_SSE) &&
13486 : : #line 372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13487 : : (TARGET_AVX512F)))
13488 : : return -1;
13489 : : return 2583; /* avx512f_movntv8df */
13490 : :
13491 : : case E_V4DFmode:
13492 : : if (!memory_operand (operands[0], E_V4DFmode)
13493 : : || GET_MODE (x2) != E_V4DFmode
13494 : : || !register_operand (operands[1], E_V4DFmode)
13495 : : || !(
13496 : : #line 2014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13497 : : (TARGET_SSE) &&
13498 : : #line 372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13499 : : (TARGET_AVX)))
13500 : : return -1;
13501 : : return 2584; /* avx_movntv4df */
13502 : :
13503 : : case E_V2DFmode:
13504 : : if (!memory_operand (operands[0], E_V2DFmode)
13505 : : || GET_MODE (x2) != E_V2DFmode
13506 : : || !register_operand (operands[1], E_V2DFmode)
13507 : : || !(
13508 : : #line 2014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13509 : : (TARGET_SSE) &&
13510 : : #line 373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13511 : : (TARGET_SSE2)))
13512 : : return -1;
13513 : : return 2585; /* sse2_movntv2df */
13514 : :
13515 : : case E_V8DImode:
13516 : : if (!memory_operand (operands[0], E_V8DImode)
13517 : : || GET_MODE (x2) != E_V8DImode
13518 : : || !register_operand (operands[1], E_V8DImode)
13519 : : || !(
13520 : : #line 2024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13521 : : (TARGET_SSE2) &&
13522 : : #line 588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13523 : : (TARGET_AVX512F)))
13524 : : return -1;
13525 : : return 2586; /* avx512f_movntv8di */
13526 : :
13527 : : case E_V4DImode:
13528 : : if (!memory_operand (operands[0], E_V4DImode)
13529 : : || GET_MODE (x2) != E_V4DImode
13530 : : || !register_operand (operands[1], E_V4DImode)
13531 : : || !(
13532 : : #line 2024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13533 : : (TARGET_SSE2) &&
13534 : : #line 588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13535 : : (TARGET_AVX)))
13536 : : return -1;
13537 : : return 2587; /* avx_movntv4di */
13538 : :
13539 : : case E_V2DImode:
13540 : : if (!memory_operand (operands[0], E_V2DImode)
13541 : : || GET_MODE (x2) != E_V2DImode
13542 : : || !register_operand (operands[1], E_V2DImode)
13543 : : || !
13544 : : #line 2024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13545 : : (TARGET_SSE2))
13546 : : return -1;
13547 : : return 2588; /* sse2_movntv2di */
13548 : :
13549 : : default:
13550 : : return -1;
13551 : : }
13552 : : }
13553 : :
13554 : : int
13555 : : recog_223 (rtx x1 ATTRIBUTE_UNUSED,
13556 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13557 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13558 : : {
13559 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13560 : : rtx x2, x3, x4, x5, x6, x7, x8;
13561 : : int res ATTRIBUTE_UNUSED;
13562 : : x2 = XEXP (x1, 1);
13563 : : x3 = XVECEXP (x2, 0, 0);
13564 : : x4 = XEXP (x3, 0);
13565 : : x5 = XVECEXP (x4, 0, 0);
13566 : : operands[1] = x5;
13567 : : x6 = XEXP (x3, 1);
13568 : : operands[2] = x6;
13569 : : x7 = XEXP (x3, 2);
13570 : : operands[3] = x7;
13571 : : x8 = XVECEXP (x2, 0, 1);
13572 : : operands[4] = x8;
13573 : : switch (XINT (x4, 1))
13574 : : {
13575 : : case 157:
13576 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
13577 : : return -1;
13578 : : switch (GET_MODE (operands[0]))
13579 : : {
13580 : : case E_V32HImode:
13581 : : if (pattern1286 (x2,
13582 : : E_SImode,
13583 : : E_V32HImode,
13584 : : E_V32HFmode) != 0
13585 : : || !(
13586 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13587 : : (TARGET_AVX512F) && (
13588 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13589 : : (TARGET_AVX512F) &&
13590 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13591 : : (TARGET_AVX512FP16))))
13592 : : return -1;
13593 : : return 4365; /* avx512fp16_vcvtph2uw_v32hi_mask_round */
13594 : :
13595 : : case E_V16SImode:
13596 : : if (pattern1296 (x2,
13597 : : E_V16SImode,
13598 : : E_HImode) != 0)
13599 : : return -1;
13600 : : switch (GET_MODE (operands[1]))
13601 : : {
13602 : : case E_V16HFmode:
13603 : : if (!register_operand (operands[1], E_V16HFmode)
13604 : : || !(
13605 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13606 : : (TARGET_AVX512F) && (
13607 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13608 : : (TARGET_AVX512F) &&
13609 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13610 : : (TARGET_AVX512FP16))))
13611 : : return -1;
13612 : : return 4373; /* avx512fp16_vcvtph2udq_v16si_mask_round */
13613 : :
13614 : : case E_V16SFmode:
13615 : : if (!nonimmediate_operand (operands[1], E_V16SFmode)
13616 : : || !
13617 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13618 : : (TARGET_AVX512F))
13619 : : return -1;
13620 : : return 4801; /* avx512f_fixuns_notruncv16sfv16si_mask_round */
13621 : :
13622 : : default:
13623 : : return -1;
13624 : : }
13625 : :
13626 : : case E_V8DImode:
13627 : : switch (pattern1464 (x2,
13628 : : E_V8DImode))
13629 : : {
13630 : : case 0:
13631 : : if (!(
13632 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13633 : : (TARGET_AVX512F) && (
13634 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13635 : : (TARGET_AVX512F) &&
13636 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13637 : : (TARGET_AVX512FP16))))
13638 : : return -1;
13639 : : return 4381; /* avx512fp16_vcvtph2uqq_v8di_mask_round */
13640 : :
13641 : : case 1:
13642 : : if (!(
13643 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13644 : : (TARGET_AVX512F) && (
13645 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13646 : : (TARGET_AVX512F) &&
13647 : : #line 8770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13648 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
13649 : : || V8DImode == V8DFmode
13650 : : || V8DImode == V8DImode
13651 : : || V8DImode == V16SImode
13652 : : || V8DImode == V32HFmode)))))
13653 : : return -1;
13654 : : return 4821; /* avx512dq_cvtps2uqqv8di_mask_round */
13655 : :
13656 : : case 2:
13657 : : if (!(
13658 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13659 : : (TARGET_AVX512F) && (
13660 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13661 : : (TARGET_AVX512F) &&
13662 : : #line 9748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13663 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
13664 : : || V8DFmode == V8DFmode
13665 : : || V8DFmode == V8DImode
13666 : : || V8DFmode == V16SImode
13667 : : || V8DFmode == V32HFmode)))))
13668 : : return -1;
13669 : : return 5047; /* fixuns_notruncv8dfv8di2_mask_round */
13670 : :
13671 : : default:
13672 : : return -1;
13673 : : }
13674 : :
13675 : : case E_V16HImode:
13676 : : if (pattern1286 (x2,
13677 : : E_HImode,
13678 : : E_V16HImode,
13679 : : E_V16HFmode) != 0
13680 : : || !(
13681 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13682 : : (TARGET_AVX512F) && (
13683 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13684 : : (TARGET_AVX512F) && (
13685 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13686 : : (TARGET_AVX512FP16) &&
13687 : : #line 725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13688 : : (TARGET_AVX512VL)))))
13689 : : return -1;
13690 : : return 4389; /* avx512fp16_vcvtph2uw_v16hi_mask_round */
13691 : :
13692 : : case E_V8SImode:
13693 : : switch (pattern1464 (x2,
13694 : : E_V8SImode))
13695 : : {
13696 : : case 0:
13697 : : if (!(
13698 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13699 : : (TARGET_AVX512F) && (
13700 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13701 : : (TARGET_AVX512F) && (
13702 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13703 : : (TARGET_AVX512FP16) &&
13704 : : #line 725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13705 : : (TARGET_AVX512VL)))))
13706 : : return -1;
13707 : : return 4397; /* avx512fp16_vcvtph2udq_v8si_mask_round */
13708 : :
13709 : : case 1:
13710 : : if (!(
13711 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13712 : : (TARGET_AVX512F) && (
13713 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13714 : : (TARGET_AVX512F) && (
13715 : : #line 8737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13716 : : (TARGET_AVX512F) &&
13717 : : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13718 : : (TARGET_AVX512VL)))))
13719 : : return -1;
13720 : : return 4805; /* avx512vl_fixuns_notruncv8sfv8si_mask_round */
13721 : :
13722 : : case 2:
13723 : : if (!
13724 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13725 : : (TARGET_AVX512F))
13726 : : return -1;
13727 : : return 4967; /* fixuns_notruncv8dfv8si2_mask_round */
13728 : :
13729 : : default:
13730 : : return -1;
13731 : : }
13732 : :
13733 : : case E_V4DImode:
13734 : : if (pattern1286 (x2,
13735 : : E_QImode,
13736 : : E_V4DImode,
13737 : : E_V8HFmode) != 0
13738 : : || !(
13739 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13740 : : (TARGET_AVX512F) && (
13741 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13742 : : (TARGET_AVX512F) && (
13743 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13744 : : (TARGET_AVX512FP16) &&
13745 : : #line 726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13746 : : (TARGET_AVX512VL)))))
13747 : : return -1;
13748 : : return 4405; /* avx512fp16_vcvtph2uqq_v4di_mask_round */
13749 : :
13750 : : case E_V8HImode:
13751 : : if (pattern1286 (x2,
13752 : : E_QImode,
13753 : : E_V8HImode,
13754 : : E_V8HFmode) != 0
13755 : : || !(
13756 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13757 : : (TARGET_AVX512F) && (
13758 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13759 : : (TARGET_AVX512F) && (
13760 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13761 : : (TARGET_AVX512FP16) &&
13762 : : #line 726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13763 : : (TARGET_AVX512VL)))))
13764 : : return -1;
13765 : : return 4413; /* avx512fp16_vcvtph2uw_v8hi_mask_round */
13766 : :
13767 : : case E_V4SImode:
13768 : : if (pattern1296 (x2,
13769 : : E_V4SImode,
13770 : : E_QImode) != 0)
13771 : : return -1;
13772 : : switch (GET_MODE (operands[1]))
13773 : : {
13774 : : case E_V8HFmode:
13775 : : if (!register_operand (operands[1], E_V8HFmode)
13776 : : || !(
13777 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13778 : : (TARGET_AVX512F) && (
13779 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13780 : : (TARGET_AVX512F) && (
13781 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13782 : : (TARGET_AVX512FP16) &&
13783 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13784 : : (TARGET_AVX512VL)))))
13785 : : return -1;
13786 : : return 4421; /* avx512fp16_vcvtph2udq_v4si_mask_round */
13787 : :
13788 : : case E_V4SFmode:
13789 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
13790 : : || !(
13791 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13792 : : (TARGET_AVX512F) && (
13793 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13794 : : (TARGET_AVX512F) && (
13795 : : #line 8737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13796 : : (TARGET_AVX512F) &&
13797 : : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13798 : : (TARGET_AVX512VL)))))
13799 : : return -1;
13800 : : return 4809; /* avx512vl_fixuns_notruncv4sfv4si_mask_round */
13801 : :
13802 : : case E_V4DFmode:
13803 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13804 : : || !(
13805 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13806 : : (TARGET_AVX512F) && (
13807 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13808 : : (TARGET_AVX512F) && (
13809 : : #line 9529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13810 : : (TARGET_AVX512F) &&
13811 : : #line 458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13812 : : (TARGET_AVX512VL)))))
13813 : : return -1;
13814 : : return 4971; /* fixuns_notruncv4dfv4si2_mask_round */
13815 : :
13816 : : default:
13817 : : return -1;
13818 : : }
13819 : :
13820 : : case E_V2DImode:
13821 : : if (pattern1286 (x2,
13822 : : E_QImode,
13823 : : E_V2DImode,
13824 : : E_V8HFmode) != 0
13825 : : || !(
13826 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13827 : : (TARGET_AVX512F) && (
13828 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13829 : : (TARGET_AVX512F) && (
13830 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13831 : : (TARGET_AVX512FP16) &&
13832 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13833 : : (TARGET_AVX512VL)))))
13834 : : return -1;
13835 : : return 4429; /* avx512fp16_vcvtph2uqq_v2di_mask_round */
13836 : :
13837 : : default:
13838 : : return -1;
13839 : : }
13840 : :
13841 : : case 47:
13842 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
13843 : : return -1;
13844 : : switch (GET_MODE (operands[0]))
13845 : : {
13846 : : case E_V32HImode:
13847 : : if (pattern1286 (x2,
13848 : : E_SImode,
13849 : : E_V32HImode,
13850 : : E_V32HFmode) != 0
13851 : : || !(
13852 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13853 : : (TARGET_AVX512F) && (
13854 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13855 : : (TARGET_AVX512F) &&
13856 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13857 : : (TARGET_AVX512FP16))))
13858 : : return -1;
13859 : : return 4369; /* avx512fp16_vcvtph2w_v32hi_mask_round */
13860 : :
13861 : : case E_V16SImode:
13862 : : switch (pattern1288 (x2))
13863 : : {
13864 : : case 0:
13865 : : if (!(
13866 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13867 : : (TARGET_AVX512F) && (
13868 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13869 : : (TARGET_AVX512F) &&
13870 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13871 : : (TARGET_AVX512FP16))))
13872 : : return -1;
13873 : : return 4377; /* avx512fp16_vcvtph2dq_v16si_mask_round */
13874 : :
13875 : : case 1:
13876 : : if (!
13877 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13878 : : (TARGET_AVX512F))
13879 : : return -1;
13880 : : return 4797; /* avx512f_fix_notruncv16sfv16si_mask_round */
13881 : :
13882 : : default:
13883 : : return -1;
13884 : : }
13885 : :
13886 : : case E_V8DImode:
13887 : : if (pattern1296 (x2,
13888 : : E_V8DImode,
13889 : : E_QImode) != 0)
13890 : : return -1;
13891 : : switch (GET_MODE (operands[1]))
13892 : : {
13893 : : case E_V8HFmode:
13894 : : if (!register_operand (operands[1], E_V8HFmode)
13895 : : || !(
13896 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13897 : : (TARGET_AVX512F) && (
13898 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13899 : : (TARGET_AVX512F) &&
13900 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13901 : : (TARGET_AVX512FP16))))
13902 : : return -1;
13903 : : return 4385; /* avx512fp16_vcvtph2qq_v8di_mask_round */
13904 : :
13905 : : case E_V8SFmode:
13906 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13907 : : || !(
13908 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13909 : : (TARGET_AVX512F) && (
13910 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13911 : : (TARGET_AVX512F) &&
13912 : : #line 8747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13913 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
13914 : : || V8DImode == V8DFmode
13915 : : || V8DImode == V8DImode
13916 : : || V8DImode == V16SImode
13917 : : || V8DImode == V32HFmode)))))
13918 : : return -1;
13919 : : return 4813; /* avx512dq_cvtps2qqv8di_mask_round */
13920 : :
13921 : : case E_V8DFmode:
13922 : : if (!register_operand (operands[1], E_V8DFmode)
13923 : : || !(
13924 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13925 : : (TARGET_AVX512F) && (
13926 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13927 : : (TARGET_AVX512F) &&
13928 : : #line 9737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13929 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
13930 : : || V8DFmode == V8DFmode
13931 : : || V8DFmode == V8DImode
13932 : : || V8DFmode == V16SImode
13933 : : || V8DFmode == V32HFmode)))))
13934 : : return -1;
13935 : : return 5039; /* fix_notruncv8dfv8di2_mask_round */
13936 : :
13937 : : default:
13938 : : return -1;
13939 : : }
13940 : :
13941 : : case E_V16HImode:
13942 : : if (pattern1286 (x2,
13943 : : E_HImode,
13944 : : E_V16HImode,
13945 : : E_V16HFmode) != 0
13946 : : || !(
13947 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13948 : : (TARGET_AVX512F) && (
13949 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13950 : : (TARGET_AVX512F) && (
13951 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13952 : : (TARGET_AVX512FP16) &&
13953 : : #line 725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13954 : : (TARGET_AVX512VL)))))
13955 : : return -1;
13956 : : return 4393; /* avx512fp16_vcvtph2w_v16hi_mask_round */
13957 : :
13958 : : case E_V8SImode:
13959 : : switch (pattern1287 (x2))
13960 : : {
13961 : : case 0:
13962 : : if (!(
13963 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13964 : : (TARGET_AVX512F) && (
13965 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13966 : : (TARGET_AVX512F) && (
13967 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13968 : : (TARGET_AVX512FP16) &&
13969 : : #line 725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13970 : : (TARGET_AVX512VL)))))
13971 : : return -1;
13972 : : return 4401; /* avx512fp16_vcvtph2dq_v8si_mask_round */
13973 : :
13974 : : case 1:
13975 : : if (!
13976 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13977 : : (TARGET_AVX512F))
13978 : : return -1;
13979 : : return 4957; /* avx512f_cvtpd2dq512_mask_round */
13980 : :
13981 : : default:
13982 : : return -1;
13983 : : }
13984 : :
13985 : : case E_V4DImode:
13986 : : if (pattern1286 (x2,
13987 : : E_QImode,
13988 : : E_V4DImode,
13989 : : E_V8HFmode) != 0
13990 : : || !(
13991 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13992 : : (TARGET_AVX512F) && (
13993 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13994 : : (TARGET_AVX512F) && (
13995 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13996 : : (TARGET_AVX512FP16) &&
13997 : : #line 726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13998 : : (TARGET_AVX512VL)))))
13999 : : return -1;
14000 : : return 4409; /* avx512fp16_vcvtph2qq_v4di_mask_round */
14001 : :
14002 : : case E_V8HImode:
14003 : : if (pattern1286 (x2,
14004 : : E_QImode,
14005 : : E_V8HImode,
14006 : : E_V8HFmode) != 0
14007 : : || !(
14008 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14009 : : (TARGET_AVX512F) && (
14010 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14011 : : (TARGET_AVX512F) && (
14012 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14013 : : (TARGET_AVX512FP16) &&
14014 : : #line 726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14015 : : (TARGET_AVX512VL)))))
14016 : : return -1;
14017 : : return 4417; /* avx512fp16_vcvtph2w_v8hi_mask_round */
14018 : :
14019 : : case E_V4SImode:
14020 : : if (pattern1286 (x2,
14021 : : E_QImode,
14022 : : E_V4SImode,
14023 : : E_V8HFmode) != 0
14024 : : || !(
14025 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14026 : : (TARGET_AVX512F) && (
14027 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14028 : : (TARGET_AVX512F) && (
14029 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14030 : : (TARGET_AVX512FP16) &&
14031 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14032 : : (TARGET_AVX512VL)))))
14033 : : return -1;
14034 : : return 4425; /* avx512fp16_vcvtph2dq_v4si_mask_round */
14035 : :
14036 : : case E_V2DImode:
14037 : : if (pattern1286 (x2,
14038 : : E_QImode,
14039 : : E_V2DImode,
14040 : : E_V8HFmode) != 0
14041 : : || !(
14042 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14043 : : (TARGET_AVX512F) && (
14044 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14045 : : (TARGET_AVX512F) && (
14046 : : #line 7674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14047 : : (TARGET_AVX512FP16) &&
14048 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14049 : : (TARGET_AVX512VL)))))
14050 : : return -1;
14051 : : return 4433; /* avx512fp16_vcvtph2qq_v2di_mask_round */
14052 : :
14053 : : default:
14054 : : return -1;
14055 : : }
14056 : :
14057 : : case 173:
14058 : : switch (pattern1289 (x2))
14059 : : {
14060 : : case 0:
14061 : : if (!(
14062 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14063 : : (TARGET_AVX512F) && (
14064 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14065 : : (TARGET_AVX512F) && (
14066 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14067 : : (TARGET_AVX512FP16) &&
14068 : : #line 661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14069 : : (TARGET_AVX512VL)))))
14070 : : return -1;
14071 : : return 4523; /* unspec_avx512fp16_fix_truncv8hi2_mask_round */
14072 : :
14073 : : case 1:
14074 : : if (!(
14075 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14076 : : (TARGET_AVX512F) && (
14077 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14078 : : (TARGET_AVX512F) && (
14079 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14080 : : (TARGET_AVX512FP16) &&
14081 : : #line 661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14082 : : (TARGET_AVX512VL)))))
14083 : : return -1;
14084 : : return 4531; /* unspec_avx512fp16_fix_truncv16hi2_mask_round */
14085 : :
14086 : : case 2:
14087 : : if (!(
14088 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14089 : : (TARGET_AVX512F) && (
14090 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14091 : : (TARGET_AVX512F) &&
14092 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14093 : : (TARGET_AVX512FP16))))
14094 : : return -1;
14095 : : return 4539; /* unspec_avx512fp16_fix_truncv32hi2_mask_round */
14096 : :
14097 : : case 3:
14098 : : if (!(
14099 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14100 : : (TARGET_AVX512F) && (
14101 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14102 : : (TARGET_AVX512F) && (
14103 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14104 : : (TARGET_AVX512FP16) &&
14105 : : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14106 : : (TARGET_AVX512VL)))))
14107 : : return -1;
14108 : : return 4547; /* unspec_avx512fp16_fix_truncv8si2_mask_round */
14109 : :
14110 : : case 4:
14111 : : if (!
14112 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14113 : : (TARGET_AVX512F))
14114 : : return -1;
14115 : : return 4978; /* unspec_fix_truncv8dfv8si2_mask_round */
14116 : :
14117 : : case 5:
14118 : : if (!(
14119 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14120 : : (TARGET_AVX512F) && (
14121 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14122 : : (TARGET_AVX512F) &&
14123 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14124 : : (TARGET_AVX512FP16))))
14125 : : return -1;
14126 : : return 4555; /* unspec_avx512fp16_fix_truncv16si2_mask_round */
14127 : :
14128 : : case 6:
14129 : : if (!
14130 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14131 : : (TARGET_AVX512F))
14132 : : return -1;
14133 : : return 4829; /* unspec_fix_truncv16sfv16si2_mask_round */
14134 : :
14135 : : case 7:
14136 : : if (!(
14137 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14138 : : (TARGET_AVX512F) && (
14139 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14140 : : (TARGET_AVX512F) &&
14141 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14142 : : (TARGET_AVX512FP16))))
14143 : : return -1;
14144 : : return 4563; /* unspec_avx512fp16_fix_truncv8di2_mask_round */
14145 : :
14146 : : case 8:
14147 : : if (!(
14148 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14149 : : (TARGET_AVX512F) && (
14150 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14151 : : (TARGET_AVX512F) &&
14152 : : #line 9716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14153 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14154 : : || V8DFmode == V8DFmode
14155 : : || V8DFmode == V8DImode
14156 : : || V8DFmode == V16SImode
14157 : : || V8DFmode == V32HFmode)))))
14158 : : return -1;
14159 : : return 5007; /* unspec_fix_truncv8dfv8di2_mask_round */
14160 : :
14161 : : case 9:
14162 : : if (!(
14163 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14164 : : (TARGET_AVX512F) && (
14165 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14166 : : (TARGET_AVX512F) &&
14167 : : #line 9759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14168 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14169 : : || V8DImode == V8DFmode
14170 : : || V8DImode == V8DImode
14171 : : || V8DImode == V16SImode
14172 : : || V8DImode == V32HFmode)))))
14173 : : return -1;
14174 : : return 5055; /* unspec_fix_truncv8sfv8di2_mask_round */
14175 : :
14176 : : default:
14177 : : return -1;
14178 : : }
14179 : :
14180 : : case 174:
14181 : : switch (pattern1289 (x2))
14182 : : {
14183 : : case 0:
14184 : : if (!(
14185 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14186 : : (TARGET_AVX512F) && (
14187 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14188 : : (TARGET_AVX512F) && (
14189 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14190 : : (TARGET_AVX512FP16) &&
14191 : : #line 661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14192 : : (TARGET_AVX512VL)))))
14193 : : return -1;
14194 : : return 4527; /* unspec_avx512fp16_fixuns_truncv8hi2_mask_round */
14195 : :
14196 : : case 1:
14197 : : if (!(
14198 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14199 : : (TARGET_AVX512F) && (
14200 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14201 : : (TARGET_AVX512F) && (
14202 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14203 : : (TARGET_AVX512FP16) &&
14204 : : #line 661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14205 : : (TARGET_AVX512VL)))))
14206 : : return -1;
14207 : : return 4535; /* unspec_avx512fp16_fixuns_truncv16hi2_mask_round */
14208 : :
14209 : : case 2:
14210 : : if (!(
14211 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14212 : : (TARGET_AVX512F) && (
14213 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14214 : : (TARGET_AVX512F) &&
14215 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14216 : : (TARGET_AVX512FP16))))
14217 : : return -1;
14218 : : return 4543; /* unspec_avx512fp16_fixuns_truncv32hi2_mask_round */
14219 : :
14220 : : case 3:
14221 : : if (!(
14222 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14223 : : (TARGET_AVX512F) && (
14224 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14225 : : (TARGET_AVX512F) && (
14226 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14227 : : (TARGET_AVX512FP16) &&
14228 : : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14229 : : (TARGET_AVX512VL)))))
14230 : : return -1;
14231 : : return 4551; /* unspec_avx512fp16_fixuns_truncv8si2_mask_round */
14232 : :
14233 : : case 4:
14234 : : if (!
14235 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14236 : : (TARGET_AVX512F))
14237 : : return -1;
14238 : : return 4982; /* unspec_fixuns_truncv8dfv8si2_mask_round */
14239 : :
14240 : : case 5:
14241 : : if (!(
14242 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14243 : : (TARGET_AVX512F) && (
14244 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14245 : : (TARGET_AVX512F) &&
14246 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14247 : : (TARGET_AVX512FP16))))
14248 : : return -1;
14249 : : return 4559; /* unspec_avx512fp16_fixuns_truncv16si2_mask_round */
14250 : :
14251 : : case 6:
14252 : : if (!
14253 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14254 : : (TARGET_AVX512F))
14255 : : return -1;
14256 : : return 4833; /* unspec_fixuns_truncv16sfv16si2_mask_round */
14257 : :
14258 : : case 7:
14259 : : if (!(
14260 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14261 : : (TARGET_AVX512F) && (
14262 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14263 : : (TARGET_AVX512F) &&
14264 : : #line 7899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14265 : : (TARGET_AVX512FP16))))
14266 : : return -1;
14267 : : return 4567; /* unspec_avx512fp16_fixuns_truncv8di2_mask_round */
14268 : :
14269 : : case 8:
14270 : : if (!(
14271 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14272 : : (TARGET_AVX512F) && (
14273 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14274 : : (TARGET_AVX512F) &&
14275 : : #line 9716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14276 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14277 : : || V8DFmode == V8DFmode
14278 : : || V8DFmode == V8DImode
14279 : : || V8DFmode == V16SImode
14280 : : || V8DFmode == V32HFmode)))))
14281 : : return -1;
14282 : : return 5011; /* unspec_fixuns_truncv8dfv8di2_mask_round */
14283 : :
14284 : : case 9:
14285 : : if (!(
14286 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14287 : : (TARGET_AVX512F) && (
14288 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14289 : : (TARGET_AVX512F) &&
14290 : : #line 9759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14291 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14292 : : || V8DImode == V8DFmode
14293 : : || V8DImode == V8DImode
14294 : : || V8DImode == V16SImode
14295 : : || V8DImode == V32HFmode)))))
14296 : : return -1;
14297 : : return 5059; /* unspec_fixuns_truncv8sfv8di2_mask_round */
14298 : :
14299 : : default:
14300 : : return -1;
14301 : : }
14302 : :
14303 : : case 166:
14304 : : if (!const48_operand (operands[4], E_SImode))
14305 : : return -1;
14306 : : switch (GET_MODE (operands[0]))
14307 : : {
14308 : : case E_V32HFmode:
14309 : : if (pattern1465 (x2,
14310 : : E_V32HFmode,
14311 : : E_SImode) != 0
14312 : : || !(
14313 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14314 : : (TARGET_AVX512F) && (
14315 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14316 : : (TARGET_AVX512F) && (
14317 : : #line 14053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14318 : : (TARGET_AVX512F) &&
14319 : : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14320 : : (TARGET_AVX512FP16)))))
14321 : : return -1;
14322 : : return 6975; /* avx512bw_getexpv32hf_mask_round */
14323 : :
14324 : : case E_V16HFmode:
14325 : : if (pattern1465 (x2,
14326 : : E_V16HFmode,
14327 : : E_HImode) != 0
14328 : : || !(
14329 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14330 : : (TARGET_AVX512F) && (
14331 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14332 : : (TARGET_AVX512F) && (
14333 : : #line 14053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14334 : : (TARGET_AVX512F) &&
14335 : : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14336 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14337 : : return -1;
14338 : : return 6979; /* avx512vl_getexpv16hf_mask_round */
14339 : :
14340 : : case E_V8HFmode:
14341 : : if (pattern1465 (x2,
14342 : : E_V8HFmode,
14343 : : E_QImode) != 0
14344 : : || !(
14345 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14346 : : (TARGET_AVX512F) && (
14347 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14348 : : (TARGET_AVX512F) && (
14349 : : #line 14053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14350 : : (TARGET_AVX512F) &&
14351 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14352 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14353 : : return -1;
14354 : : return 6983; /* avx512fp16_getexpv8hf_mask_round */
14355 : :
14356 : : case E_V16SFmode:
14357 : : if (pattern1465 (x2,
14358 : : E_V16SFmode,
14359 : : E_HImode) != 0
14360 : : || !
14361 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14362 : : (TARGET_AVX512F))
14363 : : return -1;
14364 : : return 6987; /* avx512f_getexpv16sf_mask_round */
14365 : :
14366 : : case E_V8SFmode:
14367 : : if (pattern1465 (x2,
14368 : : E_V8SFmode,
14369 : : E_QImode) != 0
14370 : : || !(
14371 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14372 : : (TARGET_AVX512F) && (
14373 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14374 : : (TARGET_AVX512F) && (
14375 : : #line 14053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14376 : : (TARGET_AVX512F) &&
14377 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14378 : : (TARGET_AVX512VL)))))
14379 : : return -1;
14380 : : return 6991; /* avx512vl_getexpv8sf_mask_round */
14381 : :
14382 : : case E_V4SFmode:
14383 : : if (pattern1465 (x2,
14384 : : E_V4SFmode,
14385 : : E_QImode) != 0
14386 : : || !(
14387 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14388 : : (TARGET_AVX512F) && (
14389 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14390 : : (TARGET_AVX512F) && (
14391 : : #line 14053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14392 : : (TARGET_AVX512F) &&
14393 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14394 : : (TARGET_AVX512VL)))))
14395 : : return -1;
14396 : : return 6995; /* avx512vl_getexpv4sf_mask_round */
14397 : :
14398 : : case E_V8DFmode:
14399 : : if (pattern1465 (x2,
14400 : : E_V8DFmode,
14401 : : E_QImode) != 0
14402 : : || !
14403 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14404 : : (TARGET_AVX512F))
14405 : : return -1;
14406 : : return 6999; /* avx512f_getexpv8df_mask_round */
14407 : :
14408 : : case E_V4DFmode:
14409 : : if (pattern1465 (x2,
14410 : : E_V4DFmode,
14411 : : E_QImode) != 0
14412 : : || !(
14413 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14414 : : (TARGET_AVX512F) && (
14415 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14416 : : (TARGET_AVX512F) && (
14417 : : #line 14053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14418 : : (TARGET_AVX512F) &&
14419 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14420 : : (TARGET_AVX512VL)))))
14421 : : return -1;
14422 : : return 7003; /* avx512vl_getexpv4df_mask_round */
14423 : :
14424 : : case E_V2DFmode:
14425 : : if (pattern1465 (x2,
14426 : : E_V2DFmode,
14427 : : E_QImode) != 0
14428 : : || !(
14429 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14430 : : (TARGET_AVX512F) && (
14431 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14432 : : (TARGET_AVX512F) && (
14433 : : #line 14053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14434 : : (TARGET_AVX512F) &&
14435 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14436 : : (TARGET_AVX512VL)))))
14437 : : return -1;
14438 : : return 7007; /* avx512vl_getexpv2df_mask_round */
14439 : :
14440 : : default:
14441 : : return -1;
14442 : : }
14443 : :
14444 : : case 150:
14445 : : if (pattern1290 (x2,
14446 : : E_HImode,
14447 : : E_V16SFmode,
14448 : : E_V16HImode) != 0
14449 : : || !
14450 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14451 : : (TARGET_AVX512F))
14452 : : return -1;
14453 : : return 9608; /* avx512f_vcvtph2ps512_mask_round */
14454 : :
14455 : : case 266:
14456 : : if (pattern1291 (x2,
14457 : : E_SImode,
14458 : : E_V32HImode,
14459 : : E_V32HFmode) != 0
14460 : : || !(
14461 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14462 : : (TARGET_AVX512F) && (
14463 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14464 : : (TARGET_AVX512F) &&
14465 : : #line 32636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14466 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
14467 : : || V32HFmode == V8DFmode
14468 : : || V32HFmode == V8DImode
14469 : : || V32HFmode == V16SImode
14470 : : || V32HFmode == V32HFmode)))))
14471 : : return -1;
14472 : : return 10709; /* avx10_2_cvtph2ibsv32hf_mask_round */
14473 : :
14474 : : case 267:
14475 : : if (pattern1291 (x2,
14476 : : E_SImode,
14477 : : E_V32HImode,
14478 : : E_V32HFmode) != 0
14479 : : || !(
14480 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14481 : : (TARGET_AVX512F) && (
14482 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14483 : : (TARGET_AVX512F) &&
14484 : : #line 32636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14485 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
14486 : : || V32HFmode == V8DFmode
14487 : : || V32HFmode == V8DImode
14488 : : || V32HFmode == V16SImode
14489 : : || V32HFmode == V32HFmode)))))
14490 : : return -1;
14491 : : return 10713; /* avx10_2_cvtph2iubsv32hf_mask_round */
14492 : :
14493 : : case 272:
14494 : : if (pattern1290 (x2,
14495 : : E_SImode,
14496 : : E_V32HImode,
14497 : : E_V32HFmode) != 0
14498 : : || !(
14499 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14500 : : (TARGET_AVX512F) && (
14501 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14502 : : (TARGET_AVX512F) &&
14503 : : #line 32651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14504 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
14505 : : || V32HFmode == V8DFmode
14506 : : || V32HFmode == V8DImode
14507 : : || V32HFmode == V16SImode
14508 : : || V32HFmode == V32HFmode)))))
14509 : : return -1;
14510 : : return 10725; /* avx10_2_cvttph2ibsv32hf_mask_round */
14511 : :
14512 : : case 273:
14513 : : if (pattern1290 (x2,
14514 : : E_SImode,
14515 : : E_V32HImode,
14516 : : E_V32HFmode) != 0
14517 : : || !(
14518 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14519 : : (TARGET_AVX512F) && (
14520 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14521 : : (TARGET_AVX512F) &&
14522 : : #line 32651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14523 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
14524 : : || V32HFmode == V8DFmode
14525 : : || V32HFmode == V8DImode
14526 : : || V32HFmode == V16SImode
14527 : : || V32HFmode == V32HFmode)))))
14528 : : return -1;
14529 : : return 10729; /* avx10_2_cvttph2iubsv32hf_mask_round */
14530 : :
14531 : : case 268:
14532 : : if (pattern1291 (x2,
14533 : : E_HImode,
14534 : : E_V16SImode,
14535 : : E_V16SFmode) != 0
14536 : : || !(
14537 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14538 : : (TARGET_AVX512F) && (
14539 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14540 : : (TARGET_AVX512F) &&
14541 : : #line 32666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14542 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14543 : : || V16SFmode == V8DFmode
14544 : : || V16SFmode == V8DImode
14545 : : || V16SFmode == V16SImode
14546 : : || V16SFmode == V32HFmode)))))
14547 : : return -1;
14548 : : return 10741; /* avx10_2_cvtps2ibsv16sf_mask_round */
14549 : :
14550 : : case 269:
14551 : : if (pattern1291 (x2,
14552 : : E_HImode,
14553 : : E_V16SImode,
14554 : : E_V16SFmode) != 0
14555 : : || !(
14556 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14557 : : (TARGET_AVX512F) && (
14558 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14559 : : (TARGET_AVX512F) &&
14560 : : #line 32666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14561 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14562 : : || V16SFmode == V8DFmode
14563 : : || V16SFmode == V8DImode
14564 : : || V16SFmode == V16SImode
14565 : : || V16SFmode == V32HFmode)))))
14566 : : return -1;
14567 : : return 10745; /* avx10_2_cvtps2iubsv16sf_mask_round */
14568 : :
14569 : : case 274:
14570 : : if (pattern1290 (x2,
14571 : : E_HImode,
14572 : : E_V16SImode,
14573 : : E_V16SFmode) != 0
14574 : : || !(
14575 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14576 : : (TARGET_AVX512F) && (
14577 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14578 : : (TARGET_AVX512F) &&
14579 : : #line 32681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14580 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14581 : : || V16SFmode == V8DFmode
14582 : : || V16SFmode == V8DImode
14583 : : || V16SFmode == V16SImode
14584 : : || V16SFmode == V32HFmode)))))
14585 : : return -1;
14586 : : return 10757; /* avx10_2_cvttps2ibsv16sf_mask_round */
14587 : :
14588 : : case 275:
14589 : : if (pattern1290 (x2,
14590 : : E_HImode,
14591 : : E_V16SImode,
14592 : : E_V16SFmode) != 0
14593 : : || !(
14594 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14595 : : (TARGET_AVX512F) && (
14596 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14597 : : (TARGET_AVX512F) &&
14598 : : #line 32681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14599 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14600 : : || V16SFmode == V8DFmode
14601 : : || V16SFmode == V8DImode
14602 : : || V16SFmode == V16SImode
14603 : : || V16SFmode == V32HFmode)))))
14604 : : return -1;
14605 : : return 10761; /* avx10_2_cvttps2iubsv16sf_mask_round */
14606 : :
14607 : : case 276:
14608 : : switch (pattern1292 (x2))
14609 : : {
14610 : : case 0:
14611 : : if (!(
14612 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14613 : : (TARGET_AVX512F) && (
14614 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14615 : : (TARGET_AVX512F) && (
14616 : : #line 32700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14617 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14618 : : || V16SFmode == V8DFmode
14619 : : || V16SFmode == V8DImode
14620 : : || V16SFmode == V16SImode
14621 : : || V16SFmode == V32HFmode)) &&
14622 : : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14623 : : (TARGET_AVX512F)))))
14624 : : return -1;
14625 : : return 10773; /* avx10_2_vcvttps2dqsv16sf_mask_round */
14626 : :
14627 : : case 1:
14628 : : if (!(
14629 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14630 : : (TARGET_AVX512F) && (
14631 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14632 : : (TARGET_AVX512F) && (
14633 : : #line 32700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14634 : : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
14635 : : || V8DFmode == V8DFmode
14636 : : || V8DFmode == V8DImode
14637 : : || V8DFmode == V16SImode
14638 : : || V8DFmode == V32HFmode)) &&
14639 : : #line 372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14640 : : (TARGET_AVX512F)))))
14641 : : return -1;
14642 : : return 10789; /* avx10_2_vcvttpd2dqsv8df_mask_round */
14643 : :
14644 : : case 2:
14645 : : if (!(
14646 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14647 : : (TARGET_AVX512F) && (
14648 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14649 : : (TARGET_AVX512F) && (
14650 : : #line 32711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14651 : : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
14652 : : || V8DFmode == V8DFmode
14653 : : || V8DFmode == V8DImode
14654 : : || V8DFmode == V16SImode
14655 : : || V8DFmode == V32HFmode)) &&
14656 : : #line 440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14657 : : (TARGET_AVX512F)))))
14658 : : return -1;
14659 : : return 10805; /* avx10_2_vcvttpd2qqsv8df_mask_round */
14660 : :
14661 : : case 3:
14662 : : if (!(
14663 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14664 : : (TARGET_AVX512F) && (
14665 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14666 : : (TARGET_AVX512F) && (
14667 : : #line 32722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14668 : : (TARGET_AVX10_2 && (V8DImode == V16SFmode
14669 : : || V8DImode == V8DFmode
14670 : : || V8DImode == V8DImode
14671 : : || V8DImode == V16SImode
14672 : : || V8DImode == V32HFmode)) &&
14673 : : #line 588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14674 : : (TARGET_AVX512F)))))
14675 : : return -1;
14676 : : return 10821; /* avx10_2_vcvttps2qqsv8di_mask_round */
14677 : :
14678 : : default:
14679 : : return -1;
14680 : : }
14681 : :
14682 : : case 277:
14683 : : switch (pattern1292 (x2))
14684 : : {
14685 : : case 0:
14686 : : if (!(
14687 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14688 : : (TARGET_AVX512F) && (
14689 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14690 : : (TARGET_AVX512F) && (
14691 : : #line 32700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14692 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14693 : : || V16SFmode == V8DFmode
14694 : : || V16SFmode == V8DImode
14695 : : || V16SFmode == V16SImode
14696 : : || V16SFmode == V32HFmode)) &&
14697 : : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14698 : : (TARGET_AVX512F)))))
14699 : : return -1;
14700 : : return 10777; /* avx10_2_vcvttps2udqsv16sf_mask_round */
14701 : :
14702 : : case 1:
14703 : : if (!(
14704 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14705 : : (TARGET_AVX512F) && (
14706 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14707 : : (TARGET_AVX512F) && (
14708 : : #line 32700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14709 : : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
14710 : : || V8DFmode == V8DFmode
14711 : : || V8DFmode == V8DImode
14712 : : || V8DFmode == V16SImode
14713 : : || V8DFmode == V32HFmode)) &&
14714 : : #line 372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14715 : : (TARGET_AVX512F)))))
14716 : : return -1;
14717 : : return 10793; /* avx10_2_vcvttpd2udqsv8df_mask_round */
14718 : :
14719 : : case 2:
14720 : : if (!(
14721 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14722 : : (TARGET_AVX512F) && (
14723 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14724 : : (TARGET_AVX512F) && (
14725 : : #line 32711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14726 : : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
14727 : : || V8DFmode == V8DFmode
14728 : : || V8DFmode == V8DImode
14729 : : || V8DFmode == V16SImode
14730 : : || V8DFmode == V32HFmode)) &&
14731 : : #line 440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14732 : : (TARGET_AVX512F)))))
14733 : : return -1;
14734 : : return 10809; /* avx10_2_vcvttpd2uqqsv8df_mask_round */
14735 : :
14736 : : case 3:
14737 : : if (!(
14738 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14739 : : (TARGET_AVX512F) && (
14740 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14741 : : (TARGET_AVX512F) && (
14742 : : #line 32722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14743 : : (TARGET_AVX10_2 && (V8DImode == V16SFmode
14744 : : || V8DImode == V8DFmode
14745 : : || V8DImode == V8DImode
14746 : : || V8DImode == V16SImode
14747 : : || V8DImode == V32HFmode)) &&
14748 : : #line 588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14749 : : (TARGET_AVX512F)))))
14750 : : return -1;
14751 : : return 10825; /* avx10_2_vcvttps2uqqsv8di_mask_round */
14752 : :
14753 : : default:
14754 : : return -1;
14755 : : }
14756 : :
14757 : : default:
14758 : : return -1;
14759 : : }
14760 : : }
14761 : :
14762 : : int
14763 : : recog_243 (rtx x1 ATTRIBUTE_UNUSED,
14764 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14765 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14766 : : {
14767 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14768 : : rtx x2, x3, x4, x5;
14769 : : int res ATTRIBUTE_UNUSED;
14770 : : x2 = XEXP (x1, 0);
14771 : : operands[0] = x2;
14772 : : x3 = XEXP (x1, 1);
14773 : : x4 = XVECEXP (x3, 0, 0);
14774 : : operands[1] = x4;
14775 : : x5 = XVECEXP (x3, 0, 1);
14776 : : operands[2] = x5;
14777 : : if (!const_0_to_255_operand (operands[2], E_SImode))
14778 : : return -1;
14779 : : switch (GET_MODE (operands[0]))
14780 : : {
14781 : : case E_V8HImode:
14782 : : if (GET_MODE (x3) != E_V8HImode
14783 : : || !register_operand (operands[1], E_V8SFmode))
14784 : : return -1;
14785 : : if (register_operand (operands[0], E_V8HImode)
14786 : : &&
14787 : : #line 29288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14788 : : (TARGET_F16C || TARGET_AVX512VL))
14789 : : return 9612; /* vcvtps2ph256 */
14790 : : if (!memory_operand (operands[0], E_V8HImode)
14791 : : || !
14792 : : #line 29300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14793 : : (TARGET_F16C || TARGET_AVX512VL))
14794 : : return -1;
14795 : : return 9614; /* *vcvtps2ph256 */
14796 : :
14797 : : case E_V16HImode:
14798 : : if (GET_MODE (x3) != E_V16HImode
14799 : : || !register_operand (operands[1], E_V16SFmode))
14800 : : return -1;
14801 : : if (register_operand (operands[0], E_V16HImode)
14802 : : &&
14803 : : #line 29339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14804 : : (TARGET_AVX512F))
14805 : : return 9616; /* *avx512f_vcvtps2ph512 */
14806 : : if (!memory_operand (operands[0], E_V16HImode)
14807 : : || !
14808 : : #line 29351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14809 : : (TARGET_AVX512F))
14810 : : return -1;
14811 : : return 9620; /* *avx512f_vcvtps2ph512 */
14812 : :
14813 : : default:
14814 : : return -1;
14815 : : }
14816 : : }
14817 : :
14818 : : int
14819 : : recog_247 (rtx x1 ATTRIBUTE_UNUSED,
14820 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14821 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14822 : : {
14823 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14824 : : rtx x2, x3, x4, x5, x6;
14825 : : int res ATTRIBUTE_UNUSED;
14826 : : x2 = XEXP (x1, 1);
14827 : : x3 = XVECEXP (x2, 0, 0);
14828 : : operands[1] = x3;
14829 : : x4 = XVECEXP (x2, 0, 2);
14830 : : switch (GET_CODE (x4))
14831 : : {
14832 : : case REG:
14833 : : case SUBREG:
14834 : : case MEM:
14835 : : switch (GET_CODE (x4))
14836 : : {
14837 : : case MEM:
14838 : : res = recog_245 (x1, insn, pnum_clobbers);
14839 : : if (res >= 0)
14840 : : return res;
14841 : : break;
14842 : :
14843 : : case REG:
14844 : : case SUBREG:
14845 : : operands[2] = x4;
14846 : : x5 = XEXP (x1, 0);
14847 : : operands[0] = x5;
14848 : : x6 = XVECEXP (x2, 0, 1);
14849 : : if (rtx_equal_p (x6, operands[0]))
14850 : : {
14851 : : switch (GET_MODE (operands[0]))
14852 : : {
14853 : : case E_V16SImode:
14854 : : if (pattern895 (x2,
14855 : : E_HImode,
14856 : : E_V16SImode) == 0
14857 : : &&
14858 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14859 : : (TARGET_AVX512F))
14860 : : return 9454; /* avx512f_storev16si_mask */
14861 : : break;
14862 : :
14863 : : case E_V8DImode:
14864 : : if (pattern895 (x2,
14865 : : E_QImode,
14866 : : E_V8DImode) == 0
14867 : : &&
14868 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14869 : : (TARGET_AVX512F))
14870 : : return 9457; /* avx512f_storev8di_mask */
14871 : : break;
14872 : :
14873 : : case E_V16SFmode:
14874 : : if (pattern895 (x2,
14875 : : E_HImode,
14876 : : E_V16SFmode) == 0
14877 : : &&
14878 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14879 : : (TARGET_AVX512F))
14880 : : return 9460; /* avx512f_storev16sf_mask */
14881 : : break;
14882 : :
14883 : : case E_V8SFmode:
14884 : : if (pattern895 (x2,
14885 : : E_QImode,
14886 : : E_V8SFmode) == 0
14887 : : && (
14888 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14889 : : (TARGET_AVX512F) &&
14890 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14891 : : (TARGET_AVX512VL)))
14892 : : return 9461; /* avx512vl_storev8sf_mask */
14893 : : break;
14894 : :
14895 : : case E_V4SFmode:
14896 : : if (pattern895 (x2,
14897 : : E_QImode,
14898 : : E_V4SFmode) == 0
14899 : : && (
14900 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14901 : : (TARGET_AVX512F) &&
14902 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14903 : : (TARGET_AVX512VL)))
14904 : : return 9462; /* avx512vl_storev4sf_mask */
14905 : : break;
14906 : :
14907 : : case E_V8DFmode:
14908 : : if (pattern895 (x2,
14909 : : E_QImode,
14910 : : E_V8DFmode) == 0
14911 : : &&
14912 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14913 : : (TARGET_AVX512F))
14914 : : return 9463; /* avx512f_storev8df_mask */
14915 : : break;
14916 : :
14917 : : case E_V4DFmode:
14918 : : if (pattern895 (x2,
14919 : : E_QImode,
14920 : : E_V4DFmode) == 0
14921 : : && (
14922 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14923 : : (TARGET_AVX512F) &&
14924 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14925 : : (TARGET_AVX512VL)))
14926 : : return 9464; /* avx512vl_storev4df_mask */
14927 : : break;
14928 : :
14929 : : case E_V2DFmode:
14930 : : if (pattern895 (x2,
14931 : : E_QImode,
14932 : : E_V2DFmode) == 0
14933 : : && (
14934 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14935 : : (TARGET_AVX512F) &&
14936 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14937 : : (TARGET_AVX512VL)))
14938 : : return 9465; /* avx512vl_storev2df_mask */
14939 : : break;
14940 : :
14941 : : case E_V64QImode:
14942 : : if (pattern895 (x2,
14943 : : E_DImode,
14944 : : E_V64QImode) == 0
14945 : : &&
14946 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14947 : : (TARGET_AVX512BW))
14948 : : return 9466; /* avx512bw_storev64qi_mask */
14949 : : break;
14950 : :
14951 : : case E_V16QImode:
14952 : : if (pattern895 (x2,
14953 : : E_HImode,
14954 : : E_V16QImode) == 0
14955 : : && (
14956 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14957 : : (TARGET_AVX512BW) &&
14958 : : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14959 : : (TARGET_AVX512VL)))
14960 : : return 9467; /* avx512vl_storev16qi_mask */
14961 : : break;
14962 : :
14963 : : case E_V32QImode:
14964 : : if (pattern895 (x2,
14965 : : E_SImode,
14966 : : E_V32QImode) == 0
14967 : : && (
14968 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14969 : : (TARGET_AVX512BW) &&
14970 : : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14971 : : (TARGET_AVX512VL)))
14972 : : return 9468; /* avx512vl_storev32qi_mask */
14973 : : break;
14974 : :
14975 : : case E_V32HImode:
14976 : : if (pattern895 (x2,
14977 : : E_SImode,
14978 : : E_V32HImode) == 0
14979 : : &&
14980 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14981 : : (TARGET_AVX512BW))
14982 : : return 9469; /* avx512bw_storev32hi_mask */
14983 : : break;
14984 : :
14985 : : case E_V16HImode:
14986 : : if (pattern895 (x2,
14987 : : E_HImode,
14988 : : E_V16HImode) == 0
14989 : : && (
14990 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14991 : : (TARGET_AVX512BW) &&
14992 : : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14993 : : (TARGET_AVX512VL)))
14994 : : return 9470; /* avx512vl_storev16hi_mask */
14995 : : break;
14996 : :
14997 : : case E_V8HImode:
14998 : : if (pattern895 (x2,
14999 : : E_QImode,
15000 : : E_V8HImode) == 0
15001 : : && (
15002 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15003 : : (TARGET_AVX512BW) &&
15004 : : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15005 : : (TARGET_AVX512VL)))
15006 : : return 9471; /* avx512vl_storev8hi_mask */
15007 : : break;
15008 : :
15009 : : case E_V32HFmode:
15010 : : if (pattern895 (x2,
15011 : : E_SImode,
15012 : : E_V32HFmode) == 0
15013 : : &&
15014 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15015 : : (TARGET_AVX512BW))
15016 : : return 9472; /* avx512bw_storev32hf_mask */
15017 : : break;
15018 : :
15019 : : case E_V16HFmode:
15020 : : if (pattern895 (x2,
15021 : : E_HImode,
15022 : : E_V16HFmode) == 0
15023 : : && (
15024 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15025 : : (TARGET_AVX512BW) &&
15026 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15027 : : (TARGET_AVX512VL)))
15028 : : return 9473; /* avx512vl_storev16hf_mask */
15029 : : break;
15030 : :
15031 : : case E_V8HFmode:
15032 : : if (pattern895 (x2,
15033 : : E_QImode,
15034 : : E_V8HFmode) == 0
15035 : : && (
15036 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15037 : : (TARGET_AVX512BW) &&
15038 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15039 : : (TARGET_AVX512VL)))
15040 : : return 9474; /* avx512fp16_storev8hf_mask */
15041 : : break;
15042 : :
15043 : : case E_V32BFmode:
15044 : : if (pattern895 (x2,
15045 : : E_SImode,
15046 : : E_V32BFmode) == 0
15047 : : &&
15048 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15049 : : (TARGET_AVX512BW))
15050 : : return 9475; /* avx512bw_storev32bf_mask */
15051 : : break;
15052 : :
15053 : : case E_V16BFmode:
15054 : : if (pattern895 (x2,
15055 : : E_HImode,
15056 : : E_V16BFmode) == 0
15057 : : && (
15058 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15059 : : (TARGET_AVX512BW) &&
15060 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15061 : : (TARGET_AVX512VL)))
15062 : : return 9476; /* avx512vl_storev16bf_mask */
15063 : : break;
15064 : :
15065 : : case E_V8BFmode:
15066 : : if (pattern895 (x2,
15067 : : E_QImode,
15068 : : E_V8BFmode) == 0
15069 : : && (
15070 : : #line 28885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15071 : : (TARGET_AVX512BW) &&
15072 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15073 : : (TARGET_AVX512VL)))
15074 : : return 9477; /* avx512vl_storev8bf_mask */
15075 : : break;
15076 : :
15077 : : default:
15078 : : break;
15079 : : }
15080 : : }
15081 : : break;
15082 : :
15083 : : default:
15084 : : break;
15085 : : }
15086 : : x5 = XEXP (x1, 0);
15087 : : operands[0] = x5;
15088 : : switch (GET_MODE (operands[0]))
15089 : : {
15090 : : case E_V4SFmode:
15091 : : if (pattern769 (x2,
15092 : : E_V4SFmode,
15093 : : E_V4SImode) != 0
15094 : : || !
15095 : : #line 28765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15096 : : (TARGET_AVX))
15097 : : return -1;
15098 : : return 9446; /* avx_maskstoreps */
15099 : :
15100 : : case E_V2DFmode:
15101 : : if (pattern769 (x2,
15102 : : E_V2DFmode,
15103 : : E_V2DImode) != 0
15104 : : || !
15105 : : #line 28765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15106 : : (TARGET_AVX))
15107 : : return -1;
15108 : : return 9447; /* avx_maskstorepd */
15109 : :
15110 : : case E_V4DImode:
15111 : : if (!memory_operand (operands[0], E_V4DImode)
15112 : : || GET_MODE (x2) != E_V4DImode
15113 : : || !register_operand (operands[1], E_V4DImode))
15114 : : return -1;
15115 : : x6 = XVECEXP (x2, 0, 1);
15116 : : operands[2] = x6;
15117 : : if (register_operand (operands[2], E_V4DImode)
15118 : : && rtx_equal_p (x4, operands[0])
15119 : : &&
15120 : : #line 28765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15121 : : (TARGET_AVX))
15122 : : return 9448; /* avx2_maskstoreq256 */
15123 : : operands[2] = x4;
15124 : : if (!register_operand (operands[2], E_QImode)
15125 : : || !rtx_equal_p (x6, operands[0])
15126 : : || !(
15127 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15128 : : (TARGET_AVX512F) &&
15129 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15130 : : (TARGET_AVX512VL)))
15131 : : return -1;
15132 : : return 9458; /* avx512vl_storev4di_mask */
15133 : :
15134 : : case E_V2DImode:
15135 : : if (!memory_operand (operands[0], E_V2DImode)
15136 : : || GET_MODE (x2) != E_V2DImode
15137 : : || !register_operand (operands[1], E_V2DImode))
15138 : : return -1;
15139 : : x6 = XVECEXP (x2, 0, 1);
15140 : : operands[2] = x6;
15141 : : if (register_operand (operands[2], E_V2DImode)
15142 : : && rtx_equal_p (x4, operands[0])
15143 : : &&
15144 : : #line 28765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15145 : : (TARGET_AVX))
15146 : : return 9449; /* avx2_maskstoreq */
15147 : : operands[2] = x4;
15148 : : if (!register_operand (operands[2], E_QImode)
15149 : : || !rtx_equal_p (x6, operands[0])
15150 : : || !(
15151 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15152 : : (TARGET_AVX512F) &&
15153 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15154 : : (TARGET_AVX512VL)))
15155 : : return -1;
15156 : : return 9459; /* avx512vl_storev2di_mask */
15157 : :
15158 : : case E_V8SFmode:
15159 : : if (pattern769 (x2,
15160 : : E_V8SFmode,
15161 : : E_V8SImode) != 0
15162 : : || !
15163 : : #line 28765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15164 : : (TARGET_AVX))
15165 : : return -1;
15166 : : return 9450; /* avx_maskstoreps256 */
15167 : :
15168 : : case E_V4DFmode:
15169 : : if (pattern769 (x2,
15170 : : E_V4DFmode,
15171 : : E_V4DImode) != 0
15172 : : || !
15173 : : #line 28765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15174 : : (TARGET_AVX))
15175 : : return -1;
15176 : : return 9451; /* avx_maskstorepd256 */
15177 : :
15178 : : case E_V8SImode:
15179 : : if (!memory_operand (operands[0], E_V8SImode)
15180 : : || GET_MODE (x2) != E_V8SImode
15181 : : || !register_operand (operands[1], E_V8SImode))
15182 : : return -1;
15183 : : x6 = XVECEXP (x2, 0, 1);
15184 : : operands[2] = x6;
15185 : : if (register_operand (operands[2], E_V8SImode)
15186 : : && rtx_equal_p (x4, operands[0])
15187 : : &&
15188 : : #line 28765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15189 : : (TARGET_AVX))
15190 : : return 9452; /* avx2_maskstored256 */
15191 : : operands[2] = x4;
15192 : : if (!register_operand (operands[2], E_QImode)
15193 : : || !rtx_equal_p (x6, operands[0])
15194 : : || !(
15195 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15196 : : (TARGET_AVX512F) &&
15197 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15198 : : (TARGET_AVX512VL)))
15199 : : return -1;
15200 : : return 9455; /* avx512vl_storev8si_mask */
15201 : :
15202 : : case E_V4SImode:
15203 : : if (!memory_operand (operands[0], E_V4SImode)
15204 : : || GET_MODE (x2) != E_V4SImode
15205 : : || !register_operand (operands[1], E_V4SImode))
15206 : : return -1;
15207 : : x6 = XVECEXP (x2, 0, 1);
15208 : : operands[2] = x6;
15209 : : if (register_operand (operands[2], E_V4SImode)
15210 : : && rtx_equal_p (x4, operands[0])
15211 : : &&
15212 : : #line 28765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15213 : : (TARGET_AVX))
15214 : : return 9453; /* avx2_maskstored */
15215 : : operands[2] = x4;
15216 : : if (!register_operand (operands[2], E_QImode)
15217 : : || !rtx_equal_p (x6, operands[0])
15218 : : || !(
15219 : : #line 28856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15220 : : (TARGET_AVX512F) &&
15221 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15222 : : (TARGET_AVX512VL)))
15223 : : return -1;
15224 : : return 9456; /* avx512vl_storev4si_mask */
15225 : :
15226 : : default:
15227 : : return -1;
15228 : : }
15229 : :
15230 : : case CONST_INT:
15231 : : case CONST_DOUBLE:
15232 : : case CONST_VECTOR:
15233 : : operands[2] = x4;
15234 : : x5 = XEXP (x1, 0);
15235 : : operands[0] = x5;
15236 : : switch (pattern771 (x2))
15237 : : {
15238 : : case 0:
15239 : : if (!(
15240 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15241 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15242 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15243 : : (TARGET_AVX512F)))
15244 : : return -1;
15245 : : return 9478; /* *avx512bw_storev64qi_mask_1 */
15246 : :
15247 : : case 1:
15248 : : if (!(
15249 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15250 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15251 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15252 : : (TARGET_AVX)))
15253 : : return -1;
15254 : : return 9479; /* *avx512vl_storev32qi_mask_1 */
15255 : :
15256 : : case 2:
15257 : : if (!
15258 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15259 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15260 : : return -1;
15261 : : return 9480; /* *avx512vl_storev16qi_mask_1 */
15262 : :
15263 : : case 3:
15264 : : if (!(
15265 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15266 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15267 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15268 : : (TARGET_AVX512F)))
15269 : : return -1;
15270 : : return 9481; /* *avx512bw_storev32hi_mask_1 */
15271 : :
15272 : : case 4:
15273 : : if (!(
15274 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15275 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15276 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15277 : : (TARGET_AVX)))
15278 : : return -1;
15279 : : return 9482; /* *avx512vl_storev16hi_mask_1 */
15280 : :
15281 : : case 5:
15282 : : if (!
15283 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15284 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15285 : : return -1;
15286 : : return 9483; /* *avx512vl_storev8hi_mask_1 */
15287 : :
15288 : : case 6:
15289 : : if (!(
15290 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15291 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15292 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15293 : : (TARGET_AVX512F)))
15294 : : return -1;
15295 : : return 9484; /* *avx512f_storev16si_mask_1 */
15296 : :
15297 : : case 7:
15298 : : if (!(
15299 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15300 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15301 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15302 : : (TARGET_AVX)))
15303 : : return -1;
15304 : : return 9485; /* *avx512vl_storev8si_mask_1 */
15305 : :
15306 : : case 8:
15307 : : if (!
15308 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15309 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15310 : : return -1;
15311 : : return 9486; /* *avx512vl_storev4si_mask_1 */
15312 : :
15313 : : case 9:
15314 : : if (!(
15315 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15316 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15317 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15318 : : (TARGET_AVX512F)))
15319 : : return -1;
15320 : : return 9487; /* *avx512f_storev8di_mask_1 */
15321 : :
15322 : : case 10:
15323 : : if (!(
15324 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15325 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15326 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15327 : : (TARGET_AVX)))
15328 : : return -1;
15329 : : return 9488; /* *avx512vl_storev4di_mask_1 */
15330 : :
15331 : : case 11:
15332 : : if (!
15333 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15334 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15335 : : return -1;
15336 : : return 9489; /* *avx512vl_storev2di_mask_1 */
15337 : :
15338 : : case 12:
15339 : : if (!(
15340 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15341 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15342 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15343 : : (TARGET_AVX512F)))
15344 : : return -1;
15345 : : return 9490; /* *avx512bw_storev32hf_mask_1 */
15346 : :
15347 : : case 13:
15348 : : if (!(
15349 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15350 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15351 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15352 : : (TARGET_AVX)))
15353 : : return -1;
15354 : : return 9491; /* *avx512vl_storev16hf_mask_1 */
15355 : :
15356 : : case 14:
15357 : : if (!
15358 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15359 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15360 : : return -1;
15361 : : return 9492; /* *avx512fp16_storev8hf_mask_1 */
15362 : :
15363 : : case 15:
15364 : : if (!(
15365 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15366 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15367 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15368 : : (TARGET_AVX512F)))
15369 : : return -1;
15370 : : return 9493; /* *avx512bw_storev32bf_mask_1 */
15371 : :
15372 : : case 16:
15373 : : if (!(
15374 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15375 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15376 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15377 : : (TARGET_AVX)))
15378 : : return -1;
15379 : : return 9494; /* *avx512vl_storev16bf_mask_1 */
15380 : :
15381 : : case 17:
15382 : : if (!
15383 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15384 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15385 : : return -1;
15386 : : return 9495; /* *avx512vl_storev8bf_mask_1 */
15387 : :
15388 : : case 18:
15389 : : if (!(
15390 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15391 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15392 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15393 : : (TARGET_AVX512F)))
15394 : : return -1;
15395 : : return 9496; /* *avx512f_storev16sf_mask_1 */
15396 : :
15397 : : case 19:
15398 : : if (!(
15399 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15400 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15401 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15402 : : (TARGET_AVX)))
15403 : : return -1;
15404 : : return 9497; /* *avx512vl_storev8sf_mask_1 */
15405 : :
15406 : : case 20:
15407 : : if (!
15408 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15409 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15410 : : return -1;
15411 : : return 9498; /* *avx512vl_storev4sf_mask_1 */
15412 : :
15413 : : case 21:
15414 : : if (!(
15415 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15416 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15417 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15418 : : (TARGET_AVX512F)))
15419 : : return -1;
15420 : : return 9499; /* *avx512f_storev8df_mask_1 */
15421 : :
15422 : : case 22:
15423 : : if (!(
15424 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15425 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15426 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15427 : : (TARGET_AVX)))
15428 : : return -1;
15429 : : return 9500; /* *avx512vl_storev4df_mask_1 */
15430 : :
15431 : : case 23:
15432 : : if (!(
15433 : : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15434 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15435 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15436 : : (TARGET_SSE2)))
15437 : : return -1;
15438 : : return 9501; /* *avx512vl_storev2df_mask_1 */
15439 : :
15440 : : default:
15441 : : return -1;
15442 : : }
15443 : :
15444 : : default:
15445 : : return -1;
15446 : : }
15447 : : }
15448 : :
15449 : : int
15450 : : recog_270 (rtx x1 ATTRIBUTE_UNUSED,
15451 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15452 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15453 : : {
15454 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15455 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15456 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
15457 : : int res ATTRIBUTE_UNUSED;
15458 : : x2 = XEXP (x1, 1);
15459 : : x3 = XEXP (x2, 0);
15460 : : x4 = XEXP (x3, 2);
15461 : : if (!register_operand (x4, E_QImode))
15462 : : return -1;
15463 : : x5 = XEXP (x3, 0);
15464 : : switch (GET_CODE (x5))
15465 : : {
15466 : : case FLOAT:
15467 : : switch (pattern492 (x2))
15468 : : {
15469 : : case 0:
15470 : : if (!
15471 : : #line 7751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15472 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15473 : : return -1;
15474 : : return 4486; /* *avx512fp16_vcvtdq2ph_v4si_mask */
15475 : :
15476 : : case 1:
15477 : : if (!
15478 : : #line 7751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15479 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15480 : : return -1;
15481 : : return 4488; /* *avx512fp16_vcvtqq2ph_v4di_mask */
15482 : :
15483 : : case 2:
15484 : : if (!
15485 : : #line 7827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15486 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15487 : : return -1;
15488 : : return 4496; /* *avx512fp16_vcvtqq2ph_v2di_mask */
15489 : :
15490 : : case 3:
15491 : : if (!
15492 : : #line 9340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15493 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
15494 : : return -1;
15495 : : return 4940; /* *floatv2div2sf2_mask */
15496 : :
15497 : : case 4:
15498 : : if (!
15499 : : #line 7766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15500 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15501 : : return -1;
15502 : : return 4490; /* *avx512fp16_vcvtdq2ph_v4si_mask_1 */
15503 : :
15504 : : case 5:
15505 : : if (!
15506 : : #line 7766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15507 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15508 : : return -1;
15509 : : return 4492; /* *avx512fp16_vcvtqq2ph_v4di_mask_1 */
15510 : :
15511 : : case 6:
15512 : : if (!
15513 : : #line 7842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15514 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15515 : : return -1;
15516 : : return 4498; /* *avx512fp16_vcvtqq2ph_v2di_mask_1 */
15517 : :
15518 : : case 7:
15519 : : if (!
15520 : : #line 9355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15521 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
15522 : : return -1;
15523 : : return 4942; /* *floatv2div2sf2_mask_1 */
15524 : :
15525 : : default:
15526 : : return -1;
15527 : : }
15528 : :
15529 : : case UNSIGNED_FLOAT:
15530 : : switch (pattern492 (x2))
15531 : : {
15532 : : case 0:
15533 : : if (!
15534 : : #line 7751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15535 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15536 : : return -1;
15537 : : return 4487; /* *avx512fp16_vcvtudq2ph_v4si_mask */
15538 : :
15539 : : case 1:
15540 : : if (!
15541 : : #line 7751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15542 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15543 : : return -1;
15544 : : return 4489; /* *avx512fp16_vcvtuqq2ph_v4di_mask */
15545 : :
15546 : : case 2:
15547 : : if (!
15548 : : #line 7827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15549 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15550 : : return -1;
15551 : : return 4497; /* *avx512fp16_vcvtuqq2ph_v2di_mask */
15552 : :
15553 : : case 3:
15554 : : if (!
15555 : : #line 9340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15556 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
15557 : : return -1;
15558 : : return 4941; /* *floatunsv2div2sf2_mask */
15559 : :
15560 : : case 4:
15561 : : if (!
15562 : : #line 7766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15563 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15564 : : return -1;
15565 : : return 4491; /* *avx512fp16_vcvtudq2ph_v4si_mask_1 */
15566 : :
15567 : : case 5:
15568 : : if (!
15569 : : #line 7766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15570 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15571 : : return -1;
15572 : : return 4493; /* *avx512fp16_vcvtuqq2ph_v4di_mask_1 */
15573 : :
15574 : : case 6:
15575 : : if (!
15576 : : #line 7842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15577 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15578 : : return -1;
15579 : : return 4499; /* *avx512fp16_vcvtuqq2ph_v2di_mask_1 */
15580 : :
15581 : : case 7:
15582 : : if (!
15583 : : #line 9355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15584 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
15585 : : return -1;
15586 : : return 4943; /* *floatunsv2div2sf2_mask_1 */
15587 : :
15588 : : default:
15589 : : return -1;
15590 : : }
15591 : :
15592 : : case FLOAT_TRUNCATE:
15593 : : x6 = XEXP (x5, 0);
15594 : : operands[1] = x6;
15595 : : x7 = XEXP (x2, 1);
15596 : : operands[4] = x7;
15597 : : x8 = XEXP (x3, 1);
15598 : : switch (GET_CODE (x8))
15599 : : {
15600 : : case VEC_SELECT:
15601 : : x9 = XEXP (x8, 1);
15602 : : if (GET_CODE (x9) != PARALLEL)
15603 : : return -1;
15604 : : x10 = XEXP (x8, 0);
15605 : : operands[2] = x10;
15606 : : operands[3] = x4;
15607 : : switch (XVECLEN (x9, 0))
15608 : : {
15609 : : case 4:
15610 : : if (pattern1205 (x9,
15611 : : 3,
15612 : : 2,
15613 : : 1,
15614 : : 0) != 0)
15615 : : return -1;
15616 : : switch (GET_MODE (operands[0]))
15617 : : {
15618 : : case E_V8HFmode:
15619 : : if (!register_operand (operands[0], E_V8HFmode)
15620 : : || GET_MODE (x2) != E_V8HFmode
15621 : : || GET_MODE (x3) != E_V4HFmode
15622 : : || GET_MODE (x5) != E_V4HFmode
15623 : : || GET_MODE (x8) != E_V4HFmode
15624 : : || !nonimm_or_0_operand (operands[2], E_V8HFmode))
15625 : : return -1;
15626 : : switch (pattern1544 ())
15627 : : {
15628 : : case 0:
15629 : : if (!
15630 : : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15631 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15632 : : return -1;
15633 : : return 4710; /* *avx512fp16_vcvtpd2ph_v4df_mask */
15634 : :
15635 : : case 1:
15636 : : if (!
15637 : : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15638 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15639 : : return -1;
15640 : : return 4711; /* *avx512fp16_vcvtps2ph_v4sf_mask */
15641 : :
15642 : : default:
15643 : : return -1;
15644 : : }
15645 : :
15646 : : case E_V8BFmode:
15647 : : if (pattern488 (x2,
15648 : : E_V4BFmode,
15649 : : E_V8BFmode,
15650 : : E_V4SFmode) != 0
15651 : : || !
15652 : : #line 31227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15653 : : (TARGET_AVX512BF16 && TARGET_AVX512VL))
15654 : : return -1;
15655 : : return 10297; /* avx512f_cvtneps2bf16_v4sf_mask_1 */
15656 : :
15657 : : default:
15658 : : return -1;
15659 : : }
15660 : :
15661 : : case 2:
15662 : : switch (pattern489 (x2,
15663 : : E_V2DFmode))
15664 : : {
15665 : : case 0:
15666 : : if (!
15667 : : #line 8298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15668 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15669 : : return -1;
15670 : : return 4715; /* *avx512fp16_vcvtpd2ph_v2df_mask */
15671 : :
15672 : : case 1:
15673 : : if (!
15674 : : #line 10204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15675 : : (TARGET_AVX512VL))
15676 : : return -1;
15677 : : return 5115; /* *sse2_cvtpd2ps_mask */
15678 : :
15679 : : default:
15680 : : return -1;
15681 : : }
15682 : :
15683 : : default:
15684 : : return -1;
15685 : : }
15686 : :
15687 : : case CONST_INT:
15688 : : case CONST_DOUBLE:
15689 : : case CONST_VECTOR:
15690 : : operands[3] = x8;
15691 : : operands[2] = x4;
15692 : : switch (GET_MODE (operands[0]))
15693 : : {
15694 : : case E_V8HFmode:
15695 : : if (!register_operand (operands[0], E_V8HFmode)
15696 : : || GET_MODE (x2) != E_V8HFmode)
15697 : : return -1;
15698 : : switch (GET_MODE (x3))
15699 : : {
15700 : : case E_V4HFmode:
15701 : : if (GET_MODE (x5) != E_V4HFmode
15702 : : || !const0_operand (operands[3], E_V4HFmode))
15703 : : return -1;
15704 : : switch (pattern1544 ())
15705 : : {
15706 : : case 0:
15707 : : if (!
15708 : : #line 8237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15709 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15710 : : return -1;
15711 : : return 4712; /* *avx512fp16_vcvtpd2ph_v4df_mask_1 */
15712 : :
15713 : : case 1:
15714 : : if (!
15715 : : #line 8237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15716 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15717 : : return -1;
15718 : : return 4713; /* *avx512fp16_vcvtps2ph_v4sf_mask_1 */
15719 : :
15720 : : default:
15721 : : return -1;
15722 : : }
15723 : :
15724 : : case E_V2HFmode:
15725 : : if (pattern490 (x5,
15726 : : E_V2DFmode) != 0
15727 : : || !
15728 : : #line 8313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15729 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15730 : : return -1;
15731 : : return 4716; /* *avx512fp16_vcvtpd2ph_v2df_mask_1 */
15732 : :
15733 : : default:
15734 : : return -1;
15735 : : }
15736 : :
15737 : : case E_V4SFmode:
15738 : : if (pattern491 (x2,
15739 : : E_V2DFmode) != 0
15740 : : || !
15741 : : #line 10219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15742 : : (TARGET_AVX512VL))
15743 : : return -1;
15744 : : return 5116; /* *sse2_cvtpd2ps_mask_1 */
15745 : :
15746 : : default:
15747 : : return -1;
15748 : : }
15749 : :
15750 : : default:
15751 : : return -1;
15752 : : }
15753 : :
15754 : : case UNSPEC:
15755 : : switch (XVECLEN (x5, 0))
15756 : : {
15757 : : case 1:
15758 : : x11 = XVECEXP (x5, 0, 0);
15759 : : operands[1] = x11;
15760 : : switch (XINT (x5, 1))
15761 : : {
15762 : : case 47:
15763 : : switch (pattern899 (x2))
15764 : : {
15765 : : case 0:
15766 : : if (!
15767 : : #line 9499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15768 : : (TARGET_AVX512VL))
15769 : : return -1;
15770 : : return 4962; /* sse2_cvtpd2dq_mask */
15771 : :
15772 : : case 1:
15773 : : if (!
15774 : : #line 9514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15775 : : (TARGET_AVX512VL))
15776 : : return -1;
15777 : : return 4963; /* *sse2_cvtpd2dq_mask_1 */
15778 : :
15779 : : default:
15780 : : return -1;
15781 : : }
15782 : :
15783 : : case 157:
15784 : : switch (pattern899 (x2))
15785 : : {
15786 : : case 0:
15787 : : if (!
15788 : : #line 9560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15789 : : (TARGET_AVX512VL))
15790 : : return -1;
15791 : : return 4973; /* fixuns_notruncv2dfv2si2_mask */
15792 : :
15793 : : case 1:
15794 : : if (!
15795 : : #line 9576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15796 : : (TARGET_AVX512VL))
15797 : : return -1;
15798 : : return 4974; /* *fixuns_notruncv2dfv2si2_mask_1 */
15799 : :
15800 : : default:
15801 : : return -1;
15802 : : }
15803 : :
15804 : : case 174:
15805 : : if (GET_MODE (x5) != E_V2SImode)
15806 : : return -1;
15807 : : x8 = XEXP (x3, 1);
15808 : : if (pattern655 (x8,
15809 : : 2,
15810 : : E_V2SImode) != 0)
15811 : : return -1;
15812 : : x9 = XEXP (x8, 1);
15813 : : x12 = XVECEXP (x9, 0, 0);
15814 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
15815 : : return -1;
15816 : : x13 = XVECEXP (x9, 0, 1);
15817 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15818 : : return -1;
15819 : : x7 = XEXP (x2, 1);
15820 : : if (GET_CODE (x7) != CONST_VECTOR
15821 : : || XVECLEN (x7, 0) != 2
15822 : : || GET_MODE (x7) != E_V2SImode)
15823 : : return -1;
15824 : : x14 = XVECEXP (x7, 0, 0);
15825 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
15826 : : return -1;
15827 : : x15 = XVECEXP (x7, 0, 1);
15828 : : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
15829 : : || !register_operand (operands[0], E_V4SImode)
15830 : : || GET_MODE (x2) != E_V4SImode
15831 : : || GET_MODE (x3) != E_V2SImode
15832 : : || !nonimmediate_operand (operands[1], E_V2DFmode))
15833 : : return -1;
15834 : : x10 = XEXP (x8, 0);
15835 : : operands[2] = x10;
15836 : : if (!nonimm_or_0_operand (operands[2], E_V4SImode))
15837 : : return -1;
15838 : : operands[3] = x4;
15839 : : if (!
15840 : : #line 9637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15841 : : (TARGET_AVX512VL))
15842 : : return -1;
15843 : : return 4993; /* unspec_fixuns_truncv2dfv2si2_mask */
15844 : :
15845 : : case 254:
15846 : : if (pattern900 (x2) != 0
15847 : : || !
15848 : : #line 32030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15849 : : (TARGET_AVX10_2))
15850 : : return -1;
15851 : : return 10449; /* *vcvtph2bf8v8hf_mask */
15852 : :
15853 : : case 255:
15854 : : if (pattern900 (x2) != 0
15855 : : || !
15856 : : #line 32030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15857 : : (TARGET_AVX10_2))
15858 : : return -1;
15859 : : return 10450; /* *vcvtph2bf8sv8hf_mask */
15860 : :
15861 : : case 256:
15862 : : if (pattern900 (x2) != 0
15863 : : || !
15864 : : #line 32030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15865 : : (TARGET_AVX10_2))
15866 : : return -1;
15867 : : return 10451; /* *vcvtph2hf8v8hf_mask */
15868 : :
15869 : : case 257:
15870 : : if (pattern900 (x2) != 0
15871 : : || !
15872 : : #line 32030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15873 : : (TARGET_AVX10_2))
15874 : : return -1;
15875 : : return 10452; /* *vcvtph2hf8sv8hf_mask */
15876 : :
15877 : : default:
15878 : : return -1;
15879 : : }
15880 : :
15881 : : case 2:
15882 : : x8 = XEXP (x3, 1);
15883 : : if (pattern655 (x8,
15884 : : 8,
15885 : : E_V8QImode) != 0)
15886 : : return -1;
15887 : : x9 = XEXP (x8, 1);
15888 : : x12 = XVECEXP (x9, 0, 0);
15889 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
15890 : : return -1;
15891 : : x13 = XVECEXP (x9, 0, 1);
15892 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15893 : : return -1;
15894 : : x16 = XVECEXP (x9, 0, 2);
15895 : : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
15896 : : || pattern1402 (x9,
15897 : : 7,
15898 : : 6,
15899 : : 5,
15900 : : 4,
15901 : : 3) != 0
15902 : : || !register_operand (operands[0], E_V16QImode)
15903 : : || GET_MODE (x2) != E_V16QImode
15904 : : || GET_MODE (x3) != E_V8QImode
15905 : : || GET_MODE (x5) != E_V8QImode)
15906 : : return -1;
15907 : : x11 = XVECEXP (x5, 0, 0);
15908 : : operands[1] = x11;
15909 : : if (!register_operand (operands[1], E_V16QImode))
15910 : : return -1;
15911 : : x17 = XVECEXP (x5, 0, 1);
15912 : : operands[2] = x17;
15913 : : if (!nonimmediate_operand (operands[2], E_V8HFmode))
15914 : : return -1;
15915 : : x10 = XEXP (x8, 0);
15916 : : operands[3] = x10;
15917 : : if (!nonimm_or_0_operand (operands[3], E_V16QImode))
15918 : : return -1;
15919 : : operands[4] = x4;
15920 : : x7 = XEXP (x2, 1);
15921 : : operands[5] = x7;
15922 : : if (!const0_operand (operands[5], E_V8QImode))
15923 : : return -1;
15924 : : switch (XINT (x5, 1))
15925 : : {
15926 : : case 246:
15927 : : if (!
15928 : : #line 31942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15929 : : (TARGET_AVX10_2))
15930 : : return -1;
15931 : : return 10425; /* *vcvtbiasph2bf8v8hf_mask */
15932 : :
15933 : : case 247:
15934 : : if (!
15935 : : #line 31942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15936 : : (TARGET_AVX10_2))
15937 : : return -1;
15938 : : return 10426; /* *vcvtbiasph2bf8sv8hf_mask */
15939 : :
15940 : : case 248:
15941 : : if (!
15942 : : #line 31942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15943 : : (TARGET_AVX10_2))
15944 : : return -1;
15945 : : return 10427; /* *vcvtbiasph2hf8v8hf_mask */
15946 : :
15947 : : case 249:
15948 : : if (!
15949 : : #line 31942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15950 : : (TARGET_AVX10_2))
15951 : : return -1;
15952 : : return 10428; /* *vcvtbiasph2hf8sv8hf_mask */
15953 : :
15954 : : default:
15955 : : return -1;
15956 : : }
15957 : :
15958 : : default:
15959 : : return -1;
15960 : : }
15961 : :
15962 : : case UNSIGNED_FIX:
15963 : : switch (pattern494 (x2))
15964 : : {
15965 : : case 0:
15966 : : if (!
15967 : : #line 9653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15968 : : (TARGET_AVX512VL))
15969 : : return -1;
15970 : : return 4994; /* fixuns_truncv2dfv2si2_mask */
15971 : :
15972 : : case 1:
15973 : : if (!
15974 : : #line 9667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15975 : : (TARGET_AVX512VL))
15976 : : return -1;
15977 : : return 4995; /* *fixuns_truncv2dfv2si2_mask_1 */
15978 : :
15979 : : default:
15980 : : return -1;
15981 : : }
15982 : :
15983 : : case FIX:
15984 : : switch (pattern494 (x2))
15985 : : {
15986 : : case 0:
15987 : : if (!
15988 : : #line 10002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15989 : : (TARGET_AVX512VL))
15990 : : return -1;
15991 : : return 5095; /* sse2_cvttpd2dq_mask */
15992 : :
15993 : : case 1:
15994 : : if (!
15995 : : #line 10016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15996 : : (TARGET_AVX512VL))
15997 : : return -1;
15998 : : return 5096; /* *sse2_cvttpd2dq_mask_1 */
15999 : :
16000 : : default:
16001 : : return -1;
16002 : : }
16003 : :
16004 : : case SS_TRUNCATE:
16005 : : switch (pattern500 (x2))
16006 : : {
16007 : : case 0:
16008 : : if (!
16009 : : #line 15458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16010 : : (TARGET_AVX512VL))
16011 : : return -1;
16012 : : return 7254; /* avx512vl_ss_truncatev2div2qi2_mask */
16013 : :
16014 : : case 1:
16015 : : if (!
16016 : : #line 15900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16017 : : (TARGET_AVX512VL))
16018 : : return -1;
16019 : : return 7369; /* avx512vl_ss_truncatev2div2hi2_mask */
16020 : :
16021 : : case 2:
16022 : : if (!
16023 : : #line 16048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16024 : : (TARGET_AVX512VL))
16025 : : return -1;
16026 : : return 7388; /* avx512vl_ss_truncatev2div2si2_mask */
16027 : :
16028 : : case 3:
16029 : : if (!
16030 : : #line 15553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16031 : : (TARGET_AVX512VL))
16032 : : return -1;
16033 : : return 7275; /* avx512vl_ss_truncatev4siv4qi2_mask */
16034 : :
16035 : : case 4:
16036 : : if (!
16037 : : #line 15553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16038 : : (TARGET_AVX512VL))
16039 : : return -1;
16040 : : return 7278; /* avx512vl_ss_truncatev4div4qi2_mask */
16041 : :
16042 : : case 5:
16043 : : if (!
16044 : : #line 15809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16045 : : (TARGET_AVX512VL))
16046 : : return -1;
16047 : : return 7345; /* avx512vl_ss_truncatev4siv4hi2_mask */
16048 : :
16049 : : case 6:
16050 : : if (!
16051 : : #line 15809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16052 : : (TARGET_AVX512VL))
16053 : : return -1;
16054 : : return 7348; /* avx512vl_ss_truncatev4div4hi2_mask */
16055 : :
16056 : : case 7:
16057 : : if (!(
16058 : : #line 15651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16059 : : (TARGET_AVX512VL) &&
16060 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16061 : : (TARGET_AVX512BW)))
16062 : : return -1;
16063 : : return 7305; /* avx512vl_ss_truncatev8hiv8qi2_mask */
16064 : :
16065 : : case 8:
16066 : : if (!
16067 : : #line 15651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16068 : : (TARGET_AVX512VL))
16069 : : return -1;
16070 : : return 7308; /* avx512vl_ss_truncatev8siv8qi2_mask */
16071 : :
16072 : : case 9:
16073 : : if (!
16074 : : #line 16167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16075 : : (TARGET_AVX512F))
16076 : : return -1;
16077 : : return 7406; /* avx512f_ss_truncatev8div16qi2_mask */
16078 : :
16079 : : case 10:
16080 : : if (!
16081 : : #line 15479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16082 : : (TARGET_AVX512VL))
16083 : : return -1;
16084 : : return 7257; /* *avx512vl_ss_truncatev2div2qi2_mask_1 */
16085 : :
16086 : : case 11:
16087 : : if (!
16088 : : #line 15917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16089 : : (TARGET_AVX512VL))
16090 : : return -1;
16091 : : return 7372; /* *avx512vl_ss_truncatev2div2hi2_mask_1 */
16092 : :
16093 : : case 12:
16094 : : if (!
16095 : : #line 16063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16096 : : (TARGET_AVX512VL))
16097 : : return -1;
16098 : : return 7391; /* *avx512vl_ss_truncatev2div2si2_mask_1 */
16099 : :
16100 : : case 13:
16101 : : if (!
16102 : : #line 15574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16103 : : (TARGET_AVX512VL))
16104 : : return -1;
16105 : : return 7281; /* *avx512vl_ss_truncatev4siv4qi2_mask_1 */
16106 : :
16107 : : case 14:
16108 : : if (!
16109 : : #line 15574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16110 : : (TARGET_AVX512VL))
16111 : : return -1;
16112 : : return 7284; /* *avx512vl_ss_truncatev4div4qi2_mask_1 */
16113 : :
16114 : : case 15:
16115 : : if (!
16116 : : #line 15826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16117 : : (TARGET_AVX512VL))
16118 : : return -1;
16119 : : return 7351; /* *avx512vl_ss_truncatev4siv4hi2_mask_1 */
16120 : :
16121 : : case 16:
16122 : : if (!
16123 : : #line 15826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16124 : : (TARGET_AVX512VL))
16125 : : return -1;
16126 : : return 7354; /* *avx512vl_ss_truncatev4div4hi2_mask_1 */
16127 : :
16128 : : case 17:
16129 : : if (!(
16130 : : #line 15672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16131 : : (TARGET_AVX512VL) &&
16132 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16133 : : (TARGET_AVX512BW)))
16134 : : return -1;
16135 : : return 7311; /* *avx512vl_ss_truncatev8hiv8qi2_mask_1 */
16136 : :
16137 : : case 18:
16138 : : if (!
16139 : : #line 15672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16140 : : (TARGET_AVX512VL))
16141 : : return -1;
16142 : : return 7314; /* *avx512vl_ss_truncatev8siv8qi2_mask_1 */
16143 : :
16144 : : case 19:
16145 : : if (!
16146 : : #line 16188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16147 : : (TARGET_AVX512F))
16148 : : return -1;
16149 : : return 7409; /* *avx512f_ss_truncatev8div16qi2_mask_1 */
16150 : :
16151 : : default:
16152 : : return -1;
16153 : : }
16154 : :
16155 : : case TRUNCATE:
16156 : : switch (pattern500 (x2))
16157 : : {
16158 : : case 0:
16159 : : if (!
16160 : : #line 15458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16161 : : (TARGET_AVX512VL))
16162 : : return -1;
16163 : : return 7255; /* avx512vl_truncatev2div2qi2_mask */
16164 : :
16165 : : case 1:
16166 : : if (!
16167 : : #line 15900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16168 : : (TARGET_AVX512VL))
16169 : : return -1;
16170 : : return 7370; /* avx512vl_truncatev2div2hi2_mask */
16171 : :
16172 : : case 2:
16173 : : if (!
16174 : : #line 16048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16175 : : (TARGET_AVX512VL))
16176 : : return -1;
16177 : : return 7389; /* avx512vl_truncatev2div2si2_mask */
16178 : :
16179 : : case 3:
16180 : : if (!
16181 : : #line 15553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16182 : : (TARGET_AVX512VL))
16183 : : return -1;
16184 : : return 7276; /* avx512vl_truncatev4siv4qi2_mask */
16185 : :
16186 : : case 4:
16187 : : if (!
16188 : : #line 15553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16189 : : (TARGET_AVX512VL))
16190 : : return -1;
16191 : : return 7279; /* avx512vl_truncatev4div4qi2_mask */
16192 : :
16193 : : case 5:
16194 : : if (!
16195 : : #line 15809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16196 : : (TARGET_AVX512VL))
16197 : : return -1;
16198 : : return 7346; /* avx512vl_truncatev4siv4hi2_mask */
16199 : :
16200 : : case 6:
16201 : : if (!
16202 : : #line 15809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16203 : : (TARGET_AVX512VL))
16204 : : return -1;
16205 : : return 7349; /* avx512vl_truncatev4div4hi2_mask */
16206 : :
16207 : : case 7:
16208 : : if (!(
16209 : : #line 15651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16210 : : (TARGET_AVX512VL) &&
16211 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16212 : : (TARGET_AVX512BW)))
16213 : : return -1;
16214 : : return 7306; /* avx512vl_truncatev8hiv8qi2_mask */
16215 : :
16216 : : case 8:
16217 : : if (!
16218 : : #line 15651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16219 : : (TARGET_AVX512VL))
16220 : : return -1;
16221 : : return 7309; /* avx512vl_truncatev8siv8qi2_mask */
16222 : :
16223 : : case 9:
16224 : : if (!
16225 : : #line 16167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16226 : : (TARGET_AVX512F))
16227 : : return -1;
16228 : : return 7407; /* avx512f_truncatev8div16qi2_mask */
16229 : :
16230 : : case 10:
16231 : : if (!
16232 : : #line 15479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16233 : : (TARGET_AVX512VL))
16234 : : return -1;
16235 : : return 7258; /* *avx512vl_truncatev2div2qi2_mask_1 */
16236 : :
16237 : : case 11:
16238 : : if (!
16239 : : #line 15917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16240 : : (TARGET_AVX512VL))
16241 : : return -1;
16242 : : return 7373; /* *avx512vl_truncatev2div2hi2_mask_1 */
16243 : :
16244 : : case 12:
16245 : : if (!
16246 : : #line 16063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16247 : : (TARGET_AVX512VL))
16248 : : return -1;
16249 : : return 7392; /* *avx512vl_truncatev2div2si2_mask_1 */
16250 : :
16251 : : case 13:
16252 : : if (!
16253 : : #line 15574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16254 : : (TARGET_AVX512VL))
16255 : : return -1;
16256 : : return 7282; /* *avx512vl_truncatev4siv4qi2_mask_1 */
16257 : :
16258 : : case 14:
16259 : : if (!
16260 : : #line 15574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16261 : : (TARGET_AVX512VL))
16262 : : return -1;
16263 : : return 7285; /* *avx512vl_truncatev4div4qi2_mask_1 */
16264 : :
16265 : : case 15:
16266 : : if (!
16267 : : #line 15826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16268 : : (TARGET_AVX512VL))
16269 : : return -1;
16270 : : return 7352; /* *avx512vl_truncatev4siv4hi2_mask_1 */
16271 : :
16272 : : case 16:
16273 : : if (!
16274 : : #line 15826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16275 : : (TARGET_AVX512VL))
16276 : : return -1;
16277 : : return 7355; /* *avx512vl_truncatev4div4hi2_mask_1 */
16278 : :
16279 : : case 17:
16280 : : if (!(
16281 : : #line 15672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16282 : : (TARGET_AVX512VL) &&
16283 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16284 : : (TARGET_AVX512BW)))
16285 : : return -1;
16286 : : return 7312; /* *avx512vl_truncatev8hiv8qi2_mask_1 */
16287 : :
16288 : : case 18:
16289 : : if (!
16290 : : #line 15672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16291 : : (TARGET_AVX512VL))
16292 : : return -1;
16293 : : return 7315; /* *avx512vl_truncatev8siv8qi2_mask_1 */
16294 : :
16295 : : case 19:
16296 : : if (!
16297 : : #line 16188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16298 : : (TARGET_AVX512F))
16299 : : return -1;
16300 : : return 7410; /* *avx512f_truncatev8div16qi2_mask_1 */
16301 : :
16302 : : default:
16303 : : return -1;
16304 : : }
16305 : :
16306 : : case US_TRUNCATE:
16307 : : switch (pattern500 (x2))
16308 : : {
16309 : : case 0:
16310 : : if (!
16311 : : #line 15458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16312 : : (TARGET_AVX512VL))
16313 : : return -1;
16314 : : return 7256; /* avx512vl_us_truncatev2div2qi2_mask */
16315 : :
16316 : : case 1:
16317 : : if (!
16318 : : #line 15900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16319 : : (TARGET_AVX512VL))
16320 : : return -1;
16321 : : return 7371; /* avx512vl_us_truncatev2div2hi2_mask */
16322 : :
16323 : : case 2:
16324 : : if (!
16325 : : #line 16048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16326 : : (TARGET_AVX512VL))
16327 : : return -1;
16328 : : return 7390; /* avx512vl_us_truncatev2div2si2_mask */
16329 : :
16330 : : case 3:
16331 : : if (!
16332 : : #line 15553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16333 : : (TARGET_AVX512VL))
16334 : : return -1;
16335 : : return 7277; /* avx512vl_us_truncatev4siv4qi2_mask */
16336 : :
16337 : : case 4:
16338 : : if (!
16339 : : #line 15553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16340 : : (TARGET_AVX512VL))
16341 : : return -1;
16342 : : return 7280; /* avx512vl_us_truncatev4div4qi2_mask */
16343 : :
16344 : : case 5:
16345 : : if (!
16346 : : #line 15809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16347 : : (TARGET_AVX512VL))
16348 : : return -1;
16349 : : return 7347; /* avx512vl_us_truncatev4siv4hi2_mask */
16350 : :
16351 : : case 6:
16352 : : if (!
16353 : : #line 15809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16354 : : (TARGET_AVX512VL))
16355 : : return -1;
16356 : : return 7350; /* avx512vl_us_truncatev4div4hi2_mask */
16357 : :
16358 : : case 7:
16359 : : if (!(
16360 : : #line 15651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16361 : : (TARGET_AVX512VL) &&
16362 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16363 : : (TARGET_AVX512BW)))
16364 : : return -1;
16365 : : return 7307; /* avx512vl_us_truncatev8hiv8qi2_mask */
16366 : :
16367 : : case 8:
16368 : : if (!
16369 : : #line 15651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16370 : : (TARGET_AVX512VL))
16371 : : return -1;
16372 : : return 7310; /* avx512vl_us_truncatev8siv8qi2_mask */
16373 : :
16374 : : case 9:
16375 : : if (!
16376 : : #line 16167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16377 : : (TARGET_AVX512F))
16378 : : return -1;
16379 : : return 7408; /* avx512f_us_truncatev8div16qi2_mask */
16380 : :
16381 : : case 10:
16382 : : if (!
16383 : : #line 15479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16384 : : (TARGET_AVX512VL))
16385 : : return -1;
16386 : : return 7259; /* *avx512vl_us_truncatev2div2qi2_mask_1 */
16387 : :
16388 : : case 11:
16389 : : if (!
16390 : : #line 15917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16391 : : (TARGET_AVX512VL))
16392 : : return -1;
16393 : : return 7374; /* *avx512vl_us_truncatev2div2hi2_mask_1 */
16394 : :
16395 : : case 12:
16396 : : if (!
16397 : : #line 16063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16398 : : (TARGET_AVX512VL))
16399 : : return -1;
16400 : : return 7393; /* *avx512vl_us_truncatev2div2si2_mask_1 */
16401 : :
16402 : : case 13:
16403 : : if (!
16404 : : #line 15574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16405 : : (TARGET_AVX512VL))
16406 : : return -1;
16407 : : return 7283; /* *avx512vl_us_truncatev4siv4qi2_mask_1 */
16408 : :
16409 : : case 14:
16410 : : if (!
16411 : : #line 15574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16412 : : (TARGET_AVX512VL))
16413 : : return -1;
16414 : : return 7286; /* *avx512vl_us_truncatev4div4qi2_mask_1 */
16415 : :
16416 : : case 15:
16417 : : if (!
16418 : : #line 15826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16419 : : (TARGET_AVX512VL))
16420 : : return -1;
16421 : : return 7353; /* *avx512vl_us_truncatev4siv4hi2_mask_1 */
16422 : :
16423 : : case 16:
16424 : : if (!
16425 : : #line 15826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16426 : : (TARGET_AVX512VL))
16427 : : return -1;
16428 : : return 7356; /* *avx512vl_us_truncatev4div4hi2_mask_1 */
16429 : :
16430 : : case 17:
16431 : : if (!(
16432 : : #line 15672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16433 : : (TARGET_AVX512VL) &&
16434 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16435 : : (TARGET_AVX512BW)))
16436 : : return -1;
16437 : : return 7313; /* *avx512vl_us_truncatev8hiv8qi2_mask_1 */
16438 : :
16439 : : case 18:
16440 : : if (!
16441 : : #line 15672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16442 : : (TARGET_AVX512VL))
16443 : : return -1;
16444 : : return 7316; /* *avx512vl_us_truncatev8siv8qi2_mask_1 */
16445 : :
16446 : : case 19:
16447 : : if (!
16448 : : #line 16188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16449 : : (TARGET_AVX512F))
16450 : : return -1;
16451 : : return 7411; /* *avx512f_us_truncatev8div16qi2_mask_1 */
16452 : :
16453 : : default:
16454 : : return -1;
16455 : : }
16456 : :
16457 : : default:
16458 : : return -1;
16459 : : }
16460 : : }
16461 : :
16462 : : int
16463 : : recog_288 (rtx x1 ATTRIBUTE_UNUSED,
16464 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16465 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16466 : : {
16467 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16468 : : rtx x2, x3, x4, x5, x6, x7;
16469 : : int res ATTRIBUTE_UNUSED;
16470 : : x2 = XEXP (x1, 1);
16471 : : x3 = XEXP (x2, 1);
16472 : : x4 = XVECEXP (x3, 0, 0);
16473 : : if (GET_CODE (x4) != CONST_INT)
16474 : : return -1;
16475 : : operands[2] = x4;
16476 : : res = recog_287 (x1, insn, pnum_clobbers);
16477 : : if (res >= 0)
16478 : : return res;
16479 : : x5 = XVECEXP (x3, 0, 1);
16480 : : if (GET_CODE (x5) != CONST_INT)
16481 : : return -1;
16482 : : x6 = XVECEXP (x3, 0, 2);
16483 : : if (GET_CODE (x6) != CONST_INT)
16484 : : return -1;
16485 : : x7 = XVECEXP (x3, 0, 3);
16486 : : if (GET_CODE (x7) != CONST_INT)
16487 : : return -1;
16488 : : switch (XWINT (x4, 0))
16489 : : {
16490 : : case 0L:
16491 : : if (XWINT (x5, 0) != 1L
16492 : : || XWINT (x6, 0) != 2L
16493 : : || XWINT (x7, 0) != 3L)
16494 : : return -1;
16495 : : switch (GET_MODE (operands[0]))
16496 : : {
16497 : : case E_V4DFmode:
16498 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
16499 : : || GET_MODE (x2) != E_V4DFmode
16500 : : || !nonimmediate_operand (operands[1], E_V8DFmode)
16501 : : || !
16502 : : #line 12659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16503 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16504 : : return -1;
16505 : : return 5276; /* vec_extract_lo_v8df */
16506 : :
16507 : : case E_V4DImode:
16508 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
16509 : : || GET_MODE (x2) != E_V4DImode
16510 : : || !nonimmediate_operand (operands[1], E_V8DImode)
16511 : : || !
16512 : : #line 12659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16513 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16514 : : return -1;
16515 : : return 5277; /* vec_extract_lo_v8di */
16516 : :
16517 : : case E_V4SImode:
16518 : : if (!nonimmediate_operand (operands[0], E_V4SImode)
16519 : : || GET_MODE (x2) != E_V4SImode
16520 : : || !nonimmediate_operand (operands[1], E_V8SImode)
16521 : : || !
16522 : : #line 12992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16523 : : (TARGET_AVX
16524 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16525 : : return -1;
16526 : : return 5300; /* vec_extract_lo_v8si */
16527 : :
16528 : : case E_V4SFmode:
16529 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
16530 : : || GET_MODE (x2) != E_V4SFmode
16531 : : || !nonimmediate_operand (operands[1], E_V8SFmode)
16532 : : || !
16533 : : #line 12992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16534 : : (TARGET_AVX
16535 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16536 : : return -1;
16537 : : return 5301; /* vec_extract_lo_v8sf */
16538 : :
16539 : : default:
16540 : : return -1;
16541 : : }
16542 : :
16543 : : case 4L:
16544 : : if (XWINT (x5, 0) != 5L
16545 : : || XWINT (x6, 0) != 6L
16546 : : || XWINT (x7, 0) != 7L)
16547 : : return -1;
16548 : : switch (GET_MODE (operands[0]))
16549 : : {
16550 : : case E_V4DFmode:
16551 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
16552 : : || GET_MODE (x2) != E_V4DFmode
16553 : : || !register_operand (operands[1], E_V8DFmode)
16554 : : || !
16555 : : #line 12695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16556 : : (TARGET_AVX512F))
16557 : : return -1;
16558 : : return 5280; /* vec_extract_hi_v8df */
16559 : :
16560 : : case E_V4DImode:
16561 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
16562 : : || GET_MODE (x2) != E_V4DImode
16563 : : || !register_operand (operands[1], E_V8DImode)
16564 : : || !
16565 : : #line 12695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16566 : : (TARGET_AVX512F))
16567 : : return -1;
16568 : : return 5281; /* vec_extract_hi_v8di */
16569 : :
16570 : : case E_V4SImode:
16571 : : if (!nonimmediate_operand (operands[0], E_V4SImode)
16572 : : || GET_MODE (x2) != E_V4SImode
16573 : : || !register_operand (operands[1], E_V8SImode)
16574 : : || !
16575 : : #line 13024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16576 : : (TARGET_AVX))
16577 : : return -1;
16578 : : return 5304; /* vec_extract_hi_v8si */
16579 : :
16580 : : case E_V4SFmode:
16581 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
16582 : : || GET_MODE (x2) != E_V4SFmode
16583 : : || !register_operand (operands[1], E_V8SFmode)
16584 : : || !
16585 : : #line 13024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16586 : : (TARGET_AVX))
16587 : : return -1;
16588 : : return 5305; /* vec_extract_hi_v8sf */
16589 : :
16590 : : default:
16591 : : return -1;
16592 : : }
16593 : :
16594 : : default:
16595 : : return -1;
16596 : : }
16597 : : }
16598 : :
16599 : : int
16600 : : recog_293 (rtx x1 ATTRIBUTE_UNUSED,
16601 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16602 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16603 : : {
16604 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16605 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16606 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16607 : : rtx x18, x19;
16608 : : int res ATTRIBUTE_UNUSED;
16609 : : x2 = XEXP (x1, 1);
16610 : : x3 = XEXP (x2, 1);
16611 : : if (pattern910 (x3) != 0)
16612 : : return -1;
16613 : : x4 = XVECEXP (x3, 0, 0);
16614 : : switch (XWINT (x4, 0))
16615 : : {
16616 : : case 0L:
16617 : : if (pattern1762 (x3) != 0)
16618 : : return -1;
16619 : : switch (pattern1774 (x2))
16620 : : {
16621 : : case 0:
16622 : : if (!
16623 : : #line 13047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16624 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16625 : : return -1;
16626 : : return 5306; /* vec_extract_lo_v32hi */
16627 : :
16628 : : case 1:
16629 : : if (!
16630 : : #line 13047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16631 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16632 : : return -1;
16633 : : return 5307; /* vec_extract_lo_v32hf */
16634 : :
16635 : : case 2:
16636 : : if (!
16637 : : #line 13047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16638 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16639 : : return -1;
16640 : : return 5308; /* vec_extract_lo_v32bf */
16641 : :
16642 : : case 3:
16643 : : if (!
16644 : : #line 13217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16645 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16646 : : return -1;
16647 : : return 5320; /* vec_extract_lo_v32qi */
16648 : :
16649 : : default:
16650 : : return -1;
16651 : : }
16652 : :
16653 : : case 16L:
16654 : : x5 = XVECEXP (x3, 0, 1);
16655 : : if (XWINT (x5, 0) != 17L)
16656 : : return -1;
16657 : : x6 = XVECEXP (x3, 0, 2);
16658 : : if (XWINT (x6, 0) != 18L)
16659 : : return -1;
16660 : : x7 = XVECEXP (x3, 0, 3);
16661 : : if (XWINT (x7, 0) != 19L)
16662 : : return -1;
16663 : : x8 = XVECEXP (x3, 0, 4);
16664 : : if (XWINT (x8, 0) != 20L)
16665 : : return -1;
16666 : : x9 = XVECEXP (x3, 0, 5);
16667 : : if (XWINT (x9, 0) != 21L)
16668 : : return -1;
16669 : : x10 = XVECEXP (x3, 0, 6);
16670 : : if (XWINT (x10, 0) != 22L)
16671 : : return -1;
16672 : : x11 = XVECEXP (x3, 0, 7);
16673 : : if (XWINT (x11, 0) != 23L)
16674 : : return -1;
16675 : : x12 = XVECEXP (x3, 0, 8);
16676 : : if (XWINT (x12, 0) != 24L)
16677 : : return -1;
16678 : : x13 = XVECEXP (x3, 0, 9);
16679 : : if (XWINT (x13, 0) != 25L)
16680 : : return -1;
16681 : : x14 = XVECEXP (x3, 0, 10);
16682 : : if (XWINT (x14, 0) != 26L)
16683 : : return -1;
16684 : : x15 = XVECEXP (x3, 0, 11);
16685 : : if (XWINT (x15, 0) != 27L)
16686 : : return -1;
16687 : : x16 = XVECEXP (x3, 0, 12);
16688 : : if (XWINT (x16, 0) != 28L)
16689 : : return -1;
16690 : : x17 = XVECEXP (x3, 0, 13);
16691 : : if (XWINT (x17, 0) != 29L)
16692 : : return -1;
16693 : : x18 = XVECEXP (x3, 0, 14);
16694 : : if (XWINT (x18, 0) != 30L)
16695 : : return -1;
16696 : : x19 = XVECEXP (x3, 0, 15);
16697 : : if (XWINT (x19, 0) != 31L)
16698 : : return -1;
16699 : : switch (GET_MODE (operands[0]))
16700 : : {
16701 : : case E_V16HImode:
16702 : : if (!nonimmediate_operand (operands[0], E_V16HImode)
16703 : : || GET_MODE (x2) != E_V16HImode
16704 : : || !register_operand (operands[1], E_V32HImode)
16705 : : || !
16706 : : #line 13088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16707 : : (TARGET_AVX512F))
16708 : : return -1;
16709 : : return 5309; /* vec_extract_hi_v32hi */
16710 : :
16711 : : case E_V16HFmode:
16712 : : if (!nonimmediate_operand (operands[0], E_V16HFmode)
16713 : : || GET_MODE (x2) != E_V16HFmode
16714 : : || !register_operand (operands[1], E_V32HFmode)
16715 : : || !
16716 : : #line 13088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16717 : : (TARGET_AVX512F))
16718 : : return -1;
16719 : : return 5310; /* vec_extract_hi_v32hf */
16720 : :
16721 : : case E_V16BFmode:
16722 : : if (!nonimmediate_operand (operands[0], E_V16BFmode)
16723 : : || GET_MODE (x2) != E_V16BFmode
16724 : : || !register_operand (operands[1], E_V32BFmode)
16725 : : || !
16726 : : #line 13088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16727 : : (TARGET_AVX512F))
16728 : : return -1;
16729 : : return 5311; /* vec_extract_hi_v32bf */
16730 : :
16731 : : case E_V16QImode:
16732 : : if (!nonimmediate_operand (operands[0], E_V16QImode)
16733 : : || GET_MODE (x2) != E_V16QImode
16734 : : || !register_operand (operands[1], E_V32QImode)
16735 : : || !
16736 : : #line 13235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16737 : : (TARGET_AVX))
16738 : : return -1;
16739 : : return 5321; /* vec_extract_hi_v32qi */
16740 : :
16741 : : default:
16742 : : return -1;
16743 : : }
16744 : :
16745 : : default:
16746 : : return -1;
16747 : : }
16748 : : }
16749 : :
16750 : : int
16751 : : recog_305 (rtx x1 ATTRIBUTE_UNUSED,
16752 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16753 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16754 : : {
16755 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16756 : : rtx x2, x3, x4;
16757 : : int res ATTRIBUTE_UNUSED;
16758 : : x2 = XEXP (x1, 1);
16759 : : x3 = XEXP (x2, 0);
16760 : : x4 = XEXP (x3, 0);
16761 : : switch (GET_CODE (x4))
16762 : : {
16763 : : case REG:
16764 : : case SUBREG:
16765 : : case MEM:
16766 : : case NOT:
16767 : : switch (pattern520 (x2))
16768 : : {
16769 : : case 0:
16770 : : if (!(
16771 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16772 : : ((64 == 64 || TARGET_AVX512VL
16773 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16774 : : && ix86_pre_reload_split ()
16775 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16776 : : STRIP_UNARY (operands[4]))
16777 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16778 : : STRIP_UNARY (operands[4]))
16779 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16780 : : STRIP_UNARY (operands[3]))
16781 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16782 : : STRIP_UNARY (operands[3])))) &&
16783 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16784 : : (TARGET_AVX512F)))
16785 : : return -1;
16786 : : return 5473; /* *avx512bw_vpternlogv64qi_1 */
16787 : :
16788 : : case 1:
16789 : : if (!(
16790 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16791 : : ((32 == 64 || TARGET_AVX512VL
16792 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16793 : : && ix86_pre_reload_split ()
16794 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16795 : : STRIP_UNARY (operands[4]))
16796 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16797 : : STRIP_UNARY (operands[4]))
16798 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16799 : : STRIP_UNARY (operands[3]))
16800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16801 : : STRIP_UNARY (operands[3])))) &&
16802 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16803 : : (TARGET_AVX)))
16804 : : return -1;
16805 : : return 5500; /* *avx512vl_vpternlogv32qi_1 */
16806 : :
16807 : : case 2:
16808 : : if (!
16809 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16810 : : ((16 == 64 || TARGET_AVX512VL
16811 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16812 : : && ix86_pre_reload_split ()
16813 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16814 : : STRIP_UNARY (operands[4]))
16815 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16816 : : STRIP_UNARY (operands[4]))
16817 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16818 : : STRIP_UNARY (operands[3]))
16819 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16820 : : STRIP_UNARY (operands[3])))))
16821 : : return -1;
16822 : : return 5527; /* *avx512vl_vpternlogv16qi_1 */
16823 : :
16824 : : case 3:
16825 : : if (!(
16826 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16827 : : ((64 == 64 || TARGET_AVX512VL
16828 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16829 : : && ix86_pre_reload_split ()
16830 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16831 : : STRIP_UNARY (operands[4]))
16832 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16833 : : STRIP_UNARY (operands[4]))
16834 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16835 : : STRIP_UNARY (operands[3]))
16836 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16837 : : STRIP_UNARY (operands[3])))) &&
16838 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16839 : : (TARGET_AVX512F)))
16840 : : return -1;
16841 : : return 5554; /* *avx512bw_vpternlogv32hi_1 */
16842 : :
16843 : : case 4:
16844 : : if (!(
16845 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16846 : : ((32 == 64 || TARGET_AVX512VL
16847 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16848 : : && ix86_pre_reload_split ()
16849 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16850 : : STRIP_UNARY (operands[4]))
16851 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16852 : : STRIP_UNARY (operands[4]))
16853 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16854 : : STRIP_UNARY (operands[3]))
16855 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16856 : : STRIP_UNARY (operands[3])))) &&
16857 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16858 : : (TARGET_AVX)))
16859 : : return -1;
16860 : : return 5581; /* *avx512vl_vpternlogv16hi_1 */
16861 : :
16862 : : case 5:
16863 : : if (!
16864 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16865 : : ((16 == 64 || TARGET_AVX512VL
16866 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16867 : : && ix86_pre_reload_split ()
16868 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16869 : : STRIP_UNARY (operands[4]))
16870 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16871 : : STRIP_UNARY (operands[4]))
16872 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16873 : : STRIP_UNARY (operands[3]))
16874 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16875 : : STRIP_UNARY (operands[3])))))
16876 : : return -1;
16877 : : return 5608; /* *avx512vl_vpternlogv8hi_1 */
16878 : :
16879 : : case 6:
16880 : : if (!(
16881 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16882 : : ((64 == 64 || TARGET_AVX512VL
16883 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16884 : : && ix86_pre_reload_split ()
16885 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16886 : : STRIP_UNARY (operands[4]))
16887 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16888 : : STRIP_UNARY (operands[4]))
16889 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16890 : : STRIP_UNARY (operands[3]))
16891 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16892 : : STRIP_UNARY (operands[3])))) &&
16893 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16894 : : (TARGET_AVX512F)))
16895 : : return -1;
16896 : : return 5635; /* *avx512f_vpternlogv16si_1 */
16897 : :
16898 : : case 7:
16899 : : if (!(
16900 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16901 : : ((32 == 64 || TARGET_AVX512VL
16902 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16903 : : && ix86_pre_reload_split ()
16904 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16905 : : STRIP_UNARY (operands[4]))
16906 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16907 : : STRIP_UNARY (operands[4]))
16908 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16909 : : STRIP_UNARY (operands[3]))
16910 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16911 : : STRIP_UNARY (operands[3])))) &&
16912 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16913 : : (TARGET_AVX)))
16914 : : return -1;
16915 : : return 5662; /* *avx512vl_vpternlogv8si_1 */
16916 : :
16917 : : case 8:
16918 : : if (!
16919 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16920 : : ((16 == 64 || TARGET_AVX512VL
16921 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16922 : : && ix86_pre_reload_split ()
16923 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16924 : : STRIP_UNARY (operands[4]))
16925 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16926 : : STRIP_UNARY (operands[4]))
16927 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16928 : : STRIP_UNARY (operands[3]))
16929 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16930 : : STRIP_UNARY (operands[3])))))
16931 : : return -1;
16932 : : return 5689; /* *avx512vl_vpternlogv4si_1 */
16933 : :
16934 : : case 9:
16935 : : if (!(
16936 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16937 : : ((64 == 64 || TARGET_AVX512VL
16938 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16939 : : && ix86_pre_reload_split ()
16940 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16941 : : STRIP_UNARY (operands[4]))
16942 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16943 : : STRIP_UNARY (operands[4]))
16944 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16945 : : STRIP_UNARY (operands[3]))
16946 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16947 : : STRIP_UNARY (operands[3])))) &&
16948 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16949 : : (TARGET_AVX512F)))
16950 : : return -1;
16951 : : return 5716; /* *avx512f_vpternlogv8di_1 */
16952 : :
16953 : : case 10:
16954 : : if (!(
16955 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16956 : : ((32 == 64 || TARGET_AVX512VL
16957 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16958 : : && ix86_pre_reload_split ()
16959 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16960 : : STRIP_UNARY (operands[4]))
16961 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16962 : : STRIP_UNARY (operands[4]))
16963 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16964 : : STRIP_UNARY (operands[3]))
16965 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16966 : : STRIP_UNARY (operands[3])))) &&
16967 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16968 : : (TARGET_AVX)))
16969 : : return -1;
16970 : : return 5743; /* *avx512vl_vpternlogv4di_1 */
16971 : :
16972 : : case 11:
16973 : : if (!
16974 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16975 : : ((16 == 64 || TARGET_AVX512VL
16976 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16977 : : && ix86_pre_reload_split ()
16978 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16979 : : STRIP_UNARY (operands[4]))
16980 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16981 : : STRIP_UNARY (operands[4]))
16982 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16983 : : STRIP_UNARY (operands[3]))
16984 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16985 : : STRIP_UNARY (operands[3])))))
16986 : : return -1;
16987 : : return 5770; /* *avx512vl_vpternlogv2di_1 */
16988 : :
16989 : : case 12:
16990 : : if (!(
16991 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16992 : : ((64 == 64 || TARGET_AVX512VL
16993 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16994 : : && ix86_pre_reload_split ()
16995 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16996 : : STRIP_UNARY (operands[4]))
16997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16998 : : STRIP_UNARY (operands[4]))
16999 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17000 : : STRIP_UNARY (operands[3]))
17001 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17002 : : STRIP_UNARY (operands[3])))) &&
17003 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17004 : : (TARGET_AVX512F)))
17005 : : return -1;
17006 : : return 5476; /* *avx512bw_vpternlogv64qi_1 */
17007 : :
17008 : : case 13:
17009 : : if (!(
17010 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17011 : : ((32 == 64 || TARGET_AVX512VL
17012 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17013 : : && ix86_pre_reload_split ()
17014 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17015 : : STRIP_UNARY (operands[4]))
17016 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17017 : : STRIP_UNARY (operands[4]))
17018 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17019 : : STRIP_UNARY (operands[3]))
17020 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17021 : : STRIP_UNARY (operands[3])))) &&
17022 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17023 : : (TARGET_AVX)))
17024 : : return -1;
17025 : : return 5503; /* *avx512vl_vpternlogv32qi_1 */
17026 : :
17027 : : case 14:
17028 : : if (!
17029 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17030 : : ((16 == 64 || TARGET_AVX512VL
17031 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17032 : : && ix86_pre_reload_split ()
17033 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17034 : : STRIP_UNARY (operands[4]))
17035 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17036 : : STRIP_UNARY (operands[4]))
17037 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17038 : : STRIP_UNARY (operands[3]))
17039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17040 : : STRIP_UNARY (operands[3])))))
17041 : : return -1;
17042 : : return 5530; /* *avx512vl_vpternlogv16qi_1 */
17043 : :
17044 : : case 15:
17045 : : if (!(
17046 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17047 : : ((64 == 64 || TARGET_AVX512VL
17048 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17049 : : && ix86_pre_reload_split ()
17050 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17051 : : STRIP_UNARY (operands[4]))
17052 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17053 : : STRIP_UNARY (operands[4]))
17054 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17055 : : STRIP_UNARY (operands[3]))
17056 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17057 : : STRIP_UNARY (operands[3])))) &&
17058 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17059 : : (TARGET_AVX512F)))
17060 : : return -1;
17061 : : return 5557; /* *avx512bw_vpternlogv32hi_1 */
17062 : :
17063 : : case 16:
17064 : : if (!(
17065 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17066 : : ((32 == 64 || TARGET_AVX512VL
17067 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17068 : : && ix86_pre_reload_split ()
17069 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17070 : : STRIP_UNARY (operands[4]))
17071 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17072 : : STRIP_UNARY (operands[4]))
17073 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17074 : : STRIP_UNARY (operands[3]))
17075 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17076 : : STRIP_UNARY (operands[3])))) &&
17077 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17078 : : (TARGET_AVX)))
17079 : : return -1;
17080 : : return 5584; /* *avx512vl_vpternlogv16hi_1 */
17081 : :
17082 : : case 17:
17083 : : if (!
17084 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17085 : : ((16 == 64 || TARGET_AVX512VL
17086 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17087 : : && ix86_pre_reload_split ()
17088 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17089 : : STRIP_UNARY (operands[4]))
17090 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17091 : : STRIP_UNARY (operands[4]))
17092 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17093 : : STRIP_UNARY (operands[3]))
17094 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17095 : : STRIP_UNARY (operands[3])))))
17096 : : return -1;
17097 : : return 5611; /* *avx512vl_vpternlogv8hi_1 */
17098 : :
17099 : : case 18:
17100 : : if (!(
17101 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17102 : : ((64 == 64 || TARGET_AVX512VL
17103 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17104 : : && ix86_pre_reload_split ()
17105 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17106 : : STRIP_UNARY (operands[4]))
17107 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17108 : : STRIP_UNARY (operands[4]))
17109 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17110 : : STRIP_UNARY (operands[3]))
17111 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17112 : : STRIP_UNARY (operands[3])))) &&
17113 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17114 : : (TARGET_AVX512F)))
17115 : : return -1;
17116 : : return 5638; /* *avx512f_vpternlogv16si_1 */
17117 : :
17118 : : case 19:
17119 : : if (!(
17120 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17121 : : ((32 == 64 || TARGET_AVX512VL
17122 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17123 : : && ix86_pre_reload_split ()
17124 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17125 : : STRIP_UNARY (operands[4]))
17126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17127 : : STRIP_UNARY (operands[4]))
17128 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17129 : : STRIP_UNARY (operands[3]))
17130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17131 : : STRIP_UNARY (operands[3])))) &&
17132 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17133 : : (TARGET_AVX)))
17134 : : return -1;
17135 : : return 5665; /* *avx512vl_vpternlogv8si_1 */
17136 : :
17137 : : case 20:
17138 : : if (!
17139 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17140 : : ((16 == 64 || TARGET_AVX512VL
17141 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17142 : : && ix86_pre_reload_split ()
17143 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17144 : : STRIP_UNARY (operands[4]))
17145 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17146 : : STRIP_UNARY (operands[4]))
17147 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17148 : : STRIP_UNARY (operands[3]))
17149 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17150 : : STRIP_UNARY (operands[3])))))
17151 : : return -1;
17152 : : return 5692; /* *avx512vl_vpternlogv4si_1 */
17153 : :
17154 : : case 21:
17155 : : if (!(
17156 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17157 : : ((64 == 64 || TARGET_AVX512VL
17158 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17159 : : && ix86_pre_reload_split ()
17160 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17161 : : STRIP_UNARY (operands[4]))
17162 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17163 : : STRIP_UNARY (operands[4]))
17164 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17165 : : STRIP_UNARY (operands[3]))
17166 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17167 : : STRIP_UNARY (operands[3])))) &&
17168 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17169 : : (TARGET_AVX512F)))
17170 : : return -1;
17171 : : return 5719; /* *avx512f_vpternlogv8di_1 */
17172 : :
17173 : : case 22:
17174 : : if (!(
17175 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17176 : : ((32 == 64 || TARGET_AVX512VL
17177 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17178 : : && ix86_pre_reload_split ()
17179 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17180 : : STRIP_UNARY (operands[4]))
17181 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17182 : : STRIP_UNARY (operands[4]))
17183 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17184 : : STRIP_UNARY (operands[3]))
17185 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17186 : : STRIP_UNARY (operands[3])))) &&
17187 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17188 : : (TARGET_AVX)))
17189 : : return -1;
17190 : : return 5746; /* *avx512vl_vpternlogv4di_1 */
17191 : :
17192 : : case 23:
17193 : : if (!
17194 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17195 : : ((16 == 64 || TARGET_AVX512VL
17196 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17197 : : && ix86_pre_reload_split ()
17198 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17199 : : STRIP_UNARY (operands[4]))
17200 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17201 : : STRIP_UNARY (operands[4]))
17202 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17203 : : STRIP_UNARY (operands[3]))
17204 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17205 : : STRIP_UNARY (operands[3])))))
17206 : : return -1;
17207 : : return 5773; /* *avx512vl_vpternlogv2di_1 */
17208 : :
17209 : : case 24:
17210 : : if (!(
17211 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17212 : : ((64 == 64 || TARGET_AVX512VL
17213 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17214 : : && ix86_pre_reload_split ()
17215 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17216 : : STRIP_UNARY (operands[4]))
17217 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17218 : : STRIP_UNARY (operands[4]))
17219 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17220 : : STRIP_UNARY (operands[3]))
17221 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17222 : : STRIP_UNARY (operands[3])))) &&
17223 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17224 : : (TARGET_AVX512F)))
17225 : : return -1;
17226 : : return 5479; /* *avx512bw_vpternlogv64qi_1 */
17227 : :
17228 : : case 25:
17229 : : if (!(
17230 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17231 : : ((32 == 64 || TARGET_AVX512VL
17232 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17233 : : && ix86_pre_reload_split ()
17234 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17235 : : STRIP_UNARY (operands[4]))
17236 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17237 : : STRIP_UNARY (operands[4]))
17238 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17239 : : STRIP_UNARY (operands[3]))
17240 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17241 : : STRIP_UNARY (operands[3])))) &&
17242 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17243 : : (TARGET_AVX)))
17244 : : return -1;
17245 : : return 5506; /* *avx512vl_vpternlogv32qi_1 */
17246 : :
17247 : : case 26:
17248 : : if (!
17249 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17250 : : ((16 == 64 || TARGET_AVX512VL
17251 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17252 : : && ix86_pre_reload_split ()
17253 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17254 : : STRIP_UNARY (operands[4]))
17255 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17256 : : STRIP_UNARY (operands[4]))
17257 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17258 : : STRIP_UNARY (operands[3]))
17259 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17260 : : STRIP_UNARY (operands[3])))))
17261 : : return -1;
17262 : : return 5533; /* *avx512vl_vpternlogv16qi_1 */
17263 : :
17264 : : case 27:
17265 : : if (!(
17266 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17267 : : ((64 == 64 || TARGET_AVX512VL
17268 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17269 : : && ix86_pre_reload_split ()
17270 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17271 : : STRIP_UNARY (operands[4]))
17272 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17273 : : STRIP_UNARY (operands[4]))
17274 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17275 : : STRIP_UNARY (operands[3]))
17276 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17277 : : STRIP_UNARY (operands[3])))) &&
17278 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17279 : : (TARGET_AVX512F)))
17280 : : return -1;
17281 : : return 5560; /* *avx512bw_vpternlogv32hi_1 */
17282 : :
17283 : : case 28:
17284 : : if (!(
17285 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17286 : : ((32 == 64 || TARGET_AVX512VL
17287 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17288 : : && ix86_pre_reload_split ()
17289 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17290 : : STRIP_UNARY (operands[4]))
17291 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17292 : : STRIP_UNARY (operands[4]))
17293 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17294 : : STRIP_UNARY (operands[3]))
17295 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17296 : : STRIP_UNARY (operands[3])))) &&
17297 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17298 : : (TARGET_AVX)))
17299 : : return -1;
17300 : : return 5587; /* *avx512vl_vpternlogv16hi_1 */
17301 : :
17302 : : case 29:
17303 : : if (!
17304 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17305 : : ((16 == 64 || TARGET_AVX512VL
17306 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17307 : : && ix86_pre_reload_split ()
17308 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17309 : : STRIP_UNARY (operands[4]))
17310 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17311 : : STRIP_UNARY (operands[4]))
17312 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17313 : : STRIP_UNARY (operands[3]))
17314 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17315 : : STRIP_UNARY (operands[3])))))
17316 : : return -1;
17317 : : return 5614; /* *avx512vl_vpternlogv8hi_1 */
17318 : :
17319 : : case 30:
17320 : : if (!(
17321 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17322 : : ((64 == 64 || TARGET_AVX512VL
17323 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17324 : : && ix86_pre_reload_split ()
17325 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17326 : : STRIP_UNARY (operands[4]))
17327 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17328 : : STRIP_UNARY (operands[4]))
17329 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17330 : : STRIP_UNARY (operands[3]))
17331 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17332 : : STRIP_UNARY (operands[3])))) &&
17333 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17334 : : (TARGET_AVX512F)))
17335 : : return -1;
17336 : : return 5641; /* *avx512f_vpternlogv16si_1 */
17337 : :
17338 : : case 31:
17339 : : if (!(
17340 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17341 : : ((32 == 64 || TARGET_AVX512VL
17342 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17343 : : && ix86_pre_reload_split ()
17344 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17345 : : STRIP_UNARY (operands[4]))
17346 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17347 : : STRIP_UNARY (operands[4]))
17348 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17349 : : STRIP_UNARY (operands[3]))
17350 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17351 : : STRIP_UNARY (operands[3])))) &&
17352 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17353 : : (TARGET_AVX)))
17354 : : return -1;
17355 : : return 5668; /* *avx512vl_vpternlogv8si_1 */
17356 : :
17357 : : case 32:
17358 : : if (!
17359 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17360 : : ((16 == 64 || TARGET_AVX512VL
17361 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17362 : : && ix86_pre_reload_split ()
17363 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17364 : : STRIP_UNARY (operands[4]))
17365 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17366 : : STRIP_UNARY (operands[4]))
17367 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17368 : : STRIP_UNARY (operands[3]))
17369 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17370 : : STRIP_UNARY (operands[3])))))
17371 : : return -1;
17372 : : return 5695; /* *avx512vl_vpternlogv4si_1 */
17373 : :
17374 : : case 33:
17375 : : if (!(
17376 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17377 : : ((64 == 64 || TARGET_AVX512VL
17378 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17379 : : && ix86_pre_reload_split ()
17380 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17381 : : STRIP_UNARY (operands[4]))
17382 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17383 : : STRIP_UNARY (operands[4]))
17384 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17385 : : STRIP_UNARY (operands[3]))
17386 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17387 : : STRIP_UNARY (operands[3])))) &&
17388 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17389 : : (TARGET_AVX512F)))
17390 : : return -1;
17391 : : return 5722; /* *avx512f_vpternlogv8di_1 */
17392 : :
17393 : : case 34:
17394 : : if (!(
17395 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17396 : : ((32 == 64 || TARGET_AVX512VL
17397 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17398 : : && ix86_pre_reload_split ()
17399 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17400 : : STRIP_UNARY (operands[4]))
17401 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17402 : : STRIP_UNARY (operands[4]))
17403 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17404 : : STRIP_UNARY (operands[3]))
17405 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17406 : : STRIP_UNARY (operands[3])))) &&
17407 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17408 : : (TARGET_AVX)))
17409 : : return -1;
17410 : : return 5749; /* *avx512vl_vpternlogv4di_1 */
17411 : :
17412 : : case 35:
17413 : : if (!
17414 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17415 : : ((16 == 64 || TARGET_AVX512VL
17416 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17417 : : && ix86_pre_reload_split ()
17418 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17419 : : STRIP_UNARY (operands[4]))
17420 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17421 : : STRIP_UNARY (operands[4]))
17422 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17423 : : STRIP_UNARY (operands[3]))
17424 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17425 : : STRIP_UNARY (operands[3])))))
17426 : : return -1;
17427 : : return 5776; /* *avx512vl_vpternlogv2di_1 */
17428 : :
17429 : : case 36:
17430 : : if (!(
17431 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17432 : : ((64 == 64 || TARGET_AVX512VL
17433 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17434 : : && ix86_pre_reload_split ()) &&
17435 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17436 : : (TARGET_AVX512F)))
17437 : : return -1;
17438 : : return 6757; /* *avx512bw_vpternlogv64qi_3 */
17439 : :
17440 : : case 37:
17441 : : if (!(
17442 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17443 : : ((32 == 64 || TARGET_AVX512VL
17444 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17445 : : && ix86_pre_reload_split ()) &&
17446 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17447 : : (TARGET_AVX)))
17448 : : return -1;
17449 : : return 6766; /* *avx512vl_vpternlogv32qi_3 */
17450 : :
17451 : : case 38:
17452 : : if (!
17453 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17454 : : ((16 == 64 || TARGET_AVX512VL
17455 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17456 : : && ix86_pre_reload_split ()))
17457 : : return -1;
17458 : : return 6775; /* *avx512vl_vpternlogv16qi_3 */
17459 : :
17460 : : case 39:
17461 : : if (!(
17462 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17463 : : ((64 == 64 || TARGET_AVX512VL
17464 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17465 : : && ix86_pre_reload_split ()) &&
17466 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17467 : : (TARGET_AVX512F)))
17468 : : return -1;
17469 : : return 6784; /* *avx512bw_vpternlogv32hi_3 */
17470 : :
17471 : : case 40:
17472 : : if (!(
17473 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17474 : : ((32 == 64 || TARGET_AVX512VL
17475 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17476 : : && ix86_pre_reload_split ()) &&
17477 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17478 : : (TARGET_AVX)))
17479 : : return -1;
17480 : : return 6793; /* *avx512vl_vpternlogv16hi_3 */
17481 : :
17482 : : case 41:
17483 : : if (!
17484 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17485 : : ((16 == 64 || TARGET_AVX512VL
17486 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17487 : : && ix86_pre_reload_split ()))
17488 : : return -1;
17489 : : return 6802; /* *avx512vl_vpternlogv8hi_3 */
17490 : :
17491 : : case 42:
17492 : : if (!(
17493 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17494 : : ((64 == 64 || TARGET_AVX512VL
17495 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17496 : : && ix86_pre_reload_split ()) &&
17497 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17498 : : (TARGET_AVX512F)))
17499 : : return -1;
17500 : : return 6811; /* *avx512f_vpternlogv16si_3 */
17501 : :
17502 : : case 43:
17503 : : if (!(
17504 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17505 : : ((32 == 64 || TARGET_AVX512VL
17506 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17507 : : && ix86_pre_reload_split ()) &&
17508 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17509 : : (TARGET_AVX)))
17510 : : return -1;
17511 : : return 6820; /* *avx512vl_vpternlogv8si_3 */
17512 : :
17513 : : case 44:
17514 : : if (!
17515 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17516 : : ((16 == 64 || TARGET_AVX512VL
17517 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17518 : : && ix86_pre_reload_split ()))
17519 : : return -1;
17520 : : return 6829; /* *avx512vl_vpternlogv4si_3 */
17521 : :
17522 : : case 45:
17523 : : if (!(
17524 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17525 : : ((64 == 64 || TARGET_AVX512VL
17526 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17527 : : && ix86_pre_reload_split ()) &&
17528 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17529 : : (TARGET_AVX512F)))
17530 : : return -1;
17531 : : return 6838; /* *avx512f_vpternlogv8di_3 */
17532 : :
17533 : : case 46:
17534 : : if (!(
17535 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17536 : : ((32 == 64 || TARGET_AVX512VL
17537 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17538 : : && ix86_pre_reload_split ()) &&
17539 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17540 : : (TARGET_AVX)))
17541 : : return -1;
17542 : : return 6847; /* *avx512vl_vpternlogv4di_3 */
17543 : :
17544 : : case 47:
17545 : : if (!
17546 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17547 : : ((16 == 64 || TARGET_AVX512VL
17548 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17549 : : && ix86_pre_reload_split ()))
17550 : : return -1;
17551 : : return 6856; /* *avx512vl_vpternlogv2di_3 */
17552 : :
17553 : : default:
17554 : : return -1;
17555 : : }
17556 : :
17557 : : case AND:
17558 : : switch (pattern522 (x2))
17559 : : {
17560 : : case 0:
17561 : : if (!(
17562 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17563 : : ((64 == 64 || TARGET_AVX512VL
17564 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17565 : : && ix86_pre_reload_split ()
17566 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17567 : : STRIP_UNARY (operands[4]))
17568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17569 : : STRIP_UNARY (operands[4]))
17570 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17571 : : STRIP_UNARY (operands[3]))
17572 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17573 : : STRIP_UNARY (operands[3])))) &&
17574 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17575 : : (TARGET_AVX512F)))
17576 : : return -1;
17577 : : return 6121; /* *avx512bw_vpternlogv64qi_2 */
17578 : :
17579 : : case 1:
17580 : : if (!(
17581 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17582 : : ((32 == 64 || TARGET_AVX512VL
17583 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17584 : : && ix86_pre_reload_split ()
17585 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17586 : : STRIP_UNARY (operands[4]))
17587 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17588 : : STRIP_UNARY (operands[4]))
17589 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17590 : : STRIP_UNARY (operands[3]))
17591 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17592 : : STRIP_UNARY (operands[3])))) &&
17593 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17594 : : (TARGET_AVX)))
17595 : : return -1;
17596 : : return 6148; /* *avx512vl_vpternlogv32qi_2 */
17597 : :
17598 : : case 2:
17599 : : if (!
17600 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17601 : : ((16 == 64 || TARGET_AVX512VL
17602 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17603 : : && ix86_pre_reload_split ()
17604 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17605 : : STRIP_UNARY (operands[4]))
17606 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17607 : : STRIP_UNARY (operands[4]))
17608 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17609 : : STRIP_UNARY (operands[3]))
17610 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17611 : : STRIP_UNARY (operands[3])))))
17612 : : return -1;
17613 : : return 6175; /* *avx512vl_vpternlogv16qi_2 */
17614 : :
17615 : : case 3:
17616 : : if (!(
17617 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17618 : : ((64 == 64 || TARGET_AVX512VL
17619 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17620 : : && ix86_pre_reload_split ()
17621 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17622 : : STRIP_UNARY (operands[4]))
17623 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17624 : : STRIP_UNARY (operands[4]))
17625 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17626 : : STRIP_UNARY (operands[3]))
17627 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17628 : : STRIP_UNARY (operands[3])))) &&
17629 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17630 : : (TARGET_AVX512F)))
17631 : : return -1;
17632 : : return 6202; /* *avx512bw_vpternlogv32hi_2 */
17633 : :
17634 : : case 4:
17635 : : if (!(
17636 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17637 : : ((32 == 64 || TARGET_AVX512VL
17638 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17639 : : && ix86_pre_reload_split ()
17640 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17641 : : STRIP_UNARY (operands[4]))
17642 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17643 : : STRIP_UNARY (operands[4]))
17644 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17645 : : STRIP_UNARY (operands[3]))
17646 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17647 : : STRIP_UNARY (operands[3])))) &&
17648 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17649 : : (TARGET_AVX)))
17650 : : return -1;
17651 : : return 6229; /* *avx512vl_vpternlogv16hi_2 */
17652 : :
17653 : : case 5:
17654 : : if (!
17655 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17656 : : ((16 == 64 || TARGET_AVX512VL
17657 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17658 : : && ix86_pre_reload_split ()
17659 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17660 : : STRIP_UNARY (operands[4]))
17661 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17662 : : STRIP_UNARY (operands[4]))
17663 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17664 : : STRIP_UNARY (operands[3]))
17665 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17666 : : STRIP_UNARY (operands[3])))))
17667 : : return -1;
17668 : : return 6256; /* *avx512vl_vpternlogv8hi_2 */
17669 : :
17670 : : case 6:
17671 : : if (!(
17672 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17673 : : ((64 == 64 || TARGET_AVX512VL
17674 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17675 : : && ix86_pre_reload_split ()
17676 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17677 : : STRIP_UNARY (operands[4]))
17678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17679 : : STRIP_UNARY (operands[4]))
17680 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17681 : : STRIP_UNARY (operands[3]))
17682 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17683 : : STRIP_UNARY (operands[3])))) &&
17684 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17685 : : (TARGET_AVX512F)))
17686 : : return -1;
17687 : : return 6283; /* *avx512f_vpternlogv16si_2 */
17688 : :
17689 : : case 7:
17690 : : if (!(
17691 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17692 : : ((32 == 64 || TARGET_AVX512VL
17693 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17694 : : && ix86_pre_reload_split ()
17695 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17696 : : STRIP_UNARY (operands[4]))
17697 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17698 : : STRIP_UNARY (operands[4]))
17699 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17700 : : STRIP_UNARY (operands[3]))
17701 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17702 : : STRIP_UNARY (operands[3])))) &&
17703 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17704 : : (TARGET_AVX)))
17705 : : return -1;
17706 : : return 6310; /* *avx512vl_vpternlogv8si_2 */
17707 : :
17708 : : case 8:
17709 : : if (!
17710 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17711 : : ((16 == 64 || TARGET_AVX512VL
17712 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17713 : : && ix86_pre_reload_split ()
17714 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17715 : : STRIP_UNARY (operands[4]))
17716 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17717 : : STRIP_UNARY (operands[4]))
17718 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17719 : : STRIP_UNARY (operands[3]))
17720 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17721 : : STRIP_UNARY (operands[3])))))
17722 : : return -1;
17723 : : return 6337; /* *avx512vl_vpternlogv4si_2 */
17724 : :
17725 : : case 9:
17726 : : if (!(
17727 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17728 : : ((64 == 64 || TARGET_AVX512VL
17729 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17730 : : && ix86_pre_reload_split ()
17731 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17732 : : STRIP_UNARY (operands[4]))
17733 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17734 : : STRIP_UNARY (operands[4]))
17735 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17736 : : STRIP_UNARY (operands[3]))
17737 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17738 : : STRIP_UNARY (operands[3])))) &&
17739 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17740 : : (TARGET_AVX512F)))
17741 : : return -1;
17742 : : return 6364; /* *avx512f_vpternlogv8di_2 */
17743 : :
17744 : : case 10:
17745 : : if (!(
17746 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17747 : : ((32 == 64 || TARGET_AVX512VL
17748 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17749 : : && ix86_pre_reload_split ()
17750 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17751 : : STRIP_UNARY (operands[4]))
17752 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17753 : : STRIP_UNARY (operands[4]))
17754 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17755 : : STRIP_UNARY (operands[3]))
17756 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17757 : : STRIP_UNARY (operands[3])))) &&
17758 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17759 : : (TARGET_AVX)))
17760 : : return -1;
17761 : : return 6391; /* *avx512vl_vpternlogv4di_2 */
17762 : :
17763 : : case 11:
17764 : : if (!
17765 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17766 : : ((16 == 64 || TARGET_AVX512VL
17767 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17768 : : && ix86_pre_reload_split ()
17769 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17770 : : STRIP_UNARY (operands[4]))
17771 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17772 : : STRIP_UNARY (operands[4]))
17773 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17774 : : STRIP_UNARY (operands[3]))
17775 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17776 : : STRIP_UNARY (operands[3])))))
17777 : : return -1;
17778 : : return 6418; /* *avx512vl_vpternlogv2di_2 */
17779 : :
17780 : : default:
17781 : : return -1;
17782 : : }
17783 : :
17784 : : case IOR:
17785 : : switch (pattern522 (x2))
17786 : : {
17787 : : case 0:
17788 : : if (!(
17789 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17790 : : ((64 == 64 || TARGET_AVX512VL
17791 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17792 : : && ix86_pre_reload_split ()
17793 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17794 : : STRIP_UNARY (operands[4]))
17795 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17796 : : STRIP_UNARY (operands[4]))
17797 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17798 : : STRIP_UNARY (operands[3]))
17799 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17800 : : STRIP_UNARY (operands[3])))) &&
17801 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17802 : : (TARGET_AVX512F)))
17803 : : return -1;
17804 : : return 6124; /* *avx512bw_vpternlogv64qi_2 */
17805 : :
17806 : : case 1:
17807 : : if (!(
17808 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17809 : : ((32 == 64 || TARGET_AVX512VL
17810 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17811 : : && ix86_pre_reload_split ()
17812 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17813 : : STRIP_UNARY (operands[4]))
17814 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17815 : : STRIP_UNARY (operands[4]))
17816 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17817 : : STRIP_UNARY (operands[3]))
17818 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17819 : : STRIP_UNARY (operands[3])))) &&
17820 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17821 : : (TARGET_AVX)))
17822 : : return -1;
17823 : : return 6151; /* *avx512vl_vpternlogv32qi_2 */
17824 : :
17825 : : case 2:
17826 : : if (!
17827 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17828 : : ((16 == 64 || TARGET_AVX512VL
17829 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17830 : : && ix86_pre_reload_split ()
17831 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17832 : : STRIP_UNARY (operands[4]))
17833 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17834 : : STRIP_UNARY (operands[4]))
17835 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17836 : : STRIP_UNARY (operands[3]))
17837 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17838 : : STRIP_UNARY (operands[3])))))
17839 : : return -1;
17840 : : return 6178; /* *avx512vl_vpternlogv16qi_2 */
17841 : :
17842 : : case 3:
17843 : : if (!(
17844 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17845 : : ((64 == 64 || TARGET_AVX512VL
17846 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17847 : : && ix86_pre_reload_split ()
17848 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17849 : : STRIP_UNARY (operands[4]))
17850 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17851 : : STRIP_UNARY (operands[4]))
17852 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17853 : : STRIP_UNARY (operands[3]))
17854 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17855 : : STRIP_UNARY (operands[3])))) &&
17856 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17857 : : (TARGET_AVX512F)))
17858 : : return -1;
17859 : : return 6205; /* *avx512bw_vpternlogv32hi_2 */
17860 : :
17861 : : case 4:
17862 : : if (!(
17863 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17864 : : ((32 == 64 || TARGET_AVX512VL
17865 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17866 : : && ix86_pre_reload_split ()
17867 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17868 : : STRIP_UNARY (operands[4]))
17869 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17870 : : STRIP_UNARY (operands[4]))
17871 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17872 : : STRIP_UNARY (operands[3]))
17873 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17874 : : STRIP_UNARY (operands[3])))) &&
17875 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17876 : : (TARGET_AVX)))
17877 : : return -1;
17878 : : return 6232; /* *avx512vl_vpternlogv16hi_2 */
17879 : :
17880 : : case 5:
17881 : : if (!
17882 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17883 : : ((16 == 64 || TARGET_AVX512VL
17884 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17885 : : && ix86_pre_reload_split ()
17886 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17887 : : STRIP_UNARY (operands[4]))
17888 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17889 : : STRIP_UNARY (operands[4]))
17890 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17891 : : STRIP_UNARY (operands[3]))
17892 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17893 : : STRIP_UNARY (operands[3])))))
17894 : : return -1;
17895 : : return 6259; /* *avx512vl_vpternlogv8hi_2 */
17896 : :
17897 : : case 6:
17898 : : if (!(
17899 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17900 : : ((64 == 64 || TARGET_AVX512VL
17901 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17902 : : && ix86_pre_reload_split ()
17903 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17904 : : STRIP_UNARY (operands[4]))
17905 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17906 : : STRIP_UNARY (operands[4]))
17907 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17908 : : STRIP_UNARY (operands[3]))
17909 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17910 : : STRIP_UNARY (operands[3])))) &&
17911 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17912 : : (TARGET_AVX512F)))
17913 : : return -1;
17914 : : return 6286; /* *avx512f_vpternlogv16si_2 */
17915 : :
17916 : : case 7:
17917 : : if (!(
17918 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17919 : : ((32 == 64 || TARGET_AVX512VL
17920 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17921 : : && ix86_pre_reload_split ()
17922 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17923 : : STRIP_UNARY (operands[4]))
17924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17925 : : STRIP_UNARY (operands[4]))
17926 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17927 : : STRIP_UNARY (operands[3]))
17928 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17929 : : STRIP_UNARY (operands[3])))) &&
17930 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17931 : : (TARGET_AVX)))
17932 : : return -1;
17933 : : return 6313; /* *avx512vl_vpternlogv8si_2 */
17934 : :
17935 : : case 8:
17936 : : if (!
17937 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17938 : : ((16 == 64 || TARGET_AVX512VL
17939 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17940 : : && ix86_pre_reload_split ()
17941 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17942 : : STRIP_UNARY (operands[4]))
17943 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17944 : : STRIP_UNARY (operands[4]))
17945 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17946 : : STRIP_UNARY (operands[3]))
17947 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17948 : : STRIP_UNARY (operands[3])))))
17949 : : return -1;
17950 : : return 6340; /* *avx512vl_vpternlogv4si_2 */
17951 : :
17952 : : case 9:
17953 : : if (!(
17954 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17955 : : ((64 == 64 || TARGET_AVX512VL
17956 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17957 : : && ix86_pre_reload_split ()
17958 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17959 : : STRIP_UNARY (operands[4]))
17960 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17961 : : STRIP_UNARY (operands[4]))
17962 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17963 : : STRIP_UNARY (operands[3]))
17964 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17965 : : STRIP_UNARY (operands[3])))) &&
17966 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17967 : : (TARGET_AVX512F)))
17968 : : return -1;
17969 : : return 6367; /* *avx512f_vpternlogv8di_2 */
17970 : :
17971 : : case 10:
17972 : : if (!(
17973 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17974 : : ((32 == 64 || TARGET_AVX512VL
17975 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17976 : : && ix86_pre_reload_split ()
17977 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17978 : : STRIP_UNARY (operands[4]))
17979 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17980 : : STRIP_UNARY (operands[4]))
17981 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17982 : : STRIP_UNARY (operands[3]))
17983 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17984 : : STRIP_UNARY (operands[3])))) &&
17985 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17986 : : (TARGET_AVX)))
17987 : : return -1;
17988 : : return 6394; /* *avx512vl_vpternlogv4di_2 */
17989 : :
17990 : : case 11:
17991 : : if (!
17992 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17993 : : ((16 == 64 || TARGET_AVX512VL
17994 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17995 : : && ix86_pre_reload_split ()
17996 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17997 : : STRIP_UNARY (operands[4]))
17998 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17999 : : STRIP_UNARY (operands[4]))
18000 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18001 : : STRIP_UNARY (operands[3]))
18002 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18003 : : STRIP_UNARY (operands[3])))))
18004 : : return -1;
18005 : : return 6421; /* *avx512vl_vpternlogv2di_2 */
18006 : :
18007 : : default:
18008 : : return -1;
18009 : : }
18010 : :
18011 : : case XOR:
18012 : : switch (pattern522 (x2))
18013 : : {
18014 : : case 0:
18015 : : if (!(
18016 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18017 : : ((64 == 64 || TARGET_AVX512VL
18018 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18019 : : && ix86_pre_reload_split ()
18020 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18021 : : STRIP_UNARY (operands[4]))
18022 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18023 : : STRIP_UNARY (operands[4]))
18024 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18025 : : STRIP_UNARY (operands[3]))
18026 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18027 : : STRIP_UNARY (operands[3])))) &&
18028 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18029 : : (TARGET_AVX512F)))
18030 : : return -1;
18031 : : return 6127; /* *avx512bw_vpternlogv64qi_2 */
18032 : :
18033 : : case 1:
18034 : : if (!(
18035 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18036 : : ((32 == 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 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18048 : : (TARGET_AVX)))
18049 : : return -1;
18050 : : return 6154; /* *avx512vl_vpternlogv32qi_2 */
18051 : :
18052 : : case 2:
18053 : : if (!
18054 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18055 : : ((16 == 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 : : return -1;
18067 : : return 6181; /* *avx512vl_vpternlogv16qi_2 */
18068 : :
18069 : : case 3:
18070 : : if (!(
18071 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18072 : : ((64 == 64 || TARGET_AVX512VL
18073 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18074 : : && ix86_pre_reload_split ()
18075 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18076 : : STRIP_UNARY (operands[4]))
18077 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18078 : : STRIP_UNARY (operands[4]))
18079 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18080 : : STRIP_UNARY (operands[3]))
18081 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18082 : : STRIP_UNARY (operands[3])))) &&
18083 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18084 : : (TARGET_AVX512F)))
18085 : : return -1;
18086 : : return 6208; /* *avx512bw_vpternlogv32hi_2 */
18087 : :
18088 : : case 4:
18089 : : if (!(
18090 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18091 : : ((32 == 64 || TARGET_AVX512VL
18092 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18093 : : && ix86_pre_reload_split ()
18094 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18095 : : STRIP_UNARY (operands[4]))
18096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18097 : : STRIP_UNARY (operands[4]))
18098 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18099 : : STRIP_UNARY (operands[3]))
18100 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18101 : : STRIP_UNARY (operands[3])))) &&
18102 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18103 : : (TARGET_AVX)))
18104 : : return -1;
18105 : : return 6235; /* *avx512vl_vpternlogv16hi_2 */
18106 : :
18107 : : case 5:
18108 : : if (!
18109 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18110 : : ((16 == 64 || TARGET_AVX512VL
18111 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18112 : : && ix86_pre_reload_split ()
18113 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18114 : : STRIP_UNARY (operands[4]))
18115 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18116 : : STRIP_UNARY (operands[4]))
18117 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18118 : : STRIP_UNARY (operands[3]))
18119 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18120 : : STRIP_UNARY (operands[3])))))
18121 : : return -1;
18122 : : return 6262; /* *avx512vl_vpternlogv8hi_2 */
18123 : :
18124 : : case 6:
18125 : : if (!(
18126 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18127 : : ((64 == 64 || TARGET_AVX512VL
18128 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18129 : : && ix86_pre_reload_split ()
18130 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18131 : : STRIP_UNARY (operands[4]))
18132 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18133 : : STRIP_UNARY (operands[4]))
18134 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18135 : : STRIP_UNARY (operands[3]))
18136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18137 : : STRIP_UNARY (operands[3])))) &&
18138 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18139 : : (TARGET_AVX512F)))
18140 : : return -1;
18141 : : return 6289; /* *avx512f_vpternlogv16si_2 */
18142 : :
18143 : : case 7:
18144 : : if (!(
18145 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18146 : : ((32 == 64 || TARGET_AVX512VL
18147 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18148 : : && ix86_pre_reload_split ()
18149 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18150 : : STRIP_UNARY (operands[4]))
18151 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18152 : : STRIP_UNARY (operands[4]))
18153 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18154 : : STRIP_UNARY (operands[3]))
18155 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18156 : : STRIP_UNARY (operands[3])))) &&
18157 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18158 : : (TARGET_AVX)))
18159 : : return -1;
18160 : : return 6316; /* *avx512vl_vpternlogv8si_2 */
18161 : :
18162 : : case 8:
18163 : : if (!
18164 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18165 : : ((16 == 64 || TARGET_AVX512VL
18166 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18167 : : && ix86_pre_reload_split ()
18168 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18169 : : STRIP_UNARY (operands[4]))
18170 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18171 : : STRIP_UNARY (operands[4]))
18172 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18173 : : STRIP_UNARY (operands[3]))
18174 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18175 : : STRIP_UNARY (operands[3])))))
18176 : : return -1;
18177 : : return 6343; /* *avx512vl_vpternlogv4si_2 */
18178 : :
18179 : : case 9:
18180 : : if (!(
18181 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18182 : : ((64 == 64 || TARGET_AVX512VL
18183 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18184 : : && ix86_pre_reload_split ()
18185 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18186 : : STRIP_UNARY (operands[4]))
18187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18188 : : STRIP_UNARY (operands[4]))
18189 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18190 : : STRIP_UNARY (operands[3]))
18191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18192 : : STRIP_UNARY (operands[3])))) &&
18193 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18194 : : (TARGET_AVX512F)))
18195 : : return -1;
18196 : : return 6370; /* *avx512f_vpternlogv8di_2 */
18197 : :
18198 : : case 10:
18199 : : if (!(
18200 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18201 : : ((32 == 64 || TARGET_AVX512VL
18202 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18203 : : && ix86_pre_reload_split ()
18204 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18205 : : STRIP_UNARY (operands[4]))
18206 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18207 : : STRIP_UNARY (operands[4]))
18208 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18209 : : STRIP_UNARY (operands[3]))
18210 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18211 : : STRIP_UNARY (operands[3])))) &&
18212 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18213 : : (TARGET_AVX)))
18214 : : return -1;
18215 : : return 6397; /* *avx512vl_vpternlogv4di_2 */
18216 : :
18217 : : case 11:
18218 : : if (!
18219 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18220 : : ((16 == 64 || TARGET_AVX512VL
18221 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18222 : : && ix86_pre_reload_split ()
18223 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18224 : : STRIP_UNARY (operands[4]))
18225 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18226 : : STRIP_UNARY (operands[4]))
18227 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18228 : : STRIP_UNARY (operands[3]))
18229 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18230 : : STRIP_UNARY (operands[3])))))
18231 : : return -1;
18232 : : return 6424; /* *avx512vl_vpternlogv2di_2 */
18233 : :
18234 : : default:
18235 : : return -1;
18236 : : }
18237 : :
18238 : : default:
18239 : : return -1;
18240 : : }
18241 : : }
18242 : :
18243 : : int
18244 : : recog_314 (rtx x1 ATTRIBUTE_UNUSED,
18245 : : rtx_insn *insn ATTRIBUTE_UNUSED,
18246 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
18247 : : {
18248 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18249 : : rtx x2, x3, x4;
18250 : : int res ATTRIBUTE_UNUSED;
18251 : : x2 = XEXP (x1, 1);
18252 : : x3 = XEXP (x2, 0);
18253 : : switch (GET_CODE (x3))
18254 : : {
18255 : : case AND:
18256 : : x4 = XEXP (x3, 0);
18257 : : switch (GET_CODE (x4))
18258 : : {
18259 : : case REG:
18260 : : case SUBREG:
18261 : : case MEM:
18262 : : case NOT:
18263 : : switch (pattern524 (x2))
18264 : : {
18265 : : case 0:
18266 : : if (!(
18267 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18268 : : ((64 == 64 || TARGET_AVX512VL
18269 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18270 : : && ix86_pre_reload_split ()
18271 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18272 : : STRIP_UNARY (operands[4]))
18273 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18274 : : STRIP_UNARY (operands[4]))
18275 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18276 : : STRIP_UNARY (operands[3]))
18277 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18278 : : STRIP_UNARY (operands[3])))) &&
18279 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18280 : : (TARGET_AVX512F)))
18281 : : return -1;
18282 : : return 5779; /* *avx512bw_vpternlogv32hf_1 */
18283 : :
18284 : : case 1:
18285 : : if (!(
18286 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18287 : : ((32 == 64 || TARGET_AVX512VL
18288 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18289 : : && ix86_pre_reload_split ()
18290 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18291 : : STRIP_UNARY (operands[4]))
18292 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18293 : : STRIP_UNARY (operands[4]))
18294 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18295 : : STRIP_UNARY (operands[3]))
18296 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18297 : : STRIP_UNARY (operands[3])))) &&
18298 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18299 : : (TARGET_AVX)))
18300 : : return -1;
18301 : : return 5806; /* *avx512vl_vpternlogv16hf_1 */
18302 : :
18303 : : case 2:
18304 : : if (!
18305 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18306 : : ((16 == 64 || TARGET_AVX512VL
18307 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18308 : : && ix86_pre_reload_split ()
18309 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18310 : : STRIP_UNARY (operands[4]))
18311 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18312 : : STRIP_UNARY (operands[4]))
18313 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18314 : : STRIP_UNARY (operands[3]))
18315 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18316 : : STRIP_UNARY (operands[3])))))
18317 : : return -1;
18318 : : return 5833; /* *avx512fp16_vpternlogv8hf_1 */
18319 : :
18320 : : case 3:
18321 : : if (!(
18322 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18323 : : ((64 == 64 || TARGET_AVX512VL
18324 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18325 : : && ix86_pre_reload_split ()
18326 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18327 : : STRIP_UNARY (operands[4]))
18328 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18329 : : STRIP_UNARY (operands[4]))
18330 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18331 : : STRIP_UNARY (operands[3]))
18332 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18333 : : STRIP_UNARY (operands[3])))) &&
18334 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18335 : : (TARGET_AVX512F)))
18336 : : return -1;
18337 : : return 5860; /* *avx512bw_vpternlogv32bf_1 */
18338 : :
18339 : : case 4:
18340 : : if (!(
18341 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18342 : : ((32 == 64 || TARGET_AVX512VL
18343 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18344 : : && ix86_pre_reload_split ()
18345 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18346 : : STRIP_UNARY (operands[4]))
18347 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18348 : : STRIP_UNARY (operands[4]))
18349 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18350 : : STRIP_UNARY (operands[3]))
18351 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18352 : : STRIP_UNARY (operands[3])))) &&
18353 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18354 : : (TARGET_AVX)))
18355 : : return -1;
18356 : : return 5887; /* *avx512vl_vpternlogv16bf_1 */
18357 : :
18358 : : case 5:
18359 : : if (!
18360 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18361 : : ((16 == 64 || TARGET_AVX512VL
18362 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18363 : : && ix86_pre_reload_split ()
18364 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18365 : : STRIP_UNARY (operands[4]))
18366 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18367 : : STRIP_UNARY (operands[4]))
18368 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18369 : : STRIP_UNARY (operands[3]))
18370 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18371 : : STRIP_UNARY (operands[3])))))
18372 : : return -1;
18373 : : return 5914; /* *avx512vl_vpternlogv8bf_1 */
18374 : :
18375 : : case 6:
18376 : : if (!(
18377 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18378 : : ((64 == 64 || TARGET_AVX512VL
18379 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18380 : : && ix86_pre_reload_split ()
18381 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18382 : : STRIP_UNARY (operands[4]))
18383 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18384 : : STRIP_UNARY (operands[4]))
18385 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18386 : : STRIP_UNARY (operands[3]))
18387 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18388 : : STRIP_UNARY (operands[3])))) &&
18389 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18390 : : (TARGET_AVX512F)))
18391 : : return -1;
18392 : : return 5941; /* *avx512f_vpternlogv16sf_1 */
18393 : :
18394 : : case 7:
18395 : : if (!(
18396 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18397 : : ((32 == 64 || TARGET_AVX512VL
18398 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18399 : : && ix86_pre_reload_split ()
18400 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18401 : : STRIP_UNARY (operands[4]))
18402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18403 : : STRIP_UNARY (operands[4]))
18404 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18405 : : STRIP_UNARY (operands[3]))
18406 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18407 : : STRIP_UNARY (operands[3])))) &&
18408 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18409 : : (TARGET_AVX)))
18410 : : return -1;
18411 : : return 5968; /* *avx512vl_vpternlogv8sf_1 */
18412 : :
18413 : : case 8:
18414 : : if (!
18415 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18416 : : ((16 == 64 || TARGET_AVX512VL
18417 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18418 : : && ix86_pre_reload_split ()
18419 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18420 : : STRIP_UNARY (operands[4]))
18421 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18422 : : STRIP_UNARY (operands[4]))
18423 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18424 : : STRIP_UNARY (operands[3]))
18425 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18426 : : STRIP_UNARY (operands[3])))))
18427 : : return -1;
18428 : : return 5995; /* *avx512vl_vpternlogv4sf_1 */
18429 : :
18430 : : case 9:
18431 : : if (!(
18432 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18433 : : ((64 == 64 || TARGET_AVX512VL
18434 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18435 : : && ix86_pre_reload_split ()
18436 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18437 : : STRIP_UNARY (operands[4]))
18438 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18439 : : STRIP_UNARY (operands[4]))
18440 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18441 : : STRIP_UNARY (operands[3]))
18442 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18443 : : STRIP_UNARY (operands[3])))) &&
18444 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18445 : : (TARGET_AVX512F)))
18446 : : return -1;
18447 : : return 6022; /* *avx512f_vpternlogv8df_1 */
18448 : :
18449 : : case 10:
18450 : : if (!(
18451 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18452 : : ((32 == 64 || TARGET_AVX512VL
18453 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18454 : : && ix86_pre_reload_split ()
18455 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18456 : : STRIP_UNARY (operands[4]))
18457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18458 : : STRIP_UNARY (operands[4]))
18459 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18460 : : STRIP_UNARY (operands[3]))
18461 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18462 : : STRIP_UNARY (operands[3])))) &&
18463 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18464 : : (TARGET_AVX)))
18465 : : return -1;
18466 : : return 6049; /* *avx512vl_vpternlogv4df_1 */
18467 : :
18468 : : case 11:
18469 : : if (!(
18470 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18471 : : ((16 == 64 || TARGET_AVX512VL
18472 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18473 : : && ix86_pre_reload_split ()
18474 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18475 : : STRIP_UNARY (operands[4]))
18476 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18477 : : STRIP_UNARY (operands[4]))
18478 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18479 : : STRIP_UNARY (operands[3]))
18480 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18481 : : STRIP_UNARY (operands[3])))) &&
18482 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18483 : : (TARGET_SSE2)))
18484 : : return -1;
18485 : : return 6076; /* *avx512vl_vpternlogv2df_1 */
18486 : :
18487 : : case 12:
18488 : : if (!(
18489 : : #line 13799 "/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 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18502 : : (TARGET_AVX512F)))
18503 : : return -1;
18504 : : return 5782; /* *avx512bw_vpternlogv32hf_1 */
18505 : :
18506 : : case 13:
18507 : : if (!(
18508 : : #line 13799 "/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 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18521 : : (TARGET_AVX)))
18522 : : return -1;
18523 : : return 5809; /* *avx512vl_vpternlogv16hf_1 */
18524 : :
18525 : : case 14:
18526 : : if (!
18527 : : #line 13799 "/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 5836; /* *avx512fp16_vpternlogv8hf_1 */
18541 : :
18542 : : case 15:
18543 : : if (!(
18544 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18545 : : ((64 == 64 || TARGET_AVX512VL
18546 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18547 : : && ix86_pre_reload_split ()
18548 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18549 : : STRIP_UNARY (operands[4]))
18550 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18551 : : STRIP_UNARY (operands[4]))
18552 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18553 : : STRIP_UNARY (operands[3]))
18554 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18555 : : STRIP_UNARY (operands[3])))) &&
18556 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18557 : : (TARGET_AVX512F)))
18558 : : return -1;
18559 : : return 5863; /* *avx512bw_vpternlogv32bf_1 */
18560 : :
18561 : : case 16:
18562 : : if (!(
18563 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18564 : : ((32 == 64 || TARGET_AVX512VL
18565 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18566 : : && ix86_pre_reload_split ()
18567 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18568 : : STRIP_UNARY (operands[4]))
18569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18570 : : STRIP_UNARY (operands[4]))
18571 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18572 : : STRIP_UNARY (operands[3]))
18573 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18574 : : STRIP_UNARY (operands[3])))) &&
18575 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18576 : : (TARGET_AVX)))
18577 : : return -1;
18578 : : return 5890; /* *avx512vl_vpternlogv16bf_1 */
18579 : :
18580 : : case 17:
18581 : : if (!
18582 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18583 : : ((16 == 64 || TARGET_AVX512VL
18584 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18585 : : && ix86_pre_reload_split ()
18586 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18587 : : STRIP_UNARY (operands[4]))
18588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18589 : : STRIP_UNARY (operands[4]))
18590 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18591 : : STRIP_UNARY (operands[3]))
18592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18593 : : STRIP_UNARY (operands[3])))))
18594 : : return -1;
18595 : : return 5917; /* *avx512vl_vpternlogv8bf_1 */
18596 : :
18597 : : case 18:
18598 : : if (!(
18599 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18600 : : ((64 == 64 || TARGET_AVX512VL
18601 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18602 : : && ix86_pre_reload_split ()
18603 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18604 : : STRIP_UNARY (operands[4]))
18605 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18606 : : STRIP_UNARY (operands[4]))
18607 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18608 : : STRIP_UNARY (operands[3]))
18609 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18610 : : STRIP_UNARY (operands[3])))) &&
18611 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18612 : : (TARGET_AVX512F)))
18613 : : return -1;
18614 : : return 5944; /* *avx512f_vpternlogv16sf_1 */
18615 : :
18616 : : case 19:
18617 : : if (!(
18618 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18619 : : ((32 == 64 || TARGET_AVX512VL
18620 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18621 : : && ix86_pre_reload_split ()
18622 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18623 : : STRIP_UNARY (operands[4]))
18624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18625 : : STRIP_UNARY (operands[4]))
18626 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18627 : : STRIP_UNARY (operands[3]))
18628 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18629 : : STRIP_UNARY (operands[3])))) &&
18630 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18631 : : (TARGET_AVX)))
18632 : : return -1;
18633 : : return 5971; /* *avx512vl_vpternlogv8sf_1 */
18634 : :
18635 : : case 20:
18636 : : if (!
18637 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18638 : : ((16 == 64 || TARGET_AVX512VL
18639 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18640 : : && ix86_pre_reload_split ()
18641 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18642 : : STRIP_UNARY (operands[4]))
18643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18644 : : STRIP_UNARY (operands[4]))
18645 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18646 : : STRIP_UNARY (operands[3]))
18647 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18648 : : STRIP_UNARY (operands[3])))))
18649 : : return -1;
18650 : : return 5998; /* *avx512vl_vpternlogv4sf_1 */
18651 : :
18652 : : case 21:
18653 : : if (!(
18654 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18655 : : ((64 == 64 || TARGET_AVX512VL
18656 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18657 : : && ix86_pre_reload_split ()
18658 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18659 : : STRIP_UNARY (operands[4]))
18660 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18661 : : STRIP_UNARY (operands[4]))
18662 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18663 : : STRIP_UNARY (operands[3]))
18664 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18665 : : STRIP_UNARY (operands[3])))) &&
18666 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18667 : : (TARGET_AVX512F)))
18668 : : return -1;
18669 : : return 6025; /* *avx512f_vpternlogv8df_1 */
18670 : :
18671 : : case 22:
18672 : : if (!(
18673 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18674 : : ((32 == 64 || TARGET_AVX512VL
18675 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18676 : : && ix86_pre_reload_split ()
18677 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18678 : : STRIP_UNARY (operands[4]))
18679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18680 : : STRIP_UNARY (operands[4]))
18681 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18682 : : STRIP_UNARY (operands[3]))
18683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18684 : : STRIP_UNARY (operands[3])))) &&
18685 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18686 : : (TARGET_AVX)))
18687 : : return -1;
18688 : : return 6052; /* *avx512vl_vpternlogv4df_1 */
18689 : :
18690 : : case 23:
18691 : : if (!(
18692 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18693 : : ((16 == 64 || TARGET_AVX512VL
18694 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18695 : : && ix86_pre_reload_split ()
18696 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18697 : : STRIP_UNARY (operands[4]))
18698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18699 : : STRIP_UNARY (operands[4]))
18700 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18701 : : STRIP_UNARY (operands[3]))
18702 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18703 : : STRIP_UNARY (operands[3])))) &&
18704 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18705 : : (TARGET_SSE2)))
18706 : : return -1;
18707 : : return 6079; /* *avx512vl_vpternlogv2df_1 */
18708 : :
18709 : : case 24:
18710 : : if (!(
18711 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18712 : : ((64 == 64 || TARGET_AVX512VL
18713 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18714 : : && ix86_pre_reload_split ()
18715 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18716 : : STRIP_UNARY (operands[4]))
18717 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18718 : : STRIP_UNARY (operands[4]))
18719 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18720 : : STRIP_UNARY (operands[3]))
18721 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18722 : : STRIP_UNARY (operands[3])))) &&
18723 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18724 : : (TARGET_AVX512F)))
18725 : : return -1;
18726 : : return 5785; /* *avx512bw_vpternlogv32hf_1 */
18727 : :
18728 : : case 25:
18729 : : if (!(
18730 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18731 : : ((32 == 64 || TARGET_AVX512VL
18732 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18733 : : && ix86_pre_reload_split ()
18734 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18735 : : STRIP_UNARY (operands[4]))
18736 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18737 : : STRIP_UNARY (operands[4]))
18738 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18739 : : STRIP_UNARY (operands[3]))
18740 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18741 : : STRIP_UNARY (operands[3])))) &&
18742 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18743 : : (TARGET_AVX)))
18744 : : return -1;
18745 : : return 5812; /* *avx512vl_vpternlogv16hf_1 */
18746 : :
18747 : : case 26:
18748 : : if (!
18749 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18750 : : ((16 == 64 || TARGET_AVX512VL
18751 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18752 : : && ix86_pre_reload_split ()
18753 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18754 : : STRIP_UNARY (operands[4]))
18755 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18756 : : STRIP_UNARY (operands[4]))
18757 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18758 : : STRIP_UNARY (operands[3]))
18759 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18760 : : STRIP_UNARY (operands[3])))))
18761 : : return -1;
18762 : : return 5839; /* *avx512fp16_vpternlogv8hf_1 */
18763 : :
18764 : : case 27:
18765 : : if (!(
18766 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18767 : : ((64 == 64 || TARGET_AVX512VL
18768 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18769 : : && ix86_pre_reload_split ()
18770 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18771 : : STRIP_UNARY (operands[4]))
18772 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18773 : : STRIP_UNARY (operands[4]))
18774 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18775 : : STRIP_UNARY (operands[3]))
18776 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18777 : : STRIP_UNARY (operands[3])))) &&
18778 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18779 : : (TARGET_AVX512F)))
18780 : : return -1;
18781 : : return 5866; /* *avx512bw_vpternlogv32bf_1 */
18782 : :
18783 : : case 28:
18784 : : if (!(
18785 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18786 : : ((32 == 64 || TARGET_AVX512VL
18787 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18788 : : && ix86_pre_reload_split ()
18789 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18790 : : STRIP_UNARY (operands[4]))
18791 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18792 : : STRIP_UNARY (operands[4]))
18793 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18794 : : STRIP_UNARY (operands[3]))
18795 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18796 : : STRIP_UNARY (operands[3])))) &&
18797 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18798 : : (TARGET_AVX)))
18799 : : return -1;
18800 : : return 5893; /* *avx512vl_vpternlogv16bf_1 */
18801 : :
18802 : : case 29:
18803 : : if (!
18804 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18805 : : ((16 == 64 || TARGET_AVX512VL
18806 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18807 : : && ix86_pre_reload_split ()
18808 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18809 : : STRIP_UNARY (operands[4]))
18810 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18811 : : STRIP_UNARY (operands[4]))
18812 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18813 : : STRIP_UNARY (operands[3]))
18814 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18815 : : STRIP_UNARY (operands[3])))))
18816 : : return -1;
18817 : : return 5920; /* *avx512vl_vpternlogv8bf_1 */
18818 : :
18819 : : case 30:
18820 : : if (!(
18821 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18822 : : ((64 == 64 || TARGET_AVX512VL
18823 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18824 : : && ix86_pre_reload_split ()
18825 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18826 : : STRIP_UNARY (operands[4]))
18827 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18828 : : STRIP_UNARY (operands[4]))
18829 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18830 : : STRIP_UNARY (operands[3]))
18831 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18832 : : STRIP_UNARY (operands[3])))) &&
18833 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18834 : : (TARGET_AVX512F)))
18835 : : return -1;
18836 : : return 5947; /* *avx512f_vpternlogv16sf_1 */
18837 : :
18838 : : case 31:
18839 : : if (!(
18840 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18841 : : ((32 == 64 || TARGET_AVX512VL
18842 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18843 : : && ix86_pre_reload_split ()
18844 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18845 : : STRIP_UNARY (operands[4]))
18846 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18847 : : STRIP_UNARY (operands[4]))
18848 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18849 : : STRIP_UNARY (operands[3]))
18850 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18851 : : STRIP_UNARY (operands[3])))) &&
18852 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18853 : : (TARGET_AVX)))
18854 : : return -1;
18855 : : return 5974; /* *avx512vl_vpternlogv8sf_1 */
18856 : :
18857 : : case 32:
18858 : : if (!
18859 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18860 : : ((16 == 64 || TARGET_AVX512VL
18861 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18862 : : && ix86_pre_reload_split ()
18863 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18864 : : STRIP_UNARY (operands[4]))
18865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18866 : : STRIP_UNARY (operands[4]))
18867 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18868 : : STRIP_UNARY (operands[3]))
18869 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18870 : : STRIP_UNARY (operands[3])))))
18871 : : return -1;
18872 : : return 6001; /* *avx512vl_vpternlogv4sf_1 */
18873 : :
18874 : : case 33:
18875 : : if (!(
18876 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18877 : : ((64 == 64 || TARGET_AVX512VL
18878 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18879 : : && ix86_pre_reload_split ()
18880 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18881 : : STRIP_UNARY (operands[4]))
18882 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18883 : : STRIP_UNARY (operands[4]))
18884 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18885 : : STRIP_UNARY (operands[3]))
18886 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18887 : : STRIP_UNARY (operands[3])))) &&
18888 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18889 : : (TARGET_AVX512F)))
18890 : : return -1;
18891 : : return 6028; /* *avx512f_vpternlogv8df_1 */
18892 : :
18893 : : case 34:
18894 : : if (!(
18895 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18896 : : ((32 == 64 || TARGET_AVX512VL
18897 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18898 : : && ix86_pre_reload_split ()
18899 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18900 : : STRIP_UNARY (operands[4]))
18901 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18902 : : STRIP_UNARY (operands[4]))
18903 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18904 : : STRIP_UNARY (operands[3]))
18905 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18906 : : STRIP_UNARY (operands[3])))) &&
18907 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18908 : : (TARGET_AVX)))
18909 : : return -1;
18910 : : return 6055; /* *avx512vl_vpternlogv4df_1 */
18911 : :
18912 : : case 35:
18913 : : if (!(
18914 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18915 : : ((16 == 64 || TARGET_AVX512VL
18916 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18917 : : && ix86_pre_reload_split ()
18918 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18919 : : STRIP_UNARY (operands[4]))
18920 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18921 : : STRIP_UNARY (operands[4]))
18922 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18923 : : STRIP_UNARY (operands[3]))
18924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18925 : : STRIP_UNARY (operands[3])))) &&
18926 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18927 : : (TARGET_SSE2)))
18928 : : return -1;
18929 : : return 6082; /* *avx512vl_vpternlogv2df_1 */
18930 : :
18931 : : case 36:
18932 : : if (!(
18933 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18934 : : ((64 == 64 || TARGET_AVX512VL
18935 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18936 : : && ix86_pre_reload_split ()) &&
18937 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18938 : : (TARGET_AVX512F)))
18939 : : return -1;
18940 : : return 6859; /* *avx512bw_vpternlogv32hf_3 */
18941 : :
18942 : : case 37:
18943 : : if (!(
18944 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18945 : : ((32 == 64 || TARGET_AVX512VL
18946 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18947 : : && ix86_pre_reload_split ()) &&
18948 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18949 : : (TARGET_AVX)))
18950 : : return -1;
18951 : : return 6868; /* *avx512vl_vpternlogv16hf_3 */
18952 : :
18953 : : case 38:
18954 : : if (!
18955 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18956 : : ((16 == 64 || TARGET_AVX512VL
18957 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18958 : : && ix86_pre_reload_split ()))
18959 : : return -1;
18960 : : return 6877; /* *avx512fp16_vpternlogv8hf_3 */
18961 : :
18962 : : case 39:
18963 : : if (!(
18964 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18965 : : ((64 == 64 || TARGET_AVX512VL
18966 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18967 : : && ix86_pre_reload_split ()) &&
18968 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18969 : : (TARGET_AVX512F)))
18970 : : return -1;
18971 : : return 6886; /* *avx512bw_vpternlogv32bf_3 */
18972 : :
18973 : : case 40:
18974 : : if (!(
18975 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18976 : : ((32 == 64 || TARGET_AVX512VL
18977 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18978 : : && ix86_pre_reload_split ()) &&
18979 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18980 : : (TARGET_AVX)))
18981 : : return -1;
18982 : : return 6895; /* *avx512vl_vpternlogv16bf_3 */
18983 : :
18984 : : case 41:
18985 : : if (!
18986 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18987 : : ((16 == 64 || TARGET_AVX512VL
18988 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18989 : : && ix86_pre_reload_split ()))
18990 : : return -1;
18991 : : return 6904; /* *avx512vl_vpternlogv8bf_3 */
18992 : :
18993 : : case 42:
18994 : : if (!(
18995 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18996 : : ((64 == 64 || TARGET_AVX512VL
18997 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18998 : : && ix86_pre_reload_split ()) &&
18999 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19000 : : (TARGET_AVX512F)))
19001 : : return -1;
19002 : : return 6913; /* *avx512f_vpternlogv16sf_3 */
19003 : :
19004 : : case 43:
19005 : : if (!(
19006 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19007 : : ((32 == 64 || TARGET_AVX512VL
19008 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19009 : : && ix86_pre_reload_split ()) &&
19010 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19011 : : (TARGET_AVX)))
19012 : : return -1;
19013 : : return 6922; /* *avx512vl_vpternlogv8sf_3 */
19014 : :
19015 : : case 44:
19016 : : if (!
19017 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19018 : : ((16 == 64 || TARGET_AVX512VL
19019 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19020 : : && ix86_pre_reload_split ()))
19021 : : return -1;
19022 : : return 6931; /* *avx512vl_vpternlogv4sf_3 */
19023 : :
19024 : : case 45:
19025 : : if (!(
19026 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19027 : : ((64 == 64 || TARGET_AVX512VL
19028 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19029 : : && ix86_pre_reload_split ()) &&
19030 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19031 : : (TARGET_AVX512F)))
19032 : : return -1;
19033 : : return 6940; /* *avx512f_vpternlogv8df_3 */
19034 : :
19035 : : case 46:
19036 : : if (!(
19037 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19038 : : ((32 == 64 || TARGET_AVX512VL
19039 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19040 : : && ix86_pre_reload_split ()) &&
19041 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19042 : : (TARGET_AVX)))
19043 : : return -1;
19044 : : return 6949; /* *avx512vl_vpternlogv4df_3 */
19045 : :
19046 : : case 47:
19047 : : if (!(
19048 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19049 : : ((16 == 64 || TARGET_AVX512VL
19050 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19051 : : && ix86_pre_reload_split ()) &&
19052 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19053 : : (TARGET_SSE2)))
19054 : : return -1;
19055 : : return 6958; /* *avx512vl_vpternlogv2df_3 */
19056 : :
19057 : : default:
19058 : : return -1;
19059 : : }
19060 : :
19061 : : case AND:
19062 : : switch (pattern525 (x2))
19063 : : {
19064 : : case 0:
19065 : : if (!(
19066 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19067 : : ((64 == 64 || TARGET_AVX512VL
19068 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19069 : : && ix86_pre_reload_split ()
19070 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19071 : : STRIP_UNARY (operands[4]))
19072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19073 : : STRIP_UNARY (operands[4]))
19074 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19075 : : STRIP_UNARY (operands[3]))
19076 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19077 : : STRIP_UNARY (operands[3])))) &&
19078 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19079 : : (TARGET_AVX512F)))
19080 : : return -1;
19081 : : return 6427; /* *avx512bw_vpternlogv32hf_2 */
19082 : :
19083 : : case 1:
19084 : : if (!(
19085 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19086 : : ((32 == 64 || TARGET_AVX512VL
19087 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19088 : : && ix86_pre_reload_split ()
19089 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19090 : : STRIP_UNARY (operands[4]))
19091 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19092 : : STRIP_UNARY (operands[4]))
19093 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19094 : : STRIP_UNARY (operands[3]))
19095 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19096 : : STRIP_UNARY (operands[3])))) &&
19097 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19098 : : (TARGET_AVX)))
19099 : : return -1;
19100 : : return 6454; /* *avx512vl_vpternlogv16hf_2 */
19101 : :
19102 : : case 2:
19103 : : if (!
19104 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19105 : : ((16 == 64 || TARGET_AVX512VL
19106 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19107 : : && ix86_pre_reload_split ()
19108 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19109 : : STRIP_UNARY (operands[4]))
19110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19111 : : STRIP_UNARY (operands[4]))
19112 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19113 : : STRIP_UNARY (operands[3]))
19114 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19115 : : STRIP_UNARY (operands[3])))))
19116 : : return -1;
19117 : : return 6481; /* *avx512fp16_vpternlogv8hf_2 */
19118 : :
19119 : : case 3:
19120 : : if (!(
19121 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19122 : : ((64 == 64 || TARGET_AVX512VL
19123 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19124 : : && ix86_pre_reload_split ()
19125 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19126 : : STRIP_UNARY (operands[4]))
19127 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19128 : : STRIP_UNARY (operands[4]))
19129 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19130 : : STRIP_UNARY (operands[3]))
19131 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19132 : : STRIP_UNARY (operands[3])))) &&
19133 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19134 : : (TARGET_AVX512F)))
19135 : : return -1;
19136 : : return 6508; /* *avx512bw_vpternlogv32bf_2 */
19137 : :
19138 : : case 4:
19139 : : if (!(
19140 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19141 : : ((32 == 64 || TARGET_AVX512VL
19142 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19143 : : && ix86_pre_reload_split ()
19144 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19145 : : STRIP_UNARY (operands[4]))
19146 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19147 : : STRIP_UNARY (operands[4]))
19148 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19149 : : STRIP_UNARY (operands[3]))
19150 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19151 : : STRIP_UNARY (operands[3])))) &&
19152 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19153 : : (TARGET_AVX)))
19154 : : return -1;
19155 : : return 6535; /* *avx512vl_vpternlogv16bf_2 */
19156 : :
19157 : : case 5:
19158 : : if (!
19159 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19160 : : ((16 == 64 || TARGET_AVX512VL
19161 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19162 : : && ix86_pre_reload_split ()
19163 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19164 : : STRIP_UNARY (operands[4]))
19165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19166 : : STRIP_UNARY (operands[4]))
19167 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19168 : : STRIP_UNARY (operands[3]))
19169 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19170 : : STRIP_UNARY (operands[3])))))
19171 : : return -1;
19172 : : return 6562; /* *avx512vl_vpternlogv8bf_2 */
19173 : :
19174 : : case 6:
19175 : : if (!(
19176 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19177 : : ((64 == 64 || TARGET_AVX512VL
19178 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19179 : : && ix86_pre_reload_split ()
19180 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19181 : : STRIP_UNARY (operands[4]))
19182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19183 : : STRIP_UNARY (operands[4]))
19184 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19185 : : STRIP_UNARY (operands[3]))
19186 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19187 : : STRIP_UNARY (operands[3])))) &&
19188 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19189 : : (TARGET_AVX512F)))
19190 : : return -1;
19191 : : return 6589; /* *avx512f_vpternlogv16sf_2 */
19192 : :
19193 : : case 7:
19194 : : if (!(
19195 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19196 : : ((32 == 64 || TARGET_AVX512VL
19197 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19198 : : && ix86_pre_reload_split ()
19199 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19200 : : STRIP_UNARY (operands[4]))
19201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19202 : : STRIP_UNARY (operands[4]))
19203 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19204 : : STRIP_UNARY (operands[3]))
19205 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19206 : : STRIP_UNARY (operands[3])))) &&
19207 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19208 : : (TARGET_AVX)))
19209 : : return -1;
19210 : : return 6616; /* *avx512vl_vpternlogv8sf_2 */
19211 : :
19212 : : case 8:
19213 : : if (!
19214 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19215 : : ((16 == 64 || TARGET_AVX512VL
19216 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19217 : : && ix86_pre_reload_split ()
19218 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19219 : : STRIP_UNARY (operands[4]))
19220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19221 : : STRIP_UNARY (operands[4]))
19222 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19223 : : STRIP_UNARY (operands[3]))
19224 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19225 : : STRIP_UNARY (operands[3])))))
19226 : : return -1;
19227 : : return 6643; /* *avx512vl_vpternlogv4sf_2 */
19228 : :
19229 : : case 9:
19230 : : if (!(
19231 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19232 : : ((64 == 64 || TARGET_AVX512VL
19233 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19234 : : && ix86_pre_reload_split ()
19235 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19236 : : STRIP_UNARY (operands[4]))
19237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19238 : : STRIP_UNARY (operands[4]))
19239 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19240 : : STRIP_UNARY (operands[3]))
19241 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19242 : : STRIP_UNARY (operands[3])))) &&
19243 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19244 : : (TARGET_AVX512F)))
19245 : : return -1;
19246 : : return 6670; /* *avx512f_vpternlogv8df_2 */
19247 : :
19248 : : case 10:
19249 : : if (!(
19250 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19251 : : ((32 == 64 || TARGET_AVX512VL
19252 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19253 : : && ix86_pre_reload_split ()
19254 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19255 : : STRIP_UNARY (operands[4]))
19256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19257 : : STRIP_UNARY (operands[4]))
19258 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19259 : : STRIP_UNARY (operands[3]))
19260 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19261 : : STRIP_UNARY (operands[3])))) &&
19262 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19263 : : (TARGET_AVX)))
19264 : : return -1;
19265 : : return 6697; /* *avx512vl_vpternlogv4df_2 */
19266 : :
19267 : : case 11:
19268 : : if (!(
19269 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19270 : : ((16 == 64 || TARGET_AVX512VL
19271 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19272 : : && ix86_pre_reload_split ()
19273 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19274 : : STRIP_UNARY (operands[4]))
19275 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19276 : : STRIP_UNARY (operands[4]))
19277 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19278 : : STRIP_UNARY (operands[3]))
19279 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19280 : : STRIP_UNARY (operands[3])))) &&
19281 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19282 : : (TARGET_SSE2)))
19283 : : return -1;
19284 : : return 6724; /* *avx512vl_vpternlogv2df_2 */
19285 : :
19286 : : default:
19287 : : return -1;
19288 : : }
19289 : :
19290 : : case IOR:
19291 : : switch (pattern525 (x2))
19292 : : {
19293 : : case 0:
19294 : : if (!(
19295 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19296 : : ((64 == 64 || TARGET_AVX512VL
19297 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19298 : : && ix86_pre_reload_split ()
19299 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19300 : : STRIP_UNARY (operands[4]))
19301 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19302 : : STRIP_UNARY (operands[4]))
19303 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19304 : : STRIP_UNARY (operands[3]))
19305 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19306 : : STRIP_UNARY (operands[3])))) &&
19307 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19308 : : (TARGET_AVX512F)))
19309 : : return -1;
19310 : : return 6430; /* *avx512bw_vpternlogv32hf_2 */
19311 : :
19312 : : case 1:
19313 : : if (!(
19314 : : #line 13884 "/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 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19319 : : STRIP_UNARY (operands[4]))
19320 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19321 : : STRIP_UNARY (operands[4]))
19322 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19323 : : STRIP_UNARY (operands[3]))
19324 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19325 : : STRIP_UNARY (operands[3])))) &&
19326 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19327 : : (TARGET_AVX)))
19328 : : return -1;
19329 : : return 6457; /* *avx512vl_vpternlogv16hf_2 */
19330 : :
19331 : : case 2:
19332 : : if (!
19333 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19334 : : ((16 == 64 || TARGET_AVX512VL
19335 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19336 : : && ix86_pre_reload_split ()
19337 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19338 : : STRIP_UNARY (operands[4]))
19339 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19340 : : STRIP_UNARY (operands[4]))
19341 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19342 : : STRIP_UNARY (operands[3]))
19343 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19344 : : STRIP_UNARY (operands[3])))))
19345 : : return -1;
19346 : : return 6484; /* *avx512fp16_vpternlogv8hf_2 */
19347 : :
19348 : : case 3:
19349 : : if (!(
19350 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19351 : : ((64 == 64 || TARGET_AVX512VL
19352 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19353 : : && ix86_pre_reload_split ()
19354 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19355 : : STRIP_UNARY (operands[4]))
19356 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19357 : : STRIP_UNARY (operands[4]))
19358 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19359 : : STRIP_UNARY (operands[3]))
19360 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19361 : : STRIP_UNARY (operands[3])))) &&
19362 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19363 : : (TARGET_AVX512F)))
19364 : : return -1;
19365 : : return 6511; /* *avx512bw_vpternlogv32bf_2 */
19366 : :
19367 : : case 4:
19368 : : if (!(
19369 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19370 : : ((32 == 64 || TARGET_AVX512VL
19371 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19372 : : && ix86_pre_reload_split ()
19373 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19374 : : STRIP_UNARY (operands[4]))
19375 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19376 : : STRIP_UNARY (operands[4]))
19377 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19378 : : STRIP_UNARY (operands[3]))
19379 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19380 : : STRIP_UNARY (operands[3])))) &&
19381 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19382 : : (TARGET_AVX)))
19383 : : return -1;
19384 : : return 6538; /* *avx512vl_vpternlogv16bf_2 */
19385 : :
19386 : : case 5:
19387 : : if (!
19388 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19389 : : ((16 == 64 || TARGET_AVX512VL
19390 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19391 : : && ix86_pre_reload_split ()
19392 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19393 : : STRIP_UNARY (operands[4]))
19394 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19395 : : STRIP_UNARY (operands[4]))
19396 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19397 : : STRIP_UNARY (operands[3]))
19398 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19399 : : STRIP_UNARY (operands[3])))))
19400 : : return -1;
19401 : : return 6565; /* *avx512vl_vpternlogv8bf_2 */
19402 : :
19403 : : case 6:
19404 : : if (!(
19405 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19406 : : ((64 == 64 || TARGET_AVX512VL
19407 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19408 : : && ix86_pre_reload_split ()
19409 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19410 : : STRIP_UNARY (operands[4]))
19411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19412 : : STRIP_UNARY (operands[4]))
19413 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19414 : : STRIP_UNARY (operands[3]))
19415 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19416 : : STRIP_UNARY (operands[3])))) &&
19417 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19418 : : (TARGET_AVX512F)))
19419 : : return -1;
19420 : : return 6592; /* *avx512f_vpternlogv16sf_2 */
19421 : :
19422 : : case 7:
19423 : : if (!(
19424 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19425 : : ((32 == 64 || TARGET_AVX512VL
19426 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19427 : : && ix86_pre_reload_split ()
19428 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19429 : : STRIP_UNARY (operands[4]))
19430 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19431 : : STRIP_UNARY (operands[4]))
19432 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19433 : : STRIP_UNARY (operands[3]))
19434 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19435 : : STRIP_UNARY (operands[3])))) &&
19436 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19437 : : (TARGET_AVX)))
19438 : : return -1;
19439 : : return 6619; /* *avx512vl_vpternlogv8sf_2 */
19440 : :
19441 : : case 8:
19442 : : if (!
19443 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19444 : : ((16 == 64 || TARGET_AVX512VL
19445 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19446 : : && ix86_pre_reload_split ()
19447 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19448 : : STRIP_UNARY (operands[4]))
19449 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19450 : : STRIP_UNARY (operands[4]))
19451 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19452 : : STRIP_UNARY (operands[3]))
19453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19454 : : STRIP_UNARY (operands[3])))))
19455 : : return -1;
19456 : : return 6646; /* *avx512vl_vpternlogv4sf_2 */
19457 : :
19458 : : case 9:
19459 : : if (!(
19460 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19461 : : ((64 == 64 || TARGET_AVX512VL
19462 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19463 : : && ix86_pre_reload_split ()
19464 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19465 : : STRIP_UNARY (operands[4]))
19466 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19467 : : STRIP_UNARY (operands[4]))
19468 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19469 : : STRIP_UNARY (operands[3]))
19470 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19471 : : STRIP_UNARY (operands[3])))) &&
19472 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19473 : : (TARGET_AVX512F)))
19474 : : return -1;
19475 : : return 6673; /* *avx512f_vpternlogv8df_2 */
19476 : :
19477 : : case 10:
19478 : : if (!(
19479 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19480 : : ((32 == 64 || TARGET_AVX512VL
19481 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19482 : : && ix86_pre_reload_split ()
19483 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19484 : : STRIP_UNARY (operands[4]))
19485 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19486 : : STRIP_UNARY (operands[4]))
19487 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19488 : : STRIP_UNARY (operands[3]))
19489 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19490 : : STRIP_UNARY (operands[3])))) &&
19491 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19492 : : (TARGET_AVX)))
19493 : : return -1;
19494 : : return 6700; /* *avx512vl_vpternlogv4df_2 */
19495 : :
19496 : : case 11:
19497 : : if (!(
19498 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19499 : : ((16 == 64 || TARGET_AVX512VL
19500 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19501 : : && ix86_pre_reload_split ()
19502 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19503 : : STRIP_UNARY (operands[4]))
19504 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19505 : : STRIP_UNARY (operands[4]))
19506 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19507 : : STRIP_UNARY (operands[3]))
19508 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19509 : : STRIP_UNARY (operands[3])))) &&
19510 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19511 : : (TARGET_SSE2)))
19512 : : return -1;
19513 : : return 6727; /* *avx512vl_vpternlogv2df_2 */
19514 : :
19515 : : default:
19516 : : return -1;
19517 : : }
19518 : :
19519 : : case XOR:
19520 : : switch (pattern525 (x2))
19521 : : {
19522 : : case 0:
19523 : : if (!(
19524 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19525 : : ((64 == 64 || TARGET_AVX512VL
19526 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19527 : : && ix86_pre_reload_split ()
19528 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19529 : : STRIP_UNARY (operands[4]))
19530 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19531 : : STRIP_UNARY (operands[4]))
19532 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19533 : : STRIP_UNARY (operands[3]))
19534 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19535 : : STRIP_UNARY (operands[3])))) &&
19536 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19537 : : (TARGET_AVX512F)))
19538 : : return -1;
19539 : : return 6433; /* *avx512bw_vpternlogv32hf_2 */
19540 : :
19541 : : case 1:
19542 : : if (!(
19543 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19544 : : ((32 == 64 || TARGET_AVX512VL
19545 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19546 : : && ix86_pre_reload_split ()
19547 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19548 : : STRIP_UNARY (operands[4]))
19549 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19550 : : STRIP_UNARY (operands[4]))
19551 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19552 : : STRIP_UNARY (operands[3]))
19553 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19554 : : STRIP_UNARY (operands[3])))) &&
19555 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19556 : : (TARGET_AVX)))
19557 : : return -1;
19558 : : return 6460; /* *avx512vl_vpternlogv16hf_2 */
19559 : :
19560 : : case 2:
19561 : : if (!
19562 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19563 : : ((16 == 64 || TARGET_AVX512VL
19564 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19565 : : && ix86_pre_reload_split ()
19566 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19567 : : STRIP_UNARY (operands[4]))
19568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19569 : : STRIP_UNARY (operands[4]))
19570 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19571 : : STRIP_UNARY (operands[3]))
19572 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19573 : : STRIP_UNARY (operands[3])))))
19574 : : return -1;
19575 : : return 6487; /* *avx512fp16_vpternlogv8hf_2 */
19576 : :
19577 : : case 3:
19578 : : if (!(
19579 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19580 : : ((64 == 64 || TARGET_AVX512VL
19581 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19582 : : && ix86_pre_reload_split ()
19583 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19584 : : STRIP_UNARY (operands[4]))
19585 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19586 : : STRIP_UNARY (operands[4]))
19587 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19588 : : STRIP_UNARY (operands[3]))
19589 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19590 : : STRIP_UNARY (operands[3])))) &&
19591 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19592 : : (TARGET_AVX512F)))
19593 : : return -1;
19594 : : return 6514; /* *avx512bw_vpternlogv32bf_2 */
19595 : :
19596 : : case 4:
19597 : : if (!(
19598 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19599 : : ((32 == 64 || TARGET_AVX512VL
19600 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19601 : : && ix86_pre_reload_split ()
19602 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19603 : : STRIP_UNARY (operands[4]))
19604 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19605 : : STRIP_UNARY (operands[4]))
19606 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19607 : : STRIP_UNARY (operands[3]))
19608 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19609 : : STRIP_UNARY (operands[3])))) &&
19610 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19611 : : (TARGET_AVX)))
19612 : : return -1;
19613 : : return 6541; /* *avx512vl_vpternlogv16bf_2 */
19614 : :
19615 : : case 5:
19616 : : if (!
19617 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19618 : : ((16 == 64 || TARGET_AVX512VL
19619 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19620 : : && ix86_pre_reload_split ()
19621 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19622 : : STRIP_UNARY (operands[4]))
19623 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19624 : : STRIP_UNARY (operands[4]))
19625 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19626 : : STRIP_UNARY (operands[3]))
19627 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19628 : : STRIP_UNARY (operands[3])))))
19629 : : return -1;
19630 : : return 6568; /* *avx512vl_vpternlogv8bf_2 */
19631 : :
19632 : : case 6:
19633 : : if (!(
19634 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19635 : : ((64 == 64 || TARGET_AVX512VL
19636 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19637 : : && ix86_pre_reload_split ()
19638 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19639 : : STRIP_UNARY (operands[4]))
19640 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19641 : : STRIP_UNARY (operands[4]))
19642 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19643 : : STRIP_UNARY (operands[3]))
19644 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19645 : : STRIP_UNARY (operands[3])))) &&
19646 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19647 : : (TARGET_AVX512F)))
19648 : : return -1;
19649 : : return 6595; /* *avx512f_vpternlogv16sf_2 */
19650 : :
19651 : : case 7:
19652 : : if (!(
19653 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19654 : : ((32 == 64 || TARGET_AVX512VL
19655 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19656 : : && ix86_pre_reload_split ()
19657 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19658 : : STRIP_UNARY (operands[4]))
19659 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19660 : : STRIP_UNARY (operands[4]))
19661 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19662 : : STRIP_UNARY (operands[3]))
19663 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19664 : : STRIP_UNARY (operands[3])))) &&
19665 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19666 : : (TARGET_AVX)))
19667 : : return -1;
19668 : : return 6622; /* *avx512vl_vpternlogv8sf_2 */
19669 : :
19670 : : case 8:
19671 : : if (!
19672 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19673 : : ((16 == 64 || TARGET_AVX512VL
19674 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19675 : : && ix86_pre_reload_split ()
19676 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19677 : : STRIP_UNARY (operands[4]))
19678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19679 : : STRIP_UNARY (operands[4]))
19680 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19681 : : STRIP_UNARY (operands[3]))
19682 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19683 : : STRIP_UNARY (operands[3])))))
19684 : : return -1;
19685 : : return 6649; /* *avx512vl_vpternlogv4sf_2 */
19686 : :
19687 : : case 9:
19688 : : if (!(
19689 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19690 : : ((64 == 64 || TARGET_AVX512VL
19691 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19692 : : && ix86_pre_reload_split ()
19693 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19694 : : STRIP_UNARY (operands[4]))
19695 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19696 : : STRIP_UNARY (operands[4]))
19697 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19698 : : STRIP_UNARY (operands[3]))
19699 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19700 : : STRIP_UNARY (operands[3])))) &&
19701 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19702 : : (TARGET_AVX512F)))
19703 : : return -1;
19704 : : return 6676; /* *avx512f_vpternlogv8df_2 */
19705 : :
19706 : : case 10:
19707 : : if (!(
19708 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19709 : : ((32 == 64 || TARGET_AVX512VL
19710 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19711 : : && ix86_pre_reload_split ()
19712 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19713 : : STRIP_UNARY (operands[4]))
19714 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19715 : : STRIP_UNARY (operands[4]))
19716 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19717 : : STRIP_UNARY (operands[3]))
19718 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19719 : : STRIP_UNARY (operands[3])))) &&
19720 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19721 : : (TARGET_AVX)))
19722 : : return -1;
19723 : : return 6703; /* *avx512vl_vpternlogv4df_2 */
19724 : :
19725 : : case 11:
19726 : : if (!(
19727 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19728 : : ((16 == 64 || TARGET_AVX512VL
19729 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19730 : : && ix86_pre_reload_split ()
19731 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19732 : : STRIP_UNARY (operands[4]))
19733 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19734 : : STRIP_UNARY (operands[4]))
19735 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19736 : : STRIP_UNARY (operands[3]))
19737 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19738 : : STRIP_UNARY (operands[3])))) &&
19739 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19740 : : (TARGET_SSE2)))
19741 : : return -1;
19742 : : return 6730; /* *avx512vl_vpternlogv2df_2 */
19743 : :
19744 : : default:
19745 : : return -1;
19746 : : }
19747 : :
19748 : : default:
19749 : : return -1;
19750 : : }
19751 : :
19752 : : case IOR:
19753 : : x4 = XEXP (x3, 0);
19754 : : switch (GET_CODE (x4))
19755 : : {
19756 : : case REG:
19757 : : case SUBREG:
19758 : : case MEM:
19759 : : case NOT:
19760 : : switch (pattern524 (x2))
19761 : : {
19762 : : case 0:
19763 : : if (!(
19764 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19765 : : ((64 == 64 || TARGET_AVX512VL
19766 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19767 : : && ix86_pre_reload_split ()
19768 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19769 : : STRIP_UNARY (operands[4]))
19770 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19771 : : STRIP_UNARY (operands[4]))
19772 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19773 : : STRIP_UNARY (operands[3]))
19774 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19775 : : STRIP_UNARY (operands[3])))) &&
19776 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19777 : : (TARGET_AVX512F)))
19778 : : return -1;
19779 : : return 5788; /* *avx512bw_vpternlogv32hf_1 */
19780 : :
19781 : : case 1:
19782 : : if (!(
19783 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19784 : : ((32 == 64 || TARGET_AVX512VL
19785 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19786 : : && ix86_pre_reload_split ()
19787 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19788 : : STRIP_UNARY (operands[4]))
19789 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19790 : : STRIP_UNARY (operands[4]))
19791 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19792 : : STRIP_UNARY (operands[3]))
19793 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19794 : : STRIP_UNARY (operands[3])))) &&
19795 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19796 : : (TARGET_AVX)))
19797 : : return -1;
19798 : : return 5815; /* *avx512vl_vpternlogv16hf_1 */
19799 : :
19800 : : case 2:
19801 : : if (!
19802 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19803 : : ((16 == 64 || TARGET_AVX512VL
19804 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19805 : : && ix86_pre_reload_split ()
19806 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19807 : : STRIP_UNARY (operands[4]))
19808 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19809 : : STRIP_UNARY (operands[4]))
19810 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19811 : : STRIP_UNARY (operands[3]))
19812 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19813 : : STRIP_UNARY (operands[3])))))
19814 : : return -1;
19815 : : return 5842; /* *avx512fp16_vpternlogv8hf_1 */
19816 : :
19817 : : case 3:
19818 : : if (!(
19819 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19820 : : ((64 == 64 || TARGET_AVX512VL
19821 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19822 : : && ix86_pre_reload_split ()
19823 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19824 : : STRIP_UNARY (operands[4]))
19825 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19826 : : STRIP_UNARY (operands[4]))
19827 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19828 : : STRIP_UNARY (operands[3]))
19829 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19830 : : STRIP_UNARY (operands[3])))) &&
19831 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19832 : : (TARGET_AVX512F)))
19833 : : return -1;
19834 : : return 5869; /* *avx512bw_vpternlogv32bf_1 */
19835 : :
19836 : : case 4:
19837 : : if (!(
19838 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19839 : : ((32 == 64 || TARGET_AVX512VL
19840 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19841 : : && ix86_pre_reload_split ()
19842 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19843 : : STRIP_UNARY (operands[4]))
19844 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19845 : : STRIP_UNARY (operands[4]))
19846 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19847 : : STRIP_UNARY (operands[3]))
19848 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19849 : : STRIP_UNARY (operands[3])))) &&
19850 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19851 : : (TARGET_AVX)))
19852 : : return -1;
19853 : : return 5896; /* *avx512vl_vpternlogv16bf_1 */
19854 : :
19855 : : case 5:
19856 : : if (!
19857 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19858 : : ((16 == 64 || TARGET_AVX512VL
19859 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19860 : : && ix86_pre_reload_split ()
19861 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19862 : : STRIP_UNARY (operands[4]))
19863 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19864 : : STRIP_UNARY (operands[4]))
19865 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19866 : : STRIP_UNARY (operands[3]))
19867 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19868 : : STRIP_UNARY (operands[3])))))
19869 : : return -1;
19870 : : return 5923; /* *avx512vl_vpternlogv8bf_1 */
19871 : :
19872 : : case 6:
19873 : : if (!(
19874 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19875 : : ((64 == 64 || TARGET_AVX512VL
19876 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19877 : : && ix86_pre_reload_split ()
19878 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19879 : : STRIP_UNARY (operands[4]))
19880 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19881 : : STRIP_UNARY (operands[4]))
19882 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19883 : : STRIP_UNARY (operands[3]))
19884 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19885 : : STRIP_UNARY (operands[3])))) &&
19886 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19887 : : (TARGET_AVX512F)))
19888 : : return -1;
19889 : : return 5950; /* *avx512f_vpternlogv16sf_1 */
19890 : :
19891 : : case 7:
19892 : : if (!(
19893 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19894 : : ((32 == 64 || TARGET_AVX512VL
19895 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19896 : : && ix86_pre_reload_split ()
19897 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19898 : : STRIP_UNARY (operands[4]))
19899 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19900 : : STRIP_UNARY (operands[4]))
19901 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19902 : : STRIP_UNARY (operands[3]))
19903 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19904 : : STRIP_UNARY (operands[3])))) &&
19905 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19906 : : (TARGET_AVX)))
19907 : : return -1;
19908 : : return 5977; /* *avx512vl_vpternlogv8sf_1 */
19909 : :
19910 : : case 8:
19911 : : if (!
19912 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19913 : : ((16 == 64 || TARGET_AVX512VL
19914 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19915 : : && ix86_pre_reload_split ()
19916 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19917 : : STRIP_UNARY (operands[4]))
19918 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19919 : : STRIP_UNARY (operands[4]))
19920 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19921 : : STRIP_UNARY (operands[3]))
19922 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19923 : : STRIP_UNARY (operands[3])))))
19924 : : return -1;
19925 : : return 6004; /* *avx512vl_vpternlogv4sf_1 */
19926 : :
19927 : : case 9:
19928 : : if (!(
19929 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19930 : : ((64 == 64 || TARGET_AVX512VL
19931 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19932 : : && ix86_pre_reload_split ()
19933 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19934 : : STRIP_UNARY (operands[4]))
19935 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19936 : : STRIP_UNARY (operands[4]))
19937 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19938 : : STRIP_UNARY (operands[3]))
19939 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19940 : : STRIP_UNARY (operands[3])))) &&
19941 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19942 : : (TARGET_AVX512F)))
19943 : : return -1;
19944 : : return 6031; /* *avx512f_vpternlogv8df_1 */
19945 : :
19946 : : case 10:
19947 : : if (!(
19948 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19949 : : ((32 == 64 || TARGET_AVX512VL
19950 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19951 : : && ix86_pre_reload_split ()
19952 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19953 : : STRIP_UNARY (operands[4]))
19954 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19955 : : STRIP_UNARY (operands[4]))
19956 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19957 : : STRIP_UNARY (operands[3]))
19958 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19959 : : STRIP_UNARY (operands[3])))) &&
19960 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19961 : : (TARGET_AVX)))
19962 : : return -1;
19963 : : return 6058; /* *avx512vl_vpternlogv4df_1 */
19964 : :
19965 : : case 11:
19966 : : if (!(
19967 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19968 : : ((16 == 64 || TARGET_AVX512VL
19969 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19970 : : && ix86_pre_reload_split ()
19971 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19972 : : STRIP_UNARY (operands[4]))
19973 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19974 : : STRIP_UNARY (operands[4]))
19975 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19976 : : STRIP_UNARY (operands[3]))
19977 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19978 : : STRIP_UNARY (operands[3])))) &&
19979 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19980 : : (TARGET_SSE2)))
19981 : : return -1;
19982 : : return 6085; /* *avx512vl_vpternlogv2df_1 */
19983 : :
19984 : : case 12:
19985 : : if (!(
19986 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19987 : : ((64 == 64 || TARGET_AVX512VL
19988 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19989 : : && ix86_pre_reload_split ()
19990 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19991 : : STRIP_UNARY (operands[4]))
19992 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19993 : : STRIP_UNARY (operands[4]))
19994 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19995 : : STRIP_UNARY (operands[3]))
19996 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19997 : : STRIP_UNARY (operands[3])))) &&
19998 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19999 : : (TARGET_AVX512F)))
20000 : : return -1;
20001 : : return 5791; /* *avx512bw_vpternlogv32hf_1 */
20002 : :
20003 : : case 13:
20004 : : if (!(
20005 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20006 : : ((32 == 64 || TARGET_AVX512VL
20007 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20008 : : && ix86_pre_reload_split ()
20009 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20010 : : STRIP_UNARY (operands[4]))
20011 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20012 : : STRIP_UNARY (operands[4]))
20013 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20014 : : STRIP_UNARY (operands[3]))
20015 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20016 : : STRIP_UNARY (operands[3])))) &&
20017 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20018 : : (TARGET_AVX)))
20019 : : return -1;
20020 : : return 5818; /* *avx512vl_vpternlogv16hf_1 */
20021 : :
20022 : : case 14:
20023 : : if (!
20024 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20025 : : ((16 == 64 || TARGET_AVX512VL
20026 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20027 : : && ix86_pre_reload_split ()
20028 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20029 : : STRIP_UNARY (operands[4]))
20030 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20031 : : STRIP_UNARY (operands[4]))
20032 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20033 : : STRIP_UNARY (operands[3]))
20034 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20035 : : STRIP_UNARY (operands[3])))))
20036 : : return -1;
20037 : : return 5845; /* *avx512fp16_vpternlogv8hf_1 */
20038 : :
20039 : : case 15:
20040 : : if (!(
20041 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20042 : : ((64 == 64 || TARGET_AVX512VL
20043 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20044 : : && ix86_pre_reload_split ()
20045 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20046 : : STRIP_UNARY (operands[4]))
20047 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20048 : : STRIP_UNARY (operands[4]))
20049 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20050 : : STRIP_UNARY (operands[3]))
20051 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20052 : : STRIP_UNARY (operands[3])))) &&
20053 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20054 : : (TARGET_AVX512F)))
20055 : : return -1;
20056 : : return 5872; /* *avx512bw_vpternlogv32bf_1 */
20057 : :
20058 : : case 16:
20059 : : if (!(
20060 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20061 : : ((32 == 64 || TARGET_AVX512VL
20062 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20063 : : && ix86_pre_reload_split ()
20064 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20065 : : STRIP_UNARY (operands[4]))
20066 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20067 : : STRIP_UNARY (operands[4]))
20068 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20069 : : STRIP_UNARY (operands[3]))
20070 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20071 : : STRIP_UNARY (operands[3])))) &&
20072 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20073 : : (TARGET_AVX)))
20074 : : return -1;
20075 : : return 5899; /* *avx512vl_vpternlogv16bf_1 */
20076 : :
20077 : : case 17:
20078 : : if (!
20079 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20080 : : ((16 == 64 || TARGET_AVX512VL
20081 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20082 : : && ix86_pre_reload_split ()
20083 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20084 : : STRIP_UNARY (operands[4]))
20085 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20086 : : STRIP_UNARY (operands[4]))
20087 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20088 : : STRIP_UNARY (operands[3]))
20089 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20090 : : STRIP_UNARY (operands[3])))))
20091 : : return -1;
20092 : : return 5926; /* *avx512vl_vpternlogv8bf_1 */
20093 : :
20094 : : case 18:
20095 : : if (!(
20096 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20097 : : ((64 == 64 || TARGET_AVX512VL
20098 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20099 : : && ix86_pre_reload_split ()
20100 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20101 : : STRIP_UNARY (operands[4]))
20102 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20103 : : STRIP_UNARY (operands[4]))
20104 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20105 : : STRIP_UNARY (operands[3]))
20106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20107 : : STRIP_UNARY (operands[3])))) &&
20108 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20109 : : (TARGET_AVX512F)))
20110 : : return -1;
20111 : : return 5953; /* *avx512f_vpternlogv16sf_1 */
20112 : :
20113 : : case 19:
20114 : : if (!(
20115 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20116 : : ((32 == 64 || TARGET_AVX512VL
20117 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20118 : : && ix86_pre_reload_split ()
20119 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20120 : : STRIP_UNARY (operands[4]))
20121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20122 : : STRIP_UNARY (operands[4]))
20123 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20124 : : STRIP_UNARY (operands[3]))
20125 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20126 : : STRIP_UNARY (operands[3])))) &&
20127 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20128 : : (TARGET_AVX)))
20129 : : return -1;
20130 : : return 5980; /* *avx512vl_vpternlogv8sf_1 */
20131 : :
20132 : : case 20:
20133 : : if (!
20134 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20135 : : ((16 == 64 || TARGET_AVX512VL
20136 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20137 : : && ix86_pre_reload_split ()
20138 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20139 : : STRIP_UNARY (operands[4]))
20140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20141 : : STRIP_UNARY (operands[4]))
20142 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20143 : : STRIP_UNARY (operands[3]))
20144 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20145 : : STRIP_UNARY (operands[3])))))
20146 : : return -1;
20147 : : return 6007; /* *avx512vl_vpternlogv4sf_1 */
20148 : :
20149 : : case 21:
20150 : : if (!(
20151 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20152 : : ((64 == 64 || TARGET_AVX512VL
20153 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20154 : : && ix86_pre_reload_split ()
20155 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20156 : : STRIP_UNARY (operands[4]))
20157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20158 : : STRIP_UNARY (operands[4]))
20159 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20160 : : STRIP_UNARY (operands[3]))
20161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20162 : : STRIP_UNARY (operands[3])))) &&
20163 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20164 : : (TARGET_AVX512F)))
20165 : : return -1;
20166 : : return 6034; /* *avx512f_vpternlogv8df_1 */
20167 : :
20168 : : case 22:
20169 : : if (!(
20170 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20171 : : ((32 == 64 || TARGET_AVX512VL
20172 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20173 : : && ix86_pre_reload_split ()
20174 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20175 : : STRIP_UNARY (operands[4]))
20176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20177 : : STRIP_UNARY (operands[4]))
20178 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20179 : : STRIP_UNARY (operands[3]))
20180 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20181 : : STRIP_UNARY (operands[3])))) &&
20182 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20183 : : (TARGET_AVX)))
20184 : : return -1;
20185 : : return 6061; /* *avx512vl_vpternlogv4df_1 */
20186 : :
20187 : : case 23:
20188 : : if (!(
20189 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20190 : : ((16 == 64 || TARGET_AVX512VL
20191 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20192 : : && ix86_pre_reload_split ()
20193 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20194 : : STRIP_UNARY (operands[4]))
20195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20196 : : STRIP_UNARY (operands[4]))
20197 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20198 : : STRIP_UNARY (operands[3]))
20199 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20200 : : STRIP_UNARY (operands[3])))) &&
20201 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20202 : : (TARGET_SSE2)))
20203 : : return -1;
20204 : : return 6088; /* *avx512vl_vpternlogv2df_1 */
20205 : :
20206 : : case 24:
20207 : : if (!(
20208 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20209 : : ((64 == 64 || TARGET_AVX512VL
20210 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20211 : : && ix86_pre_reload_split ()
20212 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20213 : : STRIP_UNARY (operands[4]))
20214 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20215 : : STRIP_UNARY (operands[4]))
20216 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20217 : : STRIP_UNARY (operands[3]))
20218 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20219 : : STRIP_UNARY (operands[3])))) &&
20220 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20221 : : (TARGET_AVX512F)))
20222 : : return -1;
20223 : : return 5794; /* *avx512bw_vpternlogv32hf_1 */
20224 : :
20225 : : case 25:
20226 : : if (!(
20227 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20228 : : ((32 == 64 || TARGET_AVX512VL
20229 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20230 : : && ix86_pre_reload_split ()
20231 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20232 : : STRIP_UNARY (operands[4]))
20233 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20234 : : STRIP_UNARY (operands[4]))
20235 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20236 : : STRIP_UNARY (operands[3]))
20237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20238 : : STRIP_UNARY (operands[3])))) &&
20239 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20240 : : (TARGET_AVX)))
20241 : : return -1;
20242 : : return 5821; /* *avx512vl_vpternlogv16hf_1 */
20243 : :
20244 : : case 26:
20245 : : if (!
20246 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20247 : : ((16 == 64 || TARGET_AVX512VL
20248 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20249 : : && ix86_pre_reload_split ()
20250 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20251 : : STRIP_UNARY (operands[4]))
20252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20253 : : STRIP_UNARY (operands[4]))
20254 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20255 : : STRIP_UNARY (operands[3]))
20256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20257 : : STRIP_UNARY (operands[3])))))
20258 : : return -1;
20259 : : return 5848; /* *avx512fp16_vpternlogv8hf_1 */
20260 : :
20261 : : case 27:
20262 : : if (!(
20263 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20264 : : ((64 == 64 || TARGET_AVX512VL
20265 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20266 : : && ix86_pre_reload_split ()
20267 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20268 : : STRIP_UNARY (operands[4]))
20269 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20270 : : STRIP_UNARY (operands[4]))
20271 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20272 : : STRIP_UNARY (operands[3]))
20273 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20274 : : STRIP_UNARY (operands[3])))) &&
20275 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20276 : : (TARGET_AVX512F)))
20277 : : return -1;
20278 : : return 5875; /* *avx512bw_vpternlogv32bf_1 */
20279 : :
20280 : : case 28:
20281 : : if (!(
20282 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20283 : : ((32 == 64 || TARGET_AVX512VL
20284 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20285 : : && ix86_pre_reload_split ()
20286 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20287 : : STRIP_UNARY (operands[4]))
20288 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20289 : : STRIP_UNARY (operands[4]))
20290 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20291 : : STRIP_UNARY (operands[3]))
20292 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20293 : : STRIP_UNARY (operands[3])))) &&
20294 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20295 : : (TARGET_AVX)))
20296 : : return -1;
20297 : : return 5902; /* *avx512vl_vpternlogv16bf_1 */
20298 : :
20299 : : case 29:
20300 : : if (!
20301 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20302 : : ((16 == 64 || TARGET_AVX512VL
20303 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20304 : : && ix86_pre_reload_split ()
20305 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20306 : : STRIP_UNARY (operands[4]))
20307 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20308 : : STRIP_UNARY (operands[4]))
20309 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20310 : : STRIP_UNARY (operands[3]))
20311 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20312 : : STRIP_UNARY (operands[3])))))
20313 : : return -1;
20314 : : return 5929; /* *avx512vl_vpternlogv8bf_1 */
20315 : :
20316 : : case 30:
20317 : : if (!(
20318 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20319 : : ((64 == 64 || TARGET_AVX512VL
20320 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20321 : : && ix86_pre_reload_split ()
20322 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20323 : : STRIP_UNARY (operands[4]))
20324 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20325 : : STRIP_UNARY (operands[4]))
20326 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20327 : : STRIP_UNARY (operands[3]))
20328 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20329 : : STRIP_UNARY (operands[3])))) &&
20330 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20331 : : (TARGET_AVX512F)))
20332 : : return -1;
20333 : : return 5956; /* *avx512f_vpternlogv16sf_1 */
20334 : :
20335 : : case 31:
20336 : : if (!(
20337 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20338 : : ((32 == 64 || TARGET_AVX512VL
20339 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20340 : : && ix86_pre_reload_split ()
20341 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20342 : : STRIP_UNARY (operands[4]))
20343 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20344 : : STRIP_UNARY (operands[4]))
20345 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20346 : : STRIP_UNARY (operands[3]))
20347 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20348 : : STRIP_UNARY (operands[3])))) &&
20349 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20350 : : (TARGET_AVX)))
20351 : : return -1;
20352 : : return 5983; /* *avx512vl_vpternlogv8sf_1 */
20353 : :
20354 : : case 32:
20355 : : if (!
20356 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20357 : : ((16 == 64 || TARGET_AVX512VL
20358 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20359 : : && ix86_pre_reload_split ()
20360 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20361 : : STRIP_UNARY (operands[4]))
20362 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20363 : : STRIP_UNARY (operands[4]))
20364 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20365 : : STRIP_UNARY (operands[3]))
20366 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20367 : : STRIP_UNARY (operands[3])))))
20368 : : return -1;
20369 : : return 6010; /* *avx512vl_vpternlogv4sf_1 */
20370 : :
20371 : : case 33:
20372 : : if (!(
20373 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20374 : : ((64 == 64 || TARGET_AVX512VL
20375 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20376 : : && ix86_pre_reload_split ()
20377 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20378 : : STRIP_UNARY (operands[4]))
20379 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20380 : : STRIP_UNARY (operands[4]))
20381 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20382 : : STRIP_UNARY (operands[3]))
20383 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20384 : : STRIP_UNARY (operands[3])))) &&
20385 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20386 : : (TARGET_AVX512F)))
20387 : : return -1;
20388 : : return 6037; /* *avx512f_vpternlogv8df_1 */
20389 : :
20390 : : case 34:
20391 : : if (!(
20392 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20393 : : ((32 == 64 || TARGET_AVX512VL
20394 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20395 : : && ix86_pre_reload_split ()
20396 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20397 : : STRIP_UNARY (operands[4]))
20398 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20399 : : STRIP_UNARY (operands[4]))
20400 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20401 : : STRIP_UNARY (operands[3]))
20402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20403 : : STRIP_UNARY (operands[3])))) &&
20404 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20405 : : (TARGET_AVX)))
20406 : : return -1;
20407 : : return 6064; /* *avx512vl_vpternlogv4df_1 */
20408 : :
20409 : : case 35:
20410 : : if (!(
20411 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20412 : : ((16 == 64 || TARGET_AVX512VL
20413 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20414 : : && ix86_pre_reload_split ()
20415 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20416 : : STRIP_UNARY (operands[4]))
20417 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20418 : : STRIP_UNARY (operands[4]))
20419 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20420 : : STRIP_UNARY (operands[3]))
20421 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20422 : : STRIP_UNARY (operands[3])))) &&
20423 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20424 : : (TARGET_SSE2)))
20425 : : return -1;
20426 : : return 6091; /* *avx512vl_vpternlogv2df_1 */
20427 : :
20428 : : case 36:
20429 : : if (!(
20430 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20431 : : ((64 == 64 || TARGET_AVX512VL
20432 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20433 : : && ix86_pre_reload_split ()) &&
20434 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20435 : : (TARGET_AVX512F)))
20436 : : return -1;
20437 : : return 6862; /* *avx512bw_vpternlogv32hf_3 */
20438 : :
20439 : : case 37:
20440 : : if (!(
20441 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20442 : : ((32 == 64 || TARGET_AVX512VL
20443 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20444 : : && ix86_pre_reload_split ()) &&
20445 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20446 : : (TARGET_AVX)))
20447 : : return -1;
20448 : : return 6871; /* *avx512vl_vpternlogv16hf_3 */
20449 : :
20450 : : case 38:
20451 : : if (!
20452 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20453 : : ((16 == 64 || TARGET_AVX512VL
20454 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20455 : : && ix86_pre_reload_split ()))
20456 : : return -1;
20457 : : return 6880; /* *avx512fp16_vpternlogv8hf_3 */
20458 : :
20459 : : case 39:
20460 : : if (!(
20461 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20462 : : ((64 == 64 || TARGET_AVX512VL
20463 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20464 : : && ix86_pre_reload_split ()) &&
20465 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20466 : : (TARGET_AVX512F)))
20467 : : return -1;
20468 : : return 6889; /* *avx512bw_vpternlogv32bf_3 */
20469 : :
20470 : : case 40:
20471 : : if (!(
20472 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20473 : : ((32 == 64 || TARGET_AVX512VL
20474 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20475 : : && ix86_pre_reload_split ()) &&
20476 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20477 : : (TARGET_AVX)))
20478 : : return -1;
20479 : : return 6898; /* *avx512vl_vpternlogv16bf_3 */
20480 : :
20481 : : case 41:
20482 : : if (!
20483 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20484 : : ((16 == 64 || TARGET_AVX512VL
20485 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20486 : : && ix86_pre_reload_split ()))
20487 : : return -1;
20488 : : return 6907; /* *avx512vl_vpternlogv8bf_3 */
20489 : :
20490 : : case 42:
20491 : : if (!(
20492 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20493 : : ((64 == 64 || TARGET_AVX512VL
20494 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20495 : : && ix86_pre_reload_split ()) &&
20496 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20497 : : (TARGET_AVX512F)))
20498 : : return -1;
20499 : : return 6916; /* *avx512f_vpternlogv16sf_3 */
20500 : :
20501 : : case 43:
20502 : : if (!(
20503 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20504 : : ((32 == 64 || TARGET_AVX512VL
20505 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20506 : : && ix86_pre_reload_split ()) &&
20507 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20508 : : (TARGET_AVX)))
20509 : : return -1;
20510 : : return 6925; /* *avx512vl_vpternlogv8sf_3 */
20511 : :
20512 : : case 44:
20513 : : if (!
20514 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20515 : : ((16 == 64 || TARGET_AVX512VL
20516 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20517 : : && ix86_pre_reload_split ()))
20518 : : return -1;
20519 : : return 6934; /* *avx512vl_vpternlogv4sf_3 */
20520 : :
20521 : : case 45:
20522 : : if (!(
20523 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20524 : : ((64 == 64 || TARGET_AVX512VL
20525 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20526 : : && ix86_pre_reload_split ()) &&
20527 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20528 : : (TARGET_AVX512F)))
20529 : : return -1;
20530 : : return 6943; /* *avx512f_vpternlogv8df_3 */
20531 : :
20532 : : case 46:
20533 : : if (!(
20534 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20535 : : ((32 == 64 || TARGET_AVX512VL
20536 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20537 : : && ix86_pre_reload_split ()) &&
20538 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20539 : : (TARGET_AVX)))
20540 : : return -1;
20541 : : return 6952; /* *avx512vl_vpternlogv4df_3 */
20542 : :
20543 : : case 47:
20544 : : if (!(
20545 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20546 : : ((16 == 64 || TARGET_AVX512VL
20547 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20548 : : && ix86_pre_reload_split ()) &&
20549 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20550 : : (TARGET_SSE2)))
20551 : : return -1;
20552 : : return 6961; /* *avx512vl_vpternlogv2df_3 */
20553 : :
20554 : : default:
20555 : : return -1;
20556 : : }
20557 : :
20558 : : case AND:
20559 : : switch (pattern525 (x2))
20560 : : {
20561 : : case 0:
20562 : : if (!(
20563 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20564 : : ((64 == 64 || TARGET_AVX512VL
20565 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20566 : : && ix86_pre_reload_split ()
20567 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20568 : : STRIP_UNARY (operands[4]))
20569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20570 : : STRIP_UNARY (operands[4]))
20571 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20572 : : STRIP_UNARY (operands[3]))
20573 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20574 : : STRIP_UNARY (operands[3])))) &&
20575 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20576 : : (TARGET_AVX512F)))
20577 : : return -1;
20578 : : return 6436; /* *avx512bw_vpternlogv32hf_2 */
20579 : :
20580 : : case 1:
20581 : : if (!(
20582 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20583 : : ((32 == 64 || TARGET_AVX512VL
20584 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20585 : : && ix86_pre_reload_split ()
20586 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20587 : : STRIP_UNARY (operands[4]))
20588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20589 : : STRIP_UNARY (operands[4]))
20590 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20591 : : STRIP_UNARY (operands[3]))
20592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20593 : : STRIP_UNARY (operands[3])))) &&
20594 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20595 : : (TARGET_AVX)))
20596 : : return -1;
20597 : : return 6463; /* *avx512vl_vpternlogv16hf_2 */
20598 : :
20599 : : case 2:
20600 : : if (!
20601 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20602 : : ((16 == 64 || TARGET_AVX512VL
20603 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20604 : : && ix86_pre_reload_split ()
20605 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20606 : : STRIP_UNARY (operands[4]))
20607 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20608 : : STRIP_UNARY (operands[4]))
20609 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20610 : : STRIP_UNARY (operands[3]))
20611 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20612 : : STRIP_UNARY (operands[3])))))
20613 : : return -1;
20614 : : return 6490; /* *avx512fp16_vpternlogv8hf_2 */
20615 : :
20616 : : case 3:
20617 : : if (!(
20618 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20619 : : ((64 == 64 || TARGET_AVX512VL
20620 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20621 : : && ix86_pre_reload_split ()
20622 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20623 : : STRIP_UNARY (operands[4]))
20624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20625 : : STRIP_UNARY (operands[4]))
20626 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20627 : : STRIP_UNARY (operands[3]))
20628 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20629 : : STRIP_UNARY (operands[3])))) &&
20630 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20631 : : (TARGET_AVX512F)))
20632 : : return -1;
20633 : : return 6517; /* *avx512bw_vpternlogv32bf_2 */
20634 : :
20635 : : case 4:
20636 : : if (!(
20637 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20638 : : ((32 == 64 || TARGET_AVX512VL
20639 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20640 : : && ix86_pre_reload_split ()
20641 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20642 : : STRIP_UNARY (operands[4]))
20643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20644 : : STRIP_UNARY (operands[4]))
20645 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20646 : : STRIP_UNARY (operands[3]))
20647 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20648 : : STRIP_UNARY (operands[3])))) &&
20649 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20650 : : (TARGET_AVX)))
20651 : : return -1;
20652 : : return 6544; /* *avx512vl_vpternlogv16bf_2 */
20653 : :
20654 : : case 5:
20655 : : if (!
20656 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20657 : : ((16 == 64 || TARGET_AVX512VL
20658 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20659 : : && ix86_pre_reload_split ()
20660 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20661 : : STRIP_UNARY (operands[4]))
20662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20663 : : STRIP_UNARY (operands[4]))
20664 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20665 : : STRIP_UNARY (operands[3]))
20666 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20667 : : STRIP_UNARY (operands[3])))))
20668 : : return -1;
20669 : : return 6571; /* *avx512vl_vpternlogv8bf_2 */
20670 : :
20671 : : case 6:
20672 : : if (!(
20673 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20674 : : ((64 == 64 || TARGET_AVX512VL
20675 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20676 : : && ix86_pre_reload_split ()
20677 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20678 : : STRIP_UNARY (operands[4]))
20679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20680 : : STRIP_UNARY (operands[4]))
20681 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20682 : : STRIP_UNARY (operands[3]))
20683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20684 : : STRIP_UNARY (operands[3])))) &&
20685 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20686 : : (TARGET_AVX512F)))
20687 : : return -1;
20688 : : return 6598; /* *avx512f_vpternlogv16sf_2 */
20689 : :
20690 : : case 7:
20691 : : if (!(
20692 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20693 : : ((32 == 64 || TARGET_AVX512VL
20694 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20695 : : && ix86_pre_reload_split ()
20696 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20697 : : STRIP_UNARY (operands[4]))
20698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20699 : : STRIP_UNARY (operands[4]))
20700 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20701 : : STRIP_UNARY (operands[3]))
20702 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20703 : : STRIP_UNARY (operands[3])))) &&
20704 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20705 : : (TARGET_AVX)))
20706 : : return -1;
20707 : : return 6625; /* *avx512vl_vpternlogv8sf_2 */
20708 : :
20709 : : case 8:
20710 : : if (!
20711 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20712 : : ((16 == 64 || TARGET_AVX512VL
20713 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20714 : : && ix86_pre_reload_split ()
20715 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20716 : : STRIP_UNARY (operands[4]))
20717 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20718 : : STRIP_UNARY (operands[4]))
20719 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20720 : : STRIP_UNARY (operands[3]))
20721 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20722 : : STRIP_UNARY (operands[3])))))
20723 : : return -1;
20724 : : return 6652; /* *avx512vl_vpternlogv4sf_2 */
20725 : :
20726 : : case 9:
20727 : : if (!(
20728 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20729 : : ((64 == 64 || TARGET_AVX512VL
20730 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20731 : : && ix86_pre_reload_split ()
20732 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20733 : : STRIP_UNARY (operands[4]))
20734 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20735 : : STRIP_UNARY (operands[4]))
20736 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20737 : : STRIP_UNARY (operands[3]))
20738 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20739 : : STRIP_UNARY (operands[3])))) &&
20740 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20741 : : (TARGET_AVX512F)))
20742 : : return -1;
20743 : : return 6679; /* *avx512f_vpternlogv8df_2 */
20744 : :
20745 : : case 10:
20746 : : if (!(
20747 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20748 : : ((32 == 64 || TARGET_AVX512VL
20749 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20750 : : && ix86_pre_reload_split ()
20751 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20752 : : STRIP_UNARY (operands[4]))
20753 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20754 : : STRIP_UNARY (operands[4]))
20755 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20756 : : STRIP_UNARY (operands[3]))
20757 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20758 : : STRIP_UNARY (operands[3])))) &&
20759 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20760 : : (TARGET_AVX)))
20761 : : return -1;
20762 : : return 6706; /* *avx512vl_vpternlogv4df_2 */
20763 : :
20764 : : case 11:
20765 : : if (!(
20766 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20767 : : ((16 == 64 || TARGET_AVX512VL
20768 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20769 : : && ix86_pre_reload_split ()
20770 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20771 : : STRIP_UNARY (operands[4]))
20772 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20773 : : STRIP_UNARY (operands[4]))
20774 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20775 : : STRIP_UNARY (operands[3]))
20776 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20777 : : STRIP_UNARY (operands[3])))) &&
20778 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20779 : : (TARGET_SSE2)))
20780 : : return -1;
20781 : : return 6733; /* *avx512vl_vpternlogv2df_2 */
20782 : :
20783 : : default:
20784 : : return -1;
20785 : : }
20786 : :
20787 : : case IOR:
20788 : : switch (pattern525 (x2))
20789 : : {
20790 : : case 0:
20791 : : if (!(
20792 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20793 : : ((64 == 64 || TARGET_AVX512VL
20794 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20795 : : && ix86_pre_reload_split ()
20796 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20797 : : STRIP_UNARY (operands[4]))
20798 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20799 : : STRIP_UNARY (operands[4]))
20800 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20801 : : STRIP_UNARY (operands[3]))
20802 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20803 : : STRIP_UNARY (operands[3])))) &&
20804 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20805 : : (TARGET_AVX512F)))
20806 : : return -1;
20807 : : return 6439; /* *avx512bw_vpternlogv32hf_2 */
20808 : :
20809 : : case 1:
20810 : : if (!(
20811 : : #line 13884 "/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 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20816 : : STRIP_UNARY (operands[4]))
20817 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20818 : : STRIP_UNARY (operands[4]))
20819 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20820 : : STRIP_UNARY (operands[3]))
20821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20822 : : STRIP_UNARY (operands[3])))) &&
20823 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20824 : : (TARGET_AVX)))
20825 : : return -1;
20826 : : return 6466; /* *avx512vl_vpternlogv16hf_2 */
20827 : :
20828 : : case 2:
20829 : : if (!
20830 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20831 : : ((16 == 64 || TARGET_AVX512VL
20832 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20833 : : && ix86_pre_reload_split ()
20834 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20835 : : STRIP_UNARY (operands[4]))
20836 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20837 : : STRIP_UNARY (operands[4]))
20838 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20839 : : STRIP_UNARY (operands[3]))
20840 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20841 : : STRIP_UNARY (operands[3])))))
20842 : : return -1;
20843 : : return 6493; /* *avx512fp16_vpternlogv8hf_2 */
20844 : :
20845 : : case 3:
20846 : : if (!(
20847 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20848 : : ((64 == 64 || TARGET_AVX512VL
20849 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20850 : : && ix86_pre_reload_split ()
20851 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20852 : : STRIP_UNARY (operands[4]))
20853 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20854 : : STRIP_UNARY (operands[4]))
20855 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20856 : : STRIP_UNARY (operands[3]))
20857 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20858 : : STRIP_UNARY (operands[3])))) &&
20859 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20860 : : (TARGET_AVX512F)))
20861 : : return -1;
20862 : : return 6520; /* *avx512bw_vpternlogv32bf_2 */
20863 : :
20864 : : case 4:
20865 : : if (!(
20866 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20867 : : ((32 == 64 || TARGET_AVX512VL
20868 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20869 : : && ix86_pre_reload_split ()
20870 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20871 : : STRIP_UNARY (operands[4]))
20872 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20873 : : STRIP_UNARY (operands[4]))
20874 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20875 : : STRIP_UNARY (operands[3]))
20876 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20877 : : STRIP_UNARY (operands[3])))) &&
20878 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20879 : : (TARGET_AVX)))
20880 : : return -1;
20881 : : return 6547; /* *avx512vl_vpternlogv16bf_2 */
20882 : :
20883 : : case 5:
20884 : : if (!
20885 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20886 : : ((16 == 64 || TARGET_AVX512VL
20887 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20888 : : && ix86_pre_reload_split ()
20889 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20890 : : STRIP_UNARY (operands[4]))
20891 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20892 : : STRIP_UNARY (operands[4]))
20893 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20894 : : STRIP_UNARY (operands[3]))
20895 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20896 : : STRIP_UNARY (operands[3])))))
20897 : : return -1;
20898 : : return 6574; /* *avx512vl_vpternlogv8bf_2 */
20899 : :
20900 : : case 6:
20901 : : if (!(
20902 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20903 : : ((64 == 64 || TARGET_AVX512VL
20904 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20905 : : && ix86_pre_reload_split ()
20906 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20907 : : STRIP_UNARY (operands[4]))
20908 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20909 : : STRIP_UNARY (operands[4]))
20910 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20911 : : STRIP_UNARY (operands[3]))
20912 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20913 : : STRIP_UNARY (operands[3])))) &&
20914 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20915 : : (TARGET_AVX512F)))
20916 : : return -1;
20917 : : return 6601; /* *avx512f_vpternlogv16sf_2 */
20918 : :
20919 : : case 7:
20920 : : if (!(
20921 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20922 : : ((32 == 64 || TARGET_AVX512VL
20923 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20924 : : && ix86_pre_reload_split ()
20925 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20926 : : STRIP_UNARY (operands[4]))
20927 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20928 : : STRIP_UNARY (operands[4]))
20929 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20930 : : STRIP_UNARY (operands[3]))
20931 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20932 : : STRIP_UNARY (operands[3])))) &&
20933 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20934 : : (TARGET_AVX)))
20935 : : return -1;
20936 : : return 6628; /* *avx512vl_vpternlogv8sf_2 */
20937 : :
20938 : : case 8:
20939 : : if (!
20940 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20941 : : ((16 == 64 || TARGET_AVX512VL
20942 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20943 : : && ix86_pre_reload_split ()
20944 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20945 : : STRIP_UNARY (operands[4]))
20946 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20947 : : STRIP_UNARY (operands[4]))
20948 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20949 : : STRIP_UNARY (operands[3]))
20950 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20951 : : STRIP_UNARY (operands[3])))))
20952 : : return -1;
20953 : : return 6655; /* *avx512vl_vpternlogv4sf_2 */
20954 : :
20955 : : case 9:
20956 : : if (!(
20957 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20958 : : ((64 == 64 || TARGET_AVX512VL
20959 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20960 : : && ix86_pre_reload_split ()
20961 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20962 : : STRIP_UNARY (operands[4]))
20963 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20964 : : STRIP_UNARY (operands[4]))
20965 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20966 : : STRIP_UNARY (operands[3]))
20967 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20968 : : STRIP_UNARY (operands[3])))) &&
20969 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20970 : : (TARGET_AVX512F)))
20971 : : return -1;
20972 : : return 6682; /* *avx512f_vpternlogv8df_2 */
20973 : :
20974 : : case 10:
20975 : : if (!(
20976 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20977 : : ((32 == 64 || TARGET_AVX512VL
20978 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20979 : : && ix86_pre_reload_split ()
20980 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20981 : : STRIP_UNARY (operands[4]))
20982 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20983 : : STRIP_UNARY (operands[4]))
20984 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20985 : : STRIP_UNARY (operands[3]))
20986 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20987 : : STRIP_UNARY (operands[3])))) &&
20988 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20989 : : (TARGET_AVX)))
20990 : : return -1;
20991 : : return 6709; /* *avx512vl_vpternlogv4df_2 */
20992 : :
20993 : : case 11:
20994 : : if (!(
20995 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20996 : : ((16 == 64 || TARGET_AVX512VL
20997 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20998 : : && ix86_pre_reload_split ()
20999 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21000 : : STRIP_UNARY (operands[4]))
21001 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21002 : : STRIP_UNARY (operands[4]))
21003 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21004 : : STRIP_UNARY (operands[3]))
21005 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21006 : : STRIP_UNARY (operands[3])))) &&
21007 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21008 : : (TARGET_SSE2)))
21009 : : return -1;
21010 : : return 6736; /* *avx512vl_vpternlogv2df_2 */
21011 : :
21012 : : default:
21013 : : return -1;
21014 : : }
21015 : :
21016 : : case XOR:
21017 : : switch (pattern525 (x2))
21018 : : {
21019 : : case 0:
21020 : : if (!(
21021 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21022 : : ((64 == 64 || TARGET_AVX512VL
21023 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21024 : : && ix86_pre_reload_split ()
21025 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21026 : : STRIP_UNARY (operands[4]))
21027 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21028 : : STRIP_UNARY (operands[4]))
21029 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21030 : : STRIP_UNARY (operands[3]))
21031 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21032 : : STRIP_UNARY (operands[3])))) &&
21033 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21034 : : (TARGET_AVX512F)))
21035 : : return -1;
21036 : : return 6442; /* *avx512bw_vpternlogv32hf_2 */
21037 : :
21038 : : case 1:
21039 : : if (!(
21040 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21041 : : ((32 == 64 || TARGET_AVX512VL
21042 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21043 : : && ix86_pre_reload_split ()
21044 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21045 : : STRIP_UNARY (operands[4]))
21046 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21047 : : STRIP_UNARY (operands[4]))
21048 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21049 : : STRIP_UNARY (operands[3]))
21050 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21051 : : STRIP_UNARY (operands[3])))) &&
21052 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21053 : : (TARGET_AVX)))
21054 : : return -1;
21055 : : return 6469; /* *avx512vl_vpternlogv16hf_2 */
21056 : :
21057 : : case 2:
21058 : : if (!
21059 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21060 : : ((16 == 64 || TARGET_AVX512VL
21061 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21062 : : && ix86_pre_reload_split ()
21063 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21064 : : STRIP_UNARY (operands[4]))
21065 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21066 : : STRIP_UNARY (operands[4]))
21067 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21068 : : STRIP_UNARY (operands[3]))
21069 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21070 : : STRIP_UNARY (operands[3])))))
21071 : : return -1;
21072 : : return 6496; /* *avx512fp16_vpternlogv8hf_2 */
21073 : :
21074 : : case 3:
21075 : : if (!(
21076 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21077 : : ((64 == 64 || TARGET_AVX512VL
21078 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21079 : : && ix86_pre_reload_split ()
21080 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21081 : : STRIP_UNARY (operands[4]))
21082 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21083 : : STRIP_UNARY (operands[4]))
21084 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21085 : : STRIP_UNARY (operands[3]))
21086 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21087 : : STRIP_UNARY (operands[3])))) &&
21088 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21089 : : (TARGET_AVX512F)))
21090 : : return -1;
21091 : : return 6523; /* *avx512bw_vpternlogv32bf_2 */
21092 : :
21093 : : case 4:
21094 : : if (!(
21095 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21096 : : ((32 == 64 || TARGET_AVX512VL
21097 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21098 : : && ix86_pre_reload_split ()
21099 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21100 : : STRIP_UNARY (operands[4]))
21101 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21102 : : STRIP_UNARY (operands[4]))
21103 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21104 : : STRIP_UNARY (operands[3]))
21105 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21106 : : STRIP_UNARY (operands[3])))) &&
21107 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21108 : : (TARGET_AVX)))
21109 : : return -1;
21110 : : return 6550; /* *avx512vl_vpternlogv16bf_2 */
21111 : :
21112 : : case 5:
21113 : : if (!
21114 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21115 : : ((16 == 64 || TARGET_AVX512VL
21116 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21117 : : && ix86_pre_reload_split ()
21118 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21119 : : STRIP_UNARY (operands[4]))
21120 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21121 : : STRIP_UNARY (operands[4]))
21122 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21123 : : STRIP_UNARY (operands[3]))
21124 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21125 : : STRIP_UNARY (operands[3])))))
21126 : : return -1;
21127 : : return 6577; /* *avx512vl_vpternlogv8bf_2 */
21128 : :
21129 : : case 6:
21130 : : if (!(
21131 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21132 : : ((64 == 64 || TARGET_AVX512VL
21133 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21134 : : && ix86_pre_reload_split ()
21135 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21136 : : STRIP_UNARY (operands[4]))
21137 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21138 : : STRIP_UNARY (operands[4]))
21139 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21140 : : STRIP_UNARY (operands[3]))
21141 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21142 : : STRIP_UNARY (operands[3])))) &&
21143 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21144 : : (TARGET_AVX512F)))
21145 : : return -1;
21146 : : return 6604; /* *avx512f_vpternlogv16sf_2 */
21147 : :
21148 : : case 7:
21149 : : if (!(
21150 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21151 : : ((32 == 64 || TARGET_AVX512VL
21152 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21153 : : && ix86_pre_reload_split ()
21154 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21155 : : STRIP_UNARY (operands[4]))
21156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21157 : : STRIP_UNARY (operands[4]))
21158 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21159 : : STRIP_UNARY (operands[3]))
21160 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21161 : : STRIP_UNARY (operands[3])))) &&
21162 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21163 : : (TARGET_AVX)))
21164 : : return -1;
21165 : : return 6631; /* *avx512vl_vpternlogv8sf_2 */
21166 : :
21167 : : case 8:
21168 : : if (!
21169 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21170 : : ((16 == 64 || TARGET_AVX512VL
21171 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21172 : : && ix86_pre_reload_split ()
21173 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21174 : : STRIP_UNARY (operands[4]))
21175 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21176 : : STRIP_UNARY (operands[4]))
21177 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21178 : : STRIP_UNARY (operands[3]))
21179 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21180 : : STRIP_UNARY (operands[3])))))
21181 : : return -1;
21182 : : return 6658; /* *avx512vl_vpternlogv4sf_2 */
21183 : :
21184 : : case 9:
21185 : : if (!(
21186 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21187 : : ((64 == 64 || TARGET_AVX512VL
21188 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21189 : : && ix86_pre_reload_split ()
21190 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21191 : : STRIP_UNARY (operands[4]))
21192 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21193 : : STRIP_UNARY (operands[4]))
21194 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21195 : : STRIP_UNARY (operands[3]))
21196 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21197 : : STRIP_UNARY (operands[3])))) &&
21198 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21199 : : (TARGET_AVX512F)))
21200 : : return -1;
21201 : : return 6685; /* *avx512f_vpternlogv8df_2 */
21202 : :
21203 : : case 10:
21204 : : if (!(
21205 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21206 : : ((32 == 64 || TARGET_AVX512VL
21207 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21208 : : && ix86_pre_reload_split ()
21209 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21210 : : STRIP_UNARY (operands[4]))
21211 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21212 : : STRIP_UNARY (operands[4]))
21213 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21214 : : STRIP_UNARY (operands[3]))
21215 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21216 : : STRIP_UNARY (operands[3])))) &&
21217 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21218 : : (TARGET_AVX)))
21219 : : return -1;
21220 : : return 6712; /* *avx512vl_vpternlogv4df_2 */
21221 : :
21222 : : case 11:
21223 : : if (!(
21224 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21225 : : ((16 == 64 || TARGET_AVX512VL
21226 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21227 : : && ix86_pre_reload_split ()
21228 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21229 : : STRIP_UNARY (operands[4]))
21230 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21231 : : STRIP_UNARY (operands[4]))
21232 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21233 : : STRIP_UNARY (operands[3]))
21234 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21235 : : STRIP_UNARY (operands[3])))) &&
21236 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21237 : : (TARGET_SSE2)))
21238 : : return -1;
21239 : : return 6739; /* *avx512vl_vpternlogv2df_2 */
21240 : :
21241 : : default:
21242 : : return -1;
21243 : : }
21244 : :
21245 : : default:
21246 : : return -1;
21247 : : }
21248 : :
21249 : : case XOR:
21250 : : return recog_311 (x1, insn, pnum_clobbers);
21251 : :
21252 : : default:
21253 : : return -1;
21254 : : }
21255 : : }
21256 : :
21257 : : int
21258 : : recog_376 (rtx x1 ATTRIBUTE_UNUSED,
21259 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21260 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21261 : : {
21262 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21263 : : rtx x2, x3, x4, x5, x6, x7;
21264 : : int res ATTRIBUTE_UNUSED;
21265 : : if (pnum_clobbers == NULL)
21266 : : return -1;
21267 : : x2 = XVECEXP (x1, 0, 0);
21268 : : x3 = XEXP (x2, 1);
21269 : : if (GET_MODE (x3) != E_SImode)
21270 : : return -1;
21271 : : x4 = XVECEXP (x1, 0, 1);
21272 : : if (GET_CODE (x4) != USE)
21273 : : return -1;
21274 : : x5 = XEXP (x2, 0);
21275 : : operands[0] = x5;
21276 : : if (!register_operand (operands[0], E_SImode))
21277 : : return -1;
21278 : : x6 = XEXP (x3, 0);
21279 : : operands[3] = x6;
21280 : : x7 = XEXP (x4, 0);
21281 : : operands[4] = x7;
21282 : : switch (GET_MODE (operands[3]))
21283 : : {
21284 : : case E_SFmode:
21285 : : if (!nonimmediate_operand (operands[3], E_SFmode)
21286 : : || !nonimmediate_operand (operands[4], E_V4SFmode)
21287 : : || !
21288 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21289 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
21290 : : && optimize_function_for_speed_p (cfun)))
21291 : : return -1;
21292 : : *pnum_clobbers = 2;
21293 : : return 227; /* *fixuns_truncsf_1 */
21294 : :
21295 : : case E_DFmode:
21296 : : if (!nonimmediate_operand (operands[3], E_DFmode)
21297 : : || !nonimmediate_operand (operands[4], E_V2DFmode)
21298 : : || !
21299 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21300 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
21301 : : && optimize_function_for_speed_p (cfun)))
21302 : : return -1;
21303 : : *pnum_clobbers = 2;
21304 : : return 228; /* *fixuns_truncdf_1 */
21305 : :
21306 : : default:
21307 : : return -1;
21308 : : }
21309 : : }
21310 : :
21311 : : int
21312 : : recog_378 (rtx x1 ATTRIBUTE_UNUSED,
21313 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21314 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21315 : : {
21316 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21317 : : rtx x2, x3, x4, x5, x6;
21318 : : int res ATTRIBUTE_UNUSED;
21319 : : x2 = XVECEXP (x1, 0, 0);
21320 : : x3 = XEXP (x2, 0);
21321 : : operands[0] = x3;
21322 : : x4 = XEXP (x2, 1);
21323 : : x5 = XEXP (x4, 0);
21324 : : operands[1] = x5;
21325 : : x6 = XVECEXP (x1, 0, 1);
21326 : : switch (GET_CODE (x6))
21327 : : {
21328 : : case CLOBBER:
21329 : : if (pnum_clobbers == NULL
21330 : : || !register_operand (operands[1], E_DImode))
21331 : : return -1;
21332 : : switch (pattern920 (x1))
21333 : : {
21334 : : case 0:
21335 : : if (!
21336 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21337 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21338 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
21339 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21340 : : return -1;
21341 : : *pnum_clobbers = 2;
21342 : : return 258; /* floatdisf2_i387_with_xmm */
21343 : :
21344 : : case 1:
21345 : : if (!
21346 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21347 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21348 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
21349 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21350 : : return -1;
21351 : : *pnum_clobbers = 2;
21352 : : return 259; /* floatdidf2_i387_with_xmm */
21353 : :
21354 : : case 2:
21355 : : if (!
21356 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21357 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21358 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
21359 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21360 : : return -1;
21361 : : *pnum_clobbers = 2;
21362 : : return 260; /* floatdixf2_i387_with_xmm */
21363 : :
21364 : : default:
21365 : : return -1;
21366 : : }
21367 : :
21368 : : case UNSPEC:
21369 : : if (pattern670 (x1,
21370 : : E_V2SImode,
21371 : : E_V2SFmode) != 0
21372 : : || !
21373 : : #line 1623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21374 : : (TARGET_3DNOW))
21375 : : return -1;
21376 : : return 2092; /* mmx_floatv2siv2sf2 */
21377 : :
21378 : : default:
21379 : : return -1;
21380 : : }
21381 : : }
21382 : :
21383 : : int
21384 : : recog_379 (rtx x1 ATTRIBUTE_UNUSED,
21385 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21386 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21387 : : {
21388 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21389 : : rtx x2, x3, x4, x5, x6;
21390 : : int res ATTRIBUTE_UNUSED;
21391 : : if (pnum_clobbers == NULL)
21392 : : return -1;
21393 : : x2 = XVECEXP (x1, 0, 1);
21394 : : if (GET_CODE (x2) != CLOBBER)
21395 : : return -1;
21396 : : x3 = XVECEXP (x1, 0, 0);
21397 : : x4 = XEXP (x3, 0);
21398 : : operands[0] = x4;
21399 : : x5 = XEXP (x3, 1);
21400 : : x6 = XEXP (x5, 0);
21401 : : operands[1] = x6;
21402 : : if (!nonimmediate_operand (operands[1], E_SImode))
21403 : : return -1;
21404 : : switch (pattern920 (x1))
21405 : : {
21406 : : case 0:
21407 : : if (!
21408 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21409 : : (!TARGET_64BIT
21410 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
21411 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21412 : : return -1;
21413 : : *pnum_clobbers = 1;
21414 : : return 265; /* floatunssisf2_i387_with_xmm */
21415 : :
21416 : : case 1:
21417 : : if (!
21418 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21419 : : (!TARGET_64BIT
21420 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
21421 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21422 : : return -1;
21423 : : *pnum_clobbers = 1;
21424 : : return 266; /* floatunssidf2_i387_with_xmm */
21425 : :
21426 : : case 2:
21427 : : if (!
21428 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21429 : : (!TARGET_64BIT
21430 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
21431 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21432 : : return -1;
21433 : : *pnum_clobbers = 1;
21434 : : return 267; /* floatunssixf2_i387_with_xmm */
21435 : :
21436 : : default:
21437 : : return -1;
21438 : : }
21439 : : }
21440 : :
21441 : : int
21442 : : recog_381 (rtx x1 ATTRIBUTE_UNUSED,
21443 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21444 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21445 : : {
21446 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21447 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21448 : : rtx x10, x11, x12, x13, x14;
21449 : : int res ATTRIBUTE_UNUSED;
21450 : : x2 = XVECEXP (x1, 0, 0);
21451 : : x3 = XEXP (x2, 1);
21452 : : x4 = XEXP (x3, 0);
21453 : : switch (GET_CODE (x4))
21454 : : {
21455 : : case REG:
21456 : : case SUBREG:
21457 : : case MEM:
21458 : : operands[1] = x4;
21459 : : res = recog_380 (x1, insn, pnum_clobbers);
21460 : : if (res >= 0)
21461 : : return res;
21462 : : if (GET_CODE (x4) != SUBREG
21463 : : || maybe_ne (SUBREG_BYTE (x4), 0)
21464 : : || GET_MODE (x4) != E_QImode)
21465 : : return -1;
21466 : : x5 = XEXP (x4, 0);
21467 : : switch (GET_CODE (x5))
21468 : : {
21469 : : case ASHIFTRT:
21470 : : case LSHIFTRT:
21471 : : case SIGN_EXTRACT:
21472 : : case ZERO_EXTRACT:
21473 : : operands[3] = x5;
21474 : : x6 = XVECEXP (x1, 0, 1);
21475 : : if (GET_CODE (x6) != CLOBBER
21476 : : || pattern556 (x1) != 0)
21477 : : return -1;
21478 : : x7 = XEXP (x5, 0);
21479 : : operands[2] = x7;
21480 : : switch (pattern1513 (x2))
21481 : : {
21482 : : case 0:
21483 : : if (
21484 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21485 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21486 : : return 307; /* *addqi_exthi_1_slp */
21487 : : break;
21488 : :
21489 : : case 1:
21490 : : if (
21491 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21492 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21493 : : return 308; /* *addqi_extsi_1_slp */
21494 : : break;
21495 : :
21496 : : case 2:
21497 : : if ((
21498 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21499 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
21500 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21501 : : (TARGET_64BIT)))
21502 : : return 309; /* *addqi_extdi_1_slp */
21503 : : break;
21504 : :
21505 : : case 3:
21506 : : return 331; /* *addqi_exthi_0 */
21507 : :
21508 : : case 4:
21509 : : return 332; /* *addqi_extsi_0 */
21510 : :
21511 : : case 5:
21512 : : if (
21513 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21514 : : (TARGET_64BIT))
21515 : : return 333; /* *addqi_extdi_0 */
21516 : : break;
21517 : :
21518 : : default:
21519 : : break;
21520 : : }
21521 : : x8 = XEXP (x3, 1);
21522 : : if (GET_CODE (x8) != SUBREG)
21523 : : return -1;
21524 : : switch (pattern1514 (x2))
21525 : : {
21526 : : case 0:
21527 : : if (!
21528 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21529 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21530 : : return -1;
21531 : : return 310; /* *addqi_exthi_2_slp */
21532 : :
21533 : : case 1:
21534 : : if (!
21535 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21536 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21537 : : return -1;
21538 : : return 311; /* *addqi_extsi_2_slp */
21539 : :
21540 : : case 2:
21541 : : if (!(
21542 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21543 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
21544 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21545 : : (TARGET_64BIT)))
21546 : : return -1;
21547 : : return 312; /* *addqi_extdi_2_slp */
21548 : :
21549 : : case 3:
21550 : : return 334; /* *addqi_ext2hi_0 */
21551 : :
21552 : : case 4:
21553 : : return 335; /* *addqi_ext2si_0 */
21554 : :
21555 : : case 5:
21556 : : if (!
21557 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21558 : : (TARGET_64BIT))
21559 : : return -1;
21560 : : return 336; /* *addqi_ext2di_0 */
21561 : :
21562 : : default:
21563 : : return -1;
21564 : : }
21565 : :
21566 : : default:
21567 : : return -1;
21568 : : }
21569 : :
21570 : : case ZERO_EXTEND:
21571 : : x6 = XVECEXP (x1, 0, 1);
21572 : : if (pattern344 (x6) != 0)
21573 : : return -1;
21574 : : switch (pattern922 (x2))
21575 : : {
21576 : : case 0:
21577 : : if (!(
21578 : : #line 6520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21579 : : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
21580 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21581 : : (!TARGET_64BIT)))
21582 : : return -1;
21583 : : return 272; /* *adddi3_doubleword_zext */
21584 : :
21585 : : case 1:
21586 : : if (!(
21587 : : #line 6520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21588 : : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
21589 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21590 : : (TARGET_64BIT)))
21591 : : return -1;
21592 : : return 273; /* *addti3_doubleword_zext */
21593 : :
21594 : : default:
21595 : : return -1;
21596 : : }
21597 : :
21598 : : case PLUS:
21599 : : if (pattern333 (x1) != 0)
21600 : : return -1;
21601 : : x5 = XEXP (x4, 0);
21602 : : switch (GET_CODE (x5))
21603 : : {
21604 : : case ASHIFT:
21605 : : switch (pattern1145 (x3))
21606 : : {
21607 : : case 0:
21608 : : if (!(
21609 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21610 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21611 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21612 : : (!TARGET_64BIT)))
21613 : : return -1;
21614 : : return 274; /* *adddi3_doubleword_concat */
21615 : :
21616 : : case 1:
21617 : : if (!(
21618 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21619 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21620 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21621 : : (TARGET_64BIT)))
21622 : : return -1;
21623 : : return 277; /* *addti3_doubleword_concat */
21624 : :
21625 : : case 2:
21626 : : if (!(
21627 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21628 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21629 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21630 : : (!TARGET_64BIT)))
21631 : : return -1;
21632 : : return 280; /* *adddi3_doubleword_concat_zext */
21633 : :
21634 : : case 3:
21635 : : if (!(
21636 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21637 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21638 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21639 : : (TARGET_64BIT)))
21640 : : return -1;
21641 : : return 283; /* *addti3_doubleword_concat_zext */
21642 : :
21643 : : default:
21644 : : return -1;
21645 : : }
21646 : :
21647 : : case LTU:
21648 : : case UNLT:
21649 : : operands[4] = x5;
21650 : : x9 = XEXP (x5, 1);
21651 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21652 : : return -1;
21653 : : x7 = XEXP (x5, 0);
21654 : : operands[3] = x7;
21655 : : if (!flags_reg_operand (operands[3], E_VOIDmode))
21656 : : return -1;
21657 : : x10 = XEXP (x4, 1);
21658 : : operands[1] = x10;
21659 : : x8 = XEXP (x3, 1);
21660 : : operands[2] = x8;
21661 : : switch (GET_MODE (operands[0]))
21662 : : {
21663 : : case E_QImode:
21664 : : if (pattern1612 (x3,
21665 : : E_QImode) != 0
21666 : : || !
21667 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21668 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
21669 : : return -1;
21670 : : return 457; /* addqi3_carry */
21671 : :
21672 : : case E_HImode:
21673 : : if (pattern1612 (x3,
21674 : : E_HImode) != 0
21675 : : || !
21676 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21677 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
21678 : : return -1;
21679 : : return 458; /* addhi3_carry */
21680 : :
21681 : : case E_SImode:
21682 : : if (pattern1613 (x3,
21683 : : E_SImode) != 0
21684 : : || !
21685 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21686 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21687 : : return -1;
21688 : : return 459; /* addsi3_carry */
21689 : :
21690 : : case E_DImode:
21691 : : if (pattern1613 (x3,
21692 : : E_DImode) != 0
21693 : : || !(
21694 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21695 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
21696 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21697 : : (TARGET_64BIT)))
21698 : : return -1;
21699 : : return 460; /* adddi3_carry */
21700 : :
21701 : : default:
21702 : : return -1;
21703 : : }
21704 : :
21705 : : case EQ:
21706 : : switch (pattern1148 (x3))
21707 : : {
21708 : : case 0:
21709 : : if (!
21710 : : #line 10299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21711 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
21712 : : && ix86_pre_reload_split ()))
21713 : : return -1;
21714 : : return 558; /* *addqi3_eq */
21715 : :
21716 : : case 1:
21717 : : if (!
21718 : : #line 10299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21719 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
21720 : : && ix86_pre_reload_split ()))
21721 : : return -1;
21722 : : return 559; /* *addhi3_eq */
21723 : :
21724 : : case 2:
21725 : : if (!
21726 : : #line 10299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21727 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
21728 : : && ix86_pre_reload_split ()))
21729 : : return -1;
21730 : : return 560; /* *addsi3_eq */
21731 : :
21732 : : case 3:
21733 : : if (!(
21734 : : #line 10299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21735 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
21736 : : && ix86_pre_reload_split ()) &&
21737 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21738 : : (TARGET_64BIT)))
21739 : : return -1;
21740 : : return 561; /* *adddi3_eq */
21741 : :
21742 : : default:
21743 : : return -1;
21744 : : }
21745 : :
21746 : : case NE:
21747 : : switch (pattern1151 (x3))
21748 : : {
21749 : : case 0:
21750 : : if (!
21751 : : #line 10320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21752 : : (CONST_INT_P (operands[2])
21753 : : && (QImode != DImode
21754 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
21755 : : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
21756 : : && ix86_pre_reload_split ()))
21757 : : return -1;
21758 : : return 562; /* *addqi3_ne */
21759 : :
21760 : : case 1:
21761 : : if (!
21762 : : #line 10320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21763 : : (CONST_INT_P (operands[2])
21764 : : && (HImode != DImode
21765 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
21766 : : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
21767 : : && ix86_pre_reload_split ()))
21768 : : return -1;
21769 : : return 563; /* *addhi3_ne */
21770 : :
21771 : : case 2:
21772 : : if (!
21773 : : #line 10320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21774 : : (CONST_INT_P (operands[2])
21775 : : && (SImode != DImode
21776 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
21777 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
21778 : : && ix86_pre_reload_split ()))
21779 : : return -1;
21780 : : return 564; /* *addsi3_ne */
21781 : :
21782 : : case 3:
21783 : : if (!(
21784 : : #line 10320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21785 : : (CONST_INT_P (operands[2])
21786 : : && (DImode != DImode
21787 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
21788 : : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
21789 : : && ix86_pre_reload_split ()) &&
21790 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21791 : : (TARGET_64BIT)))
21792 : : return -1;
21793 : : return 565; /* *adddi3_ne */
21794 : :
21795 : : default:
21796 : : return -1;
21797 : : }
21798 : :
21799 : : default:
21800 : : return -1;
21801 : : }
21802 : :
21803 : : case IOR:
21804 : : switch (pattern348 (x1))
21805 : : {
21806 : : case 0:
21807 : : if (!(
21808 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21809 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21810 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21811 : : (!TARGET_64BIT)))
21812 : : return -1;
21813 : : return 275; /* *adddi3_doubleword_concat */
21814 : :
21815 : : case 1:
21816 : : if (!(
21817 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21818 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21819 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21820 : : (TARGET_64BIT)))
21821 : : return -1;
21822 : : return 278; /* *addti3_doubleword_concat */
21823 : :
21824 : : case 2:
21825 : : if (!(
21826 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21827 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21828 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21829 : : (!TARGET_64BIT)))
21830 : : return -1;
21831 : : return 281; /* *adddi3_doubleword_concat_zext */
21832 : :
21833 : : case 3:
21834 : : if (!(
21835 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21836 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21837 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21838 : : (TARGET_64BIT)))
21839 : : return -1;
21840 : : return 284; /* *addti3_doubleword_concat_zext */
21841 : :
21842 : : default:
21843 : : return -1;
21844 : : }
21845 : :
21846 : : case XOR:
21847 : : switch (pattern348 (x1))
21848 : : {
21849 : : case 0:
21850 : : if (!(
21851 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21852 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21853 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21854 : : (!TARGET_64BIT)))
21855 : : return -1;
21856 : : return 276; /* *adddi3_doubleword_concat */
21857 : :
21858 : : case 1:
21859 : : if (!(
21860 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21861 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21862 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21863 : : (TARGET_64BIT)))
21864 : : return -1;
21865 : : return 279; /* *addti3_doubleword_concat */
21866 : :
21867 : : case 2:
21868 : : if (!(
21869 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21870 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21871 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21872 : : (!TARGET_64BIT)))
21873 : : return -1;
21874 : : return 282; /* *adddi3_doubleword_concat_zext */
21875 : :
21876 : : case 3:
21877 : : if (!(
21878 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21879 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21880 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21881 : : (TARGET_64BIT)))
21882 : : return -1;
21883 : : return 285; /* *addti3_doubleword_concat_zext */
21884 : :
21885 : : default:
21886 : : return -1;
21887 : : }
21888 : :
21889 : : case LTU:
21890 : : case UNLT:
21891 : : switch (pattern349 (x1))
21892 : : {
21893 : : case 0:
21894 : : if (pattern1515 (x3,
21895 : : E_QImode) != 0
21896 : : || !
21897 : : #line 8870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21898 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
21899 : : return -1;
21900 : : return 461; /* *addqi3_carry_0 */
21901 : :
21902 : : case 1:
21903 : : if (pattern1515 (x3,
21904 : : E_HImode) != 0
21905 : : || !
21906 : : #line 8870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21907 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
21908 : : return -1;
21909 : : return 462; /* *addhi3_carry_0 */
21910 : :
21911 : : case 2:
21912 : : if (pattern1515 (x3,
21913 : : E_SImode) != 0
21914 : : || !
21915 : : #line 8870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21916 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
21917 : : return -1;
21918 : : return 463; /* *addsi3_carry_0 */
21919 : :
21920 : : case 3:
21921 : : if (pattern1515 (x3,
21922 : : E_DImode) != 0
21923 : : || !(
21924 : : #line 8870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21925 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
21926 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21927 : : (TARGET_64BIT)))
21928 : : return -1;
21929 : : return 464; /* *adddi3_carry_0 */
21930 : :
21931 : : default:
21932 : : return -1;
21933 : : }
21934 : :
21935 : : case GE:
21936 : : case GEU:
21937 : : switch (pattern349 (x1))
21938 : : {
21939 : : case 0:
21940 : : if (pattern1516 (x3,
21941 : : E_QImode) != 0
21942 : : || !
21943 : : #line 8884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21944 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
21945 : : return -1;
21946 : : return 465; /* *addqi3_carry_0r */
21947 : :
21948 : : case 1:
21949 : : if (pattern1516 (x3,
21950 : : E_HImode) != 0
21951 : : || !
21952 : : #line 8884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21953 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
21954 : : return -1;
21955 : : return 466; /* *addhi3_carry_0r */
21956 : :
21957 : : case 2:
21958 : : if (pattern1516 (x3,
21959 : : E_SImode) != 0
21960 : : || !
21961 : : #line 8884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21962 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
21963 : : return -1;
21964 : : return 467; /* *addsi3_carry_0r */
21965 : :
21966 : : case 3:
21967 : : if (pattern1516 (x3,
21968 : : E_DImode) != 0
21969 : : || !(
21970 : : #line 8884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21971 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
21972 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21973 : : (TARGET_64BIT)))
21974 : : return -1;
21975 : : return 468; /* *adddi3_carry_0r */
21976 : :
21977 : : default:
21978 : : return -1;
21979 : : }
21980 : :
21981 : : case EQ:
21982 : : switch (pattern353 (x1))
21983 : : {
21984 : : case 0:
21985 : : if (!
21986 : : #line 10346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21987 : : (ix86_unary_operator_ok (PLUS, QImode, operands)
21988 : : && ix86_pre_reload_split ()))
21989 : : return -1;
21990 : : return 566; /* *addqi3_eq_0 */
21991 : :
21992 : : case 1:
21993 : : if (!
21994 : : #line 10346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21995 : : (ix86_unary_operator_ok (PLUS, HImode, operands)
21996 : : && ix86_pre_reload_split ()))
21997 : : return -1;
21998 : : return 567; /* *addhi3_eq_0 */
21999 : :
22000 : : case 2:
22001 : : if (!
22002 : : #line 10346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22003 : : (ix86_unary_operator_ok (PLUS, SImode, operands)
22004 : : && ix86_pre_reload_split ()))
22005 : : return -1;
22006 : : return 568; /* *addsi3_eq_0 */
22007 : :
22008 : : case 3:
22009 : : if (!(
22010 : : #line 10346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22011 : : (ix86_unary_operator_ok (PLUS, DImode, operands)
22012 : : && ix86_pre_reload_split ()) &&
22013 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22014 : : (TARGET_64BIT)))
22015 : : return -1;
22016 : : return 569; /* *adddi3_eq_0 */
22017 : :
22018 : : default:
22019 : : return -1;
22020 : : }
22021 : :
22022 : : case NE:
22023 : : switch (pattern353 (x1))
22024 : : {
22025 : : case 0:
22026 : : if (!
22027 : : #line 10367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22028 : : (ix86_unary_operator_ok (PLUS, QImode, operands)
22029 : : && ix86_pre_reload_split ()))
22030 : : return -1;
22031 : : return 570; /* *addqi3_ne_0 */
22032 : :
22033 : : case 1:
22034 : : if (!
22035 : : #line 10367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22036 : : (ix86_unary_operator_ok (PLUS, HImode, operands)
22037 : : && ix86_pre_reload_split ()))
22038 : : return -1;
22039 : : return 571; /* *addhi3_ne_0 */
22040 : :
22041 : : case 2:
22042 : : if (!
22043 : : #line 10367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22044 : : (ix86_unary_operator_ok (PLUS, SImode, operands)
22045 : : && ix86_pre_reload_split ()))
22046 : : return -1;
22047 : : return 572; /* *addsi3_ne_0 */
22048 : :
22049 : : case 3:
22050 : : if (!(
22051 : : #line 10367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22052 : : (ix86_unary_operator_ok (PLUS, DImode, operands)
22053 : : && ix86_pre_reload_split ()) &&
22054 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22055 : : (TARGET_64BIT)))
22056 : : return -1;
22057 : : return 573; /* *adddi3_ne_0 */
22058 : :
22059 : : default:
22060 : : return -1;
22061 : : }
22062 : :
22063 : : case MINUS:
22064 : : x6 = XVECEXP (x1, 0, 1);
22065 : : if (pattern344 (x6) != 0)
22066 : : return -1;
22067 : : switch (pattern926 (x2))
22068 : : {
22069 : : case 0:
22070 : : if (!
22071 : : #line 10415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22072 : : (CONST_INT_P (operands[2])
22073 : : && (QImode != DImode
22074 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22075 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22076 : : && ix86_pre_reload_split ()))
22077 : : return -1;
22078 : : return 578; /* *subqi3_ne */
22079 : :
22080 : : case 1:
22081 : : if (!
22082 : : #line 10415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22083 : : (CONST_INT_P (operands[2])
22084 : : && (HImode != DImode
22085 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22086 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22087 : : && ix86_pre_reload_split ()))
22088 : : return -1;
22089 : : return 579; /* *subhi3_ne */
22090 : :
22091 : : case 2:
22092 : : if (!
22093 : : #line 10415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22094 : : (CONST_INT_P (operands[2])
22095 : : && (SImode != DImode
22096 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22097 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22098 : : && ix86_pre_reload_split ()))
22099 : : return -1;
22100 : : return 580; /* *subsi3_ne */
22101 : :
22102 : : case 3:
22103 : : if (!(
22104 : : #line 10415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22105 : : (CONST_INT_P (operands[2])
22106 : : && (DImode != DImode
22107 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22108 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22109 : : && ix86_pre_reload_split ()) &&
22110 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22111 : : (TARGET_64BIT)))
22112 : : return -1;
22113 : : return 581; /* *subdi3_ne */
22114 : :
22115 : : case 4:
22116 : : if (!
22117 : : #line 10444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22118 : : (CONST_INT_P (operands[2])
22119 : : && (QImode != DImode
22120 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22121 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22122 : : && ix86_pre_reload_split ()))
22123 : : return -1;
22124 : : return 582; /* *subqi3_eq_1 */
22125 : :
22126 : : case 5:
22127 : : if (!
22128 : : #line 10444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22129 : : (CONST_INT_P (operands[2])
22130 : : && (HImode != DImode
22131 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22132 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22133 : : && ix86_pre_reload_split ()))
22134 : : return -1;
22135 : : return 583; /* *subhi3_eq_1 */
22136 : :
22137 : : case 6:
22138 : : if (!
22139 : : #line 10444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22140 : : (CONST_INT_P (operands[2])
22141 : : && (SImode != DImode
22142 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22143 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22144 : : && ix86_pre_reload_split ()))
22145 : : return -1;
22146 : : return 584; /* *subsi3_eq_1 */
22147 : :
22148 : : case 7:
22149 : : if (!(
22150 : : #line 10444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22151 : : (CONST_INT_P (operands[2])
22152 : : && (DImode != DImode
22153 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22154 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22155 : : && ix86_pre_reload_split ()) &&
22156 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22157 : : (TARGET_64BIT)))
22158 : : return -1;
22159 : : return 585; /* *subdi3_eq_1 */
22160 : :
22161 : : default:
22162 : : return -1;
22163 : : }
22164 : :
22165 : : case LSHIFTRT:
22166 : : x10 = XEXP (x4, 1);
22167 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
22168 : : return -1;
22169 : : x8 = XEXP (x3, 1);
22170 : : if (GET_CODE (x8) != ASHIFT)
22171 : : return -1;
22172 : : x11 = XEXP (x8, 0);
22173 : : if (GET_CODE (x11) != LTU)
22174 : : return -1;
22175 : : x12 = XEXP (x11, 0);
22176 : : if (GET_CODE (x12) != REG
22177 : : || REGNO (x12) != 17
22178 : : || GET_MODE (x12) != E_CCCmode)
22179 : : return -1;
22180 : : x13 = XEXP (x11, 1);
22181 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22182 : : return -1;
22183 : : x14 = XEXP (x8, 1);
22184 : : if (GET_CODE (x14) != CONST_INT
22185 : : || pattern338 (x1) != 0)
22186 : : return -1;
22187 : : switch (XWINT (x14, 0))
22188 : : {
22189 : : case 31L:
22190 : : if (pattern1671 (x3,
22191 : : E_SImode) != 0)
22192 : : return -1;
22193 : : return 1389; /* rcrsi2 */
22194 : :
22195 : : case 63L:
22196 : : if (pattern1671 (x3,
22197 : : E_DImode) != 0
22198 : : || !
22199 : : #line 18907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22200 : : (TARGET_64BIT))
22201 : : return -1;
22202 : : return 1390; /* rcrdi2 */
22203 : :
22204 : : default:
22205 : : return -1;
22206 : : }
22207 : :
22208 : : case UNSPEC:
22209 : : x6 = XVECEXP (x1, 0, 1);
22210 : : if (pattern344 (x6) != 0)
22211 : : return -1;
22212 : : switch (pattern930 (x2))
22213 : : {
22214 : : case 0:
22215 : : if (!
22216 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22217 : : (ptr_mode == SImode))
22218 : : return -1;
22219 : : return 1667; /* *add_tp_si */
22220 : :
22221 : : case 1:
22222 : : if (!
22223 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22224 : : (ptr_mode == DImode))
22225 : : return -1;
22226 : : return 1668; /* *add_tp_di */
22227 : :
22228 : : case 2:
22229 : : if (!
22230 : : #line 23476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22231 : : (!TARGET_64BIT && TARGET_GNU2_TLS))
22232 : : return -1;
22233 : : return 1672; /* *tls_dynamic_gnu2_combine_32 */
22234 : :
22235 : : case 3:
22236 : : if (!(
22237 : : #line 23539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22238 : : (TARGET_64BIT && TARGET_GNU2_TLS) &&
22239 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22240 : : (ptr_mode == SImode)))
22241 : : return -1;
22242 : : return 1677; /* *tls_dynamic_gnu2_combine_64_si */
22243 : :
22244 : : case 4:
22245 : : if (!(
22246 : : #line 23539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22247 : : (TARGET_64BIT && TARGET_GNU2_TLS) &&
22248 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22249 : : (ptr_mode == DImode)))
22250 : : return -1;
22251 : : return 1678; /* *tls_dynamic_gnu2_combine_64_di */
22252 : :
22253 : : default:
22254 : : return -1;
22255 : : }
22256 : :
22257 : : default:
22258 : : return -1;
22259 : : }
22260 : : }
22261 : :
22262 : : int
22263 : : recog_400 (rtx x1 ATTRIBUTE_UNUSED,
22264 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22265 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22266 : : {
22267 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22268 : : rtx x2, x3, x4, x5, x6, x7;
22269 : : int res ATTRIBUTE_UNUSED;
22270 : : x2 = XVECEXP (x1, 0, 0);
22271 : : x3 = XEXP (x2, 1);
22272 : : x4 = XEXP (x3, 0);
22273 : : x5 = XEXP (x4, 0);
22274 : : switch (GET_CODE (x5))
22275 : : {
22276 : : case ASHIFTRT:
22277 : : case LSHIFTRT:
22278 : : case SIGN_EXTRACT:
22279 : : case ZERO_EXTRACT:
22280 : : operands[3] = x5;
22281 : : x6 = XEXP (x5, 0);
22282 : : operands[2] = x6;
22283 : : switch (pattern1513 (x2))
22284 : : {
22285 : : case 0:
22286 : : if (
22287 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22288 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22289 : : return 736; /* *iorqi_exthi_1_slp */
22290 : : break;
22291 : :
22292 : : case 1:
22293 : : if (
22294 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22295 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22296 : : return 739; /* *iorqi_extsi_1_slp */
22297 : : break;
22298 : :
22299 : : case 2:
22300 : : if ((
22301 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22302 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22303 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22304 : : (TARGET_64BIT)))
22305 : : return 742; /* *iorqi_extdi_1_slp */
22306 : : break;
22307 : :
22308 : : case 3:
22309 : : return 760; /* *iorqi_exthi_0 */
22310 : :
22311 : : case 4:
22312 : : return 763; /* *iorqi_extsi_0 */
22313 : :
22314 : : case 5:
22315 : : if (
22316 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22317 : : (TARGET_64BIT))
22318 : : return 766; /* *iorqi_extdi_0 */
22319 : : break;
22320 : :
22321 : : default:
22322 : : break;
22323 : : }
22324 : : x7 = XEXP (x3, 1);
22325 : : if (GET_CODE (x7) != SUBREG)
22326 : : return -1;
22327 : : switch (pattern1514 (x2))
22328 : : {
22329 : : case 0:
22330 : : if (!
22331 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22332 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22333 : : return -1;
22334 : : return 745; /* *iorqi_exthi_2_slp */
22335 : :
22336 : : case 1:
22337 : : if (!
22338 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22339 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22340 : : return -1;
22341 : : return 748; /* *iorqi_extsi_2_slp */
22342 : :
22343 : : case 2:
22344 : : if (!(
22345 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22346 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22347 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22348 : : (TARGET_64BIT)))
22349 : : return -1;
22350 : : return 751; /* *iorqi_extdi_2_slp */
22351 : :
22352 : : case 3:
22353 : : return 769; /* *iorqi_ext2hi_0 */
22354 : :
22355 : : case 4:
22356 : : return 772; /* *iorqi_ext2si_0 */
22357 : :
22358 : : case 5:
22359 : : if (!
22360 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22361 : : (TARGET_64BIT))
22362 : : return -1;
22363 : : return 775; /* *iorqi_ext2di_0 */
22364 : :
22365 : : default:
22366 : : return -1;
22367 : : }
22368 : :
22369 : : default:
22370 : : return -1;
22371 : : }
22372 : : }
22373 : :
22374 : : int
22375 : : recog_405 (rtx x1 ATTRIBUTE_UNUSED,
22376 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22377 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22378 : : {
22379 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22380 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22381 : : rtx x10, x11;
22382 : : int res ATTRIBUTE_UNUSED;
22383 : : x2 = XVECEXP (x1, 0, 0);
22384 : : x3 = XEXP (x2, 1);
22385 : : x4 = XEXP (x3, 0);
22386 : : switch (GET_CODE (x4))
22387 : : {
22388 : : case REG:
22389 : : case SUBREG:
22390 : : case MEM:
22391 : : operands[1] = x4;
22392 : : res = recog_403 (x1, insn, pnum_clobbers);
22393 : : if (res >= 0)
22394 : : return res;
22395 : : if (GET_CODE (x4) != SUBREG
22396 : : || maybe_ne (SUBREG_BYTE (x4), 0))
22397 : : return -1;
22398 : : x5 = XEXP (x4, 0);
22399 : : switch (GET_CODE (x5))
22400 : : {
22401 : : case ASHIFTRT:
22402 : : case LSHIFTRT:
22403 : : case SIGN_EXTRACT:
22404 : : case ZERO_EXTRACT:
22405 : : operands[3] = x5;
22406 : : x6 = XVECEXP (x1, 0, 1);
22407 : : if (pattern222 (x6,
22408 : : E_CCmode,
22409 : : 17) != 0
22410 : : || GET_MODE (x3) != E_QImode
22411 : : || GET_MODE (x4) != E_QImode)
22412 : : return -1;
22413 : : x7 = XEXP (x5, 0);
22414 : : operands[2] = x7;
22415 : : switch (pattern1513 (x2))
22416 : : {
22417 : : case 0:
22418 : : if (
22419 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22420 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22421 : : return 735; /* *andqi_exthi_1_slp */
22422 : : break;
22423 : :
22424 : : case 1:
22425 : : if (
22426 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22427 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22428 : : return 738; /* *andqi_extsi_1_slp */
22429 : : break;
22430 : :
22431 : : case 2:
22432 : : if ((
22433 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22434 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22435 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22436 : : (TARGET_64BIT)))
22437 : : return 741; /* *andqi_extdi_1_slp */
22438 : : break;
22439 : :
22440 : : case 3:
22441 : : return 759; /* *andqi_exthi_0 */
22442 : :
22443 : : case 4:
22444 : : return 762; /* *andqi_extsi_0 */
22445 : :
22446 : : case 5:
22447 : : if (
22448 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22449 : : (TARGET_64BIT))
22450 : : return 765; /* *andqi_extdi_0 */
22451 : : break;
22452 : :
22453 : : default:
22454 : : break;
22455 : : }
22456 : : x8 = XEXP (x3, 1);
22457 : : if (GET_CODE (x8) != SUBREG)
22458 : : return -1;
22459 : : switch (pattern1514 (x2))
22460 : : {
22461 : : case 0:
22462 : : if (!
22463 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22464 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22465 : : return -1;
22466 : : return 744; /* *andqi_exthi_2_slp */
22467 : :
22468 : : case 1:
22469 : : if (!
22470 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22471 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22472 : : return -1;
22473 : : return 747; /* *andqi_extsi_2_slp */
22474 : :
22475 : : case 2:
22476 : : if (!(
22477 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22478 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22479 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22480 : : (TARGET_64BIT)))
22481 : : return -1;
22482 : : return 750; /* *andqi_extdi_2_slp */
22483 : :
22484 : : case 3:
22485 : : return 768; /* *andqi_ext2hi_0 */
22486 : :
22487 : : case 4:
22488 : : return 771; /* *andqi_ext2si_0 */
22489 : :
22490 : : case 5:
22491 : : if (!
22492 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22493 : : (TARGET_64BIT))
22494 : : return -1;
22495 : : return 774; /* *andqi_ext2di_0 */
22496 : :
22497 : : default:
22498 : : return -1;
22499 : : }
22500 : :
22501 : : case ROTATE:
22502 : : if (GET_MODE (x5) != E_SImode)
22503 : : return -1;
22504 : : x7 = XEXP (x5, 0);
22505 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
22506 : : return -1;
22507 : : x6 = XVECEXP (x1, 0, 1);
22508 : : if (pattern364 (x6) != 0)
22509 : : return -1;
22510 : : switch (pattern1421 (x2))
22511 : : {
22512 : : case 0:
22513 : : if (!
22514 : : #line 19095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22515 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
22516 : : return -1;
22517 : : return 1413; /* *btrqi_1 */
22518 : :
22519 : : case 1:
22520 : : if (!
22521 : : #line 19095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22522 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
22523 : : return -1;
22524 : : return 1414; /* *btrhi_1 */
22525 : :
22526 : : default:
22527 : : return -1;
22528 : : }
22529 : :
22530 : : case CTZ:
22531 : : switch (pattern804 (x1, pnum_clobbers))
22532 : : {
22533 : : case 0:
22534 : : if (!
22535 : : #line 21271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22536 : : (TARGET_BMI && TARGET_64BIT))
22537 : : return -1;
22538 : : return 1522; /* *ctzsi2_zext */
22539 : :
22540 : : case 1:
22541 : : if (!
22542 : : #line 21301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22543 : : (TARGET_BMI && TARGET_64BIT))
22544 : : return -1;
22545 : : *pnum_clobbers = 1;
22546 : : return 1523; /* *ctzsi2_zext_falsedep */
22547 : :
22548 : : default:
22549 : : return -1;
22550 : : }
22551 : :
22552 : : case CLZ:
22553 : : if (GET_MODE (x5) != E_SImode)
22554 : : return -1;
22555 : : x8 = XEXP (x3, 1);
22556 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
22557 : : return -1;
22558 : : x9 = XEXP (x2, 0);
22559 : : operands[0] = x9;
22560 : : if (!register_operand (operands[0], E_DImode)
22561 : : || GET_MODE (x3) != E_DImode
22562 : : || GET_MODE (x4) != E_DImode)
22563 : : return -1;
22564 : : x7 = XEXP (x5, 0);
22565 : : operands[1] = x7;
22566 : : x6 = XVECEXP (x1, 0, 1);
22567 : : switch (pattern803 (x6, pnum_clobbers))
22568 : : {
22569 : : case 0:
22570 : : if (!nonimmediate_operand (operands[1], E_SImode)
22571 : : || !
22572 : : #line 21711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22573 : : (TARGET_LZCNT && TARGET_64BIT))
22574 : : return -1;
22575 : : return 1546; /* *clzsi2_lzcnt_zext */
22576 : :
22577 : : case 1:
22578 : : switch (GET_MODE (operands[1]))
22579 : : {
22580 : : case E_SImode:
22581 : : if (!nonimmediate_operand (operands[1], E_SImode)
22582 : : || !
22583 : : #line 21739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22584 : : (TARGET_LZCNT))
22585 : : return -1;
22586 : : *pnum_clobbers = 1;
22587 : : return 1547; /* *clzsi2_lzcnt_zext_falsedep */
22588 : :
22589 : : case E_DImode:
22590 : : if (!nonimmediate_operand (operands[1], E_DImode)
22591 : : || !(
22592 : : #line 21739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22593 : : (TARGET_LZCNT) &&
22594 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22595 : : (TARGET_64BIT)))
22596 : : return -1;
22597 : : *pnum_clobbers = 1;
22598 : : return 1548; /* *clzsi2_lzcnt_zext_falsedep */
22599 : :
22600 : : default:
22601 : : return -1;
22602 : : }
22603 : :
22604 : : default:
22605 : : return -1;
22606 : : }
22607 : :
22608 : : case POPCOUNT:
22609 : : switch (pattern804 (x1, pnum_clobbers))
22610 : : {
22611 : : case 0:
22612 : : if (!
22613 : : #line 22536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22614 : : (TARGET_POPCNT && TARGET_64BIT))
22615 : : return -1;
22616 : : return 1638; /* *popcountsi2_zext */
22617 : :
22618 : : case 1:
22619 : : if (!
22620 : : #line 22570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22621 : : (TARGET_POPCNT && TARGET_64BIT))
22622 : : return -1;
22623 : : *pnum_clobbers = 1;
22624 : : return 1639; /* *popcountsi2_zext_falsedep */
22625 : :
22626 : : default:
22627 : : return -1;
22628 : : }
22629 : :
22630 : : default:
22631 : : return -1;
22632 : : }
22633 : :
22634 : : case NOT:
22635 : : x9 = XEXP (x2, 0);
22636 : : operands[0] = x9;
22637 : : x5 = XEXP (x4, 0);
22638 : : switch (GET_CODE (x5))
22639 : : {
22640 : : case REG:
22641 : : case SUBREG:
22642 : : operands[1] = x5;
22643 : : res = recog_404 (x1, insn, pnum_clobbers);
22644 : : if (res >= 0)
22645 : : return res;
22646 : : if (GET_CODE (x5) != SUBREG
22647 : : || maybe_ne (SUBREG_BYTE (x5), 0)
22648 : : || GET_MODE (x5) != E_QImode)
22649 : : return -1;
22650 : : x7 = XEXP (x5, 0);
22651 : : if (GET_CODE (x7) != LSHIFTRT)
22652 : : return -1;
22653 : : x8 = XEXP (x3, 1);
22654 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
22655 : : return -1;
22656 : : x6 = XVECEXP (x1, 0, 1);
22657 : : if (pattern222 (x6,
22658 : : E_CCmode,
22659 : : 17) != 0)
22660 : : return -1;
22661 : : switch (pattern1517 (x3))
22662 : : {
22663 : : case 0:
22664 : : if (!
22665 : : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22666 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
22667 : : return -1;
22668 : : return 1440; /* *btsi_setncqi */
22669 : :
22670 : : case 1:
22671 : : if (!(
22672 : : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22673 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
22674 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22675 : : (TARGET_64BIT)))
22676 : : return -1;
22677 : : return 1441; /* *btdi_setncqi */
22678 : :
22679 : : default:
22680 : : return -1;
22681 : : }
22682 : :
22683 : : case LSHIFTRT:
22684 : : x8 = XEXP (x3, 1);
22685 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
22686 : : return -1;
22687 : : x6 = XVECEXP (x1, 0, 1);
22688 : : if (pattern222 (x6,
22689 : : E_CCmode,
22690 : : 17) != 0)
22691 : : return -1;
22692 : : switch (pattern1233 (x3))
22693 : : {
22694 : : case 0:
22695 : : if (!
22696 : : #line 19515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22697 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
22698 : : return -1;
22699 : : return 1442; /* *btsi_setncsi */
22700 : :
22701 : : case 1:
22702 : : if (!(
22703 : : #line 19515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22704 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
22705 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22706 : : (TARGET_64BIT)))
22707 : : return -1;
22708 : : return 1443; /* *btdi_setncdi */
22709 : :
22710 : : default:
22711 : : return -1;
22712 : : }
22713 : :
22714 : : case ASHIFT:
22715 : : x7 = XEXP (x5, 0);
22716 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
22717 : : return -1;
22718 : : x6 = XVECEXP (x1, 0, 1);
22719 : : if (pattern222 (x6,
22720 : : E_CCmode,
22721 : : 17) != 0)
22722 : : return -1;
22723 : : switch (pattern1235 (x3))
22724 : : {
22725 : : case 0:
22726 : : if (!
22727 : : #line 22238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22728 : : (TARGET_BMI2))
22729 : : return -1;
22730 : : return 1602; /* *bmi2_bzhi_si3_3 */
22731 : :
22732 : : case 1:
22733 : : if (!(
22734 : : #line 22238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22735 : : (TARGET_BMI2) &&
22736 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22737 : : (TARGET_64BIT)))
22738 : : return -1;
22739 : : return 1603; /* *bmi2_bzhi_di3_3 */
22740 : :
22741 : : default:
22742 : : return -1;
22743 : : }
22744 : :
22745 : : default:
22746 : : return -1;
22747 : : }
22748 : :
22749 : : case ROTATE:
22750 : : switch (pattern363 (x1,
22751 : : -2))
22752 : : {
22753 : : case 0:
22754 : : x10 = XEXP (x4, 1);
22755 : : operands[2] = x10;
22756 : : if (register_operand (operands[2], E_QImode))
22757 : : {
22758 : : switch (pattern928 (x3))
22759 : : {
22760 : : case 0:
22761 : : if (
22762 : : #line 19026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22763 : : (TARGET_USE_BT))
22764 : : return 1407; /* *btrsi */
22765 : : break;
22766 : :
22767 : : case 1:
22768 : : if ((
22769 : : #line 19026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22770 : : (TARGET_USE_BT) &&
22771 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22772 : : (TARGET_64BIT)))
22773 : : return 1408; /* *btrdi */
22774 : : break;
22775 : :
22776 : : default:
22777 : : break;
22778 : : }
22779 : : }
22780 : : if (GET_CODE (x10) != SUBREG)
22781 : : return -1;
22782 : : switch (pattern1314 (x3))
22783 : : {
22784 : : case 0:
22785 : : if (!
22786 : : #line 19045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22787 : : (TARGET_USE_BT
22788 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
22789 : : == GET_MODE_BITSIZE (SImode)-1
22790 : : && ix86_pre_reload_split ()))
22791 : : return -1;
22792 : : return 1409; /* *btrsi_mask */
22793 : :
22794 : : case 1:
22795 : : if (!(
22796 : : #line 19045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22797 : : (TARGET_USE_BT
22798 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
22799 : : == GET_MODE_BITSIZE (DImode)-1
22800 : : && ix86_pre_reload_split ()) &&
22801 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22802 : : (TARGET_64BIT)))
22803 : : return -1;
22804 : : return 1410; /* *btrdi_mask */
22805 : :
22806 : : default:
22807 : : return -1;
22808 : : }
22809 : :
22810 : : case 1:
22811 : : if (!
22812 : : #line 19073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22813 : : (TARGET_USE_BT
22814 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
22815 : : == GET_MODE_BITSIZE (SImode)-1
22816 : : && ix86_pre_reload_split ()))
22817 : : return -1;
22818 : : return 1411; /* *btrsi_mask_1 */
22819 : :
22820 : : case 2:
22821 : : if (!(
22822 : : #line 19073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22823 : : (TARGET_USE_BT
22824 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
22825 : : == GET_MODE_BITSIZE (DImode)-1
22826 : : && ix86_pre_reload_split ()) &&
22827 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22828 : : (TARGET_64BIT)))
22829 : : return -1;
22830 : : return 1412; /* *btrdi_mask_1 */
22831 : :
22832 : : default:
22833 : : return -1;
22834 : : }
22835 : :
22836 : : case NEG:
22837 : : x6 = XVECEXP (x1, 0, 1);
22838 : : if (pattern364 (x6) != 0)
22839 : : return -1;
22840 : : switch (pattern934 (x2))
22841 : : {
22842 : : case 0:
22843 : : if (!
22844 : : #line 21915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22845 : : (TARGET_BMI))
22846 : : return -1;
22847 : : return 1576; /* *bmi_blsi_si */
22848 : :
22849 : : case 1:
22850 : : if (!(
22851 : : #line 21915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22852 : : (TARGET_BMI) &&
22853 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22854 : : (TARGET_64BIT)))
22855 : : return -1;
22856 : : return 1577; /* *bmi_blsi_di */
22857 : :
22858 : : default:
22859 : : return -1;
22860 : : }
22861 : :
22862 : : case PLUS:
22863 : : x10 = XEXP (x4, 1);
22864 : : if (GET_CODE (x10) != CONST_INT
22865 : : || pattern333 (x1) != 0)
22866 : : return -1;
22867 : : x5 = XEXP (x4, 0);
22868 : : switch (GET_CODE (x5))
22869 : : {
22870 : : case REG:
22871 : : case SUBREG:
22872 : : case MEM:
22873 : : operands[1] = x5;
22874 : : switch (XWINT (x10, 0))
22875 : : {
22876 : : case -1L:
22877 : : switch (pattern1313 (x3))
22878 : : {
22879 : : case 0:
22880 : : if (!
22881 : : #line 22060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22882 : : (TARGET_BMI))
22883 : : return -1;
22884 : : return 1588; /* *bmi_blsr_si */
22885 : :
22886 : : case 1:
22887 : : if (!(
22888 : : #line 22060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22889 : : (TARGET_BMI) &&
22890 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22891 : : (TARGET_64BIT)))
22892 : : return -1;
22893 : : return 1589; /* *bmi_blsr_di */
22894 : :
22895 : : case 2:
22896 : : if (!
22897 : : #line 22431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22898 : : (TARGET_TBM))
22899 : : return -1;
22900 : : return 1628; /* *tbm_tzmsk_si */
22901 : :
22902 : : case 3:
22903 : : if (!(
22904 : : #line 22431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22905 : : (TARGET_TBM) &&
22906 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22907 : : (TARGET_64BIT)))
22908 : : return -1;
22909 : : return 1629; /* *tbm_tzmsk_di */
22910 : :
22911 : : default:
22912 : : return -1;
22913 : : }
22914 : :
22915 : : case 1L:
22916 : : switch (pattern1313 (x3))
22917 : : {
22918 : : case 0:
22919 : : if (!
22920 : : #line 22322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22921 : : (TARGET_TBM))
22922 : : return -1;
22923 : : return 1612; /* *tbm_blcfill_si */
22924 : :
22925 : : case 1:
22926 : : if (!(
22927 : : #line 22322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22928 : : (TARGET_TBM) &&
22929 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22930 : : (TARGET_64BIT)))
22931 : : return -1;
22932 : : return 1613; /* *tbm_blcfill_di */
22933 : :
22934 : : case 2:
22935 : : if (!
22936 : : #line 22350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22937 : : (TARGET_TBM))
22938 : : return -1;
22939 : : return 1616; /* *tbm_blcic_si */
22940 : :
22941 : : case 3:
22942 : : if (!(
22943 : : #line 22350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22944 : : (TARGET_TBM) &&
22945 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22946 : : (TARGET_64BIT)))
22947 : : return -1;
22948 : : return 1617; /* *tbm_blcic_di */
22949 : :
22950 : : default:
22951 : : return -1;
22952 : : }
22953 : :
22954 : : default:
22955 : : return -1;
22956 : : }
22957 : :
22958 : : case ASHIFT:
22959 : : x7 = XEXP (x5, 0);
22960 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
22961 : : || XWINT (x10, 0) != -1L)
22962 : : return -1;
22963 : : switch (pattern1235 (x3))
22964 : : {
22965 : : case 0:
22966 : : if (!
22967 : : #line 22224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22968 : : (TARGET_BMI2))
22969 : : return -1;
22970 : : return 1600; /* *bmi2_bzhi_si3_2 */
22971 : :
22972 : : case 1:
22973 : : if (!(
22974 : : #line 22224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22975 : : (TARGET_BMI2) &&
22976 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22977 : : (TARGET_64BIT)))
22978 : : return -1;
22979 : : return 1601; /* *bmi2_bzhi_di3_2 */
22980 : :
22981 : : default:
22982 : : return -1;
22983 : : }
22984 : :
22985 : : default:
22986 : : return -1;
22987 : : }
22988 : :
22989 : : case ZERO_EXTEND:
22990 : : if (GET_MODE (x4) != E_DImode)
22991 : : return -1;
22992 : : x5 = XEXP (x4, 0);
22993 : : if (GET_CODE (x5) != PLUS
22994 : : || pattern681 (x5) != 0
22995 : : || pattern557 (x1) != 0)
22996 : : return -1;
22997 : : x7 = XEXP (x5, 0);
22998 : : x11 = XEXP (x7, 1);
22999 : : operands[2] = x11;
23000 : : if (!register_operand (operands[2], E_QImode))
23001 : : return -1;
23002 : : x8 = XEXP (x3, 1);
23003 : : operands[1] = x8;
23004 : : if (!nonimmediate_operand (operands[1], E_DImode)
23005 : : || !
23006 : : #line 22270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23007 : : (TARGET_64BIT && TARGET_BMI2))
23008 : : return -1;
23009 : : return 1605; /* *bmi2_bzhi_zero_extendsidi_5 */
23010 : :
23011 : : default:
23012 : : return -1;
23013 : : }
23014 : : }
23015 : :
23016 : : int
23017 : : recog_422 (rtx x1 ATTRIBUTE_UNUSED,
23018 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23019 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23020 : : {
23021 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23022 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23023 : : rtx x10, x11, x12, x13, x14, x15;
23024 : : int res ATTRIBUTE_UNUSED;
23025 : : x2 = XVECEXP (x1, 0, 0);
23026 : : switch (GET_CODE (x2))
23027 : : {
23028 : : case SET:
23029 : : x3 = XEXP (x2, 1);
23030 : : switch (GET_CODE (x3))
23031 : : {
23032 : : case CONST_INT:
23033 : : case CONST_WIDE_INT:
23034 : : case CONST_POLY_INT:
23035 : : case CONST_FIXED:
23036 : : case CONST_DOUBLE:
23037 : : case CONST_VECTOR:
23038 : : case CONST:
23039 : : case REG:
23040 : : case SUBREG:
23041 : : case MEM:
23042 : : case LABEL_REF:
23043 : : case SYMBOL_REF:
23044 : : case HIGH:
23045 : : res = recog_359 (x1, insn, pnum_clobbers);
23046 : : if (res >= 0)
23047 : : return res;
23048 : : break;
23049 : :
23050 : : case ASHIFTRT:
23051 : : case LSHIFTRT:
23052 : : case SIGN_EXTRACT:
23053 : : case ZERO_EXTRACT:
23054 : : res = recog_365 (x1, insn, pnum_clobbers);
23055 : : if (res >= 0)
23056 : : return res;
23057 : : break;
23058 : :
23059 : : case UNSPEC:
23060 : : res = recog_371 (x1, insn, pnum_clobbers);
23061 : : if (res >= 0)
23062 : : return res;
23063 : : break;
23064 : :
23065 : : case ZERO_EXTEND:
23066 : : res = recog_375 (x1, insn, pnum_clobbers);
23067 : : if (res >= 0)
23068 : : return res;
23069 : : break;
23070 : :
23071 : : case UNSIGNED_FIX:
23072 : : res = recog_376 (x1, insn, pnum_clobbers);
23073 : : if (res >= 0)
23074 : : return res;
23075 : : break;
23076 : :
23077 : : case FIX:
23078 : : res = recog_377 (x1, insn, pnum_clobbers);
23079 : : if (res >= 0)
23080 : : return res;
23081 : : break;
23082 : :
23083 : : case FLOAT:
23084 : : res = recog_378 (x1, insn, pnum_clobbers);
23085 : : if (res >= 0)
23086 : : return res;
23087 : : break;
23088 : :
23089 : : case UNSIGNED_FLOAT:
23090 : : res = recog_379 (x1, insn, pnum_clobbers);
23091 : : if (res >= 0)
23092 : : return res;
23093 : : break;
23094 : :
23095 : : case PLUS:
23096 : : res = recog_381 (x1, insn, pnum_clobbers);
23097 : : if (res >= 0)
23098 : : return res;
23099 : : break;
23100 : :
23101 : : case COMPARE:
23102 : : res = recog_392 (x1, insn, pnum_clobbers);
23103 : : if (res >= 0)
23104 : : return res;
23105 : : break;
23106 : :
23107 : : case NE:
23108 : : case EQ:
23109 : : case GE:
23110 : : case GT:
23111 : : case LE:
23112 : : case LT:
23113 : : case LTGT:
23114 : : case GEU:
23115 : : case GTU:
23116 : : case LEU:
23117 : : case LTU:
23118 : : case UNORDERED:
23119 : : case ORDERED:
23120 : : case UNEQ:
23121 : : case UNGE:
23122 : : case UNGT:
23123 : : case UNLE:
23124 : : case UNLT:
23125 : : switch (GET_CODE (x3))
23126 : : {
23127 : : case NE:
23128 : : case EQ:
23129 : : if (GET_CODE (x3) == EQ)
23130 : : {
23131 : : res = recog_393 (x1, insn, pnum_clobbers);
23132 : : if (res >= 0)
23133 : : return res;
23134 : : }
23135 : : operands[1] = x3;
23136 : : switch (pattern545 (x1))
23137 : : {
23138 : : case 0:
23139 : : if ((
23140 : : #line 2376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23141 : : (TARGET_AVX512BW) &&
23142 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23143 : : (TARGET_AVX512DQ)))
23144 : : return 2643; /* *kortest_cmpqi_setcc */
23145 : : break;
23146 : :
23147 : : case 1:
23148 : : if (
23149 : : #line 2376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23150 : : (TARGET_AVX512BW))
23151 : : return 2644; /* *kortest_cmphi_setcc */
23152 : : break;
23153 : :
23154 : : case 2:
23155 : : if (
23156 : : #line 2376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23157 : : (TARGET_AVX512BW))
23158 : : return 2645; /* *kortest_cmpsi_setcc */
23159 : : break;
23160 : :
23161 : : case 3:
23162 : : if ((
23163 : : #line 2376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23164 : : (TARGET_AVX512BW) &&
23165 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23166 : : (TARGET_AVX512BW && TARGET_64BIT)))
23167 : : return 2646; /* *kortest_cmpdi_setcc */
23168 : : break;
23169 : :
23170 : : default:
23171 : : break;
23172 : : }
23173 : : break;
23174 : :
23175 : : case GT:
23176 : : if (pattern359 (x1) == 0
23177 : : &&
23178 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23179 : : (TARGET_3DNOW))
23180 : : return 2081; /* mmx_gtv2sf3 */
23181 : : break;
23182 : :
23183 : : case GE:
23184 : : if (pattern359 (x1) == 0
23185 : : &&
23186 : : #line 1248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23187 : : (TARGET_3DNOW))
23188 : : return 2082; /* mmx_gev2sf3 */
23189 : : break;
23190 : :
23191 : : default:
23192 : : break;
23193 : : }
23194 : : operands[1] = x3;
23195 : : switch (pattern360 (x1))
23196 : : {
23197 : : case 0:
23198 : : if (
23199 : : #line 19650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23200 : : (!TARGET_PARTIAL_REG_STALL
23201 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
23202 : : return 1452; /* *setcc_hi_1_and */
23203 : : break;
23204 : :
23205 : : case 1:
23206 : : if (
23207 : : #line 19650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23208 : : (!TARGET_PARTIAL_REG_STALL
23209 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
23210 : : return 1453; /* *setcc_si_1_and */
23211 : : break;
23212 : :
23213 : : default:
23214 : : break;
23215 : : }
23216 : : break;
23217 : :
23218 : : case MINUS:
23219 : : res = recog_396 (x1, insn, pnum_clobbers);
23220 : : if (res >= 0)
23221 : : return res;
23222 : : break;
23223 : :
23224 : : case IF_THEN_ELSE:
23225 : : res = recog_398 (x1, insn, pnum_clobbers);
23226 : : if (res >= 0)
23227 : : return res;
23228 : : break;
23229 : :
23230 : : case MULT:
23231 : : res = recog_399 (x1, insn, pnum_clobbers);
23232 : : if (res >= 0)
23233 : : return res;
23234 : : break;
23235 : :
23236 : : case DIV:
23237 : : if (pnum_clobbers != NULL)
23238 : : {
23239 : : switch (pattern210 (x1))
23240 : : {
23241 : : case 0:
23242 : : switch (GET_MODE (operands[0]))
23243 : : {
23244 : : case E_HImode:
23245 : : if (pattern380 (x1,
23246 : : E_HImode) == 0
23247 : : &&
23248 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23249 : : (TARGET_HIMODE_MATH))
23250 : : {
23251 : : *pnum_clobbers = 1;
23252 : : return 651; /* *divmodhi4 */
23253 : : }
23254 : : break;
23255 : :
23256 : : case E_SImode:
23257 : : if (pattern380 (x1,
23258 : : E_SImode) == 0)
23259 : : {
23260 : : *pnum_clobbers = 1;
23261 : : return 652; /* *divmodsi4 */
23262 : : }
23263 : : break;
23264 : :
23265 : : case E_DImode:
23266 : : if (pattern380 (x1,
23267 : : E_DImode) == 0
23268 : : &&
23269 : : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23270 : : (TARGET_64BIT))
23271 : : {
23272 : : *pnum_clobbers = 1;
23273 : : return 653; /* *divmoddi4 */
23274 : : }
23275 : : break;
23276 : :
23277 : : default:
23278 : : break;
23279 : : }
23280 : : break;
23281 : :
23282 : : case 1:
23283 : : if (const_int_operand (operands[2], E_SImode)
23284 : : && pattern1482 (x1) == 0
23285 : : &&
23286 : : #line 12070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23287 : : (!optimize_function_for_size_p (cfun)))
23288 : : {
23289 : : *pnum_clobbers = 1;
23290 : : return 681; /* *divmodsi4_const */
23291 : : }
23292 : : break;
23293 : :
23294 : : default:
23295 : : break;
23296 : : }
23297 : : }
23298 : : break;
23299 : :
23300 : : case UDIV:
23301 : : if (pnum_clobbers != NULL)
23302 : : {
23303 : : switch (pattern211 (x1))
23304 : : {
23305 : : case 0:
23306 : : switch (GET_MODE (operands[0]))
23307 : : {
23308 : : case E_HImode:
23309 : : if (pattern380 (x1,
23310 : : E_HImode) == 0
23311 : : &&
23312 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23313 : : (TARGET_HIMODE_MATH))
23314 : : {
23315 : : *pnum_clobbers = 1;
23316 : : return 654; /* *udivmodhi4 */
23317 : : }
23318 : : break;
23319 : :
23320 : : case E_SImode:
23321 : : if (pattern380 (x1,
23322 : : E_SImode) == 0)
23323 : : {
23324 : : *pnum_clobbers = 1;
23325 : : return 655; /* *udivmodsi4 */
23326 : : }
23327 : : break;
23328 : :
23329 : : case E_DImode:
23330 : : if (pattern380 (x1,
23331 : : E_DImode) == 0
23332 : : &&
23333 : : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23334 : : (TARGET_64BIT))
23335 : : {
23336 : : *pnum_clobbers = 1;
23337 : : return 656; /* *udivmoddi4 */
23338 : : }
23339 : : break;
23340 : :
23341 : : default:
23342 : : break;
23343 : : }
23344 : : break;
23345 : :
23346 : : case 1:
23347 : : switch (GET_MODE (operands[0]))
23348 : : {
23349 : : case E_SImode:
23350 : : if (pattern1483 (x1,
23351 : : E_SImode) == 0
23352 : : &&
23353 : : #line 11823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23354 : : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
23355 : : {
23356 : : *pnum_clobbers = 1;
23357 : : return 657; /* *udivmodsi4_pow2 */
23358 : : }
23359 : : break;
23360 : :
23361 : : case E_DImode:
23362 : : if (pattern1483 (x1,
23363 : : E_DImode) == 0
23364 : : && (
23365 : : #line 11823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23366 : : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)) &&
23367 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23368 : : (TARGET_64BIT)))
23369 : : {
23370 : : *pnum_clobbers = 1;
23371 : : return 658; /* *udivmoddi4_pow2 */
23372 : : }
23373 : : break;
23374 : :
23375 : : default:
23376 : : break;
23377 : : }
23378 : : break;
23379 : :
23380 : : default:
23381 : : break;
23382 : : }
23383 : : }
23384 : : break;
23385 : :
23386 : : case IOR:
23387 : : res = recog_402 (x1, insn, pnum_clobbers);
23388 : : if (res >= 0)
23389 : : return res;
23390 : : break;
23391 : :
23392 : : case AND:
23393 : : res = recog_405 (x1, insn, pnum_clobbers);
23394 : : if (res >= 0)
23395 : : return res;
23396 : : break;
23397 : :
23398 : : case XOR:
23399 : : res = recog_407 (x1, insn, pnum_clobbers);
23400 : : if (res >= 0)
23401 : : return res;
23402 : : break;
23403 : :
23404 : : case NOT:
23405 : : res = recog_408 (x1, insn, pnum_clobbers);
23406 : : if (res >= 0)
23407 : : return res;
23408 : : break;
23409 : :
23410 : : case NEG:
23411 : : res = recog_409 (x1, insn, pnum_clobbers);
23412 : : if (res >= 0)
23413 : : return res;
23414 : : break;
23415 : :
23416 : : case ABS:
23417 : : res = recog_410 (x1, insn, pnum_clobbers);
23418 : : if (res >= 0)
23419 : : return res;
23420 : : break;
23421 : :
23422 : : case ASHIFT:
23423 : : res = recog_411 (x1, insn, pnum_clobbers);
23424 : : if (res >= 0)
23425 : : return res;
23426 : : break;
23427 : :
23428 : : case ROTATE:
23429 : : switch (pattern201 (x1))
23430 : : {
23431 : : case 0:
23432 : : x4 = XEXP (x3, 1);
23433 : : if (GET_CODE (x4) == SUBREG)
23434 : : {
23435 : : switch (pattern1156 (x2))
23436 : : {
23437 : : case 0:
23438 : : if (
23439 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23440 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23441 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
23442 : : == GET_MODE_BITSIZE (QImode)-1
23443 : : && ix86_pre_reload_split ()))
23444 : : return 1288; /* *rotlqi3_mask */
23445 : : break;
23446 : :
23447 : : case 1:
23448 : : if (
23449 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23450 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23451 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
23452 : : == GET_MODE_BITSIZE (HImode)-1
23453 : : && ix86_pre_reload_split ()))
23454 : : return 1290; /* *rotlhi3_mask */
23455 : : break;
23456 : :
23457 : : case 2:
23458 : : if (
23459 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23460 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23461 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23462 : : == GET_MODE_BITSIZE (SImode)-1
23463 : : && ix86_pre_reload_split ()))
23464 : : return 1292; /* *rotlsi3_mask */
23465 : : break;
23466 : :
23467 : : case 3:
23468 : : if ((
23469 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23470 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23471 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23472 : : == GET_MODE_BITSIZE (DImode)-1
23473 : : && ix86_pre_reload_split ()) &&
23474 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23475 : : (TARGET_64BIT)))
23476 : : return 1294; /* *rotldi3_mask */
23477 : : break;
23478 : :
23479 : : case 4:
23480 : : if (
23481 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23482 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23483 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23484 : : && ix86_pre_reload_split ()))
23485 : : return 1304; /* *rotlqi3_add */
23486 : : break;
23487 : :
23488 : : case 5:
23489 : : if (
23490 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23491 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23492 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23493 : : && ix86_pre_reload_split ()))
23494 : : return 1306; /* *rotlhi3_add */
23495 : : break;
23496 : :
23497 : : case 6:
23498 : : if (
23499 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23500 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23501 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23502 : : && ix86_pre_reload_split ()))
23503 : : return 1308; /* *rotlsi3_add */
23504 : : break;
23505 : :
23506 : : case 7:
23507 : : if ((
23508 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23509 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23510 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23511 : : && ix86_pre_reload_split ()) &&
23512 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23513 : : (TARGET_64BIT)))
23514 : : return 1310; /* *rotldi3_add */
23515 : : break;
23516 : :
23517 : : case 8:
23518 : : if (
23519 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23520 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23521 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23522 : : && ix86_pre_reload_split ()))
23523 : : return 1320; /* *rotlqi3_sub */
23524 : : break;
23525 : :
23526 : : case 9:
23527 : : if (
23528 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23529 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23530 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23531 : : && ix86_pre_reload_split ()))
23532 : : return 1322; /* *rotlhi3_sub */
23533 : : break;
23534 : :
23535 : : case 10:
23536 : : if (
23537 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23538 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23539 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23540 : : && ix86_pre_reload_split ()))
23541 : : return 1324; /* *rotlsi3_sub */
23542 : : break;
23543 : :
23544 : : case 11:
23545 : : if ((
23546 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23547 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23548 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23549 : : && ix86_pre_reload_split ()) &&
23550 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23551 : : (TARGET_64BIT)))
23552 : : return 1326; /* *rotldi3_sub */
23553 : : break;
23554 : :
23555 : : default:
23556 : : break;
23557 : : }
23558 : : }
23559 : : operands[2] = x4;
23560 : : switch (pattern1157 (x2))
23561 : : {
23562 : : case 0:
23563 : : if (
23564 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23565 : : (ix86_binary_operator_ok (ROTATE, SImode, operands, TARGET_APX_NDD)
23566 : : && true))
23567 : : return 1347; /* *rotlsi3_1 */
23568 : : break;
23569 : :
23570 : : case 1:
23571 : : if ((
23572 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23573 : : (ix86_binary_operator_ok (ROTATE, DImode, operands, TARGET_APX_NDD)
23574 : : && true) &&
23575 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23576 : : (TARGET_64BIT)))
23577 : : return 1351; /* *rotldi3_1 */
23578 : : break;
23579 : :
23580 : : case 2:
23581 : : if (
23582 : : #line 18812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23583 : : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
23584 : : && true))
23585 : : return 1378; /* *rotlqi3_1 */
23586 : : break;
23587 : :
23588 : : case 3:
23589 : : if (
23590 : : #line 18812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23591 : : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
23592 : : && true))
23593 : : return 1382; /* *rotlhi3_1 */
23594 : : break;
23595 : :
23596 : : case 4:
23597 : : if (
23598 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23599 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23600 : : return 1385; /* *rotlqi3_1_slp */
23601 : : break;
23602 : :
23603 : : case 5:
23604 : : if (
23605 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23606 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23607 : : return 1387; /* *rotlhi3_1_slp */
23608 : : break;
23609 : :
23610 : : default:
23611 : : break;
23612 : : }
23613 : : break;
23614 : :
23615 : : case 1:
23616 : : if (
23617 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23618 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23619 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
23620 : : == GET_MODE_BITSIZE (QImode)-1
23621 : : && ix86_pre_reload_split ()))
23622 : : return 1296; /* *rotlqi3_mask_1 */
23623 : : break;
23624 : :
23625 : : case 2:
23626 : : if (
23627 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23628 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23629 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
23630 : : == GET_MODE_BITSIZE (HImode)-1
23631 : : && ix86_pre_reload_split ()))
23632 : : return 1298; /* *rotlhi3_mask_1 */
23633 : : break;
23634 : :
23635 : : case 3:
23636 : : if (
23637 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23638 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23639 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23640 : : == GET_MODE_BITSIZE (SImode)-1
23641 : : && ix86_pre_reload_split ()))
23642 : : return 1300; /* *rotlsi3_mask_1 */
23643 : : break;
23644 : :
23645 : : case 4:
23646 : : if ((
23647 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23648 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23649 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23650 : : == GET_MODE_BITSIZE (DImode)-1
23651 : : && ix86_pre_reload_split ()) &&
23652 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23653 : : (TARGET_64BIT)))
23654 : : return 1302; /* *rotldi3_mask_1 */
23655 : : break;
23656 : :
23657 : : case 5:
23658 : : if (
23659 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23660 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23661 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23662 : : && ix86_pre_reload_split ()))
23663 : : return 1312; /* *rotlqi3_add_1 */
23664 : : break;
23665 : :
23666 : : case 6:
23667 : : if (
23668 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23669 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23670 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23671 : : && ix86_pre_reload_split ()))
23672 : : return 1314; /* *rotlhi3_add_1 */
23673 : : break;
23674 : :
23675 : : case 7:
23676 : : if (
23677 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23678 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23679 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23680 : : && ix86_pre_reload_split ()))
23681 : : return 1316; /* *rotlsi3_add_1 */
23682 : : break;
23683 : :
23684 : : case 8:
23685 : : if ((
23686 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23687 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23688 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23689 : : && ix86_pre_reload_split ()) &&
23690 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23691 : : (TARGET_64BIT)))
23692 : : return 1318; /* *rotldi3_add_1 */
23693 : : break;
23694 : :
23695 : : case 9:
23696 : : if (
23697 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23698 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
23699 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23700 : : && ix86_pre_reload_split ()))
23701 : : return 1328; /* *rotlqi3_sub_1 */
23702 : : break;
23703 : :
23704 : : case 10:
23705 : : if (
23706 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23707 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
23708 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23709 : : && ix86_pre_reload_split ()))
23710 : : return 1330; /* *rotlhi3_sub_1 */
23711 : : break;
23712 : :
23713 : : case 11:
23714 : : if (
23715 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23716 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
23717 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23718 : : && ix86_pre_reload_split ()))
23719 : : return 1332; /* *rotlsi3_sub_1 */
23720 : : break;
23721 : :
23722 : : case 12:
23723 : : if ((
23724 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23725 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
23726 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23727 : : && ix86_pre_reload_split ()) &&
23728 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23729 : : (TARGET_64BIT)))
23730 : : return 1334; /* *rotldi3_sub_1 */
23731 : : break;
23732 : :
23733 : : default:
23734 : : break;
23735 : : }
23736 : : break;
23737 : :
23738 : : case ROTATERT:
23739 : : switch (pattern201 (x1))
23740 : : {
23741 : : case 0:
23742 : : x4 = XEXP (x3, 1);
23743 : : if (GET_CODE (x4) == SUBREG)
23744 : : {
23745 : : switch (pattern1156 (x2))
23746 : : {
23747 : : case 0:
23748 : : if (
23749 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23750 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
23751 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
23752 : : == GET_MODE_BITSIZE (QImode)-1
23753 : : && ix86_pre_reload_split ()))
23754 : : return 1289; /* *rotrqi3_mask */
23755 : : break;
23756 : :
23757 : : case 1:
23758 : : if (
23759 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23760 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
23761 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
23762 : : == GET_MODE_BITSIZE (HImode)-1
23763 : : && ix86_pre_reload_split ()))
23764 : : return 1291; /* *rotrhi3_mask */
23765 : : break;
23766 : :
23767 : : case 2:
23768 : : if (
23769 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23770 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
23771 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23772 : : == GET_MODE_BITSIZE (SImode)-1
23773 : : && ix86_pre_reload_split ()))
23774 : : return 1293; /* *rotrsi3_mask */
23775 : : break;
23776 : :
23777 : : case 3:
23778 : : if ((
23779 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23780 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
23781 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23782 : : == GET_MODE_BITSIZE (DImode)-1
23783 : : && ix86_pre_reload_split ()) &&
23784 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23785 : : (TARGET_64BIT)))
23786 : : return 1295; /* *rotrdi3_mask */
23787 : : break;
23788 : :
23789 : : case 4:
23790 : : if (
23791 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23792 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
23793 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23794 : : && ix86_pre_reload_split ()))
23795 : : return 1305; /* *rotrqi3_add */
23796 : : break;
23797 : :
23798 : : case 5:
23799 : : if (
23800 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23801 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
23802 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23803 : : && ix86_pre_reload_split ()))
23804 : : return 1307; /* *rotrhi3_add */
23805 : : break;
23806 : :
23807 : : case 6:
23808 : : if (
23809 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23810 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
23811 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23812 : : && ix86_pre_reload_split ()))
23813 : : return 1309; /* *rotrsi3_add */
23814 : : break;
23815 : :
23816 : : case 7:
23817 : : if ((
23818 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23819 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
23820 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23821 : : && ix86_pre_reload_split ()) &&
23822 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23823 : : (TARGET_64BIT)))
23824 : : return 1311; /* *rotrdi3_add */
23825 : : break;
23826 : :
23827 : : case 8:
23828 : : if (
23829 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23830 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
23831 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23832 : : && ix86_pre_reload_split ()))
23833 : : return 1321; /* *rotrqi3_sub */
23834 : : break;
23835 : :
23836 : : case 9:
23837 : : if (
23838 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23839 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
23840 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23841 : : && ix86_pre_reload_split ()))
23842 : : return 1323; /* *rotrhi3_sub */
23843 : : break;
23844 : :
23845 : : case 10:
23846 : : if (
23847 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23848 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
23849 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23850 : : && ix86_pre_reload_split ()))
23851 : : return 1325; /* *rotrsi3_sub */
23852 : : break;
23853 : :
23854 : : case 11:
23855 : : if ((
23856 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23857 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
23858 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23859 : : && ix86_pre_reload_split ()) &&
23860 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23861 : : (TARGET_64BIT)))
23862 : : return 1327; /* *rotrdi3_sub */
23863 : : break;
23864 : :
23865 : : default:
23866 : : break;
23867 : : }
23868 : : }
23869 : : operands[2] = x4;
23870 : : switch (pattern1157 (x2))
23871 : : {
23872 : : case 0:
23873 : : if (
23874 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23875 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
23876 : : && true))
23877 : : return 1349; /* *rotrsi3_1 */
23878 : : break;
23879 : :
23880 : : case 1:
23881 : : if ((
23882 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23883 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
23884 : : && true) &&
23885 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23886 : : (TARGET_64BIT)))
23887 : : return 1353; /* *rotrdi3_1 */
23888 : : break;
23889 : :
23890 : : case 2:
23891 : : if (
23892 : : #line 18812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23893 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands, TARGET_APX_NDD)
23894 : : && true))
23895 : : return 1380; /* *rotrqi3_1 */
23896 : : break;
23897 : :
23898 : : case 3:
23899 : : if (
23900 : : #line 18812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23901 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands, TARGET_APX_NDD)
23902 : : && true))
23903 : : return 1384; /* *rotrhi3_1 */
23904 : : break;
23905 : :
23906 : : case 4:
23907 : : if (
23908 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23909 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23910 : : return 1386; /* *rotrqi3_1_slp */
23911 : : break;
23912 : :
23913 : : case 5:
23914 : : if (
23915 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23916 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23917 : : return 1388; /* *rotrhi3_1_slp */
23918 : : break;
23919 : :
23920 : : default:
23921 : : break;
23922 : : }
23923 : : break;
23924 : :
23925 : : case 1:
23926 : : if (
23927 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23928 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
23929 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
23930 : : == GET_MODE_BITSIZE (QImode)-1
23931 : : && ix86_pre_reload_split ()))
23932 : : return 1297; /* *rotrqi3_mask_1 */
23933 : : break;
23934 : :
23935 : : case 2:
23936 : : if (
23937 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23938 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
23939 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
23940 : : == GET_MODE_BITSIZE (HImode)-1
23941 : : && ix86_pre_reload_split ()))
23942 : : return 1299; /* *rotrhi3_mask_1 */
23943 : : break;
23944 : :
23945 : : case 3:
23946 : : if (
23947 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23948 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
23949 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23950 : : == GET_MODE_BITSIZE (SImode)-1
23951 : : && ix86_pre_reload_split ()))
23952 : : return 1301; /* *rotrsi3_mask_1 */
23953 : : break;
23954 : :
23955 : : case 4:
23956 : : if ((
23957 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23958 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
23959 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23960 : : == GET_MODE_BITSIZE (DImode)-1
23961 : : && ix86_pre_reload_split ()) &&
23962 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23963 : : (TARGET_64BIT)))
23964 : : return 1303; /* *rotrdi3_mask_1 */
23965 : : break;
23966 : :
23967 : : case 5:
23968 : : if (
23969 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23970 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
23971 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
23972 : : && ix86_pre_reload_split ()))
23973 : : return 1313; /* *rotrqi3_add_1 */
23974 : : break;
23975 : :
23976 : : case 6:
23977 : : if (
23978 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23979 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
23980 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
23981 : : && ix86_pre_reload_split ()))
23982 : : return 1315; /* *rotrhi3_add_1 */
23983 : : break;
23984 : :
23985 : : case 7:
23986 : : if (
23987 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23988 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
23989 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23990 : : && ix86_pre_reload_split ()))
23991 : : return 1317; /* *rotrsi3_add_1 */
23992 : : break;
23993 : :
23994 : : case 8:
23995 : : if ((
23996 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23997 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
23998 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23999 : : && ix86_pre_reload_split ()) &&
24000 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24001 : : (TARGET_64BIT)))
24002 : : return 1319; /* *rotrdi3_add_1 */
24003 : : break;
24004 : :
24005 : : case 9:
24006 : : if (
24007 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24008 : : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
24009 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
24010 : : && ix86_pre_reload_split ()))
24011 : : return 1329; /* *rotrqi3_sub_1 */
24012 : : break;
24013 : :
24014 : : case 10:
24015 : : if (
24016 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24017 : : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
24018 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
24019 : : && ix86_pre_reload_split ()))
24020 : : return 1331; /* *rotrhi3_sub_1 */
24021 : : break;
24022 : :
24023 : : case 11:
24024 : : if (
24025 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24026 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
24027 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24028 : : && ix86_pre_reload_split ()))
24029 : : return 1333; /* *rotrsi3_sub_1 */
24030 : : break;
24031 : :
24032 : : case 12:
24033 : : if ((
24034 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24035 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
24036 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24037 : : && ix86_pre_reload_split ()) &&
24038 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24039 : : (TARGET_64BIT)))
24040 : : return 1335; /* *rotrdi3_sub_1 */
24041 : : break;
24042 : :
24043 : : default:
24044 : : break;
24045 : : }
24046 : : break;
24047 : :
24048 : : case CALL:
24049 : : res = recog_412 (x1, insn, pnum_clobbers);
24050 : : if (res >= 0)
24051 : : return res;
24052 : : break;
24053 : :
24054 : : case CTZ:
24055 : : res = recog_413 (x1, insn, pnum_clobbers);
24056 : : if (res >= 0)
24057 : : return res;
24058 : : break;
24059 : :
24060 : : case SIGN_EXTEND:
24061 : : res = recog_414 (x1, insn, pnum_clobbers);
24062 : : if (res >= 0)
24063 : : return res;
24064 : : break;
24065 : :
24066 : : case CLZ:
24067 : : res = recog_415 (x1, insn, pnum_clobbers);
24068 : : if (res >= 0)
24069 : : return res;
24070 : : break;
24071 : :
24072 : : case POPCOUNT:
24073 : : res = recog_416 (x1, insn, pnum_clobbers);
24074 : : if (res >= 0)
24075 : : return res;
24076 : : break;
24077 : :
24078 : : case SMAX:
24079 : : switch (pattern205 (x1))
24080 : : {
24081 : : case 0:
24082 : : if ((
24083 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24084 : : (TARGET_CMOVE
24085 : : && ix86_pre_reload_split ()) &&
24086 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24087 : : (!TARGET_64BIT)))
24088 : : return 1837; /* *smaxdi3_doubleword */
24089 : : if ((
24090 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24091 : : (TARGET_CMOVE
24092 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24093 : : && ix86_pre_reload_split ()) &&
24094 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24095 : : (TARGET_64BIT)))
24096 : : return 1857; /* *smaxdi3_1 */
24097 : : break;
24098 : :
24099 : : case 1:
24100 : : if ((
24101 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24102 : : (TARGET_CMOVE
24103 : : && ix86_pre_reload_split ()) &&
24104 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24105 : : (TARGET_64BIT)))
24106 : : return 1841; /* *smaxti3_doubleword */
24107 : : break;
24108 : :
24109 : : case 2:
24110 : : if (
24111 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24112 : : (TARGET_CMOVE
24113 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24114 : : && ix86_pre_reload_split ()))
24115 : : return 1845; /* *smaxqi3_1 */
24116 : : break;
24117 : :
24118 : : case 3:
24119 : : if (
24120 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24121 : : (TARGET_CMOVE
24122 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24123 : : && ix86_pre_reload_split ()))
24124 : : return 1849; /* *smaxhi3_1 */
24125 : : break;
24126 : :
24127 : : case 4:
24128 : : if (
24129 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24130 : : (TARGET_CMOVE
24131 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24132 : : && ix86_pre_reload_split ()))
24133 : : return 1853; /* *smaxsi3_1 */
24134 : : break;
24135 : :
24136 : : case 5:
24137 : : if (
24138 : : #line 894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24139 : : (TARGET_3DNOW && ix86_binary_operator_ok (SMAX, V2SFmode, operands)))
24140 : : return 2066; /* *mmx_smaxv2sf3 */
24141 : : break;
24142 : :
24143 : : default:
24144 : : break;
24145 : : }
24146 : : break;
24147 : :
24148 : : case SMIN:
24149 : : switch (pattern205 (x1))
24150 : : {
24151 : : case 0:
24152 : : if ((
24153 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24154 : : (TARGET_CMOVE
24155 : : && ix86_pre_reload_split ()) &&
24156 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24157 : : (!TARGET_64BIT)))
24158 : : return 1838; /* *smindi3_doubleword */
24159 : : if ((
24160 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24161 : : (TARGET_CMOVE
24162 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24163 : : && ix86_pre_reload_split ()) &&
24164 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24165 : : (TARGET_64BIT)))
24166 : : return 1858; /* *smindi3_1 */
24167 : : break;
24168 : :
24169 : : case 1:
24170 : : if ((
24171 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24172 : : (TARGET_CMOVE
24173 : : && ix86_pre_reload_split ()) &&
24174 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24175 : : (TARGET_64BIT)))
24176 : : return 1842; /* *sminti3_doubleword */
24177 : : break;
24178 : :
24179 : : case 2:
24180 : : if (
24181 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24182 : : (TARGET_CMOVE
24183 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24184 : : && ix86_pre_reload_split ()))
24185 : : return 1846; /* *sminqi3_1 */
24186 : : break;
24187 : :
24188 : : case 3:
24189 : : if (
24190 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24191 : : (TARGET_CMOVE
24192 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24193 : : && ix86_pre_reload_split ()))
24194 : : return 1850; /* *sminhi3_1 */
24195 : : break;
24196 : :
24197 : : case 4:
24198 : : if (
24199 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24200 : : (TARGET_CMOVE
24201 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24202 : : && ix86_pre_reload_split ()))
24203 : : return 1854; /* *sminsi3_1 */
24204 : : break;
24205 : :
24206 : : case 5:
24207 : : if (
24208 : : #line 894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24209 : : (TARGET_3DNOW && ix86_binary_operator_ok (SMIN, V2SFmode, operands)))
24210 : : return 2067; /* *mmx_sminv2sf3 */
24211 : : break;
24212 : :
24213 : : default:
24214 : : break;
24215 : : }
24216 : : break;
24217 : :
24218 : : case UMAX:
24219 : : switch (pattern206 (x1))
24220 : : {
24221 : : case 0:
24222 : : if ((
24223 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24224 : : (TARGET_CMOVE
24225 : : && ix86_pre_reload_split ()) &&
24226 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24227 : : (!TARGET_64BIT)))
24228 : : return 1839; /* *umaxdi3_doubleword */
24229 : : if ((
24230 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24231 : : (TARGET_CMOVE
24232 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24233 : : && ix86_pre_reload_split ()) &&
24234 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24235 : : (TARGET_64BIT)))
24236 : : return 1859; /* *umaxdi3_1 */
24237 : : break;
24238 : :
24239 : : case 1:
24240 : : if ((
24241 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24242 : : (TARGET_CMOVE
24243 : : && ix86_pre_reload_split ()) &&
24244 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24245 : : (TARGET_64BIT)))
24246 : : return 1843; /* *umaxti3_doubleword */
24247 : : break;
24248 : :
24249 : : case 2:
24250 : : if (
24251 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24252 : : (TARGET_CMOVE
24253 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24254 : : && ix86_pre_reload_split ()))
24255 : : return 1847; /* *umaxqi3_1 */
24256 : : break;
24257 : :
24258 : : case 3:
24259 : : if (
24260 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24261 : : (TARGET_CMOVE
24262 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24263 : : && ix86_pre_reload_split ()))
24264 : : return 1851; /* *umaxhi3_1 */
24265 : : break;
24266 : :
24267 : : case 4:
24268 : : if (
24269 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24270 : : (TARGET_CMOVE
24271 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24272 : : && ix86_pre_reload_split ()))
24273 : : return 1855; /* *umaxsi3_1 */
24274 : : break;
24275 : :
24276 : : default:
24277 : : break;
24278 : : }
24279 : : break;
24280 : :
24281 : : case UMIN:
24282 : : switch (pattern206 (x1))
24283 : : {
24284 : : case 0:
24285 : : if ((
24286 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24287 : : (TARGET_CMOVE
24288 : : && ix86_pre_reload_split ()) &&
24289 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24290 : : (!TARGET_64BIT)))
24291 : : return 1840; /* *umindi3_doubleword */
24292 : : if ((
24293 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24294 : : (TARGET_CMOVE
24295 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24296 : : && ix86_pre_reload_split ()) &&
24297 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24298 : : (TARGET_64BIT)))
24299 : : return 1860; /* *umindi3_1 */
24300 : : break;
24301 : :
24302 : : case 1:
24303 : : if ((
24304 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24305 : : (TARGET_CMOVE
24306 : : && ix86_pre_reload_split ()) &&
24307 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24308 : : (TARGET_64BIT)))
24309 : : return 1844; /* *uminti3_doubleword */
24310 : : break;
24311 : :
24312 : : case 2:
24313 : : if (
24314 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24315 : : (TARGET_CMOVE
24316 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24317 : : && ix86_pre_reload_split ()))
24318 : : return 1848; /* *uminqi3_1 */
24319 : : break;
24320 : :
24321 : : case 3:
24322 : : if (
24323 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24324 : : (TARGET_CMOVE
24325 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24326 : : && ix86_pre_reload_split ()))
24327 : : return 1852; /* *uminhi3_1 */
24328 : : break;
24329 : :
24330 : : case 4:
24331 : : if (
24332 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24333 : : (TARGET_CMOVE
24334 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24335 : : && ix86_pre_reload_split ()))
24336 : : return 1856; /* *uminsi3_1 */
24337 : : break;
24338 : :
24339 : : default:
24340 : : break;
24341 : : }
24342 : : break;
24343 : :
24344 : : case UNSPEC_VOLATILE:
24345 : : res = recog_417 (x1, insn, pnum_clobbers);
24346 : : if (res >= 0)
24347 : : return res;
24348 : : break;
24349 : :
24350 : : case VEC_MERGE:
24351 : : if (pattern207 (x1) == 0
24352 : : &&
24353 : : #line 8393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24354 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE))
24355 : : return 4741; /* sse_cvtpi2ps */
24356 : : break;
24357 : :
24358 : : case VEC_CONCAT:
24359 : : res = recog_418 (x1, insn, pnum_clobbers);
24360 : : if (res >= 0)
24361 : : return res;
24362 : : break;
24363 : :
24364 : : case VEC_DUPLICATE:
24365 : : res = recog_419 (x1, insn, pnum_clobbers);
24366 : : if (res >= 0)
24367 : : return res;
24368 : : break;
24369 : :
24370 : : case VEC_SELECT:
24371 : : res = recog_420 (x1, insn, pnum_clobbers);
24372 : : if (res >= 0)
24373 : : return res;
24374 : : break;
24375 : :
24376 : : default:
24377 : : break;
24378 : : }
24379 : : x5 = XVECEXP (x1, 0, 1);
24380 : : if (GET_CODE (x5) != UNSPEC
24381 : : || XVECLEN (x5, 0) != 1
24382 : : || XINT (x5, 1) != 39)
24383 : : return -1;
24384 : : return recog_421 (x1, insn, pnum_clobbers);
24385 : :
24386 : : case CALL:
24387 : : x6 = XEXP (x2, 0);
24388 : : if (GET_CODE (x6) != MEM
24389 : : || GET_MODE (x6) != E_QImode)
24390 : : return -1;
24391 : : x7 = XEXP (x6, 0);
24392 : : operands[0] = x7;
24393 : : x3 = XEXP (x2, 1);
24394 : : operands[1] = x3;
24395 : : x5 = XVECEXP (x1, 0, 1);
24396 : : switch (pattern693 (x5))
24397 : : {
24398 : : case 0:
24399 : : switch (GET_MODE (operands[0]))
24400 : : {
24401 : : case E_SImode:
24402 : : if (memory_operand (operands[0], E_SImode)
24403 : : && (
24404 : : #line 20325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24405 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER) &&
24406 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24407 : : (word_mode == SImode)))
24408 : : return 1474; /* *sibcall_memory */
24409 : : break;
24410 : :
24411 : : case E_DImode:
24412 : : if (memory_operand (operands[0], E_DImode)
24413 : : && (
24414 : : #line 20325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24415 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER) &&
24416 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24417 : : (word_mode == DImode)))
24418 : : return 1475; /* *sibcall_memory */
24419 : : break;
24420 : :
24421 : : default:
24422 : : break;
24423 : : }
24424 : : break;
24425 : :
24426 : : case 1:
24427 : : x8 = XEXP (x5, 1);
24428 : : x9 = XEXP (x8, 1);
24429 : : operands[2] = x9;
24430 : : if (immediate_operand (operands[2], E_SImode))
24431 : : {
24432 : : if (call_insn_operand (operands[0], E_SImode)
24433 : : &&
24434 : : #line 20376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24435 : : (!TARGET_64BIT && !SIBLING_CALL_P (insn)))
24436 : : return 1476; /* *call_pop */
24437 : : if (sibcall_insn_operand (operands[0], E_SImode)
24438 : : &&
24439 : : #line 20386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24440 : : (!TARGET_64BIT && SIBLING_CALL_P (insn)))
24441 : : return 1477; /* *sibcall_pop */
24442 : : }
24443 : : break;
24444 : :
24445 : : default:
24446 : : break;
24447 : : }
24448 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24449 : : || x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24450 : : || pattern373 (x5,
24451 : : 105,
24452 : : 1) != 0
24453 : : || !
24454 : : #line 27385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24455 : : (TARGET_AVX))
24456 : : return -1;
24457 : : return 9042; /* avx_vzeroupper_callee_abi */
24458 : :
24459 : : case SIMPLE_RETURN:
24460 : : x5 = XVECEXP (x1, 0, 1);
24461 : : switch (GET_CODE (x5))
24462 : : {
24463 : : case UNSPEC:
24464 : : if (XVECLEN (x5, 0) != 1)
24465 : : return -1;
24466 : : x10 = XVECEXP (x5, 0, 0);
24467 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24468 : : return -1;
24469 : : switch (XINT (x5, 1))
24470 : : {
24471 : : case 102:
24472 : : if (!
24473 : : #line 20788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24474 : : (reload_completed))
24475 : : return -1;
24476 : : return 1494; /* interrupt_return */
24477 : :
24478 : : case 30:
24479 : : if (!
24480 : : #line 20799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24481 : : (reload_completed))
24482 : : return -1;
24483 : : return 1495; /* simple_return_internal_long */
24484 : :
24485 : : default:
24486 : : return -1;
24487 : : }
24488 : :
24489 : : case USE:
24490 : : x11 = XEXP (x5, 0);
24491 : : operands[0] = x11;
24492 : : switch (GET_CODE (operands[0]))
24493 : : {
24494 : : case CONST_INT:
24495 : : if (!const_int_operand (operands[0], E_SImode)
24496 : : || !
24497 : : #line 20810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24498 : : (reload_completed))
24499 : : return -1;
24500 : : return 1496; /* simple_return_pop_internal */
24501 : :
24502 : : case REG:
24503 : : case SUBREG:
24504 : : switch (GET_MODE (operands[0]))
24505 : : {
24506 : : case E_SImode:
24507 : : if (!register_operand (operands[0], E_SImode)
24508 : : || !(
24509 : : #line 20828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24510 : : (reload_completed) &&
24511 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24512 : : (word_mode == SImode)))
24513 : : return -1;
24514 : : return 1497; /* *simple_return_indirect_internalsi */
24515 : :
24516 : : case E_DImode:
24517 : : if (!register_operand (operands[0], E_DImode)
24518 : : || !(
24519 : : #line 20828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24520 : : (reload_completed) &&
24521 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24522 : : (word_mode == DImode)))
24523 : : return -1;
24524 : : return 1498; /* *simple_return_indirect_internaldi */
24525 : :
24526 : : default:
24527 : : return -1;
24528 : : }
24529 : :
24530 : : default:
24531 : : return -1;
24532 : : }
24533 : :
24534 : : default:
24535 : : return -1;
24536 : : }
24537 : :
24538 : : case UNSPEC_VOLATILE:
24539 : : if (XVECLEN (x2, 0) != 4
24540 : : || XINT (x2, 1) != 98
24541 : : || GET_MODE (x2) != E_V2DImode)
24542 : : return -1;
24543 : : x5 = XVECEXP (x1, 0, 1);
24544 : : if (pattern222 (x5,
24545 : : E_CCmode,
24546 : : 17) != 0)
24547 : : return -1;
24548 : : x12 = XVECEXP (x2, 0, 0);
24549 : : operands[0] = x12;
24550 : : if (!register_operand (operands[0], E_V2DImode))
24551 : : return -1;
24552 : : x13 = XVECEXP (x2, 0, 1);
24553 : : operands[1] = x13;
24554 : : if (!register_operand (operands[1], E_V2DImode))
24555 : : return -1;
24556 : : x14 = XVECEXP (x2, 0, 2);
24557 : : operands[2] = x14;
24558 : : if (!register_operand (operands[2], E_V2DImode))
24559 : : return -1;
24560 : : x15 = XVECEXP (x2, 0, 3);
24561 : : operands[3] = x15;
24562 : : if (!register_operand (operands[3], E_SImode)
24563 : : || !
24564 : : #line 31350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24565 : : (TARGET_KL))
24566 : : return -1;
24567 : : return 10312; /* loadiwkey */
24568 : :
24569 : : default:
24570 : : return -1;
24571 : : }
24572 : : }
24573 : :
24574 : : rtx_insn *
24575 : : split_28 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24576 : : {
24577 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24578 : : rtx x2, x3, x4, x5, x6, x7;
24579 : : rtx_insn *res ATTRIBUTE_UNUSED;
24580 : : x2 = XVECEXP (x1, 0, 0);
24581 : : x3 = XEXP (x2, 1);
24582 : : if (maybe_ne (SUBREG_BYTE (x3), 0))
24583 : : return NULL;
24584 : : x4 = XVECEXP (x1, 0, 1);
24585 : : if (pattern222 (x4,
24586 : : E_CCmode,
24587 : : 17) != 0)
24588 : : return NULL;
24589 : : switch (pattern1026 (x2))
24590 : : {
24591 : : case 0:
24592 : : x5 = XEXP (x3, 0);
24593 : : x6 = XEXP (x5, 1);
24594 : : operands[2] = x6;
24595 : : if (general_operand (operands[2], E_QImode))
24596 : : {
24597 : : switch (pattern1024 (x2))
24598 : : {
24599 : : case 0:
24600 : : if (
24601 : : #line 7544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24602 : : (reload_completed
24603 : : && !rtx_equal_p (operands[0], operands[1])))
24604 : : return gen_split_143 (insn, operands);
24605 : : break;
24606 : :
24607 : : case 1:
24608 : : if (
24609 : : #line 7544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24610 : : (reload_completed
24611 : : && !rtx_equal_p (operands[0], operands[1])))
24612 : : return gen_split_144 (insn, operands);
24613 : : break;
24614 : :
24615 : : case 2:
24616 : : if ((
24617 : : #line 7544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24618 : : (reload_completed
24619 : : && !rtx_equal_p (operands[0], operands[1])) &&
24620 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24621 : : (TARGET_64BIT)))
24622 : : return gen_split_145 (insn, operands);
24623 : : break;
24624 : :
24625 : : default:
24626 : : break;
24627 : : }
24628 : : }
24629 : : if (GET_CODE (x6) != SUBREG)
24630 : : return NULL;
24631 : : switch (pattern1784 (x2))
24632 : : {
24633 : : case 0:
24634 : : if (!
24635 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24636 : : (reload_completed
24637 : : && !(rtx_equal_p (operands[0], operands[1])
24638 : : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24639 : : return NULL;
24640 : : return gen_split_146 (insn, operands);
24641 : :
24642 : : case 1:
24643 : : if (!
24644 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24645 : : (reload_completed
24646 : : && !(rtx_equal_p (operands[0], operands[1])
24647 : : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24648 : : return NULL;
24649 : : return gen_split_148 (insn, operands);
24650 : :
24651 : : case 2:
24652 : : if (!(
24653 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24654 : : (reload_completed
24655 : : && !(rtx_equal_p (operands[0], operands[1])
24656 : : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
24657 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24658 : : (TARGET_64BIT)))
24659 : : return NULL;
24660 : : return gen_split_150 (insn, operands);
24661 : :
24662 : : default:
24663 : : return NULL;
24664 : : }
24665 : :
24666 : : case 1:
24667 : : x5 = XEXP (x3, 0);
24668 : : x6 = XEXP (x5, 1);
24669 : : if (GET_CODE (x6) == SUBREG)
24670 : : {
24671 : : switch (pattern1784 (x2))
24672 : : {
24673 : : case 0:
24674 : : if (
24675 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24676 : : (reload_completed
24677 : : && !(rtx_equal_p (operands[0], operands[1])
24678 : : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24679 : : return gen_split_147 (insn, operands);
24680 : : break;
24681 : :
24682 : : case 1:
24683 : : if (
24684 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24685 : : (reload_completed
24686 : : && !(rtx_equal_p (operands[0], operands[1])
24687 : : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24688 : : return gen_split_149 (insn, operands);
24689 : : break;
24690 : :
24691 : : case 2:
24692 : : if ((
24693 : : #line 7587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24694 : : (reload_completed
24695 : : && !(rtx_equal_p (operands[0], operands[1])
24696 : : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
24697 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24698 : : (TARGET_64BIT)))
24699 : : return gen_split_151 (insn, operands);
24700 : : break;
24701 : :
24702 : : default:
24703 : : break;
24704 : : }
24705 : : }
24706 : : operands[2] = x6;
24707 : : if (!general_operand (operands[2], E_QImode))
24708 : : return NULL;
24709 : : switch (pattern1024 (x2))
24710 : : {
24711 : : case 0:
24712 : : if (!
24713 : : #line 8352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24714 : : (reload_completed
24715 : : && !(rtx_equal_p (operands[0], operands[1]))))
24716 : : return NULL;
24717 : : return gen_split_189 (insn, operands);
24718 : :
24719 : : case 1:
24720 : : if (!
24721 : : #line 8352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24722 : : (reload_completed
24723 : : && !(rtx_equal_p (operands[0], operands[1]))))
24724 : : return NULL;
24725 : : return gen_split_190 (insn, operands);
24726 : :
24727 : : case 2:
24728 : : if (!(
24729 : : #line 8352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24730 : : (reload_completed
24731 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
24732 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24733 : : (TARGET_64BIT)))
24734 : : return NULL;
24735 : : return gen_split_191 (insn, operands);
24736 : :
24737 : : default:
24738 : : return NULL;
24739 : : }
24740 : :
24741 : : case 2:
24742 : : x5 = XEXP (x3, 0);
24743 : : x6 = XEXP (x5, 1);
24744 : : operands[2] = x6;
24745 : : if (general_operand (operands[2], E_QImode))
24746 : : {
24747 : : switch (pattern1024 (x2))
24748 : : {
24749 : : case 0:
24750 : : if (
24751 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24752 : : (reload_completed
24753 : : && !(rtx_equal_p (operands[0], operands[1]))))
24754 : : return gen_split_337 (insn, operands);
24755 : : break;
24756 : :
24757 : : case 1:
24758 : : if (
24759 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24760 : : (reload_completed
24761 : : && !(rtx_equal_p (operands[0], operands[1]))))
24762 : : return gen_split_340 (insn, operands);
24763 : : break;
24764 : :
24765 : : case 2:
24766 : : if ((
24767 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24768 : : (reload_completed
24769 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
24770 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24771 : : (TARGET_64BIT)))
24772 : : return gen_split_343 (insn, operands);
24773 : : break;
24774 : :
24775 : : default:
24776 : : break;
24777 : : }
24778 : : }
24779 : : if (GET_CODE (x6) != SUBREG)
24780 : : return NULL;
24781 : : switch (pattern1784 (x2))
24782 : : {
24783 : : case 0:
24784 : : if (!
24785 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24786 : : (reload_completed
24787 : : && !(rtx_equal_p (operands[0], operands[1])
24788 : : || rtx_equal_p (operands[0], operands[2]))))
24789 : : return NULL;
24790 : : return gen_split_355 (insn, operands);
24791 : :
24792 : : case 1:
24793 : : if (!
24794 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24795 : : (reload_completed
24796 : : && !(rtx_equal_p (operands[0], operands[1])
24797 : : || rtx_equal_p (operands[0], operands[2]))))
24798 : : return NULL;
24799 : : return gen_split_358 (insn, operands);
24800 : :
24801 : : case 2:
24802 : : if (!(
24803 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24804 : : (reload_completed
24805 : : && !(rtx_equal_p (operands[0], operands[1])
24806 : : || rtx_equal_p (operands[0], operands[2]))) &&
24807 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24808 : : (TARGET_64BIT)))
24809 : : return NULL;
24810 : : return gen_split_361 (insn, operands);
24811 : :
24812 : : default:
24813 : : return NULL;
24814 : : }
24815 : :
24816 : : case 3:
24817 : : x5 = XEXP (x3, 0);
24818 : : x6 = XEXP (x5, 1);
24819 : : operands[2] = x6;
24820 : : if (general_operand (operands[2], E_QImode))
24821 : : {
24822 : : switch (pattern1024 (x2))
24823 : : {
24824 : : case 0:
24825 : : if (
24826 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24827 : : (reload_completed
24828 : : && !(rtx_equal_p (operands[0], operands[1]))))
24829 : : return gen_split_338 (insn, operands);
24830 : : break;
24831 : :
24832 : : case 1:
24833 : : if (
24834 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24835 : : (reload_completed
24836 : : && !(rtx_equal_p (operands[0], operands[1]))))
24837 : : return gen_split_341 (insn, operands);
24838 : : break;
24839 : :
24840 : : case 2:
24841 : : if ((
24842 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24843 : : (reload_completed
24844 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
24845 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24846 : : (TARGET_64BIT)))
24847 : : return gen_split_344 (insn, operands);
24848 : : break;
24849 : :
24850 : : default:
24851 : : break;
24852 : : }
24853 : : }
24854 : : if (GET_CODE (x6) != SUBREG)
24855 : : return NULL;
24856 : : switch (pattern1784 (x2))
24857 : : {
24858 : : case 0:
24859 : : if (!
24860 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24861 : : (reload_completed
24862 : : && !(rtx_equal_p (operands[0], operands[1])
24863 : : || rtx_equal_p (operands[0], operands[2]))))
24864 : : return NULL;
24865 : : return gen_split_356 (insn, operands);
24866 : :
24867 : : case 1:
24868 : : if (!
24869 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24870 : : (reload_completed
24871 : : && !(rtx_equal_p (operands[0], operands[1])
24872 : : || rtx_equal_p (operands[0], operands[2]))))
24873 : : return NULL;
24874 : : return gen_split_359 (insn, operands);
24875 : :
24876 : : case 2:
24877 : : if (!(
24878 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24879 : : (reload_completed
24880 : : && !(rtx_equal_p (operands[0], operands[1])
24881 : : || rtx_equal_p (operands[0], operands[2]))) &&
24882 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24883 : : (TARGET_64BIT)))
24884 : : return NULL;
24885 : : return gen_split_362 (insn, operands);
24886 : :
24887 : : default:
24888 : : return NULL;
24889 : : }
24890 : :
24891 : : case 4:
24892 : : x5 = XEXP (x3, 0);
24893 : : x6 = XEXP (x5, 1);
24894 : : operands[2] = x6;
24895 : : if (general_operand (operands[2], E_QImode))
24896 : : {
24897 : : switch (pattern1024 (x2))
24898 : : {
24899 : : case 0:
24900 : : if (
24901 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24902 : : (reload_completed
24903 : : && !(rtx_equal_p (operands[0], operands[1]))))
24904 : : return gen_split_339 (insn, operands);
24905 : : break;
24906 : :
24907 : : case 1:
24908 : : if (
24909 : : #line 13239 "/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_342 (insn, operands);
24913 : : break;
24914 : :
24915 : : case 2:
24916 : : if ((
24917 : : #line 13239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24918 : : (reload_completed
24919 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
24920 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24921 : : (TARGET_64BIT)))
24922 : : return gen_split_345 (insn, operands);
24923 : : break;
24924 : :
24925 : : default:
24926 : : break;
24927 : : }
24928 : : }
24929 : : if (GET_CODE (x6) != SUBREG)
24930 : : return NULL;
24931 : : switch (pattern1784 (x2))
24932 : : {
24933 : : case 0:
24934 : : if (!
24935 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24936 : : (reload_completed
24937 : : && !(rtx_equal_p (operands[0], operands[1])
24938 : : || rtx_equal_p (operands[0], operands[2]))))
24939 : : return NULL;
24940 : : return gen_split_357 (insn, operands);
24941 : :
24942 : : case 1:
24943 : : if (!
24944 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24945 : : (reload_completed
24946 : : && !(rtx_equal_p (operands[0], operands[1])
24947 : : || rtx_equal_p (operands[0], operands[2]))))
24948 : : return NULL;
24949 : : return gen_split_360 (insn, operands);
24950 : :
24951 : : case 2:
24952 : : if (!(
24953 : : #line 13331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24954 : : (reload_completed
24955 : : && !(rtx_equal_p (operands[0], operands[1])
24956 : : || rtx_equal_p (operands[0], operands[2]))) &&
24957 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24958 : : (TARGET_64BIT)))
24959 : : return NULL;
24960 : : return gen_split_363 (insn, operands);
24961 : :
24962 : : default:
24963 : : return NULL;
24964 : : }
24965 : :
24966 : : case 5:
24967 : : if (!
24968 : : #line 14633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24969 : : (reload_completed
24970 : : && !(rtx_equal_p (operands[0], operands[1]))))
24971 : : return NULL;
24972 : : return gen_split_500 (insn, operands);
24973 : :
24974 : : case 6:
24975 : : if (!
24976 : : #line 14633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24977 : : (reload_completed
24978 : : && !(rtx_equal_p (operands[0], operands[1]))))
24979 : : return NULL;
24980 : : return gen_split_501 (insn, operands);
24981 : :
24982 : : case 7:
24983 : : if (!(
24984 : : #line 14633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24985 : : (reload_completed
24986 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
24987 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24988 : : (TARGET_64BIT)))
24989 : : return NULL;
24990 : : return gen_split_502 (insn, operands);
24991 : :
24992 : : case 8:
24993 : : if (!
24994 : : #line 16664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24995 : : (reload_completed
24996 : : && !(rtx_equal_p (operands[0], operands[1]))))
24997 : : return NULL;
24998 : : return gen_split_592 (insn, operands);
24999 : :
25000 : : case 9:
25001 : : if (!
25002 : : #line 16664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25003 : : (reload_completed
25004 : : && !(rtx_equal_p (operands[0], operands[1]))))
25005 : : return NULL;
25006 : : return gen_split_593 (insn, operands);
25007 : :
25008 : : case 10:
25009 : : if (!(
25010 : : #line 16664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25011 : : (reload_completed
25012 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25013 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25014 : : (TARGET_64BIT)))
25015 : : return NULL;
25016 : : return gen_split_594 (insn, operands);
25017 : :
25018 : : case 11:
25019 : : x7 = XEXP (x2, 0);
25020 : : operands[0] = x7;
25021 : : switch (pattern1218 (x3))
25022 : : {
25023 : : case 0:
25024 : : if (((
25025 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25026 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25027 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25028 : : (!TARGET_64BIT)) &&
25029 : : #line 16896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25030 : : ( reload_completed)))
25031 : : return gen_split_611 (insn, operands);
25032 : : break;
25033 : :
25034 : : case 1:
25035 : : if (((
25036 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25037 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25038 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25039 : : (TARGET_64BIT)) &&
25040 : : #line 16896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25041 : : ( reload_completed)))
25042 : : return gen_split_613 (insn, operands);
25043 : : break;
25044 : :
25045 : : default:
25046 : : break;
25047 : : }
25048 : : x5 = XEXP (x3, 0);
25049 : : if (GET_MODE (x5) != E_QImode)
25050 : : return NULL;
25051 : : switch (pattern1025 (x2))
25052 : : {
25053 : : case 0:
25054 : : if (!
25055 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25056 : : (reload_completed
25057 : : && !(rtx_equal_p (operands[0], operands[1]))))
25058 : : return NULL;
25059 : : return gen_split_638 (insn, operands);
25060 : :
25061 : : case 1:
25062 : : if (!
25063 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25064 : : (reload_completed
25065 : : && !(rtx_equal_p (operands[0], operands[1]))))
25066 : : return NULL;
25067 : : return gen_split_640 (insn, operands);
25068 : :
25069 : : case 2:
25070 : : if (!(
25071 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25072 : : (reload_completed
25073 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25074 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25075 : : (TARGET_64BIT)))
25076 : : return NULL;
25077 : : return gen_split_642 (insn, operands);
25078 : :
25079 : : default:
25080 : : return NULL;
25081 : : }
25082 : :
25083 : : case 12:
25084 : : x7 = XEXP (x2, 0);
25085 : : operands[0] = x7;
25086 : : switch (pattern1218 (x3))
25087 : : {
25088 : : case 0:
25089 : : if (((
25090 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25091 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25092 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25093 : : (!TARGET_64BIT)) &&
25094 : : #line 16896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25095 : : ( reload_completed)))
25096 : : return gen_split_612 (insn, operands);
25097 : : break;
25098 : :
25099 : : case 1:
25100 : : if (((
25101 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25102 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25103 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25104 : : (TARGET_64BIT)) &&
25105 : : #line 16896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25106 : : ( reload_completed)))
25107 : : return gen_split_614 (insn, operands);
25108 : : break;
25109 : :
25110 : : default:
25111 : : break;
25112 : : }
25113 : : x5 = XEXP (x3, 0);
25114 : : if (GET_MODE (x5) != E_QImode)
25115 : : return NULL;
25116 : : switch (pattern1025 (x2))
25117 : : {
25118 : : case 0:
25119 : : if (!
25120 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25121 : : (reload_completed
25122 : : && !(rtx_equal_p (operands[0], operands[1]))))
25123 : : return NULL;
25124 : : return gen_split_639 (insn, operands);
25125 : :
25126 : : case 1:
25127 : : if (!
25128 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25129 : : (reload_completed
25130 : : && !(rtx_equal_p (operands[0], operands[1]))))
25131 : : return NULL;
25132 : : return gen_split_641 (insn, operands);
25133 : :
25134 : : case 2:
25135 : : if (!(
25136 : : #line 17938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25137 : : (reload_completed
25138 : : && !(rtx_equal_p (operands[0], operands[1]))) &&
25139 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25140 : : (TARGET_64BIT)))
25141 : : return NULL;
25142 : : return gen_split_643 (insn, operands);
25143 : :
25144 : : default:
25145 : : return NULL;
25146 : : }
25147 : :
25148 : : default:
25149 : : return NULL;
25150 : : }
25151 : : }
25152 : :
25153 : : rtx_insn *
25154 : : split_35 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25155 : : {
25156 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25157 : : rtx x2, x3, x4, x5, x6;
25158 : : rtx_insn *res ATTRIBUTE_UNUSED;
25159 : : switch (pattern396 (x1))
25160 : : {
25161 : : case 0:
25162 : : if (!(
25163 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25164 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25165 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25166 : : == GET_MODE_BITSIZE (QImode)-1
25167 : : && ix86_pre_reload_split ()) &&
25168 : : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25169 : : ( 1)))
25170 : : return NULL;
25171 : : return gen_split_700 (insn, operands);
25172 : :
25173 : : case 1:
25174 : : if (!(
25175 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25176 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25177 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25178 : : == GET_MODE_BITSIZE (HImode)-1
25179 : : && ix86_pre_reload_split ()) &&
25180 : : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25181 : : ( 1)))
25182 : : return NULL;
25183 : : return gen_split_702 (insn, operands);
25184 : :
25185 : : case 2:
25186 : : if (!(
25187 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25188 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25189 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25190 : : == GET_MODE_BITSIZE (SImode)-1
25191 : : && ix86_pre_reload_split ()) &&
25192 : : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25193 : : ( 1)))
25194 : : return NULL;
25195 : : return gen_split_704 (insn, operands);
25196 : :
25197 : : case 3:
25198 : : if (!((
25199 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25200 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25201 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25202 : : == GET_MODE_BITSIZE (DImode)-1
25203 : : && ix86_pre_reload_split ()) &&
25204 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25205 : : (TARGET_64BIT)) &&
25206 : : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25207 : : ( 1)))
25208 : : return NULL;
25209 : : return gen_split_706 (insn, operands);
25210 : :
25211 : : case 4:
25212 : : if (!(
25213 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25214 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25215 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25216 : : && ix86_pre_reload_split ()) &&
25217 : : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25218 : : ( 1)))
25219 : : return NULL;
25220 : : return gen_split_732 (insn, operands);
25221 : :
25222 : : case 5:
25223 : : if (!(
25224 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25225 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25226 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25227 : : && ix86_pre_reload_split ()) &&
25228 : : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25229 : : ( 1)))
25230 : : return NULL;
25231 : : return gen_split_734 (insn, operands);
25232 : :
25233 : : case 6:
25234 : : if (!(
25235 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25236 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25237 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25238 : : && ix86_pre_reload_split ()) &&
25239 : : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25240 : : ( 1)))
25241 : : return NULL;
25242 : : return gen_split_736 (insn, operands);
25243 : :
25244 : : case 7:
25245 : : if (!((
25246 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25247 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25248 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25249 : : && ix86_pre_reload_split ()) &&
25250 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25251 : : (TARGET_64BIT)) &&
25252 : : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25253 : : ( 1)))
25254 : : return NULL;
25255 : : return gen_split_738 (insn, operands);
25256 : :
25257 : : case 8:
25258 : : if (!(
25259 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25260 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25261 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25262 : : && ix86_pre_reload_split ()) &&
25263 : : #line 18479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25264 : : ( 1)))
25265 : : return NULL;
25266 : : return gen_split_764 (insn, operands);
25267 : :
25268 : : case 9:
25269 : : if (!(
25270 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25271 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25272 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25273 : : && ix86_pre_reload_split ()) &&
25274 : : #line 18479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25275 : : ( 1)))
25276 : : return NULL;
25277 : : return gen_split_766 (insn, operands);
25278 : :
25279 : : case 10:
25280 : : if (!(
25281 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25282 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25283 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25284 : : && ix86_pre_reload_split ()) &&
25285 : : #line 18479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25286 : : ( 1)))
25287 : : return NULL;
25288 : : return gen_split_768 (insn, operands);
25289 : :
25290 : : case 11:
25291 : : if (!((
25292 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25293 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25294 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25295 : : && ix86_pre_reload_split ()) &&
25296 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25297 : : (TARGET_64BIT)) &&
25298 : : #line 18479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25299 : : ( 1)))
25300 : : return NULL;
25301 : : return gen_split_770 (insn, operands);
25302 : :
25303 : : case 12:
25304 : : x2 = XVECEXP (x1, 0, 0);
25305 : : x3 = XEXP (x2, 0);
25306 : : operands[0] = x3;
25307 : : x4 = XEXP (x2, 1);
25308 : : switch (pattern1167 (x4))
25309 : : {
25310 : : case 0:
25311 : : if ((
25312 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25313 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25314 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25315 : : == GET_MODE_BITSIZE (QImode)-1
25316 : : && ix86_pre_reload_split ()) &&
25317 : : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25318 : : ( 1)))
25319 : : return gen_split_684 (insn, operands);
25320 : : break;
25321 : :
25322 : : case 1:
25323 : : if ((
25324 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25325 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25326 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25327 : : == GET_MODE_BITSIZE (HImode)-1
25328 : : && ix86_pre_reload_split ()) &&
25329 : : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25330 : : ( 1)))
25331 : : return gen_split_686 (insn, operands);
25332 : : break;
25333 : :
25334 : : case 2:
25335 : : if ((
25336 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25337 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25338 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25339 : : == GET_MODE_BITSIZE (SImode)-1
25340 : : && ix86_pre_reload_split ()) &&
25341 : : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25342 : : ( 1)))
25343 : : return gen_split_688 (insn, operands);
25344 : : break;
25345 : :
25346 : : case 3:
25347 : : if (((
25348 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25349 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25350 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25351 : : == GET_MODE_BITSIZE (DImode)-1
25352 : : && ix86_pre_reload_split ()) &&
25353 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25354 : : (TARGET_64BIT)) &&
25355 : : #line 18282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25356 : : ( 1)))
25357 : : return gen_split_690 (insn, operands);
25358 : : break;
25359 : :
25360 : : case 4:
25361 : : if ((
25362 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25363 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25364 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25365 : : && ix86_pre_reload_split ()) &&
25366 : : #line 18374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25367 : : ( 1)))
25368 : : return gen_split_716 (insn, operands);
25369 : : break;
25370 : :
25371 : : case 5:
25372 : : if ((
25373 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25374 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25375 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25376 : : && ix86_pre_reload_split ()) &&
25377 : : #line 18374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25378 : : ( 1)))
25379 : : return gen_split_718 (insn, operands);
25380 : : break;
25381 : :
25382 : : case 6:
25383 : : if ((
25384 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25385 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25386 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25387 : : && ix86_pre_reload_split ()) &&
25388 : : #line 18374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25389 : : ( 1)))
25390 : : return gen_split_720 (insn, operands);
25391 : : break;
25392 : :
25393 : : case 7:
25394 : : if (((
25395 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25396 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25397 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25398 : : && ix86_pre_reload_split ()) &&
25399 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25400 : : (TARGET_64BIT)) &&
25401 : : #line 18374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25402 : : ( 1)))
25403 : : return gen_split_722 (insn, operands);
25404 : : break;
25405 : :
25406 : : case 8:
25407 : : if ((
25408 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25409 : : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25410 : : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25411 : : && ix86_pre_reload_split ()) &&
25412 : : #line 18443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25413 : : ( 1)))
25414 : : return gen_split_748 (insn, operands);
25415 : : break;
25416 : :
25417 : : case 9:
25418 : : if ((
25419 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25420 : : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25421 : : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25422 : : && ix86_pre_reload_split ()) &&
25423 : : #line 18443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25424 : : ( 1)))
25425 : : return gen_split_750 (insn, operands);
25426 : : break;
25427 : :
25428 : : case 10:
25429 : : if ((
25430 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25431 : : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25432 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25433 : : && ix86_pre_reload_split ()) &&
25434 : : #line 18443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25435 : : ( 1)))
25436 : : return gen_split_752 (insn, operands);
25437 : : break;
25438 : :
25439 : : case 11:
25440 : : if (((
25441 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25442 : : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25443 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25444 : : && ix86_pre_reload_split ()) &&
25445 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25446 : : (TARGET_64BIT)) &&
25447 : : #line 18443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25448 : : ( 1)))
25449 : : return gen_split_754 (insn, operands);
25450 : : break;
25451 : :
25452 : : case 12:
25453 : : x5 = XEXP (x4, 1);
25454 : : operands[2] = x5;
25455 : : switch (pattern1325 (x4))
25456 : : {
25457 : : case 0:
25458 : : if (
25459 : : #line 18676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25460 : : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)))
25461 : : return gen_split_788 (insn, operands);
25462 : : break;
25463 : :
25464 : : case 1:
25465 : : if ((
25466 : : #line 18676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25467 : : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)) &&
25468 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25469 : : (TARGET_64BIT)))
25470 : : return gen_split_789 (insn, operands);
25471 : : break;
25472 : :
25473 : : default:
25474 : : break;
25475 : : }
25476 : : if (XWINT (x5, 0) == 8L
25477 : : && QIreg_operand (operands[0], E_HImode)
25478 : : && GET_MODE (x4) == E_HImode)
25479 : : {
25480 : : x6 = XEXP (x4, 0);
25481 : : if (rtx_equal_p (x6, operands[0])
25482 : : &&
25483 : : #line 18876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25484 : : (reload_completed
25485 : : && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
25486 : : return gen_split_800 (insn, operands);
25487 : : }
25488 : : break;
25489 : :
25490 : : default:
25491 : : break;
25492 : : }
25493 : : x5 = XEXP (x4, 1);
25494 : : operands[2] = x5;
25495 : : switch (pattern1168 (x2))
25496 : : {
25497 : : case 0:
25498 : : if (!(
25499 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25500 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25501 : : #line 18854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25502 : : ( reload_completed
25503 : : && !(rtx_equal_p (operands[0], operands[1])))))
25504 : : return NULL;
25505 : : return gen_split_796 (insn, operands);
25506 : :
25507 : : case 1:
25508 : : if (!(
25509 : : #line 18843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25510 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25511 : : #line 18854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25512 : : ( reload_completed
25513 : : && !(rtx_equal_p (operands[0], operands[1])))))
25514 : : return NULL;
25515 : : return gen_split_798 (insn, operands);
25516 : :
25517 : : default:
25518 : : return NULL;
25519 : : }
25520 : :
25521 : : default:
25522 : : return NULL;
25523 : : }
25524 : : }
25525 : :
25526 : : rtx_insn *
25527 : : split_47 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25528 : : {
25529 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25530 : : rtx x2, x3, x4;
25531 : : rtx_insn *res ATTRIBUTE_UNUSED;
25532 : : x2 = XEXP (x1, 1);
25533 : : operands[1] = x2;
25534 : : x3 = XEXP (x1, 0);
25535 : : operands[0] = x3;
25536 : : switch (GET_MODE (operands[0]))
25537 : : {
25538 : : case E_V8QImode:
25539 : : if (nonimmediate_gr_operand (operands[0], E_V8QImode)
25540 : : && nonimmediate_gr_operand (operands[1], E_V8QImode)
25541 : : &&
25542 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25543 : : (!TARGET_64BIT && reload_completed))
25544 : : return gen_split_999 (insn, operands);
25545 : : if (general_reg_operand (operands[0], E_V8QImode)
25546 : : && memory_operand (operands[1], E_V8QImode)
25547 : : && (
25548 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25549 : : (reload_completed
25550 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25551 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25552 : : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25553 : : (TARGET_64BIT)))
25554 : : return gen_split_1029 (insn, operands);
25555 : : break;
25556 : :
25557 : : case E_V4HImode:
25558 : : if (nonimmediate_gr_operand (operands[0], E_V4HImode)
25559 : : && nonimmediate_gr_operand (operands[1], E_V4HImode)
25560 : : &&
25561 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25562 : : (!TARGET_64BIT && reload_completed))
25563 : : return gen_split_1000 (insn, operands);
25564 : : if (general_reg_operand (operands[0], E_V4HImode)
25565 : : && memory_operand (operands[1], E_V4HImode)
25566 : : && (
25567 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25568 : : (reload_completed
25569 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25570 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25571 : : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25572 : : (TARGET_64BIT)))
25573 : : return gen_split_1030 (insn, operands);
25574 : : break;
25575 : :
25576 : : case E_V2SImode:
25577 : : if (nonimmediate_gr_operand (operands[0], E_V2SImode)
25578 : : && nonimmediate_gr_operand (operands[1], E_V2SImode)
25579 : : &&
25580 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25581 : : (!TARGET_64BIT && reload_completed))
25582 : : return gen_split_1001 (insn, operands);
25583 : : if (general_reg_operand (operands[0], E_V2SImode)
25584 : : && memory_operand (operands[1], E_V2SImode)
25585 : : && (
25586 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25587 : : (reload_completed
25588 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25589 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25590 : : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25591 : : (TARGET_64BIT)))
25592 : : return gen_split_1033 (insn, operands);
25593 : : break;
25594 : :
25595 : : case E_V1DImode:
25596 : : if (nonimmediate_gr_operand (operands[0], E_V1DImode)
25597 : : && nonimmediate_gr_operand (operands[1], E_V1DImode)
25598 : : &&
25599 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25600 : : (!TARGET_64BIT && reload_completed))
25601 : : return gen_split_1002 (insn, operands);
25602 : : if (general_reg_operand (operands[0], E_V1DImode)
25603 : : && memory_operand (operands[1], E_V1DImode)
25604 : : && (
25605 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25606 : : (reload_completed
25607 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25608 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25609 : : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25610 : : (TARGET_64BIT)))
25611 : : return gen_split_1035 (insn, operands);
25612 : : break;
25613 : :
25614 : : case E_V2SFmode:
25615 : : if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
25616 : : && nonimmediate_gr_operand (operands[1], E_V2SFmode)
25617 : : &&
25618 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25619 : : (!TARGET_64BIT && reload_completed))
25620 : : return gen_split_1003 (insn, operands);
25621 : : if (general_reg_operand (operands[0], E_V2SFmode)
25622 : : && memory_operand (operands[1], E_V2SFmode)
25623 : : && (
25624 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25625 : : (reload_completed
25626 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25627 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25628 : : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25629 : : (TARGET_64BIT)))
25630 : : return gen_split_1034 (insn, operands);
25631 : : break;
25632 : :
25633 : : case E_V4HFmode:
25634 : : if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
25635 : : && nonimmediate_gr_operand (operands[1], E_V4HFmode)
25636 : : &&
25637 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25638 : : (!TARGET_64BIT && reload_completed))
25639 : : return gen_split_1004 (insn, operands);
25640 : : if (general_reg_operand (operands[0], E_V4HFmode)
25641 : : && memory_operand (operands[1], E_V4HFmode)
25642 : : && (
25643 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25644 : : (reload_completed
25645 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25646 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25647 : : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25648 : : (TARGET_64BIT)))
25649 : : return gen_split_1031 (insn, operands);
25650 : : break;
25651 : :
25652 : : case E_V4BFmode:
25653 : : if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
25654 : : && nonimmediate_gr_operand (operands[1], E_V4BFmode)
25655 : : &&
25656 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25657 : : (!TARGET_64BIT && reload_completed))
25658 : : return gen_split_1005 (insn, operands);
25659 : : if (general_reg_operand (operands[0], E_V4BFmode)
25660 : : && memory_operand (operands[1], E_V4BFmode)
25661 : : && (
25662 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25663 : : (reload_completed
25664 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25665 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25666 : : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25667 : : (TARGET_64BIT)))
25668 : : return gen_split_1032 (insn, operands);
25669 : : break;
25670 : :
25671 : : case E_V4QImode:
25672 : : if (push_operand (operands[0], E_V4QImode)
25673 : : && sse_reg_operand (operands[1], E_V4QImode))
25674 : : {
25675 : : if ((
25676 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25677 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25678 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25679 : : (Pmode == SImode)))
25680 : : return gen_split_1013 (insn, operands);
25681 : : if ((
25682 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25683 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25684 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25685 : : (Pmode == DImode)))
25686 : : return gen_split_1018 (insn, operands);
25687 : : }
25688 : : if (general_reg_operand (operands[0], E_V4QImode)
25689 : : && memory_operand (operands[1], E_V4QImode)
25690 : : &&
25691 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25692 : : (reload_completed
25693 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25694 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25695 : : return gen_split_1024 (insn, operands);
25696 : : break;
25697 : :
25698 : : case E_V2HImode:
25699 : : if (push_operand (operands[0], E_V2HImode)
25700 : : && sse_reg_operand (operands[1], E_V2HImode))
25701 : : {
25702 : : if ((
25703 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25704 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25705 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25706 : : (Pmode == SImode)))
25707 : : return gen_split_1014 (insn, operands);
25708 : : if ((
25709 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25710 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25711 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25712 : : (Pmode == DImode)))
25713 : : return gen_split_1019 (insn, operands);
25714 : : }
25715 : : if (general_reg_operand (operands[0], E_V2HImode)
25716 : : && memory_operand (operands[1], E_V2HImode)
25717 : : &&
25718 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25719 : : (reload_completed
25720 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25721 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25722 : : return gen_split_1025 (insn, operands);
25723 : : break;
25724 : :
25725 : : case E_V1SImode:
25726 : : if (push_operand (operands[0], E_V1SImode)
25727 : : && sse_reg_operand (operands[1], E_V1SImode))
25728 : : {
25729 : : if ((
25730 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25731 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25732 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25733 : : (Pmode == SImode)))
25734 : : return gen_split_1015 (insn, operands);
25735 : : if ((
25736 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25737 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25738 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25739 : : (Pmode == DImode)))
25740 : : return gen_split_1020 (insn, operands);
25741 : : }
25742 : : if (general_reg_operand (operands[0], E_V1SImode)
25743 : : && memory_operand (operands[1], E_V1SImode)
25744 : : &&
25745 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25746 : : (reload_completed
25747 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25748 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25749 : : return gen_split_1026 (insn, operands);
25750 : : break;
25751 : :
25752 : : case E_V2HFmode:
25753 : : if (push_operand (operands[0], E_V2HFmode)
25754 : : && sse_reg_operand (operands[1], E_V2HFmode))
25755 : : {
25756 : : if ((
25757 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25758 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25759 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25760 : : (Pmode == SImode)))
25761 : : return gen_split_1016 (insn, operands);
25762 : : if ((
25763 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25764 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25765 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25766 : : (Pmode == DImode)))
25767 : : return gen_split_1021 (insn, operands);
25768 : : }
25769 : : if (general_reg_operand (operands[0], E_V2HFmode)
25770 : : && memory_operand (operands[1], E_V2HFmode)
25771 : : &&
25772 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25773 : : (reload_completed
25774 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25775 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25776 : : return gen_split_1027 (insn, operands);
25777 : : break;
25778 : :
25779 : : case E_V2BFmode:
25780 : : if (push_operand (operands[0], E_V2BFmode)
25781 : : && sse_reg_operand (operands[1], E_V2BFmode))
25782 : : {
25783 : : if ((
25784 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25785 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25786 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25787 : : (Pmode == SImode)))
25788 : : return gen_split_1017 (insn, operands);
25789 : : if ((
25790 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25791 : : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25792 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25793 : : (Pmode == DImode)))
25794 : : return gen_split_1022 (insn, operands);
25795 : : }
25796 : : if (general_reg_operand (operands[0], E_V2BFmode)
25797 : : && memory_operand (operands[1], E_V2BFmode)
25798 : : &&
25799 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25800 : : (reload_completed
25801 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25802 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25803 : : return gen_split_1028 (insn, operands);
25804 : : break;
25805 : :
25806 : : case E_V2QImode:
25807 : : if (general_reg_operand (operands[0], E_V2QImode)
25808 : : && memory_operand (operands[1], E_V2QImode)
25809 : : &&
25810 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25811 : : (reload_completed
25812 : : && SYMBOL_REF_P (XEXP (operands[1], 0))
25813 : : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25814 : : return gen_split_1023 (insn, operands);
25815 : : if (push_operand (operands[0], E_V2QImode)
25816 : : && sse_reg_operand (operands[1], E_V2QImode))
25817 : : {
25818 : : if ((
25819 : : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25820 : : (TARGET_SSE4_1 && reload_completed) &&
25821 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25822 : : (Pmode == SImode)))
25823 : : return gen_split_1049 (insn, operands);
25824 : : if ((
25825 : : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25826 : : (TARGET_SSE4_1 && reload_completed) &&
25827 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25828 : : (Pmode == DImode)))
25829 : : return gen_split_1050 (insn, operands);
25830 : : }
25831 : : break;
25832 : :
25833 : : case E_P2QImode:
25834 : : if (nonimmediate_operand (operands[0], E_P2QImode)
25835 : : && nonimmediate_operand (operands[1], E_P2QImode)
25836 : : && (
25837 : : #line 31081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25838 : : (TARGET_AVX512VP2INTERSECT
25839 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
25840 : : #line 31084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25841 : : ( reload_completed)))
25842 : : return gen_split_3850 (insn, operands);
25843 : : break;
25844 : :
25845 : : case E_P2HImode:
25846 : : if (nonimmediate_operand (operands[0], E_P2HImode)
25847 : : && nonimmediate_operand (operands[1], E_P2HImode)
25848 : : && (
25849 : : #line 31081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25850 : : (TARGET_AVX512VP2INTERSECT
25851 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
25852 : : #line 31084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25853 : : ( reload_completed)))
25854 : : return gen_split_3851 (insn, operands);
25855 : : break;
25856 : :
25857 : : default:
25858 : : break;
25859 : : }
25860 : : if (GET_CODE (x2) != SUBREG)
25861 : : return NULL;
25862 : : operands[0] = x3;
25863 : : switch (SUBREG_BYTE (x2))
25864 : : {
25865 : : case 8:
25866 : : if (GET_MODE (x2) != E_DFmode
25867 : : || !register_operand (operands[0], E_DFmode))
25868 : : return NULL;
25869 : : x4 = XEXP (x2, 0);
25870 : : operands[1] = x4;
25871 : : if (!register_operand (operands[1], E_V2DFmode)
25872 : : || !
25873 : : #line 14661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25874 : : (TARGET_SSE))
25875 : : return NULL;
25876 : : return gen_split_3204 (insn, operands);
25877 : :
25878 : : case 0:
25879 : : x4 = XEXP (x2, 0);
25880 : : switch (GET_CODE (x4))
25881 : : {
25882 : : case REG:
25883 : : case SUBREG:
25884 : : operands[1] = x4;
25885 : : switch (GET_MODE (operands[0]))
25886 : : {
25887 : : case E_DFmode:
25888 : : if (!register_operand (operands[0], E_DFmode)
25889 : : || GET_MODE (x2) != E_DFmode
25890 : : || !register_operand (operands[1], E_V2DFmode)
25891 : : || !
25892 : : #line 14714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25893 : : (TARGET_SSE))
25894 : : return NULL;
25895 : : return gen_split_3206 (insn, operands);
25896 : :
25897 : : case E_SImode:
25898 : : if (!nonimmediate_operand (operands[0], E_SImode)
25899 : : || GET_MODE (x2) != E_SImode
25900 : : || !register_operand (operands[1], E_VOIDmode)
25901 : : || !
25902 : : #line 21468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25903 : : (can_create_pseudo_p ()
25904 : : && REG_P (operands[1])
25905 : : && VECTOR_MODE_P (GET_MODE (operands[1]))
25906 : : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
25907 : : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
25908 : : || (TARGET_AVX512F
25909 : : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
25910 : : && (SImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
25911 : : return NULL;
25912 : : return gen_split_3432 (insn, operands);
25913 : :
25914 : : case E_DImode:
25915 : : if (!nonimmediate_operand (operands[0], E_DImode)
25916 : : || GET_MODE (x2) != E_DImode
25917 : : || !register_operand (operands[1], E_VOIDmode)
25918 : : || !
25919 : : #line 21468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25920 : : (can_create_pseudo_p ()
25921 : : && REG_P (operands[1])
25922 : : && VECTOR_MODE_P (GET_MODE (operands[1]))
25923 : : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
25924 : : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
25925 : : || (TARGET_AVX512F
25926 : : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
25927 : : && (DImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
25928 : : return NULL;
25929 : : return gen_split_3433 (insn, operands);
25930 : :
25931 : : default:
25932 : : return NULL;
25933 : : }
25934 : :
25935 : : case SS_TRUNCATE:
25936 : : switch (pattern708 (x2))
25937 : : {
25938 : : case 0:
25939 : : if (!(
25940 : : #line 15434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25941 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
25942 : : #line 15436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25943 : : ( 1)))
25944 : : return NULL;
25945 : : return gen_split_3218 (insn, operands);
25946 : :
25947 : : case 1:
25948 : : if (!(
25949 : : #line 15529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25950 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
25951 : : #line 15531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25952 : : ( 1)))
25953 : : return NULL;
25954 : : return gen_split_3221 (insn, operands);
25955 : :
25956 : : case 2:
25957 : : if (!(
25958 : : #line 15529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25959 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
25960 : : #line 15531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25961 : : ( 1)))
25962 : : return NULL;
25963 : : return gen_split_3224 (insn, operands);
25964 : :
25965 : : case 3:
25966 : : if (!(
25967 : : #line 15880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25968 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
25969 : : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25970 : : ( 1)))
25971 : : return NULL;
25972 : : return gen_split_3240 (insn, operands);
25973 : :
25974 : : case 4:
25975 : : if (!((
25976 : : #line 15627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25977 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
25978 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25979 : : (TARGET_AVX512BW)) &&
25980 : : #line 15629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25981 : : ( 1)))
25982 : : return NULL;
25983 : : return gen_split_3227 (insn, operands);
25984 : :
25985 : : case 5:
25986 : : if (!(
25987 : : #line 15627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25988 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
25989 : : #line 15629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25990 : : ( 1)))
25991 : : return NULL;
25992 : : return gen_split_3230 (insn, operands);
25993 : :
25994 : : case 6:
25995 : : if (!(
25996 : : #line 16143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25997 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
25998 : : #line 16145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25999 : : ( 1)))
26000 : : return NULL;
26001 : : return gen_split_3247 (insn, operands);
26002 : :
26003 : : case 7:
26004 : : if (!(
26005 : : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26006 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26007 : : #line 15791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26008 : : ( 1)))
26009 : : return NULL;
26010 : : return gen_split_3234 (insn, operands);
26011 : :
26012 : : case 8:
26013 : : if (!(
26014 : : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26015 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26016 : : #line 15791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26017 : : ( 1)))
26018 : : return NULL;
26019 : : return gen_split_3237 (insn, operands);
26020 : :
26021 : : case 9:
26022 : : if (!(
26023 : : #line 16030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26024 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26025 : : #line 16032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26026 : : ( 1)))
26027 : : return NULL;
26028 : : return gen_split_3244 (insn, operands);
26029 : :
26030 : : default:
26031 : : return NULL;
26032 : : }
26033 : :
26034 : : case TRUNCATE:
26035 : : switch (pattern708 (x2))
26036 : : {
26037 : : case 0:
26038 : : if (!(
26039 : : #line 15434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26040 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26041 : : #line 15436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26042 : : ( 1)))
26043 : : return NULL;
26044 : : return gen_split_3219 (insn, operands);
26045 : :
26046 : : case 1:
26047 : : if (!(
26048 : : #line 15529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26049 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26050 : : #line 15531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26051 : : ( 1)))
26052 : : return NULL;
26053 : : return gen_split_3222 (insn, operands);
26054 : :
26055 : : case 2:
26056 : : if (!(
26057 : : #line 15529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26058 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26059 : : #line 15531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26060 : : ( 1)))
26061 : : return NULL;
26062 : : return gen_split_3225 (insn, operands);
26063 : :
26064 : : case 3:
26065 : : if (!(
26066 : : #line 15880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26067 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26068 : : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26069 : : ( 1)))
26070 : : return NULL;
26071 : : return gen_split_3241 (insn, operands);
26072 : :
26073 : : case 4:
26074 : : if (!((
26075 : : #line 15627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26076 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26077 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26078 : : (TARGET_AVX512BW)) &&
26079 : : #line 15629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26080 : : ( 1)))
26081 : : return NULL;
26082 : : return gen_split_3228 (insn, operands);
26083 : :
26084 : : case 5:
26085 : : if (!(
26086 : : #line 15627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26087 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26088 : : #line 15629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26089 : : ( 1)))
26090 : : return NULL;
26091 : : return gen_split_3231 (insn, operands);
26092 : :
26093 : : case 6:
26094 : : if (!(
26095 : : #line 16143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26096 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26097 : : #line 16145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26098 : : ( 1)))
26099 : : return NULL;
26100 : : return gen_split_3248 (insn, operands);
26101 : :
26102 : : case 7:
26103 : : if (!(
26104 : : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26105 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26106 : : #line 15791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26107 : : ( 1)))
26108 : : return NULL;
26109 : : return gen_split_3235 (insn, operands);
26110 : :
26111 : : case 8:
26112 : : if (!(
26113 : : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26114 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26115 : : #line 15791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26116 : : ( 1)))
26117 : : return NULL;
26118 : : return gen_split_3238 (insn, operands);
26119 : :
26120 : : case 9:
26121 : : if (!(
26122 : : #line 16030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26123 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26124 : : #line 16032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26125 : : ( 1)))
26126 : : return NULL;
26127 : : return gen_split_3245 (insn, operands);
26128 : :
26129 : : default:
26130 : : return NULL;
26131 : : }
26132 : :
26133 : : case US_TRUNCATE:
26134 : : switch (pattern708 (x2))
26135 : : {
26136 : : case 0:
26137 : : if (!(
26138 : : #line 15434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26139 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26140 : : #line 15436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26141 : : ( 1)))
26142 : : return NULL;
26143 : : return gen_split_3220 (insn, operands);
26144 : :
26145 : : case 1:
26146 : : if (!(
26147 : : #line 15529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26148 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26149 : : #line 15531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26150 : : ( 1)))
26151 : : return NULL;
26152 : : return gen_split_3223 (insn, operands);
26153 : :
26154 : : case 2:
26155 : : if (!(
26156 : : #line 15529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26157 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26158 : : #line 15531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26159 : : ( 1)))
26160 : : return NULL;
26161 : : return gen_split_3226 (insn, operands);
26162 : :
26163 : : case 3:
26164 : : if (!(
26165 : : #line 15880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26166 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26167 : : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26168 : : ( 1)))
26169 : : return NULL;
26170 : : return gen_split_3242 (insn, operands);
26171 : :
26172 : : case 4:
26173 : : if (!((
26174 : : #line 15627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26175 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26176 : : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26177 : : (TARGET_AVX512BW)) &&
26178 : : #line 15629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26179 : : ( 1)))
26180 : : return NULL;
26181 : : return gen_split_3229 (insn, operands);
26182 : :
26183 : : case 5:
26184 : : if (!(
26185 : : #line 15627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26186 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26187 : : #line 15629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26188 : : ( 1)))
26189 : : return NULL;
26190 : : return gen_split_3232 (insn, operands);
26191 : :
26192 : : case 6:
26193 : : if (!(
26194 : : #line 16143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26195 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26196 : : #line 16145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26197 : : ( 1)))
26198 : : return NULL;
26199 : : return gen_split_3249 (insn, operands);
26200 : :
26201 : : case 7:
26202 : : if (!(
26203 : : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26204 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26205 : : #line 15791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26206 : : ( 1)))
26207 : : return NULL;
26208 : : return gen_split_3236 (insn, operands);
26209 : :
26210 : : case 8:
26211 : : if (!(
26212 : : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26213 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26214 : : #line 15791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26215 : : ( 1)))
26216 : : return NULL;
26217 : : return gen_split_3239 (insn, operands);
26218 : :
26219 : : case 9:
26220 : : if (!(
26221 : : #line 16030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26222 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26223 : : #line 16032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26224 : : ( 1)))
26225 : : return NULL;
26226 : : return gen_split_3246 (insn, operands);
26227 : :
26228 : : default:
26229 : : return NULL;
26230 : : }
26231 : :
26232 : : default:
26233 : : return NULL;
26234 : : }
26235 : :
26236 : : default:
26237 : : return NULL;
26238 : : }
26239 : : }
26240 : :
26241 : : rtx_insn *
26242 : : split_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26243 : : {
26244 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26245 : : rtx x2, x3, x4, x5;
26246 : : rtx_insn *res ATTRIBUTE_UNUSED;
26247 : : x2 = XEXP (x1, 1);
26248 : : x3 = XEXP (x2, 1);
26249 : : x4 = XVECEXP (x3, 0, 0);
26250 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26251 : : return NULL;
26252 : : x5 = XVECEXP (x3, 0, 1);
26253 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
26254 : : return NULL;
26255 : : switch (GET_MODE (operands[0]))
26256 : : {
26257 : : case E_V2DFmode:
26258 : : if (!nonimmediate_operand (operands[0], E_V2DFmode)
26259 : : || GET_MODE (x2) != E_V2DFmode)
26260 : : return NULL;
26261 : : switch (GET_MODE (operands[1]))
26262 : : {
26263 : : case E_V8DFmode:
26264 : : if (!register_operand (operands[1], E_V8DFmode)
26265 : : || !
26266 : : #line 12495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26267 : : (TARGET_AVX512DQ
26268 : : && reload_completed
26269 : : && (TARGET_AVX512VL
26270 : : || REG_P (operands[0])
26271 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26272 : : return NULL;
26273 : : return gen_split_1591 (insn, operands);
26274 : :
26275 : : case E_V4DFmode:
26276 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
26277 : : || !
26278 : : #line 12911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26279 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26280 : : && reload_completed))
26281 : : return NULL;
26282 : : return gen_split_1600 (insn, operands);
26283 : :
26284 : : default:
26285 : : return NULL;
26286 : : }
26287 : :
26288 : : case E_V2DImode:
26289 : : if (!nonimmediate_operand (operands[0], E_V2DImode)
26290 : : || GET_MODE (x2) != E_V2DImode)
26291 : : return NULL;
26292 : : switch (GET_MODE (operands[1]))
26293 : : {
26294 : : case E_V8DImode:
26295 : : if (!register_operand (operands[1], E_V8DImode)
26296 : : || !
26297 : : #line 12495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26298 : : (TARGET_AVX512DQ
26299 : : && reload_completed
26300 : : && (TARGET_AVX512VL
26301 : : || REG_P (operands[0])
26302 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26303 : : return NULL;
26304 : : return gen_split_1592 (insn, operands);
26305 : :
26306 : : case E_V4DImode:
26307 : : if (!nonimmediate_operand (operands[1], E_V4DImode)
26308 : : || !
26309 : : #line 12911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26310 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26311 : : && reload_completed))
26312 : : return NULL;
26313 : : return gen_split_1599 (insn, operands);
26314 : :
26315 : : default:
26316 : : return NULL;
26317 : : }
26318 : :
26319 : : default:
26320 : : return NULL;
26321 : : }
26322 : : }
26323 : :
26324 : : rtx_insn *
26325 : : split_64 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26326 : : {
26327 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26328 : : rtx x2, x3;
26329 : : rtx_insn *res ATTRIBUTE_UNUSED;
26330 : : x2 = XEXP (x1, 1);
26331 : : x3 = XEXP (x2, 1);
26332 : : if (pattern819 (x3) != 0)
26333 : : return NULL;
26334 : : switch (GET_MODE (operands[0]))
26335 : : {
26336 : : case E_V4SFmode:
26337 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
26338 : : || GET_MODE (x2) != E_V4SFmode)
26339 : : return NULL;
26340 : : switch (GET_MODE (operands[1]))
26341 : : {
26342 : : case E_V16SFmode:
26343 : : if (!register_operand (operands[1], E_V16SFmode)
26344 : : || !
26345 : : #line 12565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26346 : : (TARGET_AVX512F
26347 : : && reload_completed
26348 : : && (TARGET_AVX512VL
26349 : : || REG_P (operands[0])
26350 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26351 : : return NULL;
26352 : : return gen_split_1593 (insn, operands);
26353 : :
26354 : : case E_V8SFmode:
26355 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
26356 : : || !
26357 : : #line 12964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26358 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26359 : : && reload_completed))
26360 : : return NULL;
26361 : : return gen_split_1602 (insn, operands);
26362 : :
26363 : : default:
26364 : : return NULL;
26365 : : }
26366 : :
26367 : : case E_V4SImode:
26368 : : if (!nonimmediate_operand (operands[0], E_V4SImode)
26369 : : || GET_MODE (x2) != E_V4SImode)
26370 : : return NULL;
26371 : : switch (GET_MODE (operands[1]))
26372 : : {
26373 : : case E_V16SImode:
26374 : : if (!register_operand (operands[1], E_V16SImode)
26375 : : || !
26376 : : #line 12565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26377 : : (TARGET_AVX512F
26378 : : && reload_completed
26379 : : && (TARGET_AVX512VL
26380 : : || REG_P (operands[0])
26381 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26382 : : return NULL;
26383 : : return gen_split_1594 (insn, operands);
26384 : :
26385 : : case E_V8SImode:
26386 : : if (!nonimmediate_operand (operands[1], E_V8SImode)
26387 : : || !
26388 : : #line 12964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26389 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26390 : : && reload_completed))
26391 : : return NULL;
26392 : : return gen_split_1601 (insn, operands);
26393 : :
26394 : : default:
26395 : : return NULL;
26396 : : }
26397 : :
26398 : : case E_V4DFmode:
26399 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
26400 : : || GET_MODE (x2) != E_V4DFmode
26401 : : || !nonimmediate_operand (operands[1], E_V8DFmode)
26402 : : || !
26403 : : #line 12628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26404 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26405 : : && reload_completed
26406 : : && (TARGET_AVX512VL
26407 : : || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
26408 : : return NULL;
26409 : : return gen_split_1595 (insn, operands);
26410 : :
26411 : : case E_V4DImode:
26412 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
26413 : : || GET_MODE (x2) != E_V4DImode
26414 : : || !nonimmediate_operand (operands[1], E_V8DImode)
26415 : : || !
26416 : : #line 12628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26417 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26418 : : && reload_completed
26419 : : && (TARGET_AVX512VL
26420 : : || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
26421 : : return NULL;
26422 : : return gen_split_1596 (insn, operands);
26423 : :
26424 : : default:
26425 : : return NULL;
26426 : : }
26427 : : }
26428 : :
26429 : : rtx_insn *
26430 : : split_67 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26431 : : {
26432 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26433 : : rtx x2, x3, x4;
26434 : : rtx_insn *res ATTRIBUTE_UNUSED;
26435 : : x2 = XEXP (x1, 1);
26436 : : x3 = XEXP (x2, 0);
26437 : : x4 = XEXP (x3, 0);
26438 : : switch (GET_CODE (x4))
26439 : : {
26440 : : case REG:
26441 : : case SUBREG:
26442 : : case MEM:
26443 : : case NOT:
26444 : : switch (pattern520 (x2))
26445 : : {
26446 : : case 0:
26447 : : if (!((
26448 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26449 : : ((64 == 64 || TARGET_AVX512VL
26450 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26451 : : && ix86_pre_reload_split ()
26452 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26453 : : STRIP_UNARY (operands[4]))
26454 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26455 : : STRIP_UNARY (operands[4]))
26456 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26457 : : STRIP_UNARY (operands[3]))
26458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26459 : : STRIP_UNARY (operands[3])))) &&
26460 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26461 : : (TARGET_AVX512F)) &&
26462 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26463 : : ( 1)))
26464 : : return NULL;
26465 : : return gen_split_1709 (insn, operands);
26466 : :
26467 : : case 1:
26468 : : if (!((
26469 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26470 : : ((32 == 64 || TARGET_AVX512VL
26471 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26472 : : && ix86_pre_reload_split ()
26473 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26474 : : STRIP_UNARY (operands[4]))
26475 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26476 : : STRIP_UNARY (operands[4]))
26477 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26478 : : STRIP_UNARY (operands[3]))
26479 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26480 : : STRIP_UNARY (operands[3])))) &&
26481 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26482 : : (TARGET_AVX)) &&
26483 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26484 : : ( 1)))
26485 : : return NULL;
26486 : : return gen_split_1736 (insn, operands);
26487 : :
26488 : : case 2:
26489 : : if (!(
26490 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26491 : : ((16 == 64 || TARGET_AVX512VL
26492 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26493 : : && ix86_pre_reload_split ()
26494 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26495 : : STRIP_UNARY (operands[4]))
26496 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26497 : : STRIP_UNARY (operands[4]))
26498 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26499 : : STRIP_UNARY (operands[3]))
26500 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26501 : : STRIP_UNARY (operands[3])))) &&
26502 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26503 : : ( 1)))
26504 : : return NULL;
26505 : : return gen_split_1763 (insn, operands);
26506 : :
26507 : : case 3:
26508 : : if (!((
26509 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26510 : : ((64 == 64 || TARGET_AVX512VL
26511 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26512 : : && ix86_pre_reload_split ()
26513 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26514 : : STRIP_UNARY (operands[4]))
26515 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26516 : : STRIP_UNARY (operands[4]))
26517 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26518 : : STRIP_UNARY (operands[3]))
26519 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26520 : : STRIP_UNARY (operands[3])))) &&
26521 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26522 : : (TARGET_AVX512F)) &&
26523 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26524 : : ( 1)))
26525 : : return NULL;
26526 : : return gen_split_1790 (insn, operands);
26527 : :
26528 : : case 4:
26529 : : if (!((
26530 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26531 : : ((32 == 64 || TARGET_AVX512VL
26532 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26533 : : && ix86_pre_reload_split ()
26534 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26535 : : STRIP_UNARY (operands[4]))
26536 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26537 : : STRIP_UNARY (operands[4]))
26538 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26539 : : STRIP_UNARY (operands[3]))
26540 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26541 : : STRIP_UNARY (operands[3])))) &&
26542 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26543 : : (TARGET_AVX)) &&
26544 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26545 : : ( 1)))
26546 : : return NULL;
26547 : : return gen_split_1817 (insn, operands);
26548 : :
26549 : : case 5:
26550 : : if (!(
26551 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26552 : : ((16 == 64 || TARGET_AVX512VL
26553 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26554 : : && ix86_pre_reload_split ()
26555 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26556 : : STRIP_UNARY (operands[4]))
26557 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26558 : : STRIP_UNARY (operands[4]))
26559 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26560 : : STRIP_UNARY (operands[3]))
26561 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26562 : : STRIP_UNARY (operands[3])))) &&
26563 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26564 : : ( 1)))
26565 : : return NULL;
26566 : : return gen_split_1844 (insn, operands);
26567 : :
26568 : : case 6:
26569 : : if (!((
26570 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26571 : : ((64 == 64 || TARGET_AVX512VL
26572 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26573 : : && ix86_pre_reload_split ()
26574 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26575 : : STRIP_UNARY (operands[4]))
26576 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26577 : : STRIP_UNARY (operands[4]))
26578 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26579 : : STRIP_UNARY (operands[3]))
26580 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26581 : : STRIP_UNARY (operands[3])))) &&
26582 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26583 : : (TARGET_AVX512F)) &&
26584 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26585 : : ( 1)))
26586 : : return NULL;
26587 : : return gen_split_1871 (insn, operands);
26588 : :
26589 : : case 7:
26590 : : if (!((
26591 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26592 : : ((32 == 64 || TARGET_AVX512VL
26593 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26594 : : && ix86_pre_reload_split ()
26595 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26596 : : STRIP_UNARY (operands[4]))
26597 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26598 : : STRIP_UNARY (operands[4]))
26599 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26600 : : STRIP_UNARY (operands[3]))
26601 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26602 : : STRIP_UNARY (operands[3])))) &&
26603 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26604 : : (TARGET_AVX)) &&
26605 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26606 : : ( 1)))
26607 : : return NULL;
26608 : : return gen_split_1898 (insn, operands);
26609 : :
26610 : : case 8:
26611 : : if (!(
26612 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26613 : : ((16 == 64 || TARGET_AVX512VL
26614 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26615 : : && ix86_pre_reload_split ()
26616 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26617 : : STRIP_UNARY (operands[4]))
26618 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26619 : : STRIP_UNARY (operands[4]))
26620 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26621 : : STRIP_UNARY (operands[3]))
26622 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26623 : : STRIP_UNARY (operands[3])))) &&
26624 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26625 : : ( 1)))
26626 : : return NULL;
26627 : : return gen_split_1925 (insn, operands);
26628 : :
26629 : : case 9:
26630 : : if (!((
26631 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26632 : : ((64 == 64 || TARGET_AVX512VL
26633 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26634 : : && ix86_pre_reload_split ()
26635 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26636 : : STRIP_UNARY (operands[4]))
26637 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26638 : : STRIP_UNARY (operands[4]))
26639 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26640 : : STRIP_UNARY (operands[3]))
26641 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26642 : : STRIP_UNARY (operands[3])))) &&
26643 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26644 : : (TARGET_AVX512F)) &&
26645 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26646 : : ( 1)))
26647 : : return NULL;
26648 : : return gen_split_1952 (insn, operands);
26649 : :
26650 : : case 10:
26651 : : if (!((
26652 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26653 : : ((32 == 64 || TARGET_AVX512VL
26654 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26655 : : && ix86_pre_reload_split ()
26656 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26657 : : STRIP_UNARY (operands[4]))
26658 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26659 : : STRIP_UNARY (operands[4]))
26660 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26661 : : STRIP_UNARY (operands[3]))
26662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26663 : : STRIP_UNARY (operands[3])))) &&
26664 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26665 : : (TARGET_AVX)) &&
26666 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26667 : : ( 1)))
26668 : : return NULL;
26669 : : return gen_split_1979 (insn, operands);
26670 : :
26671 : : case 11:
26672 : : if (!(
26673 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26674 : : ((16 == 64 || TARGET_AVX512VL
26675 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26676 : : && ix86_pre_reload_split ()
26677 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26678 : : STRIP_UNARY (operands[4]))
26679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26680 : : STRIP_UNARY (operands[4]))
26681 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26682 : : STRIP_UNARY (operands[3]))
26683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26684 : : STRIP_UNARY (operands[3])))) &&
26685 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26686 : : ( 1)))
26687 : : return NULL;
26688 : : return gen_split_2006 (insn, operands);
26689 : :
26690 : : case 12:
26691 : : if (!((
26692 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26693 : : ((64 == 64 || TARGET_AVX512VL
26694 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26695 : : && ix86_pre_reload_split ()
26696 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26697 : : STRIP_UNARY (operands[4]))
26698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26699 : : STRIP_UNARY (operands[4]))
26700 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26701 : : STRIP_UNARY (operands[3]))
26702 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26703 : : STRIP_UNARY (operands[3])))) &&
26704 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26705 : : (TARGET_AVX512F)) &&
26706 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26707 : : ( 1)))
26708 : : return NULL;
26709 : : return gen_split_1712 (insn, operands);
26710 : :
26711 : : case 13:
26712 : : if (!((
26713 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26714 : : ((32 == 64 || TARGET_AVX512VL
26715 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26716 : : && ix86_pre_reload_split ()
26717 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26718 : : STRIP_UNARY (operands[4]))
26719 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26720 : : STRIP_UNARY (operands[4]))
26721 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26722 : : STRIP_UNARY (operands[3]))
26723 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26724 : : STRIP_UNARY (operands[3])))) &&
26725 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26726 : : (TARGET_AVX)) &&
26727 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26728 : : ( 1)))
26729 : : return NULL;
26730 : : return gen_split_1739 (insn, operands);
26731 : :
26732 : : case 14:
26733 : : if (!(
26734 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26735 : : ((16 == 64 || TARGET_AVX512VL
26736 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26737 : : && ix86_pre_reload_split ()
26738 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26739 : : STRIP_UNARY (operands[4]))
26740 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26741 : : STRIP_UNARY (operands[4]))
26742 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26743 : : STRIP_UNARY (operands[3]))
26744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26745 : : STRIP_UNARY (operands[3])))) &&
26746 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26747 : : ( 1)))
26748 : : return NULL;
26749 : : return gen_split_1766 (insn, operands);
26750 : :
26751 : : case 15:
26752 : : if (!((
26753 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26754 : : ((64 == 64 || TARGET_AVX512VL
26755 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26756 : : && ix86_pre_reload_split ()
26757 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26758 : : STRIP_UNARY (operands[4]))
26759 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26760 : : STRIP_UNARY (operands[4]))
26761 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26762 : : STRIP_UNARY (operands[3]))
26763 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26764 : : STRIP_UNARY (operands[3])))) &&
26765 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26766 : : (TARGET_AVX512F)) &&
26767 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26768 : : ( 1)))
26769 : : return NULL;
26770 : : return gen_split_1793 (insn, operands);
26771 : :
26772 : : case 16:
26773 : : if (!((
26774 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26775 : : ((32 == 64 || TARGET_AVX512VL
26776 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26777 : : && ix86_pre_reload_split ()
26778 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26779 : : STRIP_UNARY (operands[4]))
26780 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26781 : : STRIP_UNARY (operands[4]))
26782 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26783 : : STRIP_UNARY (operands[3]))
26784 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26785 : : STRIP_UNARY (operands[3])))) &&
26786 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26787 : : (TARGET_AVX)) &&
26788 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26789 : : ( 1)))
26790 : : return NULL;
26791 : : return gen_split_1820 (insn, operands);
26792 : :
26793 : : case 17:
26794 : : if (!(
26795 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26796 : : ((16 == 64 || TARGET_AVX512VL
26797 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26798 : : && ix86_pre_reload_split ()
26799 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26800 : : STRIP_UNARY (operands[4]))
26801 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26802 : : STRIP_UNARY (operands[4]))
26803 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26804 : : STRIP_UNARY (operands[3]))
26805 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26806 : : STRIP_UNARY (operands[3])))) &&
26807 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26808 : : ( 1)))
26809 : : return NULL;
26810 : : return gen_split_1847 (insn, operands);
26811 : :
26812 : : case 18:
26813 : : if (!((
26814 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26815 : : ((64 == 64 || TARGET_AVX512VL
26816 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26817 : : && ix86_pre_reload_split ()
26818 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26819 : : STRIP_UNARY (operands[4]))
26820 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26821 : : STRIP_UNARY (operands[4]))
26822 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26823 : : STRIP_UNARY (operands[3]))
26824 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26825 : : STRIP_UNARY (operands[3])))) &&
26826 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26827 : : (TARGET_AVX512F)) &&
26828 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26829 : : ( 1)))
26830 : : return NULL;
26831 : : return gen_split_1874 (insn, operands);
26832 : :
26833 : : case 19:
26834 : : if (!((
26835 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26836 : : ((32 == 64 || TARGET_AVX512VL
26837 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26838 : : && ix86_pre_reload_split ()
26839 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26840 : : STRIP_UNARY (operands[4]))
26841 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26842 : : STRIP_UNARY (operands[4]))
26843 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26844 : : STRIP_UNARY (operands[3]))
26845 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26846 : : STRIP_UNARY (operands[3])))) &&
26847 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26848 : : (TARGET_AVX)) &&
26849 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26850 : : ( 1)))
26851 : : return NULL;
26852 : : return gen_split_1901 (insn, operands);
26853 : :
26854 : : case 20:
26855 : : if (!(
26856 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26857 : : ((16 == 64 || TARGET_AVX512VL
26858 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26859 : : && ix86_pre_reload_split ()
26860 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26861 : : STRIP_UNARY (operands[4]))
26862 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26863 : : STRIP_UNARY (operands[4]))
26864 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26865 : : STRIP_UNARY (operands[3]))
26866 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26867 : : STRIP_UNARY (operands[3])))) &&
26868 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26869 : : ( 1)))
26870 : : return NULL;
26871 : : return gen_split_1928 (insn, operands);
26872 : :
26873 : : case 21:
26874 : : if (!((
26875 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26876 : : ((64 == 64 || TARGET_AVX512VL
26877 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26878 : : && ix86_pre_reload_split ()
26879 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26880 : : STRIP_UNARY (operands[4]))
26881 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26882 : : STRIP_UNARY (operands[4]))
26883 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26884 : : STRIP_UNARY (operands[3]))
26885 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26886 : : STRIP_UNARY (operands[3])))) &&
26887 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26888 : : (TARGET_AVX512F)) &&
26889 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26890 : : ( 1)))
26891 : : return NULL;
26892 : : return gen_split_1955 (insn, operands);
26893 : :
26894 : : case 22:
26895 : : if (!((
26896 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26897 : : ((32 == 64 || TARGET_AVX512VL
26898 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26899 : : && ix86_pre_reload_split ()
26900 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26901 : : STRIP_UNARY (operands[4]))
26902 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26903 : : STRIP_UNARY (operands[4]))
26904 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26905 : : STRIP_UNARY (operands[3]))
26906 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26907 : : STRIP_UNARY (operands[3])))) &&
26908 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26909 : : (TARGET_AVX)) &&
26910 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26911 : : ( 1)))
26912 : : return NULL;
26913 : : return gen_split_1982 (insn, operands);
26914 : :
26915 : : case 23:
26916 : : if (!(
26917 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26918 : : ((16 == 64 || TARGET_AVX512VL
26919 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26920 : : && ix86_pre_reload_split ()
26921 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26922 : : STRIP_UNARY (operands[4]))
26923 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26924 : : STRIP_UNARY (operands[4]))
26925 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26926 : : STRIP_UNARY (operands[3]))
26927 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26928 : : STRIP_UNARY (operands[3])))) &&
26929 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26930 : : ( 1)))
26931 : : return NULL;
26932 : : return gen_split_2009 (insn, operands);
26933 : :
26934 : : case 24:
26935 : : if (!((
26936 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26937 : : ((64 == 64 || TARGET_AVX512VL
26938 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26939 : : && ix86_pre_reload_split ()
26940 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26941 : : STRIP_UNARY (operands[4]))
26942 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26943 : : STRIP_UNARY (operands[4]))
26944 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26945 : : STRIP_UNARY (operands[3]))
26946 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26947 : : STRIP_UNARY (operands[3])))) &&
26948 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26949 : : (TARGET_AVX512F)) &&
26950 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26951 : : ( 1)))
26952 : : return NULL;
26953 : : return gen_split_1715 (insn, operands);
26954 : :
26955 : : case 25:
26956 : : if (!((
26957 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26958 : : ((32 == 64 || TARGET_AVX512VL
26959 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26960 : : && ix86_pre_reload_split ()
26961 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26962 : : STRIP_UNARY (operands[4]))
26963 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26964 : : STRIP_UNARY (operands[4]))
26965 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26966 : : STRIP_UNARY (operands[3]))
26967 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26968 : : STRIP_UNARY (operands[3])))) &&
26969 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26970 : : (TARGET_AVX)) &&
26971 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26972 : : ( 1)))
26973 : : return NULL;
26974 : : return gen_split_1742 (insn, operands);
26975 : :
26976 : : case 26:
26977 : : if (!(
26978 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26979 : : ((16 == 64 || TARGET_AVX512VL
26980 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26981 : : && ix86_pre_reload_split ()
26982 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26983 : : STRIP_UNARY (operands[4]))
26984 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26985 : : STRIP_UNARY (operands[4]))
26986 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26987 : : STRIP_UNARY (operands[3]))
26988 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26989 : : STRIP_UNARY (operands[3])))) &&
26990 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26991 : : ( 1)))
26992 : : return NULL;
26993 : : return gen_split_1769 (insn, operands);
26994 : :
26995 : : case 27:
26996 : : if (!((
26997 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26998 : : ((64 == 64 || TARGET_AVX512VL
26999 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27000 : : && ix86_pre_reload_split ()
27001 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27002 : : STRIP_UNARY (operands[4]))
27003 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27004 : : STRIP_UNARY (operands[4]))
27005 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27006 : : STRIP_UNARY (operands[3]))
27007 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27008 : : STRIP_UNARY (operands[3])))) &&
27009 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27010 : : (TARGET_AVX512F)) &&
27011 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27012 : : ( 1)))
27013 : : return NULL;
27014 : : return gen_split_1796 (insn, operands);
27015 : :
27016 : : case 28:
27017 : : if (!((
27018 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27019 : : ((32 == 64 || TARGET_AVX512VL
27020 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27021 : : && ix86_pre_reload_split ()
27022 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27023 : : STRIP_UNARY (operands[4]))
27024 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27025 : : STRIP_UNARY (operands[4]))
27026 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27027 : : STRIP_UNARY (operands[3]))
27028 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27029 : : STRIP_UNARY (operands[3])))) &&
27030 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27031 : : (TARGET_AVX)) &&
27032 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27033 : : ( 1)))
27034 : : return NULL;
27035 : : return gen_split_1823 (insn, operands);
27036 : :
27037 : : case 29:
27038 : : if (!(
27039 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27040 : : ((16 == 64 || TARGET_AVX512VL
27041 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27042 : : && ix86_pre_reload_split ()
27043 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27044 : : STRIP_UNARY (operands[4]))
27045 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27046 : : STRIP_UNARY (operands[4]))
27047 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27048 : : STRIP_UNARY (operands[3]))
27049 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27050 : : STRIP_UNARY (operands[3])))) &&
27051 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27052 : : ( 1)))
27053 : : return NULL;
27054 : : return gen_split_1850 (insn, operands);
27055 : :
27056 : : case 30:
27057 : : if (!((
27058 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27059 : : ((64 == 64 || TARGET_AVX512VL
27060 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27061 : : && ix86_pre_reload_split ()
27062 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27063 : : STRIP_UNARY (operands[4]))
27064 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27065 : : STRIP_UNARY (operands[4]))
27066 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27067 : : STRIP_UNARY (operands[3]))
27068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27069 : : STRIP_UNARY (operands[3])))) &&
27070 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27071 : : (TARGET_AVX512F)) &&
27072 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27073 : : ( 1)))
27074 : : return NULL;
27075 : : return gen_split_1877 (insn, operands);
27076 : :
27077 : : case 31:
27078 : : if (!((
27079 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27080 : : ((32 == 64 || TARGET_AVX512VL
27081 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27082 : : && ix86_pre_reload_split ()
27083 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27084 : : STRIP_UNARY (operands[4]))
27085 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27086 : : STRIP_UNARY (operands[4]))
27087 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27088 : : STRIP_UNARY (operands[3]))
27089 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27090 : : STRIP_UNARY (operands[3])))) &&
27091 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27092 : : (TARGET_AVX)) &&
27093 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27094 : : ( 1)))
27095 : : return NULL;
27096 : : return gen_split_1904 (insn, operands);
27097 : :
27098 : : case 32:
27099 : : if (!(
27100 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27101 : : ((16 == 64 || TARGET_AVX512VL
27102 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27103 : : && ix86_pre_reload_split ()
27104 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27105 : : STRIP_UNARY (operands[4]))
27106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27107 : : STRIP_UNARY (operands[4]))
27108 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27109 : : STRIP_UNARY (operands[3]))
27110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27111 : : STRIP_UNARY (operands[3])))) &&
27112 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27113 : : ( 1)))
27114 : : return NULL;
27115 : : return gen_split_1931 (insn, operands);
27116 : :
27117 : : case 33:
27118 : : if (!((
27119 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27120 : : ((64 == 64 || TARGET_AVX512VL
27121 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27122 : : && ix86_pre_reload_split ()
27123 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27124 : : STRIP_UNARY (operands[4]))
27125 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27126 : : STRIP_UNARY (operands[4]))
27127 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27128 : : STRIP_UNARY (operands[3]))
27129 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27130 : : STRIP_UNARY (operands[3])))) &&
27131 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27132 : : (TARGET_AVX512F)) &&
27133 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27134 : : ( 1)))
27135 : : return NULL;
27136 : : return gen_split_1958 (insn, operands);
27137 : :
27138 : : case 34:
27139 : : if (!((
27140 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27141 : : ((32 == 64 || TARGET_AVX512VL
27142 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27143 : : && ix86_pre_reload_split ()
27144 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27145 : : STRIP_UNARY (operands[4]))
27146 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27147 : : STRIP_UNARY (operands[4]))
27148 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27149 : : STRIP_UNARY (operands[3]))
27150 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27151 : : STRIP_UNARY (operands[3])))) &&
27152 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27153 : : (TARGET_AVX)) &&
27154 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27155 : : ( 1)))
27156 : : return NULL;
27157 : : return gen_split_1985 (insn, operands);
27158 : :
27159 : : case 35:
27160 : : if (!(
27161 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27162 : : ((16 == 64 || TARGET_AVX512VL
27163 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27164 : : && ix86_pre_reload_split ()
27165 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27166 : : STRIP_UNARY (operands[4]))
27167 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27168 : : STRIP_UNARY (operands[4]))
27169 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27170 : : STRIP_UNARY (operands[3]))
27171 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27172 : : STRIP_UNARY (operands[3])))) &&
27173 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27174 : : ( 1)))
27175 : : return NULL;
27176 : : return gen_split_2012 (insn, operands);
27177 : :
27178 : : case 36:
27179 : : if (!((
27180 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27181 : : ((64 == 64 || TARGET_AVX512VL
27182 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27183 : : && ix86_pre_reload_split ()) &&
27184 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27185 : : (TARGET_AVX512F)) &&
27186 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27187 : : ( 1)))
27188 : : return NULL;
27189 : : return gen_split_2993 (insn, operands);
27190 : :
27191 : : case 37:
27192 : : if (!((
27193 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27194 : : ((32 == 64 || TARGET_AVX512VL
27195 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27196 : : && ix86_pre_reload_split ()) &&
27197 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27198 : : (TARGET_AVX)) &&
27199 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27200 : : ( 1)))
27201 : : return NULL;
27202 : : return gen_split_3002 (insn, operands);
27203 : :
27204 : : case 38:
27205 : : if (!(
27206 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27207 : : ((16 == 64 || TARGET_AVX512VL
27208 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27209 : : && ix86_pre_reload_split ()) &&
27210 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27211 : : ( 1)))
27212 : : return NULL;
27213 : : return gen_split_3011 (insn, operands);
27214 : :
27215 : : case 39:
27216 : : if (!((
27217 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27218 : : ((64 == 64 || TARGET_AVX512VL
27219 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27220 : : && ix86_pre_reload_split ()) &&
27221 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27222 : : (TARGET_AVX512F)) &&
27223 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27224 : : ( 1)))
27225 : : return NULL;
27226 : : return gen_split_3020 (insn, operands);
27227 : :
27228 : : case 40:
27229 : : if (!((
27230 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27231 : : ((32 == 64 || TARGET_AVX512VL
27232 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27233 : : && ix86_pre_reload_split ()) &&
27234 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27235 : : (TARGET_AVX)) &&
27236 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27237 : : ( 1)))
27238 : : return NULL;
27239 : : return gen_split_3029 (insn, operands);
27240 : :
27241 : : case 41:
27242 : : if (!(
27243 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27244 : : ((16 == 64 || TARGET_AVX512VL
27245 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27246 : : && ix86_pre_reload_split ()) &&
27247 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27248 : : ( 1)))
27249 : : return NULL;
27250 : : return gen_split_3038 (insn, operands);
27251 : :
27252 : : case 42:
27253 : : if (!((
27254 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27255 : : ((64 == 64 || TARGET_AVX512VL
27256 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27257 : : && ix86_pre_reload_split ()) &&
27258 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27259 : : (TARGET_AVX512F)) &&
27260 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27261 : : ( 1)))
27262 : : return NULL;
27263 : : return gen_split_3047 (insn, operands);
27264 : :
27265 : : case 43:
27266 : : if (!((
27267 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27268 : : ((32 == 64 || TARGET_AVX512VL
27269 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27270 : : && ix86_pre_reload_split ()) &&
27271 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27272 : : (TARGET_AVX)) &&
27273 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27274 : : ( 1)))
27275 : : return NULL;
27276 : : return gen_split_3056 (insn, operands);
27277 : :
27278 : : case 44:
27279 : : if (!(
27280 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27281 : : ((16 == 64 || TARGET_AVX512VL
27282 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27283 : : && ix86_pre_reload_split ()) &&
27284 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27285 : : ( 1)))
27286 : : return NULL;
27287 : : return gen_split_3065 (insn, operands);
27288 : :
27289 : : case 45:
27290 : : if (!((
27291 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27292 : : ((64 == 64 || TARGET_AVX512VL
27293 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27294 : : && ix86_pre_reload_split ()) &&
27295 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27296 : : (TARGET_AVX512F)) &&
27297 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27298 : : ( 1)))
27299 : : return NULL;
27300 : : return gen_split_3074 (insn, operands);
27301 : :
27302 : : case 46:
27303 : : if (!((
27304 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27305 : : ((32 == 64 || TARGET_AVX512VL
27306 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27307 : : && ix86_pre_reload_split ()) &&
27308 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27309 : : (TARGET_AVX)) &&
27310 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27311 : : ( 1)))
27312 : : return NULL;
27313 : : return gen_split_3083 (insn, operands);
27314 : :
27315 : : case 47:
27316 : : if (!(
27317 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27318 : : ((16 == 64 || TARGET_AVX512VL
27319 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27320 : : && ix86_pre_reload_split ()) &&
27321 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27322 : : ( 1)))
27323 : : return NULL;
27324 : : return gen_split_3092 (insn, operands);
27325 : :
27326 : : default:
27327 : : return NULL;
27328 : : }
27329 : :
27330 : : case AND:
27331 : : switch (pattern522 (x2))
27332 : : {
27333 : : case 0:
27334 : : if (!((
27335 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27336 : : ((64 == 64 || TARGET_AVX512VL
27337 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27338 : : && ix86_pre_reload_split ()
27339 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27340 : : STRIP_UNARY (operands[4]))
27341 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27342 : : STRIP_UNARY (operands[4]))
27343 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27344 : : STRIP_UNARY (operands[3]))
27345 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27346 : : STRIP_UNARY (operands[3])))) &&
27347 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27348 : : (TARGET_AVX512F)) &&
27349 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27350 : : ( 1)))
27351 : : return NULL;
27352 : : return gen_split_2357 (insn, operands);
27353 : :
27354 : : case 1:
27355 : : if (!((
27356 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27357 : : ((32 == 64 || TARGET_AVX512VL
27358 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27359 : : && ix86_pre_reload_split ()
27360 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27361 : : STRIP_UNARY (operands[4]))
27362 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27363 : : STRIP_UNARY (operands[4]))
27364 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27365 : : STRIP_UNARY (operands[3]))
27366 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27367 : : STRIP_UNARY (operands[3])))) &&
27368 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27369 : : (TARGET_AVX)) &&
27370 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27371 : : ( 1)))
27372 : : return NULL;
27373 : : return gen_split_2384 (insn, operands);
27374 : :
27375 : : case 2:
27376 : : if (!(
27377 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27378 : : ((16 == 64 || TARGET_AVX512VL
27379 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27380 : : && ix86_pre_reload_split ()
27381 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27382 : : STRIP_UNARY (operands[4]))
27383 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27384 : : STRIP_UNARY (operands[4]))
27385 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27386 : : STRIP_UNARY (operands[3]))
27387 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27388 : : STRIP_UNARY (operands[3])))) &&
27389 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27390 : : ( 1)))
27391 : : return NULL;
27392 : : return gen_split_2411 (insn, operands);
27393 : :
27394 : : case 3:
27395 : : if (!((
27396 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27397 : : ((64 == 64 || TARGET_AVX512VL
27398 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27399 : : && ix86_pre_reload_split ()
27400 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27401 : : STRIP_UNARY (operands[4]))
27402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27403 : : STRIP_UNARY (operands[4]))
27404 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27405 : : STRIP_UNARY (operands[3]))
27406 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27407 : : STRIP_UNARY (operands[3])))) &&
27408 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27409 : : (TARGET_AVX512F)) &&
27410 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27411 : : ( 1)))
27412 : : return NULL;
27413 : : return gen_split_2438 (insn, operands);
27414 : :
27415 : : case 4:
27416 : : if (!((
27417 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27418 : : ((32 == 64 || TARGET_AVX512VL
27419 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27420 : : && ix86_pre_reload_split ()
27421 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27422 : : STRIP_UNARY (operands[4]))
27423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27424 : : STRIP_UNARY (operands[4]))
27425 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27426 : : STRIP_UNARY (operands[3]))
27427 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27428 : : STRIP_UNARY (operands[3])))) &&
27429 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27430 : : (TARGET_AVX)) &&
27431 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27432 : : ( 1)))
27433 : : return NULL;
27434 : : return gen_split_2465 (insn, operands);
27435 : :
27436 : : case 5:
27437 : : if (!(
27438 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27439 : : ((16 == 64 || TARGET_AVX512VL
27440 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27441 : : && ix86_pre_reload_split ()
27442 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27443 : : STRIP_UNARY (operands[4]))
27444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27445 : : STRIP_UNARY (operands[4]))
27446 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27447 : : STRIP_UNARY (operands[3]))
27448 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27449 : : STRIP_UNARY (operands[3])))) &&
27450 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27451 : : ( 1)))
27452 : : return NULL;
27453 : : return gen_split_2492 (insn, operands);
27454 : :
27455 : : case 6:
27456 : : if (!((
27457 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27458 : : ((64 == 64 || TARGET_AVX512VL
27459 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27460 : : && ix86_pre_reload_split ()
27461 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27462 : : STRIP_UNARY (operands[4]))
27463 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27464 : : STRIP_UNARY (operands[4]))
27465 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27466 : : STRIP_UNARY (operands[3]))
27467 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27468 : : STRIP_UNARY (operands[3])))) &&
27469 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27470 : : (TARGET_AVX512F)) &&
27471 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27472 : : ( 1)))
27473 : : return NULL;
27474 : : return gen_split_2519 (insn, operands);
27475 : :
27476 : : case 7:
27477 : : if (!((
27478 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27479 : : ((32 == 64 || TARGET_AVX512VL
27480 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27481 : : && ix86_pre_reload_split ()
27482 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27483 : : STRIP_UNARY (operands[4]))
27484 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27485 : : STRIP_UNARY (operands[4]))
27486 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27487 : : STRIP_UNARY (operands[3]))
27488 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27489 : : STRIP_UNARY (operands[3])))) &&
27490 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27491 : : (TARGET_AVX)) &&
27492 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27493 : : ( 1)))
27494 : : return NULL;
27495 : : return gen_split_2546 (insn, operands);
27496 : :
27497 : : case 8:
27498 : : if (!(
27499 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27500 : : ((16 == 64 || TARGET_AVX512VL
27501 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27502 : : && ix86_pre_reload_split ()
27503 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27504 : : STRIP_UNARY (operands[4]))
27505 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27506 : : STRIP_UNARY (operands[4]))
27507 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27508 : : STRIP_UNARY (operands[3]))
27509 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27510 : : STRIP_UNARY (operands[3])))) &&
27511 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27512 : : ( 1)))
27513 : : return NULL;
27514 : : return gen_split_2573 (insn, operands);
27515 : :
27516 : : case 9:
27517 : : if (!((
27518 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27519 : : ((64 == 64 || TARGET_AVX512VL
27520 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27521 : : && ix86_pre_reload_split ()
27522 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27523 : : STRIP_UNARY (operands[4]))
27524 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27525 : : STRIP_UNARY (operands[4]))
27526 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27527 : : STRIP_UNARY (operands[3]))
27528 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27529 : : STRIP_UNARY (operands[3])))) &&
27530 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27531 : : (TARGET_AVX512F)) &&
27532 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27533 : : ( 1)))
27534 : : return NULL;
27535 : : return gen_split_2600 (insn, operands);
27536 : :
27537 : : case 10:
27538 : : if (!((
27539 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27540 : : ((32 == 64 || TARGET_AVX512VL
27541 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27542 : : && ix86_pre_reload_split ()
27543 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27544 : : STRIP_UNARY (operands[4]))
27545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27546 : : STRIP_UNARY (operands[4]))
27547 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27548 : : STRIP_UNARY (operands[3]))
27549 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27550 : : STRIP_UNARY (operands[3])))) &&
27551 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27552 : : (TARGET_AVX)) &&
27553 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27554 : : ( 1)))
27555 : : return NULL;
27556 : : return gen_split_2627 (insn, operands);
27557 : :
27558 : : case 11:
27559 : : if (!(
27560 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27561 : : ((16 == 64 || TARGET_AVX512VL
27562 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27563 : : && ix86_pre_reload_split ()
27564 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27565 : : STRIP_UNARY (operands[4]))
27566 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27567 : : STRIP_UNARY (operands[4]))
27568 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27569 : : STRIP_UNARY (operands[3]))
27570 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27571 : : STRIP_UNARY (operands[3])))) &&
27572 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27573 : : ( 1)))
27574 : : return NULL;
27575 : : return gen_split_2654 (insn, operands);
27576 : :
27577 : : default:
27578 : : return NULL;
27579 : : }
27580 : :
27581 : : case IOR:
27582 : : switch (pattern522 (x2))
27583 : : {
27584 : : case 0:
27585 : : if (!((
27586 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27587 : : ((64 == 64 || TARGET_AVX512VL
27588 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27589 : : && ix86_pre_reload_split ()
27590 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27591 : : STRIP_UNARY (operands[4]))
27592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27593 : : STRIP_UNARY (operands[4]))
27594 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27595 : : STRIP_UNARY (operands[3]))
27596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27597 : : STRIP_UNARY (operands[3])))) &&
27598 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27599 : : (TARGET_AVX512F)) &&
27600 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27601 : : ( 1)))
27602 : : return NULL;
27603 : : return gen_split_2360 (insn, operands);
27604 : :
27605 : : case 1:
27606 : : if (!((
27607 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27608 : : ((32 == 64 || TARGET_AVX512VL
27609 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27610 : : && ix86_pre_reload_split ()
27611 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27612 : : STRIP_UNARY (operands[4]))
27613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27614 : : STRIP_UNARY (operands[4]))
27615 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27616 : : STRIP_UNARY (operands[3]))
27617 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27618 : : STRIP_UNARY (operands[3])))) &&
27619 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27620 : : (TARGET_AVX)) &&
27621 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27622 : : ( 1)))
27623 : : return NULL;
27624 : : return gen_split_2387 (insn, operands);
27625 : :
27626 : : case 2:
27627 : : if (!(
27628 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27629 : : ((16 == 64 || TARGET_AVX512VL
27630 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27631 : : && ix86_pre_reload_split ()
27632 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27633 : : STRIP_UNARY (operands[4]))
27634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27635 : : STRIP_UNARY (operands[4]))
27636 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27637 : : STRIP_UNARY (operands[3]))
27638 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27639 : : STRIP_UNARY (operands[3])))) &&
27640 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27641 : : ( 1)))
27642 : : return NULL;
27643 : : return gen_split_2414 (insn, operands);
27644 : :
27645 : : case 3:
27646 : : if (!((
27647 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27648 : : ((64 == 64 || TARGET_AVX512VL
27649 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27650 : : && ix86_pre_reload_split ()
27651 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27652 : : STRIP_UNARY (operands[4]))
27653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27654 : : STRIP_UNARY (operands[4]))
27655 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27656 : : STRIP_UNARY (operands[3]))
27657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27658 : : STRIP_UNARY (operands[3])))) &&
27659 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27660 : : (TARGET_AVX512F)) &&
27661 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27662 : : ( 1)))
27663 : : return NULL;
27664 : : return gen_split_2441 (insn, operands);
27665 : :
27666 : : case 4:
27667 : : if (!((
27668 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27669 : : ((32 == 64 || TARGET_AVX512VL
27670 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27671 : : && ix86_pre_reload_split ()
27672 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27673 : : STRIP_UNARY (operands[4]))
27674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27675 : : STRIP_UNARY (operands[4]))
27676 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27677 : : STRIP_UNARY (operands[3]))
27678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27679 : : STRIP_UNARY (operands[3])))) &&
27680 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27681 : : (TARGET_AVX)) &&
27682 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27683 : : ( 1)))
27684 : : return NULL;
27685 : : return gen_split_2468 (insn, operands);
27686 : :
27687 : : case 5:
27688 : : if (!(
27689 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27690 : : ((16 == 64 || TARGET_AVX512VL
27691 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27692 : : && ix86_pre_reload_split ()
27693 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27694 : : STRIP_UNARY (operands[4]))
27695 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27696 : : STRIP_UNARY (operands[4]))
27697 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27698 : : STRIP_UNARY (operands[3]))
27699 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27700 : : STRIP_UNARY (operands[3])))) &&
27701 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27702 : : ( 1)))
27703 : : return NULL;
27704 : : return gen_split_2495 (insn, operands);
27705 : :
27706 : : case 6:
27707 : : if (!((
27708 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27709 : : ((64 == 64 || TARGET_AVX512VL
27710 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27711 : : && ix86_pre_reload_split ()
27712 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27713 : : STRIP_UNARY (operands[4]))
27714 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27715 : : STRIP_UNARY (operands[4]))
27716 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27717 : : STRIP_UNARY (operands[3]))
27718 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27719 : : STRIP_UNARY (operands[3])))) &&
27720 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27721 : : (TARGET_AVX512F)) &&
27722 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27723 : : ( 1)))
27724 : : return NULL;
27725 : : return gen_split_2522 (insn, operands);
27726 : :
27727 : : case 7:
27728 : : if (!((
27729 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27730 : : ((32 == 64 || TARGET_AVX512VL
27731 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27732 : : && ix86_pre_reload_split ()
27733 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27734 : : STRIP_UNARY (operands[4]))
27735 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27736 : : STRIP_UNARY (operands[4]))
27737 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27738 : : STRIP_UNARY (operands[3]))
27739 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27740 : : STRIP_UNARY (operands[3])))) &&
27741 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27742 : : (TARGET_AVX)) &&
27743 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27744 : : ( 1)))
27745 : : return NULL;
27746 : : return gen_split_2549 (insn, operands);
27747 : :
27748 : : case 8:
27749 : : if (!(
27750 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27751 : : ((16 == 64 || TARGET_AVX512VL
27752 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27753 : : && ix86_pre_reload_split ()
27754 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27755 : : STRIP_UNARY (operands[4]))
27756 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27757 : : STRIP_UNARY (operands[4]))
27758 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27759 : : STRIP_UNARY (operands[3]))
27760 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27761 : : STRIP_UNARY (operands[3])))) &&
27762 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27763 : : ( 1)))
27764 : : return NULL;
27765 : : return gen_split_2576 (insn, operands);
27766 : :
27767 : : case 9:
27768 : : if (!((
27769 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27770 : : ((64 == 64 || TARGET_AVX512VL
27771 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27772 : : && ix86_pre_reload_split ()
27773 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27774 : : STRIP_UNARY (operands[4]))
27775 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27776 : : STRIP_UNARY (operands[4]))
27777 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27778 : : STRIP_UNARY (operands[3]))
27779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27780 : : STRIP_UNARY (operands[3])))) &&
27781 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27782 : : (TARGET_AVX512F)) &&
27783 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27784 : : ( 1)))
27785 : : return NULL;
27786 : : return gen_split_2603 (insn, operands);
27787 : :
27788 : : case 10:
27789 : : if (!((
27790 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27791 : : ((32 == 64 || TARGET_AVX512VL
27792 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27793 : : && ix86_pre_reload_split ()
27794 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27795 : : STRIP_UNARY (operands[4]))
27796 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27797 : : STRIP_UNARY (operands[4]))
27798 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27799 : : STRIP_UNARY (operands[3]))
27800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27801 : : STRIP_UNARY (operands[3])))) &&
27802 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27803 : : (TARGET_AVX)) &&
27804 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27805 : : ( 1)))
27806 : : return NULL;
27807 : : return gen_split_2630 (insn, operands);
27808 : :
27809 : : case 11:
27810 : : if (!(
27811 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27812 : : ((16 == 64 || TARGET_AVX512VL
27813 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27814 : : && ix86_pre_reload_split ()
27815 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27816 : : STRIP_UNARY (operands[4]))
27817 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27818 : : STRIP_UNARY (operands[4]))
27819 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27820 : : STRIP_UNARY (operands[3]))
27821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27822 : : STRIP_UNARY (operands[3])))) &&
27823 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27824 : : ( 1)))
27825 : : return NULL;
27826 : : return gen_split_2657 (insn, operands);
27827 : :
27828 : : default:
27829 : : return NULL;
27830 : : }
27831 : :
27832 : : case XOR:
27833 : : switch (pattern522 (x2))
27834 : : {
27835 : : case 0:
27836 : : if (!((
27837 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27838 : : ((64 == 64 || TARGET_AVX512VL
27839 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27840 : : && ix86_pre_reload_split ()
27841 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27842 : : STRIP_UNARY (operands[4]))
27843 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27844 : : STRIP_UNARY (operands[4]))
27845 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27846 : : STRIP_UNARY (operands[3]))
27847 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27848 : : STRIP_UNARY (operands[3])))) &&
27849 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27850 : : (TARGET_AVX512F)) &&
27851 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27852 : : ( 1)))
27853 : : return NULL;
27854 : : return gen_split_2363 (insn, operands);
27855 : :
27856 : : case 1:
27857 : : if (!((
27858 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27859 : : ((32 == 64 || TARGET_AVX512VL
27860 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27861 : : && ix86_pre_reload_split ()
27862 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27863 : : STRIP_UNARY (operands[4]))
27864 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27865 : : STRIP_UNARY (operands[4]))
27866 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27867 : : STRIP_UNARY (operands[3]))
27868 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27869 : : STRIP_UNARY (operands[3])))) &&
27870 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27871 : : (TARGET_AVX)) &&
27872 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27873 : : ( 1)))
27874 : : return NULL;
27875 : : return gen_split_2390 (insn, operands);
27876 : :
27877 : : case 2:
27878 : : if (!(
27879 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27880 : : ((16 == 64 || TARGET_AVX512VL
27881 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27882 : : && ix86_pre_reload_split ()
27883 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27884 : : STRIP_UNARY (operands[4]))
27885 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27886 : : STRIP_UNARY (operands[4]))
27887 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27888 : : STRIP_UNARY (operands[3]))
27889 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27890 : : STRIP_UNARY (operands[3])))) &&
27891 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27892 : : ( 1)))
27893 : : return NULL;
27894 : : return gen_split_2417 (insn, operands);
27895 : :
27896 : : case 3:
27897 : : if (!((
27898 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27899 : : ((64 == 64 || TARGET_AVX512VL
27900 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27901 : : && ix86_pre_reload_split ()
27902 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27903 : : STRIP_UNARY (operands[4]))
27904 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27905 : : STRIP_UNARY (operands[4]))
27906 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27907 : : STRIP_UNARY (operands[3]))
27908 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27909 : : STRIP_UNARY (operands[3])))) &&
27910 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27911 : : (TARGET_AVX512F)) &&
27912 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27913 : : ( 1)))
27914 : : return NULL;
27915 : : return gen_split_2444 (insn, operands);
27916 : :
27917 : : case 4:
27918 : : if (!((
27919 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27920 : : ((32 == 64 || TARGET_AVX512VL
27921 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27922 : : && ix86_pre_reload_split ()
27923 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27924 : : STRIP_UNARY (operands[4]))
27925 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27926 : : STRIP_UNARY (operands[4]))
27927 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27928 : : STRIP_UNARY (operands[3]))
27929 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27930 : : STRIP_UNARY (operands[3])))) &&
27931 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27932 : : (TARGET_AVX)) &&
27933 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27934 : : ( 1)))
27935 : : return NULL;
27936 : : return gen_split_2471 (insn, operands);
27937 : :
27938 : : case 5:
27939 : : if (!(
27940 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27941 : : ((16 == 64 || TARGET_AVX512VL
27942 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27943 : : && ix86_pre_reload_split ()
27944 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27945 : : STRIP_UNARY (operands[4]))
27946 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27947 : : STRIP_UNARY (operands[4]))
27948 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27949 : : STRIP_UNARY (operands[3]))
27950 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27951 : : STRIP_UNARY (operands[3])))) &&
27952 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27953 : : ( 1)))
27954 : : return NULL;
27955 : : return gen_split_2498 (insn, operands);
27956 : :
27957 : : case 6:
27958 : : if (!((
27959 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27960 : : ((64 == 64 || TARGET_AVX512VL
27961 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27962 : : && ix86_pre_reload_split ()
27963 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27964 : : STRIP_UNARY (operands[4]))
27965 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27966 : : STRIP_UNARY (operands[4]))
27967 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27968 : : STRIP_UNARY (operands[3]))
27969 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27970 : : STRIP_UNARY (operands[3])))) &&
27971 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27972 : : (TARGET_AVX512F)) &&
27973 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27974 : : ( 1)))
27975 : : return NULL;
27976 : : return gen_split_2525 (insn, operands);
27977 : :
27978 : : case 7:
27979 : : if (!((
27980 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27981 : : ((32 == 64 || TARGET_AVX512VL
27982 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27983 : : && ix86_pre_reload_split ()
27984 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27985 : : STRIP_UNARY (operands[4]))
27986 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27987 : : STRIP_UNARY (operands[4]))
27988 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27989 : : STRIP_UNARY (operands[3]))
27990 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27991 : : STRIP_UNARY (operands[3])))) &&
27992 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27993 : : (TARGET_AVX)) &&
27994 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27995 : : ( 1)))
27996 : : return NULL;
27997 : : return gen_split_2552 (insn, operands);
27998 : :
27999 : : case 8:
28000 : : if (!(
28001 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28002 : : ((16 == 64 || TARGET_AVX512VL
28003 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28004 : : && ix86_pre_reload_split ()
28005 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28006 : : STRIP_UNARY (operands[4]))
28007 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28008 : : STRIP_UNARY (operands[4]))
28009 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28010 : : STRIP_UNARY (operands[3]))
28011 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28012 : : STRIP_UNARY (operands[3])))) &&
28013 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28014 : : ( 1)))
28015 : : return NULL;
28016 : : return gen_split_2579 (insn, operands);
28017 : :
28018 : : case 9:
28019 : : if (!((
28020 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28021 : : ((64 == 64 || TARGET_AVX512VL
28022 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28023 : : && ix86_pre_reload_split ()
28024 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28025 : : STRIP_UNARY (operands[4]))
28026 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28027 : : STRIP_UNARY (operands[4]))
28028 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28029 : : STRIP_UNARY (operands[3]))
28030 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28031 : : STRIP_UNARY (operands[3])))) &&
28032 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28033 : : (TARGET_AVX512F)) &&
28034 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28035 : : ( 1)))
28036 : : return NULL;
28037 : : return gen_split_2606 (insn, operands);
28038 : :
28039 : : case 10:
28040 : : if (!((
28041 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28042 : : ((32 == 64 || TARGET_AVX512VL
28043 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28044 : : && ix86_pre_reload_split ()
28045 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28046 : : STRIP_UNARY (operands[4]))
28047 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28048 : : STRIP_UNARY (operands[4]))
28049 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28050 : : STRIP_UNARY (operands[3]))
28051 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28052 : : STRIP_UNARY (operands[3])))) &&
28053 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28054 : : (TARGET_AVX)) &&
28055 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28056 : : ( 1)))
28057 : : return NULL;
28058 : : return gen_split_2633 (insn, operands);
28059 : :
28060 : : case 11:
28061 : : if (!(
28062 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28063 : : ((16 == 64 || TARGET_AVX512VL
28064 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28065 : : && ix86_pre_reload_split ()
28066 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28067 : : STRIP_UNARY (operands[4]))
28068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28069 : : STRIP_UNARY (operands[4]))
28070 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28071 : : STRIP_UNARY (operands[3]))
28072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28073 : : STRIP_UNARY (operands[3])))) &&
28074 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28075 : : ( 1)))
28076 : : return NULL;
28077 : : return gen_split_2660 (insn, operands);
28078 : :
28079 : : default:
28080 : : return NULL;
28081 : : }
28082 : :
28083 : : default:
28084 : : return NULL;
28085 : : }
28086 : : }
28087 : :
28088 : : rtx_insn *
28089 : : split_77 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28090 : : {
28091 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28092 : : rtx x2, x3, x4;
28093 : : rtx_insn *res ATTRIBUTE_UNUSED;
28094 : : x2 = XEXP (x1, 1);
28095 : : x3 = XEXP (x2, 0);
28096 : : switch (GET_CODE (x3))
28097 : : {
28098 : : case AND:
28099 : : return split_75 (x1, insn);
28100 : :
28101 : : case IOR:
28102 : : x4 = XEXP (x3, 0);
28103 : : switch (GET_CODE (x4))
28104 : : {
28105 : : case REG:
28106 : : case SUBREG:
28107 : : case MEM:
28108 : : case NOT:
28109 : : switch (pattern524 (x2))
28110 : : {
28111 : : case 0:
28112 : : if (!((
28113 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28114 : : ((64 == 64 || TARGET_AVX512VL
28115 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28116 : : && ix86_pre_reload_split ()
28117 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28118 : : STRIP_UNARY (operands[4]))
28119 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28120 : : STRIP_UNARY (operands[4]))
28121 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28122 : : STRIP_UNARY (operands[3]))
28123 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28124 : : STRIP_UNARY (operands[3])))) &&
28125 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28126 : : (TARGET_AVX512F)) &&
28127 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28128 : : ( 1)))
28129 : : return NULL;
28130 : : return gen_split_2026 (insn, operands);
28131 : :
28132 : : case 1:
28133 : : if (!((
28134 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28135 : : ((32 == 64 || TARGET_AVX512VL
28136 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28137 : : && ix86_pre_reload_split ()
28138 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28139 : : STRIP_UNARY (operands[4]))
28140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28141 : : STRIP_UNARY (operands[4]))
28142 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28143 : : STRIP_UNARY (operands[3]))
28144 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28145 : : STRIP_UNARY (operands[3])))) &&
28146 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28147 : : (TARGET_AVX)) &&
28148 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28149 : : ( 1)))
28150 : : return NULL;
28151 : : return gen_split_2053 (insn, operands);
28152 : :
28153 : : case 2:
28154 : : if (!(
28155 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28156 : : ((16 == 64 || TARGET_AVX512VL
28157 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28158 : : && ix86_pre_reload_split ()
28159 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28160 : : STRIP_UNARY (operands[4]))
28161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28162 : : STRIP_UNARY (operands[4]))
28163 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28164 : : STRIP_UNARY (operands[3]))
28165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28166 : : STRIP_UNARY (operands[3])))) &&
28167 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28168 : : ( 1)))
28169 : : return NULL;
28170 : : return gen_split_2080 (insn, operands);
28171 : :
28172 : : case 3:
28173 : : if (!((
28174 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28175 : : ((64 == 64 || TARGET_AVX512VL
28176 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28177 : : && ix86_pre_reload_split ()
28178 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28179 : : STRIP_UNARY (operands[4]))
28180 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28181 : : STRIP_UNARY (operands[4]))
28182 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28183 : : STRIP_UNARY (operands[3]))
28184 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28185 : : STRIP_UNARY (operands[3])))) &&
28186 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28187 : : (TARGET_AVX512F)) &&
28188 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28189 : : ( 1)))
28190 : : return NULL;
28191 : : return gen_split_2107 (insn, operands);
28192 : :
28193 : : case 4:
28194 : : if (!((
28195 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28196 : : ((32 == 64 || TARGET_AVX512VL
28197 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28198 : : && ix86_pre_reload_split ()
28199 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28200 : : STRIP_UNARY (operands[4]))
28201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28202 : : STRIP_UNARY (operands[4]))
28203 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28204 : : STRIP_UNARY (operands[3]))
28205 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28206 : : STRIP_UNARY (operands[3])))) &&
28207 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28208 : : (TARGET_AVX)) &&
28209 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28210 : : ( 1)))
28211 : : return NULL;
28212 : : return gen_split_2134 (insn, operands);
28213 : :
28214 : : case 5:
28215 : : if (!(
28216 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28217 : : ((16 == 64 || TARGET_AVX512VL
28218 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28219 : : && ix86_pre_reload_split ()
28220 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28221 : : STRIP_UNARY (operands[4]))
28222 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28223 : : STRIP_UNARY (operands[4]))
28224 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28225 : : STRIP_UNARY (operands[3]))
28226 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28227 : : STRIP_UNARY (operands[3])))) &&
28228 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28229 : : ( 1)))
28230 : : return NULL;
28231 : : return gen_split_2161 (insn, operands);
28232 : :
28233 : : case 6:
28234 : : if (!((
28235 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28236 : : ((64 == 64 || TARGET_AVX512VL
28237 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28238 : : && ix86_pre_reload_split ()
28239 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28240 : : STRIP_UNARY (operands[4]))
28241 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28242 : : STRIP_UNARY (operands[4]))
28243 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28244 : : STRIP_UNARY (operands[3]))
28245 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28246 : : STRIP_UNARY (operands[3])))) &&
28247 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28248 : : (TARGET_AVX512F)) &&
28249 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28250 : : ( 1)))
28251 : : return NULL;
28252 : : return gen_split_2188 (insn, operands);
28253 : :
28254 : : case 7:
28255 : : if (!((
28256 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28257 : : ((32 == 64 || TARGET_AVX512VL
28258 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28259 : : && ix86_pre_reload_split ()
28260 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28261 : : STRIP_UNARY (operands[4]))
28262 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28263 : : STRIP_UNARY (operands[4]))
28264 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28265 : : STRIP_UNARY (operands[3]))
28266 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28267 : : STRIP_UNARY (operands[3])))) &&
28268 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28269 : : (TARGET_AVX)) &&
28270 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28271 : : ( 1)))
28272 : : return NULL;
28273 : : return gen_split_2215 (insn, operands);
28274 : :
28275 : : case 8:
28276 : : if (!(
28277 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28278 : : ((16 == 64 || TARGET_AVX512VL
28279 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28280 : : && ix86_pre_reload_split ()
28281 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28282 : : STRIP_UNARY (operands[4]))
28283 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28284 : : STRIP_UNARY (operands[4]))
28285 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28286 : : STRIP_UNARY (operands[3]))
28287 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28288 : : STRIP_UNARY (operands[3])))) &&
28289 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28290 : : ( 1)))
28291 : : return NULL;
28292 : : return gen_split_2242 (insn, operands);
28293 : :
28294 : : case 9:
28295 : : if (!((
28296 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28297 : : ((64 == 64 || TARGET_AVX512VL
28298 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28299 : : && ix86_pre_reload_split ()
28300 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28301 : : STRIP_UNARY (operands[4]))
28302 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28303 : : STRIP_UNARY (operands[4]))
28304 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28305 : : STRIP_UNARY (operands[3]))
28306 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28307 : : STRIP_UNARY (operands[3])))) &&
28308 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28309 : : (TARGET_AVX512F)) &&
28310 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28311 : : ( 1)))
28312 : : return NULL;
28313 : : return gen_split_2269 (insn, operands);
28314 : :
28315 : : case 10:
28316 : : if (!((
28317 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28318 : : ((32 == 64 || TARGET_AVX512VL
28319 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28320 : : && ix86_pre_reload_split ()
28321 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28322 : : STRIP_UNARY (operands[4]))
28323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28324 : : STRIP_UNARY (operands[4]))
28325 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28326 : : STRIP_UNARY (operands[3]))
28327 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28328 : : STRIP_UNARY (operands[3])))) &&
28329 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28330 : : (TARGET_AVX)) &&
28331 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28332 : : ( 1)))
28333 : : return NULL;
28334 : : return gen_split_2296 (insn, operands);
28335 : :
28336 : : case 11:
28337 : : if (!((
28338 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28339 : : ((16 == 64 || TARGET_AVX512VL
28340 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28341 : : && ix86_pre_reload_split ()
28342 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28343 : : STRIP_UNARY (operands[4]))
28344 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28345 : : STRIP_UNARY (operands[4]))
28346 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28347 : : STRIP_UNARY (operands[3]))
28348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28349 : : STRIP_UNARY (operands[3])))) &&
28350 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28351 : : (TARGET_SSE2)) &&
28352 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28353 : : ( 1)))
28354 : : return NULL;
28355 : : return gen_split_2323 (insn, operands);
28356 : :
28357 : : case 12:
28358 : : if (!((
28359 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28360 : : ((64 == 64 || TARGET_AVX512VL
28361 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28362 : : && ix86_pre_reload_split ()
28363 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28364 : : STRIP_UNARY (operands[4]))
28365 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28366 : : STRIP_UNARY (operands[4]))
28367 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28368 : : STRIP_UNARY (operands[3]))
28369 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28370 : : STRIP_UNARY (operands[3])))) &&
28371 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28372 : : (TARGET_AVX512F)) &&
28373 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28374 : : ( 1)))
28375 : : return NULL;
28376 : : return gen_split_2029 (insn, operands);
28377 : :
28378 : : case 13:
28379 : : if (!((
28380 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28381 : : ((32 == 64 || TARGET_AVX512VL
28382 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28383 : : && ix86_pre_reload_split ()
28384 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28385 : : STRIP_UNARY (operands[4]))
28386 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28387 : : STRIP_UNARY (operands[4]))
28388 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28389 : : STRIP_UNARY (operands[3]))
28390 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28391 : : STRIP_UNARY (operands[3])))) &&
28392 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28393 : : (TARGET_AVX)) &&
28394 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28395 : : ( 1)))
28396 : : return NULL;
28397 : : return gen_split_2056 (insn, operands);
28398 : :
28399 : : case 14:
28400 : : if (!(
28401 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28402 : : ((16 == 64 || TARGET_AVX512VL
28403 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28404 : : && ix86_pre_reload_split ()
28405 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28406 : : STRIP_UNARY (operands[4]))
28407 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28408 : : STRIP_UNARY (operands[4]))
28409 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28410 : : STRIP_UNARY (operands[3]))
28411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28412 : : STRIP_UNARY (operands[3])))) &&
28413 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28414 : : ( 1)))
28415 : : return NULL;
28416 : : return gen_split_2083 (insn, operands);
28417 : :
28418 : : case 15:
28419 : : if (!((
28420 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28421 : : ((64 == 64 || TARGET_AVX512VL
28422 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28423 : : && ix86_pre_reload_split ()
28424 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28425 : : STRIP_UNARY (operands[4]))
28426 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28427 : : STRIP_UNARY (operands[4]))
28428 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28429 : : STRIP_UNARY (operands[3]))
28430 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28431 : : STRIP_UNARY (operands[3])))) &&
28432 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28433 : : (TARGET_AVX512F)) &&
28434 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28435 : : ( 1)))
28436 : : return NULL;
28437 : : return gen_split_2110 (insn, operands);
28438 : :
28439 : : case 16:
28440 : : if (!((
28441 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28442 : : ((32 == 64 || TARGET_AVX512VL
28443 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28444 : : && ix86_pre_reload_split ()
28445 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28446 : : STRIP_UNARY (operands[4]))
28447 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28448 : : STRIP_UNARY (operands[4]))
28449 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28450 : : STRIP_UNARY (operands[3]))
28451 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28452 : : STRIP_UNARY (operands[3])))) &&
28453 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28454 : : (TARGET_AVX)) &&
28455 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28456 : : ( 1)))
28457 : : return NULL;
28458 : : return gen_split_2137 (insn, operands);
28459 : :
28460 : : case 17:
28461 : : if (!(
28462 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28463 : : ((16 == 64 || TARGET_AVX512VL
28464 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28465 : : && ix86_pre_reload_split ()
28466 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28467 : : STRIP_UNARY (operands[4]))
28468 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28469 : : STRIP_UNARY (operands[4]))
28470 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28471 : : STRIP_UNARY (operands[3]))
28472 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28473 : : STRIP_UNARY (operands[3])))) &&
28474 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28475 : : ( 1)))
28476 : : return NULL;
28477 : : return gen_split_2164 (insn, operands);
28478 : :
28479 : : case 18:
28480 : : if (!((
28481 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28482 : : ((64 == 64 || TARGET_AVX512VL
28483 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28484 : : && ix86_pre_reload_split ()
28485 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28486 : : STRIP_UNARY (operands[4]))
28487 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28488 : : STRIP_UNARY (operands[4]))
28489 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28490 : : STRIP_UNARY (operands[3]))
28491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28492 : : STRIP_UNARY (operands[3])))) &&
28493 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28494 : : (TARGET_AVX512F)) &&
28495 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28496 : : ( 1)))
28497 : : return NULL;
28498 : : return gen_split_2191 (insn, operands);
28499 : :
28500 : : case 19:
28501 : : if (!((
28502 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28503 : : ((32 == 64 || TARGET_AVX512VL
28504 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28505 : : && ix86_pre_reload_split ()
28506 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28507 : : STRIP_UNARY (operands[4]))
28508 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28509 : : STRIP_UNARY (operands[4]))
28510 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28511 : : STRIP_UNARY (operands[3]))
28512 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28513 : : STRIP_UNARY (operands[3])))) &&
28514 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28515 : : (TARGET_AVX)) &&
28516 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28517 : : ( 1)))
28518 : : return NULL;
28519 : : return gen_split_2218 (insn, operands);
28520 : :
28521 : : case 20:
28522 : : if (!(
28523 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28524 : : ((16 == 64 || TARGET_AVX512VL
28525 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28526 : : && ix86_pre_reload_split ()
28527 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28528 : : STRIP_UNARY (operands[4]))
28529 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28530 : : STRIP_UNARY (operands[4]))
28531 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28532 : : STRIP_UNARY (operands[3]))
28533 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28534 : : STRIP_UNARY (operands[3])))) &&
28535 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28536 : : ( 1)))
28537 : : return NULL;
28538 : : return gen_split_2245 (insn, operands);
28539 : :
28540 : : case 21:
28541 : : if (!((
28542 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28543 : : ((64 == 64 || TARGET_AVX512VL
28544 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28545 : : && ix86_pre_reload_split ()
28546 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28547 : : STRIP_UNARY (operands[4]))
28548 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28549 : : STRIP_UNARY (operands[4]))
28550 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28551 : : STRIP_UNARY (operands[3]))
28552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28553 : : STRIP_UNARY (operands[3])))) &&
28554 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28555 : : (TARGET_AVX512F)) &&
28556 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28557 : : ( 1)))
28558 : : return NULL;
28559 : : return gen_split_2272 (insn, operands);
28560 : :
28561 : : case 22:
28562 : : if (!((
28563 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28564 : : ((32 == 64 || TARGET_AVX512VL
28565 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28566 : : && ix86_pre_reload_split ()
28567 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28568 : : STRIP_UNARY (operands[4]))
28569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28570 : : STRIP_UNARY (operands[4]))
28571 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28572 : : STRIP_UNARY (operands[3]))
28573 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28574 : : STRIP_UNARY (operands[3])))) &&
28575 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28576 : : (TARGET_AVX)) &&
28577 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28578 : : ( 1)))
28579 : : return NULL;
28580 : : return gen_split_2299 (insn, operands);
28581 : :
28582 : : case 23:
28583 : : if (!((
28584 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28585 : : ((16 == 64 || TARGET_AVX512VL
28586 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28587 : : && ix86_pre_reload_split ()
28588 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28589 : : STRIP_UNARY (operands[4]))
28590 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28591 : : STRIP_UNARY (operands[4]))
28592 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28593 : : STRIP_UNARY (operands[3]))
28594 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28595 : : STRIP_UNARY (operands[3])))) &&
28596 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28597 : : (TARGET_SSE2)) &&
28598 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28599 : : ( 1)))
28600 : : return NULL;
28601 : : return gen_split_2326 (insn, operands);
28602 : :
28603 : : case 24:
28604 : : if (!((
28605 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28606 : : ((64 == 64 || TARGET_AVX512VL
28607 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28608 : : && ix86_pre_reload_split ()
28609 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28610 : : STRIP_UNARY (operands[4]))
28611 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28612 : : STRIP_UNARY (operands[4]))
28613 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28614 : : STRIP_UNARY (operands[3]))
28615 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28616 : : STRIP_UNARY (operands[3])))) &&
28617 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28618 : : (TARGET_AVX512F)) &&
28619 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28620 : : ( 1)))
28621 : : return NULL;
28622 : : return gen_split_2032 (insn, operands);
28623 : :
28624 : : case 25:
28625 : : if (!((
28626 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28627 : : ((32 == 64 || TARGET_AVX512VL
28628 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28629 : : && ix86_pre_reload_split ()
28630 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28631 : : STRIP_UNARY (operands[4]))
28632 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28633 : : STRIP_UNARY (operands[4]))
28634 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28635 : : STRIP_UNARY (operands[3]))
28636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28637 : : STRIP_UNARY (operands[3])))) &&
28638 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28639 : : (TARGET_AVX)) &&
28640 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28641 : : ( 1)))
28642 : : return NULL;
28643 : : return gen_split_2059 (insn, operands);
28644 : :
28645 : : case 26:
28646 : : if (!(
28647 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28648 : : ((16 == 64 || TARGET_AVX512VL
28649 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28650 : : && ix86_pre_reload_split ()
28651 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28652 : : STRIP_UNARY (operands[4]))
28653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28654 : : STRIP_UNARY (operands[4]))
28655 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28656 : : STRIP_UNARY (operands[3]))
28657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28658 : : STRIP_UNARY (operands[3])))) &&
28659 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28660 : : ( 1)))
28661 : : return NULL;
28662 : : return gen_split_2086 (insn, operands);
28663 : :
28664 : : case 27:
28665 : : if (!((
28666 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28667 : : ((64 == 64 || TARGET_AVX512VL
28668 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28669 : : && ix86_pre_reload_split ()
28670 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28671 : : STRIP_UNARY (operands[4]))
28672 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28673 : : STRIP_UNARY (operands[4]))
28674 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28675 : : STRIP_UNARY (operands[3]))
28676 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28677 : : STRIP_UNARY (operands[3])))) &&
28678 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28679 : : (TARGET_AVX512F)) &&
28680 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28681 : : ( 1)))
28682 : : return NULL;
28683 : : return gen_split_2113 (insn, operands);
28684 : :
28685 : : case 28:
28686 : : if (!((
28687 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28688 : : ((32 == 64 || TARGET_AVX512VL
28689 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28690 : : && ix86_pre_reload_split ()
28691 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28692 : : STRIP_UNARY (operands[4]))
28693 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28694 : : STRIP_UNARY (operands[4]))
28695 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28696 : : STRIP_UNARY (operands[3]))
28697 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28698 : : STRIP_UNARY (operands[3])))) &&
28699 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28700 : : (TARGET_AVX)) &&
28701 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28702 : : ( 1)))
28703 : : return NULL;
28704 : : return gen_split_2140 (insn, operands);
28705 : :
28706 : : case 29:
28707 : : if (!(
28708 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28709 : : ((16 == 64 || TARGET_AVX512VL
28710 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28711 : : && ix86_pre_reload_split ()
28712 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28713 : : STRIP_UNARY (operands[4]))
28714 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28715 : : STRIP_UNARY (operands[4]))
28716 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28717 : : STRIP_UNARY (operands[3]))
28718 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28719 : : STRIP_UNARY (operands[3])))) &&
28720 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28721 : : ( 1)))
28722 : : return NULL;
28723 : : return gen_split_2167 (insn, operands);
28724 : :
28725 : : case 30:
28726 : : if (!((
28727 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28728 : : ((64 == 64 || TARGET_AVX512VL
28729 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28730 : : && ix86_pre_reload_split ()
28731 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28732 : : STRIP_UNARY (operands[4]))
28733 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28734 : : STRIP_UNARY (operands[4]))
28735 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28736 : : STRIP_UNARY (operands[3]))
28737 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28738 : : STRIP_UNARY (operands[3])))) &&
28739 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28740 : : (TARGET_AVX512F)) &&
28741 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28742 : : ( 1)))
28743 : : return NULL;
28744 : : return gen_split_2194 (insn, operands);
28745 : :
28746 : : case 31:
28747 : : if (!((
28748 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28749 : : ((32 == 64 || TARGET_AVX512VL
28750 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28751 : : && ix86_pre_reload_split ()
28752 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28753 : : STRIP_UNARY (operands[4]))
28754 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28755 : : STRIP_UNARY (operands[4]))
28756 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28757 : : STRIP_UNARY (operands[3]))
28758 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28759 : : STRIP_UNARY (operands[3])))) &&
28760 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28761 : : (TARGET_AVX)) &&
28762 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28763 : : ( 1)))
28764 : : return NULL;
28765 : : return gen_split_2221 (insn, operands);
28766 : :
28767 : : case 32:
28768 : : if (!(
28769 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28770 : : ((16 == 64 || TARGET_AVX512VL
28771 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28772 : : && ix86_pre_reload_split ()
28773 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28774 : : STRIP_UNARY (operands[4]))
28775 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28776 : : STRIP_UNARY (operands[4]))
28777 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28778 : : STRIP_UNARY (operands[3]))
28779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28780 : : STRIP_UNARY (operands[3])))) &&
28781 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28782 : : ( 1)))
28783 : : return NULL;
28784 : : return gen_split_2248 (insn, operands);
28785 : :
28786 : : case 33:
28787 : : if (!((
28788 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28789 : : ((64 == 64 || TARGET_AVX512VL
28790 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28791 : : && ix86_pre_reload_split ()
28792 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28793 : : STRIP_UNARY (operands[4]))
28794 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28795 : : STRIP_UNARY (operands[4]))
28796 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28797 : : STRIP_UNARY (operands[3]))
28798 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28799 : : STRIP_UNARY (operands[3])))) &&
28800 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28801 : : (TARGET_AVX512F)) &&
28802 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28803 : : ( 1)))
28804 : : return NULL;
28805 : : return gen_split_2275 (insn, operands);
28806 : :
28807 : : case 34:
28808 : : if (!((
28809 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28810 : : ((32 == 64 || TARGET_AVX512VL
28811 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28812 : : && ix86_pre_reload_split ()
28813 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28814 : : STRIP_UNARY (operands[4]))
28815 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28816 : : STRIP_UNARY (operands[4]))
28817 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28818 : : STRIP_UNARY (operands[3]))
28819 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28820 : : STRIP_UNARY (operands[3])))) &&
28821 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28822 : : (TARGET_AVX)) &&
28823 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28824 : : ( 1)))
28825 : : return NULL;
28826 : : return gen_split_2302 (insn, operands);
28827 : :
28828 : : case 35:
28829 : : if (!((
28830 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28831 : : ((16 == 64 || TARGET_AVX512VL
28832 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28833 : : && ix86_pre_reload_split ()
28834 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28835 : : STRIP_UNARY (operands[4]))
28836 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28837 : : STRIP_UNARY (operands[4]))
28838 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28839 : : STRIP_UNARY (operands[3]))
28840 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28841 : : STRIP_UNARY (operands[3])))) &&
28842 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28843 : : (TARGET_SSE2)) &&
28844 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28845 : : ( 1)))
28846 : : return NULL;
28847 : : return gen_split_2329 (insn, operands);
28848 : :
28849 : : case 36:
28850 : : if (!((
28851 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28852 : : ((64 == 64 || TARGET_AVX512VL
28853 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28854 : : && ix86_pre_reload_split ()) &&
28855 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28856 : : (TARGET_AVX512F)) &&
28857 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28858 : : ( 1)))
28859 : : return NULL;
28860 : : return gen_split_3100 (insn, operands);
28861 : :
28862 : : case 37:
28863 : : if (!((
28864 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28865 : : ((32 == 64 || TARGET_AVX512VL
28866 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28867 : : && ix86_pre_reload_split ()) &&
28868 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28869 : : (TARGET_AVX)) &&
28870 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28871 : : ( 1)))
28872 : : return NULL;
28873 : : return gen_split_3109 (insn, operands);
28874 : :
28875 : : case 38:
28876 : : if (!(
28877 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28878 : : ((16 == 64 || TARGET_AVX512VL
28879 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28880 : : && ix86_pre_reload_split ()) &&
28881 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28882 : : ( 1)))
28883 : : return NULL;
28884 : : return gen_split_3118 (insn, operands);
28885 : :
28886 : : case 39:
28887 : : if (!((
28888 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28889 : : ((64 == 64 || TARGET_AVX512VL
28890 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28891 : : && ix86_pre_reload_split ()) &&
28892 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28893 : : (TARGET_AVX512F)) &&
28894 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28895 : : ( 1)))
28896 : : return NULL;
28897 : : return gen_split_3127 (insn, operands);
28898 : :
28899 : : case 40:
28900 : : if (!((
28901 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28902 : : ((32 == 64 || TARGET_AVX512VL
28903 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28904 : : && ix86_pre_reload_split ()) &&
28905 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28906 : : (TARGET_AVX)) &&
28907 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28908 : : ( 1)))
28909 : : return NULL;
28910 : : return gen_split_3136 (insn, operands);
28911 : :
28912 : : case 41:
28913 : : if (!(
28914 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28915 : : ((16 == 64 || TARGET_AVX512VL
28916 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28917 : : && ix86_pre_reload_split ()) &&
28918 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28919 : : ( 1)))
28920 : : return NULL;
28921 : : return gen_split_3145 (insn, operands);
28922 : :
28923 : : case 42:
28924 : : if (!((
28925 : : #line 13968 "/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 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28930 : : (TARGET_AVX512F)) &&
28931 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28932 : : ( 1)))
28933 : : return NULL;
28934 : : return gen_split_3154 (insn, operands);
28935 : :
28936 : : case 43:
28937 : : if (!((
28938 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28939 : : ((32 == 64 || TARGET_AVX512VL
28940 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28941 : : && ix86_pre_reload_split ()) &&
28942 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28943 : : (TARGET_AVX)) &&
28944 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28945 : : ( 1)))
28946 : : return NULL;
28947 : : return gen_split_3163 (insn, operands);
28948 : :
28949 : : case 44:
28950 : : if (!(
28951 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28952 : : ((16 == 64 || TARGET_AVX512VL
28953 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28954 : : && ix86_pre_reload_split ()) &&
28955 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28956 : : ( 1)))
28957 : : return NULL;
28958 : : return gen_split_3172 (insn, operands);
28959 : :
28960 : : case 45:
28961 : : if (!((
28962 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28963 : : ((64 == 64 || TARGET_AVX512VL
28964 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28965 : : && ix86_pre_reload_split ()) &&
28966 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28967 : : (TARGET_AVX512F)) &&
28968 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28969 : : ( 1)))
28970 : : return NULL;
28971 : : return gen_split_3181 (insn, operands);
28972 : :
28973 : : case 46:
28974 : : if (!((
28975 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28976 : : ((32 == 64 || TARGET_AVX512VL
28977 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28978 : : && ix86_pre_reload_split ()) &&
28979 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28980 : : (TARGET_AVX)) &&
28981 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28982 : : ( 1)))
28983 : : return NULL;
28984 : : return gen_split_3190 (insn, operands);
28985 : :
28986 : : case 47:
28987 : : if (!((
28988 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28989 : : ((16 == 64 || TARGET_AVX512VL
28990 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28991 : : && ix86_pre_reload_split ()) &&
28992 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28993 : : (TARGET_SSE2)) &&
28994 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28995 : : ( 1)))
28996 : : return NULL;
28997 : : return gen_split_3199 (insn, operands);
28998 : :
28999 : : default:
29000 : : return NULL;
29001 : : }
29002 : :
29003 : : case AND:
29004 : : switch (pattern525 (x2))
29005 : : {
29006 : : case 0:
29007 : : if (!((
29008 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29009 : : ((64 == 64 || TARGET_AVX512VL
29010 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29011 : : && ix86_pre_reload_split ()
29012 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29013 : : STRIP_UNARY (operands[4]))
29014 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29015 : : STRIP_UNARY (operands[4]))
29016 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29017 : : STRIP_UNARY (operands[3]))
29018 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29019 : : STRIP_UNARY (operands[3])))) &&
29020 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29021 : : (TARGET_AVX512F)) &&
29022 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29023 : : ( 1)))
29024 : : return NULL;
29025 : : return gen_split_2674 (insn, operands);
29026 : :
29027 : : case 1:
29028 : : if (!((
29029 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29030 : : ((32 == 64 || TARGET_AVX512VL
29031 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29032 : : && ix86_pre_reload_split ()
29033 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29034 : : STRIP_UNARY (operands[4]))
29035 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29036 : : STRIP_UNARY (operands[4]))
29037 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29038 : : STRIP_UNARY (operands[3]))
29039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29040 : : STRIP_UNARY (operands[3])))) &&
29041 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29042 : : (TARGET_AVX)) &&
29043 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29044 : : ( 1)))
29045 : : return NULL;
29046 : : return gen_split_2701 (insn, operands);
29047 : :
29048 : : case 2:
29049 : : if (!(
29050 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29051 : : ((16 == 64 || TARGET_AVX512VL
29052 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29053 : : && ix86_pre_reload_split ()
29054 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29055 : : STRIP_UNARY (operands[4]))
29056 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29057 : : STRIP_UNARY (operands[4]))
29058 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29059 : : STRIP_UNARY (operands[3]))
29060 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29061 : : STRIP_UNARY (operands[3])))) &&
29062 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29063 : : ( 1)))
29064 : : return NULL;
29065 : : return gen_split_2728 (insn, operands);
29066 : :
29067 : : case 3:
29068 : : if (!((
29069 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29070 : : ((64 == 64 || TARGET_AVX512VL
29071 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29072 : : && ix86_pre_reload_split ()
29073 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29074 : : STRIP_UNARY (operands[4]))
29075 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29076 : : STRIP_UNARY (operands[4]))
29077 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29078 : : STRIP_UNARY (operands[3]))
29079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29080 : : STRIP_UNARY (operands[3])))) &&
29081 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29082 : : (TARGET_AVX512F)) &&
29083 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29084 : : ( 1)))
29085 : : return NULL;
29086 : : return gen_split_2755 (insn, operands);
29087 : :
29088 : : case 4:
29089 : : if (!((
29090 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29091 : : ((32 == 64 || TARGET_AVX512VL
29092 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29093 : : && ix86_pre_reload_split ()
29094 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29095 : : STRIP_UNARY (operands[4]))
29096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29097 : : STRIP_UNARY (operands[4]))
29098 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29099 : : STRIP_UNARY (operands[3]))
29100 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29101 : : STRIP_UNARY (operands[3])))) &&
29102 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29103 : : (TARGET_AVX)) &&
29104 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29105 : : ( 1)))
29106 : : return NULL;
29107 : : return gen_split_2782 (insn, operands);
29108 : :
29109 : : case 5:
29110 : : if (!(
29111 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29112 : : ((16 == 64 || TARGET_AVX512VL
29113 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29114 : : && ix86_pre_reload_split ()
29115 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29116 : : STRIP_UNARY (operands[4]))
29117 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29118 : : STRIP_UNARY (operands[4]))
29119 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29120 : : STRIP_UNARY (operands[3]))
29121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29122 : : STRIP_UNARY (operands[3])))) &&
29123 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29124 : : ( 1)))
29125 : : return NULL;
29126 : : return gen_split_2809 (insn, operands);
29127 : :
29128 : : case 6:
29129 : : if (!((
29130 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29131 : : ((64 == 64 || TARGET_AVX512VL
29132 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29133 : : && ix86_pre_reload_split ()
29134 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29135 : : STRIP_UNARY (operands[4]))
29136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29137 : : STRIP_UNARY (operands[4]))
29138 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29139 : : STRIP_UNARY (operands[3]))
29140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29141 : : STRIP_UNARY (operands[3])))) &&
29142 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29143 : : (TARGET_AVX512F)) &&
29144 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29145 : : ( 1)))
29146 : : return NULL;
29147 : : return gen_split_2836 (insn, operands);
29148 : :
29149 : : case 7:
29150 : : if (!((
29151 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29152 : : ((32 == 64 || TARGET_AVX512VL
29153 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29154 : : && ix86_pre_reload_split ()
29155 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29156 : : STRIP_UNARY (operands[4]))
29157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29158 : : STRIP_UNARY (operands[4]))
29159 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29160 : : STRIP_UNARY (operands[3]))
29161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29162 : : STRIP_UNARY (operands[3])))) &&
29163 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29164 : : (TARGET_AVX)) &&
29165 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29166 : : ( 1)))
29167 : : return NULL;
29168 : : return gen_split_2863 (insn, operands);
29169 : :
29170 : : case 8:
29171 : : if (!(
29172 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29173 : : ((16 == 64 || TARGET_AVX512VL
29174 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29175 : : && ix86_pre_reload_split ()
29176 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29177 : : STRIP_UNARY (operands[4]))
29178 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29179 : : STRIP_UNARY (operands[4]))
29180 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29181 : : STRIP_UNARY (operands[3]))
29182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29183 : : STRIP_UNARY (operands[3])))) &&
29184 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29185 : : ( 1)))
29186 : : return NULL;
29187 : : return gen_split_2890 (insn, operands);
29188 : :
29189 : : case 9:
29190 : : if (!((
29191 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29192 : : ((64 == 64 || TARGET_AVX512VL
29193 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29194 : : && ix86_pre_reload_split ()
29195 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29196 : : STRIP_UNARY (operands[4]))
29197 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29198 : : STRIP_UNARY (operands[4]))
29199 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29200 : : STRIP_UNARY (operands[3]))
29201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29202 : : STRIP_UNARY (operands[3])))) &&
29203 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29204 : : (TARGET_AVX512F)) &&
29205 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29206 : : ( 1)))
29207 : : return NULL;
29208 : : return gen_split_2917 (insn, operands);
29209 : :
29210 : : case 10:
29211 : : if (!((
29212 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29213 : : ((32 == 64 || TARGET_AVX512VL
29214 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29215 : : && ix86_pre_reload_split ()
29216 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29217 : : STRIP_UNARY (operands[4]))
29218 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29219 : : STRIP_UNARY (operands[4]))
29220 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29221 : : STRIP_UNARY (operands[3]))
29222 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29223 : : STRIP_UNARY (operands[3])))) &&
29224 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29225 : : (TARGET_AVX)) &&
29226 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29227 : : ( 1)))
29228 : : return NULL;
29229 : : return gen_split_2944 (insn, operands);
29230 : :
29231 : : case 11:
29232 : : if (!((
29233 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29234 : : ((16 == 64 || TARGET_AVX512VL
29235 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29236 : : && ix86_pre_reload_split ()
29237 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29238 : : STRIP_UNARY (operands[4]))
29239 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29240 : : STRIP_UNARY (operands[4]))
29241 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29242 : : STRIP_UNARY (operands[3]))
29243 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29244 : : STRIP_UNARY (operands[3])))) &&
29245 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29246 : : (TARGET_SSE2)) &&
29247 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29248 : : ( 1)))
29249 : : return NULL;
29250 : : return gen_split_2971 (insn, operands);
29251 : :
29252 : : default:
29253 : : return NULL;
29254 : : }
29255 : :
29256 : : case IOR:
29257 : : switch (pattern525 (x2))
29258 : : {
29259 : : case 0:
29260 : : if (!((
29261 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29262 : : ((64 == 64 || TARGET_AVX512VL
29263 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29264 : : && ix86_pre_reload_split ()
29265 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29266 : : STRIP_UNARY (operands[4]))
29267 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29268 : : STRIP_UNARY (operands[4]))
29269 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29270 : : STRIP_UNARY (operands[3]))
29271 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29272 : : STRIP_UNARY (operands[3])))) &&
29273 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29274 : : (TARGET_AVX512F)) &&
29275 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29276 : : ( 1)))
29277 : : return NULL;
29278 : : return gen_split_2677 (insn, operands);
29279 : :
29280 : : case 1:
29281 : : if (!((
29282 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29283 : : ((32 == 64 || TARGET_AVX512VL
29284 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29285 : : && ix86_pre_reload_split ()
29286 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29287 : : STRIP_UNARY (operands[4]))
29288 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29289 : : STRIP_UNARY (operands[4]))
29290 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29291 : : STRIP_UNARY (operands[3]))
29292 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29293 : : STRIP_UNARY (operands[3])))) &&
29294 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29295 : : (TARGET_AVX)) &&
29296 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29297 : : ( 1)))
29298 : : return NULL;
29299 : : return gen_split_2704 (insn, operands);
29300 : :
29301 : : case 2:
29302 : : if (!(
29303 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29304 : : ((16 == 64 || TARGET_AVX512VL
29305 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29306 : : && ix86_pre_reload_split ()
29307 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29308 : : STRIP_UNARY (operands[4]))
29309 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29310 : : STRIP_UNARY (operands[4]))
29311 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29312 : : STRIP_UNARY (operands[3]))
29313 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29314 : : STRIP_UNARY (operands[3])))) &&
29315 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29316 : : ( 1)))
29317 : : return NULL;
29318 : : return gen_split_2731 (insn, operands);
29319 : :
29320 : : case 3:
29321 : : if (!((
29322 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29323 : : ((64 == 64 || TARGET_AVX512VL
29324 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29325 : : && ix86_pre_reload_split ()
29326 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29327 : : STRIP_UNARY (operands[4]))
29328 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29329 : : STRIP_UNARY (operands[4]))
29330 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29331 : : STRIP_UNARY (operands[3]))
29332 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29333 : : STRIP_UNARY (operands[3])))) &&
29334 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29335 : : (TARGET_AVX512F)) &&
29336 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29337 : : ( 1)))
29338 : : return NULL;
29339 : : return gen_split_2758 (insn, operands);
29340 : :
29341 : : case 4:
29342 : : if (!((
29343 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29344 : : ((32 == 64 || TARGET_AVX512VL
29345 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29346 : : && ix86_pre_reload_split ()
29347 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29348 : : STRIP_UNARY (operands[4]))
29349 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29350 : : STRIP_UNARY (operands[4]))
29351 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29352 : : STRIP_UNARY (operands[3]))
29353 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29354 : : STRIP_UNARY (operands[3])))) &&
29355 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29356 : : (TARGET_AVX)) &&
29357 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29358 : : ( 1)))
29359 : : return NULL;
29360 : : return gen_split_2785 (insn, operands);
29361 : :
29362 : : case 5:
29363 : : if (!(
29364 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29365 : : ((16 == 64 || TARGET_AVX512VL
29366 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29367 : : && ix86_pre_reload_split ()
29368 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29369 : : STRIP_UNARY (operands[4]))
29370 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29371 : : STRIP_UNARY (operands[4]))
29372 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29373 : : STRIP_UNARY (operands[3]))
29374 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29375 : : STRIP_UNARY (operands[3])))) &&
29376 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29377 : : ( 1)))
29378 : : return NULL;
29379 : : return gen_split_2812 (insn, operands);
29380 : :
29381 : : case 6:
29382 : : if (!((
29383 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29384 : : ((64 == 64 || TARGET_AVX512VL
29385 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29386 : : && ix86_pre_reload_split ()
29387 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29388 : : STRIP_UNARY (operands[4]))
29389 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29390 : : STRIP_UNARY (operands[4]))
29391 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29392 : : STRIP_UNARY (operands[3]))
29393 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29394 : : STRIP_UNARY (operands[3])))) &&
29395 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29396 : : (TARGET_AVX512F)) &&
29397 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29398 : : ( 1)))
29399 : : return NULL;
29400 : : return gen_split_2839 (insn, operands);
29401 : :
29402 : : case 7:
29403 : : if (!((
29404 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29405 : : ((32 == 64 || TARGET_AVX512VL
29406 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29407 : : && ix86_pre_reload_split ()
29408 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29409 : : STRIP_UNARY (operands[4]))
29410 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29411 : : STRIP_UNARY (operands[4]))
29412 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29413 : : STRIP_UNARY (operands[3]))
29414 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29415 : : STRIP_UNARY (operands[3])))) &&
29416 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29417 : : (TARGET_AVX)) &&
29418 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29419 : : ( 1)))
29420 : : return NULL;
29421 : : return gen_split_2866 (insn, operands);
29422 : :
29423 : : case 8:
29424 : : if (!(
29425 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29426 : : ((16 == 64 || TARGET_AVX512VL
29427 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29428 : : && ix86_pre_reload_split ()
29429 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29430 : : STRIP_UNARY (operands[4]))
29431 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29432 : : STRIP_UNARY (operands[4]))
29433 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29434 : : STRIP_UNARY (operands[3]))
29435 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29436 : : STRIP_UNARY (operands[3])))) &&
29437 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29438 : : ( 1)))
29439 : : return NULL;
29440 : : return gen_split_2893 (insn, operands);
29441 : :
29442 : : case 9:
29443 : : if (!((
29444 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29445 : : ((64 == 64 || TARGET_AVX512VL
29446 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29447 : : && ix86_pre_reload_split ()
29448 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29449 : : STRIP_UNARY (operands[4]))
29450 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29451 : : STRIP_UNARY (operands[4]))
29452 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29453 : : STRIP_UNARY (operands[3]))
29454 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29455 : : STRIP_UNARY (operands[3])))) &&
29456 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29457 : : (TARGET_AVX512F)) &&
29458 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29459 : : ( 1)))
29460 : : return NULL;
29461 : : return gen_split_2920 (insn, operands);
29462 : :
29463 : : case 10:
29464 : : if (!((
29465 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29466 : : ((32 == 64 || TARGET_AVX512VL
29467 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29468 : : && ix86_pre_reload_split ()
29469 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29470 : : STRIP_UNARY (operands[4]))
29471 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29472 : : STRIP_UNARY (operands[4]))
29473 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29474 : : STRIP_UNARY (operands[3]))
29475 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29476 : : STRIP_UNARY (operands[3])))) &&
29477 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29478 : : (TARGET_AVX)) &&
29479 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29480 : : ( 1)))
29481 : : return NULL;
29482 : : return gen_split_2947 (insn, operands);
29483 : :
29484 : : case 11:
29485 : : if (!((
29486 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29487 : : ((16 == 64 || TARGET_AVX512VL
29488 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29489 : : && ix86_pre_reload_split ()
29490 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29491 : : STRIP_UNARY (operands[4]))
29492 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29493 : : STRIP_UNARY (operands[4]))
29494 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29495 : : STRIP_UNARY (operands[3]))
29496 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29497 : : STRIP_UNARY (operands[3])))) &&
29498 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29499 : : (TARGET_SSE2)) &&
29500 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29501 : : ( 1)))
29502 : : return NULL;
29503 : : return gen_split_2974 (insn, operands);
29504 : :
29505 : : default:
29506 : : return NULL;
29507 : : }
29508 : :
29509 : : case XOR:
29510 : : switch (pattern525 (x2))
29511 : : {
29512 : : case 0:
29513 : : if (!((
29514 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29515 : : ((64 == 64 || TARGET_AVX512VL
29516 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29517 : : && ix86_pre_reload_split ()
29518 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29519 : : STRIP_UNARY (operands[4]))
29520 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29521 : : STRIP_UNARY (operands[4]))
29522 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29523 : : STRIP_UNARY (operands[3]))
29524 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29525 : : STRIP_UNARY (operands[3])))) &&
29526 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29527 : : (TARGET_AVX512F)) &&
29528 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29529 : : ( 1)))
29530 : : return NULL;
29531 : : return gen_split_2680 (insn, operands);
29532 : :
29533 : : case 1:
29534 : : if (!((
29535 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29536 : : ((32 == 64 || TARGET_AVX512VL
29537 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29538 : : && ix86_pre_reload_split ()
29539 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29540 : : STRIP_UNARY (operands[4]))
29541 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29542 : : STRIP_UNARY (operands[4]))
29543 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29544 : : STRIP_UNARY (operands[3]))
29545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29546 : : STRIP_UNARY (operands[3])))) &&
29547 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29548 : : (TARGET_AVX)) &&
29549 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29550 : : ( 1)))
29551 : : return NULL;
29552 : : return gen_split_2707 (insn, operands);
29553 : :
29554 : : case 2:
29555 : : if (!(
29556 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29557 : : ((16 == 64 || TARGET_AVX512VL
29558 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29559 : : && ix86_pre_reload_split ()
29560 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29561 : : STRIP_UNARY (operands[4]))
29562 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29563 : : STRIP_UNARY (operands[4]))
29564 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29565 : : STRIP_UNARY (operands[3]))
29566 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29567 : : STRIP_UNARY (operands[3])))) &&
29568 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29569 : : ( 1)))
29570 : : return NULL;
29571 : : return gen_split_2734 (insn, operands);
29572 : :
29573 : : case 3:
29574 : : if (!((
29575 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29576 : : ((64 == 64 || TARGET_AVX512VL
29577 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29578 : : && ix86_pre_reload_split ()
29579 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29580 : : STRIP_UNARY (operands[4]))
29581 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29582 : : STRIP_UNARY (operands[4]))
29583 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29584 : : STRIP_UNARY (operands[3]))
29585 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29586 : : STRIP_UNARY (operands[3])))) &&
29587 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29588 : : (TARGET_AVX512F)) &&
29589 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29590 : : ( 1)))
29591 : : return NULL;
29592 : : return gen_split_2761 (insn, operands);
29593 : :
29594 : : case 4:
29595 : : if (!((
29596 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29597 : : ((32 == 64 || TARGET_AVX512VL
29598 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29599 : : && ix86_pre_reload_split ()
29600 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29601 : : STRIP_UNARY (operands[4]))
29602 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29603 : : STRIP_UNARY (operands[4]))
29604 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29605 : : STRIP_UNARY (operands[3]))
29606 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29607 : : STRIP_UNARY (operands[3])))) &&
29608 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29609 : : (TARGET_AVX)) &&
29610 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29611 : : ( 1)))
29612 : : return NULL;
29613 : : return gen_split_2788 (insn, operands);
29614 : :
29615 : : case 5:
29616 : : if (!(
29617 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29618 : : ((16 == 64 || TARGET_AVX512VL
29619 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29620 : : && ix86_pre_reload_split ()
29621 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29622 : : STRIP_UNARY (operands[4]))
29623 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29624 : : STRIP_UNARY (operands[4]))
29625 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29626 : : STRIP_UNARY (operands[3]))
29627 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29628 : : STRIP_UNARY (operands[3])))) &&
29629 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29630 : : ( 1)))
29631 : : return NULL;
29632 : : return gen_split_2815 (insn, operands);
29633 : :
29634 : : case 6:
29635 : : if (!((
29636 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29637 : : ((64 == 64 || TARGET_AVX512VL
29638 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29639 : : && ix86_pre_reload_split ()
29640 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29641 : : STRIP_UNARY (operands[4]))
29642 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29643 : : STRIP_UNARY (operands[4]))
29644 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29645 : : STRIP_UNARY (operands[3]))
29646 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29647 : : STRIP_UNARY (operands[3])))) &&
29648 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29649 : : (TARGET_AVX512F)) &&
29650 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29651 : : ( 1)))
29652 : : return NULL;
29653 : : return gen_split_2842 (insn, operands);
29654 : :
29655 : : case 7:
29656 : : if (!((
29657 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29658 : : ((32 == 64 || TARGET_AVX512VL
29659 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29660 : : && ix86_pre_reload_split ()
29661 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29662 : : STRIP_UNARY (operands[4]))
29663 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29664 : : STRIP_UNARY (operands[4]))
29665 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29666 : : STRIP_UNARY (operands[3]))
29667 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29668 : : STRIP_UNARY (operands[3])))) &&
29669 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29670 : : (TARGET_AVX)) &&
29671 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29672 : : ( 1)))
29673 : : return NULL;
29674 : : return gen_split_2869 (insn, operands);
29675 : :
29676 : : case 8:
29677 : : if (!(
29678 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29679 : : ((16 == 64 || TARGET_AVX512VL
29680 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29681 : : && ix86_pre_reload_split ()
29682 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29683 : : STRIP_UNARY (operands[4]))
29684 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29685 : : STRIP_UNARY (operands[4]))
29686 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29687 : : STRIP_UNARY (operands[3]))
29688 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29689 : : STRIP_UNARY (operands[3])))) &&
29690 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29691 : : ( 1)))
29692 : : return NULL;
29693 : : return gen_split_2896 (insn, operands);
29694 : :
29695 : : case 9:
29696 : : if (!((
29697 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29698 : : ((64 == 64 || TARGET_AVX512VL
29699 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29700 : : && ix86_pre_reload_split ()
29701 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29702 : : STRIP_UNARY (operands[4]))
29703 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29704 : : STRIP_UNARY (operands[4]))
29705 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29706 : : STRIP_UNARY (operands[3]))
29707 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29708 : : STRIP_UNARY (operands[3])))) &&
29709 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29710 : : (TARGET_AVX512F)) &&
29711 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29712 : : ( 1)))
29713 : : return NULL;
29714 : : return gen_split_2923 (insn, operands);
29715 : :
29716 : : case 10:
29717 : : if (!((
29718 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29719 : : ((32 == 64 || TARGET_AVX512VL
29720 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29721 : : && ix86_pre_reload_split ()
29722 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29723 : : STRIP_UNARY (operands[4]))
29724 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29725 : : STRIP_UNARY (operands[4]))
29726 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29727 : : STRIP_UNARY (operands[3]))
29728 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29729 : : STRIP_UNARY (operands[3])))) &&
29730 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29731 : : (TARGET_AVX)) &&
29732 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29733 : : ( 1)))
29734 : : return NULL;
29735 : : return gen_split_2950 (insn, operands);
29736 : :
29737 : : case 11:
29738 : : if (!((
29739 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29740 : : ((16 == 64 || TARGET_AVX512VL
29741 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29742 : : && ix86_pre_reload_split ()
29743 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29744 : : STRIP_UNARY (operands[4]))
29745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29746 : : STRIP_UNARY (operands[4]))
29747 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29748 : : STRIP_UNARY (operands[3]))
29749 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29750 : : STRIP_UNARY (operands[3])))) &&
29751 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29752 : : (TARGET_SSE2)) &&
29753 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29754 : : ( 1)))
29755 : : return NULL;
29756 : : return gen_split_2977 (insn, operands);
29757 : :
29758 : : default:
29759 : : return NULL;
29760 : : }
29761 : :
29762 : : default:
29763 : : return NULL;
29764 : : }
29765 : :
29766 : : case XOR:
29767 : : x4 = XEXP (x3, 0);
29768 : : switch (GET_CODE (x4))
29769 : : {
29770 : : case REG:
29771 : : case SUBREG:
29772 : : case MEM:
29773 : : case NOT:
29774 : : switch (pattern524 (x2))
29775 : : {
29776 : : case 0:
29777 : : if (!((
29778 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29779 : : ((64 == 64 || TARGET_AVX512VL
29780 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29781 : : && ix86_pre_reload_split ()
29782 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29783 : : STRIP_UNARY (operands[4]))
29784 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29785 : : STRIP_UNARY (operands[4]))
29786 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29787 : : STRIP_UNARY (operands[3]))
29788 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29789 : : STRIP_UNARY (operands[3])))) &&
29790 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29791 : : (TARGET_AVX512F)) &&
29792 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29793 : : ( 1)))
29794 : : return NULL;
29795 : : return gen_split_2035 (insn, operands);
29796 : :
29797 : : case 1:
29798 : : if (!((
29799 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29800 : : ((32 == 64 || TARGET_AVX512VL
29801 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29802 : : && ix86_pre_reload_split ()
29803 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29804 : : STRIP_UNARY (operands[4]))
29805 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29806 : : STRIP_UNARY (operands[4]))
29807 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29808 : : STRIP_UNARY (operands[3]))
29809 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29810 : : STRIP_UNARY (operands[3])))) &&
29811 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29812 : : (TARGET_AVX)) &&
29813 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29814 : : ( 1)))
29815 : : return NULL;
29816 : : return gen_split_2062 (insn, operands);
29817 : :
29818 : : case 2:
29819 : : if (!(
29820 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29821 : : ((16 == 64 || TARGET_AVX512VL
29822 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29823 : : && ix86_pre_reload_split ()
29824 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29825 : : STRIP_UNARY (operands[4]))
29826 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29827 : : STRIP_UNARY (operands[4]))
29828 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29829 : : STRIP_UNARY (operands[3]))
29830 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29831 : : STRIP_UNARY (operands[3])))) &&
29832 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29833 : : ( 1)))
29834 : : return NULL;
29835 : : return gen_split_2089 (insn, operands);
29836 : :
29837 : : case 3:
29838 : : if (!((
29839 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29840 : : ((64 == 64 || TARGET_AVX512VL
29841 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29842 : : && ix86_pre_reload_split ()
29843 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29844 : : STRIP_UNARY (operands[4]))
29845 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29846 : : STRIP_UNARY (operands[4]))
29847 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29848 : : STRIP_UNARY (operands[3]))
29849 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29850 : : STRIP_UNARY (operands[3])))) &&
29851 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29852 : : (TARGET_AVX512F)) &&
29853 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29854 : : ( 1)))
29855 : : return NULL;
29856 : : return gen_split_2116 (insn, operands);
29857 : :
29858 : : case 4:
29859 : : if (!((
29860 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29861 : : ((32 == 64 || TARGET_AVX512VL
29862 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29863 : : && ix86_pre_reload_split ()
29864 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29865 : : STRIP_UNARY (operands[4]))
29866 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29867 : : STRIP_UNARY (operands[4]))
29868 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29869 : : STRIP_UNARY (operands[3]))
29870 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29871 : : STRIP_UNARY (operands[3])))) &&
29872 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29873 : : (TARGET_AVX)) &&
29874 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29875 : : ( 1)))
29876 : : return NULL;
29877 : : return gen_split_2143 (insn, operands);
29878 : :
29879 : : case 5:
29880 : : if (!(
29881 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29882 : : ((16 == 64 || TARGET_AVX512VL
29883 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29884 : : && ix86_pre_reload_split ()
29885 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29886 : : STRIP_UNARY (operands[4]))
29887 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29888 : : STRIP_UNARY (operands[4]))
29889 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29890 : : STRIP_UNARY (operands[3]))
29891 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29892 : : STRIP_UNARY (operands[3])))) &&
29893 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29894 : : ( 1)))
29895 : : return NULL;
29896 : : return gen_split_2170 (insn, operands);
29897 : :
29898 : : case 6:
29899 : : if (!((
29900 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29901 : : ((64 == 64 || TARGET_AVX512VL
29902 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29903 : : && ix86_pre_reload_split ()
29904 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29905 : : STRIP_UNARY (operands[4]))
29906 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29907 : : STRIP_UNARY (operands[4]))
29908 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29909 : : STRIP_UNARY (operands[3]))
29910 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29911 : : STRIP_UNARY (operands[3])))) &&
29912 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29913 : : (TARGET_AVX512F)) &&
29914 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29915 : : ( 1)))
29916 : : return NULL;
29917 : : return gen_split_2197 (insn, operands);
29918 : :
29919 : : case 7:
29920 : : if (!((
29921 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29922 : : ((32 == 64 || TARGET_AVX512VL
29923 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29924 : : && ix86_pre_reload_split ()
29925 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29926 : : STRIP_UNARY (operands[4]))
29927 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29928 : : STRIP_UNARY (operands[4]))
29929 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29930 : : STRIP_UNARY (operands[3]))
29931 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29932 : : STRIP_UNARY (operands[3])))) &&
29933 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29934 : : (TARGET_AVX)) &&
29935 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29936 : : ( 1)))
29937 : : return NULL;
29938 : : return gen_split_2224 (insn, operands);
29939 : :
29940 : : case 8:
29941 : : if (!(
29942 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29943 : : ((16 == 64 || TARGET_AVX512VL
29944 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29945 : : && ix86_pre_reload_split ()
29946 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29947 : : STRIP_UNARY (operands[4]))
29948 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29949 : : STRIP_UNARY (operands[4]))
29950 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29951 : : STRIP_UNARY (operands[3]))
29952 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29953 : : STRIP_UNARY (operands[3])))) &&
29954 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29955 : : ( 1)))
29956 : : return NULL;
29957 : : return gen_split_2251 (insn, operands);
29958 : :
29959 : : case 9:
29960 : : if (!((
29961 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29962 : : ((64 == 64 || TARGET_AVX512VL
29963 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29964 : : && ix86_pre_reload_split ()
29965 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29966 : : STRIP_UNARY (operands[4]))
29967 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29968 : : STRIP_UNARY (operands[4]))
29969 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29970 : : STRIP_UNARY (operands[3]))
29971 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29972 : : STRIP_UNARY (operands[3])))) &&
29973 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29974 : : (TARGET_AVX512F)) &&
29975 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29976 : : ( 1)))
29977 : : return NULL;
29978 : : return gen_split_2278 (insn, operands);
29979 : :
29980 : : case 10:
29981 : : if (!((
29982 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29983 : : ((32 == 64 || TARGET_AVX512VL
29984 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29985 : : && ix86_pre_reload_split ()
29986 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29987 : : STRIP_UNARY (operands[4]))
29988 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29989 : : STRIP_UNARY (operands[4]))
29990 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29991 : : STRIP_UNARY (operands[3]))
29992 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29993 : : STRIP_UNARY (operands[3])))) &&
29994 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29995 : : (TARGET_AVX)) &&
29996 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29997 : : ( 1)))
29998 : : return NULL;
29999 : : return gen_split_2305 (insn, operands);
30000 : :
30001 : : case 11:
30002 : : if (!((
30003 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30004 : : ((16 == 64 || TARGET_AVX512VL
30005 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30006 : : && ix86_pre_reload_split ()
30007 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30008 : : STRIP_UNARY (operands[4]))
30009 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30010 : : STRIP_UNARY (operands[4]))
30011 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30012 : : STRIP_UNARY (operands[3]))
30013 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30014 : : STRIP_UNARY (operands[3])))) &&
30015 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30016 : : (TARGET_SSE2)) &&
30017 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30018 : : ( 1)))
30019 : : return NULL;
30020 : : return gen_split_2332 (insn, operands);
30021 : :
30022 : : case 12:
30023 : : if (!((
30024 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30025 : : ((64 == 64 || TARGET_AVX512VL
30026 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30027 : : && ix86_pre_reload_split ()
30028 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30029 : : STRIP_UNARY (operands[4]))
30030 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30031 : : STRIP_UNARY (operands[4]))
30032 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30033 : : STRIP_UNARY (operands[3]))
30034 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30035 : : STRIP_UNARY (operands[3])))) &&
30036 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30037 : : (TARGET_AVX512F)) &&
30038 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30039 : : ( 1)))
30040 : : return NULL;
30041 : : return gen_split_2038 (insn, operands);
30042 : :
30043 : : case 13:
30044 : : if (!((
30045 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30046 : : ((32 == 64 || TARGET_AVX512VL
30047 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30048 : : && ix86_pre_reload_split ()
30049 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30050 : : STRIP_UNARY (operands[4]))
30051 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30052 : : STRIP_UNARY (operands[4]))
30053 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30054 : : STRIP_UNARY (operands[3]))
30055 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30056 : : STRIP_UNARY (operands[3])))) &&
30057 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30058 : : (TARGET_AVX)) &&
30059 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30060 : : ( 1)))
30061 : : return NULL;
30062 : : return gen_split_2065 (insn, operands);
30063 : :
30064 : : case 14:
30065 : : if (!(
30066 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30067 : : ((16 == 64 || TARGET_AVX512VL
30068 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30069 : : && ix86_pre_reload_split ()
30070 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30071 : : STRIP_UNARY (operands[4]))
30072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30073 : : STRIP_UNARY (operands[4]))
30074 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30075 : : STRIP_UNARY (operands[3]))
30076 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30077 : : STRIP_UNARY (operands[3])))) &&
30078 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30079 : : ( 1)))
30080 : : return NULL;
30081 : : return gen_split_2092 (insn, operands);
30082 : :
30083 : : case 15:
30084 : : if (!((
30085 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30086 : : ((64 == 64 || TARGET_AVX512VL
30087 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30088 : : && ix86_pre_reload_split ()
30089 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30090 : : STRIP_UNARY (operands[4]))
30091 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30092 : : STRIP_UNARY (operands[4]))
30093 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30094 : : STRIP_UNARY (operands[3]))
30095 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30096 : : STRIP_UNARY (operands[3])))) &&
30097 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30098 : : (TARGET_AVX512F)) &&
30099 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30100 : : ( 1)))
30101 : : return NULL;
30102 : : return gen_split_2119 (insn, operands);
30103 : :
30104 : : case 16:
30105 : : if (!((
30106 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30107 : : ((32 == 64 || TARGET_AVX512VL
30108 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30109 : : && ix86_pre_reload_split ()
30110 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30111 : : STRIP_UNARY (operands[4]))
30112 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30113 : : STRIP_UNARY (operands[4]))
30114 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30115 : : STRIP_UNARY (operands[3]))
30116 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30117 : : STRIP_UNARY (operands[3])))) &&
30118 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30119 : : (TARGET_AVX)) &&
30120 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30121 : : ( 1)))
30122 : : return NULL;
30123 : : return gen_split_2146 (insn, operands);
30124 : :
30125 : : case 17:
30126 : : if (!(
30127 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30128 : : ((16 == 64 || TARGET_AVX512VL
30129 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30130 : : && ix86_pre_reload_split ()
30131 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30132 : : STRIP_UNARY (operands[4]))
30133 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30134 : : STRIP_UNARY (operands[4]))
30135 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30136 : : STRIP_UNARY (operands[3]))
30137 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30138 : : STRIP_UNARY (operands[3])))) &&
30139 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30140 : : ( 1)))
30141 : : return NULL;
30142 : : return gen_split_2173 (insn, operands);
30143 : :
30144 : : case 18:
30145 : : if (!((
30146 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30147 : : ((64 == 64 || TARGET_AVX512VL
30148 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30149 : : && ix86_pre_reload_split ()
30150 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30151 : : STRIP_UNARY (operands[4]))
30152 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30153 : : STRIP_UNARY (operands[4]))
30154 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30155 : : STRIP_UNARY (operands[3]))
30156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30157 : : STRIP_UNARY (operands[3])))) &&
30158 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30159 : : (TARGET_AVX512F)) &&
30160 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30161 : : ( 1)))
30162 : : return NULL;
30163 : : return gen_split_2200 (insn, operands);
30164 : :
30165 : : case 19:
30166 : : if (!((
30167 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30168 : : ((32 == 64 || TARGET_AVX512VL
30169 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30170 : : && ix86_pre_reload_split ()
30171 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30172 : : STRIP_UNARY (operands[4]))
30173 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30174 : : STRIP_UNARY (operands[4]))
30175 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30176 : : STRIP_UNARY (operands[3]))
30177 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30178 : : STRIP_UNARY (operands[3])))) &&
30179 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30180 : : (TARGET_AVX)) &&
30181 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30182 : : ( 1)))
30183 : : return NULL;
30184 : : return gen_split_2227 (insn, operands);
30185 : :
30186 : : case 20:
30187 : : if (!(
30188 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30189 : : ((16 == 64 || TARGET_AVX512VL
30190 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30191 : : && ix86_pre_reload_split ()
30192 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30193 : : STRIP_UNARY (operands[4]))
30194 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30195 : : STRIP_UNARY (operands[4]))
30196 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30197 : : STRIP_UNARY (operands[3]))
30198 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30199 : : STRIP_UNARY (operands[3])))) &&
30200 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30201 : : ( 1)))
30202 : : return NULL;
30203 : : return gen_split_2254 (insn, operands);
30204 : :
30205 : : case 21:
30206 : : if (!((
30207 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30208 : : ((64 == 64 || TARGET_AVX512VL
30209 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30210 : : && ix86_pre_reload_split ()
30211 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30212 : : STRIP_UNARY (operands[4]))
30213 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30214 : : STRIP_UNARY (operands[4]))
30215 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30216 : : STRIP_UNARY (operands[3]))
30217 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30218 : : STRIP_UNARY (operands[3])))) &&
30219 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30220 : : (TARGET_AVX512F)) &&
30221 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30222 : : ( 1)))
30223 : : return NULL;
30224 : : return gen_split_2281 (insn, operands);
30225 : :
30226 : : case 22:
30227 : : if (!((
30228 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30229 : : ((32 == 64 || TARGET_AVX512VL
30230 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30231 : : && ix86_pre_reload_split ()
30232 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30233 : : STRIP_UNARY (operands[4]))
30234 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30235 : : STRIP_UNARY (operands[4]))
30236 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30237 : : STRIP_UNARY (operands[3]))
30238 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30239 : : STRIP_UNARY (operands[3])))) &&
30240 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30241 : : (TARGET_AVX)) &&
30242 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30243 : : ( 1)))
30244 : : return NULL;
30245 : : return gen_split_2308 (insn, operands);
30246 : :
30247 : : case 23:
30248 : : if (!((
30249 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30250 : : ((16 == 64 || TARGET_AVX512VL
30251 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30252 : : && ix86_pre_reload_split ()
30253 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30254 : : STRIP_UNARY (operands[4]))
30255 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30256 : : STRIP_UNARY (operands[4]))
30257 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30258 : : STRIP_UNARY (operands[3]))
30259 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30260 : : STRIP_UNARY (operands[3])))) &&
30261 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30262 : : (TARGET_SSE2)) &&
30263 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30264 : : ( 1)))
30265 : : return NULL;
30266 : : return gen_split_2335 (insn, operands);
30267 : :
30268 : : case 24:
30269 : : if (!((
30270 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30271 : : ((64 == 64 || TARGET_AVX512VL
30272 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30273 : : && ix86_pre_reload_split ()
30274 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30275 : : STRIP_UNARY (operands[4]))
30276 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30277 : : STRIP_UNARY (operands[4]))
30278 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30279 : : STRIP_UNARY (operands[3]))
30280 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30281 : : STRIP_UNARY (operands[3])))) &&
30282 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30283 : : (TARGET_AVX512F)) &&
30284 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30285 : : ( 1)))
30286 : : return NULL;
30287 : : return gen_split_2041 (insn, operands);
30288 : :
30289 : : case 25:
30290 : : if (!((
30291 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30292 : : ((32 == 64 || TARGET_AVX512VL
30293 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30294 : : && ix86_pre_reload_split ()
30295 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30296 : : STRIP_UNARY (operands[4]))
30297 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30298 : : STRIP_UNARY (operands[4]))
30299 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30300 : : STRIP_UNARY (operands[3]))
30301 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30302 : : STRIP_UNARY (operands[3])))) &&
30303 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30304 : : (TARGET_AVX)) &&
30305 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30306 : : ( 1)))
30307 : : return NULL;
30308 : : return gen_split_2068 (insn, operands);
30309 : :
30310 : : case 26:
30311 : : if (!(
30312 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30313 : : ((16 == 64 || TARGET_AVX512VL
30314 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30315 : : && ix86_pre_reload_split ()
30316 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30317 : : STRIP_UNARY (operands[4]))
30318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30319 : : STRIP_UNARY (operands[4]))
30320 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30321 : : STRIP_UNARY (operands[3]))
30322 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30323 : : STRIP_UNARY (operands[3])))) &&
30324 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30325 : : ( 1)))
30326 : : return NULL;
30327 : : return gen_split_2095 (insn, operands);
30328 : :
30329 : : case 27:
30330 : : if (!((
30331 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30332 : : ((64 == 64 || TARGET_AVX512VL
30333 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30334 : : && ix86_pre_reload_split ()
30335 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30336 : : STRIP_UNARY (operands[4]))
30337 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30338 : : STRIP_UNARY (operands[4]))
30339 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30340 : : STRIP_UNARY (operands[3]))
30341 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30342 : : STRIP_UNARY (operands[3])))) &&
30343 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30344 : : (TARGET_AVX512F)) &&
30345 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30346 : : ( 1)))
30347 : : return NULL;
30348 : : return gen_split_2122 (insn, operands);
30349 : :
30350 : : case 28:
30351 : : if (!((
30352 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30353 : : ((32 == 64 || TARGET_AVX512VL
30354 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30355 : : && ix86_pre_reload_split ()
30356 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30357 : : STRIP_UNARY (operands[4]))
30358 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30359 : : STRIP_UNARY (operands[4]))
30360 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30361 : : STRIP_UNARY (operands[3]))
30362 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30363 : : STRIP_UNARY (operands[3])))) &&
30364 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30365 : : (TARGET_AVX)) &&
30366 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30367 : : ( 1)))
30368 : : return NULL;
30369 : : return gen_split_2149 (insn, operands);
30370 : :
30371 : : case 29:
30372 : : if (!(
30373 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30374 : : ((16 == 64 || TARGET_AVX512VL
30375 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30376 : : && ix86_pre_reload_split ()
30377 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30378 : : STRIP_UNARY (operands[4]))
30379 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30380 : : STRIP_UNARY (operands[4]))
30381 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30382 : : STRIP_UNARY (operands[3]))
30383 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30384 : : STRIP_UNARY (operands[3])))) &&
30385 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30386 : : ( 1)))
30387 : : return NULL;
30388 : : return gen_split_2176 (insn, operands);
30389 : :
30390 : : case 30:
30391 : : if (!((
30392 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30393 : : ((64 == 64 || TARGET_AVX512VL
30394 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30395 : : && ix86_pre_reload_split ()
30396 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30397 : : STRIP_UNARY (operands[4]))
30398 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30399 : : STRIP_UNARY (operands[4]))
30400 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30401 : : STRIP_UNARY (operands[3]))
30402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30403 : : STRIP_UNARY (operands[3])))) &&
30404 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30405 : : (TARGET_AVX512F)) &&
30406 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30407 : : ( 1)))
30408 : : return NULL;
30409 : : return gen_split_2203 (insn, operands);
30410 : :
30411 : : case 31:
30412 : : if (!((
30413 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30414 : : ((32 == 64 || TARGET_AVX512VL
30415 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30416 : : && ix86_pre_reload_split ()
30417 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30418 : : STRIP_UNARY (operands[4]))
30419 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30420 : : STRIP_UNARY (operands[4]))
30421 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30422 : : STRIP_UNARY (operands[3]))
30423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30424 : : STRIP_UNARY (operands[3])))) &&
30425 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30426 : : (TARGET_AVX)) &&
30427 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30428 : : ( 1)))
30429 : : return NULL;
30430 : : return gen_split_2230 (insn, operands);
30431 : :
30432 : : case 32:
30433 : : if (!(
30434 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30435 : : ((16 == 64 || TARGET_AVX512VL
30436 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30437 : : && ix86_pre_reload_split ()
30438 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30439 : : STRIP_UNARY (operands[4]))
30440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30441 : : STRIP_UNARY (operands[4]))
30442 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30443 : : STRIP_UNARY (operands[3]))
30444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30445 : : STRIP_UNARY (operands[3])))) &&
30446 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30447 : : ( 1)))
30448 : : return NULL;
30449 : : return gen_split_2257 (insn, operands);
30450 : :
30451 : : case 33:
30452 : : if (!((
30453 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30454 : : ((64 == 64 || TARGET_AVX512VL
30455 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30456 : : && ix86_pre_reload_split ()
30457 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30458 : : STRIP_UNARY (operands[4]))
30459 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30460 : : STRIP_UNARY (operands[4]))
30461 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30462 : : STRIP_UNARY (operands[3]))
30463 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30464 : : STRIP_UNARY (operands[3])))) &&
30465 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30466 : : (TARGET_AVX512F)) &&
30467 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30468 : : ( 1)))
30469 : : return NULL;
30470 : : return gen_split_2284 (insn, operands);
30471 : :
30472 : : case 34:
30473 : : if (!((
30474 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30475 : : ((32 == 64 || TARGET_AVX512VL
30476 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30477 : : && ix86_pre_reload_split ()
30478 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30479 : : STRIP_UNARY (operands[4]))
30480 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30481 : : STRIP_UNARY (operands[4]))
30482 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30483 : : STRIP_UNARY (operands[3]))
30484 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30485 : : STRIP_UNARY (operands[3])))) &&
30486 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30487 : : (TARGET_AVX)) &&
30488 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30489 : : ( 1)))
30490 : : return NULL;
30491 : : return gen_split_2311 (insn, operands);
30492 : :
30493 : : case 35:
30494 : : if (!((
30495 : : #line 13799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30496 : : ((16 == 64 || TARGET_AVX512VL
30497 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30498 : : && ix86_pre_reload_split ()
30499 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30500 : : STRIP_UNARY (operands[4]))
30501 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30502 : : STRIP_UNARY (operands[4]))
30503 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30504 : : STRIP_UNARY (operands[3]))
30505 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30506 : : STRIP_UNARY (operands[3])))) &&
30507 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30508 : : (TARGET_SSE2)) &&
30509 : : #line 13811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30510 : : ( 1)))
30511 : : return NULL;
30512 : : return gen_split_2338 (insn, operands);
30513 : :
30514 : : case 36:
30515 : : if (!((
30516 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30517 : : ((64 == 64 || TARGET_AVX512VL
30518 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30519 : : && ix86_pre_reload_split ()) &&
30520 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30521 : : (TARGET_AVX512F)) &&
30522 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30523 : : ( 1)))
30524 : : return NULL;
30525 : : return gen_split_3103 (insn, operands);
30526 : :
30527 : : case 37:
30528 : : if (!((
30529 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30530 : : ((32 == 64 || TARGET_AVX512VL
30531 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30532 : : && ix86_pre_reload_split ()) &&
30533 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30534 : : (TARGET_AVX)) &&
30535 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30536 : : ( 1)))
30537 : : return NULL;
30538 : : return gen_split_3112 (insn, operands);
30539 : :
30540 : : case 38:
30541 : : if (!(
30542 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30543 : : ((16 == 64 || TARGET_AVX512VL
30544 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30545 : : && ix86_pre_reload_split ()) &&
30546 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30547 : : ( 1)))
30548 : : return NULL;
30549 : : return gen_split_3121 (insn, operands);
30550 : :
30551 : : case 39:
30552 : : if (!((
30553 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30554 : : ((64 == 64 || TARGET_AVX512VL
30555 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30556 : : && ix86_pre_reload_split ()) &&
30557 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30558 : : (TARGET_AVX512F)) &&
30559 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30560 : : ( 1)))
30561 : : return NULL;
30562 : : return gen_split_3130 (insn, operands);
30563 : :
30564 : : case 40:
30565 : : if (!((
30566 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30567 : : ((32 == 64 || TARGET_AVX512VL
30568 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30569 : : && ix86_pre_reload_split ()) &&
30570 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30571 : : (TARGET_AVX)) &&
30572 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30573 : : ( 1)))
30574 : : return NULL;
30575 : : return gen_split_3139 (insn, operands);
30576 : :
30577 : : case 41:
30578 : : if (!(
30579 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30580 : : ((16 == 64 || TARGET_AVX512VL
30581 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30582 : : && ix86_pre_reload_split ()) &&
30583 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30584 : : ( 1)))
30585 : : return NULL;
30586 : : return gen_split_3148 (insn, operands);
30587 : :
30588 : : case 42:
30589 : : if (!((
30590 : : #line 13968 "/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 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30595 : : (TARGET_AVX512F)) &&
30596 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30597 : : ( 1)))
30598 : : return NULL;
30599 : : return gen_split_3157 (insn, operands);
30600 : :
30601 : : case 43:
30602 : : if (!((
30603 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30604 : : ((32 == 64 || TARGET_AVX512VL
30605 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30606 : : && ix86_pre_reload_split ()) &&
30607 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30608 : : (TARGET_AVX)) &&
30609 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30610 : : ( 1)))
30611 : : return NULL;
30612 : : return gen_split_3166 (insn, operands);
30613 : :
30614 : : case 44:
30615 : : if (!(
30616 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30617 : : ((16 == 64 || TARGET_AVX512VL
30618 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30619 : : && ix86_pre_reload_split ()) &&
30620 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30621 : : ( 1)))
30622 : : return NULL;
30623 : : return gen_split_3175 (insn, operands);
30624 : :
30625 : : case 45:
30626 : : if (!((
30627 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30628 : : ((64 == 64 || TARGET_AVX512VL
30629 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30630 : : && ix86_pre_reload_split ()) &&
30631 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30632 : : (TARGET_AVX512F)) &&
30633 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30634 : : ( 1)))
30635 : : return NULL;
30636 : : return gen_split_3184 (insn, operands);
30637 : :
30638 : : case 46:
30639 : : if (!((
30640 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30641 : : ((32 == 64 || TARGET_AVX512VL
30642 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30643 : : && ix86_pre_reload_split ()) &&
30644 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30645 : : (TARGET_AVX)) &&
30646 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30647 : : ( 1)))
30648 : : return NULL;
30649 : : return gen_split_3193 (insn, operands);
30650 : :
30651 : : case 47:
30652 : : if (!((
30653 : : #line 13968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30654 : : ((16 == 64 || TARGET_AVX512VL
30655 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30656 : : && ix86_pre_reload_split ()) &&
30657 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30658 : : (TARGET_SSE2)) &&
30659 : : #line 13972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30660 : : ( 1)))
30661 : : return NULL;
30662 : : return gen_split_3202 (insn, operands);
30663 : :
30664 : : default:
30665 : : return NULL;
30666 : : }
30667 : :
30668 : : case AND:
30669 : : switch (pattern525 (x2))
30670 : : {
30671 : : case 0:
30672 : : if (!((
30673 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30674 : : ((64 == 64 || TARGET_AVX512VL
30675 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30676 : : && ix86_pre_reload_split ()
30677 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30678 : : STRIP_UNARY (operands[4]))
30679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30680 : : STRIP_UNARY (operands[4]))
30681 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30682 : : STRIP_UNARY (operands[3]))
30683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30684 : : STRIP_UNARY (operands[3])))) &&
30685 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30686 : : (TARGET_AVX512F)) &&
30687 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30688 : : ( 1)))
30689 : : return NULL;
30690 : : return gen_split_2683 (insn, operands);
30691 : :
30692 : : case 1:
30693 : : if (!((
30694 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30695 : : ((32 == 64 || TARGET_AVX512VL
30696 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30697 : : && ix86_pre_reload_split ()
30698 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30699 : : STRIP_UNARY (operands[4]))
30700 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30701 : : STRIP_UNARY (operands[4]))
30702 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30703 : : STRIP_UNARY (operands[3]))
30704 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30705 : : STRIP_UNARY (operands[3])))) &&
30706 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30707 : : (TARGET_AVX)) &&
30708 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30709 : : ( 1)))
30710 : : return NULL;
30711 : : return gen_split_2710 (insn, operands);
30712 : :
30713 : : case 2:
30714 : : if (!(
30715 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30716 : : ((16 == 64 || TARGET_AVX512VL
30717 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30718 : : && ix86_pre_reload_split ()
30719 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30720 : : STRIP_UNARY (operands[4]))
30721 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30722 : : STRIP_UNARY (operands[4]))
30723 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30724 : : STRIP_UNARY (operands[3]))
30725 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30726 : : STRIP_UNARY (operands[3])))) &&
30727 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30728 : : ( 1)))
30729 : : return NULL;
30730 : : return gen_split_2737 (insn, operands);
30731 : :
30732 : : case 3:
30733 : : if (!((
30734 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30735 : : ((64 == 64 || TARGET_AVX512VL
30736 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30737 : : && ix86_pre_reload_split ()
30738 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30739 : : STRIP_UNARY (operands[4]))
30740 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30741 : : STRIP_UNARY (operands[4]))
30742 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30743 : : STRIP_UNARY (operands[3]))
30744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30745 : : STRIP_UNARY (operands[3])))) &&
30746 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30747 : : (TARGET_AVX512F)) &&
30748 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30749 : : ( 1)))
30750 : : return NULL;
30751 : : return gen_split_2764 (insn, operands);
30752 : :
30753 : : case 4:
30754 : : if (!((
30755 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30756 : : ((32 == 64 || TARGET_AVX512VL
30757 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30758 : : && ix86_pre_reload_split ()
30759 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30760 : : STRIP_UNARY (operands[4]))
30761 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30762 : : STRIP_UNARY (operands[4]))
30763 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30764 : : STRIP_UNARY (operands[3]))
30765 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30766 : : STRIP_UNARY (operands[3])))) &&
30767 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30768 : : (TARGET_AVX)) &&
30769 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30770 : : ( 1)))
30771 : : return NULL;
30772 : : return gen_split_2791 (insn, operands);
30773 : :
30774 : : case 5:
30775 : : if (!(
30776 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30777 : : ((16 == 64 || TARGET_AVX512VL
30778 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30779 : : && ix86_pre_reload_split ()
30780 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30781 : : STRIP_UNARY (operands[4]))
30782 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30783 : : STRIP_UNARY (operands[4]))
30784 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30785 : : STRIP_UNARY (operands[3]))
30786 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30787 : : STRIP_UNARY (operands[3])))) &&
30788 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30789 : : ( 1)))
30790 : : return NULL;
30791 : : return gen_split_2818 (insn, operands);
30792 : :
30793 : : case 6:
30794 : : if (!((
30795 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30796 : : ((64 == 64 || TARGET_AVX512VL
30797 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30798 : : && ix86_pre_reload_split ()
30799 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30800 : : STRIP_UNARY (operands[4]))
30801 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30802 : : STRIP_UNARY (operands[4]))
30803 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30804 : : STRIP_UNARY (operands[3]))
30805 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30806 : : STRIP_UNARY (operands[3])))) &&
30807 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30808 : : (TARGET_AVX512F)) &&
30809 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30810 : : ( 1)))
30811 : : return NULL;
30812 : : return gen_split_2845 (insn, operands);
30813 : :
30814 : : case 7:
30815 : : if (!((
30816 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30817 : : ((32 == 64 || TARGET_AVX512VL
30818 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30819 : : && ix86_pre_reload_split ()
30820 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30821 : : STRIP_UNARY (operands[4]))
30822 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30823 : : STRIP_UNARY (operands[4]))
30824 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30825 : : STRIP_UNARY (operands[3]))
30826 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30827 : : STRIP_UNARY (operands[3])))) &&
30828 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30829 : : (TARGET_AVX)) &&
30830 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30831 : : ( 1)))
30832 : : return NULL;
30833 : : return gen_split_2872 (insn, operands);
30834 : :
30835 : : case 8:
30836 : : if (!(
30837 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30838 : : ((16 == 64 || TARGET_AVX512VL
30839 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30840 : : && ix86_pre_reload_split ()
30841 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30842 : : STRIP_UNARY (operands[4]))
30843 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30844 : : STRIP_UNARY (operands[4]))
30845 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30846 : : STRIP_UNARY (operands[3]))
30847 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30848 : : STRIP_UNARY (operands[3])))) &&
30849 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30850 : : ( 1)))
30851 : : return NULL;
30852 : : return gen_split_2899 (insn, operands);
30853 : :
30854 : : case 9:
30855 : : if (!((
30856 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30857 : : ((64 == 64 || TARGET_AVX512VL
30858 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30859 : : && ix86_pre_reload_split ()
30860 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30861 : : STRIP_UNARY (operands[4]))
30862 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30863 : : STRIP_UNARY (operands[4]))
30864 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30865 : : STRIP_UNARY (operands[3]))
30866 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30867 : : STRIP_UNARY (operands[3])))) &&
30868 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30869 : : (TARGET_AVX512F)) &&
30870 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30871 : : ( 1)))
30872 : : return NULL;
30873 : : return gen_split_2926 (insn, operands);
30874 : :
30875 : : case 10:
30876 : : if (!((
30877 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30878 : : ((32 == 64 || TARGET_AVX512VL
30879 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30880 : : && ix86_pre_reload_split ()
30881 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30882 : : STRIP_UNARY (operands[4]))
30883 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30884 : : STRIP_UNARY (operands[4]))
30885 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30886 : : STRIP_UNARY (operands[3]))
30887 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30888 : : STRIP_UNARY (operands[3])))) &&
30889 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30890 : : (TARGET_AVX)) &&
30891 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30892 : : ( 1)))
30893 : : return NULL;
30894 : : return gen_split_2953 (insn, operands);
30895 : :
30896 : : case 11:
30897 : : if (!((
30898 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30899 : : ((16 == 64 || TARGET_AVX512VL
30900 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30901 : : && ix86_pre_reload_split ()
30902 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30903 : : STRIP_UNARY (operands[4]))
30904 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30905 : : STRIP_UNARY (operands[4]))
30906 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30907 : : STRIP_UNARY (operands[3]))
30908 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30909 : : STRIP_UNARY (operands[3])))) &&
30910 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30911 : : (TARGET_SSE2)) &&
30912 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30913 : : ( 1)))
30914 : : return NULL;
30915 : : return gen_split_2980 (insn, operands);
30916 : :
30917 : : default:
30918 : : return NULL;
30919 : : }
30920 : :
30921 : : case IOR:
30922 : : switch (pattern525 (x2))
30923 : : {
30924 : : case 0:
30925 : : if (!((
30926 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30927 : : ((64 == 64 || TARGET_AVX512VL
30928 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30929 : : && ix86_pre_reload_split ()
30930 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30931 : : STRIP_UNARY (operands[4]))
30932 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30933 : : STRIP_UNARY (operands[4]))
30934 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30935 : : STRIP_UNARY (operands[3]))
30936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30937 : : STRIP_UNARY (operands[3])))) &&
30938 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30939 : : (TARGET_AVX512F)) &&
30940 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30941 : : ( 1)))
30942 : : return NULL;
30943 : : return gen_split_2686 (insn, operands);
30944 : :
30945 : : case 1:
30946 : : if (!((
30947 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30948 : : ((32 == 64 || TARGET_AVX512VL
30949 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30950 : : && ix86_pre_reload_split ()
30951 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30952 : : STRIP_UNARY (operands[4]))
30953 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30954 : : STRIP_UNARY (operands[4]))
30955 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30956 : : STRIP_UNARY (operands[3]))
30957 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30958 : : STRIP_UNARY (operands[3])))) &&
30959 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30960 : : (TARGET_AVX)) &&
30961 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30962 : : ( 1)))
30963 : : return NULL;
30964 : : return gen_split_2713 (insn, operands);
30965 : :
30966 : : case 2:
30967 : : if (!(
30968 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30969 : : ((16 == 64 || TARGET_AVX512VL
30970 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30971 : : && ix86_pre_reload_split ()
30972 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30973 : : STRIP_UNARY (operands[4]))
30974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30975 : : STRIP_UNARY (operands[4]))
30976 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30977 : : STRIP_UNARY (operands[3]))
30978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30979 : : STRIP_UNARY (operands[3])))) &&
30980 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30981 : : ( 1)))
30982 : : return NULL;
30983 : : return gen_split_2740 (insn, operands);
30984 : :
30985 : : case 3:
30986 : : if (!((
30987 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30988 : : ((64 == 64 || TARGET_AVX512VL
30989 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30990 : : && ix86_pre_reload_split ()
30991 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30992 : : STRIP_UNARY (operands[4]))
30993 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30994 : : STRIP_UNARY (operands[4]))
30995 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30996 : : STRIP_UNARY (operands[3]))
30997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30998 : : STRIP_UNARY (operands[3])))) &&
30999 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31000 : : (TARGET_AVX512F)) &&
31001 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31002 : : ( 1)))
31003 : : return NULL;
31004 : : return gen_split_2767 (insn, operands);
31005 : :
31006 : : case 4:
31007 : : if (!((
31008 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31009 : : ((32 == 64 || TARGET_AVX512VL
31010 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31011 : : && ix86_pre_reload_split ()
31012 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31013 : : STRIP_UNARY (operands[4]))
31014 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31015 : : STRIP_UNARY (operands[4]))
31016 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31017 : : STRIP_UNARY (operands[3]))
31018 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31019 : : STRIP_UNARY (operands[3])))) &&
31020 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31021 : : (TARGET_AVX)) &&
31022 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31023 : : ( 1)))
31024 : : return NULL;
31025 : : return gen_split_2794 (insn, operands);
31026 : :
31027 : : case 5:
31028 : : if (!(
31029 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31030 : : ((16 == 64 || TARGET_AVX512VL
31031 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31032 : : && ix86_pre_reload_split ()
31033 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31034 : : STRIP_UNARY (operands[4]))
31035 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31036 : : STRIP_UNARY (operands[4]))
31037 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31038 : : STRIP_UNARY (operands[3]))
31039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31040 : : STRIP_UNARY (operands[3])))) &&
31041 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31042 : : ( 1)))
31043 : : return NULL;
31044 : : return gen_split_2821 (insn, operands);
31045 : :
31046 : : case 6:
31047 : : if (!((
31048 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31049 : : ((64 == 64 || TARGET_AVX512VL
31050 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31051 : : && ix86_pre_reload_split ()
31052 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31053 : : STRIP_UNARY (operands[4]))
31054 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31055 : : STRIP_UNARY (operands[4]))
31056 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31057 : : STRIP_UNARY (operands[3]))
31058 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31059 : : STRIP_UNARY (operands[3])))) &&
31060 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31061 : : (TARGET_AVX512F)) &&
31062 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31063 : : ( 1)))
31064 : : return NULL;
31065 : : return gen_split_2848 (insn, operands);
31066 : :
31067 : : case 7:
31068 : : if (!((
31069 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31070 : : ((32 == 64 || TARGET_AVX512VL
31071 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31072 : : && ix86_pre_reload_split ()
31073 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31074 : : STRIP_UNARY (operands[4]))
31075 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31076 : : STRIP_UNARY (operands[4]))
31077 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31078 : : STRIP_UNARY (operands[3]))
31079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31080 : : STRIP_UNARY (operands[3])))) &&
31081 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31082 : : (TARGET_AVX)) &&
31083 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31084 : : ( 1)))
31085 : : return NULL;
31086 : : return gen_split_2875 (insn, operands);
31087 : :
31088 : : case 8:
31089 : : if (!(
31090 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31091 : : ((16 == 64 || TARGET_AVX512VL
31092 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31093 : : && ix86_pre_reload_split ()
31094 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31095 : : STRIP_UNARY (operands[4]))
31096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31097 : : STRIP_UNARY (operands[4]))
31098 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31099 : : STRIP_UNARY (operands[3]))
31100 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31101 : : STRIP_UNARY (operands[3])))) &&
31102 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31103 : : ( 1)))
31104 : : return NULL;
31105 : : return gen_split_2902 (insn, operands);
31106 : :
31107 : : case 9:
31108 : : if (!((
31109 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31110 : : ((64 == 64 || TARGET_AVX512VL
31111 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31112 : : && ix86_pre_reload_split ()
31113 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31114 : : STRIP_UNARY (operands[4]))
31115 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31116 : : STRIP_UNARY (operands[4]))
31117 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31118 : : STRIP_UNARY (operands[3]))
31119 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31120 : : STRIP_UNARY (operands[3])))) &&
31121 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31122 : : (TARGET_AVX512F)) &&
31123 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31124 : : ( 1)))
31125 : : return NULL;
31126 : : return gen_split_2929 (insn, operands);
31127 : :
31128 : : case 10:
31129 : : if (!((
31130 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31131 : : ((32 == 64 || TARGET_AVX512VL
31132 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31133 : : && ix86_pre_reload_split ()
31134 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31135 : : STRIP_UNARY (operands[4]))
31136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31137 : : STRIP_UNARY (operands[4]))
31138 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31139 : : STRIP_UNARY (operands[3]))
31140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31141 : : STRIP_UNARY (operands[3])))) &&
31142 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31143 : : (TARGET_AVX)) &&
31144 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31145 : : ( 1)))
31146 : : return NULL;
31147 : : return gen_split_2956 (insn, operands);
31148 : :
31149 : : case 11:
31150 : : if (!((
31151 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31152 : : ((16 == 64 || TARGET_AVX512VL
31153 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31154 : : && ix86_pre_reload_split ()
31155 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31156 : : STRIP_UNARY (operands[4]))
31157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31158 : : STRIP_UNARY (operands[4]))
31159 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31160 : : STRIP_UNARY (operands[3]))
31161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31162 : : STRIP_UNARY (operands[3])))) &&
31163 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31164 : : (TARGET_SSE2)) &&
31165 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31166 : : ( 1)))
31167 : : return NULL;
31168 : : return gen_split_2983 (insn, operands);
31169 : :
31170 : : default:
31171 : : return NULL;
31172 : : }
31173 : :
31174 : : case XOR:
31175 : : switch (pattern525 (x2))
31176 : : {
31177 : : case 0:
31178 : : if (!((
31179 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31180 : : ((64 == 64 || TARGET_AVX512VL
31181 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31182 : : && ix86_pre_reload_split ()
31183 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31184 : : STRIP_UNARY (operands[4]))
31185 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31186 : : STRIP_UNARY (operands[4]))
31187 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31188 : : STRIP_UNARY (operands[3]))
31189 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31190 : : STRIP_UNARY (operands[3])))) &&
31191 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31192 : : (TARGET_AVX512F)) &&
31193 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31194 : : ( 1)))
31195 : : return NULL;
31196 : : return gen_split_2689 (insn, operands);
31197 : :
31198 : : case 1:
31199 : : if (!((
31200 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31201 : : ((32 == 64 || TARGET_AVX512VL
31202 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31203 : : && ix86_pre_reload_split ()
31204 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31205 : : STRIP_UNARY (operands[4]))
31206 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31207 : : STRIP_UNARY (operands[4]))
31208 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31209 : : STRIP_UNARY (operands[3]))
31210 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31211 : : STRIP_UNARY (operands[3])))) &&
31212 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31213 : : (TARGET_AVX)) &&
31214 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31215 : : ( 1)))
31216 : : return NULL;
31217 : : return gen_split_2716 (insn, operands);
31218 : :
31219 : : case 2:
31220 : : if (!(
31221 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31222 : : ((16 == 64 || TARGET_AVX512VL
31223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31224 : : && ix86_pre_reload_split ()
31225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31226 : : STRIP_UNARY (operands[4]))
31227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31228 : : STRIP_UNARY (operands[4]))
31229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31230 : : STRIP_UNARY (operands[3]))
31231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31232 : : STRIP_UNARY (operands[3])))) &&
31233 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31234 : : ( 1)))
31235 : : return NULL;
31236 : : return gen_split_2743 (insn, operands);
31237 : :
31238 : : case 3:
31239 : : if (!((
31240 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31241 : : ((64 == 64 || TARGET_AVX512VL
31242 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31243 : : && ix86_pre_reload_split ()
31244 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31245 : : STRIP_UNARY (operands[4]))
31246 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31247 : : STRIP_UNARY (operands[4]))
31248 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31249 : : STRIP_UNARY (operands[3]))
31250 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31251 : : STRIP_UNARY (operands[3])))) &&
31252 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31253 : : (TARGET_AVX512F)) &&
31254 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31255 : : ( 1)))
31256 : : return NULL;
31257 : : return gen_split_2770 (insn, operands);
31258 : :
31259 : : case 4:
31260 : : if (!((
31261 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31262 : : ((32 == 64 || TARGET_AVX512VL
31263 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31264 : : && ix86_pre_reload_split ()
31265 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31266 : : STRIP_UNARY (operands[4]))
31267 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31268 : : STRIP_UNARY (operands[4]))
31269 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31270 : : STRIP_UNARY (operands[3]))
31271 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31272 : : STRIP_UNARY (operands[3])))) &&
31273 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31274 : : (TARGET_AVX)) &&
31275 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31276 : : ( 1)))
31277 : : return NULL;
31278 : : return gen_split_2797 (insn, operands);
31279 : :
31280 : : case 5:
31281 : : if (!(
31282 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31283 : : ((16 == 64 || TARGET_AVX512VL
31284 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31285 : : && ix86_pre_reload_split ()
31286 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31287 : : STRIP_UNARY (operands[4]))
31288 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31289 : : STRIP_UNARY (operands[4]))
31290 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31291 : : STRIP_UNARY (operands[3]))
31292 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31293 : : STRIP_UNARY (operands[3])))) &&
31294 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31295 : : ( 1)))
31296 : : return NULL;
31297 : : return gen_split_2824 (insn, operands);
31298 : :
31299 : : case 6:
31300 : : if (!((
31301 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31302 : : ((64 == 64 || TARGET_AVX512VL
31303 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31304 : : && ix86_pre_reload_split ()
31305 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31306 : : STRIP_UNARY (operands[4]))
31307 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31308 : : STRIP_UNARY (operands[4]))
31309 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31310 : : STRIP_UNARY (operands[3]))
31311 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31312 : : STRIP_UNARY (operands[3])))) &&
31313 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31314 : : (TARGET_AVX512F)) &&
31315 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31316 : : ( 1)))
31317 : : return NULL;
31318 : : return gen_split_2851 (insn, operands);
31319 : :
31320 : : case 7:
31321 : : if (!((
31322 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31323 : : ((32 == 64 || TARGET_AVX512VL
31324 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31325 : : && ix86_pre_reload_split ()
31326 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31327 : : STRIP_UNARY (operands[4]))
31328 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31329 : : STRIP_UNARY (operands[4]))
31330 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31331 : : STRIP_UNARY (operands[3]))
31332 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31333 : : STRIP_UNARY (operands[3])))) &&
31334 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31335 : : (TARGET_AVX)) &&
31336 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31337 : : ( 1)))
31338 : : return NULL;
31339 : : return gen_split_2878 (insn, operands);
31340 : :
31341 : : case 8:
31342 : : if (!(
31343 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31344 : : ((16 == 64 || TARGET_AVX512VL
31345 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31346 : : && ix86_pre_reload_split ()
31347 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31348 : : STRIP_UNARY (operands[4]))
31349 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31350 : : STRIP_UNARY (operands[4]))
31351 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31352 : : STRIP_UNARY (operands[3]))
31353 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31354 : : STRIP_UNARY (operands[3])))) &&
31355 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31356 : : ( 1)))
31357 : : return NULL;
31358 : : return gen_split_2905 (insn, operands);
31359 : :
31360 : : case 9:
31361 : : if (!((
31362 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31363 : : ((64 == 64 || TARGET_AVX512VL
31364 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31365 : : && ix86_pre_reload_split ()
31366 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31367 : : STRIP_UNARY (operands[4]))
31368 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31369 : : STRIP_UNARY (operands[4]))
31370 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31371 : : STRIP_UNARY (operands[3]))
31372 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31373 : : STRIP_UNARY (operands[3])))) &&
31374 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31375 : : (TARGET_AVX512F)) &&
31376 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31377 : : ( 1)))
31378 : : return NULL;
31379 : : return gen_split_2932 (insn, operands);
31380 : :
31381 : : case 10:
31382 : : if (!((
31383 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31384 : : ((32 == 64 || TARGET_AVX512VL
31385 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31386 : : && ix86_pre_reload_split ()
31387 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31388 : : STRIP_UNARY (operands[4]))
31389 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31390 : : STRIP_UNARY (operands[4]))
31391 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31392 : : STRIP_UNARY (operands[3]))
31393 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31394 : : STRIP_UNARY (operands[3])))) &&
31395 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31396 : : (TARGET_AVX)) &&
31397 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31398 : : ( 1)))
31399 : : return NULL;
31400 : : return gen_split_2959 (insn, operands);
31401 : :
31402 : : case 11:
31403 : : if (!((
31404 : : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31405 : : ((16 == 64 || TARGET_AVX512VL
31406 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31407 : : && ix86_pre_reload_split ()
31408 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31409 : : STRIP_UNARY (operands[4]))
31410 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31411 : : STRIP_UNARY (operands[4]))
31412 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31413 : : STRIP_UNARY (operands[3]))
31414 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31415 : : STRIP_UNARY (operands[3])))) &&
31416 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31417 : : (TARGET_SSE2)) &&
31418 : : #line 13896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31419 : : ( 1)))
31420 : : return NULL;
31421 : : return gen_split_2986 (insn, operands);
31422 : :
31423 : : default:
31424 : : return NULL;
31425 : : }
31426 : :
31427 : : default:
31428 : : return NULL;
31429 : : }
31430 : :
31431 : : default:
31432 : : return NULL;
31433 : : }
31434 : : }
|