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 : 77464 : pattern5 (rtx x1, machine_mode i1)
57 : : {
58 : 77464 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 77464 : int res ATTRIBUTE_UNUSED;
60 : 77464 : if (!register_operand (operands[0], i1)
61 : 75520 : || GET_MODE (x1) != i1
62 : 75520 : || !register_operand (operands[1], i1)
63 : 147381 : || !register_operand (operands[2], i1))
64 : 15030 : return -1;
65 : : return 0;
66 : : }
67 : :
68 : : int
69 : 259025 : pattern12 (rtx x1, machine_mode i1)
70 : : {
71 : 259025 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
72 : 259025 : int res ATTRIBUTE_UNUSED;
73 : 259025 : if (!register_operand (operands[0], i1)
74 : 258862 : || GET_MODE (x1) != i1
75 : 258862 : || !register_operand (operands[1], i1)
76 : 459301 : || !nonimmediate_operand (operands[2], i1))
77 : 202551 : return -1;
78 : : return 0;
79 : : }
80 : :
81 : : int
82 : 17878 : pattern17 (rtx x1, int *pnum_clobbers)
83 : : {
84 : 17878 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
85 : 17878 : rtx x2;
86 : 17878 : int res ATTRIBUTE_UNUSED;
87 : 17878 : if (pnum_clobbers == NULL)
88 : : return -1;
89 : 17878 : x2 = XEXP (x1, 1);
90 : 17878 : if (GET_MODE (x2) != E_QImode)
91 : : return -1;
92 : 17854 : return pattern16 (x1); /* [-1, 1] */
93 : : }
94 : :
95 : : int
96 : 105 : pattern23 (rtx x1, machine_mode i1)
97 : : {
98 : 105 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
99 : 105 : rtx x2;
100 : 105 : int res ATTRIBUTE_UNUSED;
101 : 105 : if (!register_operand (operands[0], i1)
102 : 105 : || GET_MODE (x1) != i1)
103 : : return -1;
104 : 105 : x2 = XEXP (x1, 0);
105 : 105 : switch (GET_MODE (x2))
106 : : {
107 : 0 : case E_HFmode:
108 : 0 : if (!register_operand (operands[1], E_V8HFmode))
109 : : return -1;
110 : : return 0;
111 : :
112 : 74 : case E_SFmode:
113 : 74 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
114 : : return -1;
115 : : return 1;
116 : :
117 : 31 : case E_DFmode:
118 : 31 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
119 : : return -1;
120 : : return 2;
121 : :
122 : : default:
123 : : return -1;
124 : : }
125 : : }
126 : :
127 : : int
128 : 203309 : pattern27 (rtx x1)
129 : : {
130 : 203309 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
131 : 203309 : rtx x2, x3, x4, x5;
132 : 203309 : int res ATTRIBUTE_UNUSED;
133 : 203309 : x2 = XEXP (x1, 0);
134 : 203309 : operands[0] = x2;
135 : 203309 : x3 = XEXP (x1, 1);
136 : 203309 : x4 = XEXP (x3, 0);
137 : 203309 : operands[1] = x4;
138 : 203309 : x5 = XEXP (x3, 1);
139 : 203309 : operands[2] = x5;
140 : 203309 : switch (GET_MODE (operands[0]))
141 : : {
142 : 74 : case E_V32HFmode:
143 : 74 : return pattern26 (x3,
144 : 74 : E_V32HFmode); /* [-1, 0] */
145 : :
146 : 132 : case E_V16HFmode:
147 : 132 : if (pattern26 (x3,
148 : : E_V16HFmode) != 0)
149 : : return -1;
150 : : return 1;
151 : :
152 : 914 : case E_V8HFmode:
153 : 914 : if (pattern26 (x3,
154 : : E_V8HFmode) != 0)
155 : : return -1;
156 : : return 2;
157 : :
158 : 0 : case E_V16SFmode:
159 : 0 : if (pattern26 (x3,
160 : : E_V16SFmode) != 0)
161 : : return -1;
162 : : return 3;
163 : :
164 : 1497 : case E_V8SFmode:
165 : 1497 : if (pattern26 (x3,
166 : : E_V8SFmode) != 0)
167 : : return -1;
168 : : return 4;
169 : :
170 : 719 : case E_V4SFmode:
171 : 719 : if (pattern26 (x3,
172 : : E_V4SFmode) != 0)
173 : : return -1;
174 : : return 5;
175 : :
176 : 22 : case E_V8DFmode:
177 : 22 : if (pattern26 (x3,
178 : : E_V8DFmode) != 0)
179 : : return -1;
180 : : return 6;
181 : :
182 : 38 : case E_V4DFmode:
183 : 38 : if (pattern26 (x3,
184 : : E_V4DFmode) != 0)
185 : : return -1;
186 : : return 7;
187 : :
188 : 720 : case E_V2DFmode:
189 : 720 : if (pattern26 (x3,
190 : : E_V2DFmode) != 0)
191 : : return -1;
192 : : return 8;
193 : :
194 : 403 : case E_V32QImode:
195 : 403 : if (pattern3 (x3,
196 : : E_V32QImode) != 0)
197 : : return -1;
198 : : return 9;
199 : :
200 : 754 : case E_V16HImode:
201 : 754 : if (pattern3 (x3,
202 : : E_V16HImode) != 0)
203 : : return -1;
204 : : return 10;
205 : :
206 : 924 : case E_V8SImode:
207 : 924 : if (pattern3 (x3,
208 : : E_V8SImode) != 0)
209 : : return -1;
210 : : return 11;
211 : :
212 : 202 : case E_V16SImode:
213 : 202 : if (pattern3 (x3,
214 : : E_V16SImode) != 0)
215 : : return -1;
216 : : return 12;
217 : :
218 : 3201 : case E_V4SImode:
219 : 3201 : if (!register_operand (operands[0], E_V4SImode)
220 : 3201 : || GET_MODE (x3) != E_V4SImode)
221 : : return -1;
222 : : return 13;
223 : :
224 : 1446 : case E_V8DImode:
225 : 1446 : if (pattern3 (x3,
226 : : E_V8DImode) != 0)
227 : : return -1;
228 : : return 14;
229 : :
230 : 589 : case E_V4DImode:
231 : 589 : if (pattern3 (x3,
232 : : E_V4DImode) != 0)
233 : : return -1;
234 : : return 15;
235 : :
236 : 184 : case E_V2DImode:
237 : 184 : if (pattern3 (x3,
238 : : E_V2DImode) != 0)
239 : : return -1;
240 : : return 16;
241 : :
242 : 207 : case E_V64QImode:
243 : 207 : if (pattern3 (x3,
244 : : E_V64QImode) != 0)
245 : : return -1;
246 : : return 17;
247 : :
248 : 6126 : case E_V16QImode:
249 : 6126 : if (!register_operand (operands[0], E_V16QImode)
250 : 6126 : || GET_MODE (x3) != E_V16QImode)
251 : : return -1;
252 : : return 18;
253 : :
254 : 142 : case E_V32HImode:
255 : 142 : if (pattern3 (x3,
256 : : E_V32HImode) != 0)
257 : : return -1;
258 : : return 19;
259 : :
260 : 7802 : case E_V8HImode:
261 : 7802 : if (!register_operand (operands[0], E_V8HImode)
262 : 7802 : || GET_MODE (x3) != E_V8HImode)
263 : : return -1;
264 : : return 20;
265 : :
266 : 222 : case E_V32BFmode:
267 : 222 : if (pattern12 (x3,
268 : : E_V32BFmode) != 0)
269 : : return -1;
270 : : return 21;
271 : :
272 : 258 : case E_V16BFmode:
273 : 258 : if (pattern12 (x3,
274 : : E_V16BFmode) != 0)
275 : : return -1;
276 : : return 22;
277 : :
278 : 218 : case E_V8BFmode:
279 : 218 : if (pattern12 (x3,
280 : : E_V8BFmode) != 0)
281 : : return -1;
282 : : return 23;
283 : :
284 : : default:
285 : : return -1;
286 : : }
287 : : }
288 : :
289 : : int
290 : 136438 : pattern51 (rtx x1, int *pnum_clobbers)
291 : : {
292 : 136438 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
293 : 136438 : rtx x2, x3, x4, x5;
294 : 136438 : int res ATTRIBUTE_UNUSED;
295 : 136438 : if (pnum_clobbers == NULL)
296 : : return -1;
297 : 136432 : x2 = XEXP (x1, 1);
298 : 136432 : x3 = XEXP (x2, 1);
299 : 136432 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
300 : : return -1;
301 : 117114 : x4 = XEXP (x1, 0);
302 : 117114 : if (GET_CODE (x4) != REG
303 : 117114 : || REGNO (x4) != 17)
304 : : return -1;
305 : 117114 : x5 = XEXP (x2, 0);
306 : 117114 : return pattern50 (x5); /* [-1, 3] */
307 : : }
308 : :
309 : : int
310 : 298 : pattern56 (rtx x1)
311 : : {
312 : 298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
313 : 298 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
314 : 298 : int res ATTRIBUTE_UNUSED;
315 : 298 : x2 = XEXP (x1, 0);
316 : 298 : x3 = XEXP (x2, 0);
317 : 298 : x4 = XEXP (x3, 0);
318 : 298 : operands[1] = x4;
319 : 298 : if (!register_operand (operands[1], E_V4HImode))
320 : : return -1;
321 : 298 : x5 = XEXP (x3, 1);
322 : 298 : operands[2] = x5;
323 : 298 : if (!register_mmxmem_operand (operands[2], E_V4HImode))
324 : : return -1;
325 : 290 : x6 = XEXP (x1, 1);
326 : 290 : x7 = XEXP (x6, 0);
327 : 290 : x8 = XEXP (x7, 0);
328 : 290 : if (!rtx_equal_p (x8, operands[1]))
329 : : return -1;
330 : 290 : x9 = XEXP (x7, 1);
331 : 290 : if (!rtx_equal_p (x9, operands[2]))
332 : : return -1;
333 : : return 0;
334 : : }
335 : :
336 : : int
337 : 3190 : pattern61 (rtx x1)
338 : : {
339 : 3190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
340 : 3190 : rtx x2, x3, x4;
341 : 3190 : int res ATTRIBUTE_UNUSED;
342 : 3190 : x2 = XEXP (x1, 0);
343 : 3190 : operands[0] = x2;
344 : 3190 : x3 = XEXP (x1, 1);
345 : 3190 : x4 = XVECEXP (x3, 0, 0);
346 : 3190 : operands[1] = x4;
347 : 3190 : switch (GET_MODE (operands[0]))
348 : : {
349 : 221 : case E_SFmode:
350 : 221 : if (!register_operand (operands[0], E_SFmode)
351 : 221 : || GET_MODE (x3) != E_SFmode
352 : 442 : || !nonimmediate_operand (operands[1], E_SFmode))
353 : 31 : return -1;
354 : : return 0;
355 : :
356 : 620 : case E_HFmode:
357 : 620 : if (!register_operand (operands[0], E_HFmode)
358 : 620 : || GET_MODE (x3) != E_HFmode
359 : 1240 : || !nonimmediate_operand (operands[1], E_HFmode))
360 : 0 : return -1;
361 : : return 1;
362 : :
363 : : default:
364 : : return -1;
365 : : }
366 : : }
367 : :
368 : : int
369 : 14059 : pattern70 (rtx x1)
370 : : {
371 : 14059 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
372 : 14059 : int res ATTRIBUTE_UNUSED;
373 : 14059 : switch (GET_MODE (operands[0]))
374 : : {
375 : 3473 : case E_HImode:
376 : 3473 : if (!register_operand (operands[0], E_HImode)
377 : 3473 : || GET_MODE (x1) != E_HImode)
378 : : return -1;
379 : 3419 : switch (GET_MODE (operands[1]))
380 : : {
381 : 856 : case E_V16QImode:
382 : 856 : if (!register_operand (operands[1], E_V16QImode)
383 : 856 : || !nonimmediate_operand (operands[2], E_V16QImode))
384 : 87 : return -1;
385 : : return 0;
386 : :
387 : 1392 : case E_V16HImode:
388 : 1392 : if (!register_operand (operands[1], E_V16HImode)
389 : 1392 : || !nonimmediate_operand (operands[2], E_V16HImode))
390 : 145 : return -1;
391 : : return 1;
392 : :
393 : 1171 : case E_V16SImode:
394 : 1171 : if (!register_operand (operands[1], E_V16SImode)
395 : 1171 : || !nonimmediate_operand (operands[2], E_V16SImode))
396 : 150 : return -1;
397 : : return 2;
398 : :
399 : : default:
400 : : return -1;
401 : : }
402 : :
403 : 7000 : case E_QImode:
404 : 7000 : if (!register_operand (operands[0], E_QImode)
405 : 7000 : || GET_MODE (x1) != E_QImode)
406 : : return -1;
407 : 6803 : switch (GET_MODE (operands[1]))
408 : : {
409 : 1553 : case E_V8HImode:
410 : 1553 : if (!register_operand (operands[1], E_V8HImode)
411 : 1553 : || !nonimmediate_operand (operands[2], E_V8HImode))
412 : 77 : return -1;
413 : : return 3;
414 : :
415 : 1243 : case E_V8SImode:
416 : 1243 : if (!register_operand (operands[1], E_V8SImode)
417 : 1243 : || !nonimmediate_operand (operands[2], E_V8SImode))
418 : 100 : return -1;
419 : : return 4;
420 : :
421 : 931 : case E_V4SImode:
422 : 931 : if (!register_operand (operands[1], E_V4SImode)
423 : 931 : || !nonimmediate_operand (operands[2], E_V4SImode))
424 : 87 : return -1;
425 : : return 5;
426 : :
427 : 1317 : case E_V8DImode:
428 : 1317 : if (!register_operand (operands[1], E_V8DImode)
429 : 1317 : || !nonimmediate_operand (operands[2], E_V8DImode))
430 : 139 : return -1;
431 : : return 6;
432 : :
433 : 1039 : case E_V4DImode:
434 : 1039 : if (!register_operand (operands[1], E_V4DImode)
435 : 1039 : || !nonimmediate_operand (operands[2], E_V4DImode))
436 : 98 : return -1;
437 : : return 7;
438 : :
439 : 720 : case E_V2DImode:
440 : 720 : if (!register_operand (operands[1], E_V2DImode)
441 : 720 : || !nonimmediate_operand (operands[2], E_V2DImode))
442 : 68 : return -1;
443 : : return 8;
444 : :
445 : : default:
446 : : return -1;
447 : : }
448 : :
449 : : default:
450 : : return -1;
451 : : }
452 : : }
453 : :
454 : : int
455 : 168 : pattern100 (rtx x1)
456 : : {
457 : 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
458 : 168 : rtx x2, x3, x4, x5;
459 : 168 : int res ATTRIBUTE_UNUSED;
460 : 168 : x2 = XEXP (x1, 1);
461 : 168 : if (GET_MODE (x2) != E_CCZmode)
462 : : return -1;
463 : 168 : x3 = XEXP (x1, 0);
464 : 168 : if (GET_CODE (x3) != REG
465 : 168 : || REGNO (x3) != 17
466 : 336 : || GET_MODE (x3) != E_CCZmode)
467 : : return -1;
468 : 168 : x4 = XVECEXP (x2, 0, 0);
469 : 168 : operands[0] = x4;
470 : 168 : x5 = XVECEXP (x2, 0, 1);
471 : 168 : operands[1] = x5;
472 : 168 : if (!memory_operand (operands[1], E_XImode))
473 : : return -1;
474 : 168 : switch (GET_MODE (operands[0]))
475 : : {
476 : 0 : case E_SImode:
477 : 0 : if (!register_operand (operands[0], E_SImode))
478 : : return -1;
479 : : return 0;
480 : :
481 : 168 : case E_DImode:
482 : 168 : if (!register_operand (operands[0], E_DImode))
483 : : return -1;
484 : : return 1;
485 : :
486 : : default:
487 : : return -1;
488 : : }
489 : : }
490 : :
491 : : int
492 : 1655 : pattern111 (rtx x1, machine_mode i1)
493 : : {
494 : 1655 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
495 : 1655 : rtx x2;
496 : 1655 : int res ATTRIBUTE_UNUSED;
497 : 1655 : if (!nonimmediate_operand (operands[0], i1)
498 : 1655 : || GET_MODE (x1) != i1)
499 : : return -1;
500 : 1655 : x2 = XEXP (x1, 0);
501 : 1655 : if (GET_MODE (x2) != i1
502 : 1655 : || !x86_64_general_operand (operands[1], i1))
503 : 200 : return -1;
504 : : return 0;
505 : : }
506 : :
507 : : int
508 : 52138 : pattern116 (rtx x1)
509 : : {
510 : 52138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
511 : 52138 : rtx x2, x3, x4;
512 : 52138 : int res ATTRIBUTE_UNUSED;
513 : 52138 : x2 = XEXP (x1, 0);
514 : 52138 : x3 = XEXP (x2, 0);
515 : 52138 : operands[1] = x3;
516 : 52138 : x4 = XEXP (x2, 1);
517 : 52138 : operands[2] = x4;
518 : 52138 : switch (GET_MODE (operands[0]))
519 : : {
520 : 43222 : case E_DImode:
521 : 43222 : if (!register_operand (operands[0], E_DImode)
522 : 43222 : || GET_MODE (x1) != E_DImode)
523 : : return -1;
524 : 43123 : switch (GET_MODE (x2))
525 : : {
526 : 40000 : case E_SImode:
527 : 40000 : if (!nonimmediate_operand (operands[1], E_SImode))
528 : : return -1;
529 : : return 0;
530 : :
531 : 2094 : case E_QImode:
532 : 2094 : if (!nonimmediate_operand (operands[1], E_QImode)
533 : 2094 : || !nonmemory_operand (operands[2], E_QImode))
534 : 40 : return -1;
535 : : return 1;
536 : :
537 : 1029 : case E_HImode:
538 : 1029 : if (!nonimmediate_operand (operands[1], E_HImode)
539 : 1029 : || !nonmemory_operand (operands[2], E_QImode))
540 : 2 : return -1;
541 : : return 2;
542 : :
543 : : default:
544 : : return -1;
545 : : }
546 : :
547 : 8260 : case E_SImode:
548 : 8260 : if (!register_operand (operands[0], E_SImode)
549 : 8260 : || GET_MODE (x1) != E_SImode
550 : 16520 : || !nonmemory_operand (operands[2], E_QImode))
551 : 132 : return -1;
552 : 8128 : switch (GET_MODE (x2))
553 : : {
554 : 6300 : case E_QImode:
555 : 6300 : if (!nonimmediate_operand (operands[1], E_QImode))
556 : : return -1;
557 : : return 3;
558 : :
559 : 1828 : case E_HImode:
560 : 1828 : if (!nonimmediate_operand (operands[1], E_HImode))
561 : : return -1;
562 : : return 4;
563 : :
564 : : default:
565 : : return -1;
566 : : }
567 : :
568 : : default:
569 : : return -1;
570 : : }
571 : : }
572 : :
573 : : int
574 : 9327 : pattern133 (rtx x1, machine_mode i1, machine_mode i2)
575 : : {
576 : 9327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
577 : 9327 : rtx x2;
578 : 9327 : int res ATTRIBUTE_UNUSED;
579 : 9327 : if (!register_operand (operands[0], i1)
580 : 9327 : || GET_MODE (x1) != i1)
581 : : return -1;
582 : 8912 : x2 = XEXP (x1, 0);
583 : 8912 : if (GET_MODE (x2) != i1
584 : 8912 : || !vector_operand (operands[1], i1)
585 : 8814 : || !vector_operand (operands[2], i1)
586 : 8336 : || !nonimm_or_0_operand (operands[3], i1)
587 : 16950 : || !register_operand (operands[4], i2))
588 : 1300 : return -1;
589 : : return 0;
590 : : }
591 : :
592 : : int
593 : 3646 : pattern145 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
594 : : {
595 : 3646 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
596 : 3646 : rtx x2;
597 : 3646 : int res ATTRIBUTE_UNUSED;
598 : 3646 : if (!nonimmediate_operand (operands[0], i1)
599 : 3646 : || GET_MODE (x1) != i1)
600 : : return -1;
601 : 3646 : x2 = XEXP (x1, 0);
602 : 3646 : if (GET_MODE (x2) != i1
603 : 3646 : || !register_operand (operands[1], i3)
604 : 3645 : || !nonimm_or_0_operand (operands[2], i1)
605 : 7279 : || !register_operand (operands[3], i2))
606 : 229 : return -1;
607 : : return 0;
608 : : }
609 : :
610 : : int
611 : 7175 : pattern152 (rtx x1, machine_mode i1, machine_mode i2)
612 : : {
613 : 7175 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
614 : 7175 : rtx x2;
615 : 7175 : int res ATTRIBUTE_UNUSED;
616 : 7175 : if (!register_operand (operands[0], i1)
617 : 7175 : || GET_MODE (x1) != i1)
618 : : return -1;
619 : 6808 : x2 = XEXP (x1, 0);
620 : 6808 : if (GET_MODE (x2) != i1
621 : 6808 : || !nonimmediate_operand (operands[1], i1)
622 : 6748 : || !nonimm_or_0_operand (operands[2], i1)
623 : 13406 : || !register_operand (operands[3], i2))
624 : 658 : return -1;
625 : : return 0;
626 : : }
627 : :
628 : : int
629 : 5613 : pattern154 (rtx x1)
630 : : {
631 : 5613 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
632 : 5613 : rtx x2, x3, x4, x5;
633 : 5613 : int res ATTRIBUTE_UNUSED;
634 : 5613 : x2 = XEXP (x1, 0);
635 : 5613 : x3 = XEXP (x2, 0);
636 : 5613 : operands[1] = x3;
637 : 5613 : x4 = XEXP (x1, 1);
638 : 5613 : operands[2] = x4;
639 : 5613 : x5 = XEXP (x1, 2);
640 : 5613 : operands[3] = x5;
641 : 5613 : switch (GET_MODE (operands[0]))
642 : : {
643 : 457 : case E_V16SImode:
644 : 457 : return pattern152 (x1,
645 : : E_V16SImode,
646 : 457 : E_HImode); /* [-1, 0] */
647 : :
648 : 446 : case E_V8SImode:
649 : 446 : if (pattern152 (x1,
650 : : E_V8SImode,
651 : : E_QImode) != 0)
652 : : return -1;
653 : : return 1;
654 : :
655 : 398 : case E_V4SImode:
656 : 398 : if (pattern152 (x1,
657 : : E_V4SImode,
658 : : E_QImode) != 0)
659 : : return -1;
660 : : return 2;
661 : :
662 : 544 : case E_V8DImode:
663 : 544 : if (pattern152 (x1,
664 : : E_V8DImode,
665 : : E_QImode) != 0)
666 : : return -1;
667 : : return 3;
668 : :
669 : 509 : case E_V4DImode:
670 : 509 : if (pattern152 (x1,
671 : : E_V4DImode,
672 : : E_QImode) != 0)
673 : : return -1;
674 : : return 4;
675 : :
676 : 413 : case E_V2DImode:
677 : 413 : if (pattern152 (x1,
678 : : E_V2DImode,
679 : : E_QImode) != 0)
680 : : return -1;
681 : : return 5;
682 : :
683 : 484 : case E_V64QImode:
684 : 484 : if (pattern152 (x1,
685 : : E_V64QImode,
686 : : E_DImode) != 0)
687 : : return -1;
688 : : return 6;
689 : :
690 : 486 : case E_V16QImode:
691 : 486 : if (pattern152 (x1,
692 : : E_V16QImode,
693 : : E_HImode) != 0)
694 : : return -1;
695 : : return 7;
696 : :
697 : 558 : case E_V32QImode:
698 : 558 : if (pattern152 (x1,
699 : : E_V32QImode,
700 : : E_SImode) != 0)
701 : : return -1;
702 : : return 8;
703 : :
704 : 449 : case E_V32HImode:
705 : 449 : if (pattern152 (x1,
706 : : E_V32HImode,
707 : : E_SImode) != 0)
708 : : return -1;
709 : : return 9;
710 : :
711 : 500 : case E_V16HImode:
712 : 500 : if (pattern153 (x1,
713 : : E_V16HImode) != 0)
714 : : return -1;
715 : : return 10;
716 : :
717 : 369 : case E_V8HImode:
718 : 369 : if (pattern152 (x1,
719 : : E_V8HImode,
720 : : E_QImode) != 0)
721 : : return -1;
722 : : return 11;
723 : :
724 : : default:
725 : : return -1;
726 : : }
727 : : }
728 : :
729 : : int
730 : 564 : pattern168 (rtx x1)
731 : : {
732 : 564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
733 : 564 : rtx x2, x3, x4, x5;
734 : 564 : int res ATTRIBUTE_UNUSED;
735 : 564 : x2 = XEXP (x1, 0);
736 : 564 : operands[0] = x2;
737 : 564 : x3 = XEXP (x1, 1);
738 : 564 : x4 = XVECEXP (x3, 0, 0);
739 : 564 : operands[1] = x4;
740 : 564 : x5 = XVECEXP (x3, 0, 1);
741 : 564 : operands[2] = x5;
742 : 564 : switch (GET_MODE (operands[0]))
743 : : {
744 : 308 : case E_V32QImode:
745 : 308 : return pattern158 (x3,
746 : 308 : E_V32QImode); /* [-1, 0] */
747 : :
748 : 0 : case E_V16QImode:
749 : 0 : if (pattern158 (x3,
750 : : E_V16QImode) != 0)
751 : : return -1;
752 : : return 1;
753 : :
754 : 256 : case E_V64QImode:
755 : 256 : if (pattern158 (x3,
756 : : E_V64QImode) != 0)
757 : : return -1;
758 : : return 2;
759 : :
760 : : default:
761 : : return -1;
762 : : }
763 : : }
764 : :
765 : : int
766 : 200 : pattern177 (rtx x1)
767 : : {
768 : 200 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
769 : 200 : rtx x2, x3;
770 : 200 : int res ATTRIBUTE_UNUSED;
771 : 200 : x2 = XEXP (x1, 1);
772 : 200 : if (GET_MODE (x2) != E_V4SImode)
773 : : return -1;
774 : 200 : x3 = XEXP (x1, 0);
775 : 200 : operands[0] = x3;
776 : 200 : return pattern176 (x2); /* [-1, 0] */
777 : : }
778 : :
779 : : int
780 : 1442 : pattern181 (rtx x1)
781 : : {
782 : 1442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
783 : 1442 : rtx x2, x3, x4, x5, x6;
784 : 1442 : int res ATTRIBUTE_UNUSED;
785 : 1442 : x2 = XEXP (x1, 0);
786 : 1442 : operands[0] = x2;
787 : 1442 : x3 = XEXP (x1, 1);
788 : 1442 : x4 = XVECEXP (x3, 0, 0);
789 : 1442 : operands[1] = x4;
790 : 1442 : x5 = XVECEXP (x3, 0, 1);
791 : 1442 : operands[2] = x5;
792 : 1442 : x6 = XVECEXP (x3, 0, 2);
793 : 1442 : operands[3] = x6;
794 : 1442 : if (!const_0_to_255_operand (operands[3], E_SImode))
795 : : return -1;
796 : 1442 : switch (GET_MODE (operands[0]))
797 : : {
798 : 150 : case E_V32HImode:
799 : 150 : return pattern64 (x3,
800 : 150 : E_V32HImode); /* [-1, 0] */
801 : :
802 : 168 : case E_V16SImode:
803 : 168 : if (pattern64 (x3,
804 : : E_V16SImode) != 0)
805 : : return -1;
806 : : return 1;
807 : :
808 : 183 : case E_V8DImode:
809 : 183 : if (pattern64 (x3,
810 : : E_V8DImode) != 0)
811 : : return -1;
812 : : return 2;
813 : :
814 : 144 : case E_V16HImode:
815 : 144 : if (pattern64 (x3,
816 : : E_V16HImode) != 0)
817 : : return -1;
818 : : return 3;
819 : :
820 : 162 : case E_V8SImode:
821 : 162 : if (pattern64 (x3,
822 : : E_V8SImode) != 0)
823 : : return -1;
824 : : return 4;
825 : :
826 : 172 : case E_V4DImode:
827 : 172 : if (pattern64 (x3,
828 : : E_V4DImode) != 0)
829 : : return -1;
830 : : return 5;
831 : :
832 : 141 : case E_V8HImode:
833 : 141 : if (pattern64 (x3,
834 : : E_V8HImode) != 0)
835 : : return -1;
836 : : return 6;
837 : :
838 : 156 : case E_V4SImode:
839 : 156 : if (pattern64 (x3,
840 : : E_V4SImode) != 0)
841 : : return -1;
842 : : return 7;
843 : :
844 : 166 : case E_V2DImode:
845 : 166 : if (pattern64 (x3,
846 : : E_V2DImode) != 0)
847 : : return -1;
848 : : return 8;
849 : :
850 : : default:
851 : : return -1;
852 : : }
853 : : }
854 : :
855 : : int
856 : 230226 : pattern196 (rtx x1)
857 : : {
858 : 230226 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
859 : 230226 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
860 : 230226 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
861 : 230226 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
862 : 230226 : rtx x26, x27;
863 : 230226 : int res ATTRIBUTE_UNUSED;
864 : 230226 : x2 = XEXP (x1, 0);
865 : 230226 : x3 = XEXP (x2, 0);
866 : 230226 : if (GET_CODE (x3) != VEC_CONCAT)
867 : : return -1;
868 : 70526 : x4 = XEXP (x2, 1);
869 : 70526 : if (GET_CODE (x4) != PARALLEL)
870 : : return -1;
871 : 70526 : x5 = XEXP (x1, 1);
872 : 70526 : if (GET_CODE (x5) != VEC_SELECT)
873 : : return -1;
874 : 1793 : x6 = XEXP (x5, 0);
875 : 1793 : if (GET_CODE (x6) != VEC_CONCAT)
876 : : return -1;
877 : 1785 : x7 = XEXP (x5, 1);
878 : 1785 : if (GET_CODE (x7) != PARALLEL)
879 : : return -1;
880 : 1785 : x8 = XEXP (x3, 0);
881 : 1785 : operands[1] = x8;
882 : 1785 : x9 = XEXP (x3, 1);
883 : 1785 : operands[2] = x9;
884 : 1785 : x10 = XEXP (x6, 0);
885 : 1785 : if (!rtx_equal_p (x10, operands[1]))
886 : : return -1;
887 : 1521 : x11 = XEXP (x6, 1);
888 : 1521 : if (!rtx_equal_p (x11, operands[2]))
889 : : return -1;
890 : 1516 : switch (XVECLEN (x4, 0))
891 : : {
892 : 189 : case 16:
893 : 189 : return pattern194 (x1); /* [-1, 0] */
894 : :
895 : 512 : case 8:
896 : 512 : x12 = XVECEXP (x4, 0, 0);
897 : 512 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
898 : : return -1;
899 : 512 : x13 = XVECEXP (x4, 0, 1);
900 : 512 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
901 : : return -1;
902 : 512 : x14 = XVECEXP (x4, 0, 2);
903 : 512 : if (GET_CODE (x14) != CONST_INT)
904 : : return -1;
905 : 512 : x15 = XVECEXP (x4, 0, 3);
906 : 512 : if (GET_CODE (x15) != CONST_INT)
907 : : return -1;
908 : 512 : x16 = XVECEXP (x4, 0, 4);
909 : 512 : if (GET_CODE (x16) != CONST_INT)
910 : : return -1;
911 : 512 : x17 = XVECEXP (x4, 0, 5);
912 : 512 : if (GET_CODE (x17) != CONST_INT)
913 : : return -1;
914 : 512 : x18 = XVECEXP (x4, 0, 6);
915 : 512 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
916 : : return -1;
917 : 512 : x19 = XVECEXP (x4, 0, 7);
918 : 512 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
919 : 512 : || XVECLEN (x7, 0) != 8)
920 : : return -1;
921 : 512 : x20 = XVECEXP (x7, 0, 0);
922 : 512 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
923 : : return -1;
924 : 512 : x21 = XVECEXP (x7, 0, 1);
925 : 512 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
926 : : return -1;
927 : 512 : x22 = XVECEXP (x7, 0, 2);
928 : 512 : if (GET_CODE (x22) != CONST_INT)
929 : : return -1;
930 : 512 : x23 = XVECEXP (x7, 0, 3);
931 : 512 : if (GET_CODE (x23) != CONST_INT)
932 : : return -1;
933 : 512 : x24 = XVECEXP (x7, 0, 4);
934 : 512 : if (GET_CODE (x24) != CONST_INT)
935 : : return -1;
936 : 512 : x25 = XVECEXP (x7, 0, 5);
937 : 512 : if (GET_CODE (x25) != CONST_INT)
938 : : return -1;
939 : 512 : x26 = XVECEXP (x7, 0, 6);
940 : 512 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
941 : : return -1;
942 : 512 : x27 = XVECEXP (x7, 0, 7);
943 : 512 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
944 : : return -1;
945 : 512 : switch (XWINT (x14, 0))
946 : : {
947 : 314 : case 4L:
948 : 314 : if (XWINT (x15, 0) != 6L
949 : 314 : || XWINT (x16, 0) != 8L
950 : 314 : || XWINT (x17, 0) != 10L
951 : 314 : || XWINT (x22, 0) != 5L
952 : 314 : || XWINT (x23, 0) != 7L
953 : 314 : || XWINT (x24, 0) != 9L
954 : 314 : || XWINT (x25, 0) != 11L
955 : 628 : || pattern195 (x1,
956 : : E_V16HImode,
957 : : E_V8HImode) != 0)
958 : 58 : return -1;
959 : : return 1;
960 : :
961 : 198 : case 8L:
962 : 198 : if (XWINT (x15, 0) != 10L
963 : 198 : || XWINT (x16, 0) != 4L
964 : 198 : || XWINT (x17, 0) != 6L
965 : 198 : || XWINT (x22, 0) != 9L
966 : 198 : || XWINT (x23, 0) != 11L
967 : 198 : || XWINT (x24, 0) != 5L
968 : 198 : || XWINT (x25, 0) != 7L
969 : 396 : || pattern193 (x1,
970 : : E_V16SImode,
971 : : E_V8SImode) != 0)
972 : 11 : return -1;
973 : : return 2;
974 : :
975 : : default:
976 : : return -1;
977 : : }
978 : :
979 : 744 : case 4:
980 : 744 : x12 = XVECEXP (x4, 0, 0);
981 : 744 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
982 : : return -1;
983 : 251 : x13 = XVECEXP (x4, 0, 1);
984 : 251 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
985 : : return -1;
986 : 251 : x14 = XVECEXP (x4, 0, 2);
987 : 251 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
988 : : return -1;
989 : 251 : x15 = XVECEXP (x4, 0, 3);
990 : 251 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
991 : 251 : || XVECLEN (x7, 0) != 4)
992 : : return -1;
993 : 251 : x20 = XVECEXP (x7, 0, 0);
994 : 251 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
995 : : return -1;
996 : 251 : x21 = XVECEXP (x7, 0, 1);
997 : 251 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
998 : : return -1;
999 : 251 : x22 = XVECEXP (x7, 0, 2);
1000 : 251 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
1001 : : return -1;
1002 : 251 : x23 = XVECEXP (x7, 0, 3);
1003 : 251 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
1004 : 251 : || pattern195 (x1,
1005 : : E_V8SImode,
1006 : : E_V4SImode) != 0)
1007 : 25 : return -1;
1008 : : return 3;
1009 : :
1010 : : default:
1011 : : return -1;
1012 : : }
1013 : : }
1014 : :
1015 : : int
1016 : 947 : pattern227 (rtx x1)
1017 : : {
1018 : 947 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1019 : 947 : rtx x2, x3, x4, x5, x6, x7, x8;
1020 : 947 : int res ATTRIBUTE_UNUSED;
1021 : 947 : x2 = XVECEXP (x1, 0, 0);
1022 : 947 : x3 = XEXP (x2, 0);
1023 : 947 : operands[0] = x3;
1024 : 947 : x4 = XEXP (x2, 1);
1025 : 947 : x5 = XEXP (x4, 0);
1026 : 947 : operands[1] = x5;
1027 : 947 : x6 = XEXP (x4, 1);
1028 : 947 : operands[2] = x6;
1029 : 947 : x7 = XVECEXP (x1, 0, 2);
1030 : 947 : x8 = XEXP (x7, 0);
1031 : 947 : operands[3] = x8;
1032 : 947 : switch (GET_MODE (operands[0]))
1033 : : {
1034 : 880 : case E_DImode:
1035 : 880 : if (!register_operand (operands[0], E_DImode)
1036 : 860 : || GET_MODE (x4) != E_DImode
1037 : 860 : || !register_operand (operands[1], E_DImode)
1038 : 716 : || !const_1_to_31_operand (operands[2], E_QImode)
1039 : 1596 : || !scratch_operand (operands[3], E_SImode))
1040 : 164 : return -1;
1041 : : return 0;
1042 : :
1043 : 67 : case E_TImode:
1044 : 67 : if (!register_operand (operands[0], E_TImode)
1045 : 67 : || GET_MODE (x4) != E_TImode
1046 : 67 : || !register_operand (operands[1], E_TImode)
1047 : 54 : || !const_1_to_63_operand (operands[2], E_QImode)
1048 : 121 : || !scratch_operand (operands[3], E_DImode))
1049 : 13 : return -1;
1050 : : return 1;
1051 : :
1052 : : default:
1053 : : return -1;
1054 : : }
1055 : : }
1056 : :
1057 : : int
1058 : 3084840 : pattern245 (rtx x1)
1059 : : {
1060 : 3084840 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1061 : 3084840 : rtx x2, x3;
1062 : 3084840 : int res ATTRIBUTE_UNUSED;
1063 : 3084840 : if (GET_CODE (x1) != VEC_SELECT)
1064 : : return -1;
1065 : 30445 : x2 = XEXP (x1, 0);
1066 : 30445 : if (GET_CODE (x2) != SUBREG
1067 : 30445 : || maybe_ne (SUBREG_BYTE (x2), 0))
1068 : : return -1;
1069 : 5480 : x3 = XEXP (x1, 1);
1070 : 5480 : if (GET_CODE (x3) != PARALLEL)
1071 : 0 : return -1;
1072 : : return 0;
1073 : : }
1074 : :
1075 : : int
1076 : 48 : pattern250 (rtx x1, machine_mode i1)
1077 : : {
1078 : 48 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1079 : 48 : rtx x2, x3, x4;
1080 : 48 : int res ATTRIBUTE_UNUSED;
1081 : 48 : if (!register_operand (operands[0], i1)
1082 : 48 : || GET_MODE (x1) != i1)
1083 : : return -1;
1084 : 40 : x2 = XEXP (x1, 0);
1085 : 40 : operands[1] = x2;
1086 : 40 : if (!register_operand (operands[1], i1))
1087 : : return -1;
1088 : 40 : x3 = XEXP (x1, 1);
1089 : 40 : operands[2] = x3;
1090 : 40 : if (!register_operand (operands[2], i1))
1091 : : return -1;
1092 : 28 : x4 = XEXP (x1, 2);
1093 : 28 : operands[3] = x4;
1094 : 28 : if (!register_operand (operands[3], i1))
1095 : : return -1;
1096 : : return 0;
1097 : : }
1098 : :
1099 : : int
1100 : 47580 : pattern259 (rtx x1, machine_mode i1, machine_mode i2)
1101 : : {
1102 : 47580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1103 : 47580 : rtx x2, x3, x4, x5, x6;
1104 : 47580 : int res ATTRIBUTE_UNUSED;
1105 : 47580 : x2 = XEXP (x1, 0);
1106 : 47580 : x3 = XEXP (x2, 0);
1107 : 47580 : if (GET_MODE (x3) != i2
1108 : 2161 : || !nonimmediate_operand (operands[0], i2)
1109 : 2096 : || GET_MODE (x1) != i2
1110 : 49676 : || GET_MODE (x2) != i2)
1111 : 45484 : return -1;
1112 : 2096 : x4 = XEXP (x3, 0);
1113 : 2096 : operands[1] = x4;
1114 : 2096 : if (!nonimmediate_operand (operands[1], i1))
1115 : : return -1;
1116 : 1648 : x5 = XEXP (x2, 1);
1117 : 1648 : operands[2] = x5;
1118 : 1648 : if (!const_int_operand (operands[2], E_QImode))
1119 : : return -1;
1120 : 1284 : x6 = XEXP (x1, 1);
1121 : 1284 : return pattern258 (x6,
1122 : : i1,
1123 : 1284 : i2); /* [-1, 1] */
1124 : : }
1125 : :
1126 : : int
1127 : 5305 : pattern274 (rtx x1)
1128 : : {
1129 : 5305 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1130 : 5305 : rtx x2, x3, x4, x5, x6;
1131 : 5305 : int res ATTRIBUTE_UNUSED;
1132 : 5305 : x2 = XEXP (x1, 0);
1133 : 5305 : if (XVECLEN (x2, 0) != 1
1134 : 1556 : || XINT (x2, 1) != 47
1135 : 630 : || GET_MODE (x2) != E_V4SImode)
1136 : : return -1;
1137 : 630 : x3 = XEXP (x1, 1);
1138 : 630 : if (XVECLEN (x3, 0) != 2)
1139 : : return -1;
1140 : 630 : x4 = XVECEXP (x3, 0, 0);
1141 : 630 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1142 : : return -1;
1143 : 630 : x5 = XVECEXP (x3, 0, 1);
1144 : 630 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
1145 : 630 : || !register_operand (operands[0], E_V2SImode)
1146 : 1259 : || GET_MODE (x1) != E_V2SImode)
1147 : 1 : return -1;
1148 : 629 : x6 = XVECEXP (x2, 0, 0);
1149 : 629 : operands[1] = x6;
1150 : 629 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
1151 : : return -1;
1152 : : return 0;
1153 : : }
1154 : :
1155 : : int
1156 : 153 : pattern284 (rtx x1)
1157 : : {
1158 : 153 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1159 : 153 : rtx x2;
1160 : 153 : int res ATTRIBUTE_UNUSED;
1161 : 153 : x2 = XEXP (x1, 1);
1162 : 153 : operands[3] = x2;
1163 : 153 : switch (GET_MODE (operands[0]))
1164 : : {
1165 : 51 : case E_SImode:
1166 : 51 : return pattern283 (x1,
1167 : 51 : E_SImode); /* [-1, 0] */
1168 : :
1169 : 72 : case E_DImode:
1170 : 72 : if (pattern283 (x1,
1171 : : E_DImode) != 0)
1172 : : return -1;
1173 : : return 1;
1174 : :
1175 : : default:
1176 : : return -1;
1177 : : }
1178 : : }
1179 : :
1180 : : int
1181 : 152615 : pattern289 (rtx x1)
1182 : : {
1183 : 152615 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1184 : 152615 : rtx x2, x3, x4, x5, x6, x7;
1185 : 152615 : int res ATTRIBUTE_UNUSED;
1186 : 152615 : x2 = XEXP (x1, 0);
1187 : 152615 : x3 = XEXP (x2, 0);
1188 : 152615 : operands[1] = x3;
1189 : 152615 : x4 = XEXP (x1, 1);
1190 : 152615 : operands[2] = x4;
1191 : 152615 : x5 = XEXP (x2, 1);
1192 : 152615 : switch (GET_CODE (x5))
1193 : : {
1194 : 10245 : case LTU:
1195 : 10245 : case UNLT:
1196 : 10245 : operands[4] = x5;
1197 : 10245 : x6 = XEXP (x5, 1);
1198 : 10245 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1199 : : return -1;
1200 : 9861 : x7 = XEXP (x5, 0);
1201 : 9861 : operands[3] = x7;
1202 : 9861 : if (!flags_reg_operand (operands[3], E_VOIDmode))
1203 : : return -1;
1204 : : return 0;
1205 : :
1206 : 588 : case EQ:
1207 : 588 : x6 = XEXP (x5, 1);
1208 : 588 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1209 : : return -1;
1210 : 480 : x7 = XEXP (x5, 0);
1211 : 480 : operands[3] = x7;
1212 : 480 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
1213 : : return -1;
1214 : : return 1;
1215 : :
1216 : : default:
1217 : : return -1;
1218 : : }
1219 : : }
1220 : :
1221 : : int
1222 : 178 : pattern302 (rtx x1)
1223 : : {
1224 : 178 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1225 : 178 : rtx x2;
1226 : 178 : int res ATTRIBUTE_UNUSED;
1227 : 178 : x2 = XVECEXP (x1, 0, 0);
1228 : 178 : operands[1] = x2;
1229 : 178 : switch (GET_MODE (operands[0]))
1230 : : {
1231 : 87 : case E_SImode:
1232 : 87 : if (!register_operand (operands[0], E_SImode)
1233 : 87 : || GET_MODE (x1) != E_SImode
1234 : 174 : || !nonimmediate_operand (operands[1], E_SImode))
1235 : 2 : return -1;
1236 : : return 0;
1237 : :
1238 : 88 : case E_DImode:
1239 : 88 : if (!register_operand (operands[0], E_DImode)
1240 : 88 : || GET_MODE (x1) != E_DImode
1241 : 176 : || !nonimmediate_operand (operands[1], E_DImode))
1242 : 2 : return -1;
1243 : : return 1;
1244 : :
1245 : : default:
1246 : : return -1;
1247 : : }
1248 : : }
1249 : :
1250 : : int
1251 : 241 : pattern310 (rtx x1, machine_mode i1, machine_mode i2)
1252 : : {
1253 : 241 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1254 : 241 : rtx x2, x3, x4;
1255 : 241 : int res ATTRIBUTE_UNUSED;
1256 : 241 : if (!register_operand (operands[0], i2)
1257 : 241 : || GET_MODE (x1) != i2)
1258 : : return -1;
1259 : 217 : x2 = XEXP (x1, 0);
1260 : 217 : if (GET_MODE (x2) != i2)
1261 : : return -1;
1262 : 217 : x3 = XEXP (x2, 0);
1263 : 217 : if (GET_MODE (x3) != i1)
1264 : : return -1;
1265 : 217 : x4 = XEXP (x3, 0);
1266 : 217 : if (GET_MODE (x4) != i1
1267 : 217 : || !register_operand (operands[1], i2)
1268 : 406 : || !nonimmediate_operand (operands[2], i1))
1269 : 137 : return -1;
1270 : : return 0;
1271 : : }
1272 : :
1273 : : int
1274 : 65 : pattern317 (rtx x1, machine_mode i1, machine_mode i2)
1275 : : {
1276 : 65 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1277 : 65 : rtx x2;
1278 : 65 : int res ATTRIBUTE_UNUSED;
1279 : 65 : if (!register_operand (operands[0], i1)
1280 : 65 : || GET_MODE (x1) != i1)
1281 : : return -1;
1282 : 65 : x2 = XEXP (x1, 2);
1283 : 65 : if (GET_MODE (x2) != i2
1284 : 65 : || !nonimmediate_operand (operands[3], i1)
1285 : 124 : || !nonimmediate_operand (operands[4], i1))
1286 : 6 : return -1;
1287 : : return 0;
1288 : : }
1289 : :
1290 : : int
1291 : 159482 : pattern322 (rtx x1)
1292 : : {
1293 : 159482 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1294 : 159482 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1295 : 159482 : rtx x10;
1296 : 159482 : int res ATTRIBUTE_UNUSED;
1297 : 159482 : x2 = XEXP (x1, 1);
1298 : 159482 : operands[2] = x2;
1299 : 159482 : x3 = XEXP (x1, 2);
1300 : 159482 : if (GET_MODE (x3) != E_QImode)
1301 : : return -1;
1302 : 19018 : switch (GET_CODE (x3))
1303 : : {
1304 : 5662 : case UNSPEC:
1305 : 5662 : if (XVECLEN (x3, 0) != 3
1306 : 5662 : || XINT (x3, 1) != 60)
1307 : : return -1;
1308 : 5226 : x4 = XVECEXP (x3, 0, 0);
1309 : 5226 : operands[3] = x4;
1310 : 5226 : x5 = XVECEXP (x3, 0, 1);
1311 : 5226 : operands[4] = x5;
1312 : 5226 : x6 = XVECEXP (x3, 0, 2);
1313 : 5226 : operands[5] = x6;
1314 : 5226 : if (!const_0_to_31_operand (operands[5], E_SImode))
1315 : : return -1;
1316 : 5226 : switch (GET_MODE (operands[0]))
1317 : : {
1318 : 151 : case E_V8SFmode:
1319 : 151 : return pattern320 (x1,
1320 : 151 : E_V8SFmode); /* [-1, 0] */
1321 : :
1322 : 181 : case E_V4SFmode:
1323 : 181 : if (pattern320 (x1,
1324 : : E_V4SFmode) != 0)
1325 : : return -1;
1326 : : return 1;
1327 : :
1328 : 155 : case E_V4DFmode:
1329 : 155 : if (pattern320 (x1,
1330 : : E_V4DFmode) != 0)
1331 : : return -1;
1332 : : return 2;
1333 : :
1334 : 121 : case E_V2DFmode:
1335 : 121 : if (pattern320 (x1,
1336 : : E_V2DFmode) != 0)
1337 : : return -1;
1338 : : return 3;
1339 : :
1340 : : default:
1341 : : return -1;
1342 : : }
1343 : :
1344 : 9 : case NOT:
1345 : 9 : x7 = XEXP (x3, 0);
1346 : 9 : if (GET_CODE (x7) != UNSPEC
1347 : 0 : || XVECLEN (x7, 0) != 3
1348 : 0 : || XINT (x7, 1) != 60
1349 : 0 : || GET_MODE (x7) != E_QImode)
1350 : : return -1;
1351 : 0 : x8 = XVECEXP (x7, 0, 0);
1352 : 0 : operands[3] = x8;
1353 : 0 : x9 = XVECEXP (x7, 0, 1);
1354 : 0 : operands[4] = x9;
1355 : 0 : x10 = XVECEXP (x7, 0, 2);
1356 : 0 : operands[5] = x10;
1357 : 0 : if (!const_0_to_31_operand (operands[5], E_SImode))
1358 : : return -1;
1359 : 0 : switch (GET_MODE (operands[0]))
1360 : : {
1361 : 0 : case E_V8SFmode:
1362 : 0 : if (pattern321 (x1,
1363 : : E_V8SFmode) != 0)
1364 : : return -1;
1365 : : return 4;
1366 : :
1367 : 0 : case E_V4SFmode:
1368 : 0 : if (pattern321 (x1,
1369 : : E_V4SFmode) != 0)
1370 : : return -1;
1371 : : return 5;
1372 : :
1373 : 0 : case E_V4DFmode:
1374 : 0 : if (pattern321 (x1,
1375 : : E_V4DFmode) != 0)
1376 : : return -1;
1377 : : return 6;
1378 : :
1379 : 0 : case E_V2DFmode:
1380 : 0 : if (pattern321 (x1,
1381 : : E_V2DFmode) != 0)
1382 : : return -1;
1383 : : return 7;
1384 : :
1385 : : default:
1386 : : return -1;
1387 : : }
1388 : :
1389 : : default:
1390 : : return -1;
1391 : : }
1392 : : }
1393 : :
1394 : : int
1395 : 153695 : pattern339 (rtx x1)
1396 : : {
1397 : 153695 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1398 : 153695 : rtx x2, x3, x4, x5;
1399 : 153695 : int res ATTRIBUTE_UNUSED;
1400 : 153695 : x2 = XEXP (x1, 0);
1401 : 153695 : x3 = XEXP (x2, 0);
1402 : 153695 : operands[1] = x3;
1403 : 153695 : x4 = XEXP (x1, 1);
1404 : 153695 : switch (GET_CODE (x4))
1405 : : {
1406 : 116777 : case REG:
1407 : 116777 : case SUBREG:
1408 : 116777 : case MEM:
1409 : 116777 : case VEC_DUPLICATE:
1410 : 116777 : operands[2] = x4;
1411 : 116777 : return 0;
1412 : :
1413 : 2560 : case NOT:
1414 : 2560 : x5 = XEXP (x4, 0);
1415 : 2560 : operands[2] = x5;
1416 : 2560 : switch (GET_MODE (operands[0]))
1417 : : {
1418 : 0 : case E_V16SImode:
1419 : 0 : if (pattern338 (x1,
1420 : : E_V16SImode) != 0)
1421 : : return -1;
1422 : : return 1;
1423 : :
1424 : 0 : case E_V8DImode:
1425 : 0 : if (pattern338 (x1,
1426 : : E_V8DImode) != 0)
1427 : : return -1;
1428 : : return 2;
1429 : :
1430 : 2 : case E_V64QImode:
1431 : 2 : if (pattern338 (x1,
1432 : : E_V64QImode) != 0)
1433 : : return -1;
1434 : : return 3;
1435 : :
1436 : 0 : case E_V32QImode:
1437 : 0 : if (pattern338 (x1,
1438 : : E_V32QImode) != 0)
1439 : : return -1;
1440 : : return 4;
1441 : :
1442 : 0 : case E_V16QImode:
1443 : 0 : if (pattern338 (x1,
1444 : : E_V16QImode) != 0)
1445 : : return -1;
1446 : : return 5;
1447 : :
1448 : 0 : case E_V32HImode:
1449 : 0 : if (pattern338 (x1,
1450 : : E_V32HImode) != 0)
1451 : : return -1;
1452 : : return 6;
1453 : :
1454 : 0 : case E_V16HImode:
1455 : 0 : if (pattern338 (x1,
1456 : : E_V16HImode) != 0)
1457 : : return -1;
1458 : : return 7;
1459 : :
1460 : 1 : case E_V8HImode:
1461 : 1 : if (pattern338 (x1,
1462 : : E_V8HImode) != 0)
1463 : : return -1;
1464 : : return 8;
1465 : :
1466 : 3 : case E_V8SImode:
1467 : 3 : if (pattern338 (x1,
1468 : : E_V8SImode) != 0)
1469 : : return -1;
1470 : : return 9;
1471 : :
1472 : 22 : case E_V4SImode:
1473 : 22 : if (pattern338 (x1,
1474 : : E_V4SImode) != 0)
1475 : : return -1;
1476 : : return 10;
1477 : :
1478 : 0 : case E_V4DImode:
1479 : 0 : if (pattern338 (x1,
1480 : : E_V4DImode) != 0)
1481 : : return -1;
1482 : : return 11;
1483 : :
1484 : 0 : case E_V2DImode:
1485 : 0 : if (pattern338 (x1,
1486 : : E_V2DImode) != 0)
1487 : : return -1;
1488 : : return 12;
1489 : :
1490 : : default:
1491 : : return -1;
1492 : : }
1493 : :
1494 : : default:
1495 : : return -1;
1496 : : }
1497 : : }
1498 : :
1499 : : int
1500 : 11784 : pattern352 (rtx x1)
1501 : : {
1502 : 11784 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1503 : 11784 : rtx x2, x3, x4, x5, x6, x7, x8;
1504 : 11784 : int res ATTRIBUTE_UNUSED;
1505 : 11784 : x2 = XVECEXP (x1, 0, 1);
1506 : 11784 : if (GET_CODE (x2) != CLOBBER)
1507 : : return -1;
1508 : 8270 : x3 = XEXP (x2, 0);
1509 : 8270 : if (GET_CODE (x3) != REG
1510 : 8270 : || REGNO (x3) != 17
1511 : 16540 : || GET_MODE (x3) != E_CCmode)
1512 : : return -1;
1513 : 8270 : x4 = XVECEXP (x1, 0, 0);
1514 : 8270 : x5 = XEXP (x4, 0);
1515 : 8270 : operands[0] = x5;
1516 : 8270 : x6 = XEXP (x4, 1);
1517 : 8270 : x7 = XEXP (x6, 0);
1518 : 8270 : x8 = XEXP (x7, 0);
1519 : 8270 : operands[1] = x8;
1520 : 8270 : return 0;
1521 : : }
1522 : :
1523 : : int
1524 : 778 : pattern357 (rtx x1)
1525 : : {
1526 : 778 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1527 : 778 : rtx x2, x3, x4, x5, x6;
1528 : 778 : int res ATTRIBUTE_UNUSED;
1529 : 778 : x2 = XVECEXP (x1, 0, 0);
1530 : 778 : x3 = XEXP (x2, 1);
1531 : 778 : x4 = XEXP (x3, 0);
1532 : 778 : if (XVECLEN (x4, 0) != 3)
1533 : : return -1;
1534 : 656 : x5 = XVECEXP (x1, 0, 1);
1535 : 656 : if (GET_CODE (x5) != SET)
1536 : : return -1;
1537 : 651 : x6 = XEXP (x5, 1);
1538 : 651 : if (GET_CODE (x6) != UNSPEC
1539 : 501 : || XVECLEN (x6, 0) != 3)
1540 : 150 : return -1;
1541 : : return 0;
1542 : : }
1543 : :
1544 : : int
1545 : 8085 : pattern361 (rtx x1)
1546 : : {
1547 : 8085 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1548 : 8085 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1549 : 8085 : rtx x10;
1550 : 8085 : int res ATTRIBUTE_UNUSED;
1551 : 8085 : x2 = XEXP (x1, 0);
1552 : 8085 : x3 = XEXP (x2, 0);
1553 : 8085 : x4 = XEXP (x3, 0);
1554 : 8085 : x5 = XEXP (x4, 0);
1555 : 8085 : operands[2] = x5;
1556 : 8085 : x6 = XEXP (x3, 1);
1557 : 8085 : operands[3] = x6;
1558 : 8085 : if (!const_int_operand (operands[3], E_QImode))
1559 : : return -1;
1560 : 8085 : x7 = XEXP (x2, 1);
1561 : 8085 : x8 = XEXP (x7, 0);
1562 : 8085 : operands[4] = x8;
1563 : 8085 : x9 = XEXP (x1, 1);
1564 : 8085 : switch (GET_CODE (x9))
1565 : : {
1566 : 4604 : case REG:
1567 : 4604 : case SUBREG:
1568 : 4604 : operands[1] = x9;
1569 : 4604 : switch (GET_MODE (operands[0]))
1570 : : {
1571 : 27 : case E_DImode:
1572 : 27 : return pattern359 (x1,
1573 : : E_DImode,
1574 : 27 : E_SImode); /* [-1, 0] */
1575 : :
1576 : 4577 : case E_TImode:
1577 : 4577 : if (pattern359 (x1,
1578 : : E_TImode,
1579 : : E_DImode) != 0)
1580 : : return -1;
1581 : : return 1;
1582 : :
1583 : : default:
1584 : : return -1;
1585 : : }
1586 : :
1587 : 39 : case ZERO_EXTEND:
1588 : 39 : x10 = XEXP (x9, 0);
1589 : 39 : operands[1] = x10;
1590 : 39 : switch (GET_MODE (operands[0]))
1591 : : {
1592 : 0 : case E_DImode:
1593 : 0 : if (pattern360 (x1,
1594 : : E_SImode,
1595 : : E_DImode) != 0)
1596 : : return -1;
1597 : : return 2;
1598 : :
1599 : 39 : case E_TImode:
1600 : 39 : if (pattern360 (x1,
1601 : : E_DImode,
1602 : : E_TImode) != 0)
1603 : : return -1;
1604 : : return 3;
1605 : :
1606 : : default:
1607 : : return -1;
1608 : : }
1609 : :
1610 : : default:
1611 : : return -1;
1612 : : }
1613 : : }
1614 : :
1615 : : int
1616 : 851726 : pattern374 (rtx x1)
1617 : : {
1618 : 851726 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1619 : 851726 : rtx x2, x3, x4, x5, x6, x7, x8;
1620 : 851726 : int res ATTRIBUTE_UNUSED;
1621 : 851726 : x2 = XVECEXP (x1, 0, 0);
1622 : 851726 : x3 = XEXP (x2, 1);
1623 : 851726 : x4 = XEXP (x3, 0);
1624 : 851726 : if (GET_CODE (x4) != REG
1625 : 851726 : || REGNO (x4) != 17)
1626 : : return -1;
1627 : 16737 : x5 = XEXP (x3, 1);
1628 : 16737 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1629 : : return -1;
1630 : 16737 : x6 = XVECEXP (x1, 0, 1);
1631 : 16737 : if (GET_CODE (x6) != CLOBBER)
1632 : : return -1;
1633 : 10495 : x7 = XEXP (x6, 0);
1634 : 10495 : if (GET_CODE (x7) != REG
1635 : 10495 : || REGNO (x7) != 17
1636 : 20856 : || GET_MODE (x7) != E_CCmode)
1637 : : return -1;
1638 : 10361 : x8 = XEXP (x2, 0);
1639 : 10361 : operands[0] = x8;
1640 : 10361 : switch (GET_MODE (operands[0]))
1641 : : {
1642 : 11 : case E_HImode:
1643 : 11 : if (!register_operand (operands[0], E_HImode)
1644 : 11 : || !ix86_comparison_operator (operands[1], E_HImode))
1645 : 0 : return -1;
1646 : : return 0;
1647 : :
1648 : 1709 : case E_SImode:
1649 : 1709 : if (!register_operand (operands[0], E_SImode)
1650 : 1709 : || !ix86_comparison_operator (operands[1], E_SImode))
1651 : 0 : return -1;
1652 : : return 1;
1653 : :
1654 : : default:
1655 : : return -1;
1656 : : }
1657 : : }
1658 : :
1659 : : int
1660 : 47564 : pattern387 (rtx x1, int i1, int i2)
1661 : : {
1662 : 47564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1663 : 47564 : rtx x2;
1664 : 47564 : int res ATTRIBUTE_UNUSED;
1665 : 47564 : if (GET_CODE (x1) != UNSPEC
1666 : 26028 : || XVECLEN (x1, 0) != 1
1667 : 26028 : || XINT (x1, 1) != i1)
1668 : : return -1;
1669 : 26028 : x2 = XVECEXP (x1, 0, 0);
1670 : 26028 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
1671 : 0 : return -1;
1672 : : return 0;
1673 : : }
1674 : :
1675 : : int
1676 : 3971 : pattern392 (rtx x1)
1677 : : {
1678 : 3971 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1679 : 3971 : int res ATTRIBUTE_UNUSED;
1680 : 3971 : switch (GET_MODE (operands[0]))
1681 : : {
1682 : 100 : case E_SFmode:
1683 : 100 : if (!register_operand (operands[0], E_SFmode)
1684 : 100 : || GET_MODE (x1) != E_SFmode)
1685 : : return -1;
1686 : : return 0;
1687 : :
1688 : 1504 : case E_DFmode:
1689 : 1504 : if (!register_operand (operands[0], E_DFmode)
1690 : 1504 : || GET_MODE (x1) != E_DFmode)
1691 : : return -1;
1692 : : return 1;
1693 : :
1694 : 2367 : case E_XFmode:
1695 : 2367 : if (!register_operand (operands[0], E_XFmode)
1696 : 2367 : || GET_MODE (x1) != E_XFmode)
1697 : : return -1;
1698 : : return 2;
1699 : :
1700 : : default:
1701 : : return -1;
1702 : : }
1703 : : }
1704 : :
1705 : : int
1706 : 839360 : pattern403 (rtx x1)
1707 : : {
1708 : 839360 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1709 : 839360 : rtx x2, x3, x4, x5;
1710 : 839360 : int res ATTRIBUTE_UNUSED;
1711 : 839360 : x2 = XEXP (x1, 0);
1712 : 839360 : x3 = XEXP (x2, 0);
1713 : 839360 : operands[1] = x3;
1714 : 839360 : x4 = XEXP (x2, 1);
1715 : 839360 : operands[2] = x4;
1716 : 839360 : if (!const248_operand (operands[2], E_VOIDmode))
1717 : : return -1;
1718 : 13468 : x5 = XEXP (x1, 1);
1719 : 13468 : operands[3] = x5;
1720 : 13468 : switch (GET_MODE (operands[0]))
1721 : : {
1722 : 599 : case E_QImode:
1723 : 599 : return pattern402 (x1,
1724 : 599 : E_QImode); /* [-1, 0] */
1725 : :
1726 : 0 : case E_HImode:
1727 : 0 : if (pattern402 (x1,
1728 : : E_HImode) != 0)
1729 : : return -1;
1730 : : return 1;
1731 : :
1732 : : default:
1733 : : return -1;
1734 : : }
1735 : : }
1736 : :
1737 : : int
1738 : 2719 : pattern412 (rtx x1)
1739 : : {
1740 : 2719 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1741 : 2719 : rtx x2, x3, x4, x5, x6, x7;
1742 : 2719 : int res ATTRIBUTE_UNUSED;
1743 : 2719 : x2 = XVECEXP (x1, 0, 1);
1744 : 2719 : if (GET_CODE (x2) != CLOBBER)
1745 : : return -1;
1746 : 2719 : x3 = XEXP (x2, 0);
1747 : 2719 : if (GET_CODE (x3) != REG
1748 : 2719 : || REGNO (x3) != 17
1749 : 5362 : || GET_MODE (x3) != E_CCmode)
1750 : : return -1;
1751 : 2643 : x4 = XVECEXP (x1, 0, 0);
1752 : 2643 : x5 = XEXP (x4, 0);
1753 : 2643 : operands[0] = x5;
1754 : 2643 : x6 = XEXP (x4, 1);
1755 : 2643 : x7 = XEXP (x6, 0);
1756 : 2643 : operands[1] = x7;
1757 : 2643 : return pattern411 (x6); /* [-1, 1] */
1758 : : }
1759 : :
1760 : : int
1761 : 8804545 : pattern419 (rtx x1, machine_mode i1)
1762 : : {
1763 : 8804545 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1764 : 8804545 : rtx x2, x3, x4, x5, x6, x7, x8;
1765 : 8804545 : int res ATTRIBUTE_UNUSED;
1766 : 8804545 : if (!general_reg_operand (operands[0], i1)
1767 : 3845601 : || GET_CODE (x1) != PARALLEL
1768 : 9503095 : || XVECLEN (x1, 0) != 2)
1769 : : return -1;
1770 : 671321 : x2 = XVECEXP (x1, 0, 0);
1771 : 671321 : if (GET_CODE (x2) != SET)
1772 : : return -1;
1773 : 667822 : x3 = XEXP (x2, 1);
1774 : 667822 : if (!commutative_operator (x3, i1))
1775 : : return -1;
1776 : 220015 : operands[3] = x3;
1777 : 220015 : x4 = XVECEXP (x1, 0, 1);
1778 : 220015 : if (GET_CODE (x4) != CLOBBER)
1779 : : return -1;
1780 : 220001 : x5 = XEXP (x4, 0);
1781 : 220001 : if (GET_CODE (x5) != REG
1782 : 220001 : || REGNO (x5) != 17
1783 : 440002 : || GET_MODE (x5) != E_CCmode)
1784 : : return -1;
1785 : 220001 : x6 = XEXP (x3, 1);
1786 : 220001 : operands[2] = x6;
1787 : 220001 : if (!memory_operand (operands[2], i1))
1788 : : return -1;
1789 : 40849 : x7 = XEXP (x3, 0);
1790 : 40849 : if (!rtx_equal_p (x7, operands[0]))
1791 : : return -1;
1792 : 39685 : x8 = XEXP (x2, 0);
1793 : 39685 : if (!rtx_equal_p (x8, operands[0]))
1794 : : return -1;
1795 : : return 0;
1796 : : }
1797 : :
1798 : : int
1799 : 2117981 : pattern430 (rtx x1)
1800 : : {
1801 : 2117981 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1802 : 2117981 : rtx x2, x3, x4, x5;
1803 : 2117981 : int res ATTRIBUTE_UNUSED;
1804 : 2117981 : x2 = XEXP (x1, 0);
1805 : 2117981 : x3 = XEXP (x2, 0);
1806 : 2117981 : operands[1] = x3;
1807 : 2117981 : x4 = XEXP (x2, 1);
1808 : 2117981 : operands[2] = x4;
1809 : 2117981 : x5 = XEXP (x1, 1);
1810 : 2117981 : operands[3] = x5;
1811 : 2117981 : switch (GET_MODE (operands[0]))
1812 : : {
1813 : 2551 : case E_QImode:
1814 : 2551 : return pattern429 (x1,
1815 : 2551 : E_QImode); /* [-1, 0] */
1816 : :
1817 : 3081 : case E_HImode:
1818 : 3081 : if (pattern429 (x1,
1819 : : E_HImode) != 0)
1820 : : return -1;
1821 : : return 1;
1822 : :
1823 : : default:
1824 : : return -1;
1825 : : }
1826 : : }
1827 : :
1828 : : int
1829 : 13105196 : pattern438 (rtx x1)
1830 : : {
1831 : 13105196 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1832 : 13105196 : int res ATTRIBUTE_UNUSED;
1833 : 13105196 : switch (GET_MODE (operands[0]))
1834 : : {
1835 : 5433540 : case E_DImode:
1836 : 5433540 : if (!nonimmediate_operand (operands[0], E_DImode)
1837 : 5336799 : || GET_MODE (x1) != E_DImode
1838 : 10770339 : || !nonimmediate_operand (operands[1], E_DImode))
1839 : 412793 : return -1;
1840 : : return 0;
1841 : :
1842 : 3563889 : case E_SImode:
1843 : 3563889 : if (!nonimmediate_operand (operands[0], E_SImode)
1844 : 2255745 : || GET_MODE (x1) != E_SImode
1845 : 2255745 : || !nonimmediate_operand (operands[1], E_SImode)
1846 : 5276016 : || !x86_64_general_operand (operands[2], E_SImode))
1847 : 1933645 : return -1;
1848 : : return 1;
1849 : :
1850 : : default:
1851 : : return -1;
1852 : : }
1853 : : }
1854 : :
1855 : : int
1856 : 121787 : pattern450 (rtx x1, machine_mode i1)
1857 : : {
1858 : 121787 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1859 : 121787 : rtx x2, x3, x4, x5, x6, x7;
1860 : 121787 : int res ATTRIBUTE_UNUSED;
1861 : 121787 : x2 = XEXP (x1, 1);
1862 : 121787 : x3 = XEXP (x2, 1);
1863 : 121787 : if (maybe_ne (SUBREG_BYTE (x3), 0)
1864 : 121787 : || GET_MODE (x3) != E_QImode)
1865 : : return -1;
1866 : 119811 : x4 = XEXP (x1, 0);
1867 : 119811 : operands[0] = x4;
1868 : 119811 : if (!nonimmediate_operand (operands[0], i1)
1869 : 54434 : || GET_MODE (x2) != i1
1870 : 174245 : || !nonimmediate_operand (operands[1], i1))
1871 : 109699 : return -1;
1872 : 10112 : x5 = XEXP (x3, 0);
1873 : 10112 : switch (GET_CODE (x5))
1874 : : {
1875 : 2335 : case AND:
1876 : 2335 : x6 = XEXP (x5, 0);
1877 : 2335 : operands[2] = x6;
1878 : 2335 : if (!int248_register_operand (operands[2], E_VOIDmode))
1879 : : return -1;
1880 : 609 : x7 = XEXP (x5, 1);
1881 : 609 : operands[3] = x7;
1882 : 609 : if (!const_int_operand (operands[3], E_VOIDmode))
1883 : : return -1;
1884 : : return 0;
1885 : :
1886 : 0 : case PLUS:
1887 : 0 : x6 = XEXP (x5, 0);
1888 : 0 : operands[2] = x6;
1889 : 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
1890 : : return -1;
1891 : 0 : x7 = XEXP (x5, 1);
1892 : 0 : operands[3] = x7;
1893 : 0 : if (!const_int_operand (operands[3], E_VOIDmode))
1894 : : return -1;
1895 : : return 1;
1896 : :
1897 : 0 : case MINUS:
1898 : 0 : x6 = XEXP (x5, 0);
1899 : 0 : operands[3] = x6;
1900 : 0 : if (!const_int_operand (operands[3], E_VOIDmode))
1901 : : return -1;
1902 : 0 : x7 = XEXP (x5, 1);
1903 : 0 : operands[2] = x7;
1904 : 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
1905 : : return -1;
1906 : : return 2;
1907 : :
1908 : : default:
1909 : : return -1;
1910 : : }
1911 : : }
1912 : :
1913 : : int
1914 : 6250 : pattern469 (rtx x1, machine_mode i1, machine_mode i2)
1915 : : {
1916 : 6250 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1917 : 6250 : rtx x2;
1918 : 6250 : int res ATTRIBUTE_UNUSED;
1919 : 6250 : if (!register_operand (operands[0], i1)
1920 : 6250 : || GET_MODE (x1) != i1)
1921 : : return -1;
1922 : 5827 : x2 = XEXP (x1, 0);
1923 : 5827 : if (GET_MODE (x2) != i1
1924 : 5827 : || !nonimmediate_operand (operands[1], i1)
1925 : 5761 : || !nonimm_or_0_operand (operands[3], i1)
1926 : 11482 : || !register_operand (operands[4], i2))
1927 : 422 : return -1;
1928 : : return 0;
1929 : : }
1930 : :
1931 : : int
1932 : 1985 : pattern475 (rtx x1, machine_mode i1)
1933 : : {
1934 : 1985 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1935 : 1985 : rtx x2, x3, x4, x5, x6, x7;
1936 : 1985 : int res ATTRIBUTE_UNUSED;
1937 : 1985 : x2 = XEXP (x1, 0);
1938 : 1985 : x3 = XVECEXP (x2, 0, 0);
1939 : 1985 : operands[1] = x3;
1940 : 1985 : x4 = XVECEXP (x2, 0, 1);
1941 : 1985 : operands[2] = x4;
1942 : 1985 : x5 = XVECEXP (x2, 0, 2);
1943 : 1985 : operands[3] = x5;
1944 : 1985 : if (!const_0_to_255_operand (operands[3], i1))
1945 : : return -1;
1946 : 1985 : x6 = XEXP (x1, 1);
1947 : 1985 : operands[4] = x6;
1948 : 1985 : x7 = XEXP (x1, 2);
1949 : 1985 : operands[5] = x7;
1950 : 1985 : switch (GET_MODE (operands[0]))
1951 : : {
1952 : 683 : case E_V64QImode:
1953 : 683 : return pattern474 (x1,
1954 : : E_V64QImode,
1955 : 683 : E_DImode); /* [-1, 0] */
1956 : :
1957 : 668 : case E_V32QImode:
1958 : 668 : if (pattern474 (x1,
1959 : : E_V32QImode,
1960 : : E_SImode) != 0)
1961 : : return -1;
1962 : : return 1;
1963 : :
1964 : 634 : case E_V16QImode:
1965 : 634 : if (pattern474 (x1,
1966 : : E_V16QImode,
1967 : : E_HImode) != 0)
1968 : : return -1;
1969 : : return 2;
1970 : :
1971 : : default:
1972 : : return -1;
1973 : : }
1974 : : }
1975 : :
1976 : : int
1977 : 3840 : pattern484 (rtx x1)
1978 : : {
1979 : 3840 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1980 : 3840 : rtx x2, x3, x4, x5, x6, x7;
1981 : 3840 : int res ATTRIBUTE_UNUSED;
1982 : 3840 : x2 = XEXP (x1, 0);
1983 : 3840 : x3 = XVECEXP (x2, 0, 0);
1984 : 3840 : operands[1] = x3;
1985 : 3840 : x4 = XVECEXP (x2, 0, 1);
1986 : 3840 : operands[2] = x4;
1987 : 3840 : x5 = XVECEXP (x2, 0, 2);
1988 : 3840 : operands[3] = x5;
1989 : 3840 : x6 = XEXP (x1, 1);
1990 : 3840 : switch (GET_CODE (x6))
1991 : : {
1992 : 1900 : case REG:
1993 : 1900 : case SUBREG:
1994 : 1900 : if (!rtx_equal_p (x6, operands[1]))
1995 : : return -1;
1996 : 1900 : x7 = XEXP (x1, 2);
1997 : 1900 : operands[4] = x7;
1998 : 1900 : switch (GET_MODE (operands[0]))
1999 : : {
2000 : 216 : case E_V32HImode:
2001 : 216 : return pattern481 (x1,
2002 : : E_V32HImode,
2003 : 216 : E_SImode); /* [-1, 0] */
2004 : :
2005 : 210 : case E_V16SImode:
2006 : 210 : if (pattern481 (x1,
2007 : : E_V16SImode,
2008 : : E_HImode) != 0)
2009 : : return -1;
2010 : : return 1;
2011 : :
2012 : 216 : case E_V8DImode:
2013 : 216 : if (pattern481 (x1,
2014 : : E_V8DImode,
2015 : : E_QImode) != 0)
2016 : : return -1;
2017 : : return 2;
2018 : :
2019 : 216 : case E_V16HImode:
2020 : 216 : if (pattern481 (x1,
2021 : : E_V16HImode,
2022 : : E_HImode) != 0)
2023 : : return -1;
2024 : : return 3;
2025 : :
2026 : 210 : case E_V8SImode:
2027 : 210 : if (pattern481 (x1,
2028 : : E_V8SImode,
2029 : : E_QImode) != 0)
2030 : : return -1;
2031 : : return 4;
2032 : :
2033 : 216 : case E_V4DImode:
2034 : 216 : if (pattern481 (x1,
2035 : : E_V4DImode,
2036 : : E_QImode) != 0)
2037 : : return -1;
2038 : : return 5;
2039 : :
2040 : 210 : case E_V8HImode:
2041 : 210 : if (pattern481 (x1,
2042 : : E_V8HImode,
2043 : : E_QImode) != 0)
2044 : : return -1;
2045 : : return 6;
2046 : :
2047 : 200 : case E_V4SImode:
2048 : 200 : if (pattern481 (x1,
2049 : : E_V4SImode,
2050 : : E_QImode) != 0)
2051 : : return -1;
2052 : : return 7;
2053 : :
2054 : 206 : case E_V2DImode:
2055 : 206 : if (pattern481 (x1,
2056 : : E_V2DImode,
2057 : : E_QImode) != 0)
2058 : : return -1;
2059 : : return 8;
2060 : :
2061 : : default:
2062 : : return -1;
2063 : : }
2064 : :
2065 : 1908 : case CONST_INT:
2066 : 1908 : case CONST_DOUBLE:
2067 : 1908 : case CONST_VECTOR:
2068 : 1908 : operands[4] = x6;
2069 : 1908 : x7 = XEXP (x1, 2);
2070 : 1908 : operands[5] = x7;
2071 : 1908 : switch (GET_MODE (operands[0]))
2072 : : {
2073 : 216 : case E_V32HImode:
2074 : 216 : if (pattern483 (x1,
2075 : : E_V32HImode,
2076 : : E_SImode) != 0)
2077 : : return -1;
2078 : : return 9;
2079 : :
2080 : 214 : case E_V16SImode:
2081 : 214 : if (pattern483 (x1,
2082 : : E_V16SImode,
2083 : : E_HImode) != 0)
2084 : : return -1;
2085 : : return 10;
2086 : :
2087 : 220 : case E_V8DImode:
2088 : 220 : if (pattern483 (x1,
2089 : : E_V8DImode,
2090 : : E_QImode) != 0)
2091 : : return -1;
2092 : : return 11;
2093 : :
2094 : 214 : case E_V16HImode:
2095 : 214 : if (pattern483 (x1,
2096 : : E_V16HImode,
2097 : : E_HImode) != 0)
2098 : : return -1;
2099 : : return 12;
2100 : :
2101 : 212 : case E_V8SImode:
2102 : 212 : if (pattern483 (x1,
2103 : : E_V8SImode,
2104 : : E_QImode) != 0)
2105 : : return -1;
2106 : : return 13;
2107 : :
2108 : 218 : case E_V4DImode:
2109 : 218 : if (pattern483 (x1,
2110 : : E_V4DImode,
2111 : : E_QImode) != 0)
2112 : : return -1;
2113 : : return 14;
2114 : :
2115 : 206 : case E_V8HImode:
2116 : 206 : if (pattern483 (x1,
2117 : : E_V8HImode,
2118 : : E_QImode) != 0)
2119 : : return -1;
2120 : : return 15;
2121 : :
2122 : 202 : case E_V4SImode:
2123 : 202 : if (pattern483 (x1,
2124 : : E_V4SImode,
2125 : : E_QImode) != 0)
2126 : : return -1;
2127 : : return 16;
2128 : :
2129 : 206 : case E_V2DImode:
2130 : 206 : if (pattern483 (x1,
2131 : : E_V2DImode,
2132 : : E_QImode) != 0)
2133 : : return -1;
2134 : : return 17;
2135 : :
2136 : : default:
2137 : : return -1;
2138 : : }
2139 : :
2140 : : default:
2141 : : return -1;
2142 : : }
2143 : : }
2144 : :
2145 : : int
2146 : 7099 : pattern511 (rtx x1, machine_mode i1, int i2)
2147 : : {
2148 : 7099 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2149 : 7099 : rtx x2, x3;
2150 : 7099 : int res ATTRIBUTE_UNUSED;
2151 : 7099 : if (XVECLEN (x1, 0) != i2
2152 : 6981 : || GET_MODE (x1) != i1)
2153 : : return -1;
2154 : 6981 : x2 = XVECEXP (x1, 0, 0);
2155 : 6981 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2156 : : return -1;
2157 : 6979 : x3 = XVECEXP (x1, 0, 1);
2158 : 6979 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2159 : 0 : return -1;
2160 : : return 0;
2161 : : }
2162 : :
2163 : : int
2164 : 255 : pattern517 (rtx x1)
2165 : : {
2166 : 255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2167 : 255 : int res ATTRIBUTE_UNUSED;
2168 : 255 : if (!register_operand (operands[0], E_V16HFmode)
2169 : 255 : || GET_MODE (x1) != E_V16HFmode)
2170 : : return -1;
2171 : 225 : switch (GET_MODE (operands[1]))
2172 : : {
2173 : 140 : case E_V16HImode:
2174 : 140 : if (!vector_operand (operands[1], E_V16HImode))
2175 : : return -1;
2176 : : return 0;
2177 : :
2178 : 81 : case E_V16SImode:
2179 : 81 : if (!vector_operand (operands[1], E_V16SImode))
2180 : : return -1;
2181 : : return 1;
2182 : :
2183 : : default:
2184 : : return -1;
2185 : : }
2186 : : }
2187 : :
2188 : : int
2189 : 8 : pattern521 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2190 : : {
2191 : 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2192 : 8 : rtx x2, x3;
2193 : 8 : int res ATTRIBUTE_UNUSED;
2194 : 8 : if (!register_operand (operands[0], i1)
2195 : 8 : || GET_MODE (x1) != i1)
2196 : : return -1;
2197 : 8 : x2 = XEXP (x1, 0);
2198 : 8 : if (GET_MODE (x2) != i3)
2199 : : return -1;
2200 : 8 : x3 = XEXP (x2, 0);
2201 : 8 : if (GET_MODE (x3) != i1
2202 : 8 : || !nonimmediate_operand (operands[1], i2)
2203 : 8 : || !const0_operand (operands[2], i2)
2204 : 16 : || !const0_operand (operands[3], i1))
2205 : 0 : return -1;
2206 : : return 0;
2207 : : }
2208 : :
2209 : : int
2210 : 244934 : pattern529 (rtx x1, machine_mode i1)
2211 : : {
2212 : 244934 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2213 : 244934 : rtx x2;
2214 : 244934 : int res ATTRIBUTE_UNUSED;
2215 : 244934 : if (!register_operand (operands[0], i1)
2216 : 244934 : || GET_MODE (x1) != i1)
2217 : : return -1;
2218 : 241529 : x2 = XEXP (x1, 0);
2219 : 241529 : if (GET_MODE (x2) != i1
2220 : 241529 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2221 : 163763 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
2222 : 390354 : || !regmem_or_bitnot_regmem_operand (operands[3], i1))
2223 : 93356 : return -1;
2224 : : return 0;
2225 : : }
2226 : :
2227 : : int
2228 : 88706 : pattern533 (rtx x1)
2229 : : {
2230 : 88706 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2231 : 88706 : rtx x2, x3, x4;
2232 : 88706 : int res ATTRIBUTE_UNUSED;
2233 : 88706 : x2 = XEXP (x1, 1);
2234 : 88706 : x3 = XEXP (x2, 0);
2235 : 88706 : operands[3] = x3;
2236 : 88706 : x4 = XEXP (x2, 1);
2237 : 88706 : operands[4] = x4;
2238 : 88706 : switch (GET_MODE (operands[0]))
2239 : : {
2240 : 1 : case E_V32HFmode:
2241 : 1 : return pattern527 (x1,
2242 : 1 : E_V32HFmode); /* [-1, 0] */
2243 : :
2244 : 1 : case E_V16HFmode:
2245 : 1 : if (pattern527 (x1,
2246 : : E_V16HFmode) != 0)
2247 : : return -1;
2248 : : return 1;
2249 : :
2250 : 52 : case E_V8HFmode:
2251 : 52 : if (pattern527 (x1,
2252 : : E_V8HFmode) != 0)
2253 : : return -1;
2254 : : return 2;
2255 : :
2256 : 0 : case E_V32BFmode:
2257 : 0 : if (pattern527 (x1,
2258 : : E_V32BFmode) != 0)
2259 : : return -1;
2260 : : return 3;
2261 : :
2262 : 0 : case E_V16BFmode:
2263 : 0 : if (pattern527 (x1,
2264 : : E_V16BFmode) != 0)
2265 : : return -1;
2266 : : return 4;
2267 : :
2268 : 0 : case E_V8BFmode:
2269 : 0 : if (pattern527 (x1,
2270 : : E_V8BFmode) != 0)
2271 : : return -1;
2272 : : return 5;
2273 : :
2274 : 2 : case E_V16SFmode:
2275 : 2 : if (pattern527 (x1,
2276 : : E_V16SFmode) != 0)
2277 : : return -1;
2278 : : return 6;
2279 : :
2280 : 4 : case E_V8SFmode:
2281 : 4 : if (pattern527 (x1,
2282 : : E_V8SFmode) != 0)
2283 : : return -1;
2284 : : return 7;
2285 : :
2286 : 5437 : case E_V4SFmode:
2287 : 5437 : if (pattern527 (x1,
2288 : : E_V4SFmode) != 0)
2289 : : return -1;
2290 : : return 8;
2291 : :
2292 : 0 : case E_V8DFmode:
2293 : 0 : if (pattern527 (x1,
2294 : : E_V8DFmode) != 0)
2295 : : return -1;
2296 : : return 9;
2297 : :
2298 : 7 : case E_V4DFmode:
2299 : 7 : if (pattern527 (x1,
2300 : : E_V4DFmode) != 0)
2301 : : return -1;
2302 : : return 10;
2303 : :
2304 : 5402 : case E_V2DFmode:
2305 : 5402 : if (pattern527 (x1,
2306 : : E_V2DFmode) != 0)
2307 : : return -1;
2308 : : return 11;
2309 : :
2310 : : default:
2311 : : return -1;
2312 : : }
2313 : : }
2314 : :
2315 : : int
2316 : 55 : pattern540 (rtx x1, machine_mode i1)
2317 : : {
2318 : 55 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2319 : 55 : int res ATTRIBUTE_UNUSED;
2320 : 55 : if (!register_operand (operands[0], i1)
2321 : 55 : || GET_MODE (x1) != i1
2322 : 55 : || !nonimmediate_operand (operands[1], i1)
2323 : 110 : || !register_operand (operands[2], i1))
2324 : 0 : return -1;
2325 : : return 0;
2326 : : }
2327 : :
2328 : : int
2329 : 85 : pattern543 (rtx x1, int i1)
2330 : : {
2331 : 85 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2332 : 85 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2333 : 85 : int res ATTRIBUTE_UNUSED;
2334 : 85 : x2 = XVECEXP (x1, 0, 0);
2335 : 85 : x3 = XEXP (x2, 1);
2336 : 85 : if (GET_MODE (x3) != E_XFmode)
2337 : : return -1;
2338 : 85 : x4 = XVECEXP (x1, 0, 1);
2339 : 85 : if (GET_CODE (x4) != SET)
2340 : : return -1;
2341 : 85 : x5 = XEXP (x4, 1);
2342 : 85 : if (GET_CODE (x5) != UNSPEC
2343 : 85 : || XVECLEN (x5, 0) != 1
2344 : 85 : || XINT (x5, 1) != i1
2345 : 85 : || GET_MODE (x5) != E_XFmode)
2346 : : return -1;
2347 : 85 : x6 = XEXP (x2, 0);
2348 : 85 : operands[0] = x6;
2349 : 85 : if (!register_operand (operands[0], E_XFmode))
2350 : : return -1;
2351 : 85 : x7 = XVECEXP (x3, 0, 0);
2352 : 85 : operands[2] = x7;
2353 : 85 : if (!register_operand (operands[2], E_XFmode))
2354 : : return -1;
2355 : 49 : x8 = XEXP (x4, 0);
2356 : 49 : operands[1] = x8;
2357 : 49 : if (!register_operand (operands[1], E_XFmode))
2358 : : return -1;
2359 : 49 : x9 = XVECEXP (x5, 0, 0);
2360 : 49 : if (!rtx_equal_p (x9, operands[2]))
2361 : : return -1;
2362 : : return 0;
2363 : : }
2364 : :
2365 : : int
2366 : 7356 : pattern551 (rtx x1, machine_mode i1)
2367 : : {
2368 : 7356 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2369 : 7356 : int res ATTRIBUTE_UNUSED;
2370 : 7356 : if (!register_operand (operands[0], i1)
2371 : 7356 : || GET_MODE (x1) != i1
2372 : 7356 : || !nonimmediate_operand (operands[1], i1)
2373 : 14367 : || !general_operand (operands[2], i1))
2374 : 345 : return -1;
2375 : : return 0;
2376 : : }
2377 : :
2378 : : int
2379 : 3018 : pattern553 (rtx x1)
2380 : : {
2381 : 3018 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2382 : 3018 : rtx x2, x3, x4;
2383 : 3018 : int res ATTRIBUTE_UNUSED;
2384 : 3018 : x2 = XVECEXP (x1, 0, 1);
2385 : 3018 : if (GET_CODE (x2) != CLOBBER)
2386 : : return -1;
2387 : 2926 : x3 = XEXP (x2, 0);
2388 : 2926 : if (GET_CODE (x3) != REG
2389 : 2926 : || REGNO (x3) != 17
2390 : 5852 : || GET_MODE (x3) != E_CCmode)
2391 : : return -1;
2392 : 2926 : x4 = XVECEXP (x1, 0, 0);
2393 : 2926 : return pattern552 (x4); /* [-1, 1] */
2394 : : }
2395 : :
2396 : : int
2397 : 2815954 : pattern560 (rtx x1, machine_mode i1)
2398 : : {
2399 : 2815954 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2400 : 2815954 : int res ATTRIBUTE_UNUSED;
2401 : 2815954 : if (!nonimmediate_operand (operands[0], i1)
2402 : 2815315 : || GET_MODE (x1) != i1
2403 : 2815315 : || !nonimmediate_operand (operands[1], i1)
2404 : 5558084 : || !general_operand (operands[2], i1))
2405 : 76012 : return -1;
2406 : : return 0;
2407 : : }
2408 : :
2409 : : int
2410 : 13956 : pattern564 (rtx x1)
2411 : : {
2412 : 13956 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2413 : 13956 : rtx x2, x3, x4, x5;
2414 : 13956 : int res ATTRIBUTE_UNUSED;
2415 : 13956 : x2 = XVECEXP (x1, 0, 1);
2416 : 13956 : if (XVECLEN (x2, 0) != 1
2417 : 13956 : || XINT (x2, 1) != 175)
2418 : : return -1;
2419 : 13953 : x3 = XVECEXP (x2, 0, 0);
2420 : 13953 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2421 : : return -1;
2422 : 13953 : switch (GET_MODE (operands[0]))
2423 : : {
2424 : 12761 : case E_QImode:
2425 : 12761 : x4 = XVECEXP (x1, 0, 0);
2426 : 12761 : x5 = XEXP (x4, 1);
2427 : 12761 : return pattern563 (x5,
2428 : 12761 : E_QImode); /* [-1, 0] */
2429 : :
2430 : 804 : case E_HImode:
2431 : 804 : x4 = XVECEXP (x1, 0, 0);
2432 : 804 : x5 = XEXP (x4, 1);
2433 : 804 : if (pattern563 (x5,
2434 : : E_HImode) != 0)
2435 : : return -1;
2436 : : return 1;
2437 : :
2438 : 193 : case E_SImode:
2439 : 193 : x4 = XVECEXP (x1, 0, 0);
2440 : 193 : x5 = XEXP (x4, 1);
2441 : 193 : if (pattern563 (x5,
2442 : : E_SImode) != 0)
2443 : : return -1;
2444 : : return 2;
2445 : :
2446 : 195 : case E_DImode:
2447 : 195 : x4 = XVECEXP (x1, 0, 0);
2448 : 195 : x5 = XEXP (x4, 1);
2449 : 195 : if (pattern563 (x5,
2450 : : E_DImode) != 0)
2451 : : return -1;
2452 : : return 3;
2453 : :
2454 : : default:
2455 : : return -1;
2456 : : }
2457 : : }
2458 : :
2459 : : int
2460 : 9730 : pattern578 (rtx x1)
2461 : : {
2462 : 9730 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2463 : 9730 : rtx x2, x3, x4, x5, x6, x7, x8;
2464 : 9730 : int res ATTRIBUTE_UNUSED;
2465 : 9730 : x2 = XEXP (x1, 1);
2466 : 9730 : if (GET_MODE (x2) != E_DImode)
2467 : : return -1;
2468 : 5293 : x3 = XEXP (x2, 0);
2469 : 5293 : if (GET_CODE (x3) != XOR
2470 : 7 : || GET_MODE (x3) != E_SImode)
2471 : : return -1;
2472 : 7 : x4 = XEXP (x3, 0);
2473 : 7 : if (GET_CODE (x4) != MINUS
2474 : 7 : || GET_MODE (x4) != E_SImode)
2475 : : return -1;
2476 : 7 : x5 = XEXP (x4, 0);
2477 : 7 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
2478 : : return -1;
2479 : 7 : x6 = XEXP (x4, 1);
2480 : 7 : if (GET_CODE (x6) != CLZ
2481 : 7 : || GET_MODE (x6) != E_SImode)
2482 : : return -1;
2483 : 7 : x7 = XEXP (x3, 1);
2484 : 7 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
2485 : 7 : || !register_operand (operands[0], E_DImode)
2486 : 7 : || GET_MODE (x1) != E_DImode
2487 : 14 : || !const_int_operand (operands[2], E_DImode))
2488 : 3 : return -1;
2489 : 4 : x8 = XEXP (x6, 0);
2490 : 4 : operands[1] = x8;
2491 : 4 : if (!nonimmediate_operand (operands[1], E_SImode))
2492 : : return -1;
2493 : : return 0;
2494 : : }
2495 : :
2496 : : int
2497 : 66 : pattern587 (rtx x1)
2498 : : {
2499 : 66 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2500 : 66 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2501 : 66 : rtx x10;
2502 : 66 : int res ATTRIBUTE_UNUSED;
2503 : 66 : x2 = XVECEXP (x1, 0, 0);
2504 : 66 : x3 = XEXP (x2, 1);
2505 : 66 : x4 = XEXP (x3, 0);
2506 : 66 : operands[2] = x4;
2507 : 66 : x5 = XEXP (x3, 1);
2508 : 66 : operands[3] = x5;
2509 : 66 : x6 = XVECEXP (x1, 0, 1);
2510 : 66 : x7 = XEXP (x6, 0);
2511 : 66 : operands[1] = x7;
2512 : 66 : x8 = XEXP (x6, 1);
2513 : 66 : x9 = XEXP (x8, 0);
2514 : 66 : if (!rtx_equal_p (x9, operands[2]))
2515 : : return -1;
2516 : 66 : x10 = XEXP (x8, 1);
2517 : 66 : if (!rtx_equal_p (x10, operands[3]))
2518 : : return -1;
2519 : 66 : switch (GET_MODE (operands[0]))
2520 : : {
2521 : 28 : case E_SImode:
2522 : 28 : return pattern394 (x1,
2523 : 28 : E_SImode); /* [-1, 0] */
2524 : :
2525 : 38 : case E_DImode:
2526 : 38 : if (pattern394 (x1,
2527 : : E_DImode) != 0)
2528 : : return -1;
2529 : : return 1;
2530 : :
2531 : : default:
2532 : : return -1;
2533 : : }
2534 : : }
2535 : :
2536 : : int
2537 : 211 : pattern596 (rtx x1)
2538 : : {
2539 : 211 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2540 : 211 : rtx x2, x3;
2541 : 211 : int res ATTRIBUTE_UNUSED;
2542 : 211 : x2 = XVECEXP (x1, 0, 1);
2543 : 211 : if (GET_CODE (x2) != SUBREG
2544 : 211 : || maybe_ne (SUBREG_BYTE (x2), 0))
2545 : : return -1;
2546 : 20 : x3 = XVECEXP (x1, 0, 0);
2547 : 20 : operands[1] = x3;
2548 : 20 : return pattern595 (x1); /* [-1, 2] */
2549 : : }
2550 : :
2551 : : int
2552 : 15107209 : pattern599 (rtx x1, machine_mode i1)
2553 : : {
2554 : 15107209 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2555 : 15107209 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2556 : 15107209 : rtx x10, x11, x12, x13, x14, x15;
2557 : 15107209 : int res ATTRIBUTE_UNUSED;
2558 : 15107209 : x2 = XEXP (x1, 0);
2559 : 15107209 : operands[5] = x2;
2560 : 15107209 : if (!memory_operand (operands[5], i1))
2561 : : return -1;
2562 : 3681541 : x3 = XEXP (x1, 1);
2563 : 3681541 : operands[0] = x3;
2564 : 3681541 : if (!general_reg_operand (operands[0], i1))
2565 : : return -1;
2566 : 2406750 : x4 = PATTERN (peep2_next_insn (1));
2567 : 2406750 : if (GET_CODE (x4) != SET)
2568 : : return -1;
2569 : 2217672 : x5 = XEXP (x4, 1);
2570 : 2217672 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2571 : : return -1;
2572 : 106120 : x6 = XEXP (x4, 0);
2573 : 106120 : operands[1] = x6;
2574 : 106120 : if (!memory_operand (operands[1], i1))
2575 : : return -1;
2576 : 45898 : x7 = PATTERN (peep2_next_insn (2));
2577 : 45898 : if (GET_CODE (x7) != SET)
2578 : : return -1;
2579 : 44455 : x8 = XEXP (x7, 1);
2580 : 44455 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2581 : : return -1;
2582 : 18711 : x9 = XEXP (x7, 0);
2583 : 18711 : operands[2] = x9;
2584 : 18711 : if (!memory_operand (operands[2], i1))
2585 : : return -1;
2586 : 15348 : x10 = PATTERN (peep2_next_insn (3));
2587 : 15348 : if (GET_CODE (x10) != SET)
2588 : : return -1;
2589 : 14500 : x11 = XEXP (x10, 1);
2590 : 14500 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2591 : : return -1;
2592 : 7196 : x12 = XEXP (x10, 0);
2593 : 7196 : operands[3] = x12;
2594 : 7196 : if (!memory_operand (operands[3], i1))
2595 : : return -1;
2596 : 6722 : x13 = PATTERN (peep2_next_insn (4));
2597 : 6722 : if (GET_CODE (x13) != SET)
2598 : : return -1;
2599 : 6504 : x14 = XEXP (x13, 1);
2600 : 6504 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2601 : : return -1;
2602 : 2201 : x15 = XEXP (x13, 0);
2603 : 2201 : operands[4] = x15;
2604 : 2201 : if (!memory_operand (operands[4], i1))
2605 : : return -1;
2606 : : return 0;
2607 : : }
2608 : :
2609 : : int
2610 : 11512 : pattern613 (rtx x1)
2611 : : {
2612 : 11512 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2613 : 11512 : rtx x2, x3, x4, x5;
2614 : 11512 : int res ATTRIBUTE_UNUSED;
2615 : 11512 : x2 = XEXP (x1, 0);
2616 : 11512 : x3 = XEXP (x2, 1);
2617 : 11512 : x4 = XVECEXP (x3, 0, 0);
2618 : 11512 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2619 : : return -1;
2620 : 11512 : x5 = XVECEXP (x3, 0, 1);
2621 : 11512 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2622 : : return -1;
2623 : 11399 : switch (GET_MODE (operands[0]))
2624 : : {
2625 : 3275 : case E_V2SImode:
2626 : 3275 : if (!register_operand (operands[0], E_V2SImode)
2627 : 3275 : || GET_MODE (x1) != E_V2SImode)
2628 : : return -1;
2629 : 3199 : switch (GET_MODE (x2))
2630 : : {
2631 : 3136 : case E_V2HImode:
2632 : 3136 : if (!register_operand (operands[1], E_V4HImode))
2633 : : return -1;
2634 : : return 0;
2635 : :
2636 : 63 : case E_V2QImode:
2637 : 63 : if (!register_operand (operands[1], E_V4QImode))
2638 : : return -1;
2639 : : return 1;
2640 : :
2641 : : default:
2642 : : return -1;
2643 : : }
2644 : :
2645 : 162 : case E_V2HImode:
2646 : 162 : if (pattern611 (x1,
2647 : : E_V4QImode,
2648 : : E_V2QImode,
2649 : : E_V2HImode) != 0)
2650 : : return -1;
2651 : : return 2;
2652 : :
2653 : : default:
2654 : : return -1;
2655 : : }
2656 : : }
2657 : :
2658 : : int
2659 : 7151 : pattern631 (rtx x1, machine_mode i1, machine_mode i2)
2660 : : {
2661 : 7151 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2662 : 7151 : rtx x2;
2663 : 7151 : int res ATTRIBUTE_UNUSED;
2664 : 7151 : if (!register_operand (operands[0], i1)
2665 : 7151 : || GET_MODE (x1) != i1)
2666 : : return -1;
2667 : 6792 : x2 = XEXP (x1, 0);
2668 : 6792 : if (GET_MODE (x2) != i1
2669 : 6792 : || !nonimmediate_operand (operands[1], i1)
2670 : 6765 : || !nonimm_or_0_operand (operands[2], i1)
2671 : 13430 : || !register_operand (operands[3], i2))
2672 : 242 : return -1;
2673 : : return 0;
2674 : : }
2675 : :
2676 : : int
2677 : 3048 : pattern639 (rtx x1)
2678 : : {
2679 : 3048 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2680 : 3048 : rtx x2, x3, x4;
2681 : 3048 : int res ATTRIBUTE_UNUSED;
2682 : 3048 : x2 = XEXP (x1, 0);
2683 : 3048 : x3 = XVECEXP (x2, 0, 0);
2684 : 3048 : operands[1] = x3;
2685 : 3048 : x4 = XEXP (x1, 2);
2686 : 3048 : operands[3] = x4;
2687 : 3048 : switch (GET_MODE (operands[0]))
2688 : : {
2689 : 1032 : case E_V16SImode:
2690 : 1032 : return pattern637 (x1,
2691 : : E_V16SImode,
2692 : : E_HImode,
2693 : 1032 : E_V16SFmode); /* [-1, 0] */
2694 : :
2695 : 1024 : case E_V8SImode:
2696 : 1024 : if (pattern637 (x1,
2697 : : E_V8SImode,
2698 : : E_QImode,
2699 : : E_V8SFmode) != 0)
2700 : : return -1;
2701 : : return 1;
2702 : :
2703 : 992 : case E_V4SImode:
2704 : 992 : if (pattern637 (x1,
2705 : : E_V4SImode,
2706 : : E_QImode,
2707 : : E_V4SFmode) != 0)
2708 : : return -1;
2709 : : return 2;
2710 : :
2711 : : default:
2712 : : return -1;
2713 : : }
2714 : : }
2715 : :
2716 : : int
2717 : 2371 : pattern644 (rtx x1)
2718 : : {
2719 : 2371 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2720 : 2371 : rtx x2, x3, x4, x5;
2721 : 2371 : int res ATTRIBUTE_UNUSED;
2722 : 2371 : x2 = XVECEXP (x1, 0, 0);
2723 : 2371 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2724 : : return -1;
2725 : 2371 : x3 = XVECEXP (x1, 0, 1);
2726 : 2371 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2727 : : return -1;
2728 : 2371 : x4 = XVECEXP (x1, 0, 2);
2729 : 2371 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2730 : : return -1;
2731 : 2371 : x5 = XVECEXP (x1, 0, 3);
2732 : 2371 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2733 : 0 : return -1;
2734 : : return 0;
2735 : : }
2736 : :
2737 : : int
2738 : 402 : pattern648 (rtx x1)
2739 : : {
2740 : 402 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2741 : 402 : int res ATTRIBUTE_UNUSED;
2742 : 402 : if (!register_operand (operands[0], E_V4DImode)
2743 : 402 : || GET_MODE (x1) != E_V4DImode)
2744 : : return -1;
2745 : 358 : switch (GET_MODE (operands[1]))
2746 : : {
2747 : 118 : case E_V8HFmode:
2748 : 118 : if (!register_operand (operands[1], E_V8HFmode))
2749 : : return -1;
2750 : : return 0;
2751 : :
2752 : 120 : case E_V4DFmode:
2753 : 120 : if (!vector_operand (operands[1], E_V4DFmode))
2754 : : return -1;
2755 : : return 1;
2756 : :
2757 : 120 : case E_V4SFmode:
2758 : 120 : if (!vector_operand (operands[1], E_V4SFmode))
2759 : : return -1;
2760 : : return 2;
2761 : :
2762 : : default:
2763 : : return -1;
2764 : : }
2765 : : }
2766 : :
2767 : : int
2768 : 0 : pattern655 (rtx x1)
2769 : : {
2770 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2771 : 0 : rtx x2, x3, x4, x5, x6, x7;
2772 : 0 : int res ATTRIBUTE_UNUSED;
2773 : 0 : x2 = XVECEXP (x1, 0, 0);
2774 : 0 : x3 = XEXP (x2, 0);
2775 : 0 : x4 = XEXP (x3, 0);
2776 : 0 : operands[1] = x4;
2777 : 0 : x5 = XEXP (x3, 1);
2778 : 0 : operands[2] = x5;
2779 : 0 : x6 = XVECEXP (x1, 0, 1);
2780 : 0 : if (!const48_operand (x6, E_SImode))
2781 : : return -1;
2782 : 0 : x7 = XEXP (x2, 2);
2783 : 0 : switch (GET_CODE (x7))
2784 : : {
2785 : 0 : case REG:
2786 : 0 : case SUBREG:
2787 : 0 : return pattern654 (x1); /* [-1, 2] */
2788 : :
2789 : 0 : case CONST_INT:
2790 : 0 : res = pattern652 (x1);
2791 : 0 : if (res >= 0)
2792 : 0 : return res + 3; /* [3, 5] */
2793 : : return -1;
2794 : :
2795 : : default:
2796 : : return -1;
2797 : : }
2798 : : }
2799 : :
2800 : : int
2801 : 473 : pattern664 (rtx x1, machine_mode i1, machine_mode i2)
2802 : : {
2803 : 473 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2804 : 473 : rtx x2;
2805 : 473 : int res ATTRIBUTE_UNUSED;
2806 : 473 : if (!register_operand (operands[0], i2)
2807 : 464 : || GET_MODE (x1) != i2
2808 : 464 : || !vector_operand (operands[1], i2)
2809 : 678 : || !register_operand (operands[2], i2))
2810 : 353 : return -1;
2811 : 120 : x2 = XVECEXP (x1, 0, 2);
2812 : 120 : if (GET_MODE (x2) != i2
2813 : 120 : || !register_operand (operands[3], i1)
2814 : 240 : || !vector_all_ones_operand (operands[4], i1))
2815 : 78 : return -1;
2816 : : return 0;
2817 : : }
2818 : :
2819 : : int
2820 : 44 : pattern668 (rtx x1)
2821 : : {
2822 : 44 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2823 : 44 : rtx x2, x3, x4, x5, x6, x7, x8;
2824 : 44 : int res ATTRIBUTE_UNUSED;
2825 : 44 : x2 = XVECEXP (x1, 0, 2);
2826 : 44 : x3 = XEXP (x2, 0);
2827 : 44 : if (maybe_ne (SUBREG_BYTE (x3), 0))
2828 : : return -1;
2829 : 44 : x4 = XEXP (x3, 0);
2830 : 44 : if (GET_CODE (x4) != NOT)
2831 : : return -1;
2832 : 0 : x5 = XVECEXP (x1, 0, 0);
2833 : 0 : operands[2] = x5;
2834 : 0 : x6 = XVECEXP (x1, 0, 1);
2835 : 0 : operands[1] = x6;
2836 : 0 : x7 = XEXP (x4, 0);
2837 : 0 : operands[3] = x7;
2838 : 0 : if (!register_operand (operands[3], E_VOIDmode))
2839 : : return -1;
2840 : 0 : x8 = XEXP (x2, 1);
2841 : 0 : operands[4] = x8;
2842 : 0 : switch (GET_MODE (operands[0]))
2843 : : {
2844 : 0 : case E_V32QImode:
2845 : 0 : return pattern667 (x1,
2846 : 0 : E_V32QImode); /* [-1, 0] */
2847 : :
2848 : 0 : case E_V16QImode:
2849 : 0 : if (pattern667 (x1,
2850 : : E_V16QImode) != 0)
2851 : : return -1;
2852 : : return 1;
2853 : :
2854 : : default:
2855 : : return -1;
2856 : : }
2857 : : }
2858 : :
2859 : : int
2860 : 222 : pattern677 (rtx x1, machine_mode i1)
2861 : : {
2862 : 222 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2863 : 222 : int res ATTRIBUTE_UNUSED;
2864 : 222 : if (!register_operand (operands[0], i1)
2865 : 222 : || GET_MODE (x1) != i1)
2866 : : return -1;
2867 : 216 : switch (GET_MODE (operands[1]))
2868 : : {
2869 : 110 : case E_BFmode:
2870 : 110 : if (!memory_operand (operands[1], E_BFmode))
2871 : : return -1;
2872 : : return 0;
2873 : :
2874 : 106 : case E_HFmode:
2875 : 106 : if (!memory_operand (operands[1], E_HFmode))
2876 : : return -1;
2877 : : return 1;
2878 : :
2879 : : default:
2880 : : return -1;
2881 : : }
2882 : : }
2883 : :
2884 : : int
2885 : 4911 : pattern682 (rtx x1)
2886 : : {
2887 : 4911 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2888 : 4911 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2889 : 4911 : rtx x10, x11;
2890 : 4911 : int res ATTRIBUTE_UNUSED;
2891 : 4911 : x2 = XEXP (x1, 0);
2892 : 4911 : x3 = XEXP (x2, 0);
2893 : 4911 : x4 = XEXP (x3, 0);
2894 : 4911 : switch (GET_CODE (x4))
2895 : : {
2896 : 20 : case VEC_CONCAT:
2897 : 20 : return pattern680 (x1); /* [-1, 5] */
2898 : :
2899 : 0 : case VEC_MERGE:
2900 : 0 : if (GET_MODE (x4) != E_V4SImode)
2901 : : return -1;
2902 : 0 : x5 = XEXP (x4, 0);
2903 : 0 : if (GET_CODE (x5) != VEC_DUPLICATE
2904 : 0 : || GET_MODE (x5) != E_V4SImode)
2905 : : return -1;
2906 : 0 : x6 = XEXP (x4, 1);
2907 : 0 : if (GET_CODE (x6) != CONST_VECTOR
2908 : 0 : || XVECLEN (x6, 0) != 4
2909 : 0 : || GET_MODE (x6) != E_V4SImode)
2910 : : return -1;
2911 : 0 : x7 = XVECEXP (x6, 0, 0);
2912 : 0 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2913 : : return -1;
2914 : 0 : x8 = XVECEXP (x6, 0, 1);
2915 : 0 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2916 : : return -1;
2917 : 0 : x9 = XVECEXP (x6, 0, 2);
2918 : 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2919 : : return -1;
2920 : 0 : x10 = XVECEXP (x6, 0, 3);
2921 : 0 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2922 : : return -1;
2923 : 0 : x11 = XEXP (x4, 2);
2924 : 0 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2925 : : return -1;
2926 : 0 : res = pattern681 (x1);
2927 : 0 : if (res >= 0)
2928 : 0 : return res + 6; /* [6, 8] */
2929 : : return -1;
2930 : :
2931 : : default:
2932 : : return -1;
2933 : : }
2934 : : }
2935 : :
2936 : : int
2937 : 96596 : pattern696 (rtx x1)
2938 : : {
2939 : 96596 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2940 : 96596 : int res ATTRIBUTE_UNUSED;
2941 : 96596 : if (GET_CODE (x1) != REG
2942 : 96596 : || REGNO (x1) != 17
2943 : 191830 : || GET_MODE (x1) != E_CCmode)
2944 : : return -1;
2945 : 95234 : switch (GET_MODE (operands[0]))
2946 : : {
2947 : : case E_DImode:
2948 : : return 0;
2949 : :
2950 : 2204 : case E_TImode:
2951 : 2204 : return 1;
2952 : :
2953 : 508 : case E_QImode:
2954 : 508 : return 2;
2955 : :
2956 : 4398 : case E_HImode:
2957 : 4398 : return 3;
2958 : :
2959 : 18709 : case E_SImode:
2960 : 18709 : return 4;
2961 : :
2962 : 2286 : case E_SFmode:
2963 : 2286 : return 5;
2964 : :
2965 : 4242 : case E_DFmode:
2966 : 4242 : return 6;
2967 : :
2968 : 44563 : case E_XFmode:
2969 : 44563 : return 7;
2970 : :
2971 : : default:
2972 : : return -1;
2973 : : }
2974 : : }
2975 : :
2976 : : int
2977 : 1726445 : pattern707 (rtx x1)
2978 : : {
2979 : 1726445 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2980 : 1726445 : rtx x2, x3, x4, x5;
2981 : 1726445 : int res ATTRIBUTE_UNUSED;
2982 : 1726445 : switch (GET_CODE (x1))
2983 : : {
2984 : 22285 : case UNSPEC:
2985 : 22285 : if (XVECLEN (x1, 0) != 1
2986 : 22284 : || XINT (x1, 1) != 38)
2987 : : return -1;
2988 : 1718 : x2 = XVECEXP (x1, 0, 0);
2989 : 1718 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2990 : 0 : return -1;
2991 : : return 0;
2992 : :
2993 : 1704160 : case SET:
2994 : 1704160 : x3 = XEXP (x1, 1);
2995 : 1704160 : if (GET_CODE (x3) != PLUS
2996 : 1701762 : || GET_MODE (x3) != E_SImode)
2997 : : return -1;
2998 : 1701724 : x4 = XEXP (x3, 0);
2999 : 1701724 : if (GET_CODE (x4) != REG
3000 : 1701724 : || REGNO (x4) != 7
3001 : 3403448 : || GET_MODE (x4) != E_SImode)
3002 : : return -1;
3003 : 1701724 : x5 = XEXP (x1, 0);
3004 : 1701724 : if (GET_CODE (x5) != REG
3005 : 1701724 : || REGNO (x5) != 7
3006 : 3403448 : || GET_MODE (x5) != E_SImode)
3007 : 0 : return -1;
3008 : : return 1;
3009 : :
3010 : : default:
3011 : : return -1;
3012 : : }
3013 : : }
3014 : :
3015 : : int
3016 : 120730 : pattern714 (rtx x1)
3017 : : {
3018 : 120730 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3019 : 120730 : rtx x2, x3, x4, x5, x6;
3020 : 120730 : int res ATTRIBUTE_UNUSED;
3021 : 120730 : x2 = XEXP (x1, 0);
3022 : 120730 : x3 = XEXP (x2, 0);
3023 : 120730 : x4 = XEXP (x3, 0);
3024 : 120730 : operands[1] = x4;
3025 : 120730 : if (!const_int_operand (operands[2], E_QImode))
3026 : : return -1;
3027 : 120212 : x5 = XEXP (x1, 1);
3028 : 120212 : switch (GET_CODE (x5))
3029 : : {
3030 : 105924 : case ZERO_EXTEND:
3031 : 105924 : x6 = XEXP (x5, 0);
3032 : 105924 : operands[3] = x6;
3033 : 105924 : switch (GET_MODE (operands[0]))
3034 : : {
3035 : 497 : case E_DImode:
3036 : 497 : return pattern712 (x1,
3037 : : E_SImode,
3038 : 497 : E_DImode); /* [-1, 0] */
3039 : :
3040 : 105427 : case E_TImode:
3041 : 105427 : if (pattern712 (x1,
3042 : : E_DImode,
3043 : : E_TImode) != 0)
3044 : : return -1;
3045 : : return 1;
3046 : :
3047 : : default:
3048 : : return -1;
3049 : : }
3050 : :
3051 : 7972 : case CONST_INT:
3052 : 7972 : case CONST_WIDE_INT:
3053 : 7972 : operands[3] = x5;
3054 : 7972 : switch (GET_MODE (operands[0]))
3055 : : {
3056 : 541 : case E_DImode:
3057 : 541 : if (pattern713 (x1,
3058 : : E_DImode,
3059 : : E_SImode) != 0)
3060 : : return -1;
3061 : : return 2;
3062 : :
3063 : 7426 : case E_TImode:
3064 : 7426 : if (pattern713 (x1,
3065 : : E_TImode,
3066 : : E_DImode) != 0)
3067 : : return -1;
3068 : : return 3;
3069 : :
3070 : : default:
3071 : : return -1;
3072 : : }
3073 : :
3074 : : default:
3075 : : return -1;
3076 : : }
3077 : : }
3078 : :
3079 : : int
3080 : 102216 : pattern730 (rtx x1, machine_mode i1, machine_mode i2)
3081 : : {
3082 : 102216 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3083 : 102216 : int res ATTRIBUTE_UNUSED;
3084 : 102216 : if (!register_operand (operands[0], i2)
3085 : 99104 : || GET_MODE (x1) != i2
3086 : 99104 : || !register_operand (operands[1], i1)
3087 : 173036 : || !vector_operand (operands[2], i1))
3088 : 52504 : return -1;
3089 : : return 0;
3090 : : }
3091 : :
3092 : : int
3093 : 1135 : pattern734 (rtx x1)
3094 : : {
3095 : 1135 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3096 : 1135 : rtx x2, x3, x4, x5, x6;
3097 : 1135 : int res ATTRIBUTE_UNUSED;
3098 : 1135 : x2 = XVECEXP (x1, 0, 2);
3099 : 1135 : x3 = XEXP (x2, 0);
3100 : 1135 : if (GET_CODE (x3) != EQ)
3101 : : return -1;
3102 : 349 : x4 = XEXP (x3, 0);
3103 : 349 : operands[3] = x4;
3104 : 349 : x5 = XEXP (x3, 1);
3105 : 349 : operands[4] = x5;
3106 : 349 : x6 = XEXP (x2, 1);
3107 : 349 : operands[5] = x6;
3108 : 349 : switch (GET_MODE (operands[0]))
3109 : : {
3110 : 0 : case E_V8QImode:
3111 : 0 : return pattern733 (x1,
3112 : 0 : E_V8QImode); /* [-1, 0] */
3113 : :
3114 : 90 : case E_V4QImode:
3115 : 90 : if (pattern733 (x1,
3116 : : E_V4QImode) != 0)
3117 : : return -1;
3118 : : return 1;
3119 : :
3120 : 180 : case E_V2QImode:
3121 : 180 : if (pattern733 (x1,
3122 : : E_V2QImode) != 0)
3123 : : return -1;
3124 : : return 2;
3125 : :
3126 : 0 : case E_V2HImode:
3127 : 0 : if (pattern733 (x1,
3128 : : E_V2HImode) != 0)
3129 : : return -1;
3130 : : return 3;
3131 : :
3132 : : default:
3133 : : return -1;
3134 : : }
3135 : : }
3136 : :
3137 : : int
3138 : 156771 : pattern744 (rtx x1, machine_mode i1)
3139 : : {
3140 : 156771 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3141 : 156771 : int res ATTRIBUTE_UNUSED;
3142 : 156771 : if (!register_operand (operands[0], i1)
3143 : 156165 : || !binary_fp_operator (operands[3], i1)
3144 : 156165 : || GET_MODE (x1) != i1
3145 : 312936 : || !register_operand (operands[2], i1))
3146 : 17465 : return -1;
3147 : 139306 : switch (GET_MODE (operands[1]))
3148 : : {
3149 : 88 : case E_HImode:
3150 : 88 : if (!nonimmediate_operand (operands[1], E_HImode))
3151 : : return -1;
3152 : : return 0;
3153 : :
3154 : 82052 : case E_SImode:
3155 : 82052 : if (!nonimmediate_operand (operands[1], E_SImode))
3156 : : return -1;
3157 : : return 1;
3158 : :
3159 : : default:
3160 : : return -1;
3161 : : }
3162 : : }
3163 : :
3164 : : int
3165 : 84 : pattern754 (rtx x1, machine_mode i1)
3166 : : {
3167 : 84 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3168 : 84 : rtx x2, x3;
3169 : 84 : int res ATTRIBUTE_UNUSED;
3170 : 84 : if (!register_operand (operands[0], i1)
3171 : 84 : || GET_MODE (x1) != i1)
3172 : : return -1;
3173 : 84 : x2 = XEXP (x1, 0);
3174 : 84 : if (GET_MODE (x2) != i1
3175 : 84 : || !nonimmediate_operand (operands[1], i1))
3176 : 0 : return -1;
3177 : 84 : x3 = XEXP (x1, 1);
3178 : 84 : if (GET_MODE (x3) != i1)
3179 : : return -1;
3180 : : return 0;
3181 : : }
3182 : :
3183 : : int
3184 : 2 : pattern762 (rtx x1)
3185 : : {
3186 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3187 : 2 : rtx x2, x3, x4, x5, x6, x7;
3188 : 2 : int res ATTRIBUTE_UNUSED;
3189 : 2 : x2 = XEXP (x1, 2);
3190 : 2 : switch (GET_CODE (x2))
3191 : : {
3192 : 1 : case UNSPEC:
3193 : 1 : if (XVECLEN (x2, 0) != 3
3194 : 1 : || XINT (x2, 1) != 60)
3195 : : return -1;
3196 : 1 : x3 = XVECEXP (x2, 0, 2);
3197 : 1 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3198 : : return -1;
3199 : 0 : x4 = XEXP (x1, 0);
3200 : 0 : operands[3] = x4;
3201 : 0 : x5 = XEXP (x1, 1);
3202 : 0 : operands[4] = x5;
3203 : 0 : x6 = XVECEXP (x2, 0, 0);
3204 : 0 : operands[1] = x6;
3205 : 0 : x7 = XVECEXP (x2, 0, 1);
3206 : 0 : operands[2] = x7;
3207 : 0 : switch (GET_MODE (x1))
3208 : : {
3209 : 0 : case E_V32QImode:
3210 : 0 : return pattern761 (x2,
3211 : : E_V32QImode,
3212 : 0 : E_SImode); /* [-1, 0] */
3213 : :
3214 : 0 : case E_V16QImode:
3215 : 0 : if (pattern761 (x2,
3216 : : E_V16QImode,
3217 : : E_HImode) != 0)
3218 : : return -1;
3219 : : return 1;
3220 : :
3221 : : default:
3222 : : return -1;
3223 : : }
3224 : :
3225 : 1 : case REG:
3226 : 1 : case SUBREG:
3227 : 1 : operands[1] = x2;
3228 : 1 : x4 = XEXP (x1, 0);
3229 : 1 : operands[2] = x4;
3230 : 1 : x5 = XEXP (x1, 1);
3231 : 1 : operands[3] = x5;
3232 : 1 : switch (GET_MODE (x1))
3233 : : {
3234 : 1 : case E_V16QImode:
3235 : 1 : if (!vector_all_ones_operand (operands[2], E_V16QImode)
3236 : 1 : || !const0_operand (operands[3], E_V16QImode)
3237 : 2 : || !register_operand (operands[1], E_HImode))
3238 : 0 : return -1;
3239 : : return 2;
3240 : :
3241 : 0 : case E_V32QImode:
3242 : 0 : if (!vector_all_ones_operand (operands[2], E_V32QImode)
3243 : 0 : || !const0_operand (operands[3], E_V32QImode)
3244 : 0 : || !register_operand (operands[1], E_SImode))
3245 : 0 : return -1;
3246 : : return 3;
3247 : :
3248 : : default:
3249 : : return -1;
3250 : : }
3251 : :
3252 : : default:
3253 : : return -1;
3254 : : }
3255 : : }
3256 : :
3257 : : int
3258 : 152 : pattern788 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3259 : : {
3260 : 152 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3261 : 152 : rtx x2, x3;
3262 : 152 : int res ATTRIBUTE_UNUSED;
3263 : 152 : if (!register_operand (operands[0], i3)
3264 : 152 : || GET_MODE (x1) != i3)
3265 : : return -1;
3266 : 142 : x2 = XEXP (x1, 0);
3267 : 142 : if (GET_MODE (x2) != i2
3268 : 142 : || !vector_operand (operands[2], i1))
3269 : 0 : return -1;
3270 : 142 : x3 = XEXP (x1, 1);
3271 : 142 : if (GET_MODE (x3) != i2
3272 : 142 : || !register_operand (operands[1], i1))
3273 : 7 : return -1;
3274 : : return 0;
3275 : : }
3276 : :
3277 : : int
3278 : 818 : pattern800 (rtx x1, machine_mode i1, machine_mode i2)
3279 : : {
3280 : 818 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3281 : 818 : rtx x2;
3282 : 818 : int res ATTRIBUTE_UNUSED;
3283 : 818 : if (!register_operand (operands[0], i1)
3284 : 818 : || GET_MODE (x1) != i1)
3285 : : return -1;
3286 : 796 : x2 = XEXP (x1, 0);
3287 : 796 : if (GET_MODE (x2) != i2
3288 : 792 : || !nonimmediate_operand (operands[1], i1)
3289 : 647 : || !const0_operand (operands[2], i1)
3290 : 1190 : || !movq_parallel (operands[3], E_VOIDmode))
3291 : 507 : return -1;
3292 : : return 0;
3293 : : }
3294 : :
3295 : : int
3296 : 278 : pattern809 (rtx x1, machine_mode i1)
3297 : : {
3298 : 278 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3299 : 278 : int res ATTRIBUTE_UNUSED;
3300 : 278 : if (!register_operand (operands[0], i1)
3301 : 278 : || GET_MODE (x1) != i1
3302 : 278 : || !nonimmediate_operand (operands[3], i1)
3303 : 278 : || !register_operand (operands[1], i1)
3304 : 517 : || !nonimmediate_operand (operands[2], i1))
3305 : 63 : return -1;
3306 : : return 0;
3307 : : }
3308 : :
3309 : : int
3310 : 8959950 : pattern812 (rtx x1)
3311 : : {
3312 : 8959950 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3313 : 8959950 : rtx x2, x3, x4, x5, x6, x7, x8;
3314 : 8959950 : int res ATTRIBUTE_UNUSED;
3315 : 8959950 : x2 = XVECEXP (x1, 0, 0);
3316 : 8959950 : x3 = XEXP (x2, 1);
3317 : 8959950 : x4 = XEXP (x3, 1);
3318 : 8959950 : switch (GET_CODE (x4))
3319 : : {
3320 : 635345 : case SUBREG:
3321 : 635345 : if (maybe_ne (SUBREG_BYTE (x4), 0)
3322 : 635345 : || GET_MODE (x4) != E_QImode)
3323 : : return -1;
3324 : 635292 : x5 = XEXP (x4, 0);
3325 : 635292 : if (GET_CODE (x5) != AND)
3326 : : return -1;
3327 : 31799 : x6 = XVECEXP (x1, 0, 1);
3328 : 31799 : if (GET_CODE (x6) != CLOBBER)
3329 : : return -1;
3330 : 28006 : x7 = XEXP (x6, 0);
3331 : 28006 : if (GET_CODE (x7) != REG
3332 : 28006 : || REGNO (x7) != 17
3333 : 56012 : || GET_MODE (x7) != E_CCmode)
3334 : : return -1;
3335 : 28006 : return pattern810 (x3); /* [-1, 1] */
3336 : :
3337 : 8210056 : case CONST_INT:
3338 : 8210056 : operands[2] = x4;
3339 : 8210056 : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
3340 : : return -1;
3341 : 8209981 : x6 = XVECEXP (x1, 0, 1);
3342 : 8209981 : if (GET_CODE (x6) != UNSPEC
3343 : 13548 : || XVECLEN (x6, 0) != 1
3344 : 13548 : || XINT (x6, 1) != 175)
3345 : : return -1;
3346 : 13548 : x8 = XVECEXP (x6, 0, 0);
3347 : 13548 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3348 : : return -1;
3349 : 13548 : res = pattern811 (x3);
3350 : 13548 : if (res >= 0)
3351 : 10382 : return res + 2; /* [2, 5] */
3352 : : return -1;
3353 : :
3354 : : default:
3355 : : return -1;
3356 : : }
3357 : : }
3358 : :
3359 : : int
3360 : 12273 : pattern825 (rtx x1, int *pnum_clobbers)
3361 : : {
3362 : 12273 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3363 : 12273 : rtx x2, x3, x4, x5, x6, x7;
3364 : 12273 : int res ATTRIBUTE_UNUSED;
3365 : 12273 : x2 = XVECEXP (x1, 0, 1);
3366 : 12273 : x3 = XEXP (x2, 0);
3367 : 12273 : operands[2] = x3;
3368 : 12273 : if (!memory_operand (operands[2], E_HImode))
3369 : : return -1;
3370 : 12273 : x4 = XVECEXP (x1, 0, 2);
3371 : 12273 : x5 = XEXP (x4, 0);
3372 : 12273 : operands[3] = x5;
3373 : 12273 : if (!memory_operand (operands[3], E_HImode))
3374 : : return -1;
3375 : 12273 : switch (GET_MODE (operands[0]))
3376 : : {
3377 : 0 : case E_DImode:
3378 : 0 : if (pnum_clobbers == NULL
3379 : 0 : || !nonimmediate_operand (operands[0], E_DImode))
3380 : 0 : return -1;
3381 : 0 : x6 = XVECEXP (x1, 0, 0);
3382 : 0 : x7 = XEXP (x6, 1);
3383 : 0 : if (GET_MODE (x7) != E_DImode)
3384 : : return -1;
3385 : : return 0;
3386 : :
3387 : 7225 : case E_HImode:
3388 : 7225 : if (!nonimmediate_operand (operands[0], E_HImode))
3389 : : return -1;
3390 : 7225 : x6 = XVECEXP (x1, 0, 0);
3391 : 7225 : x7 = XEXP (x6, 1);
3392 : 7225 : if (GET_MODE (x7) != E_HImode)
3393 : : return -1;
3394 : : return 1;
3395 : :
3396 : 5048 : case E_SImode:
3397 : 5048 : if (!nonimmediate_operand (operands[0], E_SImode))
3398 : : return -1;
3399 : 5048 : x6 = XVECEXP (x1, 0, 0);
3400 : 5048 : x7 = XEXP (x6, 1);
3401 : 5048 : if (GET_MODE (x7) != E_SImode)
3402 : : return -1;
3403 : : return 2;
3404 : :
3405 : : default:
3406 : : return -1;
3407 : : }
3408 : : }
3409 : :
3410 : : int
3411 : 362 : pattern839 (rtx x1, int i1, int i2, int i3, int i4)
3412 : : {
3413 : 362 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3414 : 362 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3415 : 362 : int res ATTRIBUTE_UNUSED;
3416 : 362 : x2 = XVECEXP (x1, 0, 0);
3417 : 362 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3418 : : return -1;
3419 : 191 : x3 = XVECEXP (x1, 0, 1);
3420 : 191 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3421 : : return -1;
3422 : 191 : x4 = XVECEXP (x1, 0, 2);
3423 : 191 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3424 : : return -1;
3425 : 191 : x5 = XVECEXP (x1, 0, 3);
3426 : 191 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3427 : : return -1;
3428 : 191 : x6 = XVECEXP (x1, 0, 4);
3429 : 191 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3430 : : return -1;
3431 : 191 : x7 = XVECEXP (x1, 0, 5);
3432 : 191 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3433 : : return -1;
3434 : 191 : x8 = XVECEXP (x1, 0, 6);
3435 : 191 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3436 : : return -1;
3437 : 191 : x9 = XVECEXP (x1, 0, 7);
3438 : 191 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3439 : 191 : || pattern838 (x1,
3440 : : i1,
3441 : : i2,
3442 : : i3,
3443 : : i4) != 0)
3444 : 0 : return -1;
3445 : : return 0;
3446 : : }
3447 : :
3448 : : int
3449 : 27898 : pattern848 (rtx x1)
3450 : : {
3451 : 27898 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3452 : 27898 : rtx x2, x3, x4, x5, x6, x7;
3453 : 27898 : int res ATTRIBUTE_UNUSED;
3454 : 27898 : x2 = XVECEXP (x1, 0, 2);
3455 : 27898 : if (maybe_ne (SUBREG_BYTE (x2), 0))
3456 : : return -1;
3457 : 27898 : x3 = XEXP (x2, 0);
3458 : 27898 : if (GET_CODE (x3) != EQ)
3459 : : return -1;
3460 : 3042 : x4 = XEXP (x3, 0);
3461 : 3042 : if (GET_CODE (x4) != EQ)
3462 : : return -1;
3463 : 580 : x5 = XEXP (x4, 0);
3464 : 580 : operands[3] = x5;
3465 : 580 : x6 = XEXP (x4, 1);
3466 : 580 : operands[4] = x6;
3467 : 580 : x7 = XEXP (x3, 1);
3468 : 580 : operands[5] = x7;
3469 : 580 : switch (GET_MODE (operands[0]))
3470 : : {
3471 : 165 : case E_V8QImode:
3472 : 165 : if (!register_operand (operands[0], E_V8QImode)
3473 : 165 : || GET_MODE (x1) != E_V8QImode
3474 : 165 : || !register_operand (operands[1], E_V8QImode)
3475 : 90 : || !register_operand (operands[2], E_V8QImode)
3476 : 216 : || GET_MODE (x2) != E_V8QImode)
3477 : 114 : return -1;
3478 : 51 : switch (GET_MODE (x3))
3479 : : {
3480 : 51 : case E_V4HImode:
3481 : 51 : return pattern847 (x4,
3482 : 51 : E_V4HImode); /* [-1, 0] */
3483 : :
3484 : 0 : case E_V2SImode:
3485 : 0 : if (pattern847 (x4,
3486 : : E_V2SImode) != 0)
3487 : : return -1;
3488 : : return 1;
3489 : :
3490 : : default:
3491 : : return -1;
3492 : : }
3493 : :
3494 : 315 : case E_V4QImode:
3495 : 315 : if (!register_operand (operands[0], E_V4QImode)
3496 : 315 : || GET_MODE (x1) != E_V4QImode
3497 : 315 : || !register_operand (operands[1], E_V4QImode)
3498 : 174 : || !register_operand (operands[2], E_V4QImode)
3499 : 93 : || GET_MODE (x2) != E_V4QImode
3500 : 93 : || GET_MODE (x3) != E_V2HImode
3501 : 408 : || pattern847 (x4,
3502 : : E_V2HImode) != 0)
3503 : 270 : return -1;
3504 : : return 2;
3505 : :
3506 : : default:
3507 : : return -1;
3508 : : }
3509 : : }
3510 : :
3511 : : int
3512 : 1031 : pattern866 (rtx x1, machine_mode i1)
3513 : : {
3514 : 1031 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3515 : 1031 : rtx x2;
3516 : 1031 : int res ATTRIBUTE_UNUSED;
3517 : 1031 : if (!register_operand (operands[0], i1)
3518 : 1012 : || GET_MODE (x1) != i1
3519 : 1012 : || !bcst_vector_operand (operands[1], i1)
3520 : 2036 : || !bcst_vector_operand (operands[2], i1))
3521 : 61 : return -1;
3522 : 970 : x2 = XEXP (x1, 2);
3523 : 970 : if (GET_MODE (x2) != i1
3524 : 970 : || !bcst_vector_operand (operands[3], i1))
3525 : 55 : return -1;
3526 : : return 0;
3527 : : }
3528 : :
3529 : : int
3530 : 1392 : pattern875 (rtx x1, machine_mode i1)
3531 : : {
3532 : 1392 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3533 : 1392 : rtx x2, x3;
3534 : 1392 : int res ATTRIBUTE_UNUSED;
3535 : 1392 : if (!register_operand (operands[0], i1)
3536 : 1392 : || GET_MODE (x1) != i1)
3537 : : return -1;
3538 : 1328 : x2 = XVECEXP (x1, 0, 0);
3539 : 1328 : if (GET_MODE (x2) != i1)
3540 : : return -1;
3541 : 1328 : x3 = XVECEXP (x2, 0, 0);
3542 : 1328 : switch (GET_MODE (x3))
3543 : : {
3544 : 488 : case E_HFmode:
3545 : 488 : if (!register_operand (operands[1], E_V8HFmode))
3546 : : return -1;
3547 : : return 0;
3548 : :
3549 : 420 : case E_SFmode:
3550 : 420 : if (!register_operand (operands[1], E_V4SFmode))
3551 : : return -1;
3552 : : return 1;
3553 : :
3554 : 420 : case E_DFmode:
3555 : 420 : if (!register_operand (operands[1], E_V2DFmode))
3556 : : return -1;
3557 : : return 2;
3558 : :
3559 : : default:
3560 : : return -1;
3561 : : }
3562 : : }
3563 : :
3564 : : int
3565 : 125594 : pattern886 (rtx x1, machine_mode i1, machine_mode i2)
3566 : : {
3567 : 125594 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3568 : 125594 : rtx x2, x3;
3569 : 125594 : int res ATTRIBUTE_UNUSED;
3570 : 125594 : if (!register_operand (operands[0], i1)
3571 : 125594 : || GET_MODE (x1) != i1)
3572 : : return -1;
3573 : 125472 : x2 = XEXP (x1, 0);
3574 : 125472 : if (GET_MODE (x2) != i1)
3575 : : return -1;
3576 : 125472 : x3 = XEXP (x2, 0);
3577 : 125472 : if (GET_MODE (x3) != i2
3578 : 125472 : || !register_operand (operands[1], i1))
3579 : 814 : return -1;
3580 : 124658 : switch (GET_MODE (operands[2]))
3581 : : {
3582 : 72000 : case E_SImode:
3583 : 72000 : if (!nonimmediate_operand (operands[2], E_SImode))
3584 : : return -1;
3585 : : return 0;
3586 : :
3587 : 52658 : case E_DImode:
3588 : 52658 : if (!nonimmediate_operand (operands[2], E_DImode))
3589 : : return -1;
3590 : : return 1;
3591 : :
3592 : : default:
3593 : : return -1;
3594 : : }
3595 : : }
3596 : :
3597 : : int
3598 : 0 : pattern900 (rtx x1, machine_mode i1, machine_mode i2)
3599 : : {
3600 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3601 : 0 : rtx x2, x3, x4, x5, x6, x7;
3602 : 0 : int res ATTRIBUTE_UNUSED;
3603 : 0 : x2 = XEXP (x1, 0);
3604 : 0 : x3 = XEXP (x2, 0);
3605 : 0 : x4 = XEXP (x3, 1);
3606 : 0 : x5 = XVECEXP (x4, 0, 0);
3607 : 0 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3608 : : return -1;
3609 : 0 : x6 = XVECEXP (x4, 0, 1);
3610 : 0 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
3611 : 0 : || !register_operand (operands[0], E_V2DImode)
3612 : 0 : || GET_MODE (x1) != E_V2DImode
3613 : 0 : || GET_MODE (x2) != E_V2DImode
3614 : 0 : || GET_MODE (x3) != i2)
3615 : 0 : return -1;
3616 : 0 : x7 = XEXP (x3, 0);
3617 : 0 : if (GET_MODE (x7) != i1
3618 : 0 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3619 : 0 : return -1;
3620 : : return 0;
3621 : : }
3622 : :
3623 : : int
3624 : 2439 : pattern907 (rtx x1)
3625 : : {
3626 : 2439 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3627 : 2439 : rtx x2, x3, x4, x5, x6, x7, x8;
3628 : 2439 : int res ATTRIBUTE_UNUSED;
3629 : 2439 : x2 = XVECEXP (x1, 0, 0);
3630 : 2439 : x3 = XEXP (x2, 0);
3631 : 2439 : x4 = XVECEXP (x3, 0, 0);
3632 : 2439 : operands[1] = x4;
3633 : 2439 : x5 = XVECEXP (x3, 0, 1);
3634 : 2439 : operands[2] = x5;
3635 : 2439 : x6 = XVECEXP (x1, 0, 1);
3636 : 2439 : if (!const48_operand (x6, E_SImode))
3637 : : return -1;
3638 : 2439 : x7 = XEXP (x2, 2);
3639 : 2439 : switch (GET_CODE (x7))
3640 : : {
3641 : 2100 : case REG:
3642 : 2100 : case SUBREG:
3643 : 2100 : operands[4] = x7;
3644 : 2100 : x8 = XEXP (x2, 1);
3645 : 2100 : operands[3] = x8;
3646 : 2100 : operands[5] = x6;
3647 : 2100 : switch (GET_MODE (operands[0]))
3648 : : {
3649 : 592 : case E_V32HFmode:
3650 : 592 : return pattern905 (x1,
3651 : : E_V32HFmode,
3652 : 592 : E_SImode); /* [-1, 0] */
3653 : :
3654 : 754 : case E_V16SFmode:
3655 : 754 : if (pattern905 (x1,
3656 : : E_V16SFmode,
3657 : : E_HImode) != 0)
3658 : : return -1;
3659 : : return 1;
3660 : :
3661 : 754 : case E_V8DFmode:
3662 : 754 : if (pattern905 (x1,
3663 : : E_V8DFmode,
3664 : : E_QImode) != 0)
3665 : : return -1;
3666 : : return 2;
3667 : :
3668 : : default:
3669 : : return -1;
3670 : : }
3671 : :
3672 : 327 : case CONST_INT:
3673 : 327 : if (XWINT (x7, 0) != 1L)
3674 : : return -1;
3675 : 305 : operands[3] = x6;
3676 : 305 : x8 = XEXP (x2, 1);
3677 : 305 : if (!rtx_equal_p (x8, operands[1]))
3678 : : return -1;
3679 : 305 : switch (GET_MODE (operands[0]))
3680 : : {
3681 : 185 : case E_V8HFmode:
3682 : 185 : if (pattern906 (x1,
3683 : : E_V8HFmode) != 0)
3684 : : return -1;
3685 : : return 3;
3686 : :
3687 : 60 : case E_V4SFmode:
3688 : 60 : if (pattern906 (x1,
3689 : : E_V4SFmode) != 0)
3690 : : return -1;
3691 : : return 4;
3692 : :
3693 : 60 : case E_V2DFmode:
3694 : 60 : if (pattern906 (x1,
3695 : : E_V2DFmode) != 0)
3696 : : return -1;
3697 : : return 5;
3698 : :
3699 : : default:
3700 : : return -1;
3701 : : }
3702 : :
3703 : : default:
3704 : : return -1;
3705 : : }
3706 : : }
3707 : :
3708 : : int
3709 : 26672 : pattern922 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3710 : : {
3711 : 26672 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3712 : 26672 : rtx x2;
3713 : 26672 : int res ATTRIBUTE_UNUSED;
3714 : 26672 : if (!register_operand (operands[0], i3)
3715 : 26672 : || GET_MODE (x1) != i3)
3716 : : return -1;
3717 : 22527 : x2 = XEXP (x1, 0);
3718 : 22527 : if (GET_MODE (x2) != i2
3719 : 22527 : || !nonimmediate_operand (operands[1], i1))
3720 : 5614 : return -1;
3721 : : return 0;
3722 : : }
3723 : :
3724 : : int
3725 : 49442 : pattern927 (rtx x1, machine_mode i1)
3726 : : {
3727 : 49442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3728 : 49442 : rtx x2;
3729 : 49442 : int res ATTRIBUTE_UNUSED;
3730 : 49442 : if (!register_operand (operands[0], i1)
3731 : 49442 : || GET_MODE (x1) != i1)
3732 : : return -1;
3733 : 48898 : x2 = XEXP (x1, 0);
3734 : 48898 : if (GET_MODE (x2) != i1
3735 : 48898 : || !bcst_vector_operand (operands[1], i1)
3736 : 94443 : || !bcst_vector_operand (operands[2], i1))
3737 : 4765 : return -1;
3738 : : return 0;
3739 : : }
3740 : :
3741 : : int
3742 : 183 : pattern933 (rtx x1)
3743 : : {
3744 : 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3745 : 183 : rtx x2, x3, x4, x5, x6, x7, x8;
3746 : 183 : int res ATTRIBUTE_UNUSED;
3747 : 183 : if (!register_operand (operands[0], E_V8QImode))
3748 : : return -1;
3749 : 183 : x2 = XVECEXP (x1, 0, 0);
3750 : 183 : x3 = XEXP (x2, 1);
3751 : 183 : x4 = XVECEXP (x3, 0, 0);
3752 : 183 : operands[1] = x4;
3753 : 183 : if (!register_operand (operands[1], E_V8QImode))
3754 : : return -1;
3755 : 146 : x5 = XVECEXP (x3, 0, 1);
3756 : 146 : operands[2] = x5;
3757 : 146 : if (!register_mmxmem_operand (operands[2], E_V8QImode))
3758 : : return -1;
3759 : 135 : x6 = XVECEXP (x3, 0, 2);
3760 : 135 : operands[4] = x6;
3761 : 135 : if (!reg_or_const_vector_operand (operands[4], E_V4SImode))
3762 : : return -1;
3763 : 125 : x7 = XVECEXP (x1, 0, 1);
3764 : 125 : x8 = XEXP (x7, 0);
3765 : 125 : operands[3] = x8;
3766 : 125 : if (!scratch_operand (operands[3], E_V4SImode))
3767 : : return -1;
3768 : : return 0;
3769 : : }
3770 : :
3771 : : int
3772 : 7620 : pattern945 (rtx x1)
3773 : : {
3774 : 7620 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3775 : 7620 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3776 : 7620 : rtx x10, x11;
3777 : 7620 : int res ATTRIBUTE_UNUSED;
3778 : 7620 : x2 = XEXP (x1, 0);
3779 : 7620 : operands[0] = x2;
3780 : 7620 : x3 = XEXP (x1, 1);
3781 : 7620 : x4 = XEXP (x3, 0);
3782 : 7620 : switch (XVECLEN (x4, 0))
3783 : : {
3784 : 7136 : case 1:
3785 : 7136 : if (XINT (x4, 1) != 20)
3786 : : return -1;
3787 : 7071 : x5 = XVECEXP (x4, 0, 0);
3788 : 7071 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3789 : : return -1;
3790 : 7071 : return pattern943 (x3); /* [-1, 1] */
3791 : :
3792 : 27 : case 4:
3793 : 27 : if (XINT (x4, 1) != 23
3794 : 0 : || GET_MODE (x4) != E_SImode)
3795 : : return -1;
3796 : 0 : x6 = XVECEXP (x4, 0, 3);
3797 : 0 : if (GET_CODE (x6) != REG
3798 : 0 : || REGNO (x6) != 7
3799 : 0 : || GET_MODE (x6) != E_SImode)
3800 : : return -1;
3801 : 0 : x7 = XEXP (x3, 1);
3802 : 0 : if (GET_CODE (x7) != CONST
3803 : 0 : || GET_MODE (x7) != E_SImode)
3804 : : return -1;
3805 : 0 : x8 = XEXP (x7, 0);
3806 : 0 : if (GET_CODE (x8) != UNSPEC
3807 : 0 : || XVECLEN (x8, 0) != 1
3808 : 0 : || XINT (x8, 1) != 6
3809 : 0 : || GET_MODE (x8) != E_SImode
3810 : 0 : || !register_operand (operands[0], E_SImode)
3811 : 0 : || GET_MODE (x3) != E_SImode)
3812 : 0 : return -1;
3813 : 0 : x5 = XVECEXP (x4, 0, 0);
3814 : 0 : operands[3] = x5;
3815 : 0 : if (!tls_modbase_operand (operands[3], E_VOIDmode))
3816 : : return -1;
3817 : 0 : x9 = XVECEXP (x4, 0, 1);
3818 : 0 : operands[4] = x9;
3819 : 0 : x10 = XVECEXP (x4, 0, 2);
3820 : 0 : operands[2] = x10;
3821 : 0 : if (!register_operand (operands[2], E_SImode))
3822 : : return -1;
3823 : 0 : x11 = XVECEXP (x8, 0, 0);
3824 : 0 : operands[1] = x11;
3825 : 0 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
3826 : : return -1;
3827 : : return 2;
3828 : :
3829 : 457 : case 3:
3830 : 457 : if (XINT (x4, 1) != 23)
3831 : : return -1;
3832 : 138 : x10 = XVECEXP (x4, 0, 2);
3833 : 138 : if (GET_CODE (x10) != REG
3834 : 138 : || REGNO (x10) != 7)
3835 : : return -1;
3836 : 138 : x7 = XEXP (x3, 1);
3837 : 138 : if (GET_CODE (x7) != CONST)
3838 : : return -1;
3839 : 55 : x8 = XEXP (x7, 0);
3840 : 55 : if (GET_CODE (x8) != UNSPEC
3841 : 55 : || XVECLEN (x8, 0) != 1
3842 : 55 : || XINT (x8, 1) != 6)
3843 : : return -1;
3844 : 55 : x5 = XVECEXP (x4, 0, 0);
3845 : 55 : operands[2] = x5;
3846 : 55 : if (!tls_modbase_operand (operands[2], E_VOIDmode))
3847 : : return -1;
3848 : 55 : x9 = XVECEXP (x4, 0, 1);
3849 : 55 : operands[3] = x9;
3850 : 55 : x11 = XVECEXP (x8, 0, 0);
3851 : 55 : operands[1] = x11;
3852 : 55 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
3853 : : return -1;
3854 : 55 : switch (GET_MODE (operands[0]))
3855 : : {
3856 : 8 : case E_SImode:
3857 : 8 : if (pattern944 (x3,
3858 : : E_SImode) != 0)
3859 : : return -1;
3860 : : return 3;
3861 : :
3862 : 47 : case E_DImode:
3863 : 47 : if (pattern944 (x3,
3864 : : E_DImode) != 0)
3865 : : return -1;
3866 : : return 4;
3867 : :
3868 : : default:
3869 : : return -1;
3870 : : }
3871 : :
3872 : : default:
3873 : : return -1;
3874 : : }
3875 : : }
3876 : :
3877 : : int
3878 : 2545 : pattern972 (rtx x1)
3879 : : {
3880 : 2545 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3881 : 2545 : int res ATTRIBUTE_UNUSED;
3882 : 2545 : if (!nonimmediate_operand (operands[0], E_HFmode)
3883 : 2545 : || GET_MODE (x1) != E_HFmode)
3884 : : return -1;
3885 : 2545 : switch (GET_MODE (operands[1]))
3886 : : {
3887 : 46 : case E_V32HFmode:
3888 : 46 : if (!nonimmediate_operand (operands[1], E_V32HFmode))
3889 : : return -1;
3890 : : return 0;
3891 : :
3892 : 81 : case E_V16HFmode:
3893 : 81 : if (!nonimmediate_operand (operands[1], E_V16HFmode))
3894 : : return -1;
3895 : : return 1;
3896 : :
3897 : 2370 : case E_V8HFmode:
3898 : 2370 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
3899 : : return -1;
3900 : : return 2;
3901 : :
3902 : : default:
3903 : : return -1;
3904 : : }
3905 : : }
3906 : :
3907 : : int
3908 : 261859 : pattern975 (rtx x1)
3909 : : {
3910 : 261859 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3911 : 261859 : rtx x2, x3;
3912 : 261859 : int res ATTRIBUTE_UNUSED;
3913 : 261859 : if (!const_0_to_3_operand (operands[3], E_VOIDmode))
3914 : : return -1;
3915 : 261859 : x2 = XEXP (x1, 1);
3916 : 261859 : x3 = XVECEXP (x2, 0, 1);
3917 : 261859 : operands[4] = x3;
3918 : 261859 : if (!const_0_to_3_operand (operands[4], E_VOIDmode))
3919 : : return -1;
3920 : 261859 : switch (GET_MODE (operands[0]))
3921 : : {
3922 : 0 : case E_V2HFmode:
3923 : 0 : return pattern271 (x1,
3924 : : E_V2HFmode,
3925 : 0 : E_V4HFmode); /* [-1, 0] */
3926 : :
3927 : 0 : case E_V2BFmode:
3928 : 0 : if (pattern271 (x1,
3929 : : E_V2BFmode,
3930 : : E_V4BFmode) != 0)
3931 : : return -1;
3932 : : return 1;
3933 : :
3934 : 2040 : case E_V2HImode:
3935 : 2040 : if (pattern271 (x1,
3936 : : E_V2HImode,
3937 : : E_V4HImode) != 0)
3938 : : return -1;
3939 : : return 2;
3940 : :
3941 : : default:
3942 : : return -1;
3943 : : }
3944 : : }
3945 : :
3946 : : int
3947 : 0 : pattern984 (rtx x1, machine_mode i1)
3948 : : {
3949 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3950 : 0 : rtx x2, x3;
3951 : 0 : int res ATTRIBUTE_UNUSED;
3952 : 0 : if (!register_operand (operands[0], i1)
3953 : 0 : || GET_MODE (x1) != i1)
3954 : : return -1;
3955 : 0 : x2 = XEXP (x1, 0);
3956 : 0 : if (GET_MODE (x2) != i1)
3957 : : return -1;
3958 : 0 : x3 = XEXP (x2, 0);
3959 : 0 : if (GET_MODE (x3) != i1
3960 : 0 : || !nonimmediate_operand (operands[1], i1))
3961 : 0 : return -1;
3962 : : return 0;
3963 : : }
3964 : :
3965 : : int
3966 : 1554 : pattern987 (rtx x1)
3967 : : {
3968 : 1554 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3969 : 1554 : rtx x2;
3970 : 1554 : int res ATTRIBUTE_UNUSED;
3971 : 1554 : if (!register_operand (operands[0], E_DImode)
3972 : 1554 : || GET_MODE (x1) != E_DImode)
3973 : : return -1;
3974 : 1528 : x2 = XEXP (x1, 0);
3975 : 1528 : if (GET_MODE (x2) != E_DImode
3976 : 1528 : || !register_operand (operands[1], E_V64QImode)
3977 : 1412 : || !nonimmediate_operand (operands[2], E_V64QImode)
3978 : 2938 : || !const_0_to_7_operand (operands[3], E_SImode))
3979 : 118 : return -1;
3980 : : return 0;
3981 : : }
3982 : :
3983 : : int
3984 : 874 : pattern990 (rtx x1, machine_mode i1)
3985 : : {
3986 : 874 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3987 : 874 : rtx x2;
3988 : 874 : int res ATTRIBUTE_UNUSED;
3989 : 874 : if (!register_operand (operands[0], i1)
3990 : 874 : || GET_MODE (x1) != i1)
3991 : : return -1;
3992 : 787 : x2 = XEXP (x1, 0);
3993 : 787 : if (GET_MODE (x2) != i1
3994 : 787 : || !nonimm_or_0_operand (operands[2], i1)
3995 : 1534 : || !register_operand (operands[3], E_QImode))
3996 : 105 : return -1;
3997 : 682 : switch (GET_MODE (operands[1]))
3998 : : {
3999 : 291 : case E_V8HFmode:
4000 : 291 : if (!vector_operand (operands[1], E_V8HFmode))
4001 : : return -1;
4002 : : return 0;
4003 : :
4004 : 274 : case E_V8SFmode:
4005 : 274 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
4006 : : return -1;
4007 : : return 1;
4008 : :
4009 : 117 : case E_V8DFmode:
4010 : 117 : if (!vector_operand (operands[1], E_V8DFmode))
4011 : : return -1;
4012 : : return 2;
4013 : :
4014 : : default:
4015 : : return -1;
4016 : : }
4017 : : }
4018 : :
4019 : : int
4020 : 1171 : pattern998 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4021 : : {
4022 : 1171 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4023 : 1171 : rtx x2, x3;
4024 : 1171 : int res ATTRIBUTE_UNUSED;
4025 : 1171 : if (GET_MODE (x1) != i3)
4026 : : return -1;
4027 : 1171 : x2 = XEXP (x1, 0);
4028 : 1171 : if (GET_MODE (x2) != i3
4029 : 1171 : || !register_operand (operands[1], i2))
4030 : 9 : return -1;
4031 : 1162 : x3 = XEXP (x1, 2);
4032 : 1162 : if (!register_operand (x3, i1))
4033 : : return -1;
4034 : : return 0;
4035 : : }
4036 : :
4037 : : int
4038 : 1308 : pattern1005 (rtx x1, machine_mode i1, machine_mode i2)
4039 : : {
4040 : 1308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4041 : 1308 : rtx x2;
4042 : 1308 : int res ATTRIBUTE_UNUSED;
4043 : 1308 : if (!register_operand (operands[0], i1)
4044 : 1308 : || GET_MODE (x1) != i1)
4045 : : return -1;
4046 : 916 : x2 = XEXP (x1, 0);
4047 : 916 : if (GET_MODE (x2) != i1
4048 : 916 : || !nonimmediate_operand (operands[2], i2)
4049 : 1832 : || !const0_operand (operands[1], i1))
4050 : 46 : return -1;
4051 : : return 0;
4052 : : }
4053 : :
4054 : : int
4055 : 1961 : pattern1013 (rtx x1, machine_mode i1, machine_mode i2)
4056 : : {
4057 : 1961 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4058 : 1961 : rtx x2, x3;
4059 : 1961 : int res ATTRIBUTE_UNUSED;
4060 : 1961 : if (!register_operand (operands[0], i1)
4061 : 1961 : || GET_MODE (x1) != i1)
4062 : : return -1;
4063 : 1863 : x2 = XEXP (x1, 0);
4064 : 1863 : if (GET_MODE (x2) != i1)
4065 : : return -1;
4066 : 1863 : x3 = XEXP (x2, 0);
4067 : 1863 : if (GET_MODE (x3) != i1
4068 : 1863 : || !register_operand (operands[1], i1)
4069 : 1853 : || !nonimmediate_operand (operands[2], i1)
4070 : 1756 : || !nonimm_or_0_operand (operands[3], i1)
4071 : 3564 : || !register_operand (operands[4], i2))
4072 : 289 : return -1;
4073 : : return 0;
4074 : : }
4075 : :
4076 : : int
4077 : 420 : pattern1020 (rtx x1)
4078 : : {
4079 : 420 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4080 : 420 : rtx x2;
4081 : 420 : int res ATTRIBUTE_UNUSED;
4082 : 420 : if (!register_operand (operands[0], E_V16SImode)
4083 : 420 : || GET_MODE (x1) != E_V16SImode)
4084 : : return -1;
4085 : 408 : x2 = XVECEXP (x1, 0, 0);
4086 : 408 : if (GET_MODE (x2) != E_V16SImode)
4087 : : return -1;
4088 : 408 : switch (GET_MODE (operands[1]))
4089 : : {
4090 : 213 : case E_V16HFmode:
4091 : 213 : if (!register_operand (operands[1], E_V16HFmode))
4092 : : return -1;
4093 : : return 0;
4094 : :
4095 : 195 : case E_V16SFmode:
4096 : 195 : if (!register_operand (operands[1], E_V16SFmode))
4097 : : return -1;
4098 : : return 1;
4099 : :
4100 : : default:
4101 : : return -1;
4102 : : }
4103 : : }
4104 : :
4105 : : int
4106 : 450 : pattern1032 (rtx x1, machine_mode i1)
4107 : : {
4108 : 450 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4109 : 450 : int res ATTRIBUTE_UNUSED;
4110 : 450 : if (!register_operand (operands[0], i1)
4111 : 396 : || GET_MODE (x1) != i1
4112 : 396 : || !register_operand (operands[1], i1)
4113 : 789 : || !bcst_vector_operand (operands[2], i1))
4114 : 111 : return -1;
4115 : : return 0;
4116 : : }
4117 : :
4118 : : int
4119 : 22302 : pattern1037 (rtx x1)
4120 : : {
4121 : 22302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4122 : 22302 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4123 : 22302 : rtx x10;
4124 : 22302 : int res ATTRIBUTE_UNUSED;
4125 : 22302 : x2 = XEXP (x1, 1);
4126 : 22302 : x3 = XEXP (x2, 0);
4127 : 22302 : if (GET_MODE (x3) != E_QImode)
4128 : : return -1;
4129 : 21964 : x4 = XEXP (x3, 0);
4130 : 21964 : if (GET_CODE (x4) != SUBREG
4131 : 21958 : || maybe_ne (SUBREG_BYTE (x4), 0)
4132 : 43922 : || GET_MODE (x4) != E_QImode)
4133 : : return -1;
4134 : 21958 : x5 = XEXP (x4, 0);
4135 : 21958 : switch (GET_CODE (x5))
4136 : : {
4137 : 21958 : case ASHIFTRT:
4138 : 21958 : case LSHIFTRT:
4139 : 21958 : case SIGN_EXTRACT:
4140 : 21958 : case ZERO_EXTRACT:
4141 : 21958 : operands[3] = x5;
4142 : 21958 : x6 = XEXP (x1, 0);
4143 : 21958 : if (GET_CODE (x6) != ZERO_EXTRACT)
4144 : : return -1;
4145 : 21958 : x7 = XEXP (x6, 1);
4146 : 21958 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4147 : : return -1;
4148 : 21958 : x8 = XEXP (x6, 2);
4149 : 21958 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4150 : : return -1;
4151 : 21958 : x9 = XEXP (x6, 0);
4152 : 21958 : operands[0] = x9;
4153 : 21958 : if (!int248_register_operand (operands[0], E_VOIDmode))
4154 : : return -1;
4155 : 21958 : x10 = XEXP (x5, 0);
4156 : 21958 : operands[1] = x10;
4157 : 21958 : if (!int248_register_operand (operands[1], E_VOIDmode))
4158 : : return -1;
4159 : : return 0;
4160 : :
4161 : : default:
4162 : : return -1;
4163 : : }
4164 : : }
4165 : :
4166 : : int
4167 : 595 : pattern1047 (rtx x1)
4168 : : {
4169 : 595 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4170 : 595 : rtx x2, x3, x4, x5, x6, x7;
4171 : 595 : int res ATTRIBUTE_UNUSED;
4172 : 595 : x2 = XEXP (x1, 1);
4173 : 595 : x3 = XEXP (x2, 1);
4174 : 595 : x4 = XEXP (x3, 0);
4175 : 595 : x5 = XEXP (x4, 0);
4176 : 595 : operands[2] = x5;
4177 : 595 : if (!int248_register_operand (operands[2], E_VOIDmode))
4178 : : return -1;
4179 : 407 : x6 = XEXP (x1, 0);
4180 : 407 : switch (GET_CODE (x6))
4181 : : {
4182 : 65 : case STRICT_LOW_PART:
4183 : 65 : x7 = XEXP (x6, 0);
4184 : 65 : operands[0] = x7;
4185 : 65 : if (!register_operand (operands[0], E_QImode))
4186 : : return -1;
4187 : 65 : return pattern1046 (); /* [-1, 2] */
4188 : :
4189 : 342 : case REG:
4190 : 342 : case SUBREG:
4191 : 342 : operands[0] = x6;
4192 : 342 : if (!register_operand (operands[0], E_QImode))
4193 : : return -1;
4194 : 342 : res = pattern1046 ();
4195 : 342 : if (res >= 0)
4196 : 194 : return res + 3; /* [3, 5] */
4197 : : return -1;
4198 : :
4199 : : default:
4200 : : return -1;
4201 : : }
4202 : : }
4203 : :
4204 : : int
4205 : 1189 : pattern1053 (rtx x1)
4206 : : {
4207 : 1189 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4208 : 1189 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4209 : 1189 : int res ATTRIBUTE_UNUSED;
4210 : 1189 : x2 = XEXP (x1, 0);
4211 : 1189 : operands[0] = x2;
4212 : 1189 : x3 = XEXP (x1, 1);
4213 : 1189 : x4 = XEXP (x3, 0);
4214 : 1189 : x5 = XEXP (x4, 0);
4215 : 1189 : x6 = XEXP (x5, 0);
4216 : 1189 : operands[1] = x6;
4217 : 1189 : x7 = XEXP (x5, 1);
4218 : 1189 : operands[2] = x7;
4219 : 1189 : x8 = XEXP (x4, 1);
4220 : 1189 : operands[3] = x8;
4221 : 1189 : x9 = XEXP (x3, 1);
4222 : 1189 : if (!rtx_equal_p (x9, operands[1]))
4223 : : return -1;
4224 : 845 : switch (GET_MODE (operands[0]))
4225 : : {
4226 : 84 : case E_HImode:
4227 : 84 : return pattern1052 (x3,
4228 : 84 : E_HImode); /* [-1, 0] */
4229 : :
4230 : 761 : case E_SImode:
4231 : 761 : if (pattern1052 (x3,
4232 : : E_SImode) != 0)
4233 : : return -1;
4234 : : return 1;
4235 : :
4236 : 0 : case E_DImode:
4237 : 0 : if (pattern1052 (x3,
4238 : : E_DImode) != 0)
4239 : : return -1;
4240 : : return 2;
4241 : :
4242 : : default:
4243 : : return -1;
4244 : : }
4245 : : }
4246 : :
4247 : : int
4248 : 4206 : pattern1061 (rtx x1, int i1)
4249 : : {
4250 : 4206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4251 : 4206 : rtx x2, x3, x4, x5;
4252 : 4206 : int res ATTRIBUTE_UNUSED;
4253 : 4206 : x2 = XEXP (x1, 1);
4254 : 4206 : x3 = XEXP (x2, 0);
4255 : 4206 : x4 = XEXP (x3, 0);
4256 : 4206 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4257 : : return -1;
4258 : 555 : x5 = XEXP (x1, 0);
4259 : 555 : operands[0] = x5;
4260 : 555 : return pattern1060 (x2); /* [-1, 3] */
4261 : : }
4262 : :
4263 : : int
4264 : 4 : pattern1066 (rtx x1, machine_mode i1, machine_mode i2)
4265 : : {
4266 : 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4267 : 4 : rtx x2, x3;
4268 : 4 : int res ATTRIBUTE_UNUSED;
4269 : 4 : if (!register_operand (operands[0], i1)
4270 : 4 : || GET_MODE (x1) != i1)
4271 : : return -1;
4272 : 4 : x2 = XEXP (x1, 0);
4273 : 4 : if (GET_MODE (x2) != i1)
4274 : : return -1;
4275 : 4 : x3 = XEXP (x2, 0);
4276 : 4 : if (GET_MODE (x3) != i2
4277 : 4 : || !vector_operand (operands[2], i1))
4278 : 0 : return -1;
4279 : : return 0;
4280 : : }
4281 : :
4282 : : int
4283 : 16167 : pattern1072 ()
4284 : : {
4285 : 16167 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4286 : 16167 : int res ATTRIBUTE_UNUSED;
4287 : 16167 : switch (GET_MODE (operands[3]))
4288 : : {
4289 : 704 : case E_HImode:
4290 : 704 : if (!extract_high_operator (operands[3], E_HImode))
4291 : : return -1;
4292 : : return 0;
4293 : :
4294 : 9775 : case E_SImode:
4295 : 9775 : if (!extract_high_operator (operands[3], E_SImode))
4296 : : return -1;
4297 : : return 1;
4298 : :
4299 : 5688 : case E_DImode:
4300 : 5688 : if (!extract_high_operator (operands[3], E_DImode))
4301 : : return -1;
4302 : : return 2;
4303 : :
4304 : : default:
4305 : : return -1;
4306 : : }
4307 : : }
4308 : :
4309 : : int
4310 : 2 : pattern1077 (rtx x1)
4311 : : {
4312 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4313 : 2 : rtx x2, x3, x4, x5;
4314 : 2 : int res ATTRIBUTE_UNUSED;
4315 : 2 : x2 = XEXP (x1, 0);
4316 : 2 : x3 = XEXP (x2, 0);
4317 : 2 : if (GET_CODE (x3) != REG
4318 : 2 : || REGNO (x3) != 17)
4319 : : return -1;
4320 : 2 : x4 = XEXP (x2, 1);
4321 : 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4322 : : return -1;
4323 : 2 : x5 = XEXP (x1, 1);
4324 : 2 : operands[1] = x5;
4325 : 2 : if (!nonimmediate_operand (operands[1], E_QImode))
4326 : : return -1;
4327 : : return 0;
4328 : : }
4329 : :
4330 : : int
4331 : 309 : pattern1085 (rtx x1, int i1, int i2, int i3, int i4)
4332 : : {
4333 : 309 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4334 : 309 : rtx x2, x3, x4, x5;
4335 : 309 : int res ATTRIBUTE_UNUSED;
4336 : 309 : x2 = XVECEXP (x1, 0, 0);
4337 : 309 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4338 : : return -1;
4339 : 309 : x3 = XVECEXP (x1, 0, 1);
4340 : 309 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4341 : : return -1;
4342 : 309 : x4 = XVECEXP (x1, 0, 2);
4343 : 309 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4344 : : return -1;
4345 : 309 : x5 = XVECEXP (x1, 0, 3);
4346 : 309 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4347 : 0 : return -1;
4348 : : return 0;
4349 : : }
4350 : :
4351 : : int
4352 : 0 : pattern1097 (rtx x1)
4353 : : {
4354 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4355 : 0 : rtx x2;
4356 : 0 : int res ATTRIBUTE_UNUSED;
4357 : 0 : if (!register_operand (operands[0], E_SImode)
4358 : 0 : || GET_MODE (x1) != E_SImode)
4359 : : return -1;
4360 : 0 : x2 = XEXP (x1, 0);
4361 : 0 : if (GET_MODE (x2) != E_SImode)
4362 : : return -1;
4363 : 0 : return pattern870 (); /* [-1, 1] */
4364 : : }
4365 : :
4366 : : int
4367 : 138 : pattern1101 (rtx x1, machine_mode i1)
4368 : : {
4369 : 138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4370 : 138 : rtx x2;
4371 : 138 : int res ATTRIBUTE_UNUSED;
4372 : 138 : if (!register_operand (operands[0], i1)
4373 : 138 : || GET_MODE (x1) != i1)
4374 : : return -1;
4375 : 114 : x2 = XVECEXP (x1, 0, 0);
4376 : 114 : switch (GET_MODE (x2))
4377 : : {
4378 : 22 : case E_HFmode:
4379 : 22 : if (!register_operand (operands[1], E_V8HFmode))
4380 : : return -1;
4381 : : return 0;
4382 : :
4383 : 46 : case E_SFmode:
4384 : 46 : if (!vector_operand (operands[1], E_V4SFmode))
4385 : : return -1;
4386 : : return 1;
4387 : :
4388 : 46 : case E_DFmode:
4389 : 46 : if (!vector_operand (operands[1], E_V2DFmode))
4390 : : return -1;
4391 : : return 2;
4392 : :
4393 : : default:
4394 : : return -1;
4395 : : }
4396 : : }
4397 : :
4398 : : int
4399 : 1485 : pattern1106 (rtx x1, machine_mode i1)
4400 : : {
4401 : 1485 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4402 : 1485 : rtx x2;
4403 : 1485 : int res ATTRIBUTE_UNUSED;
4404 : 1485 : if (!register_operand (operands[0], i1)
4405 : 1485 : || GET_MODE (x1) != i1)
4406 : : return -1;
4407 : 1421 : x2 = XEXP (x1, 0);
4408 : 1421 : if (GET_MODE (x2) != i1
4409 : 1421 : || !nonimm_or_0_operand (operands[2], i1)
4410 : 2814 : || !register_operand (operands[3], E_QImode))
4411 : 94 : return -1;
4412 : 1327 : switch (GET_MODE (operands[1]))
4413 : : {
4414 : 439 : case E_V8HFmode:
4415 : 439 : if (!vector_operand (operands[1], E_V8HFmode))
4416 : : return -1;
4417 : : return 0;
4418 : :
4419 : 443 : case E_V4SFmode:
4420 : 443 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
4421 : : return -1;
4422 : : return 1;
4423 : :
4424 : 445 : case E_V4DFmode:
4425 : 445 : if (!nonimmediate_operand (operands[1], E_V4DFmode))
4426 : : return -1;
4427 : : return 2;
4428 : :
4429 : : default:
4430 : : return -1;
4431 : : }
4432 : : }
4433 : :
4434 : : int
4435 : 1743 : pattern1114 (rtx x1)
4436 : : {
4437 : 1743 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4438 : 1743 : rtx x2;
4439 : 1743 : int res ATTRIBUTE_UNUSED;
4440 : 1743 : x2 = XEXP (x1, 1);
4441 : 1743 : if (!rtx_equal_p (x2, operands[1]))
4442 : : return -1;
4443 : 1743 : switch (GET_MODE (operands[0]))
4444 : : {
4445 : 901 : case E_V4SFmode:
4446 : 901 : return pattern458 (x1,
4447 : 901 : E_V4SFmode); /* [-1, 0] */
4448 : :
4449 : 842 : case E_V2DFmode:
4450 : 842 : if (pattern458 (x1,
4451 : : E_V2DFmode) != 0)
4452 : : return -1;
4453 : : return 1;
4454 : :
4455 : : default:
4456 : : return -1;
4457 : : }
4458 : : }
4459 : :
4460 : : int
4461 : 68 : pattern1120 (rtx x1, machine_mode i1, machine_mode i2)
4462 : : {
4463 : 68 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4464 : 68 : rtx x2, x3;
4465 : 68 : int res ATTRIBUTE_UNUSED;
4466 : 68 : if (!register_operand (operands[0], i1)
4467 : 68 : || GET_MODE (x1) != i1)
4468 : : return -1;
4469 : 68 : x2 = XEXP (x1, 0);
4470 : 68 : if (GET_MODE (x2) != i1)
4471 : : return -1;
4472 : 68 : x3 = XEXP (x2, 0);
4473 : 68 : if (GET_MODE (x3) != i2
4474 : 68 : || !nonimmediate_operand (operands[1], i2)
4475 : 132 : || !register_operand (operands[2], i1))
4476 : 8 : return -1;
4477 : : return 0;
4478 : : }
4479 : :
4480 : : int
4481 : 558 : pattern1130 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4482 : : {
4483 : 558 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4484 : 558 : rtx x2, x3, x4;
4485 : 558 : int res ATTRIBUTE_UNUSED;
4486 : 558 : if (!register_operand (operands[0], i2)
4487 : 558 : || GET_MODE (x1) != i2)
4488 : : return -1;
4489 : 540 : x2 = XEXP (x1, 0);
4490 : 540 : if (GET_MODE (x2) != i2)
4491 : : return -1;
4492 : 540 : x3 = XEXP (x2, 0);
4493 : 540 : if (GET_MODE (x3) != i4
4494 : 540 : || !nonimmediate_operand (operands[2], i3))
4495 : 0 : return -1;
4496 : 540 : x4 = XEXP (x2, 1);
4497 : 540 : return pattern1129 (x4,
4498 : : i1,
4499 : : i2,
4500 : : i3,
4501 : 540 : i4); /* [-1, 0] */
4502 : : }
4503 : :
4504 : : int
4505 : 630 : pattern1136 (rtx x1, machine_mode i1)
4506 : : {
4507 : 630 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4508 : 630 : rtx x2;
4509 : 630 : int res ATTRIBUTE_UNUSED;
4510 : 630 : if (!register_operand (operands[0], i1)
4511 : 630 : || GET_MODE (x1) != i1)
4512 : : return -1;
4513 : 594 : x2 = XVECEXP (x1, 0, 0);
4514 : 594 : if (GET_MODE (x2) != i1
4515 : 594 : || !register_operand (operands[1], i1)
4516 : 1168 : || !register_operand (operands[2], i1))
4517 : 28 : return -1;
4518 : : return 0;
4519 : : }
4520 : :
4521 : : int
4522 : 410 : pattern1143 (rtx x1, machine_mode i1, machine_mode i2)
4523 : : {
4524 : 410 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4525 : 410 : rtx x2;
4526 : 410 : int res ATTRIBUTE_UNUSED;
4527 : 410 : if (!register_operand (operands[0], i2)
4528 : 410 : || GET_MODE (x1) != i2)
4529 : : return -1;
4530 : 317 : x2 = XEXP (x1, 0);
4531 : 317 : if (GET_MODE (x2) != i1
4532 : 317 : || !nonimmediate_operand (operands[1], i2)
4533 : 602 : || !const0_operand (operands[2], i1))
4534 : 32 : return -1;
4535 : : return 0;
4536 : : }
4537 : :
4538 : : int
4539 : 2841 : pattern1151 (rtx x1, machine_mode i1)
4540 : : {
4541 : 2841 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4542 : 2841 : int res ATTRIBUTE_UNUSED;
4543 : 2841 : if (!memory_operand (operands[0], i1)
4544 : 2841 : || GET_MODE (x1) != i1
4545 : 5682 : || !memory_operand (operands[1], i1))
4546 : 0 : return -1;
4547 : 2841 : switch (GET_MODE (operands[2]))
4548 : : {
4549 : 16 : case E_SImode:
4550 : 16 : if (!register_operand (operands[2], E_SImode))
4551 : : return -1;
4552 : : return 0;
4553 : :
4554 : 2825 : case E_DImode:
4555 : 2825 : if (!register_operand (operands[2], E_DImode))
4556 : : return -1;
4557 : : return 1;
4558 : :
4559 : : default:
4560 : : return -1;
4561 : : }
4562 : : }
4563 : :
4564 : : int
4565 : 57085 : pattern1160 (rtx x1)
4566 : : {
4567 : 57085 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4568 : 57085 : rtx x2, x3, x4, x5;
4569 : 57085 : int res ATTRIBUTE_UNUSED;
4570 : 57085 : x2 = XEXP (x1, 0);
4571 : 57085 : x3 = XEXP (x2, 0);
4572 : 57085 : x4 = XEXP (x3, 0);
4573 : 57085 : if (GET_CODE (x4) != ZERO_EXTEND)
4574 : : return -1;
4575 : 110 : x5 = XEXP (x2, 1);
4576 : 110 : if (GET_CODE (x5) != ZERO_EXTEND)
4577 : : return -1;
4578 : 67 : return pattern361 (x1); /* [-1, 3] */
4579 : : }
4580 : :
4581 : : int
4582 : 410 : pattern1165 (rtx x1, machine_mode i1)
4583 : : {
4584 : 410 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4585 : 410 : rtx x2, x3;
4586 : 410 : int res ATTRIBUTE_UNUSED;
4587 : 410 : if (!nonimmediate_operand (operands[0], i1)
4588 : 410 : || GET_MODE (x1) != i1)
4589 : : return -1;
4590 : 410 : x2 = XEXP (x1, 0);
4591 : 410 : if (GET_MODE (x2) != i1)
4592 : : return -1;
4593 : 410 : x3 = XEXP (x2, 0);
4594 : 410 : if (GET_MODE (x3) != i1
4595 : 410 : || !nonimmediate_operand (operands[1], i1)
4596 : 622 : || !x86_64_immediate_operand (operands[2], i1))
4597 : 308 : return -1;
4598 : : return 0;
4599 : : }
4600 : :
4601 : : int
4602 : 71784 : pattern1172 (rtx x1)
4603 : : {
4604 : 71784 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4605 : 71784 : rtx x2, x3, x4;
4606 : 71784 : int res ATTRIBUTE_UNUSED;
4607 : 71784 : if (!nonmemory_operand (operands[2], E_QImode))
4608 : : return -1;
4609 : 71325 : x2 = XEXP (x1, 0);
4610 : 71325 : switch (GET_CODE (x2))
4611 : : {
4612 : 71325 : case REG:
4613 : 71325 : case SUBREG:
4614 : 71325 : case MEM:
4615 : 71325 : operands[0] = x2;
4616 : 71325 : switch (GET_MODE (operands[0]))
4617 : : {
4618 : 46009 : case E_SImode:
4619 : 46009 : if (!nonimmediate_operand (operands[0], E_SImode))
4620 : : return -1;
4621 : 46009 : x3 = XEXP (x1, 1);
4622 : 46009 : if (GET_MODE (x3) != E_SImode
4623 : 46009 : || !nonimmediate_operand (operands[1], E_SImode))
4624 : 7207 : return -1;
4625 : : return 0;
4626 : :
4627 : 8261 : case E_DImode:
4628 : 8261 : if (!nonimmediate_operand (operands[0], E_DImode))
4629 : : return -1;
4630 : 8261 : x3 = XEXP (x1, 1);
4631 : 8261 : if (GET_MODE (x3) != E_DImode
4632 : 8261 : || !nonimmediate_operand (operands[1], E_DImode))
4633 : 1913 : return -1;
4634 : : return 1;
4635 : :
4636 : 10007 : case E_QImode:
4637 : 10007 : if (!nonimmediate_operand (operands[0], E_QImode))
4638 : : return -1;
4639 : 9653 : x3 = XEXP (x1, 1);
4640 : 9653 : if (GET_MODE (x3) != E_QImode
4641 : 9653 : || !nonimmediate_operand (operands[1], E_QImode))
4642 : 157 : return -1;
4643 : : return 2;
4644 : :
4645 : 7042 : case E_HImode:
4646 : 7042 : if (!nonimmediate_operand (operands[0], E_HImode))
4647 : : return -1;
4648 : 7042 : x3 = XEXP (x1, 1);
4649 : 7042 : if (GET_MODE (x3) != E_HImode
4650 : 7042 : || !nonimmediate_operand (operands[1], E_HImode))
4651 : 56 : return -1;
4652 : : return 3;
4653 : :
4654 : : default:
4655 : : return -1;
4656 : : }
4657 : :
4658 : 0 : case STRICT_LOW_PART:
4659 : 0 : x4 = XEXP (x2, 0);
4660 : 0 : operands[0] = x4;
4661 : 0 : x3 = XEXP (x1, 1);
4662 : 0 : res = pattern380 (x3);
4663 : 0 : if (res >= 0)
4664 : 0 : return res + 4; /* [4, 5] */
4665 : : return -1;
4666 : :
4667 : : default:
4668 : : return -1;
4669 : : }
4670 : : }
4671 : :
4672 : : int
4673 : 1532048 : pattern1200 (rtx x1, machine_mode i1)
4674 : : {
4675 : 1532048 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4676 : 1532048 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4677 : 1532048 : rtx x10, x11;
4678 : 1532048 : int res ATTRIBUTE_UNUSED;
4679 : 1532048 : if (!nonimmediate_gr_operand (operands[1], i1))
4680 : : return -1;
4681 : 952592 : x2 = XVECEXP (x1, 0, 0);
4682 : 952592 : x3 = XEXP (x2, 1);
4683 : 952592 : if (GET_CODE (x3) != UNSPEC
4684 : 1847 : || XVECLEN (x3, 0) != 2
4685 : 1264 : || XINT (x3, 1) != 41
4686 : 1253 : || GET_MODE (x3) != E_CCCmode)
4687 : : return -1;
4688 : 1248 : x4 = XVECEXP (x3, 0, 1);
4689 : 1248 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4690 : : return -1;
4691 : 1248 : x5 = XEXP (x2, 0);
4692 : 1248 : if (GET_CODE (x5) != REG
4693 : 1248 : || REGNO (x5) != 17
4694 : 2496 : || GET_MODE (x5) != E_CCCmode)
4695 : : return -1;
4696 : 1248 : x6 = XVECEXP (x1, 0, 1);
4697 : 1248 : if (GET_CODE (x6) != SET)
4698 : : return -1;
4699 : 903 : x7 = XEXP (x6, 1);
4700 : 903 : if (GET_CODE (x7) != NEG
4701 : 903 : || GET_MODE (x7) != i1)
4702 : : return -1;
4703 : 903 : x8 = XVECEXP (x3, 0, 0);
4704 : 903 : operands[2] = x8;
4705 : 903 : if (!general_reg_operand (operands[2], i1))
4706 : : return -1;
4707 : 903 : x9 = XEXP (x7, 0);
4708 : 903 : if (!rtx_equal_p (x9, operands[2]))
4709 : : return -1;
4710 : 903 : x10 = XEXP (x6, 0);
4711 : 903 : if (!rtx_equal_p (x10, operands[2]))
4712 : : return -1;
4713 : 903 : x11 = PATTERN (peep2_next_insn (2));
4714 : 903 : return pattern1199 (x11,
4715 : 903 : i1); /* [-1, 0] */
4716 : : }
4717 : :
4718 : : int
4719 : 246 : pattern1212 (rtx x1, machine_mode i1)
4720 : : {
4721 : 246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4722 : 246 : rtx x2;
4723 : 246 : int res ATTRIBUTE_UNUSED;
4724 : 246 : if (!register_operand (operands[0], i1)
4725 : 246 : || GET_MODE (x1) != i1
4726 : 492 : || !register_operand (operands[2], i1))
4727 : 156 : return -1;
4728 : 90 : x2 = XVECEXP (x1, 0, 2);
4729 : 90 : if (GET_MODE (x2) != i1)
4730 : : return -1;
4731 : : return 0;
4732 : : }
4733 : :
4734 : : int
4735 : 725 : pattern1220 (rtx x1, int i1, int i2, int i3, int i4)
4736 : : {
4737 : 725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4738 : 725 : rtx x2, x3, x4, x5;
4739 : 725 : int res ATTRIBUTE_UNUSED;
4740 : 725 : x2 = XVECEXP (x1, 0, 0);
4741 : 725 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4742 : : return -1;
4743 : 725 : x3 = XVECEXP (x1, 0, 1);
4744 : 725 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4745 : : return -1;
4746 : 725 : x4 = XVECEXP (x1, 0, 2);
4747 : 725 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4748 : : return -1;
4749 : 725 : x5 = XVECEXP (x1, 0, 3);
4750 : 725 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4751 : 0 : return -1;
4752 : : return 0;
4753 : : }
4754 : :
4755 : : int
4756 : 27 : pattern1227 (rtx x1)
4757 : : {
4758 : 27 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4759 : 27 : rtx x2, x3, x4, x5, x6, x7;
4760 : 27 : int res ATTRIBUTE_UNUSED;
4761 : 27 : x2 = XVECEXP (x1, 0, 2);
4762 : 27 : x3 = XEXP (x2, 0);
4763 : 27 : x4 = XEXP (x3, 0);
4764 : 27 : if (maybe_ne (SUBREG_BYTE (x4), 0))
4765 : : return -1;
4766 : 27 : x5 = XEXP (x4, 0);
4767 : 27 : if (GET_CODE (x5) != NOT)
4768 : : return -1;
4769 : 9 : x6 = XEXP (x5, 0);
4770 : 9 : operands[3] = x6;
4771 : 9 : x7 = XEXP (x3, 1);
4772 : 9 : operands[4] = x7;
4773 : 9 : switch (GET_MODE (operands[0]))
4774 : : {
4775 : 9 : case E_V16QImode:
4776 : 9 : if (!register_operand (operands[0], E_V16QImode)
4777 : 9 : || GET_MODE (x1) != E_V16QImode
4778 : 9 : || !register_operand (operands[1], E_V16QImode)
4779 : 9 : || !vector_operand (operands[2], E_V16QImode)
4780 : 9 : || GET_MODE (x2) != E_V16QImode
4781 : 9 : || GET_MODE (x5) != E_V16QImode
4782 : 18 : || !register_operand (operands[3], E_V16QImode))
4783 : 0 : return -1;
4784 : 9 : switch (GET_MODE (x3))
4785 : : {
4786 : 9 : case E_V4SImode:
4787 : 9 : if (GET_MODE (x4) != E_V4SImode
4788 : 9 : || !const0_operand (operands[4], E_V4SImode))
4789 : 0 : return -1;
4790 : : return 0;
4791 : :
4792 : 0 : case E_V2DImode:
4793 : 0 : if (GET_MODE (x4) != E_V2DImode
4794 : 0 : || !const0_operand (operands[4], E_V2DImode))
4795 : 0 : return -1;
4796 : : return 1;
4797 : :
4798 : : default:
4799 : : return -1;
4800 : : }
4801 : :
4802 : 0 : case E_V32QImode:
4803 : 0 : if (!register_operand (operands[0], E_V32QImode)
4804 : 0 : || GET_MODE (x1) != E_V32QImode
4805 : 0 : || !register_operand (operands[1], E_V32QImode)
4806 : 0 : || !vector_operand (operands[2], E_V32QImode)
4807 : 0 : || GET_MODE (x2) != E_V32QImode
4808 : 0 : || GET_MODE (x5) != E_V32QImode
4809 : 0 : || !register_operand (operands[3], E_V32QImode))
4810 : 0 : return -1;
4811 : 0 : switch (GET_MODE (x3))
4812 : : {
4813 : 0 : case E_V8SImode:
4814 : 0 : if (GET_MODE (x4) != E_V8SImode
4815 : 0 : || !const0_operand (operands[4], E_V8SImode))
4816 : 0 : return -1;
4817 : : return 2;
4818 : :
4819 : 0 : case E_V4DImode:
4820 : 0 : if (GET_MODE (x4) != E_V4DImode
4821 : 0 : || !const0_operand (operands[4], E_V4DImode))
4822 : 0 : return -1;
4823 : : return 3;
4824 : :
4825 : : default:
4826 : : return -1;
4827 : : }
4828 : :
4829 : : default:
4830 : : return -1;
4831 : : }
4832 : : }
4833 : :
4834 : : int
4835 : 58 : pattern1248 (rtx x1)
4836 : : {
4837 : 58 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4838 : 58 : rtx x2, x3, x4, x5;
4839 : 58 : int res ATTRIBUTE_UNUSED;
4840 : 58 : x2 = XEXP (x1, 0);
4841 : 58 : x3 = XEXP (x2, 0);
4842 : 58 : x4 = XEXP (x3, 0);
4843 : 58 : operands[1] = x4;
4844 : 58 : x5 = XEXP (x3, 1);
4845 : 58 : operands[2] = x5;
4846 : 58 : if (!register_operand (operands[2], E_QImode))
4847 : : return -1;
4848 : 50 : switch (GET_MODE (operands[0]))
4849 : : {
4850 : 40 : case E_SImode:
4851 : 40 : return pattern1247 (x1,
4852 : 40 : E_SImode); /* [-1, 0] */
4853 : :
4854 : 10 : case E_DImode:
4855 : 10 : if (pattern1247 (x1,
4856 : : E_DImode) != 0)
4857 : : return -1;
4858 : : return 1;
4859 : :
4860 : : default:
4861 : : return -1;
4862 : : }
4863 : : }
4864 : :
4865 : : int
4866 : 104197 : pattern1258 (rtx x1, int i1)
4867 : : {
4868 : 104197 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4869 : 104197 : rtx x2, x3, x4, x5, x6, x7, x8;
4870 : 104197 : int res ATTRIBUTE_UNUSED;
4871 : 104197 : if (GET_CODE (x1) != SET)
4872 : : return -1;
4873 : 76739 : x2 = XEXP (x1, 1);
4874 : 76739 : if (GET_CODE (x2) != COMPARE
4875 : 32727 : || GET_MODE (x2) != E_CCZmode)
4876 : : return -1;
4877 : 21970 : x3 = XEXP (x2, 1);
4878 : 21970 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4879 : : return -1;
4880 : 9573 : x4 = XEXP (x1, 0);
4881 : 9573 : if (GET_CODE (x4) != REG
4882 : 9573 : || REGNO (x4) != 17
4883 : 19146 : || GET_MODE (x4) != E_CCZmode)
4884 : : return -1;
4885 : 9573 : x5 = XEXP (x2, 0);
4886 : 9573 : if (!rtx_equal_p (x5, operands[0]))
4887 : : return -1;
4888 : 3330 : x6 = PATTERN (peep2_next_insn (2));
4889 : 3330 : if (GET_CODE (x6) != SET)
4890 : : return -1;
4891 : 3330 : x7 = XEXP (x6, 1);
4892 : 3330 : if (GET_CODE (x7) != IF_THEN_ELSE)
4893 : : return -1;
4894 : 3323 : x8 = XEXP (x7, 0);
4895 : 3323 : if (!bt_comparison_operator (x8, E_VOIDmode))
4896 : : return -1;
4897 : : return 0;
4898 : : }
4899 : :
4900 : : int
4901 : 0 : pattern1269 (rtx x1, machine_mode i1)
4902 : : {
4903 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4904 : 0 : rtx x2, x3;
4905 : 0 : int res ATTRIBUTE_UNUSED;
4906 : 0 : if (!nonimmediate_operand (operands[0], i1)
4907 : 0 : || GET_MODE (x1) != i1)
4908 : : return -1;
4909 : 0 : x2 = XEXP (x1, 0);
4910 : 0 : if (GET_MODE (x2) != i1
4911 : 0 : || !nonimmediate_operand (operands[1], i1))
4912 : 0 : return -1;
4913 : 0 : x3 = XEXP (x2, 1);
4914 : 0 : if (GET_MODE (x3) != i1
4915 : 0 : || !general_operand (operands[2], i1))
4916 : 0 : return -1;
4917 : : return 0;
4918 : : }
4919 : :
4920 : : int
4921 : 666 : pattern1277 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4922 : : {
4923 : 666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4924 : 666 : rtx x2;
4925 : 666 : int res ATTRIBUTE_UNUSED;
4926 : 666 : if (!register_operand (operands[0], i2)
4927 : 666 : || GET_MODE (x1) != i2)
4928 : : return -1;
4929 : 640 : x2 = XEXP (x1, 0);
4930 : 640 : if (GET_MODE (x2) != i2
4931 : 640 : || !register_operand (operands[1], i3)
4932 : 640 : || !nonimmediate_operand (operands[2], i3)
4933 : 640 : || !nonimm_or_0_operand (operands[4], i2)
4934 : 1259 : || !register_operand (operands[5], i1))
4935 : 54 : return -1;
4936 : : return 0;
4937 : : }
4938 : :
4939 : : int
4940 : 3386 : pattern1287 (rtx x1)
4941 : : {
4942 : 3386 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4943 : 3386 : rtx x2, x3;
4944 : 3386 : int res ATTRIBUTE_UNUSED;
4945 : 3386 : x2 = XEXP (x1, 2);
4946 : 3386 : if (GET_MODE (x2) != E_QImode)
4947 : : return -1;
4948 : 2020 : x3 = XVECEXP (x2, 0, 2);
4949 : 2020 : operands[5] = x3;
4950 : 2020 : if (!const_0_to_31_operand (operands[5], E_SImode))
4951 : : return -1;
4952 : 2020 : switch (GET_MODE (operands[0]))
4953 : : {
4954 : 752 : case E_V8SImode:
4955 : 752 : return pattern1286 (x1,
4956 : : E_V8SFmode,
4957 : 752 : E_V8SImode); /* [-1, 0] */
4958 : :
4959 : 808 : case E_V4SImode:
4960 : 808 : if (pattern1286 (x1,
4961 : : E_V4SFmode,
4962 : : E_V4SImode) != 0)
4963 : : return -1;
4964 : : return 1;
4965 : :
4966 : 97 : case E_V4DImode:
4967 : 97 : if (pattern1286 (x1,
4968 : : E_V4DFmode,
4969 : : E_V4DImode) != 0)
4970 : : return -1;
4971 : : return 2;
4972 : :
4973 : 86 : case E_V2DImode:
4974 : 86 : if (pattern1286 (x1,
4975 : : E_V2DFmode,
4976 : : E_V2DImode) != 0)
4977 : : return -1;
4978 : : return 3;
4979 : :
4980 : : default:
4981 : : return -1;
4982 : : }
4983 : : }
4984 : :
4985 : : int
4986 : 3668 : pattern1298 (rtx x1)
4987 : : {
4988 : 3668 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4989 : 3668 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4990 : 3668 : int res ATTRIBUTE_UNUSED;
4991 : 3668 : x2 = XVECEXP (x1, 0, 4);
4992 : 3668 : if (GET_CODE (x2) != CONST_INT)
4993 : : return -1;
4994 : 3668 : x3 = XVECEXP (x1, 0, 5);
4995 : 3668 : if (GET_CODE (x3) != CONST_INT)
4996 : : return -1;
4997 : 3668 : x4 = XVECEXP (x1, 0, 6);
4998 : 3668 : if (GET_CODE (x4) != CONST_INT)
4999 : : return -1;
5000 : 3668 : x5 = XVECEXP (x1, 0, 7);
5001 : 3668 : if (GET_CODE (x5) != CONST_INT)
5002 : : return -1;
5003 : 3668 : x6 = XVECEXP (x1, 0, 8);
5004 : 3668 : if (GET_CODE (x6) != CONST_INT)
5005 : : return -1;
5006 : 3668 : x7 = XVECEXP (x1, 0, 9);
5007 : 3668 : if (GET_CODE (x7) != CONST_INT)
5008 : : return -1;
5009 : 3668 : x8 = XVECEXP (x1, 0, 10);
5010 : 3668 : if (GET_CODE (x8) != CONST_INT)
5011 : : return -1;
5012 : 3668 : x9 = XVECEXP (x1, 0, 11);
5013 : 3668 : if (GET_CODE (x9) != CONST_INT)
5014 : 0 : return -1;
5015 : : return 0;
5016 : : }
5017 : :
5018 : : int
5019 : 1554 : pattern1310 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5020 : : {
5021 : 1554 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5022 : 1554 : rtx x2, x3;
5023 : 1554 : int res ATTRIBUTE_UNUSED;
5024 : 1554 : if (!register_operand (operands[0], i1)
5025 : 1554 : || GET_MODE (x1) != i1)
5026 : : return -1;
5027 : 1526 : x2 = XVECEXP (x1, 0, 0);
5028 : 1526 : if (GET_MODE (x2) != i1)
5029 : : return -1;
5030 : 1526 : x3 = XEXP (x2, 0);
5031 : 1526 : if (GET_MODE (x3) != i1
5032 : 1526 : || !nonimmediate_operand (operands[1], i2)
5033 : 1526 : || !nonimm_or_0_operand (operands[2], i1)
5034 : 3047 : || !register_operand (operands[3], i3))
5035 : 15 : return -1;
5036 : : return 0;
5037 : : }
5038 : :
5039 : : int
5040 : 835 : pattern1315 (rtx x1)
5041 : : {
5042 : 835 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5043 : 835 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5044 : 835 : rtx x10, x11, x12;
5045 : 835 : int res ATTRIBUTE_UNUSED;
5046 : 835 : x2 = XEXP (x1, 0);
5047 : 835 : x3 = XEXP (x2, 0);
5048 : 835 : x4 = XEXP (x3, 0);
5049 : 835 : x5 = XEXP (x4, 1);
5050 : 835 : x6 = XVECEXP (x5, 0, 0);
5051 : 835 : if (GET_CODE (x6) != CONST_INT)
5052 : : return -1;
5053 : 835 : x7 = XVECEXP (x5, 0, 1);
5054 : 835 : if (GET_CODE (x7) != CONST_INT)
5055 : : return -1;
5056 : 835 : x8 = XEXP (x2, 1);
5057 : 835 : x9 = XEXP (x8, 0);
5058 : 835 : x10 = XEXP (x9, 1);
5059 : 835 : if (XVECLEN (x10, 0) != 2)
5060 : : return -1;
5061 : 835 : x11 = XVECEXP (x10, 0, 0);
5062 : 835 : if (GET_CODE (x11) != CONST_INT)
5063 : : return -1;
5064 : 835 : x12 = XVECEXP (x10, 0, 1);
5065 : 835 : if (GET_CODE (x12) != CONST_INT
5066 : 835 : || !register_operand (operands[0], E_V2DImode)
5067 : 777 : || GET_MODE (x1) != E_V2DImode
5068 : 777 : || GET_MODE (x2) != E_V2DImode
5069 : 777 : || GET_MODE (x3) != E_V2DImode
5070 : 777 : || GET_MODE (x4) != E_V2SImode
5071 : 1612 : || !nonimmediate_operand (operands[1], E_V4SImode))
5072 : 137 : return -1;
5073 : : return 0;
5074 : : }
5075 : :
5076 : : int
5077 : 627 : pattern1331 (rtx x1)
5078 : : {
5079 : 627 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5080 : 627 : rtx x2, x3, x4, x5, x6, x7;
5081 : 627 : int res ATTRIBUTE_UNUSED;
5082 : 627 : x2 = XEXP (x1, 0);
5083 : 627 : x3 = XEXP (x2, 1);
5084 : 627 : if (maybe_ne (SUBREG_BYTE (x3), 0)
5085 : 627 : || GET_MODE (x3) != E_QImode)
5086 : : return -1;
5087 : 627 : x4 = XEXP (x3, 0);
5088 : 627 : if (GET_CODE (x4) != AND)
5089 : : return -1;
5090 : 158 : x5 = XEXP (x4, 0);
5091 : 158 : operands[1] = x5;
5092 : 158 : if (!int248_register_operand (operands[1], E_VOIDmode))
5093 : : return -1;
5094 : 153 : x6 = XEXP (x4, 1);
5095 : 153 : operands[2] = x6;
5096 : 153 : if (!const_int_operand (operands[2], E_VOIDmode))
5097 : : return -1;
5098 : 153 : x7 = XEXP (x1, 1);
5099 : 153 : operands[3] = x7;
5100 : 153 : switch (GET_MODE (operands[0]))
5101 : : {
5102 : 60 : case E_SImode:
5103 : 60 : return pattern375 (x1,
5104 : 60 : E_SImode); /* [-1, 0] */
5105 : :
5106 : 65 : case E_DImode:
5107 : 65 : if (pattern375 (x1,
5108 : : E_DImode) != 0)
5109 : : return -1;
5110 : : return 1;
5111 : :
5112 : : default:
5113 : : return -1;
5114 : : }
5115 : : }
5116 : :
5117 : : int
5118 : 34310 : pattern1344 (rtx x1, machine_mode i1)
5119 : : {
5120 : 34310 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5121 : 34310 : rtx x2, x3, x4, x5, x6;
5122 : 34310 : int res ATTRIBUTE_UNUSED;
5123 : 34310 : x2 = XEXP (x1, 1);
5124 : 34310 : operands[2] = x2;
5125 : 34310 : if (!general_reg_operand (operands[2], i1))
5126 : : return -1;
5127 : 3611 : x3 = XEXP (x1, 0);
5128 : 3611 : if (!rtx_equal_p (x3, operands[1]))
5129 : : return -1;
5130 : 237 : x4 = PATTERN (peep2_next_insn (2));
5131 : 237 : x5 = XEXP (x4, 1);
5132 : 237 : if (!rtx_equal_p (x5, operands[0]))
5133 : : return -1;
5134 : 31 : x6 = XEXP (x4, 0);
5135 : 31 : if (!rtx_equal_p (x6, operands[2]))
5136 : : return -1;
5137 : : return 0;
5138 : : }
5139 : :
5140 : : int
5141 : 32664 : pattern1352 (rtx x1, machine_mode i1)
5142 : : {
5143 : 32664 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5144 : 32664 : rtx x2, x3, x4, x5, x6;
5145 : 32664 : int res ATTRIBUTE_UNUSED;
5146 : 32664 : if (!plusminuslogic_operator (operands[3], i1))
5147 : : return -1;
5148 : 5878 : x2 = XVECEXP (x1, 0, 1);
5149 : 5878 : if (GET_CODE (x2) != CLOBBER)
5150 : : return -1;
5151 : 5878 : x3 = XEXP (x2, 0);
5152 : 5878 : if (GET_CODE (x3) != REG
5153 : 5878 : || REGNO (x3) != 17
5154 : 11756 : || GET_MODE (x3) != E_CCmode)
5155 : : return -1;
5156 : 5878 : x4 = XVECEXP (x1, 0, 0);
5157 : 5878 : x5 = XEXP (x4, 1);
5158 : 5878 : x6 = XEXP (x5, 1);
5159 : 5878 : operands[2] = x6;
5160 : 5878 : if (!nonmemory_operand (operands[2], i1)
5161 : 5878 : || pattern1351 (x4) != 0)
5162 : 5587 : return -1;
5163 : : return 0;
5164 : : }
5165 : :
5166 : : int
5167 : 18 : pattern1361 (rtx x1, machine_mode i1)
5168 : : {
5169 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5170 : 18 : rtx x2;
5171 : 18 : int res ATTRIBUTE_UNUSED;
5172 : 18 : if (!nonimmediate_operand (operands[0], i1)
5173 : 18 : || GET_MODE (x1) != i1)
5174 : : return -1;
5175 : 18 : x2 = XEXP (x1, 0);
5176 : 18 : if (GET_MODE (x2) != i1
5177 : 18 : || !ix86_carry_flag_operator (operands[4], i1)
5178 : 18 : || !nonimmediate_operand (operands[1], i1)
5179 : 36 : || !general_operand (operands[2], i1))
5180 : 0 : return -1;
5181 : : return 0;
5182 : : }
5183 : :
5184 : : int
5185 : 87 : pattern1367 (rtx x1)
5186 : : {
5187 : 87 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5188 : 87 : rtx x2, x3, x4, x5, x6, x7, x8;
5189 : 87 : int res ATTRIBUTE_UNUSED;
5190 : 87 : if (!register_operand (operands[0], E_SImode))
5191 : : return -1;
5192 : 63 : x2 = XEXP (x1, 0);
5193 : 63 : x3 = XEXP (x2, 0);
5194 : 63 : operands[1] = x3;
5195 : 63 : if (!nonimmediate_operand (operands[1], E_SImode))
5196 : : return -1;
5197 : 63 : x4 = XEXP (x1, 1);
5198 : 63 : if (GET_MODE (x4) != E_SImode)
5199 : : return -1;
5200 : 63 : x5 = XEXP (x4, 0);
5201 : 63 : if (GET_MODE (x5) != E_DImode)
5202 : : return -1;
5203 : 63 : x6 = XEXP (x5, 0);
5204 : 63 : if (GET_MODE (x6) != E_DImode)
5205 : : return -1;
5206 : 63 : x7 = XEXP (x6, 0);
5207 : 63 : operands[2] = x7;
5208 : 63 : if (!register_operand (operands[2], E_SImode))
5209 : : return -1;
5210 : 63 : x8 = XEXP (x5, 1);
5211 : 63 : operands[4] = x8;
5212 : 63 : if (!const_0_to_63_operand (operands[4], E_QImode))
5213 : : return -1;
5214 : : return 0;
5215 : : }
5216 : :
5217 : : int
5218 : 546 : pattern1378 (machine_mode i1, machine_mode i2)
5219 : : {
5220 : 546 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5221 : 546 : int res ATTRIBUTE_UNUSED;
5222 : 546 : if (!nonimmediate_operand (operands[2], i2)
5223 : 546 : || !nonimmediate_operand (operands[3], i2)
5224 : 546 : || !const0_operand (operands[4], i2)
5225 : 1092 : || !register_operand (operands[5], i1))
5226 : 0 : return -1;
5227 : : return 0;
5228 : : }
5229 : :
5230 : : int
5231 : 60 : pattern1386 (rtx x1, machine_mode i1)
5232 : : {
5233 : 60 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5234 : 60 : int res ATTRIBUTE_UNUSED;
5235 : 60 : if (!nonimmediate_operand (operands[2], i1)
5236 : 60 : || GET_MODE (x1) != i1
5237 : 60 : || !nonimmediate_operand (operands[3], i1)
5238 : 120 : || !const0_operand (operands[4], i1))
5239 : 0 : return -1;
5240 : : return 0;
5241 : : }
5242 : :
5243 : : int
5244 : 417 : pattern1394 (rtx x1, machine_mode i1, machine_mode i2)
5245 : : {
5246 : 417 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5247 : 417 : rtx x2, x3, x4;
5248 : 417 : int res ATTRIBUTE_UNUSED;
5249 : 417 : if (!register_operand (operands[0], i2)
5250 : 417 : || GET_MODE (x1) != i2)
5251 : : return -1;
5252 : 391 : x2 = XEXP (x1, 0);
5253 : 391 : if (GET_MODE (x2) != i2)
5254 : : return -1;
5255 : 391 : x3 = XEXP (x2, 0);
5256 : 391 : if (GET_MODE (x3) != i2
5257 : 391 : || !bcst_vector_operand (operands[1], i2))
5258 : 0 : return -1;
5259 : 391 : x4 = XEXP (x2, 2);
5260 : 391 : return pattern1382 (x4,
5261 : : i1,
5262 : 391 : i2); /* [-1, 0] */
5263 : : }
5264 : :
5265 : : int
5266 : 971 : pattern1401 (rtx x1)
5267 : : {
5268 : 971 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5269 : 971 : rtx x2, x3;
5270 : 971 : int res ATTRIBUTE_UNUSED;
5271 : 971 : x2 = XVECEXP (x1, 0, 0);
5272 : 971 : x3 = XEXP (x2, 2);
5273 : 971 : if (XWINT (x3, 0) != 1L
5274 : 971 : || !const_0_to_255_operand (operands[3], E_SImode))
5275 : 0 : return -1;
5276 : 971 : return pattern1400 (x1); /* [-1, 2] */
5277 : : }
5278 : :
5279 : : int
5280 : 195 : pattern1406 (rtx x1, machine_mode i1)
5281 : : {
5282 : 195 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5283 : 195 : rtx x2, x3;
5284 : 195 : int res ATTRIBUTE_UNUSED;
5285 : 195 : if (!register_operand (operands[0], i1)
5286 : 195 : || GET_MODE (x1) != i1)
5287 : : return -1;
5288 : 184 : x2 = XVECEXP (x1, 0, 0);
5289 : 184 : if (GET_MODE (x2) != i1)
5290 : : return -1;
5291 : 184 : x3 = XEXP (x2, 0);
5292 : 184 : if (GET_MODE (x3) != i1
5293 : 184 : || !nonimmediate_operand (operands[1], i1)
5294 : 366 : || !register_operand (operands[2], i1))
5295 : 27 : return -1;
5296 : : return 0;
5297 : : }
5298 : :
5299 : : int
5300 : 321 : pattern1413 (rtx x1, machine_mode i1)
5301 : : {
5302 : 321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5303 : 321 : rtx x2;
5304 : 321 : int res ATTRIBUTE_UNUSED;
5305 : 321 : if (!register_operand (operands[0], i1)
5306 : 321 : || GET_MODE (x1) != i1)
5307 : : return -1;
5308 : 312 : x2 = XVECEXP (x1, 0, 0);
5309 : 312 : if (GET_MODE (x2) != i1
5310 : 312 : || !register_operand (operands[1], i1)
5311 : 312 : || !register_operand (operands[2], i1)
5312 : 619 : || !register_operand (operands[3], i1))
5313 : 5 : return -1;
5314 : : return 0;
5315 : : }
5316 : :
5317 : : int
5318 : 828 : pattern1420 (rtx x1, machine_mode i1, machine_mode i2)
5319 : : {
5320 : 828 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5321 : 828 : rtx x2, x3, x4, x5, x6;
5322 : 828 : int res ATTRIBUTE_UNUSED;
5323 : 828 : if (!register_operand (operands[0], i2)
5324 : 828 : || GET_MODE (x1) != i2)
5325 : : return -1;
5326 : 776 : x2 = XEXP (x1, 0);
5327 : 776 : if (GET_MODE (x2) != i1)
5328 : : return -1;
5329 : 776 : x3 = XEXP (x2, 0);
5330 : 776 : if (GET_MODE (x3) != i1)
5331 : : return -1;
5332 : 776 : x4 = XEXP (x3, 0);
5333 : 776 : if (GET_MODE (x4) != i1)
5334 : : return -1;
5335 : 776 : x5 = XEXP (x4, 0);
5336 : 776 : if (GET_MODE (x5) != i1
5337 : 776 : || !vector_operand (operands[1], i2))
5338 : 31 : return -1;
5339 : 745 : x6 = XEXP (x4, 1);
5340 : 745 : if (GET_MODE (x6) != i1
5341 : 745 : || !vector_operand (operands[2], i2)
5342 : 1462 : || !const1_operand (operands[3], i1))
5343 : 28 : return -1;
5344 : : return 0;
5345 : : }
5346 : :
5347 : : int
5348 : 447294 : pattern1432 (rtx x1, machine_mode i1)
5349 : : {
5350 : 447294 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5351 : 447294 : int res ATTRIBUTE_UNUSED;
5352 : 447294 : if (!nonimmediate_operand (operands[1], i1)
5353 : 447037 : || !x86_64_general_operand (operands[2], i1)
5354 : 443955 : || !nonimmediate_operand (operands[0], i1)
5355 : 891249 : || GET_MODE (x1) != i1)
5356 : 3339 : return -1;
5357 : : return 0;
5358 : : }
5359 : :
5360 : : int
5361 : 236407 : pattern1440 (rtx x1)
5362 : : {
5363 : 236407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5364 : 236407 : rtx x2, x3, x4, x5, x6, x7;
5365 : 236407 : int res ATTRIBUTE_UNUSED;
5366 : 236407 : x2 = XEXP (x1, 0);
5367 : 236407 : operands[0] = x2;
5368 : 236407 : x3 = XEXP (x1, 1);
5369 : 236407 : x4 = XEXP (x3, 1);
5370 : 236407 : x5 = XEXP (x4, 0);
5371 : 236407 : switch (GET_CODE (x5))
5372 : : {
5373 : 27336 : case AND:
5374 : 27336 : return pattern1439 (x3); /* [-1, 1] */
5375 : :
5376 : 0 : case PLUS:
5377 : 0 : res = pattern1439 (x3);
5378 : 0 : if (res >= 0)
5379 : 0 : return res + 2; /* [2, 3] */
5380 : : return -1;
5381 : :
5382 : 0 : case MINUS:
5383 : 0 : x6 = XEXP (x5, 0);
5384 : 0 : operands[3] = x6;
5385 : 0 : if (!const_int_operand (operands[3], E_VOIDmode))
5386 : : return -1;
5387 : 0 : x7 = XEXP (x5, 1);
5388 : 0 : operands[2] = x7;
5389 : 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
5390 : : return -1;
5391 : 0 : res = pattern343 (x3);
5392 : 0 : if (res >= 0)
5393 : 0 : return res + 4; /* [4, 5] */
5394 : : return -1;
5395 : :
5396 : : default:
5397 : : return -1;
5398 : : }
5399 : : }
5400 : :
5401 : : int
5402 : 0 : pattern1454 (rtx x1, machine_mode i1)
5403 : : {
5404 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5405 : 0 : int res ATTRIBUTE_UNUSED;
5406 : 0 : if (!nonimmediate_operand (operands[0], i1))
5407 : : return -1;
5408 : 0 : switch (GET_MODE (x1))
5409 : : {
5410 : 0 : case E_HImode:
5411 : 0 : if (!register_operand (operands[1], E_HImode))
5412 : : return -1;
5413 : : return 0;
5414 : :
5415 : 0 : case E_SImode:
5416 : 0 : if (!register_operand (operands[1], E_SImode))
5417 : : return -1;
5418 : : return 1;
5419 : :
5420 : 0 : case E_DImode:
5421 : 0 : if (!register_operand (operands[1], E_DImode))
5422 : : return -1;
5423 : : return 2;
5424 : :
5425 : : default:
5426 : : return -1;
5427 : : }
5428 : : }
5429 : :
5430 : : int
5431 : 540 : pattern1464 (rtx x1, machine_mode i1)
5432 : : {
5433 : 540 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5434 : 540 : rtx x2, x3;
5435 : 540 : int res ATTRIBUTE_UNUSED;
5436 : 540 : if (!register_operand (operands[0], i1)
5437 : 540 : || GET_MODE (x1) != i1)
5438 : : return -1;
5439 : 510 : x2 = XEXP (x1, 0);
5440 : 510 : if (GET_MODE (x2) != i1)
5441 : : return -1;
5442 : 510 : x3 = XEXP (x2, 0);
5443 : 510 : if (GET_MODE (x3) != i1
5444 : 510 : || !nonimmediate_operand (operands[1], i1)
5445 : 494 : || !nonimmediate_operand (operands[2], i1)
5446 : 1000 : || !nonimmediate_operand (operands[3], i1))
5447 : 20 : return -1;
5448 : : return 0;
5449 : : }
5450 : :
5451 : : int
5452 : 1068 : pattern1473 (rtx x1)
5453 : : {
5454 : 1068 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5455 : 1068 : rtx x2, x3, x4, x5;
5456 : 1068 : int res ATTRIBUTE_UNUSED;
5457 : 1068 : x2 = XEXP (x1, 2);
5458 : 1068 : x3 = XVECEXP (x2, 0, 0);
5459 : 1068 : if (maybe_ne (SUBREG_BYTE (x3), 0))
5460 : : return -1;
5461 : 1068 : x4 = XEXP (x3, 0);
5462 : 1068 : if (GET_CODE (x4) != NOT)
5463 : : return -1;
5464 : 75 : x5 = XEXP (x4, 0);
5465 : 75 : operands[3] = x5;
5466 : 75 : if (!const_0_to_7_operand (operands[5], E_SImode))
5467 : : return -1;
5468 : 75 : switch (GET_MODE (operands[0]))
5469 : : {
5470 : 48 : case E_V4SImode:
5471 : 48 : return pattern1471 (x1,
5472 : : E_V4SImode,
5473 : 48 : E_V16QImode); /* [-1, 0] */
5474 : :
5475 : 0 : case E_V2DImode:
5476 : 0 : if (pattern1471 (x1,
5477 : : E_V2DImode,
5478 : : E_V16QImode) != 0)
5479 : : return -1;
5480 : : return 1;
5481 : :
5482 : 0 : case E_V8SImode:
5483 : 0 : if (pattern1471 (x1,
5484 : : E_V8SImode,
5485 : : E_V32QImode) != 0)
5486 : : return -1;
5487 : : return 2;
5488 : :
5489 : 0 : case E_V4DImode:
5490 : 0 : if (pattern1471 (x1,
5491 : : E_V4DImode,
5492 : : E_V32QImode) != 0)
5493 : : return -1;
5494 : : return 3;
5495 : :
5496 : 22 : case E_V32QImode:
5497 : 22 : if (pattern1472 (x1,
5498 : : E_V32QImode,
5499 : : E_SImode) != 0)
5500 : : return -1;
5501 : : return 4;
5502 : :
5503 : 5 : case E_V16QImode:
5504 : 5 : if (pattern1472 (x1,
5505 : : E_V16QImode,
5506 : : E_HImode) != 0)
5507 : : return -1;
5508 : : return 5;
5509 : :
5510 : : default:
5511 : : return -1;
5512 : : }
5513 : : }
5514 : :
5515 : : int
5516 : 1633 : pattern1490 (rtx x1)
5517 : : {
5518 : 1633 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5519 : 1633 : rtx x2, x3, x4, x5;
5520 : 1633 : int res ATTRIBUTE_UNUSED;
5521 : 1633 : x2 = XVECEXP (x1, 0, 4);
5522 : 1633 : operands[2] = x2;
5523 : 1633 : if (!const_4_to_7_operand (operands[2], E_VOIDmode))
5524 : : return -1;
5525 : 1617 : x3 = XVECEXP (x1, 0, 5);
5526 : 1617 : operands[3] = x3;
5527 : 1617 : if (!const_4_to_7_operand (operands[3], E_VOIDmode))
5528 : : return -1;
5529 : 1617 : x4 = XVECEXP (x1, 0, 6);
5530 : 1617 : operands[4] = x4;
5531 : 1617 : if (!const_4_to_7_operand (operands[4], E_VOIDmode))
5532 : : return -1;
5533 : 1617 : x5 = XVECEXP (x1, 0, 7);
5534 : 1617 : operands[5] = x5;
5535 : 1617 : if (!const_4_to_7_operand (operands[5], E_VOIDmode))
5536 : : return -1;
5537 : : return 0;
5538 : : }
5539 : :
5540 : : int
5541 : 0 : pattern1501 (rtx x1, machine_mode i1, machine_mode i2)
5542 : : {
5543 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5544 : 0 : rtx x2, x3, x4, x5;
5545 : 0 : int res ATTRIBUTE_UNUSED;
5546 : 0 : if (!register_operand (operands[0], i1)
5547 : 0 : || GET_MODE (x1) != i1)
5548 : : return -1;
5549 : 0 : x2 = XEXP (x1, 0);
5550 : 0 : if (GET_MODE (x2) != i2)
5551 : : return -1;
5552 : 0 : x3 = XEXP (x2, 0);
5553 : 0 : if (GET_MODE (x3) != i2)
5554 : : return -1;
5555 : 0 : x4 = XEXP (x3, 0);
5556 : 0 : if (GET_MODE (x4) != i2
5557 : 0 : || !nonimmediate_operand (operands[1], i1))
5558 : 0 : return -1;
5559 : 0 : x5 = XEXP (x3, 1);
5560 : 0 : if (GET_MODE (x5) != i2
5561 : 0 : || !nonimmediate_operand (operands[2], i1)
5562 : 0 : || !scratch_operand (operands[3], i1))
5563 : 0 : return -1;
5564 : : return 0;
5565 : : }
5566 : :
5567 : : int
5568 : 4403 : pattern1510 (rtx x1)
5569 : : {
5570 : 4403 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5571 : 4403 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5572 : 4403 : rtx x10;
5573 : 4403 : int res ATTRIBUTE_UNUSED;
5574 : 4403 : x2 = XVECEXP (x1, 0, 0);
5575 : 4403 : x3 = XEXP (x2, 1);
5576 : 4403 : x4 = XEXP (x3, 0);
5577 : 4403 : x5 = XEXP (x4, 0);
5578 : 4403 : if (!rtx_equal_p (x5, operands[0]))
5579 : : return -1;
5580 : 3987 : x6 = XVECEXP (x1, 0, 1);
5581 : 3987 : x7 = XEXP (x6, 1);
5582 : 3987 : if (!rtx_equal_p (x7, operands[3]))
5583 : : return -1;
5584 : 3987 : x8 = XEXP (x6, 0);
5585 : 3987 : if (!rtx_equal_p (x8, operands[0]))
5586 : : return -1;
5587 : 3987 : x9 = PATTERN (peep2_next_insn (2));
5588 : 3987 : x10 = XEXP (x9, 1);
5589 : 3987 : if (!rtx_equal_p (x10, operands[0]))
5590 : : return -1;
5591 : : return 0;
5592 : : }
5593 : :
5594 : : int
5595 : 146 : pattern1520 (rtx x1, machine_mode i1, machine_mode i2)
5596 : : {
5597 : 146 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5598 : 146 : rtx x2, x3;
5599 : 146 : int res ATTRIBUTE_UNUSED;
5600 : 146 : if (!register_operand (operands[0], i1)
5601 : 146 : || GET_MODE (x1) != i1)
5602 : : return -1;
5603 : 136 : x2 = XEXP (x1, 0);
5604 : 136 : if (GET_MODE (x2) != i1
5605 : 136 : || !nonimmediate_operand (operands[2], i2))
5606 : 0 : return -1;
5607 : 136 : x3 = XEXP (x2, 1);
5608 : 136 : if (GET_MODE (x3) != i2
5609 : 136 : || !register_operand (operands[1], i1)
5610 : 260 : || !nonimm_or_0_operand (operands[3], i1))
5611 : 27 : return -1;
5612 : : return 0;
5613 : : }
5614 : :
5615 : : int
5616 : 3566 : pattern1529 (rtx x1)
5617 : : {
5618 : 3566 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5619 : 3566 : rtx x2, x3, x4;
5620 : 3566 : int res ATTRIBUTE_UNUSED;
5621 : 3566 : x2 = XEXP (x1, 1);
5622 : 3566 : x3 = XEXP (x2, 1);
5623 : 3566 : if (maybe_ne (SUBREG_BYTE (x3), 0)
5624 : 3566 : || GET_MODE (x3) != E_QImode)
5625 : : return -1;
5626 : 3566 : x4 = XEXP (x3, 0);
5627 : 3566 : switch (GET_CODE (x4))
5628 : : {
5629 : 447 : case ASHIFTRT:
5630 : 447 : case LSHIFTRT:
5631 : 447 : case SIGN_EXTRACT:
5632 : 447 : case ZERO_EXTRACT:
5633 : 447 : operands[4] = x4;
5634 : 447 : return pattern1048 (x1); /* [-1, 5] */
5635 : :
5636 : : default:
5637 : : return -1;
5638 : : }
5639 : : }
5640 : :
5641 : : int
5642 : 22891 : pattern1538 (rtx x1)
5643 : : {
5644 : 22891 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5645 : 22891 : int res ATTRIBUTE_UNUSED;
5646 : 22891 : switch (GET_MODE (operands[0]))
5647 : : {
5648 : 6194 : case E_V8SFmode:
5649 : 6194 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
5650 : 6186 : || GET_MODE (x1) != E_V8SFmode
5651 : 12380 : || !nonimmediate_operand (operands[1], E_V16SFmode))
5652 : 10 : return -1;
5653 : : return 0;
5654 : :
5655 : 7983 : case E_V8SImode:
5656 : 7983 : if (!nonimmediate_operand (operands[0], E_V8SImode)
5657 : 7983 : || GET_MODE (x1) != E_V8SImode
5658 : 15966 : || !nonimmediate_operand (operands[1], E_V16SImode))
5659 : 0 : return -1;
5660 : : return 1;
5661 : :
5662 : 7241 : case E_V8HImode:
5663 : 7241 : if (!nonimmediate_operand (operands[0], E_V8HImode)
5664 : 7241 : || GET_MODE (x1) != E_V8HImode
5665 : 14482 : || !nonimmediate_operand (operands[1], E_V16HImode))
5666 : 79 : return -1;
5667 : : return 2;
5668 : :
5669 : 517 : case E_V8HFmode:
5670 : 517 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
5671 : 517 : || GET_MODE (x1) != E_V8HFmode
5672 : 1034 : || !nonimmediate_operand (operands[1], E_V16HFmode))
5673 : 3 : return -1;
5674 : : return 3;
5675 : :
5676 : 711 : case E_V8BFmode:
5677 : 711 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
5678 : 711 : || GET_MODE (x1) != E_V8BFmode
5679 : 1422 : || !nonimmediate_operand (operands[1], E_V16BFmode))
5680 : 34 : return -1;
5681 : : return 4;
5682 : :
5683 : : default:
5684 : : return -1;
5685 : : }
5686 : : }
5687 : :
5688 : : int
5689 : 538 : pattern1560 (rtx x1)
5690 : : {
5691 : 538 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5692 : 538 : rtx x2, x3, x4, x5, x6, x7;
5693 : 538 : int res ATTRIBUTE_UNUSED;
5694 : 538 : x2 = XVECEXP (x1, 0, 2);
5695 : 538 : if (XWINT (x2, 0) != 2L)
5696 : : return -1;
5697 : 538 : x3 = XVECEXP (x1, 0, 3);
5698 : 538 : if (XWINT (x3, 0) != 3L)
5699 : : return -1;
5700 : 538 : x4 = XVECEXP (x1, 0, 4);
5701 : 538 : if (XWINT (x4, 0) != 4L)
5702 : : return -1;
5703 : 384 : x5 = XVECEXP (x1, 0, 5);
5704 : 384 : if (XWINT (x5, 0) != 5L)
5705 : : return -1;
5706 : 373 : x6 = XVECEXP (x1, 0, 6);
5707 : 373 : if (XWINT (x6, 0) != 6L)
5708 : : return -1;
5709 : 373 : x7 = XVECEXP (x1, 0, 7);
5710 : 373 : if (XWINT (x7, 0) != 7L)
5711 : 0 : return -1;
5712 : : return 0;
5713 : : }
5714 : :
5715 : : int
5716 : 179 : pattern1569 (rtx x1, machine_mode i1)
5717 : : {
5718 : 179 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5719 : 179 : int res ATTRIBUTE_UNUSED;
5720 : 179 : if (!nonimmediate_operand (operands[0], i1)
5721 : 179 : || GET_MODE (x1) != i1
5722 : 179 : || !nonimmediate_operand (operands[1], i1)
5723 : 358 : || !ix86_carry_flag_unset_operator (operands[2], i1))
5724 : 22 : return -1;
5725 : : return 0;
5726 : : }
5727 : :
5728 : : int
5729 : 170 : pattern1576 (rtx x1, int *pnum_clobbers)
5730 : : {
5731 : 170 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5732 : 170 : rtx x2, x3, x4, x5, x6;
5733 : 170 : int res ATTRIBUTE_UNUSED;
5734 : 170 : x2 = XVECEXP (x1, 0, 1);
5735 : 170 : x3 = XEXP (x2, 1);
5736 : 170 : x4 = XEXP (x3, 0);
5737 : 170 : if (!rtx_equal_p (x4, operands[2]))
5738 : : return -1;
5739 : 170 : x5 = XEXP (x3, 1);
5740 : 170 : if (!rtx_equal_p (x5, operands[3]))
5741 : : return -1;
5742 : 170 : switch (GET_CODE (operands[3]))
5743 : : {
5744 : 138 : case REG:
5745 : 138 : case SUBREG:
5746 : 138 : case MEM:
5747 : 138 : if (!nonimmediate_operand (operands[3], E_SImode))
5748 : : return -1;
5749 : 124 : x6 = XVECEXP (x1, 0, 2);
5750 : 124 : return pattern1575 (x6, pnum_clobbers); /* [-1, 2] */
5751 : :
5752 : 4 : case CONST_INT:
5753 : 4 : if (!const_int_operand (operands[3], E_SImode))
5754 : : return -1;
5755 : 4 : x6 = XVECEXP (x1, 0, 2);
5756 : 4 : if (pattern948 (x6,
5757 : : E_CCmode,
5758 : : 17) != 0)
5759 : : return -1;
5760 : : return 3;
5761 : :
5762 : : default:
5763 : : return -1;
5764 : : }
5765 : : }
5766 : :
5767 : : int
5768 : 1587 : pattern1587 (rtx x1, machine_mode i1, machine_mode i2)
5769 : : {
5770 : 1587 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5771 : 1587 : rtx x2, x3;
5772 : 1587 : int res ATTRIBUTE_UNUSED;
5773 : 1587 : if (!register_operand (operands[0], i1)
5774 : 1587 : || GET_MODE (x1) != i1)
5775 : : return -1;
5776 : 1552 : x2 = XEXP (x1, 0);
5777 : 1552 : if (GET_MODE (x2) != i1)
5778 : : return -1;
5779 : 1552 : x3 = XEXP (x2, 0);
5780 : 1552 : if (GET_MODE (x3) != i2
5781 : 1552 : || !register_operand (operands[1], i1)
5782 : 1552 : || !vector_operand (operands[2], i1)
5783 : 3081 : || !nonimm_or_0_operand (operands[3], i1))
5784 : 64 : return -1;
5785 : : return 0;
5786 : : }
5787 : :
5788 : : int
5789 : 1248 : pattern1595 (rtx x1, machine_mode i1, machine_mode i2)
5790 : : {
5791 : 1248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5792 : 1248 : rtx x2, x3;
5793 : 1248 : int res ATTRIBUTE_UNUSED;
5794 : 1248 : if (!register_operand (operands[0], i2)
5795 : 1248 : || GET_MODE (x1) != i2)
5796 : : return -1;
5797 : 1225 : x2 = XVECEXP (x1, 0, 0);
5798 : 1225 : if (GET_MODE (x2) != i2)
5799 : : return -1;
5800 : 1225 : x3 = XEXP (x2, 0);
5801 : 1225 : if (GET_MODE (x3) != i2
5802 : 1225 : || !register_operand (operands[2], i2)
5803 : 2440 : || !register_operand (operands[4], i1))
5804 : 10 : return -1;
5805 : : return 0;
5806 : : }
5807 : :
5808 : : int
5809 : 1223 : pattern1605 (rtx x1, machine_mode i1, machine_mode i2)
5810 : : {
5811 : 1223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5812 : 1223 : rtx x2, x3, x4, x5;
5813 : 1223 : int res ATTRIBUTE_UNUSED;
5814 : 1223 : if (!register_operand (operands[0], i2)
5815 : 1223 : || GET_MODE (x1) != i2)
5816 : : return -1;
5817 : 1200 : x2 = XVECEXP (x1, 0, 0);
5818 : 1200 : if (GET_MODE (x2) != i2)
5819 : : return -1;
5820 : 1200 : x3 = XEXP (x2, 0);
5821 : 1200 : if (GET_MODE (x3) != i2)
5822 : : return -1;
5823 : 1200 : x4 = XEXP (x3, 0);
5824 : 1200 : if (GET_MODE (x4) != i2
5825 : 1200 : || !register_operand (operands[2], i2))
5826 : 10 : return -1;
5827 : 1190 : x5 = XEXP (x3, 2);
5828 : 1190 : if (GET_MODE (x5) != i2
5829 : 1190 : || !register_operand (operands[4], i1))
5830 : 0 : return -1;
5831 : : return 0;
5832 : : }
5833 : :
5834 : : int
5835 : 638 : pattern1613 (rtx x1, machine_mode i1)
5836 : : {
5837 : 638 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5838 : 638 : rtx x2, x3, x4;
5839 : 638 : int res ATTRIBUTE_UNUSED;
5840 : 638 : if (!vsib_mem_operator (operands[5], i1)
5841 : 638 : || !register_operand (operands[6], E_QImode))
5842 : 220 : return -1;
5843 : 418 : x2 = XEXP (x1, 1);
5844 : 418 : if (GET_MODE (x2) != i1
5845 : 418 : || !register_operand (operands[3], i1))
5846 : 74 : return -1;
5847 : 344 : x3 = XEXP (x1, 0);
5848 : 344 : x4 = XEXP (x3, 0);
5849 : 344 : switch (GET_MODE (x4))
5850 : : {
5851 : 0 : case E_SImode:
5852 : 0 : return pattern1612 (
5853 : 0 : E_SImode); /* [-1, 1] */
5854 : :
5855 : 344 : case E_DImode:
5856 : 344 : res = pattern1612 (
5857 : : E_DImode);
5858 : 344 : if (res >= 0)
5859 : 204 : return res + 2; /* [2, 3] */
5860 : : return -1;
5861 : :
5862 : : default:
5863 : : return -1;
5864 : : }
5865 : : }
5866 : :
5867 : : int
5868 : 184 : pattern1626 (rtx x1, int i1, int i2, int i3, int i4)
5869 : : {
5870 : 184 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5871 : 184 : rtx x2, x3, x4, x5;
5872 : 184 : int res ATTRIBUTE_UNUSED;
5873 : 184 : if (XVECLEN (x1, 0) != 4)
5874 : : return -1;
5875 : 184 : x2 = XVECEXP (x1, 0, 0);
5876 : 184 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5877 : : return -1;
5878 : 184 : x3 = XVECEXP (x1, 0, 1);
5879 : 184 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5880 : : return -1;
5881 : 184 : x4 = XVECEXP (x1, 0, 2);
5882 : 184 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5883 : : return -1;
5884 : 184 : x5 = XVECEXP (x1, 0, 3);
5885 : 184 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5886 : 0 : return -1;
5887 : : return 0;
5888 : : }
5889 : :
5890 : : int
5891 : 1 : pattern1636 (rtx x1, machine_mode i1)
5892 : : {
5893 : 1 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5894 : 1 : rtx x2;
5895 : 1 : int res ATTRIBUTE_UNUSED;
5896 : 1 : if (!register_operand (operands[0], i1)
5897 : 1 : || GET_MODE (x1) != i1)
5898 : : return -1;
5899 : 1 : x2 = XEXP (x1, 0);
5900 : 1 : if (GET_MODE (x2) != i1
5901 : 1 : || !nonimmediate_operand (operands[1], i1)
5902 : 2 : || !register_operand (operands[2], i1))
5903 : 0 : return -1;
5904 : : return 0;
5905 : : }
5906 : :
5907 : : int
5908 : 420 : pattern1645 (rtx x1, machine_mode i1, machine_mode i2)
5909 : : {
5910 : 420 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5911 : 420 : rtx x2, x3, x4, x5, x6;
5912 : 420 : int res ATTRIBUTE_UNUSED;
5913 : 420 : if (!register_operand (operands[0], i1)
5914 : 420 : || GET_MODE (x1) != i1)
5915 : : return -1;
5916 : 400 : x2 = XEXP (x1, 0);
5917 : 400 : if (GET_MODE (x2) != i2)
5918 : : return -1;
5919 : 400 : x3 = XEXP (x2, 0);
5920 : 400 : if (GET_MODE (x3) != i2)
5921 : : return -1;
5922 : 400 : x4 = XEXP (x3, 0);
5923 : 400 : if (GET_MODE (x4) != i2)
5924 : : return -1;
5925 : 400 : x5 = XEXP (x4, 0);
5926 : 400 : if (GET_MODE (x5) != i2
5927 : 400 : || !register_mmxmem_operand (operands[1], i1))
5928 : 16 : return -1;
5929 : 384 : x6 = XEXP (x4, 1);
5930 : 384 : if (GET_MODE (x6) != i2
5931 : 384 : || !register_mmxmem_operand (operands[2], i1))
5932 : 12 : return -1;
5933 : : return 0;
5934 : : }
5935 : :
5936 : : int
5937 : 1090 : pattern1655 (rtx x1)
5938 : : {
5939 : 1090 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5940 : 1090 : rtx x2, x3;
5941 : 1090 : int res ATTRIBUTE_UNUSED;
5942 : 1090 : x2 = XVECEXP (x1, 0, 0);
5943 : 1090 : x3 = XEXP (x2, 1);
5944 : 1090 : if (!rtx_equal_p (x3, operands[1]))
5945 : : return -1;
5946 : 1090 : switch (GET_MODE (operands[0]))
5947 : : {
5948 : 486 : case E_V8HFmode:
5949 : 486 : return pattern1654 (x1,
5950 : 486 : E_V8HFmode); /* [-1, 0] */
5951 : :
5952 : 302 : case E_V4SFmode:
5953 : 302 : if (pattern1654 (x1,
5954 : : E_V4SFmode) != 0)
5955 : : return -1;
5956 : : return 1;
5957 : :
5958 : 302 : case E_V2DFmode:
5959 : 302 : if (pattern1654 (x1,
5960 : : E_V2DFmode) != 0)
5961 : : return -1;
5962 : : return 2;
5963 : :
5964 : : default:
5965 : : return -1;
5966 : : }
5967 : : }
5968 : :
5969 : : int
5970 : 141 : pattern1663 (machine_mode i1)
5971 : : {
5972 : 141 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5973 : 141 : int res ATTRIBUTE_UNUSED;
5974 : 141 : if (!vsib_address_operand (operands[4], i1))
5975 : : return -1;
5976 : 141 : switch (GET_MODE (operands[3]))
5977 : : {
5978 : 93 : case E_V8SImode:
5979 : 93 : if (!register_operand (operands[3], E_V8SImode))
5980 : : return -1;
5981 : : return 0;
5982 : :
5983 : 48 : case E_V8DImode:
5984 : 48 : if (!register_operand (operands[3], E_V8DImode))
5985 : : return -1;
5986 : : return 1;
5987 : :
5988 : : default:
5989 : : return -1;
5990 : : }
5991 : : }
5992 : :
5993 : : int
5994 : 1173 : pattern1672 (rtx x1, machine_mode i1)
5995 : : {
5996 : 1173 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5997 : 1173 : rtx x2, x3, x4, x5;
5998 : 1173 : int res ATTRIBUTE_UNUSED;
5999 : 1173 : if (!register_operand (operands[0], i1))
6000 : : return -1;
6001 : 1173 : x2 = XVECEXP (x1, 0, 0);
6002 : 1173 : x3 = XEXP (x2, 1);
6003 : 1173 : if (GET_MODE (x3) != i1)
6004 : : return -1;
6005 : 1173 : x4 = XVECEXP (x1, 0, 1);
6006 : 1173 : if (GET_MODE (x4) != i1)
6007 : : return -1;
6008 : 1173 : x5 = XVECEXP (x4, 0, 0);
6009 : 1173 : if (GET_MODE (x5) != i1
6010 : 1173 : || !register_operand (operands[3], i1))
6011 : 0 : return -1;
6012 : : return 0;
6013 : : }
6014 : :
6015 : : int
6016 : 1336 : pattern1683 (rtx x1, machine_mode i1)
6017 : : {
6018 : 1336 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6019 : 1336 : rtx x2, x3, x4, x5;
6020 : 1336 : int res ATTRIBUTE_UNUSED;
6021 : 1336 : if (!register_operand (operands[0], i1)
6022 : 1336 : || GET_MODE (x1) != i1)
6023 : : return -1;
6024 : 1296 : x2 = XVECEXP (x1, 0, 0);
6025 : 1296 : if (GET_MODE (x2) != i1)
6026 : : return -1;
6027 : 1296 : x3 = XEXP (x2, 0);
6028 : 1296 : if (GET_MODE (x3) != i1)
6029 : : return -1;
6030 : 1296 : x4 = XEXP (x3, 0);
6031 : 1296 : if (GET_MODE (x4) != i1
6032 : 1296 : || !register_operand (operands[2], i1))
6033 : 15 : return -1;
6034 : 1281 : x5 = XEXP (x4, 2);
6035 : 1281 : if (GET_MODE (x5) != i1)
6036 : : return -1;
6037 : : return 0;
6038 : : }
6039 : :
6040 : : int
6041 : 506 : pattern1692 (rtx x1)
6042 : : {
6043 : 506 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6044 : 506 : rtx x2, x3, x4, x5, x6, x7, x8;
6045 : 506 : int res ATTRIBUTE_UNUSED;
6046 : 506 : if (!register_operand (operands[0], E_DImode))
6047 : : return -1;
6048 : 506 : x2 = XEXP (x1, 0);
6049 : 506 : x3 = XEXP (x2, 0);
6050 : 506 : operands[1] = x3;
6051 : 506 : if (!nonimmediate_operand (operands[1], E_DImode))
6052 : : return -1;
6053 : 506 : x4 = XEXP (x1, 1);
6054 : 506 : if (GET_MODE (x4) != E_DImode)
6055 : : return -1;
6056 : 506 : x5 = XEXP (x4, 0);
6057 : 506 : if (GET_MODE (x5) != E_TImode)
6058 : : return -1;
6059 : 506 : x6 = XEXP (x5, 0);
6060 : 506 : if (GET_MODE (x6) != E_TImode)
6061 : : return -1;
6062 : 506 : x7 = XEXP (x6, 0);
6063 : 506 : operands[2] = x7;
6064 : 506 : if (!register_operand (operands[2], E_DImode))
6065 : : return -1;
6066 : 506 : x8 = XEXP (x5, 1);
6067 : 506 : operands[4] = x8;
6068 : 506 : if (!const_0_to_255_operand (operands[4], E_QImode))
6069 : : return -1;
6070 : : return 0;
6071 : : }
6072 : :
6073 : : int
6074 : 10665 : pattern1704 (rtx x1)
6075 : : {
6076 : 10665 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6077 : 10665 : rtx x2, x3, x4, x5, x6, x7, x8;
6078 : 10665 : int res ATTRIBUTE_UNUSED;
6079 : 10665 : x2 = XVECEXP (x1, 0, 0);
6080 : 10665 : x3 = XEXP (x2, 1);
6081 : 10665 : x4 = XVECEXP (x3, 0, 3);
6082 : 10665 : operands[4] = x4;
6083 : 10665 : if (!const_int_operand (operands[4], E_SImode))
6084 : : return -1;
6085 : 10665 : x5 = XVECEXP (x3, 0, 1);
6086 : 10665 : if (!rtx_equal_p (x5, operands[0]))
6087 : : return -1;
6088 : 7206 : x6 = XEXP (x2, 0);
6089 : 7206 : if (!rtx_equal_p (x6, operands[0]))
6090 : : return -1;
6091 : 7206 : x7 = XVECEXP (x1, 0, 1);
6092 : 7206 : x8 = XEXP (x7, 0);
6093 : 7206 : if (!rtx_equal_p (x8, operands[2]))
6094 : : return -1;
6095 : : return 0;
6096 : : }
6097 : :
6098 : : int
6099 : 432 : pattern1712 (machine_mode i1)
6100 : : {
6101 : 432 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6102 : 432 : int res ATTRIBUTE_UNUSED;
6103 : 432 : if (!vsib_address_operand (operands[0], i1))
6104 : : return -1;
6105 : 409 : switch (GET_MODE (operands[2]))
6106 : : {
6107 : 208 : case E_V16SImode:
6108 : 208 : if (!register_operand (operands[2], E_V16SImode)
6109 : 151 : || !register_operand (operands[6], E_HImode)
6110 : 270 : || !register_operand (operands[3], E_V16SFmode))
6111 : 167 : return -1;
6112 : : return 0;
6113 : :
6114 : 201 : case E_V8DImode:
6115 : 201 : if (!register_operand (operands[2], E_V8DImode)
6116 : 184 : || !register_operand (operands[6], E_QImode)
6117 : 291 : || !register_operand (operands[3], E_V8SFmode))
6118 : 165 : return -1;
6119 : : return 1;
6120 : :
6121 : : default:
6122 : : return -1;
6123 : : }
6124 : : }
6125 : :
6126 : : int
6127 : 688 : pattern1723 (machine_mode i1)
6128 : : {
6129 : 688 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6130 : 688 : int res ATTRIBUTE_UNUSED;
6131 : 688 : if (!vsib_address_operand (operands[0], i1))
6132 : : return -1;
6133 : 662 : switch (GET_MODE (operands[2]))
6134 : : {
6135 : 358 : case E_V4SImode:
6136 : 358 : if (!register_operand (operands[2], E_V4SImode))
6137 : : return -1;
6138 : : return 0;
6139 : :
6140 : 304 : case E_V4DImode:
6141 : 304 : if (!register_operand (operands[2], E_V4DImode))
6142 : : return -1;
6143 : : return 1;
6144 : :
6145 : : default:
6146 : : return -1;
6147 : : }
6148 : : }
6149 : :
6150 : : int
6151 : 124 : pattern1731 (machine_mode i1)
6152 : : {
6153 : 124 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6154 : 124 : int res ATTRIBUTE_UNUSED;
6155 : 124 : if (!vsib_address_operand (operands[3], i1))
6156 : : return -1;
6157 : 120 : switch (GET_MODE (operands[2]))
6158 : : {
6159 : 34 : case E_V8SImode:
6160 : 34 : if (!register_operand (operands[2], E_V8SImode))
6161 : : return -1;
6162 : : return 0;
6163 : :
6164 : 86 : case E_V4DImode:
6165 : 86 : if (!register_operand (operands[2], E_V4DImode))
6166 : : return -1;
6167 : : return 1;
6168 : :
6169 : : default:
6170 : : return -1;
6171 : : }
6172 : : }
6173 : :
6174 : : int
6175 : 3047 : pattern1739 (rtx x1)
6176 : : {
6177 : 3047 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6178 : 3047 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6179 : 3047 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6180 : 3047 : rtx x18, x19, x20, x21, x22, x23;
6181 : 3047 : int res ATTRIBUTE_UNUSED;
6182 : 3047 : if (!register_operand (operands[0], E_SImode))
6183 : : return -1;
6184 : 3043 : x2 = XVECEXP (x1, 0, 0);
6185 : 3043 : x3 = XEXP (x2, 1);
6186 : 3043 : x4 = XVECEXP (x3, 0, 0);
6187 : 3043 : operands[2] = x4;
6188 : 3043 : if (!register_operand (operands[2], E_V16QImode))
6189 : : return -1;
6190 : 3017 : x5 = XVECEXP (x3, 0, 1);
6191 : 3017 : operands[3] = x5;
6192 : 3017 : if (!register_operand (operands[3], E_SImode))
6193 : : return -1;
6194 : 2991 : x6 = XVECEXP (x3, 0, 2);
6195 : 2991 : operands[4] = x6;
6196 : 2991 : if (!nonimmediate_operand (operands[4], E_V16QImode))
6197 : : return -1;
6198 : 2991 : x7 = XVECEXP (x3, 0, 3);
6199 : 2991 : operands[5] = x7;
6200 : 2991 : if (!register_operand (operands[5], E_SImode))
6201 : : return -1;
6202 : 2975 : x8 = XVECEXP (x3, 0, 4);
6203 : 2975 : operands[6] = x8;
6204 : 2975 : if (!const_0_to_255_operand (operands[6], E_SImode))
6205 : : return -1;
6206 : 2975 : x9 = XVECEXP (x1, 0, 1);
6207 : 2975 : x10 = XEXP (x9, 0);
6208 : 2975 : operands[1] = x10;
6209 : 2975 : if (!register_operand (operands[1], E_V16QImode))
6210 : : return -1;
6211 : 2935 : x11 = XEXP (x9, 1);
6212 : 2935 : x12 = XVECEXP (x11, 0, 0);
6213 : 2935 : if (!rtx_equal_p (x12, operands[2]))
6214 : : return -1;
6215 : 2903 : x13 = XVECEXP (x11, 0, 1);
6216 : 2903 : if (!rtx_equal_p (x13, operands[3]))
6217 : : return -1;
6218 : 2883 : x14 = XVECEXP (x11, 0, 2);
6219 : 2883 : if (!rtx_equal_p (x14, operands[4]))
6220 : : return -1;
6221 : 2851 : x15 = XVECEXP (x11, 0, 3);
6222 : 2851 : if (!rtx_equal_p (x15, operands[5]))
6223 : : return -1;
6224 : 2835 : x16 = XVECEXP (x11, 0, 4);
6225 : 2835 : if (!rtx_equal_p (x16, operands[6]))
6226 : : return -1;
6227 : 2835 : x17 = XVECEXP (x1, 0, 2);
6228 : 2835 : x18 = XEXP (x17, 1);
6229 : 2835 : x19 = XVECEXP (x18, 0, 0);
6230 : 2835 : if (!rtx_equal_p (x19, operands[2]))
6231 : : return -1;
6232 : 2755 : x20 = XVECEXP (x18, 0, 1);
6233 : 2755 : if (!rtx_equal_p (x20, operands[3]))
6234 : : return -1;
6235 : 2675 : x21 = XVECEXP (x18, 0, 2);
6236 : 2675 : if (!rtx_equal_p (x21, operands[4]))
6237 : : return -1;
6238 : 2595 : x22 = XVECEXP (x18, 0, 3);
6239 : 2595 : if (!rtx_equal_p (x22, operands[5]))
6240 : : return -1;
6241 : 2515 : x23 = XVECEXP (x18, 0, 4);
6242 : 2515 : if (!rtx_equal_p (x23, operands[6]))
6243 : : return -1;
6244 : : return 0;
6245 : : }
6246 : :
6247 : : int
6248 : 230 : pattern1771 (rtx x1)
6249 : : {
6250 : 230 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6251 : 230 : rtx x2;
6252 : 230 : int res ATTRIBUTE_UNUSED;
6253 : 230 : if (!register_operand (operands[0], E_V8SFmode)
6254 : 230 : || GET_MODE (x1) != E_V8SFmode)
6255 : : return -1;
6256 : 222 : x2 = XEXP (x1, 0);
6257 : 222 : switch (GET_MODE (x2))
6258 : : {
6259 : 112 : case E_V8HFmode:
6260 : 112 : if (!memory_operand (operands[1], E_V16HFmode))
6261 : : return -1;
6262 : : return 0;
6263 : :
6264 : 110 : case E_V8BFmode:
6265 : 110 : if (!memory_operand (operands[1], E_V16BFmode))
6266 : : return -1;
6267 : : return 1;
6268 : :
6269 : : default:
6270 : : return -1;
6271 : : }
6272 : : }
6273 : :
6274 : : int
6275 : 327 : pattern1781 (rtx x1, machine_mode i1, machine_mode i2)
6276 : : {
6277 : 327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6278 : 327 : rtx x2, x3, x4;
6279 : 327 : int res ATTRIBUTE_UNUSED;
6280 : 327 : if (!register_operand (operands[0], i1)
6281 : 327 : || GET_MODE (x1) != i1)
6282 : : return -1;
6283 : 321 : x2 = XVECEXP (x1, 0, 0);
6284 : 321 : if (GET_MODE (x2) != i1)
6285 : : return -1;
6286 : 321 : x3 = XEXP (x2, 0);
6287 : 321 : if (GET_MODE (x3) != i1)
6288 : : return -1;
6289 : 321 : x4 = XEXP (x3, 0);
6290 : 321 : if (GET_MODE (x4) != i1
6291 : 321 : || !register_operand (operands[1], i1)
6292 : 321 : || !register_operand (operands[2], i1)
6293 : 321 : || !register_operand (operands[3], i2)
6294 : 642 : || !const0_operand (operands[5], i1))
6295 : 0 : return -1;
6296 : : return 0;
6297 : : }
6298 : :
6299 : : int
6300 : 523 : pattern1790 (machine_mode i1)
6301 : : {
6302 : 523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6303 : 523 : int res ATTRIBUTE_UNUSED;
6304 : 523 : if (!vsib_address_operand (operands[2], i1))
6305 : : return -1;
6306 : 505 : switch (GET_MODE (operands[3]))
6307 : : {
6308 : 276 : case E_V4SImode:
6309 : 276 : if (!register_operand (operands[3], E_V4SImode))
6310 : : return -1;
6311 : : return 0;
6312 : :
6313 : 229 : case E_V4DImode:
6314 : 229 : if (!register_operand (operands[3], E_V4DImode))
6315 : : return -1;
6316 : : return 1;
6317 : :
6318 : : default:
6319 : : return -1;
6320 : : }
6321 : : }
6322 : :
6323 : : int
6324 : 535 : pattern1797 (rtx x1)
6325 : : {
6326 : 535 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6327 : 535 : rtx x2, x3;
6328 : 535 : int res ATTRIBUTE_UNUSED;
6329 : 535 : if (GET_MODE (x1) != E_SImode
6330 : 535 : || !general_reg_operand (operands[4], E_SImode))
6331 : 0 : return -1;
6332 : 535 : x2 = XEXP (x1, 0);
6333 : 535 : if (!rtx_equal_p (x2, operands[2]))
6334 : : return -1;
6335 : 535 : x3 = XEXP (x1, 1);
6336 : 535 : if (!rtx_equal_p (x3, operands[0]))
6337 : : return -1;
6338 : : return 0;
6339 : : }
6340 : :
6341 : : int
6342 : 1291 : pattern1804 (rtx x1, machine_mode i1, machine_mode i2)
6343 : : {
6344 : 1291 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6345 : 1291 : rtx x2, x3;
6346 : 1291 : int res ATTRIBUTE_UNUSED;
6347 : 1291 : if (!register_operand (operands[0], i1)
6348 : 1291 : || GET_MODE (x1) != i1)
6349 : : return -1;
6350 : 280 : x2 = XEXP (x1, 0);
6351 : 280 : if (GET_MODE (x2) != i2
6352 : 280 : || !nonimmediate_operand (operands[1], i1))
6353 : 2 : return -1;
6354 : 278 : x3 = XEXP (x2, 1);
6355 : 278 : if (!rtx_equal_p (x3, operands[1]))
6356 : : return -1;
6357 : : return 0;
6358 : : }
6359 : :
6360 : : int
6361 : 732 : pattern1810 (rtx x1, machine_mode i1, machine_mode i2)
6362 : : {
6363 : 732 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6364 : 732 : int res ATTRIBUTE_UNUSED;
6365 : 732 : if (!register_operand (operands[0], i1)
6366 : 728 : || GET_MODE (x1) != i1
6367 : 728 : || !vsib_mem_operator (operands[7], i2)
6368 : 1460 : || !scratch_operand (operands[1], i1))
6369 : 4 : return -1;
6370 : : return 0;
6371 : : }
6372 : :
6373 : : int
6374 : 298 : pattern1816 (rtx x1, machine_mode i1)
6375 : : {
6376 : 298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6377 : 298 : rtx x2, x3, x4, x5, x6, x7;
6378 : 298 : int res ATTRIBUTE_UNUSED;
6379 : 298 : x2 = XVECEXP (x1, 0, 0);
6380 : 298 : x3 = XEXP (x2, 1);
6381 : 298 : x4 = XEXP (x3, 0);
6382 : 298 : x5 = XEXP (x4, 0);
6383 : 298 : if (GET_MODE (x5) != i1
6384 : 298 : || !nonimmediate_operand (operands[1], i1)
6385 : 582 : || !ix86_carry_flag_operator (operands[4], i1))
6386 : 14 : return -1;
6387 : 284 : x6 = XVECEXP (x1, 0, 1);
6388 : 284 : x7 = XEXP (x6, 1);
6389 : 284 : return pattern1813 (x7,
6390 : 284 : i1); /* [-1, 0] */
6391 : : }
6392 : :
6393 : : int
6394 : 465 : pattern1824 (rtx x1, machine_mode i1)
6395 : : {
6396 : 465 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6397 : 465 : rtx x2, x3, x4;
6398 : 465 : int res ATTRIBUTE_UNUSED;
6399 : 465 : operands[4] = x1;
6400 : 465 : if (!register_operand (operands[4], i1))
6401 : : return -1;
6402 : 207 : x2 = PATTERN (peep2_next_insn (3));
6403 : 207 : if (GET_CODE (x2) != SET)
6404 : : return -1;
6405 : 207 : x3 = XEXP (x2, 1);
6406 : 207 : if (!rtx_equal_p (x3, operands[4]))
6407 : : return -1;
6408 : 2 : x4 = XEXP (x2, 0);
6409 : 2 : if (!rtx_equal_p (x4, operands[1]))
6410 : : return -1;
6411 : : return 0;
6412 : : }
6413 : :
6414 : : int
6415 : 423 : pattern1830 (rtx x1, machine_mode i1)
6416 : : {
6417 : 423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6418 : 423 : rtx x2, x3, x4, x5, x6, x7;
6419 : 423 : int res ATTRIBUTE_UNUSED;
6420 : 423 : x2 = XEXP (x1, 0);
6421 : 423 : x3 = XEXP (x2, 0);
6422 : 423 : x4 = XEXP (x3, 0);
6423 : 423 : x5 = XEXP (x4, 0);
6424 : 423 : operands[2] = x5;
6425 : 423 : if (!register_operand (operands[2], i1)
6426 : 423 : || !nonimmediate_operand (operands[3], i1))
6427 : 9 : return -1;
6428 : 414 : x6 = XEXP (x2, 1);
6429 : 414 : if (!rtx_equal_p (x6, operands[3]))
6430 : : return -1;
6431 : 337 : x7 = XEXP (x1, 1);
6432 : 337 : if (!rtx_equal_p (x7, operands[3]))
6433 : : return -1;
6434 : : return 0;
6435 : : }
6436 : :
6437 : : int
6438 : 358 : pattern1839 (machine_mode i1)
6439 : : {
6440 : 358 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6441 : 358 : int res ATTRIBUTE_UNUSED;
6442 : 358 : if (!vsib_address_operand (operands[0], i1))
6443 : : return -1;
6444 : 345 : switch (GET_MODE (operands[2]))
6445 : : {
6446 : 151 : case E_V8SImode:
6447 : 151 : if (!register_operand (operands[2], E_V8SImode)
6448 : 151 : || !register_operand (operands[3], E_V8SFmode))
6449 : 2 : return -1;
6450 : : return 0;
6451 : :
6452 : 194 : case E_V4DImode:
6453 : 194 : if (!register_operand (operands[2], E_V4DImode)
6454 : 194 : || !register_operand (operands[3], E_V4SFmode))
6455 : 21 : return -1;
6456 : : return 1;
6457 : :
6458 : : default:
6459 : : return -1;
6460 : : }
6461 : : }
6462 : :
6463 : : int
6464 : 556 : pattern1848 (rtx x1, machine_mode i1)
6465 : : {
6466 : 556 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6467 : 556 : rtx x2;
6468 : 556 : int res ATTRIBUTE_UNUSED;
6469 : 556 : if (!register_operand (operands[0], i1)
6470 : 556 : || GET_MODE (x1) != i1)
6471 : : return -1;
6472 : 503 : x2 = XEXP (x1, 0);
6473 : 503 : if (GET_MODE (x2) != i1
6474 : 503 : || !nonimmediate_operand (operands[1], i1)
6475 : 1006 : || !nonimm_or_0_operand (operands[10], i1))
6476 : 27 : return -1;
6477 : : return 0;
6478 : : }
6479 : :
6480 : : int
6481 : 580 : pattern1854 (rtx x1, machine_mode i1)
6482 : : {
6483 : 580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6484 : 580 : int res ATTRIBUTE_UNUSED;
6485 : 580 : if (!register_operand (operands[3], i1))
6486 : : return -1;
6487 : 558 : switch (GET_MODE (x1))
6488 : : {
6489 : 0 : case E_SImode:
6490 : 0 : if (!vsib_address_operand (operands[4], E_SImode))
6491 : : return -1;
6492 : : return 0;
6493 : :
6494 : 558 : case E_DImode:
6495 : 558 : if (!vsib_address_operand (operands[4], E_DImode))
6496 : : return -1;
6497 : : return 1;
6498 : :
6499 : : default:
6500 : : return -1;
6501 : : }
6502 : : }
6503 : :
6504 : : int
6505 : 668 : pattern1858 (rtx x1)
6506 : : {
6507 : 668 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6508 : 668 : rtx x2, x3, x4, x5;
6509 : 668 : int res ATTRIBUTE_UNUSED;
6510 : 668 : x2 = XVECEXP (x1, 0, 4);
6511 : 668 : if (XWINT (x2, 0) != 6L)
6512 : : return -1;
6513 : 668 : x3 = XVECEXP (x1, 0, 5);
6514 : 668 : if (XWINT (x3, 0) != 22L)
6515 : : return -1;
6516 : 668 : x4 = XVECEXP (x1, 0, 6);
6517 : 668 : if (XWINT (x4, 0) != 7L)
6518 : : return -1;
6519 : 668 : x5 = XVECEXP (x1, 0, 7);
6520 : 668 : if (XWINT (x5, 0) != 23L)
6521 : 0 : return -1;
6522 : : return 0;
6523 : : }
6524 : :
6525 : : int
6526 : 395 : pattern1863 (rtx x1, machine_mode i1, machine_mode i2)
6527 : : {
6528 : 395 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6529 : 395 : rtx x2, x3, x4, x5, x6, x7;
6530 : 395 : int res ATTRIBUTE_UNUSED;
6531 : 395 : if (!nonimmediate_operand (operands[1], i1))
6532 : : return -1;
6533 : 395 : x2 = XVECEXP (x1, 0, 0);
6534 : 395 : x3 = XEXP (x2, 1);
6535 : 395 : x4 = XEXP (x3, 1);
6536 : 395 : if (GET_MODE (x4) != i2
6537 : 395 : || !ix86_carry_flag_operator (operands[4], i2)
6538 : 395 : || !const_scalar_int_operand (operands[6], i2)
6539 : 790 : || !nonimmediate_operand (operands[0], i1))
6540 : 0 : return -1;
6541 : 395 : x5 = XVECEXP (x1, 0, 1);
6542 : 395 : x6 = XEXP (x5, 1);
6543 : 395 : if (GET_MODE (x6) != i1)
6544 : : return -1;
6545 : 395 : x7 = XEXP (x6, 0);
6546 : 395 : if (GET_MODE (x7) != i1
6547 : 395 : || !ix86_carry_flag_operator (operands[5], i1)
6548 : 790 : || !x86_64_immediate_operand (operands[2], i1))
6549 : 240 : return -1;
6550 : : return 0;
6551 : : }
6552 : :
6553 : : int
6554 : 401 : pattern1874 ()
6555 : : {
6556 : 401 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6557 : 401 : int res ATTRIBUTE_UNUSED;
6558 : 401 : if (!const_0_to_15_operand (operands[2], E_VOIDmode)
6559 : 401 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
6560 : 401 : || !const_0_to_15_operand (operands[4], E_VOIDmode)
6561 : 401 : || !const_0_to_15_operand (operands[5], E_VOIDmode)
6562 : 401 : || !const_0_to_15_operand (operands[6], E_VOIDmode)
6563 : 401 : || !const_0_to_15_operand (operands[7], E_VOIDmode)
6564 : 401 : || !const_0_to_15_operand (operands[8], E_VOIDmode)
6565 : 401 : || !const_0_to_15_operand (operands[9], E_VOIDmode)
6566 : 401 : || !const_0_to_15_operand (operands[10], E_VOIDmode)
6567 : 401 : || !const_0_to_15_operand (operands[11], E_VOIDmode)
6568 : 401 : || !const_0_to_15_operand (operands[12], E_VOIDmode)
6569 : 401 : || !const_0_to_15_operand (operands[13], E_VOIDmode)
6570 : 401 : || !const_0_to_15_operand (operands[14], E_VOIDmode)
6571 : 401 : || !const_0_to_15_operand (operands[15], E_VOIDmode)
6572 : 401 : || !const_0_to_15_operand (operands[16], E_VOIDmode)
6573 : 802 : || !const_0_to_15_operand (operands[17], E_VOIDmode))
6574 : 0 : return -1;
6575 : : return 0;
6576 : : }
6577 : :
6578 : : int
6579 : 935 : pattern1883 (rtx x1, machine_mode i1)
6580 : : {
6581 : 935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6582 : 935 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6583 : 935 : rtx x10;
6584 : 935 : int res ATTRIBUTE_UNUSED;
6585 : 935 : x2 = XVECEXP (x1, 0, 1);
6586 : 935 : x3 = XEXP (x2, 1);
6587 : 935 : if (XINT (x3, 1) != 109
6588 : 935 : || GET_MODE (x3) != i1)
6589 : : return -1;
6590 : 935 : x4 = XVECEXP (x1, 0, 2);
6591 : 935 : x5 = XEXP (x4, 1);
6592 : 935 : if (GET_CODE (x5) != UNSPEC_VOLATILE
6593 : 935 : || XVECLEN (x5, 0) != 1
6594 : 935 : || XINT (x5, 1) != 109
6595 : 935 : || GET_MODE (x5) != E_CCZmode)
6596 : : return -1;
6597 : 935 : x6 = XVECEXP (x5, 0, 0);
6598 : 935 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
6599 : 935 : || !memory_operand (operands[2], i1)
6600 : 1870 : || !register_operand (operands[3], i1))
6601 : 0 : return -1;
6602 : 935 : x7 = XEXP (x4, 0);
6603 : 935 : if (GET_MODE (x7) != E_CCZmode)
6604 : : return -1;
6605 : 935 : x8 = PATTERN (peep2_next_insn (2));
6606 : 935 : x9 = XEXP (x8, 0);
6607 : 935 : if (GET_MODE (x9) != E_CCZmode)
6608 : : return -1;
6609 : 935 : x10 = XEXP (x8, 1);
6610 : 935 : if (GET_MODE (x10) != E_CCZmode
6611 : 935 : || !register_operand (operands[5], i1)
6612 : 1869 : || !general_operand (operands[6], i1))
6613 : 1 : return -1;
6614 : : return 0;
6615 : : }
6616 : :
6617 : : int
6618 : 0 : pattern1893 (rtx x1, machine_mode i1, machine_mode i2)
6619 : : {
6620 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6621 : 0 : rtx x2, x3, x4, x5, x6, x7;
6622 : 0 : int res ATTRIBUTE_UNUSED;
6623 : 0 : x2 = XVECEXP (x1, 0, 0);
6624 : 0 : x3 = XEXP (x2, 1);
6625 : 0 : x4 = XEXP (x3, 0);
6626 : 0 : x5 = XEXP (x4, 0);
6627 : 0 : if (GET_MODE (x5) != i2
6628 : 0 : || !ix86_carry_flag_operator (operands[4], i2))
6629 : 0 : return -1;
6630 : 0 : x6 = XEXP (x5, 1);
6631 : 0 : if (GET_MODE (x6) != i2
6632 : 0 : || !nonimmediate_operand (operands[1], i1))
6633 : 0 : return -1;
6634 : 0 : x7 = XEXP (x4, 1);
6635 : 0 : if (GET_MODE (x7) != i2
6636 : 0 : || !sext_operand (operands[2], i1)
6637 : 0 : || pattern1892 (x1,
6638 : : i1,
6639 : : i2) != 0)
6640 : 0 : return -1;
6641 : : return 0;
6642 : : }
6643 : :
6644 : : int
6645 : 718 : pattern1901 (rtx x1, int i1, int i2, int i3, int i4)
6646 : : {
6647 : 718 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6648 : 718 : rtx x2, x3, x4, x5;
6649 : 718 : int res ATTRIBUTE_UNUSED;
6650 : 718 : x2 = XVECEXP (x1, 0, 28);
6651 : 718 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6652 : : return -1;
6653 : 718 : x3 = XVECEXP (x1, 0, 29);
6654 : 718 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6655 : : return -1;
6656 : 718 : x4 = XVECEXP (x1, 0, 30);
6657 : 718 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6658 : : return -1;
6659 : 718 : x5 = XVECEXP (x1, 0, 31);
6660 : 718 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6661 : 0 : return -1;
6662 : : return 0;
6663 : : }
6664 : :
6665 : : int
6666 : 236 : pattern1908 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6667 : : {
6668 : 236 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6669 : 236 : rtx x2, x3, x4;
6670 : 236 : int res ATTRIBUTE_UNUSED;
6671 : 236 : if (!register_operand (operands[0], i3)
6672 : 236 : || GET_MODE (x1) != i3)
6673 : : return -1;
6674 : 232 : x2 = XEXP (x1, 0);
6675 : 232 : if (GET_MODE (x2) != i3)
6676 : : return -1;
6677 : 232 : x3 = XEXP (x2, 0);
6678 : 232 : if (GET_MODE (x3) != i3)
6679 : : return -1;
6680 : 232 : x4 = XEXP (x3, 0);
6681 : 232 : if (GET_MODE (x4) != i2
6682 : 232 : || !register_operand (operands[1], i1))
6683 : 10 : return -1;
6684 : : return 0;
6685 : : }
6686 : :
6687 : : int
6688 : 95656268 : recog_2 (rtx x1 ATTRIBUTE_UNUSED,
6689 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6690 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6691 : : {
6692 : 95656268 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6693 : 95656268 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6694 : 95656268 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6695 : 95656268 : int res ATTRIBUTE_UNUSED;
6696 : 95656268 : x2 = XEXP (x1, 1);
6697 : 95656268 : x3 = XEXP (x2, 0);
6698 : 95656268 : switch (GET_CODE (x3))
6699 : : {
6700 : 95654992 : case NE:
6701 : 95654992 : case EQ:
6702 : 95654992 : case GE:
6703 : 95654992 : case GT:
6704 : 95654992 : case LE:
6705 : 95654992 : case LT:
6706 : 95654992 : case LTGT:
6707 : 95654992 : case GEU:
6708 : 95654992 : case GTU:
6709 : 95654992 : case LEU:
6710 : 95654992 : case LTU:
6711 : 95654992 : case UNORDERED:
6712 : 95654992 : case ORDERED:
6713 : 95654992 : case UNEQ:
6714 : 95654992 : case UNGE:
6715 : 95654992 : case UNGT:
6716 : 95654992 : case UNLE:
6717 : 95654992 : case UNLT:
6718 : 95654992 : operands[1] = x3;
6719 : 95654992 : res = recog_1 (x1, insn, pnum_clobbers);
6720 : 95654992 : if (res >= 0)
6721 : : return res;
6722 : 15020136 : if (pnum_clobbers == NULL
6723 : 15020136 : || !bt_comparison_operator (x3, E_VOIDmode))
6724 : 5570989 : return -1;
6725 : 9449147 : x4 = XEXP (x3, 1);
6726 : 9449147 : if (GET_CODE (x4) != CONST_INT)
6727 : : return -1;
6728 : 7189352 : x5 = XEXP (x3, 0);
6729 : 7189352 : switch (GET_CODE (x5))
6730 : : {
6731 : 4550732 : case REG:
6732 : 4550732 : case SUBREG:
6733 : 4550732 : switch (XWINT (x4, 0))
6734 : : {
6735 : 3243705 : case 0L:
6736 : 3243705 : x6 = XEXP (x2, 1);
6737 : 3243705 : if (GET_CODE (x6) != PLUS
6738 : 34525 : || GET_MODE (x6) != E_HImode)
6739 : : return -1;
6740 : 393 : x7 = XEXP (x6, 1);
6741 : 393 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
6742 : : return -1;
6743 : 18 : x8 = XEXP (x1, 0);
6744 : 18 : operands[0] = x8;
6745 : 18 : if (!register_operand (operands[0], E_HImode)
6746 : 18 : || GET_MODE (x2) != E_HImode)
6747 : : return -1;
6748 : 18 : operands[1] = x3;
6749 : 18 : operands[2] = x5;
6750 : 18 : if (!register_operand (operands[2], E_HImode))
6751 : : return -1;
6752 : 14 : x9 = XEXP (x2, 2);
6753 : 14 : operands[3] = x9;
6754 : 14 : if (!nonimmediate_operand (operands[3], E_HImode))
6755 : : return -1;
6756 : 4 : x10 = XEXP (x6, 0);
6757 : 4 : if (!rtx_equal_p (x10, operands[2])
6758 : 4 : || !
6759 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6760 : : (TARGET_CMOVE))
6761 : : return -1;
6762 : : *pnum_clobbers = 1;
6763 : : return 453; /* *dec_cmovhi */
6764 : :
6765 : : case -1L:
6766 : : x6 = XEXP (x2, 1);
6767 : : switch (GET_CODE (x6))
6768 : : {
6769 : : case LABEL_REF:
6770 : : x9 = XEXP (x2, 2);
6771 : : if (GET_CODE (x9) != PC)
6772 : : return -1;
6773 : : x8 = XEXP (x1, 0);
6774 : : if (GET_CODE (x8) != PC)
6775 : : return -1;
6776 : : operands[0] = x3;
6777 : : operands[1] = x5;
6778 : : x10 = XEXP (x6, 0);
6779 : : operands[2] = x10;
6780 : : switch (GET_MODE (operands[1]))
6781 : : {
6782 : : case E_QImode:
6783 : : if (!register_operand (operands[1], E_QImode)
6784 : : || !(
6785 : : #line 2437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6786 : : (TARGET_AVX512BW) &&
6787 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6788 : : (TARGET_AVX512DQ)))
6789 : : return -1;
6790 : : *pnum_clobbers = 1;
6791 : : return 2693; /* *kortest_cmpqi_jcc */
6792 : :
6793 : : case E_HImode:
6794 : : if (!register_operand (operands[1], E_HImode)
6795 : : || !
6796 : : #line 2437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6797 : : (TARGET_AVX512BW))
6798 : : return -1;
6799 : : *pnum_clobbers = 1;
6800 : : return 2694; /* *kortest_cmphi_jcc */
6801 : :
6802 : : case E_SImode:
6803 : : if (!register_operand (operands[1], E_SImode)
6804 : : || !
6805 : : #line 2437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6806 : : (TARGET_AVX512BW))
6807 : : return -1;
6808 : : *pnum_clobbers = 1;
6809 : : return 2695; /* *kortest_cmpsi_jcc */
6810 : :
6811 : : case E_DImode:
6812 : : if (!register_operand (operands[1], E_DImode)
6813 : : || !(
6814 : : #line 2437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6815 : : (TARGET_AVX512BW) &&
6816 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6817 : : (TARGET_AVX512BW && TARGET_64BIT)))
6818 : : return -1;
6819 : : *pnum_clobbers = 1;
6820 : : return 2696; /* *kortest_cmpdi_jcc */
6821 : :
6822 : : default:
6823 : : return -1;
6824 : : }
6825 : :
6826 : : case REG:
6827 : : case SUBREG:
6828 : : case MEM:
6829 : : operands[2] = x6;
6830 : : x8 = XEXP (x1, 0);
6831 : : operands[0] = x8;
6832 : : operands[1] = x3;
6833 : : operands[4] = x5;
6834 : : x9 = XEXP (x2, 2);
6835 : : operands[3] = x9;
6836 : : switch (GET_MODE (operands[0]))
6837 : : {
6838 : : case E_QImode:
6839 : : if (!register_operand (operands[0], E_QImode)
6840 : : || GET_MODE (x2) != E_QImode
6841 : : || !register_operand (operands[2], E_QImode)
6842 : : || !register_operand (operands[3], E_QImode))
6843 : : return -1;
6844 : : switch (pattern1368 ())
6845 : : {
6846 : : case 0:
6847 : : if (!(
6848 : : #line 2473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6849 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6850 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6851 : : (TARGET_AVX512DQ)))
6852 : : return -1;
6853 : : *pnum_clobbers = 1;
6854 : : return 2697; /* *kortest_cmpqi_movqicc */
6855 : :
6856 : : case 1:
6857 : : if (!
6858 : : #line 2473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6859 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
6860 : : return -1;
6861 : : *pnum_clobbers = 1;
6862 : : return 2698; /* *kortest_cmphi_movqicc */
6863 : :
6864 : : case 2:
6865 : : if (!(
6866 : : #line 2473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6867 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6868 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6869 : : (TARGET_AVX512BW)))
6870 : : return -1;
6871 : : *pnum_clobbers = 1;
6872 : : return 2699; /* *kortest_cmpsi_movqicc */
6873 : :
6874 : : case 3:
6875 : : if (!(
6876 : : #line 2473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6877 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6878 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6879 : : (TARGET_AVX512BW && TARGET_64BIT)))
6880 : : return -1;
6881 : : *pnum_clobbers = 1;
6882 : : return 2700; /* *kortest_cmpdi_movqicc */
6883 : :
6884 : : default:
6885 : : return -1;
6886 : : }
6887 : :
6888 : : case E_HImode:
6889 : : switch (pattern1369 (x2,
6890 : : E_HImode))
6891 : : {
6892 : : case 0:
6893 : : if (!(
6894 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6895 : : (TARGET_AVX512BW && TARGET_CMOVE
6896 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6897 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6898 : : (TARGET_AVX512DQ)))
6899 : : return -1;
6900 : : *pnum_clobbers = 1;
6901 : : return 2701; /* *kortest_cmpqi_movhicc */
6902 : :
6903 : : case 1:
6904 : : if (!
6905 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6906 : : (TARGET_AVX512BW && TARGET_CMOVE
6907 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
6908 : : return -1;
6909 : : *pnum_clobbers = 1;
6910 : : return 2704; /* *kortest_cmphi_movhicc */
6911 : :
6912 : : case 2:
6913 : : if (!(
6914 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6915 : : (TARGET_AVX512BW && TARGET_CMOVE
6916 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6917 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6918 : : (TARGET_AVX512BW)))
6919 : : return -1;
6920 : : *pnum_clobbers = 1;
6921 : : return 2707; /* *kortest_cmpsi_movhicc */
6922 : :
6923 : : case 3:
6924 : : if (!(
6925 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6926 : : (TARGET_AVX512BW && TARGET_CMOVE
6927 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6928 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6929 : : (TARGET_AVX512BW && TARGET_64BIT)))
6930 : : return -1;
6931 : : *pnum_clobbers = 1;
6932 : : return 2710; /* *kortest_cmpdi_movhicc */
6933 : :
6934 : : default:
6935 : : return -1;
6936 : : }
6937 : :
6938 : : default:
6939 : : return -1;
6940 : : }
6941 : :
6942 : : default:
6943 : : return -1;
6944 : : }
6945 : :
6946 : : default:
6947 : : return -1;
6948 : : }
6949 : :
6950 : : case ZERO_EXTRACT:
6951 : : x11 = XEXP (x5, 1);
6952 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
6953 : : || XWINT (x4, 0) != 0L)
6954 : : return -1;
6955 : : x6 = XEXP (x2, 1);
6956 : : if (GET_CODE (x6) != LABEL_REF)
6957 : : return -1;
6958 : : x9 = XEXP (x2, 2);
6959 : : if (GET_CODE (x9) != PC)
6960 : : return -1;
6961 : : x8 = XEXP (x1, 0);
6962 : : if (GET_CODE (x8) != PC)
6963 : : return -1;
6964 : : operands[0] = x3;
6965 : : x12 = XEXP (x5, 0);
6966 : : operands[1] = x12;
6967 : : x13 = XEXP (x5, 2);
6968 : : switch (GET_CODE (x13))
6969 : : {
6970 : : case CONST_INT:
6971 : : case CONST_WIDE_INT:
6972 : : case CONST_POLY_INT:
6973 : : case CONST_FIXED:
6974 : : case CONST_DOUBLE:
6975 : : case CONST_VECTOR:
6976 : : case CONST:
6977 : : case REG:
6978 : : case SUBREG:
6979 : : case LABEL_REF:
6980 : : case SYMBOL_REF:
6981 : : case HIGH:
6982 : : operands[2] = x13;
6983 : : if (nonmemory_operand (operands[2], E_QImode))
6984 : : {
6985 : : x10 = XEXP (x6, 0);
6986 : : operands[3] = x10;
6987 : : switch (GET_MODE (x5))
6988 : : {
6989 : : case E_SImode:
6990 : : if (nonimmediate_operand (operands[1], E_SImode)
6991 : : &&
6992 : : #line 19499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6993 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6994 : : && (CONST_INT_P (operands[2])
6995 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
6996 : : && INTVAL (operands[2])
6997 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
6998 : : : !memory_operand (operands[1], SImode))
6999 : : && ix86_pre_reload_split ()))
7000 : : {
7001 : : *pnum_clobbers = 1;
7002 : : return 1456; /* *jcc_btsi */
7003 : : }
7004 : : break;
7005 : :
7006 : : case E_DImode:
7007 : : if (nonimmediate_operand (operands[1], E_DImode)
7008 : : && (
7009 : : #line 19499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7010 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7011 : : && (CONST_INT_P (operands[2])
7012 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
7013 : : && INTVAL (operands[2])
7014 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
7015 : : : !memory_operand (operands[1], DImode))
7016 : : && ix86_pre_reload_split ()) &&
7017 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7018 : : (TARGET_64BIT)))
7019 : : {
7020 : : *pnum_clobbers = 1;
7021 : : return 1457; /* *jcc_btdi */
7022 : : }
7023 : : break;
7024 : :
7025 : : default:
7026 : : break;
7027 : : }
7028 : : }
7029 : : if (GET_CODE (x13) != SUBREG
7030 : : || maybe_ne (SUBREG_BYTE (x13), 0)
7031 : : || GET_MODE (x13) != E_QImode)
7032 : : return -1;
7033 : : x14 = XEXP (x13, 0);
7034 : : if (GET_CODE (x14) != AND)
7035 : : return -1;
7036 : : x15 = XEXP (x14, 0);
7037 : : operands[2] = x15;
7038 : : x16 = XEXP (x14, 1);
7039 : : operands[3] = x16;
7040 : : if (!const_int_operand (operands[3], E_VOIDmode))
7041 : : return -1;
7042 : : x10 = XEXP (x6, 0);
7043 : : operands[4] = x10;
7044 : : switch (GET_MODE (x5))
7045 : : {
7046 : : case E_SImode:
7047 : : switch (pattern1779 (x14,
7048 : : E_SImode))
7049 : : {
7050 : : case 0:
7051 : : if (!
7052 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7053 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7054 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
7055 : : == GET_MODE_BITSIZE (SImode)-1
7056 : : && ix86_pre_reload_split ()))
7057 : : return -1;
7058 : : *pnum_clobbers = 1;
7059 : : return 1460; /* *jcc_btsi_mask_1 */
7060 : :
7061 : : case 1:
7062 : : if (!
7063 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7064 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7065 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
7066 : : == GET_MODE_BITSIZE (SImode)-1
7067 : : && ix86_pre_reload_split ()))
7068 : : return -1;
7069 : : *pnum_clobbers = 1;
7070 : : return 1462; /* *jcc_btsi_mask_1 */
7071 : :
7072 : : case 2:
7073 : : if (!(
7074 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7075 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7076 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
7077 : : == GET_MODE_BITSIZE (SImode)-1
7078 : : && ix86_pre_reload_split ()) &&
7079 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7080 : : (TARGET_64BIT)))
7081 : : return -1;
7082 : : *pnum_clobbers = 1;
7083 : : return 1464; /* *jcc_btsi_mask_1 */
7084 : :
7085 : : default:
7086 : : return -1;
7087 : : }
7088 : :
7089 : : case E_DImode:
7090 : : switch (pattern1779 (x14,
7091 : : E_DImode))
7092 : : {
7093 : : case 0:
7094 : : if (!(
7095 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7096 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7097 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
7098 : : == GET_MODE_BITSIZE (DImode)-1
7099 : : && ix86_pre_reload_split ()) &&
7100 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7101 : : (TARGET_64BIT)))
7102 : : return -1;
7103 : : *pnum_clobbers = 1;
7104 : : return 1461; /* *jcc_btdi_mask_1 */
7105 : :
7106 : : case 1:
7107 : : if (!(
7108 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7109 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7110 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
7111 : : == GET_MODE_BITSIZE (DImode)-1
7112 : : && ix86_pre_reload_split ()) &&
7113 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7114 : : (TARGET_64BIT)))
7115 : : return -1;
7116 : : *pnum_clobbers = 1;
7117 : : return 1463; /* *jcc_btdi_mask_1 */
7118 : :
7119 : : case 2:
7120 : : if (!(
7121 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7122 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7123 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
7124 : : == GET_MODE_BITSIZE (DImode)-1
7125 : : && ix86_pre_reload_split ()) &&
7126 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7127 : : (TARGET_64BIT)))
7128 : : return -1;
7129 : : *pnum_clobbers = 1;
7130 : : return 1465; /* *jcc_btdi_mask_1 */
7131 : :
7132 : : default:
7133 : : return -1;
7134 : : }
7135 : :
7136 : : default:
7137 : : return -1;
7138 : : }
7139 : :
7140 : : case AND:
7141 : : if (GET_MODE (x13) != E_QImode)
7142 : : return -1;
7143 : : x14 = XEXP (x13, 0);
7144 : : operands[2] = x14;
7145 : : if (!register_operand (operands[2], E_QImode))
7146 : : return -1;
7147 : : x17 = XEXP (x13, 1);
7148 : : operands[3] = x17;
7149 : : if (!const_int_operand (operands[3], E_VOIDmode))
7150 : : return -1;
7151 : : x10 = XEXP (x6, 0);
7152 : : operands[4] = x10;
7153 : : switch (GET_MODE (x5))
7154 : : {
7155 : : case E_SImode:
7156 : : if (!register_operand (operands[1], E_SImode)
7157 : : || !
7158 : : #line 19538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7159 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7160 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
7161 : : == GET_MODE_BITSIZE (SImode)-1
7162 : : && ix86_pre_reload_split ()))
7163 : : return -1;
7164 : : *pnum_clobbers = 1;
7165 : : return 1458; /* *jcc_btsi_mask */
7166 : :
7167 : : case E_DImode:
7168 : : if (!register_operand (operands[1], E_DImode)
7169 : : || !(
7170 : : #line 19538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7171 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
7172 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
7173 : : == GET_MODE_BITSIZE (DImode)-1
7174 : : && ix86_pre_reload_split ()) &&
7175 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7176 : : (TARGET_64BIT)))
7177 : : return -1;
7178 : : *pnum_clobbers = 1;
7179 : : return 1459; /* *jcc_btdi_mask */
7180 : :
7181 : : default:
7182 : : return -1;
7183 : : }
7184 : :
7185 : : default:
7186 : : return -1;
7187 : : }
7188 : :
7189 : : default:
7190 : : return -1;
7191 : : }
7192 : :
7193 : : case REG:
7194 : : case SUBREG:
7195 : : x8 = XEXP (x1, 0);
7196 : : operands[0] = x8;
7197 : : switch (GET_MODE (operands[0]))
7198 : : {
7199 : : case E_SFmode:
7200 : : if (pattern250 (x2,
7201 : : E_SFmode) != 0
7202 : : || !
7203 : : #line 27114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7204 : : (TARGET_XOP))
7205 : : return -1;
7206 : : return 1847; /* *xop_pcmov_sf */
7207 : :
7208 : : case E_DFmode:
7209 : : if (pattern250 (x2,
7210 : : E_DFmode) != 0
7211 : : || !
7212 : : #line 27114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7213 : : (TARGET_XOP))
7214 : : return -1;
7215 : : return 1848; /* *xop_pcmov_df */
7216 : :
7217 : : case E_V8QImode:
7218 : : if (pattern251 (x2,
7219 : : E_V8QImode) != 0
7220 : : || !
7221 : : #line 4489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7222 : : (TARGET_XOP && TARGET_MMX_WITH_SSE))
7223 : : return -1;
7224 : : return 2309; /* *xop_pcmov_v8qi */
7225 : :
7226 : : case E_V4HImode:
7227 : : if (pattern251 (x2,
7228 : : E_V4HImode) != 0
7229 : : || !
7230 : : #line 4489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7231 : : (TARGET_XOP && TARGET_MMX_WITH_SSE))
7232 : : return -1;
7233 : : return 2310; /* *xop_pcmov_v4hi */
7234 : :
7235 : : case E_V2SImode:
7236 : : if (pattern251 (x2,
7237 : : E_V2SImode) != 0
7238 : : || !
7239 : : #line 4489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7240 : : (TARGET_XOP && TARGET_MMX_WITH_SSE))
7241 : : return -1;
7242 : : return 2311; /* *xop_pcmov_v2si */
7243 : :
7244 : : case E_V2SFmode:
7245 : : if (pattern251 (x2,
7246 : : E_V2SFmode) != 0
7247 : : || !
7248 : : #line 4489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7249 : : (TARGET_XOP && TARGET_MMX_WITH_SSE))
7250 : : return -1;
7251 : : return 2312; /* *xop_pcmov_v2sf */
7252 : :
7253 : : case E_V4HFmode:
7254 : : if (pattern251 (x2,
7255 : : E_V4HFmode) != 0
7256 : : || !
7257 : : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7258 : : (TARGET_XOP && TARGET_MMX_WITH_SSE))
7259 : : return -1;
7260 : : return 2313; /* *xop_pcmov_v4hf */
7261 : :
7262 : : case E_V4BFmode:
7263 : : if (pattern251 (x2,
7264 : : E_V4BFmode) != 0
7265 : : || !
7266 : : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7267 : : (TARGET_XOP && TARGET_MMX_WITH_SSE))
7268 : : return -1;
7269 : : return 2314; /* *xop_pcmov_v4bf */
7270 : :
7271 : : case E_V4QImode:
7272 : : if (pattern251 (x2,
7273 : : E_V4QImode) != 0
7274 : : || !
7275 : : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7276 : : (TARGET_XOP))
7277 : : return -1;
7278 : : return 2315; /* *xop_pcmov_v4qi */
7279 : :
7280 : : case E_V2QImode:
7281 : : if (pattern251 (x2,
7282 : : E_V2QImode) != 0
7283 : : || !
7284 : : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7285 : : (TARGET_XOP))
7286 : : return -1;
7287 : : return 2316; /* *xop_pcmov_v2qi */
7288 : :
7289 : : case E_V2HImode:
7290 : : if (pattern251 (x2,
7291 : : E_V2HImode) != 0
7292 : : || !
7293 : : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7294 : : (TARGET_XOP))
7295 : : return -1;
7296 : : return 2317; /* *xop_pcmov_v2hi */
7297 : :
7298 : : case E_V2HFmode:
7299 : : if (pattern251 (x2,
7300 : : E_V2HFmode) != 0
7301 : : || !
7302 : : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7303 : : (TARGET_XOP))
7304 : : return -1;
7305 : : return 2318; /* *xop_pcmov_v2hf */
7306 : :
7307 : : case E_V2BFmode:
7308 : : if (pattern251 (x2,
7309 : : E_V2BFmode) != 0
7310 : : || !
7311 : : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7312 : : (TARGET_XOP))
7313 : : return -1;
7314 : : return 2319; /* *xop_pcmov_v2bf */
7315 : :
7316 : : default:
7317 : : return -1;
7318 : : }
7319 : :
7320 : : case AND:
7321 : : if (GET_MODE (x3) != E_QImode)
7322 : : return -1;
7323 : : x4 = XEXP (x3, 1);
7324 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
7325 : : return -1;
7326 : : x6 = XEXP (x2, 1);
7327 : : if (pattern252 (x6) != 0)
7328 : : return -1;
7329 : : x8 = XEXP (x1, 0);
7330 : : operands[0] = x8;
7331 : : x5 = XEXP (x3, 0);
7332 : : operands[2] = x5;
7333 : : if (!register_operand (operands[2], E_QImode))
7334 : : return -1;
7335 : : x10 = XEXP (x6, 0);
7336 : : operands[1] = x10;
7337 : : x9 = XEXP (x2, 2);
7338 : : if (!rtx_equal_p (x9, operands[0]))
7339 : : return -1;
7340 : : switch (GET_MODE (operands[0]))
7341 : : {
7342 : : case E_HFmode:
7343 : : if (pattern1453 (x2,
7344 : : E_V8HFmode,
7345 : : E_HFmode) != 0
7346 : : || !(
7347 : : #line 1757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7348 : : (TARGET_AVX512F) &&
7349 : : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7350 : : (TARGET_AVX512FP16)))
7351 : : return -1;
7352 : : return 2566; /* avx512f_storehf_mask */
7353 : :
7354 : : case E_SFmode:
7355 : : if (pattern1453 (x2,
7356 : : E_V4SFmode,
7357 : : E_SFmode) != 0
7358 : : || !
7359 : : #line 1757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7360 : : (TARGET_AVX512F))
7361 : : return -1;
7362 : : return 2567; /* avx512f_storesf_mask */
7363 : :
7364 : : case E_DFmode:
7365 : : if (pattern1453 (x2,
7366 : : E_V2DFmode,
7367 : : E_DFmode) != 0
7368 : : || !
7369 : : #line 1757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7370 : : (TARGET_AVX512F))
7371 : : return -1;
7372 : : return 2568; /* avx512f_storedf_mask */
7373 : :
7374 : : default:
7375 : : return -1;
7376 : : }
7377 : :
7378 : : default:
7379 : : return -1;
7380 : : }
7381 : : }
7382 : :
7383 : : int
7384 : : recog_26 (rtx x1 ATTRIBUTE_UNUSED,
7385 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7386 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7387 : : {
7388 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7389 : : rtx x2, x3, x4, x5, x6, x7, x8;
7390 : : int res ATTRIBUTE_UNUSED;
7391 : : x2 = XEXP (x1, 1);
7392 : : switch (GET_CODE (x2))
7393 : : {
7394 : : case SIGN_EXTRACT:
7395 : : res = recog_22 (x1, insn, pnum_clobbers);
7396 : : if (res >= 0)
7397 : : return res;
7398 : : break;
7399 : :
7400 : : case ZERO_EXTRACT:
7401 : : res = recog_23 (x1, insn, pnum_clobbers);
7402 : : if (res >= 0)
7403 : : return res;
7404 : : break;
7405 : :
7406 : : case LSHIFTRT:
7407 : : res = recog_24 (x1, insn, pnum_clobbers);
7408 : : if (res >= 0)
7409 : : return res;
7410 : : break;
7411 : :
7412 : : case ASHIFTRT:
7413 : : res = recog_25 (x1, insn, pnum_clobbers);
7414 : : if (res >= 0)
7415 : : return res;
7416 : : break;
7417 : :
7418 : : default:
7419 : : break;
7420 : : }
7421 : : x3 = XEXP (x1, 0);
7422 : : if (GET_CODE (x3) != ZERO_EXTRACT)
7423 : : return -1;
7424 : : x4 = XEXP (x3, 1);
7425 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7426 : : return -1;
7427 : : x5 = XEXP (x3, 2);
7428 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7429 : : return -1;
7430 : : x6 = XEXP (x3, 0);
7431 : : operands[0] = x6;
7432 : : if (!int248_register_operand (operands[0], E_VOIDmode))
7433 : : return -1;
7434 : : x7 = XEXP (x2, 0);
7435 : : switch (GET_CODE (x7))
7436 : : {
7437 : : case REG:
7438 : : case SUBREG:
7439 : : operands[1] = x7;
7440 : : if (int248_register_operand (operands[1], E_VOIDmode))
7441 : : {
7442 : : operands[2] = x2;
7443 : : switch (GET_MODE (x3))
7444 : : {
7445 : : case E_HImode:
7446 : : if (extract_high_operator (operands[2], E_HImode))
7447 : : return 138; /* *insvqi_2 */
7448 : : break;
7449 : :
7450 : : case E_SImode:
7451 : : if (extract_high_operator (operands[2], E_SImode))
7452 : : return 139; /* *insvqi_2 */
7453 : : break;
7454 : :
7455 : : case E_DImode:
7456 : : if (extract_high_operator (operands[2], E_DImode)
7457 : : &&
7458 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7459 : : (TARGET_64BIT))
7460 : : return 140; /* *insvqi_2 */
7461 : : break;
7462 : :
7463 : : default:
7464 : : break;
7465 : : }
7466 : : }
7467 : : break;
7468 : :
7469 : : case AND:
7470 : : switch (pattern735 (x1, pnum_clobbers))
7471 : : {
7472 : : case 0:
7473 : : if (
7474 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7475 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7476 : : {
7477 : : *pnum_clobbers = 1;
7478 : : return 828; /* *andqi_exthi_3 */
7479 : : }
7480 : : break;
7481 : :
7482 : : case 1:
7483 : : if (
7484 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7485 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7486 : : {
7487 : : *pnum_clobbers = 1;
7488 : : return 831; /* *andqi_extsi_3 */
7489 : : }
7490 : : break;
7491 : :
7492 : : case 2:
7493 : : if ((
7494 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7495 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
7496 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7497 : : (TARGET_64BIT)))
7498 : : {
7499 : : *pnum_clobbers = 1;
7500 : : return 834; /* *andqi_extdi_3 */
7501 : : }
7502 : : break;
7503 : :
7504 : : default:
7505 : : break;
7506 : : }
7507 : : break;
7508 : :
7509 : : case IOR:
7510 : : switch (pattern735 (x1, pnum_clobbers))
7511 : : {
7512 : : case 0:
7513 : : if (
7514 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7515 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7516 : : {
7517 : : *pnum_clobbers = 1;
7518 : : return 829; /* *iorqi_exthi_3 */
7519 : : }
7520 : : break;
7521 : :
7522 : : case 1:
7523 : : if (
7524 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7525 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7526 : : {
7527 : : *pnum_clobbers = 1;
7528 : : return 832; /* *iorqi_extsi_3 */
7529 : : }
7530 : : break;
7531 : :
7532 : : case 2:
7533 : : if ((
7534 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7535 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
7536 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7537 : : (TARGET_64BIT)))
7538 : : {
7539 : : *pnum_clobbers = 1;
7540 : : return 835; /* *iorqi_extdi_3 */
7541 : : }
7542 : : break;
7543 : :
7544 : : default:
7545 : : break;
7546 : : }
7547 : : break;
7548 : :
7549 : : case XOR:
7550 : : switch (pattern735 (x1, pnum_clobbers))
7551 : : {
7552 : : case 0:
7553 : : if (
7554 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7555 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7556 : : {
7557 : : *pnum_clobbers = 1;
7558 : : return 830; /* *xorqi_exthi_3 */
7559 : : }
7560 : : break;
7561 : :
7562 : : case 1:
7563 : : if (
7564 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7565 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7566 : : {
7567 : : *pnum_clobbers = 1;
7568 : : return 833; /* *xorqi_extsi_3 */
7569 : : }
7570 : : break;
7571 : :
7572 : : case 2:
7573 : : if ((
7574 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7575 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
7576 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7577 : : (TARGET_64BIT)))
7578 : : {
7579 : : *pnum_clobbers = 1;
7580 : : return 836; /* *xorqi_extdi_3 */
7581 : : }
7582 : : break;
7583 : :
7584 : : default:
7585 : : break;
7586 : : }
7587 : : break;
7588 : :
7589 : : default:
7590 : : break;
7591 : : }
7592 : : x8 = XEXP (x2, 1);
7593 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7594 : : return -1;
7595 : : operands[1] = x7;
7596 : : switch (GET_CODE (x2))
7597 : : {
7598 : : case LSHIFTRT:
7599 : : switch (pattern966 (x1))
7600 : : {
7601 : : case 0:
7602 : : return 141; /* *insvqi_3 */
7603 : :
7604 : : case 1:
7605 : : return 143; /* *insvqi_3 */
7606 : :
7607 : : case 2:
7608 : : if (!
7609 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7610 : : (TARGET_64BIT))
7611 : : return -1;
7612 : : return 145; /* *insvqi_3 */
7613 : :
7614 : : default:
7615 : : return -1;
7616 : : }
7617 : :
7618 : : case ASHIFTRT:
7619 : : switch (pattern966 (x1))
7620 : : {
7621 : : case 0:
7622 : : return 142; /* *insvqi_3 */
7623 : :
7624 : : case 1:
7625 : : return 144; /* *insvqi_3 */
7626 : :
7627 : : case 2:
7628 : : if (!
7629 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7630 : : (TARGET_64BIT))
7631 : : return -1;
7632 : : return 146; /* *insvqi_3 */
7633 : :
7634 : : default:
7635 : : return -1;
7636 : : }
7637 : :
7638 : : default:
7639 : : return -1;
7640 : : }
7641 : : }
7642 : :
7643 : : int
7644 : : recog_31 (rtx x1 ATTRIBUTE_UNUSED,
7645 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7646 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7647 : : {
7648 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7649 : : rtx x2, x3, x4, x5, x6, x7;
7650 : : int res ATTRIBUTE_UNUSED;
7651 : : x2 = XEXP (x1, 0);
7652 : : operands[0] = x2;
7653 : : x3 = XEXP (x1, 1);
7654 : : x4 = XEXP (x3, 0);
7655 : : switch (GET_CODE (x4))
7656 : : {
7657 : : case REG:
7658 : : case SUBREG:
7659 : : case MEM:
7660 : : operands[1] = x4;
7661 : : switch (GET_MODE (operands[0]))
7662 : : {
7663 : : case E_DImode:
7664 : : if (GET_MODE (x3) == E_DImode)
7665 : : {
7666 : : if (register_operand (operands[0], E_DImode))
7667 : : {
7668 : : switch (GET_MODE (operands[1]))
7669 : : {
7670 : : case E_SImode:
7671 : : if (nonimmediate_operand (operands[1], E_SImode)
7672 : : &&
7673 : : #line 4982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7674 : : (TARGET_64BIT))
7675 : : return 188; /* *extendsidi2_rex64 */
7676 : : break;
7677 : :
7678 : : case E_QImode:
7679 : : if (nonimmediate_operand (operands[1], E_QImode)
7680 : : &&
7681 : : #line 5141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7682 : : (TARGET_64BIT))
7683 : : return 191; /* extendqidi2 */
7684 : : break;
7685 : :
7686 : : case E_HImode:
7687 : : if (nonimmediate_operand (operands[1], E_HImode)
7688 : : &&
7689 : : #line 5141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7690 : : (TARGET_64BIT))
7691 : : return 192; /* extendhidi2 */
7692 : : break;
7693 : :
7694 : : default:
7695 : : break;
7696 : : }
7697 : : }
7698 : : if (pnum_clobbers != NULL
7699 : : && nonimmediate_operand (operands[0], E_DImode)
7700 : : && register_operand (operands[1], E_SImode)
7701 : : &&
7702 : : #line 4996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7703 : : (!TARGET_64BIT))
7704 : : {
7705 : : *pnum_clobbers = 2;
7706 : : return 189; /* extendsidi2_1 */
7707 : : }
7708 : : }
7709 : : break;
7710 : :
7711 : : case E_TImode:
7712 : : if (pattern260 (x3, pnum_clobbers,
7713 : : E_DImode,
7714 : : E_TImode) == 0
7715 : : &&
7716 : : #line 5004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7717 : : (TARGET_64BIT))
7718 : : {
7719 : : *pnum_clobbers = 2;
7720 : : return 190; /* extendditi2 */
7721 : : }
7722 : : break;
7723 : :
7724 : : case E_SImode:
7725 : : if (register_operand (operands[0], E_SImode)
7726 : : && GET_MODE (x3) == E_SImode)
7727 : : {
7728 : : switch (GET_MODE (operands[1]))
7729 : : {
7730 : : case E_HImode:
7731 : : if (nonimmediate_operand (operands[1], E_HImode))
7732 : : return 193; /* extendhisi2 */
7733 : : break;
7734 : :
7735 : : case E_QImode:
7736 : : if (nonimmediate_operand (operands[1], E_QImode))
7737 : : return 195; /* extendqisi2 */
7738 : : break;
7739 : :
7740 : : default:
7741 : : break;
7742 : : }
7743 : : }
7744 : : break;
7745 : :
7746 : : case E_HImode:
7747 : : if (register_operand (operands[0], E_HImode)
7748 : : && GET_MODE (x3) == E_HImode
7749 : : && nonimmediate_operand (operands[1], E_QImode))
7750 : : return 197; /* extendqihi2 */
7751 : : break;
7752 : :
7753 : : default:
7754 : : break;
7755 : : }
7756 : : if (GET_CODE (x4) != SUBREG
7757 : : || maybe_ne (SUBREG_BYTE (x4), 0)
7758 : : || GET_MODE (x4) != E_QImode)
7759 : : return -1;
7760 : : x5 = XEXP (x4, 0);
7761 : : switch (GET_CODE (x5))
7762 : : {
7763 : : case ASHIFTRT:
7764 : : case LSHIFTRT:
7765 : : case SIGN_EXTRACT:
7766 : : case ZERO_EXTRACT:
7767 : : operands[2] = x5;
7768 : : x6 = XEXP (x5, 0);
7769 : : operands[1] = x6;
7770 : : if (!int248_register_operand (operands[1], E_VOIDmode))
7771 : : return -1;
7772 : : switch (GET_MODE (operands[0]))
7773 : : {
7774 : : case E_HImode:
7775 : : switch (pattern1206 (x3,
7776 : : E_HImode))
7777 : : {
7778 : : case 0:
7779 : : return 198; /* *extendqihi_ext_1 */
7780 : :
7781 : : case 1:
7782 : : return 199; /* *extendqihi_ext_1 */
7783 : :
7784 : : case 2:
7785 : : if (!
7786 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7787 : : (TARGET_64BIT))
7788 : : return -1;
7789 : : return 200; /* *extendqihi_ext_1 */
7790 : :
7791 : : default:
7792 : : return -1;
7793 : : }
7794 : :
7795 : : case E_SImode:
7796 : : switch (pattern1206 (x3,
7797 : : E_SImode))
7798 : : {
7799 : : case 0:
7800 : : return 201; /* *extendqisi_ext_1 */
7801 : :
7802 : : case 1:
7803 : : return 202; /* *extendqisi_ext_1 */
7804 : :
7805 : : case 2:
7806 : : if (!
7807 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7808 : : (TARGET_64BIT))
7809 : : return -1;
7810 : : return 203; /* *extendqisi_ext_1 */
7811 : :
7812 : : default:
7813 : : return -1;
7814 : : }
7815 : :
7816 : : default:
7817 : : return -1;
7818 : : }
7819 : :
7820 : : default:
7821 : : return -1;
7822 : : }
7823 : :
7824 : : case SS_TRUNCATE:
7825 : : if (GET_MODE (x4) != E_V2HImode)
7826 : : return -1;
7827 : : x5 = XEXP (x4, 0);
7828 : : if (GET_CODE (x5) != FIX
7829 : : || GET_MODE (x5) != E_V2SImode
7830 : : || !register_operand (operands[0], E_V2SImode)
7831 : : || GET_MODE (x3) != E_V2SImode)
7832 : : return -1;
7833 : : x6 = XEXP (x5, 0);
7834 : : operands[1] = x6;
7835 : : if (!nonimmediate_operand (operands[1], E_V2SFmode)
7836 : : || !
7837 : : #line 1635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7838 : : (TARGET_3DNOW_A))
7839 : : return -1;
7840 : : return 2139; /* mmx_pf2iw */
7841 : :
7842 : : case VEC_SELECT:
7843 : : x7 = XEXP (x4, 1);
7844 : : if (GET_CODE (x7) != PARALLEL)
7845 : : return -1;
7846 : : x5 = XEXP (x4, 0);
7847 : : operands[1] = x5;
7848 : : switch (XVECLEN (x7, 0))
7849 : : {
7850 : : case 4:
7851 : : if (pattern612 (x3) != 0
7852 : : || !
7853 : : #line 5034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7854 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7855 : : return -1;
7856 : : return 2361; /* sse4_1_sign_extendv4qiv4hi2 */
7857 : :
7858 : : case 2:
7859 : : switch (pattern613 (x3))
7860 : : {
7861 : : case 0:
7862 : : if (!
7863 : : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7864 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7865 : : return -1;
7866 : : return 2363; /* sse4_1_sign_extendv2hiv2si2 */
7867 : :
7868 : : case 1:
7869 : : if (!
7870 : : #line 5098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7871 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7872 : : return -1;
7873 : : return 2365; /* sse4_1_sign_extendv2qiv2si2 */
7874 : :
7875 : : case 2:
7876 : : if (!
7877 : : #line 5124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7878 : : (TARGET_SSE4_1))
7879 : : return -1;
7880 : : return 2367; /* sse4_1_sign_extendv2qiv2hi2 */
7881 : :
7882 : : default:
7883 : : return -1;
7884 : : }
7885 : :
7886 : : default:
7887 : : return -1;
7888 : : }
7889 : :
7890 : : default:
7891 : : return -1;
7892 : : }
7893 : : }
7894 : :
7895 : : int
7896 : : recog_41 (rtx x1 ATTRIBUTE_UNUSED,
7897 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7898 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7899 : : {
7900 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7901 : : rtx x2, x3, x4, x5;
7902 : : int res ATTRIBUTE_UNUSED;
7903 : : x2 = XEXP (x1, 1);
7904 : : x3 = XEXP (x2, 1);
7905 : : if (GET_CODE (x3) != CONST_INT
7906 : : || !register_operand (operands[0], E_QImode)
7907 : : || GET_MODE (x2) != E_QImode)
7908 : : return -1;
7909 : : x4 = XEXP (x2, 0);
7910 : : x5 = XVECEXP (x4, 0, 2);
7911 : : operands[3] = x5;
7912 : : if (!const_0_to_7_operand (operands[3], E_SImode))
7913 : : return -1;
7914 : : switch (XWINT (x3, 0))
7915 : : {
7916 : : case 15L:
7917 : : switch (GET_MODE (operands[1]))
7918 : : {
7919 : : case E_V4SImode:
7920 : : if (!nonimmediate_operand (operands[1], E_V4SImode)
7921 : : || !nonimmediate_operand (operands[2], E_V4SImode)
7922 : : || !(
7923 : : #line 4684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7924 : : (TARGET_AVX512F) &&
7925 : : #line 520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7926 : : (TARGET_AVX512VL)))
7927 : : return -1;
7928 : : return 3463; /* *avx512vl_ucmpv4si3_and15 */
7929 : :
7930 : : case E_V4DImode:
7931 : : if (!nonimmediate_operand (operands[1], E_V4DImode)
7932 : : || !nonimmediate_operand (operands[2], E_V4DImode)
7933 : : || !(
7934 : : #line 4684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7935 : : (TARGET_AVX512F) &&
7936 : : #line 520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7937 : : (TARGET_AVX512VL)))
7938 : : return -1;
7939 : : return 3464; /* *avx512vl_ucmpv4di3_and15 */
7940 : :
7941 : : default:
7942 : : return -1;
7943 : : }
7944 : :
7945 : : case 3L:
7946 : : if (!nonimmediate_operand (operands[1], E_V2DImode)
7947 : : || !nonimmediate_operand (operands[2], E_V2DImode)
7948 : : || !
7949 : : #line 4733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7950 : : (TARGET_AVX512F))
7951 : : return -1;
7952 : : return 3471; /* *avx512vl_ucmpv2di3_and3 */
7953 : :
7954 : : default:
7955 : : return -1;
7956 : : }
7957 : : }
7958 : :
7959 : : int
7960 : : recog_43 (rtx x1 ATTRIBUTE_UNUSED,
7961 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7962 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7963 : : {
7964 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7965 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7966 : : rtx x10, x11, x12, x13;
7967 : : int res ATTRIBUTE_UNUSED;
7968 : : x2 = XEXP (x1, 1);
7969 : : x3 = XEXP (x2, 0);
7970 : : switch (GET_CODE (x3))
7971 : : {
7972 : : case XOR:
7973 : : if (pnum_clobbers == NULL)
7974 : : return -1;
7975 : : x4 = XEXP (x1, 0);
7976 : : operands[0] = x4;
7977 : : x5 = XEXP (x3, 0);
7978 : : operands[1] = x5;
7979 : : x6 = XEXP (x3, 1);
7980 : : operands[2] = x6;
7981 : : switch (GET_MODE (operands[0]))
7982 : : {
7983 : : case E_HImode:
7984 : : if (pattern740 (x2,
7985 : : E_HImode) != 0
7986 : : || !
7987 : : #line 13885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7988 : : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
7989 : : return -1;
7990 : : *pnum_clobbers = 1;
7991 : : return 863; /* *notxorhi_1 */
7992 : :
7993 : : case E_QImode:
7994 : : if (pattern740 (x2,
7995 : : E_QImode) != 0
7996 : : || !
7997 : : #line 14085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7998 : : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
7999 : : return -1;
8000 : : *pnum_clobbers = 1;
8001 : : return 899; /* *notxorqi_1 */
8002 : :
8003 : : default:
8004 : : return -1;
8005 : : }
8006 : :
8007 : : case REG:
8008 : : case SUBREG:
8009 : : case MEM:
8010 : : switch (pattern42 (x1))
8011 : : {
8012 : : case 0:
8013 : : switch (GET_MODE (operands[0]))
8014 : : {
8015 : : case E_TImode:
8016 : : if (!nonimmediate_operand (operands[0], E_TImode)
8017 : : || GET_MODE (x2) != E_TImode
8018 : : || !nonimmediate_operand (operands[1], E_TImode)
8019 : : || !(
8020 : : #line 15279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8021 : : (ix86_unary_operator_ok (NOT, TImode, operands, TARGET_APX_NDD)) &&
8022 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8023 : : (TARGET_64BIT)))
8024 : : return -1;
8025 : : return 1063; /* *one_cmplti2_doubleword */
8026 : :
8027 : : case E_HImode:
8028 : : if (!nonimmediate_operand (operands[0], E_HImode)
8029 : : || GET_MODE (x2) != E_HImode
8030 : : || !nonimmediate_operand (operands[1], E_HImode)
8031 : : || !
8032 : : #line 15292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8033 : : (ix86_unary_operator_ok (NOT, HImode, operands, TARGET_APX_NDD)))
8034 : : return -1;
8035 : : return 1064; /* *one_cmplhi2_1 */
8036 : :
8037 : : case E_QImode:
8038 : : if (!nonimmediate_operand (operands[0], E_QImode)
8039 : : || GET_MODE (x2) != E_QImode
8040 : : || !nonimmediate_operand (operands[1], E_QImode)
8041 : : || !
8042 : : #line 15336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8043 : : (ix86_unary_operator_ok (NOT, QImode, operands, TARGET_APX_NDD)))
8044 : : return -1;
8045 : : return 1073; /* *one_cmplqi2_1 */
8046 : :
8047 : : case E_V4QImode:
8048 : : if (!register_operand (operands[0], E_V4QImode)
8049 : : || GET_MODE (x2) != E_V4QImode
8050 : : || !register_operand (operands[1], E_V4QImode))
8051 : : return -1;
8052 : : return 2322; /* one_cmplv4qi2 */
8053 : :
8054 : : case E_V2QImode:
8055 : : if (!register_operand (operands[0], E_V2QImode)
8056 : : || GET_MODE (x2) != E_V2QImode
8057 : : || !register_operand (operands[1], E_V2QImode))
8058 : : return -1;
8059 : : return 2323; /* one_cmplv2qi2 */
8060 : :
8061 : : case E_V2HImode:
8062 : : if (!register_operand (operands[0], E_V2HImode)
8063 : : || GET_MODE (x2) != E_V2HImode
8064 : : || !register_operand (operands[1], E_V2HImode))
8065 : : return -1;
8066 : : return 2324; /* one_cmplv2hi2 */
8067 : :
8068 : : default:
8069 : : return -1;
8070 : : }
8071 : :
8072 : : case 1:
8073 : : if (!
8074 : : #line 15362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8075 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8076 : : return -1;
8077 : : return 1074; /* *one_cmplqi_1_slp */
8078 : :
8079 : : case 2:
8080 : : if (!
8081 : : #line 15362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8082 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8083 : : return -1;
8084 : : return 1075; /* *one_cmplhi_1_slp */
8085 : :
8086 : : default:
8087 : : return -1;
8088 : : }
8089 : :
8090 : : case ASHIFTRT:
8091 : : case LSHIFTRT:
8092 : : case SIGN_EXTRACT:
8093 : : case ZERO_EXTRACT:
8094 : : operands[2] = x3;
8095 : : switch (pattern90 (x1))
8096 : : {
8097 : : case 0:
8098 : : return 1081; /* *one_cmplqi_exthi_1 */
8099 : :
8100 : : case 1:
8101 : : return 1082; /* *one_cmplqi_extsi_1 */
8102 : :
8103 : : case 2:
8104 : : if (
8105 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8106 : : (TARGET_64BIT))
8107 : : return 1083; /* *one_cmplqi_extdi_1 */
8108 : : break;
8109 : :
8110 : : default:
8111 : : break;
8112 : : }
8113 : : if (pnum_clobbers == NULL
8114 : : || GET_CODE (x3) != ZERO_EXTRACT
8115 : : || GET_MODE (x3) != E_DImode)
8116 : : return -1;
8117 : : x6 = XEXP (x3, 1);
8118 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8119 : : return -1;
8120 : : x4 = XEXP (x1, 0);
8121 : : if (GET_CODE (x4) != ZERO_EXTRACT
8122 : : || GET_MODE (x4) != E_DImode)
8123 : : return -1;
8124 : : x7 = XEXP (x4, 1);
8125 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8126 : : return -1;
8127 : : x8 = XEXP (x4, 0);
8128 : : operands[0] = x8;
8129 : : if (!nonimmediate_operand (operands[0], E_DImode))
8130 : : return -1;
8131 : : x9 = XEXP (x4, 2);
8132 : : operands[1] = x9;
8133 : : if (!const_0_to_63_operand (operands[1], E_QImode)
8134 : : || GET_MODE (x2) != E_DImode)
8135 : : return -1;
8136 : : x5 = XEXP (x3, 0);
8137 : : if (!rtx_equal_p (x5, operands[0]))
8138 : : return -1;
8139 : : x10 = XEXP (x3, 2);
8140 : : if (!rtx_equal_p (x10, operands[1])
8141 : : || !
8142 : : #line 19350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8143 : : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
8144 : : return -1;
8145 : : *pnum_clobbers = 1;
8146 : : return 1447; /* *btcq_imm */
8147 : :
8148 : : case UNSPEC:
8149 : : if (XVECLEN (x3, 0) != 3)
8150 : : return -1;
8151 : : x4 = XEXP (x1, 0);
8152 : : operands[0] = x4;
8153 : : x11 = XVECEXP (x3, 0, 0);
8154 : : operands[1] = x11;
8155 : : x12 = XVECEXP (x3, 0, 1);
8156 : : operands[2] = x12;
8157 : : x13 = XVECEXP (x3, 0, 2);
8158 : : operands[3] = x13;
8159 : : switch (XINT (x3, 1))
8160 : : {
8161 : : case 60:
8162 : : switch (GET_MODE (operands[0]))
8163 : : {
8164 : : case E_HImode:
8165 : : switch (pattern968 (x2))
8166 : : {
8167 : : case 0:
8168 : : if (!
8169 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8170 : : (TARGET_AVX512F && GET_MODE_NUNITS (V16SImode) >= 8
8171 : : && ix86_pre_reload_split ()))
8172 : : return -1;
8173 : : return 3444; /* *avx512f_cmpv16si3 */
8174 : :
8175 : : case 1:
8176 : : if (!(
8177 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8178 : : (TARGET_AVX512F && GET_MODE_NUNITS (V16HFmode) >= 8
8179 : : && ix86_pre_reload_split ()) &&
8180 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8181 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
8182 : : return -1;
8183 : : return 3451; /* *avx512vl_cmpv16hf3 */
8184 : :
8185 : : case 2:
8186 : : if (!
8187 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8188 : : (TARGET_AVX512F && GET_MODE_NUNITS (V16SFmode) >= 8
8189 : : && ix86_pre_reload_split ()))
8190 : : return -1;
8191 : : return 3453; /* *avx512f_cmpv16sf3 */
8192 : :
8193 : : case 3:
8194 : : if (!(
8195 : : #line 4838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8196 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8197 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8198 : : (TARGET_AVX512VL)))
8199 : : return -1;
8200 : : return 3524; /* *avx512vl_cmpv16qi3 */
8201 : :
8202 : : case 4:
8203 : : if (!(
8204 : : #line 4838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8205 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8206 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8207 : : (TARGET_AVX512VL)))
8208 : : return -1;
8209 : : return 3530; /* *avx512vl_cmpv16hi3 */
8210 : :
8211 : : default:
8212 : : return -1;
8213 : : }
8214 : :
8215 : : case E_QImode:
8216 : : switch (pattern969 (x2))
8217 : : {
8218 : : case 0:
8219 : : if (!(
8220 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8221 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8SImode) >= 8
8222 : : && ix86_pre_reload_split ()) &&
8223 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8224 : : (TARGET_AVX512VL)))
8225 : : return -1;
8226 : : return 3445; /* *avx512vl_cmpv8si3 */
8227 : :
8228 : : case 1:
8229 : : if (!(
8230 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8231 : : (TARGET_AVX512F && GET_MODE_NUNITS (V4SImode) >= 8
8232 : : && ix86_pre_reload_split ()) &&
8233 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8234 : : (TARGET_AVX512VL)))
8235 : : return -1;
8236 : : return 3446; /* *avx512vl_cmpv4si3 */
8237 : :
8238 : : case 2:
8239 : : if (!
8240 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8241 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8DImode) >= 8
8242 : : && ix86_pre_reload_split ()))
8243 : : return -1;
8244 : : return 3447; /* *avx512f_cmpv8di3 */
8245 : :
8246 : : case 3:
8247 : : if (!(
8248 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8249 : : (TARGET_AVX512F && GET_MODE_NUNITS (V4DImode) >= 8
8250 : : && ix86_pre_reload_split ()) &&
8251 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8252 : : (TARGET_AVX512VL)))
8253 : : return -1;
8254 : : return 3448; /* *avx512vl_cmpv4di3 */
8255 : :
8256 : : case 4:
8257 : : if (!(
8258 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8259 : : (TARGET_AVX512F && GET_MODE_NUNITS (V2DImode) >= 8
8260 : : && ix86_pre_reload_split ()) &&
8261 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8262 : : (TARGET_AVX512VL)))
8263 : : return -1;
8264 : : return 3449; /* *avx512vl_cmpv2di3 */
8265 : :
8266 : : case 5:
8267 : : if (!(
8268 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8269 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8HFmode) >= 8
8270 : : && ix86_pre_reload_split ()) &&
8271 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8272 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
8273 : : return -1;
8274 : : return 3452; /* *avx512fp16_cmpv8hf3 */
8275 : :
8276 : : case 6:
8277 : : if (!(
8278 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8279 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8SFmode) >= 8
8280 : : && ix86_pre_reload_split ()) &&
8281 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8282 : : (TARGET_AVX512VL)))
8283 : : return -1;
8284 : : return 3454; /* *avx512vl_cmpv8sf3 */
8285 : :
8286 : : case 7:
8287 : : if (!(
8288 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8289 : : (TARGET_AVX512F && GET_MODE_NUNITS (V4SFmode) >= 8
8290 : : && ix86_pre_reload_split ()) &&
8291 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8292 : : (TARGET_AVX512VL)))
8293 : : return -1;
8294 : : return 3455; /* *avx512vl_cmpv4sf3 */
8295 : :
8296 : : case 8:
8297 : : if (!
8298 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8299 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8DFmode) >= 8
8300 : : && ix86_pre_reload_split ()))
8301 : : return -1;
8302 : : return 3456; /* *avx512f_cmpv8df3 */
8303 : :
8304 : : case 9:
8305 : : if (!(
8306 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8307 : : (TARGET_AVX512F && GET_MODE_NUNITS (V4DFmode) >= 8
8308 : : && ix86_pre_reload_split ()) &&
8309 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8310 : : (TARGET_AVX512VL)))
8311 : : return -1;
8312 : : return 3457; /* *avx512vl_cmpv4df3 */
8313 : :
8314 : : case 10:
8315 : : if (!(
8316 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8317 : : (TARGET_AVX512F && GET_MODE_NUNITS (V2DFmode) >= 8
8318 : : && ix86_pre_reload_split ()) &&
8319 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8320 : : (TARGET_AVX512VL)))
8321 : : return -1;
8322 : : return 3458; /* *avx512vl_cmpv2df3 */
8323 : :
8324 : : case 11:
8325 : : if (!(
8326 : : #line 4838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8327 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8328 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8329 : : (TARGET_AVX512VL)))
8330 : : return -1;
8331 : : return 3532; /* *avx512vl_cmpv8hi3 */
8332 : :
8333 : : default:
8334 : : return -1;
8335 : : }
8336 : :
8337 : : default:
8338 : : return -1;
8339 : : }
8340 : :
8341 : : case 158:
8342 : : if (!const_0_to_7_operand (operands[3], E_SImode))
8343 : : return -1;
8344 : : switch (GET_MODE (operands[0]))
8345 : : {
8346 : : case E_HImode:
8347 : : switch (pattern1081 (x2))
8348 : : {
8349 : : case 0:
8350 : : if (!(
8351 : : #line 4838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8352 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8353 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8354 : : (TARGET_AVX512VL)))
8355 : : return -1;
8356 : : return 3525; /* *avx512vl_cmpv16qi3 */
8357 : :
8358 : : case 1:
8359 : : if (!(
8360 : : #line 4838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8361 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8362 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8363 : : (TARGET_AVX512VL)))
8364 : : return -1;
8365 : : return 3531; /* *avx512vl_cmpv16hi3 */
8366 : :
8367 : : case 2:
8368 : : if (!
8369 : : #line 5063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8370 : : (TARGET_AVX512F && ix86_pre_reload_split ()
8371 : : && GET_MODE_NUNITS (V16SImode) >= 8))
8372 : : return -1;
8373 : : return 3702; /* *avx512f_ucmpv16si3 */
8374 : :
8375 : : default:
8376 : : return -1;
8377 : : }
8378 : :
8379 : : case E_QImode:
8380 : : switch (pattern1082 (x2))
8381 : : {
8382 : : case 0:
8383 : : if (!(
8384 : : #line 4838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8385 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8386 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8387 : : (TARGET_AVX512VL)))
8388 : : return -1;
8389 : : return 3533; /* *avx512vl_cmpv8hi3 */
8390 : :
8391 : : case 1:
8392 : : if (!(
8393 : : #line 5063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8394 : : (TARGET_AVX512F && ix86_pre_reload_split ()
8395 : : && GET_MODE_NUNITS (V8SImode) >= 8) &&
8396 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8397 : : (TARGET_AVX512VL)))
8398 : : return -1;
8399 : : return 3703; /* *avx512vl_ucmpv8si3 */
8400 : :
8401 : : case 2:
8402 : : if (!(
8403 : : #line 5063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8404 : : (TARGET_AVX512F && ix86_pre_reload_split ()
8405 : : && GET_MODE_NUNITS (V4SImode) >= 8) &&
8406 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8407 : : (TARGET_AVX512VL)))
8408 : : return -1;
8409 : : return 3704; /* *avx512vl_ucmpv4si3 */
8410 : :
8411 : : case 3:
8412 : : if (!
8413 : : #line 5063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8414 : : (TARGET_AVX512F && ix86_pre_reload_split ()
8415 : : && GET_MODE_NUNITS (V8DImode) >= 8))
8416 : : return -1;
8417 : : return 3705; /* *avx512f_ucmpv8di3 */
8418 : :
8419 : : case 4:
8420 : : if (!(
8421 : : #line 5063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8422 : : (TARGET_AVX512F && ix86_pre_reload_split ()
8423 : : && GET_MODE_NUNITS (V4DImode) >= 8) &&
8424 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8425 : : (TARGET_AVX512VL)))
8426 : : return -1;
8427 : : return 3706; /* *avx512vl_ucmpv4di3 */
8428 : :
8429 : : case 5:
8430 : : if (!(
8431 : : #line 5063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8432 : : (TARGET_AVX512F && ix86_pre_reload_split ()
8433 : : && GET_MODE_NUNITS (V2DImode) >= 8) &&
8434 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8435 : : (TARGET_AVX512VL)))
8436 : : return -1;
8437 : : return 3707; /* *avx512vl_ucmpv2di3 */
8438 : :
8439 : : default:
8440 : : return -1;
8441 : : }
8442 : :
8443 : : default:
8444 : : return -1;
8445 : : }
8446 : :
8447 : : default:
8448 : : return -1;
8449 : : }
8450 : :
8451 : : default:
8452 : : return -1;
8453 : : }
8454 : : }
8455 : :
8456 : : int
8457 : : recog_63 (rtx x1 ATTRIBUTE_UNUSED,
8458 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8459 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8460 : : {
8461 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8462 : : rtx x2, x3, x4, x5, x6;
8463 : : int res ATTRIBUTE_UNUSED;
8464 : : x2 = XEXP (x1, 1);
8465 : : switch (XVECLEN (x2, 0))
8466 : : {
8467 : : case 1:
8468 : : switch (XINT (x2, 1))
8469 : : {
8470 : : case 20:
8471 : : if (GET_MODE (x2) != E_BLKmode)
8472 : : return -1;
8473 : : x3 = XVECEXP (x2, 0, 0);
8474 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8475 : : return -1;
8476 : : x4 = XEXP (x1, 0);
8477 : : operands[0] = x4;
8478 : : if (!memory_operand (operands[0], E_BLKmode)
8479 : : || !
8480 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8481 : : (TARGET_FXSR))
8482 : : return -1;
8483 : : return 1955; /* fxsave */
8484 : :
8485 : : case 22:
8486 : : if (GET_MODE (x2) != E_BLKmode)
8487 : : return -1;
8488 : : x3 = XVECEXP (x2, 0, 0);
8489 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8490 : : return -1;
8491 : : x4 = XEXP (x1, 0);
8492 : : operands[0] = x4;
8493 : : if (!memory_operand (operands[0], E_BLKmode)
8494 : : || !
8495 : : #line 29806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8496 : : (TARGET_64BIT && TARGET_FXSR))
8497 : : return -1;
8498 : : return 1956; /* fxsave64 */
8499 : :
8500 : : case 24:
8501 : : if (GET_MODE (x2) != E_BLKmode)
8502 : : return -1;
8503 : : x4 = XEXP (x1, 0);
8504 : : operands[0] = x4;
8505 : : if (!memory_operand (operands[0], E_BLKmode))
8506 : : return -1;
8507 : : x3 = XVECEXP (x2, 0, 0);
8508 : : operands[1] = x3;
8509 : : if (!register_operand (operands[1], E_DImode)
8510 : : || !
8511 : : #line 29876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8512 : : (!TARGET_64BIT && TARGET_XSAVE))
8513 : : return -1;
8514 : : return 1959; /* xsave */
8515 : :
8516 : : case 28:
8517 : : if (GET_MODE (x2) != E_BLKmode)
8518 : : return -1;
8519 : : x4 = XEXP (x1, 0);
8520 : : operands[0] = x4;
8521 : : if (!memory_operand (operands[0], E_BLKmode))
8522 : : return -1;
8523 : : x3 = XVECEXP (x2, 0, 0);
8524 : : operands[1] = x3;
8525 : : if (!register_operand (operands[1], E_DImode)
8526 : : || !(
8527 : : #line 29876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8528 : : (!TARGET_64BIT && TARGET_XSAVE) &&
8529 : : #line 29837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8530 : : (TARGET_XSAVEOPT)))
8531 : : return -1;
8532 : : return 1960; /* xsaveopt */
8533 : :
8534 : : case 34:
8535 : : if (GET_MODE (x2) != E_BLKmode)
8536 : : return -1;
8537 : : x4 = XEXP (x1, 0);
8538 : : operands[0] = x4;
8539 : : if (!memory_operand (operands[0], E_BLKmode))
8540 : : return -1;
8541 : : x3 = XVECEXP (x2, 0, 0);
8542 : : operands[1] = x3;
8543 : : if (!register_operand (operands[1], E_DImode)
8544 : : || !(
8545 : : #line 29876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8546 : : (!TARGET_64BIT && TARGET_XSAVE) &&
8547 : : #line 29838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8548 : : (TARGET_XSAVEC)))
8549 : : return -1;
8550 : : return 1961; /* xsavec */
8551 : :
8552 : : case 30:
8553 : : if (GET_MODE (x2) != E_BLKmode)
8554 : : return -1;
8555 : : x4 = XEXP (x1, 0);
8556 : : operands[0] = x4;
8557 : : if (!memory_operand (operands[0], E_BLKmode))
8558 : : return -1;
8559 : : x3 = XVECEXP (x2, 0, 0);
8560 : : operands[1] = x3;
8561 : : if (!register_operand (operands[1], E_DImode)
8562 : : || !(
8563 : : #line 29876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8564 : : (!TARGET_64BIT && TARGET_XSAVE) &&
8565 : : #line 29839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8566 : : (TARGET_XSAVES)))
8567 : : return -1;
8568 : : return 1962; /* xsaves */
8569 : :
8570 : : case 40:
8571 : : if (pnum_clobbers == NULL
8572 : : || GET_MODE (x2) != E_BLKmode)
8573 : : return -1;
8574 : : x3 = XVECEXP (x2, 0, 0);
8575 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8576 : : return -1;
8577 : : x4 = XEXP (x1, 0);
8578 : : operands[0] = x4;
8579 : : if (!memory_operand (operands[0], E_BLKmode)
8580 : : || !
8581 : : #line 30007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8582 : : (TARGET_80387))
8583 : : return -1;
8584 : : *pnum_clobbers = 8;
8585 : : return 1981; /* fnstenv */
8586 : :
8587 : : case 42:
8588 : : if (GET_MODE (x2) != E_HImode)
8589 : : return -1;
8590 : : x3 = XVECEXP (x2, 0, 0);
8591 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8592 : : return -1;
8593 : : x4 = XEXP (x1, 0);
8594 : : operands[0] = x4;
8595 : : if (!nonimmediate_operand (operands[0], E_HImode)
8596 : : || !
8597 : : #line 30035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8598 : : (TARGET_80387))
8599 : : return -1;
8600 : : return 1983; /* fnstsw */
8601 : :
8602 : : case 49:
8603 : : if (pattern60 (x1,
8604 : : E_CCZmode) != 0
8605 : : || !
8606 : : #line 30321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8607 : : (TARGET_RTM))
8608 : : return -1;
8609 : : return 2026; /* xtest_1 */
8610 : :
8611 : : case 74:
8612 : : if (pattern60 (x1,
8613 : : E_CCCmode) != 0
8614 : : || !
8615 : : #line 30506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8616 : : (TARGET_UINTR && TARGET_64BIT))
8617 : : return -1;
8618 : : return 2052; /* testui */
8619 : :
8620 : : case 88:
8621 : : if (GET_MODE (x2) != E_BLKmode)
8622 : : return -1;
8623 : : x3 = XVECEXP (x2, 0, 0);
8624 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8625 : : return -1;
8626 : : x4 = XEXP (x1, 0);
8627 : : operands[0] = x4;
8628 : : if (!memory_operand (operands[0], E_BLKmode)
8629 : : || !
8630 : : #line 30734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8631 : : (TARGET_AMX_TILE))
8632 : : return -1;
8633 : : return 2068; /* sttilecfg */
8634 : :
8635 : : case 89:
8636 : : x4 = XEXP (x1, 0);
8637 : : operands[0] = x4;
8638 : : x3 = XVECEXP (x2, 0, 0);
8639 : : operands[1] = x3;
8640 : : switch (GET_MODE (operands[0]))
8641 : : {
8642 : : case E_QImode:
8643 : : if (!register_operand (operands[0], E_QImode)
8644 : : || GET_MODE (x2) != E_QImode
8645 : : || !memory_operand (operands[1], E_QImode)
8646 : : || !
8647 : : #line 30745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8648 : : (TARGET_MOVRS && TARGET_64BIT))
8649 : : return -1;
8650 : : return 2069; /* movrsqi */
8651 : :
8652 : : case E_HImode:
8653 : : if (!register_operand (operands[0], E_HImode)
8654 : : || GET_MODE (x2) != E_HImode
8655 : : || !memory_operand (operands[1], E_HImode)
8656 : : || !
8657 : : #line 30745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8658 : : (TARGET_MOVRS && TARGET_64BIT))
8659 : : return -1;
8660 : : return 2070; /* movrshi */
8661 : :
8662 : : default:
8663 : : return -1;
8664 : : }
8665 : :
8666 : : default:
8667 : : return -1;
8668 : : }
8669 : :
8670 : : case 2:
8671 : : switch (XINT (x2, 1))
8672 : : {
8673 : : case 24:
8674 : : if (pattern99 (x1) != 0
8675 : : || !
8676 : : #line 29889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8677 : : (TARGET_64BIT && TARGET_XSAVE))
8678 : : return -1;
8679 : : return 1963; /* xsave_rex64 */
8680 : :
8681 : : case 28:
8682 : : if (pattern99 (x1) != 0
8683 : : || !(
8684 : : #line 29889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8685 : : (TARGET_64BIT && TARGET_XSAVE) &&
8686 : : #line 29837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8687 : : (TARGET_XSAVEOPT)))
8688 : : return -1;
8689 : : return 1964; /* xsaveopt_rex64 */
8690 : :
8691 : : case 34:
8692 : : if (pattern99 (x1) != 0
8693 : : || !(
8694 : : #line 29889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8695 : : (TARGET_64BIT && TARGET_XSAVE) &&
8696 : : #line 29838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8697 : : (TARGET_XSAVEC)))
8698 : : return -1;
8699 : : return 1965; /* xsavec_rex64 */
8700 : :
8701 : : case 30:
8702 : : if (pattern99 (x1) != 0
8703 : : || !(
8704 : : #line 29889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8705 : : (TARGET_64BIT && TARGET_XSAVE) &&
8706 : : #line 29839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8707 : : (TARGET_XSAVES)))
8708 : : return -1;
8709 : : return 1966; /* xsaves_rex64 */
8710 : :
8711 : : case 26:
8712 : : if (pattern99 (x1) != 0
8713 : : || !
8714 : : #line 29903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8715 : : (TARGET_64BIT && TARGET_XSAVE))
8716 : : return -1;
8717 : : return 1967; /* xsave64 */
8718 : :
8719 : : case 29:
8720 : : if (pattern99 (x1) != 0
8721 : : || !(
8722 : : #line 29903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8723 : : (TARGET_64BIT && TARGET_XSAVE) &&
8724 : : #line 29843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8725 : : (TARGET_XSAVEOPT)))
8726 : : return -1;
8727 : : return 1968; /* xsaveopt64 */
8728 : :
8729 : : case 35:
8730 : : if (pattern99 (x1) != 0
8731 : : || !(
8732 : : #line 29903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8733 : : (TARGET_64BIT && TARGET_XSAVE) &&
8734 : : #line 29844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8735 : : (TARGET_XSAVEC)))
8736 : : return -1;
8737 : : return 1969; /* xsavec64 */
8738 : :
8739 : : case 32:
8740 : : if (pattern99 (x1) != 0
8741 : : || !(
8742 : : #line 29903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8743 : : (TARGET_64BIT && TARGET_XSAVE) &&
8744 : : #line 29845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8745 : : (TARGET_XSAVES)))
8746 : : return -1;
8747 : : return 1970; /* xsaves64 */
8748 : :
8749 : : case 79:
8750 : : switch (pattern100 (x1))
8751 : : {
8752 : : case 0:
8753 : : if (!(
8754 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8755 : : (TARGET_ENQCMD) &&
8756 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8757 : : (Pmode == SImode)))
8758 : : return -1;
8759 : : return 2046; /* enqcmd_si */
8760 : :
8761 : : case 1:
8762 : : if (!(
8763 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8764 : : (TARGET_ENQCMD) &&
8765 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8766 : : (Pmode == DImode)))
8767 : : return -1;
8768 : : return 2048; /* enqcmd_di */
8769 : :
8770 : : default:
8771 : : return -1;
8772 : : }
8773 : :
8774 : : case 80:
8775 : : switch (pattern100 (x1))
8776 : : {
8777 : : case 0:
8778 : : if (!(
8779 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8780 : : (TARGET_ENQCMD) &&
8781 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8782 : : (Pmode == SImode)))
8783 : : return -1;
8784 : : return 2047; /* enqcmds_si */
8785 : :
8786 : : case 1:
8787 : : if (!(
8788 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8789 : : (TARGET_ENQCMD) &&
8790 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8791 : : (Pmode == DImode)))
8792 : : return -1;
8793 : : return 2049; /* enqcmds_di */
8794 : :
8795 : : default:
8796 : : return -1;
8797 : : }
8798 : :
8799 : : case 69:
8800 : : if (pattern101 (x1) != 0
8801 : : || !
8802 : : #line 30527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8803 : : (!TARGET_64BIT && TARGET_WAITPKG))
8804 : : return -1;
8805 : : return 2054; /* umwait */
8806 : :
8807 : : case 71:
8808 : : if (pattern101 (x1) != 0
8809 : : || !
8810 : : #line 30554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8811 : : (!TARGET_64BIT && TARGET_WAITPKG))
8812 : : return -1;
8813 : : return 2058; /* tpause */
8814 : :
8815 : : case 111:
8816 : : if (pnum_clobbers == NULL)
8817 : : return -1;
8818 : : x4 = XEXP (x1, 0);
8819 : : operands[0] = x4;
8820 : : x5 = XVECEXP (x2, 0, 1);
8821 : : operands[2] = x5;
8822 : : if (!const_int_operand (operands[2], E_SImode))
8823 : : return -1;
8824 : : x3 = XVECEXP (x2, 0, 0);
8825 : : switch (GET_CODE (x3))
8826 : : {
8827 : : case PLUS:
8828 : : switch (pattern860 (x2))
8829 : : {
8830 : : case 0:
8831 : : *pnum_clobbers = 1;
8832 : : return 11080; /* atomic_addqi */
8833 : :
8834 : : case 1:
8835 : : *pnum_clobbers = 1;
8836 : : return 11081; /* atomic_addhi */
8837 : :
8838 : : default:
8839 : : return -1;
8840 : : }
8841 : :
8842 : : case MINUS:
8843 : : switch (pattern860 (x2))
8844 : : {
8845 : : case 0:
8846 : : *pnum_clobbers = 1;
8847 : : return 11084; /* atomic_subqi */
8848 : :
8849 : : case 1:
8850 : : *pnum_clobbers = 1;
8851 : : return 11085; /* atomic_subhi */
8852 : :
8853 : : default:
8854 : : return -1;
8855 : : }
8856 : :
8857 : : case AND:
8858 : : switch (pattern860 (x2))
8859 : : {
8860 : : case 0:
8861 : : *pnum_clobbers = 1;
8862 : : return 11088; /* atomic_andqi */
8863 : :
8864 : : case 1:
8865 : : *pnum_clobbers = 1;
8866 : : return 11091; /* atomic_andhi */
8867 : :
8868 : : default:
8869 : : return -1;
8870 : : }
8871 : :
8872 : : case IOR:
8873 : : switch (pattern860 (x2))
8874 : : {
8875 : : case 0:
8876 : : *pnum_clobbers = 1;
8877 : : return 11089; /* atomic_orqi */
8878 : :
8879 : : case 1:
8880 : : *pnum_clobbers = 1;
8881 : : return 11092; /* atomic_orhi */
8882 : :
8883 : : default:
8884 : : return -1;
8885 : : }
8886 : :
8887 : : case XOR:
8888 : : switch (pattern860 (x2))
8889 : : {
8890 : : case 0:
8891 : : *pnum_clobbers = 1;
8892 : : return 11090; /* atomic_xorqi */
8893 : :
8894 : : case 1:
8895 : : *pnum_clobbers = 1;
8896 : : return 11093; /* atomic_xorhi */
8897 : :
8898 : : default:
8899 : : return -1;
8900 : : }
8901 : :
8902 : : default:
8903 : : return -1;
8904 : : }
8905 : :
8906 : : default:
8907 : : return -1;
8908 : : }
8909 : :
8910 : : case 3:
8911 : : if (pattern46 (x1,
8912 : : E_CCCmode) != 0)
8913 : : return -1;
8914 : : x3 = XVECEXP (x2, 0, 0);
8915 : : operands[0] = x3;
8916 : : x5 = XVECEXP (x2, 0, 1);
8917 : : operands[1] = x5;
8918 : : x6 = XVECEXP (x2, 0, 2);
8919 : : operands[2] = x6;
8920 : : switch (XINT (x2, 1))
8921 : : {
8922 : : case 15:
8923 : : if (!nonimmediate_operand (operands[1], E_SImode)
8924 : : || !const_int_operand (operands[2], E_SImode))
8925 : : return -1;
8926 : : switch (GET_MODE (operands[0]))
8927 : : {
8928 : : case E_SImode:
8929 : : if (!register_operand (operands[0], E_SImode)
8930 : : || !
8931 : : #line 30092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8932 : : (TARGET_LWP))
8933 : : return -1;
8934 : : return 1991; /* lwp_lwpinssi */
8935 : :
8936 : : case E_DImode:
8937 : : if (!register_operand (operands[0], E_DImode)
8938 : : || !(
8939 : : #line 30092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8940 : : (TARGET_LWP) &&
8941 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8942 : : (TARGET_64BIT)))
8943 : : return -1;
8944 : : return 1992; /* lwp_lwpinsdi */
8945 : :
8946 : : default:
8947 : : return -1;
8948 : : }
8949 : :
8950 : : case 69:
8951 : : if (!register_operand (operands[0], E_SImode)
8952 : : || !register_operand (operands[1], E_SImode)
8953 : : || !register_operand (operands[2], E_SImode)
8954 : : || !
8955 : : #line 30537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8956 : : (TARGET_64BIT && TARGET_WAITPKG))
8957 : : return -1;
8958 : : return 2055; /* umwait_rex64 */
8959 : :
8960 : : case 71:
8961 : : if (!register_operand (operands[0], E_SImode)
8962 : : || !register_operand (operands[1], E_SImode)
8963 : : || !register_operand (operands[2], E_SImode)
8964 : : || !
8965 : : #line 30564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8966 : : (TARGET_64BIT && TARGET_WAITPKG))
8967 : : return -1;
8968 : : return 2059; /* tpause_rex64 */
8969 : :
8970 : : default:
8971 : : return -1;
8972 : : }
8973 : :
8974 : : default:
8975 : : return -1;
8976 : : }
8977 : : }
8978 : :
8979 : : int
8980 : : recog_76 (rtx x1 ATTRIBUTE_UNUSED,
8981 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8982 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8983 : : {
8984 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8985 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8986 : : rtx x10;
8987 : : int res ATTRIBUTE_UNUSED;
8988 : : x2 = XEXP (x1, 1);
8989 : : x3 = XEXP (x2, 0);
8990 : : x4 = XEXP (x3, 0);
8991 : : switch (GET_CODE (x4))
8992 : : {
8993 : : case REG:
8994 : : case SUBREG:
8995 : : case MEM:
8996 : : switch (pattern115 (x2, pnum_clobbers))
8997 : : {
8998 : : case 0:
8999 : : if (
9000 : : #line 12926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9001 : : (TARGET_APX_NDD && TARGET_APX_NF
9002 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9003 : : return 738; /* *andqi_1_zextsi_nf */
9004 : : if (pnum_clobbers == NULL
9005 : : || !
9006 : : #line 12926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9007 : : (TARGET_APX_NDD && true
9008 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9009 : : return -1;
9010 : : *pnum_clobbers = 1;
9011 : : return 739; /* *andqi_1_zextsi */
9012 : :
9013 : : case 1:
9014 : : if (
9015 : : #line 12940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9016 : : (TARGET_APX_NDD && TARGET_APX_NF
9017 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9018 : : return 742; /* *andhi_1_zextsi_nf */
9019 : : if (pnum_clobbers == NULL
9020 : : || !
9021 : : #line 12940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9022 : : (TARGET_APX_NDD && true
9023 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9024 : : return -1;
9025 : : *pnum_clobbers = 1;
9026 : : return 743; /* *andhi_1_zextsi */
9027 : :
9028 : : case 2:
9029 : : if (
9030 : : #line 12926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9031 : : (TARGET_APX_NDD && TARGET_APX_NF
9032 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9033 : : return 740; /* *andqi_1_zextdi_nf */
9034 : : if (pnum_clobbers == NULL
9035 : : || !
9036 : : #line 12926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9037 : : (TARGET_APX_NDD && true
9038 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9039 : : return -1;
9040 : : *pnum_clobbers = 1;
9041 : : return 741; /* *andqi_1_zextdi */
9042 : :
9043 : : case 3:
9044 : : if (
9045 : : #line 12940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9046 : : (TARGET_APX_NDD && TARGET_APX_NF
9047 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9048 : : return 744; /* *andhi_1_zextdi_nf */
9049 : : if (pnum_clobbers == NULL
9050 : : || !
9051 : : #line 12940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9052 : : (TARGET_APX_NDD && true
9053 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9054 : : return -1;
9055 : : *pnum_clobbers = 1;
9056 : : return 745; /* *andhi_1_zextdi */
9057 : :
9058 : : case 4:
9059 : : if (!
9060 : : #line 12956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9061 : : (TARGET_64BIT
9062 : : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
9063 : : return -1;
9064 : : *pnum_clobbers = 1;
9065 : : return 746; /* *andsi_1_zext */
9066 : :
9067 : : default:
9068 : : return -1;
9069 : : }
9070 : :
9071 : : case PLUS:
9072 : : if (pnum_clobbers == NULL
9073 : : || pattern440 (x4) != 0)
9074 : : return -1;
9075 : : x5 = XEXP (x4, 1);
9076 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
9077 : : || !register_operand (operands[0], E_DImode)
9078 : : || GET_MODE (x2) != E_DImode
9079 : : || GET_MODE (x3) != E_SImode)
9080 : : return -1;
9081 : : x6 = XEXP (x4, 0);
9082 : : x7 = XEXP (x6, 1);
9083 : : operands[2] = x7;
9084 : : if (!register_operand (operands[2], E_QImode))
9085 : : return -1;
9086 : : x8 = XEXP (x3, 1);
9087 : : operands[1] = x8;
9088 : : if (!nonimmediate_operand (operands[1], E_SImode)
9089 : : || !
9090 : : #line 22411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9091 : : (TARGET_64BIT && TARGET_BMI2))
9092 : : return -1;
9093 : : *pnum_clobbers = 1;
9094 : : return 1632; /* *bmi2_bzhi_zero_extendsidi_4 */
9095 : :
9096 : : case UNSPEC:
9097 : : if (XVECLEN (x4, 0) != 2)
9098 : : return -1;
9099 : : x9 = XVECEXP (x4, 0, 0);
9100 : : operands[1] = x9;
9101 : : x10 = XVECEXP (x4, 0, 1);
9102 : : operands[2] = x10;
9103 : : x8 = XEXP (x3, 1);
9104 : : operands[3] = x8;
9105 : : switch (XINT (x4, 1))
9106 : : {
9107 : : case 159:
9108 : : switch (GET_MODE (operands[0]))
9109 : : {
9110 : : case E_DImode:
9111 : : switch (pattern1089 (x2,
9112 : : E_DImode))
9113 : : {
9114 : : case 0:
9115 : : if (!(
9116 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9117 : : (TARGET_AVX512BW
9118 : : && (8
9119 : : > GET_MODE_SIZE (DImode))) &&
9120 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9121 : : (TARGET_AVX512BW)))
9122 : : return -1;
9123 : : return 8230; /* *avx512bw_testmv64qi3_zext_mask */
9124 : :
9125 : : case 1:
9126 : : if (!(
9127 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9128 : : (TARGET_AVX512BW
9129 : : && (8
9130 : : > GET_MODE_SIZE (SImode))) && ((
9131 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9132 : : (TARGET_AVX512BW) &&
9133 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9134 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9135 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9136 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9137 : : return -1;
9138 : : return 8233; /* *avx512vl_testmv32qi3_zext_mask */
9139 : :
9140 : : case 2:
9141 : : if (!(
9142 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9143 : : (TARGET_AVX512BW
9144 : : && (8
9145 : : > GET_MODE_SIZE (SImode))) &&
9146 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9147 : : (TARGET_AVX512BW)))
9148 : : return -1;
9149 : : return 8239; /* *avx512bw_testmv32hi3_zext_mask */
9150 : :
9151 : : case 3:
9152 : : if (!(
9153 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9154 : : (TARGET_AVX512BW
9155 : : && (8
9156 : : > GET_MODE_SIZE (HImode))) && ((
9157 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9158 : : (TARGET_AVX512BW) &&
9159 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9160 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9161 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9162 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9163 : : return -1;
9164 : : return 8236; /* *avx512vl_testmv16qi3_zext_mask */
9165 : :
9166 : : case 4:
9167 : : if (!(
9168 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9169 : : (TARGET_AVX512BW
9170 : : && (8
9171 : : > GET_MODE_SIZE (HImode))) && ((
9172 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9173 : : (TARGET_AVX512BW) &&
9174 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9175 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9176 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9177 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9178 : : return -1;
9179 : : return 8242; /* *avx512vl_testmv16hi3_zext_mask */
9180 : :
9181 : : case 5:
9182 : : if (!(
9183 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9184 : : (TARGET_AVX512BW
9185 : : && (8
9186 : : > GET_MODE_SIZE (HImode))) &&
9187 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9188 : : (TARGET_AVX512BW)))
9189 : : return -1;
9190 : : return 8248; /* *avx512f_testmv16si3_zext_mask */
9191 : :
9192 : : case 6:
9193 : : if (!(
9194 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9195 : : (TARGET_AVX512BW
9196 : : && (8
9197 : : > GET_MODE_SIZE (QImode))) && ((
9198 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9199 : : (TARGET_AVX512BW) &&
9200 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9201 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9202 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9203 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9204 : : return -1;
9205 : : return 8245; /* *avx512vl_testmv8hi3_zext_mask */
9206 : :
9207 : : case 7:
9208 : : if (!(
9209 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9210 : : (TARGET_AVX512BW
9211 : : && (8
9212 : : > GET_MODE_SIZE (QImode))) && ((
9213 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9214 : : (TARGET_AVX512BW) &&
9215 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9216 : : (TARGET_AVX512VL)) &&
9217 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9218 : : (TARGET_AVX512VL))))
9219 : : return -1;
9220 : : return 8251; /* *avx512vl_testmv8si3_zext_mask */
9221 : :
9222 : : case 8:
9223 : : if (!(
9224 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9225 : : (TARGET_AVX512BW
9226 : : && (8
9227 : : > GET_MODE_SIZE (QImode))) && ((
9228 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9229 : : (TARGET_AVX512BW) &&
9230 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9231 : : (TARGET_AVX512VL)) &&
9232 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9233 : : (TARGET_AVX512VL))))
9234 : : return -1;
9235 : : return 8254; /* *avx512vl_testmv4si3_zext_mask */
9236 : :
9237 : : case 9:
9238 : : if (!(
9239 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9240 : : (TARGET_AVX512BW
9241 : : && (8
9242 : : > GET_MODE_SIZE (QImode))) &&
9243 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9244 : : (TARGET_AVX512BW)))
9245 : : return -1;
9246 : : return 8257; /* *avx512f_testmv8di3_zext_mask */
9247 : :
9248 : : case 10:
9249 : : if (!(
9250 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9251 : : (TARGET_AVX512BW
9252 : : && (8
9253 : : > GET_MODE_SIZE (QImode))) && ((
9254 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9255 : : (TARGET_AVX512BW) &&
9256 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9257 : : (TARGET_AVX512VL)) &&
9258 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9259 : : (TARGET_AVX512VL))))
9260 : : return -1;
9261 : : return 8260; /* *avx512vl_testmv4di3_zext_mask */
9262 : :
9263 : : case 11:
9264 : : if (!(
9265 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9266 : : (TARGET_AVX512BW
9267 : : && (8
9268 : : > GET_MODE_SIZE (QImode))) && ((
9269 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9270 : : (TARGET_AVX512BW) &&
9271 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9272 : : (TARGET_AVX512VL)) &&
9273 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9274 : : (TARGET_AVX512VL))))
9275 : : return -1;
9276 : : return 8263; /* *avx512vl_testmv2di3_zext_mask */
9277 : :
9278 : : default:
9279 : : return -1;
9280 : : }
9281 : :
9282 : : case E_SImode:
9283 : : switch (pattern1089 (x2,
9284 : : E_SImode))
9285 : : {
9286 : : case 0:
9287 : : if (!(
9288 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9289 : : (TARGET_AVX512BW
9290 : : && (4
9291 : : > GET_MODE_SIZE (DImode))) &&
9292 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9293 : : (TARGET_AVX512BW)))
9294 : : return -1;
9295 : : return 8231; /* *avx512bw_testmv64qi3_zext_mask */
9296 : :
9297 : : case 1:
9298 : : if (!(
9299 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9300 : : (TARGET_AVX512BW
9301 : : && (4
9302 : : > GET_MODE_SIZE (SImode))) && ((
9303 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9304 : : (TARGET_AVX512BW) &&
9305 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9306 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9307 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9308 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9309 : : return -1;
9310 : : return 8234; /* *avx512vl_testmv32qi3_zext_mask */
9311 : :
9312 : : case 2:
9313 : : if (!(
9314 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9315 : : (TARGET_AVX512BW
9316 : : && (4
9317 : : > GET_MODE_SIZE (SImode))) &&
9318 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9319 : : (TARGET_AVX512BW)))
9320 : : return -1;
9321 : : return 8240; /* *avx512bw_testmv32hi3_zext_mask */
9322 : :
9323 : : case 3:
9324 : : if (!(
9325 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9326 : : (TARGET_AVX512BW
9327 : : && (4
9328 : : > GET_MODE_SIZE (HImode))) && ((
9329 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9330 : : (TARGET_AVX512BW) &&
9331 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9332 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9333 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9334 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9335 : : return -1;
9336 : : return 8237; /* *avx512vl_testmv16qi3_zext_mask */
9337 : :
9338 : : case 4:
9339 : : if (!(
9340 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9341 : : (TARGET_AVX512BW
9342 : : && (4
9343 : : > GET_MODE_SIZE (HImode))) && ((
9344 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9345 : : (TARGET_AVX512BW) &&
9346 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9347 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9348 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9349 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9350 : : return -1;
9351 : : return 8243; /* *avx512vl_testmv16hi3_zext_mask */
9352 : :
9353 : : case 5:
9354 : : if (!(
9355 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9356 : : (TARGET_AVX512BW
9357 : : && (4
9358 : : > GET_MODE_SIZE (HImode))) &&
9359 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9360 : : (TARGET_AVX512BW)))
9361 : : return -1;
9362 : : return 8249; /* *avx512f_testmv16si3_zext_mask */
9363 : :
9364 : : case 6:
9365 : : if (!(
9366 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9367 : : (TARGET_AVX512BW
9368 : : && (4
9369 : : > GET_MODE_SIZE (QImode))) && ((
9370 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9371 : : (TARGET_AVX512BW) &&
9372 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9373 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9374 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9375 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9376 : : return -1;
9377 : : return 8246; /* *avx512vl_testmv8hi3_zext_mask */
9378 : :
9379 : : case 7:
9380 : : if (!(
9381 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9382 : : (TARGET_AVX512BW
9383 : : && (4
9384 : : > GET_MODE_SIZE (QImode))) && ((
9385 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9386 : : (TARGET_AVX512BW) &&
9387 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9388 : : (TARGET_AVX512VL)) &&
9389 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9390 : : (TARGET_AVX512VL))))
9391 : : return -1;
9392 : : return 8252; /* *avx512vl_testmv8si3_zext_mask */
9393 : :
9394 : : case 8:
9395 : : if (!(
9396 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9397 : : (TARGET_AVX512BW
9398 : : && (4
9399 : : > GET_MODE_SIZE (QImode))) && ((
9400 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9401 : : (TARGET_AVX512BW) &&
9402 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9403 : : (TARGET_AVX512VL)) &&
9404 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9405 : : (TARGET_AVX512VL))))
9406 : : return -1;
9407 : : return 8255; /* *avx512vl_testmv4si3_zext_mask */
9408 : :
9409 : : case 9:
9410 : : if (!(
9411 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9412 : : (TARGET_AVX512BW
9413 : : && (4
9414 : : > GET_MODE_SIZE (QImode))) &&
9415 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9416 : : (TARGET_AVX512BW)))
9417 : : return -1;
9418 : : return 8258; /* *avx512f_testmv8di3_zext_mask */
9419 : :
9420 : : case 10:
9421 : : if (!(
9422 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9423 : : (TARGET_AVX512BW
9424 : : && (4
9425 : : > GET_MODE_SIZE (QImode))) && ((
9426 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9427 : : (TARGET_AVX512BW) &&
9428 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9429 : : (TARGET_AVX512VL)) &&
9430 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9431 : : (TARGET_AVX512VL))))
9432 : : return -1;
9433 : : return 8261; /* *avx512vl_testmv4di3_zext_mask */
9434 : :
9435 : : case 11:
9436 : : if (!(
9437 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9438 : : (TARGET_AVX512BW
9439 : : && (4
9440 : : > GET_MODE_SIZE (QImode))) && ((
9441 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9442 : : (TARGET_AVX512BW) &&
9443 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9444 : : (TARGET_AVX512VL)) &&
9445 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9446 : : (TARGET_AVX512VL))))
9447 : : return -1;
9448 : : return 8264; /* *avx512vl_testmv2di3_zext_mask */
9449 : :
9450 : : default:
9451 : : return -1;
9452 : : }
9453 : :
9454 : : default:
9455 : : return -1;
9456 : : }
9457 : :
9458 : : case 160:
9459 : : switch (GET_MODE (operands[0]))
9460 : : {
9461 : : case E_DImode:
9462 : : switch (pattern1089 (x2,
9463 : : E_DImode))
9464 : : {
9465 : : case 0:
9466 : : if (!(
9467 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9468 : : (TARGET_AVX512BW
9469 : : && (8
9470 : : > GET_MODE_SIZE (DImode))) &&
9471 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9472 : : (TARGET_AVX512BW)))
9473 : : return -1;
9474 : : return 8302; /* *avx512bw_testnmv64qi3_zext_mask */
9475 : :
9476 : : case 1:
9477 : : if (!(
9478 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9479 : : (TARGET_AVX512BW
9480 : : && (8
9481 : : > GET_MODE_SIZE (SImode))) && ((
9482 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9483 : : (TARGET_AVX512BW) &&
9484 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9485 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9486 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9487 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9488 : : return -1;
9489 : : return 8305; /* *avx512vl_testnmv32qi3_zext_mask */
9490 : :
9491 : : case 2:
9492 : : if (!(
9493 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9494 : : (TARGET_AVX512BW
9495 : : && (8
9496 : : > GET_MODE_SIZE (SImode))) &&
9497 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9498 : : (TARGET_AVX512BW)))
9499 : : return -1;
9500 : : return 8311; /* *avx512bw_testnmv32hi3_zext_mask */
9501 : :
9502 : : case 3:
9503 : : if (!(
9504 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9505 : : (TARGET_AVX512BW
9506 : : && (8
9507 : : > GET_MODE_SIZE (HImode))) && ((
9508 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9509 : : (TARGET_AVX512BW) &&
9510 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9511 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9512 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9513 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9514 : : return -1;
9515 : : return 8308; /* *avx512vl_testnmv16qi3_zext_mask */
9516 : :
9517 : : case 4:
9518 : : if (!(
9519 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9520 : : (TARGET_AVX512BW
9521 : : && (8
9522 : : > GET_MODE_SIZE (HImode))) && ((
9523 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9524 : : (TARGET_AVX512BW) &&
9525 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9526 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9527 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9528 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9529 : : return -1;
9530 : : return 8314; /* *avx512vl_testnmv16hi3_zext_mask */
9531 : :
9532 : : case 5:
9533 : : if (!(
9534 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9535 : : (TARGET_AVX512BW
9536 : : && (8
9537 : : > GET_MODE_SIZE (HImode))) &&
9538 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9539 : : (TARGET_AVX512BW)))
9540 : : return -1;
9541 : : return 8320; /* *avx512f_testnmv16si3_zext_mask */
9542 : :
9543 : : case 6:
9544 : : if (!(
9545 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9546 : : (TARGET_AVX512BW
9547 : : && (8
9548 : : > GET_MODE_SIZE (QImode))) && ((
9549 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9550 : : (TARGET_AVX512BW) &&
9551 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9552 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9553 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9554 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9555 : : return -1;
9556 : : return 8317; /* *avx512vl_testnmv8hi3_zext_mask */
9557 : :
9558 : : case 7:
9559 : : if (!(
9560 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9561 : : (TARGET_AVX512BW
9562 : : && (8
9563 : : > GET_MODE_SIZE (QImode))) && ((
9564 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9565 : : (TARGET_AVX512BW) &&
9566 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9567 : : (TARGET_AVX512VL)) &&
9568 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9569 : : (TARGET_AVX512VL))))
9570 : : return -1;
9571 : : return 8323; /* *avx512vl_testnmv8si3_zext_mask */
9572 : :
9573 : : case 8:
9574 : : if (!(
9575 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9576 : : (TARGET_AVX512BW
9577 : : && (8
9578 : : > GET_MODE_SIZE (QImode))) && ((
9579 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9580 : : (TARGET_AVX512BW) &&
9581 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9582 : : (TARGET_AVX512VL)) &&
9583 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9584 : : (TARGET_AVX512VL))))
9585 : : return -1;
9586 : : return 8326; /* *avx512vl_testnmv4si3_zext_mask */
9587 : :
9588 : : case 9:
9589 : : if (!(
9590 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9591 : : (TARGET_AVX512BW
9592 : : && (8
9593 : : > GET_MODE_SIZE (QImode))) &&
9594 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9595 : : (TARGET_AVX512BW)))
9596 : : return -1;
9597 : : return 8329; /* *avx512f_testnmv8di3_zext_mask */
9598 : :
9599 : : case 10:
9600 : : if (!(
9601 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9602 : : (TARGET_AVX512BW
9603 : : && (8
9604 : : > GET_MODE_SIZE (QImode))) && ((
9605 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9606 : : (TARGET_AVX512BW) &&
9607 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9608 : : (TARGET_AVX512VL)) &&
9609 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9610 : : (TARGET_AVX512VL))))
9611 : : return -1;
9612 : : return 8332; /* *avx512vl_testnmv4di3_zext_mask */
9613 : :
9614 : : case 11:
9615 : : if (!(
9616 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9617 : : (TARGET_AVX512BW
9618 : : && (8
9619 : : > GET_MODE_SIZE (QImode))) && ((
9620 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9621 : : (TARGET_AVX512BW) &&
9622 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9623 : : (TARGET_AVX512VL)) &&
9624 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9625 : : (TARGET_AVX512VL))))
9626 : : return -1;
9627 : : return 8335; /* *avx512vl_testnmv2di3_zext_mask */
9628 : :
9629 : : default:
9630 : : return -1;
9631 : : }
9632 : :
9633 : : case E_SImode:
9634 : : switch (pattern1089 (x2,
9635 : : E_SImode))
9636 : : {
9637 : : case 0:
9638 : : if (!(
9639 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9640 : : (TARGET_AVX512BW
9641 : : && (4
9642 : : > GET_MODE_SIZE (DImode))) &&
9643 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9644 : : (TARGET_AVX512BW)))
9645 : : return -1;
9646 : : return 8303; /* *avx512bw_testnmv64qi3_zext_mask */
9647 : :
9648 : : case 1:
9649 : : if (!(
9650 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9651 : : (TARGET_AVX512BW
9652 : : && (4
9653 : : > GET_MODE_SIZE (SImode))) && ((
9654 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9655 : : (TARGET_AVX512BW) &&
9656 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9657 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9658 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9659 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9660 : : return -1;
9661 : : return 8306; /* *avx512vl_testnmv32qi3_zext_mask */
9662 : :
9663 : : case 2:
9664 : : if (!(
9665 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9666 : : (TARGET_AVX512BW
9667 : : && (4
9668 : : > GET_MODE_SIZE (SImode))) &&
9669 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9670 : : (TARGET_AVX512BW)))
9671 : : return -1;
9672 : : return 8312; /* *avx512bw_testnmv32hi3_zext_mask */
9673 : :
9674 : : case 3:
9675 : : if (!(
9676 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9677 : : (TARGET_AVX512BW
9678 : : && (4
9679 : : > GET_MODE_SIZE (HImode))) && ((
9680 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9681 : : (TARGET_AVX512BW) &&
9682 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9683 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9684 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9685 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9686 : : return -1;
9687 : : return 8309; /* *avx512vl_testnmv16qi3_zext_mask */
9688 : :
9689 : : case 4:
9690 : : if (!(
9691 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9692 : : (TARGET_AVX512BW
9693 : : && (4
9694 : : > GET_MODE_SIZE (HImode))) && ((
9695 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9696 : : (TARGET_AVX512BW) &&
9697 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9698 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9699 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9700 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9701 : : return -1;
9702 : : return 8315; /* *avx512vl_testnmv16hi3_zext_mask */
9703 : :
9704 : : case 5:
9705 : : if (!(
9706 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9707 : : (TARGET_AVX512BW
9708 : : && (4
9709 : : > GET_MODE_SIZE (HImode))) &&
9710 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9711 : : (TARGET_AVX512BW)))
9712 : : return -1;
9713 : : return 8321; /* *avx512f_testnmv16si3_zext_mask */
9714 : :
9715 : : case 6:
9716 : : if (!(
9717 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9718 : : (TARGET_AVX512BW
9719 : : && (4
9720 : : > GET_MODE_SIZE (QImode))) && ((
9721 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9722 : : (TARGET_AVX512BW) &&
9723 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9724 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9725 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9726 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9727 : : return -1;
9728 : : return 8318; /* *avx512vl_testnmv8hi3_zext_mask */
9729 : :
9730 : : case 7:
9731 : : if (!(
9732 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9733 : : (TARGET_AVX512BW
9734 : : && (4
9735 : : > GET_MODE_SIZE (QImode))) && ((
9736 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9737 : : (TARGET_AVX512BW) &&
9738 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9739 : : (TARGET_AVX512VL)) &&
9740 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9741 : : (TARGET_AVX512VL))))
9742 : : return -1;
9743 : : return 8324; /* *avx512vl_testnmv8si3_zext_mask */
9744 : :
9745 : : case 8:
9746 : : if (!(
9747 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9748 : : (TARGET_AVX512BW
9749 : : && (4
9750 : : > GET_MODE_SIZE (QImode))) && ((
9751 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9752 : : (TARGET_AVX512BW) &&
9753 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9754 : : (TARGET_AVX512VL)) &&
9755 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9756 : : (TARGET_AVX512VL))))
9757 : : return -1;
9758 : : return 8327; /* *avx512vl_testnmv4si3_zext_mask */
9759 : :
9760 : : case 9:
9761 : : if (!(
9762 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9763 : : (TARGET_AVX512BW
9764 : : && (4
9765 : : > GET_MODE_SIZE (QImode))) &&
9766 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9767 : : (TARGET_AVX512BW)))
9768 : : return -1;
9769 : : return 8330; /* *avx512f_testnmv8di3_zext_mask */
9770 : :
9771 : : case 10:
9772 : : if (!(
9773 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9774 : : (TARGET_AVX512BW
9775 : : && (4
9776 : : > GET_MODE_SIZE (QImode))) && ((
9777 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9778 : : (TARGET_AVX512BW) &&
9779 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9780 : : (TARGET_AVX512VL)) &&
9781 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9782 : : (TARGET_AVX512VL))))
9783 : : return -1;
9784 : : return 8333; /* *avx512vl_testnmv4di3_zext_mask */
9785 : :
9786 : : case 11:
9787 : : if (!(
9788 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9789 : : (TARGET_AVX512BW
9790 : : && (4
9791 : : > GET_MODE_SIZE (QImode))) && ((
9792 : : #line 19330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9793 : : (TARGET_AVX512BW) &&
9794 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9795 : : (TARGET_AVX512VL)) &&
9796 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9797 : : (TARGET_AVX512VL))))
9798 : : return -1;
9799 : : return 8336; /* *avx512vl_testnmv2di3_zext_mask */
9800 : :
9801 : : default:
9802 : : return -1;
9803 : : }
9804 : :
9805 : : default:
9806 : : return -1;
9807 : : }
9808 : :
9809 : : default:
9810 : : return -1;
9811 : : }
9812 : :
9813 : : default:
9814 : : return -1;
9815 : : }
9816 : : }
9817 : :
9818 : : int
9819 : : recog_98 (rtx x1 ATTRIBUTE_UNUSED,
9820 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9821 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9822 : : {
9823 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9824 : : rtx x2, x3, x4;
9825 : : int res ATTRIBUTE_UNUSED;
9826 : : if (pnum_clobbers == NULL)
9827 : : return -1;
9828 : : x2 = XEXP (x1, 0);
9829 : : operands[0] = x2;
9830 : : x3 = XEXP (x1, 1);
9831 : : x4 = XEXP (x3, 0);
9832 : : operands[1] = x4;
9833 : : switch (GET_MODE (operands[0]))
9834 : : {
9835 : : case E_DImode:
9836 : : if (!register_operand (operands[0], E_DImode)
9837 : : || GET_MODE (x3) != E_DImode
9838 : : || !general_operand (operands[1], E_DImode))
9839 : : return -1;
9840 : : if ((
9841 : : #line 14903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9842 : : (TARGET_CMOVE
9843 : : && ix86_pre_reload_split ()) &&
9844 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9845 : : (!TARGET_64BIT)))
9846 : : {
9847 : : *pnum_clobbers = 1;
9848 : : return 1027; /* *absdi2_doubleword */
9849 : : }
9850 : : if (!(
9851 : : #line 14990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9852 : : (TARGET_CMOVE
9853 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
9854 : : && ix86_pre_reload_split ()) &&
9855 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9856 : : (TARGET_64BIT)))
9857 : : return -1;
9858 : : *pnum_clobbers = 1;
9859 : : return 1034; /* *absdi2_1 */
9860 : :
9861 : : case E_SImode:
9862 : : if (!register_operand (operands[0], E_SImode)
9863 : : || GET_MODE (x3) != E_SImode
9864 : : || !general_operand (operands[1], E_SImode)
9865 : : || !
9866 : : #line 14990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9867 : : (TARGET_CMOVE
9868 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
9869 : : && ix86_pre_reload_split ()))
9870 : : return -1;
9871 : : *pnum_clobbers = 1;
9872 : : return 1033; /* *abssi2_1 */
9873 : :
9874 : : default:
9875 : : return -1;
9876 : : }
9877 : : }
9878 : :
9879 : : int
9880 : : recog_101 (rtx x1 ATTRIBUTE_UNUSED,
9881 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9882 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9883 : : {
9884 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9885 : : rtx x2, x3;
9886 : : int res ATTRIBUTE_UNUSED;
9887 : : if (register_operand (operands[2], E_SImode))
9888 : : {
9889 : : x2 = XEXP (x1, 0);
9890 : : operands[0] = x2;
9891 : : if (register_operand (operands[0], E_SImode))
9892 : : {
9893 : : x3 = XEXP (x1, 1);
9894 : : if (GET_MODE (x3) == E_SImode
9895 : : && nonimmediate_operand (operands[1], E_SImode)
9896 : : &&
9897 : : #line 17607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9898 : : (TARGET_BMI2))
9899 : : return 1203; /* *bmi2_lshrsi3_1 */
9900 : : }
9901 : : }
9902 : : x2 = XEXP (x1, 0);
9903 : : operands[0] = x2;
9904 : : switch (GET_MODE (operands[0]))
9905 : : {
9906 : : case E_DImode:
9907 : : if (!register_operand (operands[0], E_DImode))
9908 : : return -1;
9909 : : x3 = XEXP (x1, 1);
9910 : : if (GET_MODE (x3) != E_DImode)
9911 : : return -1;
9912 : : if (pnum_clobbers != NULL
9913 : : && register_operand (operands[1], E_DImode)
9914 : : && nonmemory_operand (operands[2], E_QImode)
9915 : : &&
9916 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9917 : : (!TARGET_64BIT))
9918 : : {
9919 : : *pnum_clobbers = 1;
9920 : : return 1162; /* lshrdi3_doubleword */
9921 : : }
9922 : : if (!nonimmediate_operand (operands[1], E_DImode)
9923 : : || !register_operand (operands[2], E_DImode)
9924 : : || !(
9925 : : #line 17607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9926 : : (TARGET_BMI2) &&
9927 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9928 : : (TARGET_64BIT)))
9929 : : return -1;
9930 : : return 1205; /* *bmi2_lshrdi3_1 */
9931 : :
9932 : : case E_SImode:
9933 : : x3 = XEXP (x1, 1);
9934 : : if (pattern628 (x3,
9935 : : E_SImode) != 0)
9936 : : return -1;
9937 : : if (
9938 : : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9939 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
9940 : : && TARGET_APX_NF))
9941 : : return 1212; /* *lshrsi3_1_nf */
9942 : : if (pnum_clobbers == NULL
9943 : : || !
9944 : : #line 17679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9945 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
9946 : : && true))
9947 : : return -1;
9948 : : *pnum_clobbers = 1;
9949 : : return 1213; /* *lshrsi3_1 */
9950 : :
9951 : : default:
9952 : : return -1;
9953 : : }
9954 : : }
9955 : :
9956 : : int
9957 : : recog_105 (rtx x1 ATTRIBUTE_UNUSED,
9958 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9959 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9960 : : {
9961 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9962 : : rtx x2, x3, x4;
9963 : : int res ATTRIBUTE_UNUSED;
9964 : : x2 = XEXP (x1, 1);
9965 : : if (maybe_ne (SUBREG_BYTE (x2), 0))
9966 : : return -1;
9967 : : x3 = XEXP (x1, 0);
9968 : : operands[0] = x3;
9969 : : x4 = XEXP (x2, 0);
9970 : : switch (GET_CODE (x4))
9971 : : {
9972 : : case LSHIFTRT:
9973 : : switch (pattern294 (x2))
9974 : : {
9975 : : case 0:
9976 : : if ((
9977 : : #line 17030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9978 : : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9979 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9980 : : (!TARGET_64BIT)))
9981 : : return 1166; /* lshrdi3_doubleword_lowpart_nf */
9982 : : if (pnum_clobbers == NULL
9983 : : || !(
9984 : : #line 17051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9985 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9986 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9987 : : (!TARGET_64BIT)))
9988 : : return -1;
9989 : : *pnum_clobbers = 1;
9990 : : return 1170; /* lshrdi3_doubleword_lowpart */
9991 : :
9992 : : case 1:
9993 : : if ((
9994 : : #line 17030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9995 : : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9996 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9997 : : (TARGET_64BIT)))
9998 : : return 1168; /* lshrti3_doubleword_lowpart_nf */
9999 : : if (pnum_clobbers == NULL
10000 : : || !(
10001 : : #line 17051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10002 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
10003 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10004 : : (TARGET_64BIT)))
10005 : : return -1;
10006 : : *pnum_clobbers = 1;
10007 : : return 1172; /* lshrti3_doubleword_lowpart */
10008 : :
10009 : : default:
10010 : : return -1;
10011 : : }
10012 : :
10013 : : case ASHIFTRT:
10014 : : switch (pattern294 (x2))
10015 : : {
10016 : : case 0:
10017 : : if ((
10018 : : #line 17030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10019 : : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
10020 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10021 : : (!TARGET_64BIT)))
10022 : : return 1167; /* ashrdi3_doubleword_lowpart_nf */
10023 : : if (pnum_clobbers == NULL
10024 : : || !(
10025 : : #line 17051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10026 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
10027 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10028 : : (!TARGET_64BIT)))
10029 : : return -1;
10030 : : *pnum_clobbers = 1;
10031 : : return 1171; /* ashrdi3_doubleword_lowpart */
10032 : :
10033 : : case 1:
10034 : : if ((
10035 : : #line 17030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10036 : : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
10037 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10038 : : (TARGET_64BIT)))
10039 : : return 1169; /* ashrti3_doubleword_lowpart_nf */
10040 : : if (pnum_clobbers == NULL
10041 : : || !(
10042 : : #line 17051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10043 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
10044 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10045 : : (TARGET_64BIT)))
10046 : : return -1;
10047 : : *pnum_clobbers = 1;
10048 : : return 1173; /* ashrti3_doubleword_lowpart */
10049 : :
10050 : : default:
10051 : : return -1;
10052 : : }
10053 : :
10054 : : case SS_TRUNCATE:
10055 : : switch (pattern297 (x2))
10056 : : {
10057 : : case 0:
10058 : : if (!
10059 : : #line 15780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10060 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10061 : : return -1;
10062 : : return 7345; /* *avx512vl_ss_truncatev4siv4qi2_store_2 */
10063 : :
10064 : : case 1:
10065 : : if (!
10066 : : #line 15780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10067 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10068 : : return -1;
10069 : : return 7348; /* *avx512vl_ss_truncatev4div4qi2_store_2 */
10070 : :
10071 : : case 2:
10072 : : if (!
10073 : : #line 16131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10074 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10075 : : return -1;
10076 : : return 7442; /* *avx512vl_ss_truncatev2div2hi2_store_2 */
10077 : :
10078 : : case 3:
10079 : : if (!(
10080 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10081 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
10082 : : #line 15860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10083 : : (TARGET_AVX512BW)))
10084 : : return -1;
10085 : : return 7375; /* *avx512vl_ss_truncatev8hiv8qi2_store_2 */
10086 : :
10087 : : case 4:
10088 : : if (!
10089 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10090 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10091 : : return -1;
10092 : : return 7378; /* *avx512vl_ss_truncatev8siv8qi2_store_2 */
10093 : :
10094 : : case 5:
10095 : : if (!
10096 : : #line 16394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10097 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
10098 : : return -1;
10099 : : return 7479; /* *avx512f_ss_truncatev8div16qi2_store_2 */
10100 : :
10101 : : case 6:
10102 : : if (!
10103 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10104 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10105 : : return -1;
10106 : : return 7415; /* *avx512vl_ss_truncatev4siv4hi2_store_2 */
10107 : :
10108 : : case 7:
10109 : : if (!
10110 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10111 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10112 : : return -1;
10113 : : return 7418; /* *avx512vl_ss_truncatev4div4hi2_store_2 */
10114 : :
10115 : : case 8:
10116 : : if (!
10117 : : #line 16281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10118 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10119 : : return -1;
10120 : : return 7461; /* *avx512vl_ss_truncatev2div2si2_store_2 */
10121 : :
10122 : : default:
10123 : : return -1;
10124 : : }
10125 : :
10126 : : case TRUNCATE:
10127 : : switch (pattern297 (x2))
10128 : : {
10129 : : case 0:
10130 : : if (!
10131 : : #line 15780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10132 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10133 : : return -1;
10134 : : return 7346; /* *avx512vl_truncatev4siv4qi2_store_2 */
10135 : :
10136 : : case 1:
10137 : : if (!
10138 : : #line 15780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10139 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10140 : : return -1;
10141 : : return 7349; /* *avx512vl_truncatev4div4qi2_store_2 */
10142 : :
10143 : : case 2:
10144 : : if (!
10145 : : #line 16131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10146 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10147 : : return -1;
10148 : : return 7443; /* *avx512vl_truncatev2div2hi2_store_2 */
10149 : :
10150 : : case 3:
10151 : : if (!(
10152 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10153 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
10154 : : #line 15860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10155 : : (TARGET_AVX512BW)))
10156 : : return -1;
10157 : : return 7376; /* *avx512vl_truncatev8hiv8qi2_store_2 */
10158 : :
10159 : : case 4:
10160 : : if (!
10161 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10162 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10163 : : return -1;
10164 : : return 7379; /* *avx512vl_truncatev8siv8qi2_store_2 */
10165 : :
10166 : : case 5:
10167 : : if (!
10168 : : #line 16394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10169 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
10170 : : return -1;
10171 : : return 7480; /* *avx512f_truncatev8div16qi2_store_2 */
10172 : :
10173 : : case 6:
10174 : : if (!
10175 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10176 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10177 : : return -1;
10178 : : return 7416; /* *avx512vl_truncatev4siv4hi2_store_2 */
10179 : :
10180 : : case 7:
10181 : : if (!
10182 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10183 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10184 : : return -1;
10185 : : return 7419; /* *avx512vl_truncatev4div4hi2_store_2 */
10186 : :
10187 : : case 8:
10188 : : if (!
10189 : : #line 16281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10190 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10191 : : return -1;
10192 : : return 7462; /* *avx512vl_truncatev2div2si2_store_2 */
10193 : :
10194 : : default:
10195 : : return -1;
10196 : : }
10197 : :
10198 : : case US_TRUNCATE:
10199 : : switch (pattern297 (x2))
10200 : : {
10201 : : case 0:
10202 : : if (!
10203 : : #line 15780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10204 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10205 : : return -1;
10206 : : return 7347; /* *avx512vl_us_truncatev4siv4qi2_store_2 */
10207 : :
10208 : : case 1:
10209 : : if (!
10210 : : #line 15780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10211 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10212 : : return -1;
10213 : : return 7350; /* *avx512vl_us_truncatev4div4qi2_store_2 */
10214 : :
10215 : : case 2:
10216 : : if (!
10217 : : #line 16131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10218 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10219 : : return -1;
10220 : : return 7444; /* *avx512vl_us_truncatev2div2hi2_store_2 */
10221 : :
10222 : : case 3:
10223 : : if (!(
10224 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10225 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
10226 : : #line 15860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10227 : : (TARGET_AVX512BW)))
10228 : : return -1;
10229 : : return 7377; /* *avx512vl_us_truncatev8hiv8qi2_store_2 */
10230 : :
10231 : : case 4:
10232 : : if (!
10233 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10234 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10235 : : return -1;
10236 : : return 7380; /* *avx512vl_us_truncatev8siv8qi2_store_2 */
10237 : :
10238 : : case 5:
10239 : : if (!
10240 : : #line 16394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10241 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
10242 : : return -1;
10243 : : return 7481; /* *avx512f_us_truncatev8div16qi2_store_2 */
10244 : :
10245 : : case 6:
10246 : : if (!
10247 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10248 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10249 : : return -1;
10250 : : return 7417; /* *avx512vl_us_truncatev4siv4hi2_store_2 */
10251 : :
10252 : : case 7:
10253 : : if (!
10254 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10255 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10256 : : return -1;
10257 : : return 7420; /* *avx512vl_us_truncatev4div4hi2_store_2 */
10258 : :
10259 : : case 8:
10260 : : if (!
10261 : : #line 16281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10262 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10263 : : return -1;
10264 : : return 7463; /* *avx512vl_us_truncatev2div2si2_store_2 */
10265 : :
10266 : : default:
10267 : : return -1;
10268 : : }
10269 : :
10270 : : default:
10271 : : return -1;
10272 : : }
10273 : : }
10274 : :
10275 : : int
10276 : : recog_118 (rtx x1 ATTRIBUTE_UNUSED,
10277 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10278 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10279 : : {
10280 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10281 : : rtx x2, x3, x4;
10282 : : int res ATTRIBUTE_UNUSED;
10283 : : x2 = XEXP (x1, 0);
10284 : : operands[0] = x2;
10285 : : x3 = XEXP (x1, 1);
10286 : : x4 = XEXP (x3, 0);
10287 : : operands[1] = x4;
10288 : : switch (pattern132 (x3))
10289 : : {
10290 : : case 0:
10291 : : if (
10292 : : #line 21796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10293 : : (TARGET_APX_NF && TARGET_LZCNT))
10294 : : return 1566; /* clzsi2_lzcnt_nf */
10295 : : if (pnum_clobbers == NULL
10296 : : || !
10297 : : #line 21815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10298 : : (TARGET_LZCNT))
10299 : : return -1;
10300 : : *pnum_clobbers = 1;
10301 : : return 1568; /* clzsi2_lzcnt */
10302 : :
10303 : : case 1:
10304 : : if ((
10305 : : #line 21796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10306 : : (TARGET_APX_NF && TARGET_LZCNT) &&
10307 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10308 : : (TARGET_64BIT)))
10309 : : return 1567; /* clzdi2_lzcnt_nf */
10310 : : if (pnum_clobbers == NULL
10311 : : || !(
10312 : : #line 21815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10313 : : (TARGET_LZCNT) &&
10314 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10315 : : (TARGET_64BIT)))
10316 : : return -1;
10317 : : *pnum_clobbers = 1;
10318 : : return 1569; /* clzdi2_lzcnt */
10319 : :
10320 : : default:
10321 : : return -1;
10322 : : }
10323 : : }
10324 : :
10325 : : int
10326 : : recog_121 (rtx x1 ATTRIBUTE_UNUSED,
10327 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10328 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10329 : : {
10330 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10331 : : rtx x2, x3, x4, x5;
10332 : : int res ATTRIBUTE_UNUSED;
10333 : : x2 = XEXP (x1, 0);
10334 : : operands[0] = x2;
10335 : : x3 = XEXP (x1, 1);
10336 : : switch (XVECLEN (x3, 0))
10337 : : {
10338 : : case 1:
10339 : : switch (XINT (x3, 1))
10340 : : {
10341 : : case 2:
10342 : : if (pnum_clobbers == NULL)
10343 : : return -1;
10344 : : switch (pattern306 (x3))
10345 : : {
10346 : : case 0:
10347 : : if (!(
10348 : : #line 27708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10349 : : (ix86_target_stack_probe ()) &&
10350 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10351 : : (Pmode == SImode)))
10352 : : return -1;
10353 : : *pnum_clobbers = 1;
10354 : : return 1913; /* allocate_stack_worker_probe_si */
10355 : :
10356 : : case 1:
10357 : : if (!(
10358 : : #line 27708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10359 : : (ix86_target_stack_probe ()) &&
10360 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10361 : : (Pmode == DImode)))
10362 : : return -1;
10363 : : *pnum_clobbers = 1;
10364 : : return 1914; /* allocate_stack_worker_probe_di */
10365 : :
10366 : : default:
10367 : : return -1;
10368 : : }
10369 : :
10370 : : case 11:
10371 : : if (GET_MODE (x3) != E_DImode
10372 : : || !register_operand (operands[0], E_DImode))
10373 : : return -1;
10374 : : x4 = XVECEXP (x3, 0, 0);
10375 : : operands[1] = x4;
10376 : : if (!register_operand (operands[1], E_SImode)
10377 : : || !
10378 : : #line 29731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10379 : : (!TARGET_64BIT))
10380 : : return -1;
10381 : : return 1949; /* rdpmc */
10382 : :
10383 : : case 9:
10384 : : if (GET_MODE (x3) != E_DImode)
10385 : : return -1;
10386 : : x4 = XVECEXP (x3, 0, 0);
10387 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
10388 : : || !register_operand (operands[0], E_DImode)
10389 : : || !
10390 : : #line 29750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10391 : : (!TARGET_64BIT))
10392 : : return -1;
10393 : : return 1951; /* rdtsc */
10394 : :
10395 : : case 36:
10396 : : if (GET_MODE (x3) != E_DImode
10397 : : || !register_operand (operands[0], E_DImode))
10398 : : return -1;
10399 : : x4 = XVECEXP (x3, 0, 0);
10400 : : operands[1] = x4;
10401 : : if (!register_operand (operands[1], E_SImode)
10402 : : || !
10403 : : #line 29974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10404 : : (!TARGET_64BIT && TARGET_XSAVE))
10405 : : return -1;
10406 : : return 1979; /* xgetbv */
10407 : :
10408 : : case 13:
10409 : : x4 = XVECEXP (x3, 0, 0);
10410 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10411 : : return -1;
10412 : : switch (pattern24 (x3))
10413 : : {
10414 : : case 0:
10415 : : if (!(
10416 : : #line 30068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10417 : : (TARGET_LWP) &&
10418 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10419 : : (Pmode == SImode)))
10420 : : return -1;
10421 : : return 1987; /* lwp_slwpcbsi */
10422 : :
10423 : : case 1:
10424 : : if (!(
10425 : : #line 30068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10426 : : (TARGET_LWP) &&
10427 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10428 : : (Pmode == DImode)))
10429 : : return -1;
10430 : : return 1988; /* lwp_slwpcbdi */
10431 : :
10432 : : default:
10433 : : return -1;
10434 : : }
10435 : :
10436 : : case 16:
10437 : : x4 = XVECEXP (x3, 0, 0);
10438 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10439 : : return -1;
10440 : : switch (pattern24 (x3))
10441 : : {
10442 : : case 0:
10443 : : if (!
10444 : : #line 30116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10445 : : (TARGET_64BIT && TARGET_FSGSBASE))
10446 : : return -1;
10447 : : return 1993; /* rdfsbasesi */
10448 : :
10449 : : case 1:
10450 : : if (!(
10451 : : #line 30116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10452 : : (TARGET_64BIT && TARGET_FSGSBASE) &&
10453 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10454 : : (TARGET_64BIT)))
10455 : : return -1;
10456 : : return 1995; /* rdfsbasedi */
10457 : :
10458 : : default:
10459 : : return -1;
10460 : : }
10461 : :
10462 : : case 17:
10463 : : x4 = XVECEXP (x3, 0, 0);
10464 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10465 : : return -1;
10466 : : switch (pattern24 (x3))
10467 : : {
10468 : : case 0:
10469 : : if (!
10470 : : #line 30116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10471 : : (TARGET_64BIT && TARGET_FSGSBASE))
10472 : : return -1;
10473 : : return 1994; /* rdgsbasesi */
10474 : :
10475 : : case 1:
10476 : : if (!(
10477 : : #line 30116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10478 : : (TARGET_64BIT && TARGET_FSGSBASE) &&
10479 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10480 : : (TARGET_64BIT)))
10481 : : return -1;
10482 : : return 1996; /* rdgsbasedi */
10483 : :
10484 : : default:
10485 : : return -1;
10486 : : }
10487 : :
10488 : : case 59:
10489 : : switch (pattern306 (x3))
10490 : : {
10491 : : case 0:
10492 : : if (!
10493 : : #line 30184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10494 : : (TARGET_SHSTK || (flag_cf_protection & CF_RETURN)))
10495 : : return -1;
10496 : : return 2010; /* rdsspsi */
10497 : :
10498 : : case 1:
10499 : : if (!(
10500 : : #line 30184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10501 : : (TARGET_SHSTK || (flag_cf_protection & CF_RETURN)) &&
10502 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10503 : : (TARGET_64BIT)))
10504 : : return -1;
10505 : : return 2011; /* rdsspdi */
10506 : :
10507 : : default:
10508 : : return -1;
10509 : : }
10510 : :
10511 : : case 57:
10512 : : x4 = XVECEXP (x3, 0, 0);
10513 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10514 : : return -1;
10515 : : switch (pattern24 (x3))
10516 : : {
10517 : : case 0:
10518 : : if (!
10519 : : #line 30424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10520 : : (!TARGET_64BIT && TARGET_RDPID))
10521 : : return -1;
10522 : : return 2036; /* rdpid */
10523 : :
10524 : : case 1:
10525 : : if (!
10526 : : #line 30431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10527 : : (TARGET_64BIT && TARGET_RDPID))
10528 : : return -1;
10529 : : return 2037; /* rdpid_rex64 */
10530 : :
10531 : : default:
10532 : : return -1;
10533 : : }
10534 : :
10535 : : case 85:
10536 : : if (GET_MODE (x3) != E_DImode
10537 : : || !register_operand (operands[0], E_DImode))
10538 : : return -1;
10539 : : x4 = XVECEXP (x3, 0, 0);
10540 : : operands[1] = x4;
10541 : : if (!x86_64_szext_nonmemory_operand (operands[1], E_DImode)
10542 : : || !
10543 : : #line 30707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10544 : : (TARGET_USER_MSR && TARGET_64BIT))
10545 : : return -1;
10546 : : return 2065; /* urdmsr */
10547 : :
10548 : : case 89:
10549 : : x4 = XVECEXP (x3, 0, 0);
10550 : : operands[1] = x4;
10551 : : switch (GET_MODE (operands[0]))
10552 : : {
10553 : : case E_SImode:
10554 : : if (!register_operand (operands[0], E_SImode)
10555 : : || GET_MODE (x3) != E_SImode
10556 : : || !memory_operand (operands[1], E_SImode)
10557 : : || !
10558 : : #line 30745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10559 : : (TARGET_MOVRS && TARGET_64BIT))
10560 : : return -1;
10561 : : return 2071; /* movrssi */
10562 : :
10563 : : case E_DImode:
10564 : : if (!register_operand (operands[0], E_DImode)
10565 : : || GET_MODE (x3) != E_DImode
10566 : : || !memory_operand (operands[1], E_DImode)
10567 : : || !
10568 : : #line 30745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10569 : : (TARGET_MOVRS && TARGET_64BIT))
10570 : : return -1;
10571 : : return 2072; /* movrsdi */
10572 : :
10573 : : default:
10574 : : return -1;
10575 : : }
10576 : :
10577 : : case 93:
10578 : : if (GET_MODE (x3) != E_SImode)
10579 : : return -1;
10580 : : x4 = XVECEXP (x3, 0, 0);
10581 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
10582 : : || !memory_operand (operands[0], E_SImode)
10583 : : || !
10584 : : #line 22798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10585 : : (TARGET_SSE))
10586 : : return -1;
10587 : : return 8619; /* sse_stmxcsr */
10588 : :
10589 : : default:
10590 : : return -1;
10591 : : }
10592 : :
10593 : : case 2:
10594 : : switch (XINT (x3, 1))
10595 : : {
10596 : : case 3:
10597 : : if (pnum_clobbers == NULL)
10598 : : return -1;
10599 : : x4 = XVECEXP (x3, 0, 0);
10600 : : operands[1] = x4;
10601 : : x5 = XVECEXP (x3, 0, 1);
10602 : : operands[2] = x5;
10603 : : switch (GET_MODE (operands[0]))
10604 : : {
10605 : : case E_SImode:
10606 : : if (pattern881 (x3,
10607 : : E_SImode) != 0
10608 : : || !
10609 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10610 : : (Pmode == SImode))
10611 : : return -1;
10612 : : *pnum_clobbers = 1;
10613 : : return 1919; /* probe_stack_range_si */
10614 : :
10615 : : case E_DImode:
10616 : : if (pattern881 (x3,
10617 : : E_DImode) != 0
10618 : : || !
10619 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10620 : : (Pmode == DImode))
10621 : : return -1;
10622 : : *pnum_clobbers = 1;
10623 : : return 1920; /* probe_stack_range_di */
10624 : :
10625 : : default:
10626 : : return -1;
10627 : : }
10628 : :
10629 : : case 113:
10630 : : x5 = XVECEXP (x3, 0, 1);
10631 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10632 : : return -1;
10633 : : x4 = XVECEXP (x3, 0, 0);
10634 : : switch (GET_CODE (x4))
10635 : : {
10636 : : case AND:
10637 : : switch (pattern630 (x3))
10638 : : {
10639 : : case 0:
10640 : : if (!
10641 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10642 : : (TARGET_RAOINT))
10643 : : return -1;
10644 : : return 11072; /* rao_aandsi */
10645 : :
10646 : : case 1:
10647 : : if (!(
10648 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10649 : : (TARGET_RAOINT) &&
10650 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10651 : : (TARGET_64BIT)))
10652 : : return -1;
10653 : : return 11076; /* rao_aanddi */
10654 : :
10655 : : default:
10656 : : return -1;
10657 : : }
10658 : :
10659 : : case IOR:
10660 : : switch (pattern630 (x3))
10661 : : {
10662 : : case 0:
10663 : : if (!
10664 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10665 : : (TARGET_RAOINT))
10666 : : return -1;
10667 : : return 11073; /* rao_aorsi */
10668 : :
10669 : : case 1:
10670 : : if (!(
10671 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10672 : : (TARGET_RAOINT) &&
10673 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10674 : : (TARGET_64BIT)))
10675 : : return -1;
10676 : : return 11077; /* rao_aordi */
10677 : :
10678 : : default:
10679 : : return -1;
10680 : : }
10681 : :
10682 : : case XOR:
10683 : : switch (pattern630 (x3))
10684 : : {
10685 : : case 0:
10686 : : if (!
10687 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10688 : : (TARGET_RAOINT))
10689 : : return -1;
10690 : : return 11074; /* rao_axorsi */
10691 : :
10692 : : case 1:
10693 : : if (!(
10694 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10695 : : (TARGET_RAOINT) &&
10696 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10697 : : (TARGET_64BIT)))
10698 : : return -1;
10699 : : return 11078; /* rao_axordi */
10700 : :
10701 : : default:
10702 : : return -1;
10703 : : }
10704 : :
10705 : : case PLUS:
10706 : : switch (pattern630 (x3))
10707 : : {
10708 : : case 0:
10709 : : if (!
10710 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10711 : : (TARGET_RAOINT))
10712 : : return -1;
10713 : : return 11075; /* rao_aaddsi */
10714 : :
10715 : : case 1:
10716 : : if (!(
10717 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10718 : : (TARGET_RAOINT) &&
10719 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10720 : : (TARGET_64BIT)))
10721 : : return -1;
10722 : : return 11079; /* rao_aadddi */
10723 : :
10724 : : default:
10725 : : return -1;
10726 : : }
10727 : :
10728 : : default:
10729 : : return -1;
10730 : : }
10731 : :
10732 : : case 111:
10733 : : if (pnum_clobbers == NULL)
10734 : : return -1;
10735 : : x5 = XVECEXP (x3, 0, 1);
10736 : : operands[2] = x5;
10737 : : if (!const_int_operand (operands[2], E_SImode))
10738 : : return -1;
10739 : : x4 = XVECEXP (x3, 0, 0);
10740 : : switch (GET_CODE (x4))
10741 : : {
10742 : : case PLUS:
10743 : : switch (pattern882 (x3))
10744 : : {
10745 : : case 0:
10746 : : *pnum_clobbers = 1;
10747 : : return 11082; /* atomic_addsi */
10748 : :
10749 : : case 1:
10750 : : if (!
10751 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10752 : : (TARGET_64BIT))
10753 : : return -1;
10754 : : *pnum_clobbers = 1;
10755 : : return 11083; /* atomic_adddi */
10756 : :
10757 : : default:
10758 : : return -1;
10759 : : }
10760 : :
10761 : : case MINUS:
10762 : : switch (pattern882 (x3))
10763 : : {
10764 : : case 0:
10765 : : *pnum_clobbers = 1;
10766 : : return 11086; /* atomic_subsi */
10767 : :
10768 : : case 1:
10769 : : if (!
10770 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10771 : : (TARGET_64BIT))
10772 : : return -1;
10773 : : *pnum_clobbers = 1;
10774 : : return 11087; /* atomic_subdi */
10775 : :
10776 : : default:
10777 : : return -1;
10778 : : }
10779 : :
10780 : : case AND:
10781 : : switch (pattern882 (x3))
10782 : : {
10783 : : case 0:
10784 : : *pnum_clobbers = 1;
10785 : : return 11094; /* atomic_andsi */
10786 : :
10787 : : case 1:
10788 : : if (!
10789 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10790 : : (TARGET_64BIT))
10791 : : return -1;
10792 : : *pnum_clobbers = 1;
10793 : : return 11097; /* atomic_anddi */
10794 : :
10795 : : default:
10796 : : return -1;
10797 : : }
10798 : :
10799 : : case IOR:
10800 : : switch (pattern882 (x3))
10801 : : {
10802 : : case 0:
10803 : : *pnum_clobbers = 1;
10804 : : return 11095; /* atomic_orsi */
10805 : :
10806 : : case 1:
10807 : : if (!
10808 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10809 : : (TARGET_64BIT))
10810 : : return -1;
10811 : : *pnum_clobbers = 1;
10812 : : return 11098; /* atomic_ordi */
10813 : :
10814 : : default:
10815 : : return -1;
10816 : : }
10817 : :
10818 : : case XOR:
10819 : : switch (pattern882 (x3))
10820 : : {
10821 : : case 0:
10822 : : *pnum_clobbers = 1;
10823 : : return 11096; /* atomic_xorsi */
10824 : :
10825 : : case 1:
10826 : : if (!
10827 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10828 : : (TARGET_64BIT))
10829 : : return -1;
10830 : : *pnum_clobbers = 1;
10831 : : return 11099; /* atomic_xordi */
10832 : :
10833 : : default:
10834 : : return -1;
10835 : : }
10836 : :
10837 : : default:
10838 : : return -1;
10839 : : }
10840 : :
10841 : : default:
10842 : : return -1;
10843 : : }
10844 : :
10845 : : default:
10846 : : return -1;
10847 : : }
10848 : : }
10849 : :
10850 : : int
10851 : : recog_136 (rtx x1 ATTRIBUTE_UNUSED,
10852 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10853 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10854 : : {
10855 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10856 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10857 : : int res ATTRIBUTE_UNUSED;
10858 : : x2 = XEXP (x1, 1);
10859 : : x3 = XEXP (x2, 0);
10860 : : x4 = XVECEXP (x3, 0, 2);
10861 : : operands[3] = x4;
10862 : : x5 = XEXP (x2, 1);
10863 : : switch (GET_CODE (x5))
10864 : : {
10865 : : case REG:
10866 : : case SUBREG:
10867 : : x6 = XEXP (x2, 2);
10868 : : operands[4] = x6;
10869 : : switch (GET_MODE (operands[0]))
10870 : : {
10871 : : case E_V16SImode:
10872 : : if (pattern999 (x2,
10873 : : E_V16SImode) == 0)
10874 : : {
10875 : : x7 = XVECEXP (x3, 0, 1);
10876 : : operands[1] = x7;
10877 : : x8 = XVECEXP (x3, 0, 0);
10878 : : operands[2] = x8;
10879 : : if (nonimmediate_operand (operands[3], E_V16SImode)
10880 : : && register_operand (operands[4], E_HImode)
10881 : : && rtx_equal_p (x5, operands[2])
10882 : : &&
10883 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10884 : : (TARGET_AVX512F))
10885 : : return 9428; /* *avx512f_vpermi2varv16si3_mask */
10886 : : operands[2] = x7;
10887 : : operands[1] = x8;
10888 : : if (nonimmediate_operand (operands[3], E_V16SImode)
10889 : : && register_operand (operands[4], E_HImode)
10890 : : && rtx_equal_p (x5, operands[2])
10891 : : &&
10892 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10893 : : (TARGET_AVX512F))
10894 : : return 9494; /* avx512f_vpermt2varv16si3_mask */
10895 : : }
10896 : : break;
10897 : :
10898 : : case E_V8DImode:
10899 : : if (pattern999 (x2,
10900 : : E_V8DImode) == 0)
10901 : : {
10902 : : x7 = XVECEXP (x3, 0, 1);
10903 : : operands[1] = x7;
10904 : : x8 = XVECEXP (x3, 0, 0);
10905 : : operands[2] = x8;
10906 : : if (nonimmediate_operand (operands[3], E_V8DImode)
10907 : : && register_operand (operands[4], E_QImode)
10908 : : && rtx_equal_p (x5, operands[2])
10909 : : &&
10910 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10911 : : (TARGET_AVX512F))
10912 : : return 9429; /* *avx512f_vpermi2varv8di3_mask */
10913 : : operands[2] = x7;
10914 : : operands[1] = x8;
10915 : : if (nonimmediate_operand (operands[3], E_V8DImode)
10916 : : && register_operand (operands[4], E_QImode)
10917 : : && rtx_equal_p (x5, operands[2])
10918 : : &&
10919 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10920 : : (TARGET_AVX512F))
10921 : : return 9496; /* avx512f_vpermt2varv8di3_mask */
10922 : : }
10923 : : break;
10924 : :
10925 : : case E_V8SImode:
10926 : : if (pattern999 (x2,
10927 : : E_V8SImode) == 0)
10928 : : {
10929 : : x7 = XVECEXP (x3, 0, 1);
10930 : : operands[1] = x7;
10931 : : x8 = XVECEXP (x3, 0, 0);
10932 : : operands[2] = x8;
10933 : : if (nonimmediate_operand (operands[3], E_V8SImode)
10934 : : && register_operand (operands[4], E_QImode)
10935 : : && rtx_equal_p (x5, operands[2])
10936 : : && (
10937 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10938 : : (TARGET_AVX512F) &&
10939 : : #line 28557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10940 : : (TARGET_AVX512VL)))
10941 : : return 9430; /* *avx512vl_vpermi2varv8si3_mask */
10942 : : operands[2] = x7;
10943 : : operands[1] = x8;
10944 : : if (nonimmediate_operand (operands[3], E_V8SImode)
10945 : : && register_operand (operands[4], E_QImode)
10946 : : && rtx_equal_p (x5, operands[2])
10947 : : && (
10948 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10949 : : (TARGET_AVX512F) &&
10950 : : #line 28544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10951 : : (TARGET_AVX512VL)))
10952 : : return 9498; /* avx512vl_vpermt2varv8si3_mask */
10953 : : }
10954 : : break;
10955 : :
10956 : : case E_V4SImode:
10957 : : if (pattern999 (x2,
10958 : : E_V4SImode) == 0)
10959 : : {
10960 : : x7 = XVECEXP (x3, 0, 1);
10961 : : operands[1] = x7;
10962 : : x8 = XVECEXP (x3, 0, 0);
10963 : : operands[2] = x8;
10964 : : if (nonimmediate_operand (operands[3], E_V4SImode)
10965 : : && register_operand (operands[4], E_QImode)
10966 : : && rtx_equal_p (x5, operands[2])
10967 : : && (
10968 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10969 : : (TARGET_AVX512F) &&
10970 : : #line 28557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10971 : : (TARGET_AVX512VL)))
10972 : : return 9431; /* *avx512vl_vpermi2varv4si3_mask */
10973 : : operands[2] = x7;
10974 : : operands[1] = x8;
10975 : : if (nonimmediate_operand (operands[3], E_V4SImode)
10976 : : && register_operand (operands[4], E_QImode)
10977 : : && rtx_equal_p (x5, operands[2])
10978 : : && (
10979 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10980 : : (TARGET_AVX512F) &&
10981 : : #line 28546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10982 : : (TARGET_AVX512VL)))
10983 : : return 9502; /* avx512vl_vpermt2varv4si3_mask */
10984 : : }
10985 : : break;
10986 : :
10987 : : case E_V4DImode:
10988 : : if (pattern999 (x2,
10989 : : E_V4DImode) == 0)
10990 : : {
10991 : : x7 = XVECEXP (x3, 0, 1);
10992 : : operands[1] = x7;
10993 : : x8 = XVECEXP (x3, 0, 0);
10994 : : operands[2] = x8;
10995 : : if (nonimmediate_operand (operands[3], E_V4DImode)
10996 : : && register_operand (operands[4], E_QImode)
10997 : : && rtx_equal_p (x5, operands[2])
10998 : : && (
10999 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11000 : : (TARGET_AVX512F) &&
11001 : : #line 28558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11002 : : (TARGET_AVX512VL)))
11003 : : return 9432; /* *avx512vl_vpermi2varv4di3_mask */
11004 : : operands[2] = x7;
11005 : : operands[1] = x8;
11006 : : if (nonimmediate_operand (operands[3], E_V4DImode)
11007 : : && register_operand (operands[4], E_QImode)
11008 : : && rtx_equal_p (x5, operands[2])
11009 : : && (
11010 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11011 : : (TARGET_AVX512F) &&
11012 : : #line 28545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11013 : : (TARGET_AVX512VL)))
11014 : : return 9500; /* avx512vl_vpermt2varv4di3_mask */
11015 : : }
11016 : : break;
11017 : :
11018 : : case E_V2DImode:
11019 : : if (pattern999 (x2,
11020 : : E_V2DImode) == 0)
11021 : : {
11022 : : x7 = XVECEXP (x3, 0, 1);
11023 : : operands[1] = x7;
11024 : : x8 = XVECEXP (x3, 0, 0);
11025 : : operands[2] = x8;
11026 : : if (nonimmediate_operand (operands[3], E_V2DImode)
11027 : : && register_operand (operands[4], E_QImode)
11028 : : && rtx_equal_p (x5, operands[2])
11029 : : && (
11030 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11031 : : (TARGET_AVX512F) &&
11032 : : #line 28558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11033 : : (TARGET_AVX512VL)))
11034 : : return 9433; /* *avx512vl_vpermi2varv2di3_mask */
11035 : : operands[2] = x7;
11036 : : operands[1] = x8;
11037 : : if (nonimmediate_operand (operands[3], E_V2DImode)
11038 : : && register_operand (operands[4], E_QImode)
11039 : : && rtx_equal_p (x5, operands[2])
11040 : : && (
11041 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11042 : : (TARGET_AVX512F) &&
11043 : : #line 28547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11044 : : (TARGET_AVX512VL)))
11045 : : return 9504; /* avx512vl_vpermt2varv2di3_mask */
11046 : : }
11047 : : break;
11048 : :
11049 : : case E_V32HImode:
11050 : : if (pattern999 (x2,
11051 : : E_V32HImode) == 0)
11052 : : {
11053 : : x7 = XVECEXP (x3, 0, 1);
11054 : : operands[1] = x7;
11055 : : x8 = XVECEXP (x3, 0, 0);
11056 : : operands[2] = x8;
11057 : : if (nonimmediate_operand (operands[3], E_V32HImode)
11058 : : && register_operand (operands[4], E_SImode)
11059 : : && rtx_equal_p (x5, operands[2])
11060 : : && (
11061 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11062 : : (TARGET_AVX512F) &&
11063 : : #line 28559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11064 : : (TARGET_AVX512BW)))
11065 : : return 9434; /* *avx512bw_vpermi2varv32hi3_mask */
11066 : : operands[2] = x7;
11067 : : operands[1] = x8;
11068 : : if (nonimmediate_operand (operands[3], E_V32HImode)
11069 : : && register_operand (operands[4], E_SImode)
11070 : : && rtx_equal_p (x5, operands[2])
11071 : : && (
11072 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11073 : : (TARGET_AVX512F) &&
11074 : : #line 28548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11075 : : (TARGET_AVX512BW)))
11076 : : return 9506; /* avx512bw_vpermt2varv32hi3_mask */
11077 : : }
11078 : : break;
11079 : :
11080 : : case E_V16HImode:
11081 : : if (pattern999 (x2,
11082 : : E_V16HImode) == 0)
11083 : : {
11084 : : x7 = XVECEXP (x3, 0, 1);
11085 : : operands[1] = x7;
11086 : : x8 = XVECEXP (x3, 0, 0);
11087 : : operands[2] = x8;
11088 : : if (nonimmediate_operand (operands[3], E_V16HImode)
11089 : : && register_operand (operands[4], E_HImode)
11090 : : && rtx_equal_p (x5, operands[2])
11091 : : && (
11092 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11093 : : (TARGET_AVX512F) &&
11094 : : #line 28560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11095 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
11096 : : return 9435; /* *avx512vl_vpermi2varv16hi3_mask */
11097 : : operands[2] = x7;
11098 : : operands[1] = x8;
11099 : : if (nonimmediate_operand (operands[3], E_V16HImode)
11100 : : && register_operand (operands[4], E_HImode)
11101 : : && rtx_equal_p (x5, operands[2])
11102 : : && (
11103 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11104 : : (TARGET_AVX512F) &&
11105 : : #line 28549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11106 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
11107 : : return 9507; /* avx512vl_vpermt2varv16hi3_mask */
11108 : : }
11109 : : break;
11110 : :
11111 : : case E_V8HImode:
11112 : : if (pattern999 (x2,
11113 : : E_V8HImode) == 0)
11114 : : {
11115 : : x7 = XVECEXP (x3, 0, 1);
11116 : : operands[1] = x7;
11117 : : x8 = XVECEXP (x3, 0, 0);
11118 : : operands[2] = x8;
11119 : : if (nonimmediate_operand (operands[3], E_V8HImode)
11120 : : && register_operand (operands[4], E_QImode)
11121 : : && rtx_equal_p (x5, operands[2])
11122 : : && (
11123 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11124 : : (TARGET_AVX512F) &&
11125 : : #line 28561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11126 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
11127 : : return 9436; /* *avx512vl_vpermi2varv8hi3_mask */
11128 : : operands[2] = x7;
11129 : : operands[1] = x8;
11130 : : if (nonimmediate_operand (operands[3], E_V8HImode)
11131 : : && register_operand (operands[4], E_QImode)
11132 : : && rtx_equal_p (x5, operands[2])
11133 : : && (
11134 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11135 : : (TARGET_AVX512F) &&
11136 : : #line 28550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11137 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
11138 : : return 9508; /* avx512vl_vpermt2varv8hi3_mask */
11139 : : }
11140 : : break;
11141 : :
11142 : : case E_V64QImode:
11143 : : if (pattern999 (x2,
11144 : : E_V64QImode) == 0)
11145 : : {
11146 : : x7 = XVECEXP (x3, 0, 1);
11147 : : operands[1] = x7;
11148 : : x8 = XVECEXP (x3, 0, 0);
11149 : : operands[2] = x8;
11150 : : if (nonimmediate_operand (operands[3], E_V64QImode)
11151 : : && register_operand (operands[4], E_DImode)
11152 : : && rtx_equal_p (x5, operands[2])
11153 : : && (
11154 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11155 : : (TARGET_AVX512F) &&
11156 : : #line 28562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11157 : : (TARGET_AVX512VBMI)))
11158 : : return 9437; /* *avx512bw_vpermi2varv64qi3_mask */
11159 : : operands[2] = x7;
11160 : : operands[1] = x8;
11161 : : if (nonimmediate_operand (operands[3], E_V64QImode)
11162 : : && register_operand (operands[4], E_DImode)
11163 : : && rtx_equal_p (x5, operands[2])
11164 : : && (
11165 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11166 : : (TARGET_AVX512F) &&
11167 : : #line 28551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11168 : : (TARGET_AVX512VBMI)))
11169 : : return 9509; /* avx512bw_vpermt2varv64qi3_mask */
11170 : : }
11171 : : break;
11172 : :
11173 : : case E_V32QImode:
11174 : : if (pattern999 (x2,
11175 : : E_V32QImode) == 0)
11176 : : {
11177 : : x7 = XVECEXP (x3, 0, 1);
11178 : : operands[1] = x7;
11179 : : x8 = XVECEXP (x3, 0, 0);
11180 : : operands[2] = x8;
11181 : : if (nonimmediate_operand (operands[3], E_V32QImode)
11182 : : && register_operand (operands[4], E_SImode)
11183 : : && rtx_equal_p (x5, operands[2])
11184 : : && (
11185 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11186 : : (TARGET_AVX512F) &&
11187 : : #line 28563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11188 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11189 : : return 9438; /* *avx512vl_vpermi2varv32qi3_mask */
11190 : : operands[2] = x7;
11191 : : operands[1] = x8;
11192 : : if (nonimmediate_operand (operands[3], E_V32QImode)
11193 : : && register_operand (operands[4], E_SImode)
11194 : : && rtx_equal_p (x5, operands[2])
11195 : : && (
11196 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11197 : : (TARGET_AVX512F) &&
11198 : : #line 28552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11199 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11200 : : return 9510; /* avx512vl_vpermt2varv32qi3_mask */
11201 : : }
11202 : : break;
11203 : :
11204 : : case E_V16QImode:
11205 : : if (pattern999 (x2,
11206 : : E_V16QImode) == 0)
11207 : : {
11208 : : x7 = XVECEXP (x3, 0, 1);
11209 : : operands[1] = x7;
11210 : : x8 = XVECEXP (x3, 0, 0);
11211 : : operands[2] = x8;
11212 : : if (nonimmediate_operand (operands[3], E_V16QImode)
11213 : : && register_operand (operands[4], E_HImode)
11214 : : && rtx_equal_p (x5, operands[2])
11215 : : && (
11216 : : #line 28592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11217 : : (TARGET_AVX512F) &&
11218 : : #line 28564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11219 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11220 : : return 9439; /* *avx512vl_vpermi2varv16qi3_mask */
11221 : : operands[2] = x7;
11222 : : operands[1] = x8;
11223 : : if (nonimmediate_operand (operands[3], E_V16QImode)
11224 : : && register_operand (operands[4], E_HImode)
11225 : : && rtx_equal_p (x5, operands[2])
11226 : : && (
11227 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11228 : : (TARGET_AVX512F) &&
11229 : : #line 28553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11230 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11231 : : return 9511; /* avx512vl_vpermt2varv16qi3_mask */
11232 : : }
11233 : : break;
11234 : :
11235 : : default:
11236 : : break;
11237 : : }
11238 : : if (GET_CODE (x5) == SUBREG
11239 : : && known_eq (SUBREG_BYTE (x5), 0))
11240 : : {
11241 : : x8 = XVECEXP (x3, 0, 0);
11242 : : operands[2] = x8;
11243 : : x7 = XVECEXP (x3, 0, 1);
11244 : : operands[1] = x7;
11245 : : x9 = XEXP (x5, 0);
11246 : : if (rtx_equal_p (x9, operands[2]))
11247 : : {
11248 : : switch (GET_MODE (operands[0]))
11249 : : {
11250 : : case E_V16SFmode:
11251 : : if (pattern1459 (x2,
11252 : : E_V16SFmode,
11253 : : E_V16SImode,
11254 : : E_HImode) == 0
11255 : : &&
11256 : : #line 28608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11257 : : (TARGET_AVX512F))
11258 : : return 9440; /* *avx512f_vpermi2varv16sf3_mask */
11259 : : break;
11260 : :
11261 : : case E_V8SFmode:
11262 : : if (pattern1459 (x2,
11263 : : E_V8SFmode,
11264 : : E_V8SImode,
11265 : : E_QImode) == 0
11266 : : && (
11267 : : #line 28608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11268 : : (TARGET_AVX512F) &&
11269 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11270 : : (TARGET_AVX512VL)))
11271 : : return 9441; /* *avx512vl_vpermi2varv8sf3_mask */
11272 : : break;
11273 : :
11274 : : case E_V4SFmode:
11275 : : if (pattern1459 (x2,
11276 : : E_V4SFmode,
11277 : : E_V4SImode,
11278 : : E_QImode) == 0
11279 : : && (
11280 : : #line 28608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11281 : : (TARGET_AVX512F) &&
11282 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11283 : : (TARGET_AVX512VL)))
11284 : : return 9442; /* *avx512vl_vpermi2varv4sf3_mask */
11285 : : break;
11286 : :
11287 : : case E_V8DFmode:
11288 : : if (pattern1459 (x2,
11289 : : E_V8DFmode,
11290 : : E_V8DImode,
11291 : : E_QImode) == 0
11292 : : &&
11293 : : #line 28608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11294 : : (TARGET_AVX512F))
11295 : : return 9443; /* *avx512f_vpermi2varv8df3_mask */
11296 : : break;
11297 : :
11298 : : case E_V4DFmode:
11299 : : if (pattern1459 (x2,
11300 : : E_V4DFmode,
11301 : : E_V4DImode,
11302 : : E_QImode) == 0
11303 : : && (
11304 : : #line 28608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11305 : : (TARGET_AVX512F) &&
11306 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11307 : : (TARGET_AVX512VL)))
11308 : : return 9444; /* *avx512vl_vpermi2varv4df3_mask */
11309 : : break;
11310 : :
11311 : : case E_V2DFmode:
11312 : : if (pattern1459 (x2,
11313 : : E_V2DFmode,
11314 : : E_V2DImode,
11315 : : E_QImode) == 0
11316 : : && (
11317 : : #line 28608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11318 : : (TARGET_AVX512F) &&
11319 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11320 : : (TARGET_AVX512VL)))
11321 : : return 9445; /* *avx512vl_vpermi2varv2df3_mask */
11322 : : break;
11323 : :
11324 : : default:
11325 : : break;
11326 : : }
11327 : : }
11328 : : }
11329 : : x8 = XVECEXP (x3, 0, 0);
11330 : : operands[1] = x8;
11331 : : x7 = XVECEXP (x3, 0, 1);
11332 : : operands[2] = x7;
11333 : : if (!rtx_equal_p (x5, operands[2]))
11334 : : return -1;
11335 : : switch (GET_MODE (operands[0]))
11336 : : {
11337 : : case E_V16SFmode:
11338 : : if (pattern1275 (x2,
11339 : : E_V16SFmode,
11340 : : E_V16SImode,
11341 : : E_HImode) != 0
11342 : : || !
11343 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11344 : : (TARGET_AVX512F))
11345 : : return -1;
11346 : : return 9495; /* avx512f_vpermt2varv16sf3_mask */
11347 : :
11348 : : case E_V8DFmode:
11349 : : if (pattern1275 (x2,
11350 : : E_V8DFmode,
11351 : : E_V8DImode,
11352 : : E_QImode) != 0
11353 : : || !
11354 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11355 : : (TARGET_AVX512F))
11356 : : return -1;
11357 : : return 9497; /* avx512f_vpermt2varv8df3_mask */
11358 : :
11359 : : case E_V8SFmode:
11360 : : if (pattern1275 (x2,
11361 : : E_V8SFmode,
11362 : : E_V8SImode,
11363 : : E_QImode) != 0
11364 : : || !(
11365 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11366 : : (TARGET_AVX512F) &&
11367 : : #line 28544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11368 : : (TARGET_AVX512VL)))
11369 : : return -1;
11370 : : return 9499; /* avx512vl_vpermt2varv8sf3_mask */
11371 : :
11372 : : case E_V4DFmode:
11373 : : if (pattern1275 (x2,
11374 : : E_V4DFmode,
11375 : : E_V4DImode,
11376 : : E_QImode) != 0
11377 : : || !(
11378 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11379 : : (TARGET_AVX512F) &&
11380 : : #line 28545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11381 : : (TARGET_AVX512VL)))
11382 : : return -1;
11383 : : return 9501; /* avx512vl_vpermt2varv4df3_mask */
11384 : :
11385 : : case E_V4SFmode:
11386 : : if (pattern1275 (x2,
11387 : : E_V4SFmode,
11388 : : E_V4SImode,
11389 : : E_QImode) != 0
11390 : : || !(
11391 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11392 : : (TARGET_AVX512F) &&
11393 : : #line 28546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11394 : : (TARGET_AVX512VL)))
11395 : : return -1;
11396 : : return 9503; /* avx512vl_vpermt2varv4sf3_mask */
11397 : :
11398 : : case E_V2DFmode:
11399 : : if (pattern1275 (x2,
11400 : : E_V2DFmode,
11401 : : E_V2DImode,
11402 : : E_QImode) != 0
11403 : : || !(
11404 : : #line 28668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11405 : : (TARGET_AVX512F) &&
11406 : : #line 28547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11407 : : (TARGET_AVX512VL)))
11408 : : return -1;
11409 : : return 9505; /* avx512vl_vpermt2varv2df3_mask */
11410 : :
11411 : : default:
11412 : : return -1;
11413 : : }
11414 : :
11415 : : case CONST_INT:
11416 : : case CONST_DOUBLE:
11417 : : case CONST_VECTOR:
11418 : : operands[4] = x5;
11419 : : x8 = XVECEXP (x3, 0, 0);
11420 : : operands[1] = x8;
11421 : : x7 = XVECEXP (x3, 0, 1);
11422 : : operands[2] = x7;
11423 : : x6 = XEXP (x2, 2);
11424 : : operands[5] = x6;
11425 : : switch (GET_MODE (operands[0]))
11426 : : {
11427 : : case E_V16SImode:
11428 : : if (pattern483 (x2,
11429 : : E_V16SImode,
11430 : : E_HImode) != 0
11431 : : || !
11432 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11433 : : (TARGET_AVX512F))
11434 : : return -1;
11435 : : return 9447; /* avx512f_vpermt2varv16si3_maskz_1 */
11436 : :
11437 : : case E_V16SFmode:
11438 : : if (pattern1276 (x2,
11439 : : E_V16SFmode,
11440 : : E_HImode,
11441 : : E_V16SImode) != 0
11442 : : || !
11443 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : : (TARGET_AVX512F))
11445 : : return -1;
11446 : : return 9449; /* avx512f_vpermt2varv16sf3_maskz_1 */
11447 : :
11448 : : case E_V8DImode:
11449 : : if (pattern483 (x2,
11450 : : E_V8DImode,
11451 : : E_QImode) != 0
11452 : : || !
11453 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11454 : : (TARGET_AVX512F))
11455 : : return -1;
11456 : : return 9451; /* avx512f_vpermt2varv8di3_maskz_1 */
11457 : :
11458 : : case E_V8DFmode:
11459 : : if (pattern1276 (x2,
11460 : : E_V8DFmode,
11461 : : E_QImode,
11462 : : E_V8DImode) != 0
11463 : : || !
11464 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11465 : : (TARGET_AVX512F))
11466 : : return -1;
11467 : : return 9453; /* avx512f_vpermt2varv8df3_maskz_1 */
11468 : :
11469 : : case E_V8SImode:
11470 : : if (pattern483 (x2,
11471 : : E_V8SImode,
11472 : : E_QImode) != 0
11473 : : || !(
11474 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11475 : : (TARGET_AVX512F) &&
11476 : : #line 28544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11477 : : (TARGET_AVX512VL)))
11478 : : return -1;
11479 : : return 9455; /* avx512vl_vpermt2varv8si3_maskz_1 */
11480 : :
11481 : : case E_V8SFmode:
11482 : : if (pattern1276 (x2,
11483 : : E_V8SFmode,
11484 : : E_QImode,
11485 : : E_V8SImode) != 0
11486 : : || !(
11487 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11488 : : (TARGET_AVX512F) &&
11489 : : #line 28544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11490 : : (TARGET_AVX512VL)))
11491 : : return -1;
11492 : : return 9457; /* avx512vl_vpermt2varv8sf3_maskz_1 */
11493 : :
11494 : : case E_V4DImode:
11495 : : if (pattern483 (x2,
11496 : : E_V4DImode,
11497 : : E_QImode) != 0
11498 : : || !(
11499 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11500 : : (TARGET_AVX512F) &&
11501 : : #line 28545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11502 : : (TARGET_AVX512VL)))
11503 : : return -1;
11504 : : return 9459; /* avx512vl_vpermt2varv4di3_maskz_1 */
11505 : :
11506 : : case E_V4DFmode:
11507 : : if (pattern1276 (x2,
11508 : : E_V4DFmode,
11509 : : E_QImode,
11510 : : E_V4DImode) != 0
11511 : : || !(
11512 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11513 : : (TARGET_AVX512F) &&
11514 : : #line 28545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11515 : : (TARGET_AVX512VL)))
11516 : : return -1;
11517 : : return 9461; /* avx512vl_vpermt2varv4df3_maskz_1 */
11518 : :
11519 : : case E_V4SImode:
11520 : : if (pattern483 (x2,
11521 : : E_V4SImode,
11522 : : E_QImode) != 0
11523 : : || !(
11524 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11525 : : (TARGET_AVX512F) &&
11526 : : #line 28546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11527 : : (TARGET_AVX512VL)))
11528 : : return -1;
11529 : : return 9463; /* avx512vl_vpermt2varv4si3_maskz_1 */
11530 : :
11531 : : case E_V4SFmode:
11532 : : if (pattern1276 (x2,
11533 : : E_V4SFmode,
11534 : : E_QImode,
11535 : : E_V4SImode) != 0
11536 : : || !(
11537 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11538 : : (TARGET_AVX512F) &&
11539 : : #line 28546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11540 : : (TARGET_AVX512VL)))
11541 : : return -1;
11542 : : return 9465; /* avx512vl_vpermt2varv4sf3_maskz_1 */
11543 : :
11544 : : case E_V2DImode:
11545 : : if (pattern483 (x2,
11546 : : E_V2DImode,
11547 : : E_QImode) != 0
11548 : : || !(
11549 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11550 : : (TARGET_AVX512F) &&
11551 : : #line 28547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11552 : : (TARGET_AVX512VL)))
11553 : : return -1;
11554 : : return 9467; /* avx512vl_vpermt2varv2di3_maskz_1 */
11555 : :
11556 : : case E_V2DFmode:
11557 : : if (pattern1276 (x2,
11558 : : E_V2DFmode,
11559 : : E_QImode,
11560 : : E_V2DImode) != 0
11561 : : || !(
11562 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11563 : : (TARGET_AVX512F) &&
11564 : : #line 28547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11565 : : (TARGET_AVX512VL)))
11566 : : return -1;
11567 : : return 9469; /* avx512vl_vpermt2varv2df3_maskz_1 */
11568 : :
11569 : : case E_V32HImode:
11570 : : if (pattern483 (x2,
11571 : : E_V32HImode,
11572 : : E_SImode) != 0
11573 : : || !(
11574 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11575 : : (TARGET_AVX512F) &&
11576 : : #line 28548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11577 : : (TARGET_AVX512BW)))
11578 : : return -1;
11579 : : return 9471; /* avx512bw_vpermt2varv32hi3_maskz_1 */
11580 : :
11581 : : case E_V16HImode:
11582 : : if (pattern483 (x2,
11583 : : E_V16HImode,
11584 : : E_HImode) != 0
11585 : : || !(
11586 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11587 : : (TARGET_AVX512F) &&
11588 : : #line 28549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11589 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
11590 : : return -1;
11591 : : return 9473; /* avx512vl_vpermt2varv16hi3_maskz_1 */
11592 : :
11593 : : case E_V8HImode:
11594 : : if (pattern483 (x2,
11595 : : E_V8HImode,
11596 : : E_QImode) != 0
11597 : : || !(
11598 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11599 : : (TARGET_AVX512F) &&
11600 : : #line 28550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11601 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
11602 : : return -1;
11603 : : return 9475; /* avx512vl_vpermt2varv8hi3_maskz_1 */
11604 : :
11605 : : case E_V64QImode:
11606 : : if (pattern483 (x2,
11607 : : E_V64QImode,
11608 : : E_DImode) != 0
11609 : : || !(
11610 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11611 : : (TARGET_AVX512F) &&
11612 : : #line 28551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11613 : : (TARGET_AVX512VBMI)))
11614 : : return -1;
11615 : : return 9477; /* avx512bw_vpermt2varv64qi3_maskz_1 */
11616 : :
11617 : : case E_V32QImode:
11618 : : if (pattern483 (x2,
11619 : : E_V32QImode,
11620 : : E_SImode) != 0
11621 : : || !(
11622 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11623 : : (TARGET_AVX512F) &&
11624 : : #line 28552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11625 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11626 : : return -1;
11627 : : return 9479; /* avx512vl_vpermt2varv32qi3_maskz_1 */
11628 : :
11629 : : case E_V16QImode:
11630 : : if (pattern483 (x2,
11631 : : E_V16QImode,
11632 : : E_HImode) != 0
11633 : : || !(
11634 : : #line 28635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11635 : : (TARGET_AVX512F) &&
11636 : : #line 28553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11637 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11638 : : return -1;
11639 : : return 9481; /* avx512vl_vpermt2varv16qi3_maskz_1 */
11640 : :
11641 : : case E_V32HFmode:
11642 : : if (pattern1276 (x2,
11643 : : E_V32HFmode,
11644 : : E_SImode,
11645 : : E_V32HImode) != 0
11646 : : || !
11647 : : #line 28650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11648 : : (TARGET_AVX512BW))
11649 : : return -1;
11650 : : return 9483; /* avx512bw_vpermt2varv32hf3_maskz_1 */
11651 : :
11652 : : case E_V16HFmode:
11653 : : if (pattern1276 (x2,
11654 : : E_V16HFmode,
11655 : : E_HImode,
11656 : : E_V16HImode) != 0
11657 : : || !(
11658 : : #line 28650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11659 : : (TARGET_AVX512BW) &&
11660 : : #line 543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11661 : : (TARGET_AVX512VL)))
11662 : : return -1;
11663 : : return 9485; /* avx512vl_vpermt2varv16hf3_maskz_1 */
11664 : :
11665 : : case E_V8HFmode:
11666 : : if (pattern1276 (x2,
11667 : : E_V8HFmode,
11668 : : E_QImode,
11669 : : E_V8HImode) != 0
11670 : : || !(
11671 : : #line 28650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11672 : : (TARGET_AVX512BW) &&
11673 : : #line 543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11674 : : (TARGET_AVX512VL)))
11675 : : return -1;
11676 : : return 9487; /* avx512fp16_vpermt2varv8hf3_maskz_1 */
11677 : :
11678 : : case E_V32BFmode:
11679 : : if (pattern1276 (x2,
11680 : : E_V32BFmode,
11681 : : E_SImode,
11682 : : E_V32HImode) != 0
11683 : : || !
11684 : : #line 28650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11685 : : (TARGET_AVX512BW))
11686 : : return -1;
11687 : : return 9489; /* avx512bw_vpermt2varv32bf3_maskz_1 */
11688 : :
11689 : : case E_V16BFmode:
11690 : : if (pattern1276 (x2,
11691 : : E_V16BFmode,
11692 : : E_HImode,
11693 : : E_V16HImode) != 0
11694 : : || !(
11695 : : #line 28650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11696 : : (TARGET_AVX512BW) &&
11697 : : #line 544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11698 : : (TARGET_AVX512VL)))
11699 : : return -1;
11700 : : return 9491; /* avx512vl_vpermt2varv16bf3_maskz_1 */
11701 : :
11702 : : case E_V8BFmode:
11703 : : if (pattern1276 (x2,
11704 : : E_V8BFmode,
11705 : : E_QImode,
11706 : : E_V8HImode) != 0
11707 : : || !(
11708 : : #line 28650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11709 : : (TARGET_AVX512BW) &&
11710 : : #line 544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11711 : : (TARGET_AVX512VL)))
11712 : : return -1;
11713 : : return 9493; /* avx512vl_vpermt2varv8bf3_maskz_1 */
11714 : :
11715 : : default:
11716 : : return -1;
11717 : : }
11718 : :
11719 : : default:
11720 : : return -1;
11721 : : }
11722 : : }
11723 : :
11724 : : int
11725 : : recog_163 (rtx x1 ATTRIBUTE_UNUSED,
11726 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11727 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11728 : : {
11729 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11730 : : rtx x2, x3, x4;
11731 : : int res ATTRIBUTE_UNUSED;
11732 : : x2 = XEXP (x1, 1);
11733 : : x3 = XEXP (x2, 1);
11734 : : switch (GET_CODE (x3))
11735 : : {
11736 : : case CONST_INT:
11737 : : case CONST_DOUBLE:
11738 : : case CONST_VECTOR:
11739 : : operands[4] = x3;
11740 : : x4 = XEXP (x2, 2);
11741 : : switch (GET_CODE (x4))
11742 : : {
11743 : : case REG:
11744 : : case SUBREG:
11745 : : operands[5] = x4;
11746 : : switch (GET_MODE (operands[0]))
11747 : : {
11748 : : case E_V4SFmode:
11749 : : if (pattern1393 (x2,
11750 : : E_V4SFmode) != 0)
11751 : : return -1;
11752 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
11753 : : && nonimmediate_operand (operands[2], E_V4SFmode)
11754 : : && nonimmediate_operand (operands[3], E_V4SFmode)
11755 : : &&
11756 : : #line 6521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11757 : : (TARGET_FMA || TARGET_FMA4))
11758 : : return 4050; /* *fma_fnmsub_v4sf */
11759 : : if (!bcst_vector_operand (operands[1], E_V4SFmode)
11760 : : || !bcst_vector_operand (operands[2], E_V4SFmode)
11761 : : || !bcst_vector_operand (operands[3], E_V4SFmode)
11762 : : || !(
11763 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11764 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11765 : : #line 6228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11766 : : (TARGET_AVX512VL)))
11767 : : return -1;
11768 : : return 4082; /* fma_fnmsub_v4sf_maskz_1 */
11769 : :
11770 : : case E_V2DFmode:
11771 : : if (pattern1393 (x2,
11772 : : E_V2DFmode) != 0)
11773 : : return -1;
11774 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
11775 : : && nonimmediate_operand (operands[2], E_V2DFmode)
11776 : : && nonimmediate_operand (operands[3], E_V2DFmode)
11777 : : &&
11778 : : #line 6521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11779 : : (TARGET_FMA || TARGET_FMA4))
11780 : : return 4054; /* *fma_fnmsub_v2df */
11781 : : if (!bcst_vector_operand (operands[1], E_V2DFmode)
11782 : : || !bcst_vector_operand (operands[2], E_V2DFmode)
11783 : : || !bcst_vector_operand (operands[3], E_V2DFmode)
11784 : : || !(
11785 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11786 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11787 : : #line 6229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11788 : : (TARGET_AVX512VL)))
11789 : : return -1;
11790 : : return 4091; /* fma_fnmsub_v2df_maskz_1 */
11791 : :
11792 : : case E_V8SFmode:
11793 : : if (pattern1393 (x2,
11794 : : E_V8SFmode) != 0)
11795 : : return -1;
11796 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
11797 : : && nonimmediate_operand (operands[2], E_V8SFmode)
11798 : : && nonimmediate_operand (operands[3], E_V8SFmode)
11799 : : &&
11800 : : #line 6521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11801 : : (TARGET_FMA || TARGET_FMA4))
11802 : : return 4058; /* *fma_fnmsub_v8sf */
11803 : : if (!bcst_vector_operand (operands[1], E_V8SFmode)
11804 : : || !bcst_vector_operand (operands[2], E_V8SFmode)
11805 : : || !bcst_vector_operand (operands[3], E_V8SFmode)
11806 : : || !(
11807 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11808 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11809 : : #line 6228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11810 : : (TARGET_AVX512VL)))
11811 : : return -1;
11812 : : return 4080; /* fma_fnmsub_v8sf_maskz_1 */
11813 : :
11814 : : case E_V4DFmode:
11815 : : if (pattern1393 (x2,
11816 : : E_V4DFmode) != 0)
11817 : : return -1;
11818 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
11819 : : && nonimmediate_operand (operands[2], E_V4DFmode)
11820 : : && nonimmediate_operand (operands[3], E_V4DFmode)
11821 : : &&
11822 : : #line 6521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11823 : : (TARGET_FMA || TARGET_FMA4))
11824 : : return 4062; /* *fma_fnmsub_v4df */
11825 : : if (!bcst_vector_operand (operands[1], E_V4DFmode)
11826 : : || !bcst_vector_operand (operands[2], E_V4DFmode)
11827 : : || !bcst_vector_operand (operands[3], E_V4DFmode)
11828 : : || !(
11829 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11830 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11831 : : #line 6229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11832 : : (TARGET_AVX512VL)))
11833 : : return -1;
11834 : : return 4089; /* fma_fnmsub_v4df_maskz_1 */
11835 : :
11836 : : case E_V32HFmode:
11837 : : if (pattern1394 (x2,
11838 : : E_SImode,
11839 : : E_V32HFmode) != 0
11840 : : || !(
11841 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11842 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11843 : : #line 6224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11844 : : (TARGET_AVX512FP16)))
11845 : : return -1;
11846 : : return 4066; /* fma_fnmsub_v32hf_maskz_1 */
11847 : :
11848 : : case E_V16HFmode:
11849 : : if (pattern1394 (x2,
11850 : : E_HImode,
11851 : : E_V16HFmode) != 0
11852 : : || !(
11853 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11854 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11855 : : #line 6225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11856 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11857 : : return -1;
11858 : : return 4070; /* fma_fnmsub_v16hf_maskz_1 */
11859 : :
11860 : : case E_V8HFmode:
11861 : : if (pattern1394 (x2,
11862 : : E_QImode,
11863 : : E_V8HFmode) != 0
11864 : : || !(
11865 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11866 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11867 : : #line 6226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11868 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11869 : : return -1;
11870 : : return 4072; /* fma_fnmsub_v8hf_maskz_1 */
11871 : :
11872 : : case E_V16SFmode:
11873 : : if (pattern1394 (x2,
11874 : : E_HImode,
11875 : : E_V16SFmode) != 0
11876 : : || !
11877 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11878 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11879 : : return -1;
11880 : : return 4076; /* fma_fnmsub_v16sf_maskz_1 */
11881 : :
11882 : : case E_V8DFmode:
11883 : : if (pattern1394 (x2,
11884 : : E_QImode,
11885 : : E_V8DFmode) != 0
11886 : : || !
11887 : : #line 6554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11888 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11889 : : return -1;
11890 : : return 4085; /* fma_fnmsub_v8df_maskz_1 */
11891 : :
11892 : : case E_V32BFmode:
11893 : : if (pattern1395 (x2,
11894 : : E_SImode,
11895 : : E_V32BFmode) != 0
11896 : : || !
11897 : : #line 32756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11898 : : (TARGET_AVX10_2))
11899 : : return -1;
11900 : : return 10729; /* avx10_2_fnmsubbf16_v32bf_maskz_1 */
11901 : :
11902 : : case E_V16BFmode:
11903 : : if (pattern1395 (x2,
11904 : : E_HImode,
11905 : : E_V16BFmode) != 0
11906 : : || !
11907 : : #line 32756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11908 : : (TARGET_AVX10_2))
11909 : : return -1;
11910 : : return 10731; /* avx10_2_fnmsubbf16_v16bf_maskz_1 */
11911 : :
11912 : : case E_V8BFmode:
11913 : : if (pattern1395 (x2,
11914 : : E_QImode,
11915 : : E_V8BFmode) != 0
11916 : : || !
11917 : : #line 32756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11918 : : (TARGET_AVX10_2))
11919 : : return -1;
11920 : : return 10733; /* avx10_2_fnmsubbf16_v8bf_maskz_1 */
11921 : :
11922 : : default:
11923 : : return -1;
11924 : : }
11925 : :
11926 : : case CONST_INT:
11927 : : if (XWINT (x4, 0) != 1L)
11928 : : return -1;
11929 : : switch (GET_MODE (operands[0]))
11930 : : {
11931 : : case E_V4SFmode:
11932 : : if (pattern1396 (x2,
11933 : : E_V4SFmode) != 0
11934 : : || !
11935 : : #line 7299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11936 : : (TARGET_FMA4))
11937 : : return -1;
11938 : : return 4352; /* *fma4i_vmfnmsub_v4sf */
11939 : :
11940 : : case E_V2DFmode:
11941 : : if (pattern1396 (x2,
11942 : : E_V2DFmode) != 0
11943 : : || !(
11944 : : #line 7299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11945 : : (TARGET_FMA4) &&
11946 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11947 : : (TARGET_SSE2)))
11948 : : return -1;
11949 : : return 4353; /* *fma4i_vmfnmsub_v2df */
11950 : :
11951 : : default:
11952 : : return -1;
11953 : : }
11954 : :
11955 : : default:
11956 : : return -1;
11957 : : }
11958 : :
11959 : : case REG:
11960 : : case SUBREG:
11961 : : case MEM:
11962 : : switch (pattern641 (x2))
11963 : : {
11964 : : case 0:
11965 : : if (pattern1296 (x2,
11966 : : E_V32HFmode,
11967 : : E_SImode) != 0)
11968 : : return -1;
11969 : : if (nonimmediate_operand (operands[1], E_V32HFmode)
11970 : : && vector_operand (operands[3], E_V32HFmode)
11971 : : && rtx_equal_p (x3, operands[1])
11972 : : && (
11973 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11974 : : (TARGET_AVX512F && 1) &&
11975 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11976 : : (TARGET_AVX512FP16)))
11977 : : return 4092; /* avx512bw_fnmsub_v32hf_mask */
11978 : : if (!vector_operand (operands[1], E_V32HFmode)
11979 : : || !nonimmediate_operand (operands[3], E_V32HFmode)
11980 : : || !rtx_equal_p (x3, operands[3])
11981 : : || !(
11982 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11983 : : (TARGET_AVX512F) &&
11984 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11985 : : (TARGET_AVX512FP16)))
11986 : : return -1;
11987 : : return 4104; /* avx512bw_fnmsub_v32hf_mask3 */
11988 : :
11989 : : case 1:
11990 : : if (pattern1296 (x2,
11991 : : E_V16HFmode,
11992 : : E_HImode) != 0)
11993 : : return -1;
11994 : : if (nonimmediate_operand (operands[1], E_V16HFmode)
11995 : : && vector_operand (operands[3], E_V16HFmode)
11996 : : && rtx_equal_p (x3, operands[1])
11997 : : && (
11998 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11999 : : (TARGET_AVX512F && 1) &&
12000 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12001 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12002 : : return 4094; /* avx512vl_fnmsub_v16hf_mask */
12003 : : if (!vector_operand (operands[1], E_V16HFmode)
12004 : : || !nonimmediate_operand (operands[3], E_V16HFmode)
12005 : : || !rtx_equal_p (x3, operands[3])
12006 : : || !(
12007 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12008 : : (TARGET_AVX512F) &&
12009 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12010 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12011 : : return -1;
12012 : : return 4106; /* avx512vl_fnmsub_v16hf_mask3 */
12013 : :
12014 : : case 2:
12015 : : if (pattern1296 (x2,
12016 : : E_V8HFmode,
12017 : : E_QImode) != 0)
12018 : : return -1;
12019 : : if (nonimmediate_operand (operands[1], E_V8HFmode)
12020 : : && vector_operand (operands[3], E_V8HFmode)
12021 : : && rtx_equal_p (x3, operands[1])
12022 : : && (
12023 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12024 : : (TARGET_AVX512F && 1) &&
12025 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12026 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12027 : : return 4095; /* avx512fp16_fnmsub_v8hf_mask */
12028 : : if (!vector_operand (operands[1], E_V8HFmode)
12029 : : || !nonimmediate_operand (operands[3], E_V8HFmode)
12030 : : || !rtx_equal_p (x3, operands[3])
12031 : : || !(
12032 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12033 : : (TARGET_AVX512F) &&
12034 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12035 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12036 : : return -1;
12037 : : return 4108; /* avx512fp16_fnmsub_v8hf_mask3 */
12038 : :
12039 : : case 3:
12040 : : if (pattern1296 (x2,
12041 : : E_V16SFmode,
12042 : : E_HImode) != 0)
12043 : : return -1;
12044 : : if (nonimmediate_operand (operands[1], E_V16SFmode)
12045 : : && vector_operand (operands[3], E_V16SFmode)
12046 : : && rtx_equal_p (x3, operands[1])
12047 : : &&
12048 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12049 : : (TARGET_AVX512F && 1))
12050 : : return 4096; /* avx512f_fnmsub_v16sf_mask */
12051 : : if (!vector_operand (operands[1], E_V16SFmode)
12052 : : || !nonimmediate_operand (operands[3], E_V16SFmode)
12053 : : || !rtx_equal_p (x3, operands[3])
12054 : : || !
12055 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12056 : : (TARGET_AVX512F))
12057 : : return -1;
12058 : : return 4110; /* avx512f_fnmsub_v16sf_mask3 */
12059 : :
12060 : : case 4:
12061 : : if (pattern1296 (x2,
12062 : : E_V8SFmode,
12063 : : E_QImode) != 0)
12064 : : return -1;
12065 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
12066 : : && vector_operand (operands[3], E_V8SFmode)
12067 : : && rtx_equal_p (x3, operands[1])
12068 : : && (
12069 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12070 : : (TARGET_AVX512F && 1) &&
12071 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12072 : : (TARGET_AVX512VL)))
12073 : : return 4098; /* avx512vl_fnmsub_v8sf_mask */
12074 : : if (!vector_operand (operands[1], E_V8SFmode)
12075 : : || !nonimmediate_operand (operands[3], E_V8SFmode)
12076 : : || !rtx_equal_p (x3, operands[3])
12077 : : || !(
12078 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12079 : : (TARGET_AVX512F) &&
12080 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12081 : : (TARGET_AVX512VL)))
12082 : : return -1;
12083 : : return 4112; /* avx512vl_fnmsub_v8sf_mask3 */
12084 : :
12085 : : case 5:
12086 : : if (pattern1296 (x2,
12087 : : E_V4SFmode,
12088 : : E_QImode) != 0)
12089 : : return -1;
12090 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
12091 : : && vector_operand (operands[3], E_V4SFmode)
12092 : : && rtx_equal_p (x3, operands[1])
12093 : : && (
12094 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12095 : : (TARGET_AVX512F && 1) &&
12096 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12097 : : (TARGET_AVX512VL)))
12098 : : return 4099; /* avx512vl_fnmsub_v4sf_mask */
12099 : : if (!vector_operand (operands[1], E_V4SFmode)
12100 : : || !nonimmediate_operand (operands[3], E_V4SFmode)
12101 : : || !rtx_equal_p (x3, operands[3])
12102 : : || !(
12103 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12104 : : (TARGET_AVX512F) &&
12105 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12106 : : (TARGET_AVX512VL)))
12107 : : return -1;
12108 : : return 4114; /* avx512vl_fnmsub_v4sf_mask3 */
12109 : :
12110 : : case 6:
12111 : : if (pattern1296 (x2,
12112 : : E_V8DFmode,
12113 : : E_QImode) != 0)
12114 : : return -1;
12115 : : if (nonimmediate_operand (operands[1], E_V8DFmode)
12116 : : && vector_operand (operands[3], E_V8DFmode)
12117 : : && rtx_equal_p (x3, operands[1])
12118 : : &&
12119 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12120 : : (TARGET_AVX512F && 1))
12121 : : return 4100; /* avx512f_fnmsub_v8df_mask */
12122 : : if (!vector_operand (operands[1], E_V8DFmode)
12123 : : || !nonimmediate_operand (operands[3], E_V8DFmode)
12124 : : || !rtx_equal_p (x3, operands[3])
12125 : : || !
12126 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12127 : : (TARGET_AVX512F))
12128 : : return -1;
12129 : : return 4116; /* avx512f_fnmsub_v8df_mask3 */
12130 : :
12131 : : case 7:
12132 : : if (pattern1296 (x2,
12133 : : E_V4DFmode,
12134 : : E_QImode) != 0)
12135 : : return -1;
12136 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
12137 : : && vector_operand (operands[3], E_V4DFmode)
12138 : : && rtx_equal_p (x3, operands[1])
12139 : : && (
12140 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12141 : : (TARGET_AVX512F && 1) &&
12142 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12143 : : (TARGET_AVX512VL)))
12144 : : return 4102; /* avx512vl_fnmsub_v4df_mask */
12145 : : if (!vector_operand (operands[1], E_V4DFmode)
12146 : : || !nonimmediate_operand (operands[3], E_V4DFmode)
12147 : : || !rtx_equal_p (x3, operands[3])
12148 : : || !(
12149 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12150 : : (TARGET_AVX512F) &&
12151 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12152 : : (TARGET_AVX512VL)))
12153 : : return -1;
12154 : : return 4118; /* avx512vl_fnmsub_v4df_mask3 */
12155 : :
12156 : : case 8:
12157 : : if (pattern1296 (x2,
12158 : : E_V2DFmode,
12159 : : E_QImode) != 0)
12160 : : return -1;
12161 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
12162 : : && vector_operand (operands[3], E_V2DFmode)
12163 : : && rtx_equal_p (x3, operands[1])
12164 : : && (
12165 : : #line 6599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12166 : : (TARGET_AVX512F && 1) &&
12167 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12168 : : (TARGET_AVX512VL)))
12169 : : return 4103; /* avx512vl_fnmsub_v2df_mask */
12170 : : if (!vector_operand (operands[1], E_V2DFmode)
12171 : : || !nonimmediate_operand (operands[3], E_V2DFmode)
12172 : : || !rtx_equal_p (x3, operands[3])
12173 : : || !(
12174 : : #line 6618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12175 : : (TARGET_AVX512F) &&
12176 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12177 : : (TARGET_AVX512VL)))
12178 : : return -1;
12179 : : return 4120; /* avx512vl_fnmsub_v2df_mask3 */
12180 : :
12181 : : case 9:
12182 : : if (pattern1297 (x2,
12183 : : E_SImode,
12184 : : E_V32BFmode) != 0)
12185 : : return -1;
12186 : : if (rtx_equal_p (x3, operands[1])
12187 : : &&
12188 : : #line 32776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12189 : : (TARGET_AVX10_2))
12190 : : return 10734; /* avx10_2_fnmsubbf16_v32bf_mask */
12191 : : if (!rtx_equal_p (x3, operands[3])
12192 : : || !
12193 : : #line 32795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12194 : : (TARGET_AVX10_2))
12195 : : return -1;
12196 : : return 10737; /* avx10_2_fnmsubbf16_v32bf_mask3 */
12197 : :
12198 : : case 10:
12199 : : if (pattern1297 (x2,
12200 : : E_HImode,
12201 : : E_V16BFmode) != 0)
12202 : : return -1;
12203 : : if (rtx_equal_p (x3, operands[1])
12204 : : &&
12205 : : #line 32776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12206 : : (TARGET_AVX10_2))
12207 : : return 10735; /* avx10_2_fnmsubbf16_v16bf_mask */
12208 : : if (!rtx_equal_p (x3, operands[3])
12209 : : || !
12210 : : #line 32795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12211 : : (TARGET_AVX10_2))
12212 : : return -1;
12213 : : return 10738; /* avx10_2_fnmsubbf16_v16bf_mask3 */
12214 : :
12215 : : case 11:
12216 : : if (pattern1297 (x2,
12217 : : E_QImode,
12218 : : E_V8BFmode) != 0)
12219 : : return -1;
12220 : : if (rtx_equal_p (x3, operands[1])
12221 : : &&
12222 : : #line 32776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12223 : : (TARGET_AVX10_2))
12224 : : return 10736; /* avx10_2_fnmsubbf16_v8bf_mask */
12225 : : if (!rtx_equal_p (x3, operands[3])
12226 : : || !
12227 : : #line 32795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12228 : : (TARGET_AVX10_2))
12229 : : return -1;
12230 : : return 10739; /* avx10_2_fnmsubbf16_v8bf_mask3 */
12231 : :
12232 : : case 12:
12233 : : if (pattern1397 (x2,
12234 : : E_V8HFmode) != 0
12235 : : || !(
12236 : : #line 6946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12237 : : (TARGET_FMA || TARGET_AVX512F) &&
12238 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12239 : : (TARGET_AVX512FP16)))
12240 : : return -1;
12241 : : return 4268; /* *fmai_fnmsub_v8hf */
12242 : :
12243 : : case 13:
12244 : : if (pattern1397 (x2,
12245 : : E_V4SFmode) != 0
12246 : : || !
12247 : : #line 6946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12248 : : (TARGET_FMA || TARGET_AVX512F))
12249 : : return -1;
12250 : : return 4270; /* *fmai_fnmsub_v4sf */
12251 : :
12252 : : case 14:
12253 : : if (pattern1397 (x2,
12254 : : E_V2DFmode) != 0
12255 : : || !(
12256 : : #line 6946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12257 : : (TARGET_FMA || TARGET_AVX512F) &&
12258 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12259 : : (TARGET_SSE2)))
12260 : : return -1;
12261 : : return 4272; /* *fmai_fnmsub_v2df */
12262 : :
12263 : : default:
12264 : : return -1;
12265 : : }
12266 : :
12267 : : default:
12268 : : return -1;
12269 : : }
12270 : : }
12271 : :
12272 : : int
12273 : : recog_170 (rtx x1 ATTRIBUTE_UNUSED,
12274 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12275 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12276 : : {
12277 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12278 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12279 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12280 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
12281 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
12282 : : rtx x34, x35, x36, x37, x38, x39, x40, x41;
12283 : : int res ATTRIBUTE_UNUSED;
12284 : : x2 = XEXP (x1, 1);
12285 : : x3 = XEXP (x2, 0);
12286 : : x4 = XEXP (x3, 0);
12287 : : x5 = XEXP (x4, 0);
12288 : : operands[1] = x5;
12289 : : x6 = XEXP (x3, 1);
12290 : : switch (XVECLEN (x6, 0))
12291 : : {
12292 : : case 16:
12293 : : x7 = XVECEXP (x6, 0, 0);
12294 : : if (GET_CODE (x7) != CONST_INT)
12295 : : return -1;
12296 : : x8 = XVECEXP (x6, 0, 1);
12297 : : if (GET_CODE (x8) == CONST_INT)
12298 : : {
12299 : : res = recog_165 (x1, insn, pnum_clobbers);
12300 : : if (res >= 0)
12301 : : return res;
12302 : : }
12303 : : operands[3] = x7;
12304 : : x9 = XEXP (x4, 1);
12305 : : operands[2] = x9;
12306 : : operands[4] = x8;
12307 : : x10 = XVECEXP (x6, 0, 2);
12308 : : operands[5] = x10;
12309 : : x11 = XVECEXP (x6, 0, 3);
12310 : : operands[6] = x11;
12311 : : x12 = XVECEXP (x6, 0, 4);
12312 : : operands[7] = x12;
12313 : : x13 = XVECEXP (x6, 0, 5);
12314 : : operands[8] = x13;
12315 : : x14 = XVECEXP (x6, 0, 6);
12316 : : operands[9] = x14;
12317 : : x15 = XVECEXP (x6, 0, 7);
12318 : : operands[10] = x15;
12319 : : x16 = XVECEXP (x6, 0, 8);
12320 : : operands[11] = x16;
12321 : : x17 = XVECEXP (x6, 0, 9);
12322 : : operands[12] = x17;
12323 : : x18 = XVECEXP (x6, 0, 10);
12324 : : operands[13] = x18;
12325 : : x19 = XVECEXP (x6, 0, 11);
12326 : : operands[14] = x19;
12327 : : x20 = XVECEXP (x6, 0, 12);
12328 : : operands[15] = x20;
12329 : : x21 = XVECEXP (x6, 0, 13);
12330 : : operands[16] = x21;
12331 : : x22 = XVECEXP (x6, 0, 14);
12332 : : operands[17] = x22;
12333 : : x23 = XVECEXP (x6, 0, 15);
12334 : : operands[18] = x23;
12335 : : x24 = XEXP (x2, 1);
12336 : : operands[19] = x24;
12337 : : x25 = XEXP (x2, 2);
12338 : : operands[20] = x25;
12339 : : if (!register_operand (operands[20], E_HImode))
12340 : : return -1;
12341 : : switch (GET_MODE (operands[0]))
12342 : : {
12343 : : case E_V16SFmode:
12344 : : if (pattern1652 (x2,
12345 : : E_V16SFmode,
12346 : : E_V32SFmode) != 0
12347 : : || !nonimm_or_0_operand (operands[19], E_V16SFmode))
12348 : : return -1;
12349 : : if (const_0_to_3_operand (operands[3], E_VOIDmode)
12350 : : && const_0_to_3_operand (operands[4], E_VOIDmode)
12351 : : && const_16_to_19_operand (operands[5], E_VOIDmode)
12352 : : && const_16_to_19_operand (operands[6], E_VOIDmode)
12353 : : && const_4_to_7_operand (operands[7], E_VOIDmode)
12354 : : && const_4_to_7_operand (operands[8], E_VOIDmode)
12355 : : && const_20_to_23_operand (operands[9], E_VOIDmode)
12356 : : && const_20_to_23_operand (operands[10], E_VOIDmode)
12357 : : && const_8_to_11_operand (operands[11], E_VOIDmode)
12358 : : && const_8_to_11_operand (operands[12], E_VOIDmode)
12359 : : && const_24_to_27_operand (operands[13], E_VOIDmode)
12360 : : && const_24_to_27_operand (operands[14], E_VOIDmode)
12361 : : && const_12_to_15_operand (operands[15], E_VOIDmode)
12362 : : && const_12_to_15_operand (operands[16], E_VOIDmode)
12363 : : && const_28_to_31_operand (operands[17], E_VOIDmode)
12364 : : && const_28_to_31_operand (operands[18], E_VOIDmode)
12365 : : && (
12366 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12367 : : (TARGET_AVX512F) &&
12368 : : #line 14557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12369 : : (TARGET_AVX512F
12370 : : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
12371 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
12372 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
12373 : : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)
12374 : : && INTVAL (operands[3]) == (INTVAL (operands[11]) - 8)
12375 : : && INTVAL (operands[4]) == (INTVAL (operands[12]) - 8)
12376 : : && INTVAL (operands[5]) == (INTVAL (operands[13]) - 8)
12377 : : && INTVAL (operands[6]) == (INTVAL (operands[14]) - 8)
12378 : : && INTVAL (operands[3]) == (INTVAL (operands[15]) - 12)
12379 : : && INTVAL (operands[4]) == (INTVAL (operands[16]) - 12)
12380 : : && INTVAL (operands[5]) == (INTVAL (operands[17]) - 12)
12381 : : && INTVAL (operands[6]) == (INTVAL (operands[18]) - 12)))))
12382 : : return 7219; /* avx512f_shufps512_1_mask */
12383 : : if (!const_0_to_15_operand (operands[3], E_VOIDmode)
12384 : : || pattern1891 () != 0
12385 : : || !(
12386 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12387 : : (TARGET_AVX512F) &&
12388 : : #line 20701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12389 : : (TARGET_AVX512F
12390 : : && (INTVAL (operands[3]) & 3) == 0
12391 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12392 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
12393 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
12394 : : && (INTVAL (operands[7]) & 3) == 0
12395 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12396 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
12397 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
12398 : : && (INTVAL (operands[11]) & 3) == 0
12399 : : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
12400 : : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
12401 : : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
12402 : : && (INTVAL (operands[15]) & 3) == 0
12403 : : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
12404 : : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
12405 : : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3)))
12406 : : return -1;
12407 : : return 8467; /* avx512f_shuf_f32x4_1_mask */
12408 : :
12409 : : case E_V16SImode:
12410 : : if (pattern1652 (x2,
12411 : : E_V16SImode,
12412 : : E_V32SImode) != 0
12413 : : || !const_0_to_15_operand (operands[3], E_VOIDmode)
12414 : : || pattern1891 () != 0
12415 : : || !nonimm_or_0_operand (operands[19], E_V16SImode)
12416 : : || !(
12417 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12418 : : (TARGET_AVX512F) &&
12419 : : #line 20701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12420 : : (TARGET_AVX512F
12421 : : && (INTVAL (operands[3]) & 3) == 0
12422 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12423 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
12424 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
12425 : : && (INTVAL (operands[7]) & 3) == 0
12426 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12427 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
12428 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
12429 : : && (INTVAL (operands[11]) & 3) == 0
12430 : : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
12431 : : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
12432 : : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
12433 : : && (INTVAL (operands[15]) & 3) == 0
12434 : : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
12435 : : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
12436 : : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3)))
12437 : : return -1;
12438 : : return 8469; /* avx512f_shuf_i32x4_1_mask */
12439 : :
12440 : : default:
12441 : : return -1;
12442 : : }
12443 : :
12444 : : case 8:
12445 : : x7 = XVECEXP (x6, 0, 0);
12446 : : if (GET_CODE (x7) != CONST_INT)
12447 : : return -1;
12448 : : x8 = XVECEXP (x6, 0, 1);
12449 : : if (GET_CODE (x8) == CONST_INT)
12450 : : {
12451 : : res = recog_166 (x1, insn, pnum_clobbers);
12452 : : if (res >= 0)
12453 : : return res;
12454 : : }
12455 : : operands[3] = x7;
12456 : : x9 = XEXP (x4, 1);
12457 : : operands[2] = x9;
12458 : : operands[4] = x8;
12459 : : x10 = XVECEXP (x6, 0, 2);
12460 : : operands[5] = x10;
12461 : : x11 = XVECEXP (x6, 0, 3);
12462 : : operands[6] = x11;
12463 : : x12 = XVECEXP (x6, 0, 4);
12464 : : operands[7] = x12;
12465 : : x13 = XVECEXP (x6, 0, 5);
12466 : : operands[8] = x13;
12467 : : x14 = XVECEXP (x6, 0, 6);
12468 : : operands[9] = x14;
12469 : : x15 = XVECEXP (x6, 0, 7);
12470 : : operands[10] = x15;
12471 : : x24 = XEXP (x2, 1);
12472 : : operands[11] = x24;
12473 : : x25 = XEXP (x2, 2);
12474 : : operands[12] = x25;
12475 : : if (!register_operand (operands[12], E_QImode))
12476 : : return -1;
12477 : : switch (GET_MODE (operands[0]))
12478 : : {
12479 : : case E_V8SFmode:
12480 : : if (pattern1769 (x2,
12481 : : E_V8SFmode,
12482 : : E_V16SFmode) != 0)
12483 : : return -1;
12484 : : if (const_0_to_3_operand (operands[3], E_VOIDmode)
12485 : : && const_0_to_3_operand (operands[4], E_VOIDmode)
12486 : : && const_8_to_11_operand (operands[5], E_VOIDmode)
12487 : : && const_8_to_11_operand (operands[6], E_VOIDmode)
12488 : : && const_4_to_7_operand (operands[7], E_VOIDmode)
12489 : : && const_4_to_7_operand (operands[8], E_VOIDmode)
12490 : : && const_12_to_15_operand (operands[9], E_VOIDmode)
12491 : : && const_12_to_15_operand (operands[10], E_VOIDmode)
12492 : : && (
12493 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12494 : : (TARGET_AVX512F) &&
12495 : : #line 11754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12496 : : (TARGET_AVX
12497 : : && TARGET_AVX512VL
12498 : : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
12499 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
12500 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
12501 : : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)))))
12502 : : return 5277; /* avx_shufps256_1_mask */
12503 : : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
12504 : : || pattern1866 () != 0
12505 : : || !(
12506 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12507 : : (TARGET_AVX512F) &&
12508 : : #line 20621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12509 : : (TARGET_AVX512VL
12510 : : && (INTVAL (operands[3]) & 3) == 0
12511 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12512 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
12513 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
12514 : : && (INTVAL (operands[7]) & 3) == 0
12515 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12516 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
12517 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3)))
12518 : : return -1;
12519 : : return 8465; /* avx512vl_shuf_f32x4_1_mask */
12520 : :
12521 : : case E_V8DFmode:
12522 : : if (pattern1769 (x2,
12523 : : E_V8DFmode,
12524 : : E_V16DFmode) != 0)
12525 : : return -1;
12526 : : if (const_0_to_1_operand (operands[3], E_VOIDmode)
12527 : : && const_8_to_9_operand (operands[4], E_VOIDmode)
12528 : : && const_2_to_3_operand (operands[5], E_VOIDmode)
12529 : : && const_10_to_11_operand (operands[6], E_VOIDmode)
12530 : : && const_4_to_5_operand (operands[7], E_VOIDmode)
12531 : : && const_12_to_13_operand (operands[8], E_VOIDmode)
12532 : : && const_6_to_7_operand (operands[9], E_VOIDmode)
12533 : : && const_14_to_15_operand (operands[10], E_VOIDmode)
12534 : : &&
12535 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12536 : : (TARGET_AVX512F))
12537 : : return 7221; /* avx512f_shufpd512_1_mask */
12538 : : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
12539 : : || pattern1866 () != 0
12540 : : || !(
12541 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12542 : : (TARGET_AVX512F) &&
12543 : : #line 20523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12544 : : (TARGET_AVX512F
12545 : : && (INTVAL (operands[3]) & 1) == 0
12546 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12547 : : && (INTVAL (operands[5]) & 1) == 0
12548 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
12549 : : && (INTVAL (operands[7]) & 1) == 0
12550 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12551 : : && (INTVAL (operands[9]) & 1) == 0
12552 : : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1)))
12553 : : return -1;
12554 : : return 8455; /* avx512f_shuf_f64x2_1_mask */
12555 : :
12556 : : case E_V8DImode:
12557 : : if (pattern1770 (x2,
12558 : : E_V8DImode,
12559 : : E_V16DImode) != 0
12560 : : || !(
12561 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12562 : : (TARGET_AVX512F) &&
12563 : : #line 20523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12564 : : (TARGET_AVX512F
12565 : : && (INTVAL (operands[3]) & 1) == 0
12566 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12567 : : && (INTVAL (operands[5]) & 1) == 0
12568 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
12569 : : && (INTVAL (operands[7]) & 1) == 0
12570 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12571 : : && (INTVAL (operands[9]) & 1) == 0
12572 : : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1)))
12573 : : return -1;
12574 : : return 8457; /* avx512f_shuf_i64x2_1_mask */
12575 : :
12576 : : case E_V8SImode:
12577 : : if (pattern1770 (x2,
12578 : : E_V8SImode,
12579 : : E_V16SImode) != 0
12580 : : || !(
12581 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12582 : : (TARGET_AVX512F) &&
12583 : : #line 20621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12584 : : (TARGET_AVX512VL
12585 : : && (INTVAL (operands[3]) & 3) == 0
12586 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12587 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
12588 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
12589 : : && (INTVAL (operands[7]) & 3) == 0
12590 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12591 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
12592 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3)))
12593 : : return -1;
12594 : : return 8463; /* avx512vl_shuf_i32x4_1_mask */
12595 : :
12596 : : default:
12597 : : return -1;
12598 : : }
12599 : :
12600 : : case 4:
12601 : : x7 = XVECEXP (x6, 0, 0);
12602 : : if (GET_CODE (x7) != CONST_INT)
12603 : : return -1;
12604 : : x8 = XVECEXP (x6, 0, 1);
12605 : : if (GET_CODE (x8) == CONST_INT)
12606 : : {
12607 : : res = recog_167 (x1, insn, pnum_clobbers);
12608 : : if (res >= 0)
12609 : : return res;
12610 : : }
12611 : : operands[3] = x7;
12612 : : x9 = XEXP (x4, 1);
12613 : : operands[2] = x9;
12614 : : operands[4] = x8;
12615 : : x10 = XVECEXP (x6, 0, 2);
12616 : : operands[5] = x10;
12617 : : x11 = XVECEXP (x6, 0, 3);
12618 : : operands[6] = x11;
12619 : : x24 = XEXP (x2, 1);
12620 : : operands[7] = x24;
12621 : : x25 = XEXP (x2, 2);
12622 : : operands[8] = x25;
12623 : : if (!register_operand (operands[8], E_QImode))
12624 : : return -1;
12625 : : switch (GET_MODE (operands[0]))
12626 : : {
12627 : : case E_V4SFmode:
12628 : : if (pattern1651 (x2,
12629 : : E_V4SFmode,
12630 : : E_V8SFmode) != 0
12631 : : || !
12632 : : #line 11807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12633 : : (TARGET_AVX512VL))
12634 : : return -1;
12635 : : return 5278; /* sse_shufps_v4sf_mask */
12636 : :
12637 : : case E_V4DFmode:
12638 : : if (pattern1652 (x2,
12639 : : E_V4DFmode,
12640 : : E_V8DFmode) != 0
12641 : : || !nonimm_or_0_operand (operands[7], E_V4DFmode))
12642 : : return -1;
12643 : : if (const_0_to_1_operand (operands[3], E_VOIDmode)
12644 : : && const_4_to_5_operand (operands[4], E_VOIDmode)
12645 : : && const_2_to_3_operand (operands[5], E_VOIDmode)
12646 : : && const_6_to_7_operand (operands[6], E_VOIDmode)
12647 : : && (
12648 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12649 : : (TARGET_AVX512F) &&
12650 : : #line 14671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12651 : : (TARGET_AVX && TARGET_AVX512VL)))
12652 : : return 7223; /* avx_shufpd256_1_mask */
12653 : : if (!const_0_to_3_operand (operands[3], E_VOIDmode)
12654 : : || !const_0_to_3_operand (operands[4], E_VOIDmode)
12655 : : || !const_4_to_7_operand (operands[5], E_VOIDmode)
12656 : : || !const_4_to_7_operand (operands[6], E_VOIDmode)
12657 : : || !(
12658 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12659 : : (TARGET_AVX512F) &&
12660 : : #line 20465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12661 : : (TARGET_AVX512VL
12662 : : && (INTVAL (operands[3]) & 1) == 0
12663 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12664 : : && (INTVAL (operands[5]) & 1) == 0
12665 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1)))
12666 : : return -1;
12667 : : return 8453; /* avx512dq_shuf_f64x2_1_mask */
12668 : :
12669 : : case E_V4DImode:
12670 : : if (pattern1651 (x2,
12671 : : E_V4DImode,
12672 : : E_V8DImode) != 0
12673 : : || !(
12674 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12675 : : (TARGET_AVX512F) &&
12676 : : #line 20465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12677 : : (TARGET_AVX512VL
12678 : : && (INTVAL (operands[3]) & 1) == 0
12679 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12680 : : && (INTVAL (operands[5]) & 1) == 0
12681 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1)))
12682 : : return -1;
12683 : : return 8451; /* avx512dq_shuf_i64x2_1_mask */
12684 : :
12685 : : default:
12686 : : return -1;
12687 : : }
12688 : :
12689 : : case 2:
12690 : : x7 = XVECEXP (x6, 0, 0);
12691 : : if (GET_CODE (x7) != CONST_INT)
12692 : : return -1;
12693 : : x8 = XVECEXP (x6, 0, 1);
12694 : : if (GET_CODE (x8) == CONST_INT)
12695 : : {
12696 : : res = recog_168 (x1, insn, pnum_clobbers);
12697 : : if (res >= 0)
12698 : : return res;
12699 : : }
12700 : : operands[3] = x7;
12701 : : if (!const_0_to_1_operand (operands[3], E_VOIDmode)
12702 : : || pattern1219 (x2,
12703 : : E_V2DFmode,
12704 : : E_V4DFmode) != 0)
12705 : : return -1;
12706 : : operands[4] = x8;
12707 : : if (!const_2_to_3_operand (operands[4], E_VOIDmode))
12708 : : return -1;
12709 : : x24 = XEXP (x2, 1);
12710 : : operands[5] = x24;
12711 : : if (!nonimm_or_0_operand (operands[5], E_V2DFmode))
12712 : : return -1;
12713 : : x25 = XEXP (x2, 2);
12714 : : operands[6] = x25;
12715 : : if (!register_operand (operands[6], E_QImode)
12716 : : || !
12717 : : #line 14713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12718 : : (TARGET_AVX512VL))
12719 : : return -1;
12720 : : return 7224; /* sse2_shufpd_v2df_mask */
12721 : :
12722 : : case 64:
12723 : : return recog_169 (x1, insn, pnum_clobbers);
12724 : :
12725 : : case 32:
12726 : : if (pattern896 (x6) != 0)
12727 : : return -1;
12728 : : x9 = XEXP (x4, 1);
12729 : : operands[2] = x9;
12730 : : x24 = XEXP (x2, 1);
12731 : : operands[3] = x24;
12732 : : x25 = XEXP (x2, 2);
12733 : : operands[4] = x25;
12734 : : if (!register_operand (operands[4], E_SImode))
12735 : : return -1;
12736 : : x7 = XVECEXP (x6, 0, 0);
12737 : : switch (XWINT (x7, 0))
12738 : : {
12739 : : case 8L:
12740 : : x8 = XVECEXP (x6, 0, 1);
12741 : : if (XWINT (x8, 0) != 40L)
12742 : : return -1;
12743 : : x10 = XVECEXP (x6, 0, 2);
12744 : : if (XWINT (x10, 0) != 9L)
12745 : : return -1;
12746 : : x11 = XVECEXP (x6, 0, 3);
12747 : : if (XWINT (x11, 0) != 41L)
12748 : : return -1;
12749 : : x12 = XVECEXP (x6, 0, 4);
12750 : : if (XWINT (x12, 0) != 10L)
12751 : : return -1;
12752 : : x13 = XVECEXP (x6, 0, 5);
12753 : : if (XWINT (x13, 0) != 42L)
12754 : : return -1;
12755 : : x14 = XVECEXP (x6, 0, 6);
12756 : : if (XWINT (x14, 0) != 11L)
12757 : : return -1;
12758 : : x15 = XVECEXP (x6, 0, 7);
12759 : : if (XWINT (x15, 0) != 43L
12760 : : || pattern1906 (x6) != 0)
12761 : : return -1;
12762 : : x26 = XVECEXP (x6, 0, 16);
12763 : : if (XWINT (x26, 0) != 24L)
12764 : : return -1;
12765 : : x27 = XVECEXP (x6, 0, 17);
12766 : : if (XWINT (x27, 0) != 56L)
12767 : : return -1;
12768 : : x28 = XVECEXP (x6, 0, 18);
12769 : : if (XWINT (x28, 0) != 25L)
12770 : : return -1;
12771 : : x29 = XVECEXP (x6, 0, 19);
12772 : : if (XWINT (x29, 0) != 57L)
12773 : : return -1;
12774 : : x30 = XVECEXP (x6, 0, 20);
12775 : : if (XWINT (x30, 0) != 26L)
12776 : : return -1;
12777 : : x31 = XVECEXP (x6, 0, 21);
12778 : : if (XWINT (x31, 0) != 58L)
12779 : : return -1;
12780 : : x32 = XVECEXP (x6, 0, 22);
12781 : : if (XWINT (x32, 0) != 27L)
12782 : : return -1;
12783 : : x33 = XVECEXP (x6, 0, 23);
12784 : : if (XWINT (x33, 0) != 59L
12785 : : || pattern1911 (x6) != 0
12786 : : || pattern1586 (x2,
12787 : : E_V32QImode,
12788 : : E_V64QImode) != 0
12789 : : || !(
12790 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12791 : : (TARGET_AVX512F) &&
12792 : : #line 19738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12793 : : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
12794 : : return -1;
12795 : : return 8359; /* avx2_interleave_highv32qi_mask */
12796 : :
12797 : : case 0L:
12798 : : x8 = XVECEXP (x6, 0, 1);
12799 : : if (XWINT (x8, 0) != 32L)
12800 : : return -1;
12801 : : x10 = XVECEXP (x6, 0, 2);
12802 : : if (XWINT (x10, 0) != 1L)
12803 : : return -1;
12804 : : x11 = XVECEXP (x6, 0, 3);
12805 : : if (XWINT (x11, 0) != 33L)
12806 : : return -1;
12807 : : x12 = XVECEXP (x6, 0, 4);
12808 : : if (XWINT (x12, 0) != 2L)
12809 : : return -1;
12810 : : x13 = XVECEXP (x6, 0, 5);
12811 : : if (XWINT (x13, 0) != 34L)
12812 : : return -1;
12813 : : x14 = XVECEXP (x6, 0, 6);
12814 : : if (XWINT (x14, 0) != 3L)
12815 : : return -1;
12816 : : x15 = XVECEXP (x6, 0, 7);
12817 : : if (XWINT (x15, 0) != 35L)
12818 : : return -1;
12819 : : x26 = XVECEXP (x6, 0, 16);
12820 : : if (XWINT (x26, 0) != 16L)
12821 : : return -1;
12822 : : x27 = XVECEXP (x6, 0, 17);
12823 : : if (XWINT (x27, 0) != 48L)
12824 : : return -1;
12825 : : x28 = XVECEXP (x6, 0, 18);
12826 : : if (XWINT (x28, 0) != 17L)
12827 : : return -1;
12828 : : x29 = XVECEXP (x6, 0, 19);
12829 : : if (XWINT (x29, 0) != 49L)
12830 : : return -1;
12831 : : x30 = XVECEXP (x6, 0, 20);
12832 : : if (XWINT (x30, 0) != 18L)
12833 : : return -1;
12834 : : x31 = XVECEXP (x6, 0, 21);
12835 : : if (XWINT (x31, 0) != 50L)
12836 : : return -1;
12837 : : x32 = XVECEXP (x6, 0, 22);
12838 : : if (XWINT (x32, 0) != 19L)
12839 : : return -1;
12840 : : x33 = XVECEXP (x6, 0, 23);
12841 : : if (XWINT (x33, 0) != 51L)
12842 : : return -1;
12843 : : x16 = XVECEXP (x6, 0, 8);
12844 : : switch (XWINT (x16, 0))
12845 : : {
12846 : : case 4L:
12847 : : x17 = XVECEXP (x6, 0, 9);
12848 : : if (XWINT (x17, 0) != 36L)
12849 : : return -1;
12850 : : x18 = XVECEXP (x6, 0, 10);
12851 : : if (XWINT (x18, 0) != 5L)
12852 : : return -1;
12853 : : x19 = XVECEXP (x6, 0, 11);
12854 : : if (XWINT (x19, 0) != 37L)
12855 : : return -1;
12856 : : x20 = XVECEXP (x6, 0, 12);
12857 : : if (XWINT (x20, 0) != 6L)
12858 : : return -1;
12859 : : x21 = XVECEXP (x6, 0, 13);
12860 : : if (XWINT (x21, 0) != 38L)
12861 : : return -1;
12862 : : x22 = XVECEXP (x6, 0, 14);
12863 : : if (XWINT (x22, 0) != 7L)
12864 : : return -1;
12865 : : x23 = XVECEXP (x6, 0, 15);
12866 : : if (XWINT (x23, 0) != 39L)
12867 : : return -1;
12868 : : x34 = XVECEXP (x6, 0, 24);
12869 : : if (XWINT (x34, 0) != 20L)
12870 : : return -1;
12871 : : x35 = XVECEXP (x6, 0, 25);
12872 : : if (XWINT (x35, 0) != 52L)
12873 : : return -1;
12874 : : x36 = XVECEXP (x6, 0, 26);
12875 : : if (XWINT (x36, 0) != 21L)
12876 : : return -1;
12877 : : x37 = XVECEXP (x6, 0, 27);
12878 : : if (XWINT (x37, 0) != 53L)
12879 : : return -1;
12880 : : x38 = XVECEXP (x6, 0, 28);
12881 : : if (XWINT (x38, 0) != 22L)
12882 : : return -1;
12883 : : x39 = XVECEXP (x6, 0, 29);
12884 : : if (XWINT (x39, 0) != 54L)
12885 : : return -1;
12886 : : x40 = XVECEXP (x6, 0, 30);
12887 : : if (XWINT (x40, 0) != 23L)
12888 : : return -1;
12889 : : x41 = XVECEXP (x6, 0, 31);
12890 : : if (XWINT (x41, 0) != 55L
12891 : : || pattern1586 (x2,
12892 : : E_V32QImode,
12893 : : E_V64QImode) != 0
12894 : : || !(
12895 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12896 : : (TARGET_AVX512F) &&
12897 : : #line 19834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12898 : : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
12899 : : return -1;
12900 : : return 8365; /* avx2_interleave_lowv32qi_mask */
12901 : :
12902 : : case 8L:
12903 : : x17 = XVECEXP (x6, 0, 9);
12904 : : if (XWINT (x17, 0) != 40L)
12905 : : return -1;
12906 : : x18 = XVECEXP (x6, 0, 10);
12907 : : if (XWINT (x18, 0) != 9L)
12908 : : return -1;
12909 : : x19 = XVECEXP (x6, 0, 11);
12910 : : if (XWINT (x19, 0) != 41L)
12911 : : return -1;
12912 : : x20 = XVECEXP (x6, 0, 12);
12913 : : if (XWINT (x20, 0) != 10L)
12914 : : return -1;
12915 : : x21 = XVECEXP (x6, 0, 13);
12916 : : if (XWINT (x21, 0) != 42L)
12917 : : return -1;
12918 : : x22 = XVECEXP (x6, 0, 14);
12919 : : if (XWINT (x22, 0) != 11L)
12920 : : return -1;
12921 : : x23 = XVECEXP (x6, 0, 15);
12922 : : if (XWINT (x23, 0) != 43L)
12923 : : return -1;
12924 : : x34 = XVECEXP (x6, 0, 24);
12925 : : if (XWINT (x34, 0) != 24L)
12926 : : return -1;
12927 : : x35 = XVECEXP (x6, 0, 25);
12928 : : if (XWINT (x35, 0) != 56L)
12929 : : return -1;
12930 : : x36 = XVECEXP (x6, 0, 26);
12931 : : if (XWINT (x36, 0) != 25L)
12932 : : return -1;
12933 : : x37 = XVECEXP (x6, 0, 27);
12934 : : if (XWINT (x37, 0) != 57L)
12935 : : return -1;
12936 : : x38 = XVECEXP (x6, 0, 28);
12937 : : if (XWINT (x38, 0) != 26L)
12938 : : return -1;
12939 : : x39 = XVECEXP (x6, 0, 29);
12940 : : if (XWINT (x39, 0) != 58L)
12941 : : return -1;
12942 : : x40 = XVECEXP (x6, 0, 30);
12943 : : if (XWINT (x40, 0) != 27L)
12944 : : return -1;
12945 : : x41 = XVECEXP (x6, 0, 31);
12946 : : if (XWINT (x41, 0) != 59L)
12947 : : return -1;
12948 : : switch (GET_MODE (operands[0]))
12949 : : {
12950 : : case E_V32HImode:
12951 : : if (pattern1586 (x2,
12952 : : E_V32HImode,
12953 : : E_V64HImode) != 0
12954 : : || !(
12955 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12956 : : (TARGET_AVX512F) &&
12957 : : #line 19954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12958 : : (TARGET_AVX512BW)))
12959 : : return -1;
12960 : : return 8387; /* avx512bw_interleave_lowv32hi_mask */
12961 : :
12962 : : case E_V32HFmode:
12963 : : if (pattern1586 (x2,
12964 : : E_V32HFmode,
12965 : : E_V64HFmode) != 0
12966 : : || !(
12967 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12968 : : (TARGET_AVX512F) &&
12969 : : #line 19954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12970 : : (TARGET_AVX512BW)))
12971 : : return -1;
12972 : : return 8389; /* avx512bw_interleave_lowv32hf_mask */
12973 : :
12974 : : case E_V32BFmode:
12975 : : if (pattern1586 (x2,
12976 : : E_V32BFmode,
12977 : : E_V64BFmode) != 0
12978 : : || !(
12979 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12980 : : (TARGET_AVX512F) &&
12981 : : #line 19954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12982 : : (TARGET_AVX512BW)))
12983 : : return -1;
12984 : : return 8391; /* avx512bw_interleave_lowv32bf_mask */
12985 : :
12986 : : default:
12987 : : return -1;
12988 : : }
12989 : :
12990 : : default:
12991 : : return -1;
12992 : : }
12993 : :
12994 : : case 4L:
12995 : : x8 = XVECEXP (x6, 0, 1);
12996 : : if (XWINT (x8, 0) != 36L)
12997 : : return -1;
12998 : : x10 = XVECEXP (x6, 0, 2);
12999 : : if (XWINT (x10, 0) != 5L)
13000 : : return -1;
13001 : : x11 = XVECEXP (x6, 0, 3);
13002 : : if (XWINT (x11, 0) != 37L)
13003 : : return -1;
13004 : : x12 = XVECEXP (x6, 0, 4);
13005 : : if (XWINT (x12, 0) != 6L)
13006 : : return -1;
13007 : : x13 = XVECEXP (x6, 0, 5);
13008 : : if (XWINT (x13, 0) != 38L)
13009 : : return -1;
13010 : : x14 = XVECEXP (x6, 0, 6);
13011 : : if (XWINT (x14, 0) != 7L)
13012 : : return -1;
13013 : : x15 = XVECEXP (x6, 0, 7);
13014 : : if (XWINT (x15, 0) != 39L
13015 : : || pattern1906 (x6) != 0)
13016 : : return -1;
13017 : : x26 = XVECEXP (x6, 0, 16);
13018 : : if (XWINT (x26, 0) != 20L)
13019 : : return -1;
13020 : : x27 = XVECEXP (x6, 0, 17);
13021 : : if (XWINT (x27, 0) != 52L)
13022 : : return -1;
13023 : : x28 = XVECEXP (x6, 0, 18);
13024 : : if (XWINT (x28, 0) != 21L)
13025 : : return -1;
13026 : : x29 = XVECEXP (x6, 0, 19);
13027 : : if (XWINT (x29, 0) != 53L)
13028 : : return -1;
13029 : : x30 = XVECEXP (x6, 0, 20);
13030 : : if (XWINT (x30, 0) != 22L)
13031 : : return -1;
13032 : : x31 = XVECEXP (x6, 0, 21);
13033 : : if (XWINT (x31, 0) != 54L)
13034 : : return -1;
13035 : : x32 = XVECEXP (x6, 0, 22);
13036 : : if (XWINT (x32, 0) != 23L)
13037 : : return -1;
13038 : : x33 = XVECEXP (x6, 0, 23);
13039 : : if (XWINT (x33, 0) != 55L
13040 : : || pattern1911 (x6) != 0)
13041 : : return -1;
13042 : : switch (GET_MODE (operands[0]))
13043 : : {
13044 : : case E_V32HImode:
13045 : : if (pattern1586 (x2,
13046 : : E_V32HImode,
13047 : : E_V64HImode) != 0
13048 : : || !(
13049 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13050 : : (TARGET_AVX512F) &&
13051 : : #line 19886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13052 : : (TARGET_AVX512BW)))
13053 : : return -1;
13054 : : return 8369; /* avx512bw_interleave_highv32hi_mask */
13055 : :
13056 : : case E_V32HFmode:
13057 : : if (pattern1586 (x2,
13058 : : E_V32HFmode,
13059 : : E_V64HFmode) != 0
13060 : : || !(
13061 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13062 : : (TARGET_AVX512F) &&
13063 : : #line 19886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13064 : : (TARGET_AVX512BW)))
13065 : : return -1;
13066 : : return 8371; /* avx512bw_interleave_highv32hf_mask */
13067 : :
13068 : : case E_V32BFmode:
13069 : : if (pattern1586 (x2,
13070 : : E_V32BFmode,
13071 : : E_V64BFmode) != 0
13072 : : || !(
13073 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13074 : : (TARGET_AVX512F) &&
13075 : : #line 19886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13076 : : (TARGET_AVX512BW)))
13077 : : return -1;
13078 : : return 8373; /* avx512bw_interleave_highv32bf_mask */
13079 : :
13080 : : default:
13081 : : return -1;
13082 : : }
13083 : :
13084 : : default:
13085 : : return -1;
13086 : : }
13087 : :
13088 : : default:
13089 : : return -1;
13090 : : }
13091 : : }
13092 : :
13093 : : int
13094 : : recog_196 (rtx x1 ATTRIBUTE_UNUSED,
13095 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13096 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13097 : : {
13098 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13099 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13100 : : int res ATTRIBUTE_UNUSED;
13101 : : x2 = XEXP (x1, 1);
13102 : : x3 = XEXP (x2, 0);
13103 : : x4 = XEXP (x3, 0);
13104 : : operands[1] = x4;
13105 : : x5 = XEXP (x3, 1);
13106 : : operands[2] = x5;
13107 : : x6 = XEXP (x2, 1);
13108 : : switch (GET_CODE (x6))
13109 : : {
13110 : : case CONST_INT:
13111 : : case CONST_DOUBLE:
13112 : : case CONST_VECTOR:
13113 : : case REG:
13114 : : case SUBREG:
13115 : : case MEM:
13116 : : switch (pattern489 (x2))
13117 : : {
13118 : : case 0:
13119 : : if (!(
13120 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13121 : : (TARGET_AVX512F) && (
13122 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13123 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
13124 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
13125 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13126 : : (TARGET_AVX512FP16))))
13127 : : return -1;
13128 : : return 2752; /* *subv32hf3_mask */
13129 : :
13130 : : case 1:
13131 : : if (!(
13132 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13133 : : (TARGET_AVX512F) && (
13134 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13135 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
13136 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
13137 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13138 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13139 : : return -1;
13140 : : return 2760; /* *subv16hf3_mask */
13141 : :
13142 : : case 2:
13143 : : if (!(
13144 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13145 : : (TARGET_AVX512F) && (
13146 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13147 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
13148 : : && (16 == 64 || TARGET_AVX512VL) && 1) &&
13149 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13150 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13151 : : return -1;
13152 : : return 2768; /* *subv8hf3_mask */
13153 : :
13154 : : case 3:
13155 : : if (!(
13156 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13157 : : (TARGET_AVX512F) && (
13158 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13159 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
13160 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
13161 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13162 : : (TARGET_AVX512F))))
13163 : : return -1;
13164 : : return 2776; /* *subv16sf3_mask */
13165 : :
13166 : : case 4:
13167 : : if (!(
13168 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13169 : : (TARGET_AVX512F) && (
13170 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13171 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
13172 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
13173 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13174 : : (TARGET_AVX))))
13175 : : return -1;
13176 : : return 2784; /* *subv8sf3_mask */
13177 : :
13178 : : case 5:
13179 : : if (!(
13180 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13181 : : (TARGET_AVX512F) &&
13182 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13183 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
13184 : : && (16 == 64 || TARGET_AVX512VL) && 1)))
13185 : : return -1;
13186 : : return 2792; /* *subv4sf3_mask */
13187 : :
13188 : : case 6:
13189 : : if (!(
13190 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13191 : : (TARGET_AVX512F) && (
13192 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13193 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
13194 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
13195 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13196 : : (TARGET_AVX512F))))
13197 : : return -1;
13198 : : return 2800; /* *subv8df3_mask */
13199 : :
13200 : : case 7:
13201 : : if (!(
13202 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13203 : : (TARGET_AVX512F) && (
13204 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13205 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
13206 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
13207 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13208 : : (TARGET_AVX))))
13209 : : return -1;
13210 : : return 2808; /* *subv4df3_mask */
13211 : :
13212 : : case 8:
13213 : : if (!(
13214 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13215 : : (TARGET_AVX512F) && (
13216 : : #line 2679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13217 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
13218 : : && (16 == 64 || TARGET_AVX512VL) && 1) &&
13219 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13220 : : (TARGET_SSE2))))
13221 : : return -1;
13222 : : return 2816; /* *subv2df3_mask */
13223 : :
13224 : : case 9:
13225 : : if (!
13226 : : #line 16558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13227 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V16SImode, operands)))
13228 : : return -1;
13229 : : return 7516; /* *subv16si3_mask */
13230 : :
13231 : : case 10:
13232 : : if (!(
13233 : : #line 16558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13234 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V8SImode, operands)) &&
13235 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13236 : : (TARGET_AVX512VL)))
13237 : : return -1;
13238 : : return 7518; /* *subv8si3_mask */
13239 : :
13240 : : case 11:
13241 : : if (!(
13242 : : #line 16558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13243 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V4SImode, operands)) &&
13244 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13245 : : (TARGET_AVX512VL)))
13246 : : return -1;
13247 : : return 7520; /* *subv4si3_mask */
13248 : :
13249 : : case 12:
13250 : : if (!
13251 : : #line 16558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13252 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V8DImode, operands)))
13253 : : return -1;
13254 : : return 7522; /* *subv8di3_mask */
13255 : :
13256 : : case 13:
13257 : : if (!(
13258 : : #line 16558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13259 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V4DImode, operands)) &&
13260 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13261 : : (TARGET_AVX512VL)))
13262 : : return -1;
13263 : : return 7524; /* *subv4di3_mask */
13264 : :
13265 : : case 14:
13266 : : if (!(
13267 : : #line 16558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13268 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V2DImode, operands)) &&
13269 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13270 : : (TARGET_AVX512VL)))
13271 : : return -1;
13272 : : return 7526; /* *subv2di3_mask */
13273 : :
13274 : : case 15:
13275 : : if (!
13276 : : #line 16572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13277 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V64QImode, operands)))
13278 : : return -1;
13279 : : return 7528; /* *subv64qi3_mask */
13280 : :
13281 : : case 16:
13282 : : if (!(
13283 : : #line 16572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13284 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V16QImode, operands)) &&
13285 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13286 : : (TARGET_AVX512VL)))
13287 : : return -1;
13288 : : return 7530; /* *subv16qi3_mask */
13289 : :
13290 : : case 17:
13291 : : if (!(
13292 : : #line 16572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13293 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V32QImode, operands)) &&
13294 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13295 : : (TARGET_AVX512VL)))
13296 : : return -1;
13297 : : return 7532; /* *subv32qi3_mask */
13298 : :
13299 : : case 18:
13300 : : if (!
13301 : : #line 16572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13302 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V32HImode, operands)))
13303 : : return -1;
13304 : : return 7534; /* *subv32hi3_mask */
13305 : :
13306 : : case 19:
13307 : : if (!(
13308 : : #line 16572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13309 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V16HImode, operands)) &&
13310 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13311 : : (TARGET_AVX512VL)))
13312 : : return -1;
13313 : : return 7536; /* *subv16hi3_mask */
13314 : :
13315 : : case 20:
13316 : : if (!(
13317 : : #line 16572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13318 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V8HImode, operands)) &&
13319 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13320 : : (TARGET_AVX512VL)))
13321 : : return -1;
13322 : : return 7538; /* *subv8hi3_mask */
13323 : :
13324 : : case 21:
13325 : : if (!(
13326 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13327 : : (TARGET_AVX512F) &&
13328 : : #line 32537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13329 : : (TARGET_AVX10_2)))
13330 : : return -1;
13331 : : return 10671; /* avx10_2_subbf16_v32bf_mask */
13332 : :
13333 : : case 22:
13334 : : if (!(
13335 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13336 : : (TARGET_AVX512F) &&
13337 : : #line 32537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13338 : : (TARGET_AVX10_2)))
13339 : : return -1;
13340 : : return 10679; /* avx10_2_subbf16_v16bf_mask */
13341 : :
13342 : : case 23:
13343 : : if (!(
13344 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13345 : : (TARGET_AVX512F) &&
13346 : : #line 32537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13347 : : (TARGET_AVX10_2)))
13348 : : return -1;
13349 : : return 10687; /* avx10_2_subbf16_v8bf_mask */
13350 : :
13351 : : case 24:
13352 : : if (!(
13353 : : #line 2728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13354 : : (TARGET_SSE) &&
13355 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13356 : : (TARGET_AVX512FP16)))
13357 : : return -1;
13358 : : return 2828; /* avx512fp16_vmsubv8hf3 */
13359 : :
13360 : : case 25:
13361 : : if (!
13362 : : #line 2728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13363 : : (TARGET_SSE))
13364 : : return -1;
13365 : : return 2836; /* sse_vmsubv4sf3 */
13366 : :
13367 : : case 26:
13368 : : if (!(
13369 : : #line 2728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13370 : : (TARGET_SSE) &&
13371 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13372 : : (TARGET_SSE2)))
13373 : : return -1;
13374 : : return 2844; /* sse2_vmsubv2df3 */
13375 : :
13376 : : default:
13377 : : return -1;
13378 : : }
13379 : :
13380 : : case PLUS:
13381 : : x7 = XEXP (x2, 2);
13382 : : if (GET_CODE (x7) != CONST_INT)
13383 : : return -1;
13384 : : x8 = XEXP (x6, 0);
13385 : : if (!rtx_equal_p (x8, operands[1]))
13386 : : return -1;
13387 : : x9 = XEXP (x6, 1);
13388 : : if (!rtx_equal_p (x9, operands[2]))
13389 : : return -1;
13390 : : switch (XWINT (x7, 0))
13391 : : {
13392 : : case 85L:
13393 : : if (pattern1119 (x2,
13394 : : E_V8SFmode) != 0
13395 : : || !(
13396 : : #line 3525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13397 : : (TARGET_SSE3) &&
13398 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13399 : : (TARGET_AVX)))
13400 : : return -1;
13401 : : return 3208; /* vec_addsubv8sf3 */
13402 : :
13403 : : case 5L:
13404 : : switch (GET_MODE (operands[0]))
13405 : : {
13406 : : case E_V4SFmode:
13407 : : if (pattern1119 (x2,
13408 : : E_V4SFmode) != 0
13409 : : || !
13410 : : #line 3525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13411 : : (TARGET_SSE3))
13412 : : return -1;
13413 : : return 3209; /* vec_addsubv4sf3 */
13414 : :
13415 : : case E_V4DFmode:
13416 : : if (pattern1119 (x2,
13417 : : E_V4DFmode) != 0
13418 : : || !(
13419 : : #line 3525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13420 : : (TARGET_SSE3) &&
13421 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13422 : : (TARGET_AVX)))
13423 : : return -1;
13424 : : return 3210; /* vec_addsubv4df3 */
13425 : :
13426 : : default:
13427 : : return -1;
13428 : : }
13429 : :
13430 : : case 1L:
13431 : : if (pattern1119 (x2,
13432 : : E_V2DFmode) != 0
13433 : : || !(
13434 : : #line 3525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13435 : : (TARGET_SSE3) &&
13436 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13437 : : (TARGET_SSE2)))
13438 : : return -1;
13439 : : return 3211; /* vec_addsubv2df3 */
13440 : :
13441 : : default:
13442 : : return -1;
13443 : : }
13444 : :
13445 : : default:
13446 : : return -1;
13447 : : }
13448 : : }
13449 : :
13450 : : int
13451 : : recog_205 (rtx x1 ATTRIBUTE_UNUSED,
13452 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13453 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13454 : : {
13455 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13456 : : rtx x2;
13457 : : int res ATTRIBUTE_UNUSED;
13458 : : x2 = XEXP (x1, 1);
13459 : : switch (pattern144 (x2))
13460 : : {
13461 : : case 0:
13462 : : if (!(
13463 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13464 : : (TARGET_AVX512F) && (
13465 : : #line 8160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13466 : : (TARGET_AVX512FP16) &&
13467 : : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13468 : : (TARGET_AVX512VL))))
13469 : : return -1;
13470 : : return 4650; /* avx512fp16_fixuns_truncv8hi2_mask */
13471 : :
13472 : : case 1:
13473 : : if (!(
13474 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13475 : : (TARGET_AVX512F) && (
13476 : : #line 8160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13477 : : (TARGET_AVX512FP16) &&
13478 : : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13479 : : (TARGET_AVX512VL))))
13480 : : return -1;
13481 : : return 4658; /* avx512fp16_fixuns_truncv16hi2_mask */
13482 : :
13483 : : case 2:
13484 : : if (!(
13485 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13486 : : (TARGET_AVX512F) &&
13487 : : #line 8160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13488 : : (TARGET_AVX512FP16)))
13489 : : return -1;
13490 : : return 4666; /* avx512fp16_fixuns_truncv32hi2_mask */
13491 : :
13492 : : case 3:
13493 : : switch (GET_MODE (operands[1]))
13494 : : {
13495 : : case E_V8HFmode:
13496 : : if (!vector_operand (operands[1], E_V8HFmode)
13497 : : || !(
13498 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13499 : : (TARGET_AVX512F) && (
13500 : : #line 8160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13501 : : (TARGET_AVX512FP16) &&
13502 : : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13503 : : (TARGET_AVX512VL))))
13504 : : return -1;
13505 : : return 4674; /* avx512fp16_fixuns_truncv8si2_mask */
13506 : :
13507 : : case E_V8DFmode:
13508 : : if (!vector_operand (operands[1], E_V8DFmode)
13509 : : || !
13510 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13511 : : (TARGET_AVX512F))
13512 : : return -1;
13513 : : return 5065; /* fixuns_truncv8dfv8si2_mask */
13514 : :
13515 : : case E_V8SFmode:
13516 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13517 : : || !(
13518 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13519 : : (TARGET_AVX512F) && (
13520 : : #line 10191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13521 : : (TARGET_AVX512VL) &&
13522 : : #line 439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13523 : : (TARGET_AVX))))
13524 : : return -1;
13525 : : return 5165; /* fixuns_truncv8sfv8si2_mask */
13526 : :
13527 : : default:
13528 : : return -1;
13529 : : }
13530 : :
13531 : : case 4:
13532 : : if (!(
13533 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13534 : : (TARGET_AVX512F) &&
13535 : : #line 8160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13536 : : (TARGET_AVX512FP16)))
13537 : : return -1;
13538 : : return 4682; /* avx512fp16_fixuns_truncv16si2_mask */
13539 : :
13540 : : case 5:
13541 : : if (!
13542 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13543 : : (TARGET_AVX512F))
13544 : : return -1;
13545 : : return 4916; /* fixuns_truncv16sfv16si2_mask */
13546 : :
13547 : : case 6:
13548 : : if (!(
13549 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13550 : : (TARGET_AVX512F) &&
13551 : : #line 8160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13552 : : (TARGET_AVX512FP16)))
13553 : : return -1;
13554 : : return 4690; /* avx512fp16_fixuns_truncv8di2_mask */
13555 : :
13556 : : case 7:
13557 : : if (!(
13558 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13559 : : (TARGET_AVX512F) &&
13560 : : #line 9977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13561 : : (TARGET_AVX512DQ && 1)))
13562 : : return -1;
13563 : : return 5102; /* fixuns_truncv8dfv8di2_mask */
13564 : :
13565 : : case 8:
13566 : : if (!(
13567 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13568 : : (TARGET_AVX512F) &&
13569 : : #line 10020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13570 : : (TARGET_AVX512DQ && 1)))
13571 : : return -1;
13572 : : return 5146; /* fixuns_truncv8sfv8di2_mask */
13573 : :
13574 : : case 9:
13575 : : switch (GET_MODE (operands[1]))
13576 : : {
13577 : : case E_V4HFmode:
13578 : : if (!memory_operand (operands[1], E_V4HFmode)
13579 : : || !(
13580 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13581 : : (TARGET_AVX512F) &&
13582 : : #line 8210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13583 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13584 : : return -1;
13585 : : return 4711; /* *avx512fp16_fixuns_truncv4si2_load_mask */
13586 : :
13587 : : case E_V4DFmode:
13588 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13589 : : || !(
13590 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13591 : : (TARGET_AVX512F) &&
13592 : : #line 9956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13593 : : (TARGET_AVX512VL && TARGET_AVX512F)))
13594 : : return -1;
13595 : : return 5079; /* fixuns_truncv4dfv4si2_mask */
13596 : :
13597 : : case E_V4SFmode:
13598 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
13599 : : || !(
13600 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13601 : : (TARGET_AVX512F) &&
13602 : : #line 10191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13603 : : (TARGET_AVX512VL)))
13604 : : return -1;
13605 : : return 5167; /* fixuns_truncv4sfv4si2_mask */
13606 : :
13607 : : default:
13608 : : return -1;
13609 : : }
13610 : :
13611 : : case 10:
13612 : : if (!(
13613 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13614 : : (TARGET_AVX512F) &&
13615 : : #line 8210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13616 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13617 : : return -1;
13618 : : return 4715; /* *avx512fp16_fixuns_truncv4di2_load_mask */
13619 : :
13620 : : case 11:
13621 : : if (!(
13622 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13623 : : (TARGET_AVX512F) && (
13624 : : #line 9977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13625 : : (TARGET_AVX512DQ && 1) &&
13626 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13627 : : (TARGET_AVX512VL))))
13628 : : return -1;
13629 : : return 5107; /* fixuns_truncv4dfv4di2_mask */
13630 : :
13631 : : case 12:
13632 : : if (!(
13633 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13634 : : (TARGET_AVX512F) && (
13635 : : #line 10020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13636 : : (TARGET_AVX512DQ && 1) &&
13637 : : #line 615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13638 : : (TARGET_AVX512VL))))
13639 : : return -1;
13640 : : return 5151; /* fixuns_truncv4sfv4di2_mask */
13641 : :
13642 : : case 13:
13643 : : if (!(
13644 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13645 : : (TARGET_AVX512F) &&
13646 : : #line 8260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13647 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13648 : : return -1;
13649 : : return 4727; /* *avx512fp16_fixuns_truncv2di2_load_mask */
13650 : :
13651 : : case 14:
13652 : : if (!(
13653 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13654 : : (TARGET_AVX512F) && (
13655 : : #line 9977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13656 : : (TARGET_AVX512DQ && 1) &&
13657 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13658 : : (TARGET_AVX512VL))))
13659 : : return -1;
13660 : : return 5111; /* fixuns_truncv2dfv2di2_mask */
13661 : :
13662 : : case 15:
13663 : : if (!(
13664 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13665 : : (TARGET_AVX512F) &&
13666 : : #line 8200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13667 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13668 : : return -1;
13669 : : return 4703; /* avx512fp16_fixuns_truncv4si2_mask */
13670 : :
13671 : : case 16:
13672 : : if (!(
13673 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13674 : : (TARGET_AVX512F) &&
13675 : : #line 8200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13676 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13677 : : return -1;
13678 : : return 4707; /* avx512fp16_fixuns_truncv4di2_mask */
13679 : :
13680 : : case 17:
13681 : : if (!(
13682 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13683 : : (TARGET_AVX512F) &&
13684 : : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13685 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13686 : : return -1;
13687 : : return 4723; /* avx512fp16_fixuns_truncv2di2_mask */
13688 : :
13689 : : case 18:
13690 : : if (!(
13691 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13692 : : (TARGET_AVX512F) &&
13693 : : #line 10043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13694 : : (TARGET_AVX512DQ && TARGET_AVX512VL)))
13695 : : return -1;
13696 : : return 5159; /* avx512dq_fixuns_truncv2sfv2di2_mask */
13697 : :
13698 : : default:
13699 : : return -1;
13700 : : }
13701 : : }
13702 : :
13703 : : int
13704 : : recog_217 (rtx x1 ATTRIBUTE_UNUSED,
13705 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13706 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13707 : : {
13708 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13709 : : rtx x2, x3;
13710 : : int res ATTRIBUTE_UNUSED;
13711 : : x2 = XEXP (x1, 1);
13712 : : x3 = XVECEXP (x2, 0, 0);
13713 : : operands[1] = x3;
13714 : : switch (GET_MODE (operands[0]))
13715 : : {
13716 : : case E_V8SFmode:
13717 : : if (!register_operand (operands[0], E_V8SFmode)
13718 : : || GET_MODE (x2) != E_V8SFmode
13719 : : || !vector_operand (operands[1], E_V8SFmode)
13720 : : || !(
13721 : : #line 3153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13722 : : (TARGET_SSE) &&
13723 : : #line 439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13724 : : (TARGET_AVX)))
13725 : : return -1;
13726 : : return 3015; /* avx_rsqrtv8sf2 */
13727 : :
13728 : : case E_V4SFmode:
13729 : : if (!register_operand (operands[0], E_V4SFmode)
13730 : : || GET_MODE (x2) != E_V4SFmode
13731 : : || !vector_operand (operands[1], E_V4SFmode)
13732 : : || !
13733 : : #line 3153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13734 : : (TARGET_SSE))
13735 : : return -1;
13736 : : return 3016; /* sse_rsqrtv4sf2 */
13737 : :
13738 : : case E_V32HFmode:
13739 : : if (!register_operand (operands[0], E_V32HFmode)
13740 : : || GET_MODE (x2) != E_V32HFmode
13741 : : || !vector_operand (operands[1], E_V32HFmode)
13742 : : || !
13743 : : #line 3165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13744 : : (TARGET_AVX512FP16))
13745 : : return -1;
13746 : : return 3017; /* avx512fp16_rsqrtv32hf2 */
13747 : :
13748 : : case E_V16HFmode:
13749 : : if (!register_operand (operands[0], E_V16HFmode)
13750 : : || GET_MODE (x2) != E_V16HFmode
13751 : : || !vector_operand (operands[1], E_V16HFmode)
13752 : : || !(
13753 : : #line 3165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13754 : : (TARGET_AVX512FP16) &&
13755 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13756 : : (TARGET_AVX512VL)))
13757 : : return -1;
13758 : : return 3019; /* avx512fp16_rsqrtv16hf2 */
13759 : :
13760 : : case E_V8HFmode:
13761 : : if (!register_operand (operands[0], E_V8HFmode)
13762 : : || GET_MODE (x2) != E_V8HFmode
13763 : : || !vector_operand (operands[1], E_V8HFmode)
13764 : : || !(
13765 : : #line 3165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13766 : : (TARGET_AVX512FP16) &&
13767 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13768 : : (TARGET_AVX512VL)))
13769 : : return -1;
13770 : : return 3021; /* avx512fp16_rsqrtv8hf2 */
13771 : :
13772 : : case E_V32BFmode:
13773 : : if (!register_operand (operands[0], E_V32BFmode)
13774 : : || GET_MODE (x2) != E_V32BFmode
13775 : : || !nonimmediate_operand (operands[1], E_V32BFmode)
13776 : : || !
13777 : : #line 32806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13778 : : (TARGET_AVX10_2))
13779 : : return -1;
13780 : : return 10740; /* avx10_2_rsqrtbf16_v32bf */
13781 : :
13782 : : case E_V16BFmode:
13783 : : if (!register_operand (operands[0], E_V16BFmode)
13784 : : || GET_MODE (x2) != E_V16BFmode
13785 : : || !nonimmediate_operand (operands[1], E_V16BFmode)
13786 : : || !
13787 : : #line 32806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13788 : : (TARGET_AVX10_2))
13789 : : return -1;
13790 : : return 10742; /* avx10_2_rsqrtbf16_v16bf */
13791 : :
13792 : : case E_V8BFmode:
13793 : : if (!register_operand (operands[0], E_V8BFmode)
13794 : : || GET_MODE (x2) != E_V8BFmode
13795 : : || !nonimmediate_operand (operands[1], E_V8BFmode)
13796 : : || !
13797 : : #line 32806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13798 : : (TARGET_AVX10_2))
13799 : : return -1;
13800 : : return 10744; /* avx10_2_rsqrtbf16_v8bf */
13801 : :
13802 : : default:
13803 : : return -1;
13804 : : }
13805 : : }
13806 : :
13807 : : int
13808 : : recog_222 (rtx x1 ATTRIBUTE_UNUSED,
13809 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13810 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13811 : : {
13812 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13813 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13814 : : int res ATTRIBUTE_UNUSED;
13815 : : x2 = XEXP (x1, 1);
13816 : : x3 = XVECEXP (x2, 0, 1);
13817 : : if (!const_4_or_8_to_11_operand (x3, E_SImode))
13818 : : return -1;
13819 : : x4 = XVECEXP (x2, 0, 0);
13820 : : x5 = XEXP (x4, 0);
13821 : : x6 = XVECEXP (x5, 0, 2);
13822 : : switch (GET_CODE (x6))
13823 : : {
13824 : : case REG:
13825 : : case SUBREG:
13826 : : case MEM:
13827 : : operands[3] = x6;
13828 : : x7 = XEXP (x4, 1);
13829 : : switch (GET_CODE (x7))
13830 : : {
13831 : : case CONST_INT:
13832 : : case CONST_DOUBLE:
13833 : : case CONST_VECTOR:
13834 : : operands[4] = x7;
13835 : : x8 = XEXP (x4, 2);
13836 : : operands[5] = x8;
13837 : : operands[6] = x3;
13838 : : switch (GET_MODE (operands[0]))
13839 : : {
13840 : : case E_V32HFmode:
13841 : : if (pattern1656 (x2,
13842 : : E_SImode,
13843 : : E_V32HFmode) != 0
13844 : : || !(
13845 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13846 : : (TARGET_AVX512F) && (
13847 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13848 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13849 : : || V32HFmode == V8DFmode
13850 : : || V32HFmode == V8DImode
13851 : : || V32HFmode == V16SImode
13852 : : || V32HFmode == V32HFmode)) &&
13853 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13854 : : (TARGET_AVX512FP16))))
13855 : : return -1;
13856 : : return 4129; /* fma_fmaddsub_v32hf_maskz_1_round */
13857 : :
13858 : : case E_V16SFmode:
13859 : : if (pattern1656 (x2,
13860 : : E_HImode,
13861 : : E_V16SFmode) != 0
13862 : : || !(
13863 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13864 : : (TARGET_AVX512F) &&
13865 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13866 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13867 : : || V16SFmode == V8DFmode
13868 : : || V16SFmode == V8DImode
13869 : : || V16SFmode == V16SImode
13870 : : || V16SFmode == V32HFmode))))
13871 : : return -1;
13872 : : return 4137; /* fma_fmaddsub_v16sf_maskz_1_round */
13873 : :
13874 : : case E_V8DFmode:
13875 : : if (pattern1656 (x2,
13876 : : E_QImode,
13877 : : E_V8DFmode) != 0
13878 : : || !(
13879 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13880 : : (TARGET_AVX512F) &&
13881 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13882 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13883 : : || V8DFmode == V8DFmode
13884 : : || V8DFmode == V8DImode
13885 : : || V8DFmode == V16SImode
13886 : : || V8DFmode == V32HFmode))))
13887 : : return -1;
13888 : : return 4145; /* fma_fmaddsub_v8df_maskz_1_round */
13889 : :
13890 : : default:
13891 : : return -1;
13892 : : }
13893 : :
13894 : : case REG:
13895 : : case SUBREG:
13896 : : case MEM:
13897 : : x8 = XEXP (x4, 2);
13898 : : operands[4] = x8;
13899 : : operands[5] = x3;
13900 : : switch (GET_MODE (operands[0]))
13901 : : {
13902 : : case E_V32HFmode:
13903 : : if (pattern1591 (x2,
13904 : : E_V32HFmode,
13905 : : E_SImode) != 0)
13906 : : return -1;
13907 : : if (register_operand (operands[1], E_V32HFmode)
13908 : : && register_operand (operands[3], E_V32HFmode)
13909 : : && rtx_equal_p (x7, operands[1])
13910 : : && (
13911 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13912 : : (TARGET_AVX512F) && (
13913 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13914 : : (TARGET_AVX512F) &&
13915 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13916 : : (TARGET_AVX512FP16))))
13917 : : return 4151; /* avx512bw_fmaddsub_v32hf_mask_round */
13918 : : if (!nonimmediate_operand (operands[1], E_V32HFmode)
13919 : : || !nonimmediate_operand (operands[3], E_V32HFmode)
13920 : : || !rtx_equal_p (x7, operands[3])
13921 : : || !(
13922 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13923 : : (TARGET_AVX512F) && (
13924 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13925 : : (TARGET_AVX512F) &&
13926 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13927 : : (TARGET_AVX512FP16))))
13928 : : return -1;
13929 : : return 4169; /* avx512bw_fmaddsub_v32hf_mask3_round */
13930 : :
13931 : : case E_V16HFmode:
13932 : : if (pattern1591 (x2,
13933 : : E_V16HFmode,
13934 : : E_HImode) != 0)
13935 : : return -1;
13936 : : if (register_operand (operands[1], E_V16HFmode)
13937 : : && register_operand (operands[3], E_V16HFmode)
13938 : : && rtx_equal_p (x7, operands[1])
13939 : : && (
13940 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13941 : : (TARGET_AVX512F) && (
13942 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13943 : : (TARGET_AVX512F) &&
13944 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13945 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13946 : : return 4153; /* avx512vl_fmaddsub_v16hf_mask_round */
13947 : : if (!nonimmediate_operand (operands[1], E_V16HFmode)
13948 : : || !nonimmediate_operand (operands[3], E_V16HFmode)
13949 : : || !rtx_equal_p (x7, operands[3])
13950 : : || !(
13951 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13952 : : (TARGET_AVX512F) && (
13953 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13954 : : (TARGET_AVX512F) &&
13955 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13956 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13957 : : return -1;
13958 : : return 4171; /* avx512vl_fmaddsub_v16hf_mask3_round */
13959 : :
13960 : : case E_V8HFmode:
13961 : : if (pattern1591 (x2,
13962 : : E_V8HFmode,
13963 : : E_QImode) != 0)
13964 : : return -1;
13965 : : if (register_operand (operands[1], E_V8HFmode)
13966 : : && register_operand (operands[3], E_V8HFmode)
13967 : : && rtx_equal_p (x7, operands[1])
13968 : : && (
13969 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13970 : : (TARGET_AVX512F) && (
13971 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13972 : : (TARGET_AVX512F) &&
13973 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13974 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13975 : : return 4155; /* avx512fp16_fmaddsub_v8hf_mask_round */
13976 : : if (!nonimmediate_operand (operands[1], E_V8HFmode)
13977 : : || !nonimmediate_operand (operands[3], E_V8HFmode)
13978 : : || !rtx_equal_p (x7, operands[3])
13979 : : || !(
13980 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13981 : : (TARGET_AVX512F) && (
13982 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13983 : : (TARGET_AVX512F) &&
13984 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13985 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13986 : : return -1;
13987 : : return 4173; /* avx512fp16_fmaddsub_v8hf_mask3_round */
13988 : :
13989 : : case E_V16SFmode:
13990 : : if (pattern1591 (x2,
13991 : : E_V16SFmode,
13992 : : E_HImode) != 0)
13993 : : return -1;
13994 : : if (register_operand (operands[1], E_V16SFmode)
13995 : : && register_operand (operands[3], E_V16SFmode)
13996 : : && rtx_equal_p (x7, operands[1])
13997 : : &&
13998 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13999 : : (TARGET_AVX512F))
14000 : : return 4157; /* avx512f_fmaddsub_v16sf_mask_round */
14001 : : if (!nonimmediate_operand (operands[1], E_V16SFmode)
14002 : : || !nonimmediate_operand (operands[3], E_V16SFmode)
14003 : : || !rtx_equal_p (x7, operands[3])
14004 : : || !
14005 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14006 : : (TARGET_AVX512F))
14007 : : return -1;
14008 : : return 4175; /* avx512f_fmaddsub_v16sf_mask3_round */
14009 : :
14010 : : case E_V8SFmode:
14011 : : if (pattern1591 (x2,
14012 : : E_V8SFmode,
14013 : : E_QImode) != 0)
14014 : : return -1;
14015 : : if (register_operand (operands[1], E_V8SFmode)
14016 : : && register_operand (operands[3], E_V8SFmode)
14017 : : && rtx_equal_p (x7, operands[1])
14018 : : && (
14019 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14020 : : (TARGET_AVX512F) && (
14021 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14022 : : (TARGET_AVX512F) &&
14023 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14024 : : (TARGET_AVX512VL))))
14025 : : return 4159; /* avx512vl_fmaddsub_v8sf_mask_round */
14026 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
14027 : : || !nonimmediate_operand (operands[3], E_V8SFmode)
14028 : : || !rtx_equal_p (x7, operands[3])
14029 : : || !(
14030 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14031 : : (TARGET_AVX512F) && (
14032 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14033 : : (TARGET_AVX512F) &&
14034 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14035 : : (TARGET_AVX512VL))))
14036 : : return -1;
14037 : : return 4177; /* avx512vl_fmaddsub_v8sf_mask3_round */
14038 : :
14039 : : case E_V4SFmode:
14040 : : if (pattern1591 (x2,
14041 : : E_V4SFmode,
14042 : : E_QImode) != 0)
14043 : : return -1;
14044 : : if (register_operand (operands[1], E_V4SFmode)
14045 : : && register_operand (operands[3], E_V4SFmode)
14046 : : && rtx_equal_p (x7, operands[1])
14047 : : && (
14048 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14049 : : (TARGET_AVX512F) && (
14050 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14051 : : (TARGET_AVX512F) &&
14052 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14053 : : (TARGET_AVX512VL))))
14054 : : return 4161; /* avx512vl_fmaddsub_v4sf_mask_round */
14055 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
14056 : : || !nonimmediate_operand (operands[3], E_V4SFmode)
14057 : : || !rtx_equal_p (x7, operands[3])
14058 : : || !(
14059 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14060 : : (TARGET_AVX512F) && (
14061 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14062 : : (TARGET_AVX512F) &&
14063 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14064 : : (TARGET_AVX512VL))))
14065 : : return -1;
14066 : : return 4179; /* avx512vl_fmaddsub_v4sf_mask3_round */
14067 : :
14068 : : case E_V8DFmode:
14069 : : if (pattern1591 (x2,
14070 : : E_V8DFmode,
14071 : : E_QImode) != 0)
14072 : : return -1;
14073 : : if (register_operand (operands[1], E_V8DFmode)
14074 : : && register_operand (operands[3], E_V8DFmode)
14075 : : && rtx_equal_p (x7, operands[1])
14076 : : &&
14077 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14078 : : (TARGET_AVX512F))
14079 : : return 4163; /* avx512f_fmaddsub_v8df_mask_round */
14080 : : if (!nonimmediate_operand (operands[1], E_V8DFmode)
14081 : : || !nonimmediate_operand (operands[3], E_V8DFmode)
14082 : : || !rtx_equal_p (x7, operands[3])
14083 : : || !
14084 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14085 : : (TARGET_AVX512F))
14086 : : return -1;
14087 : : return 4181; /* avx512f_fmaddsub_v8df_mask3_round */
14088 : :
14089 : : case E_V4DFmode:
14090 : : if (pattern1591 (x2,
14091 : : E_V4DFmode,
14092 : : E_QImode) != 0)
14093 : : return -1;
14094 : : if (register_operand (operands[1], E_V4DFmode)
14095 : : && register_operand (operands[3], E_V4DFmode)
14096 : : && rtx_equal_p (x7, operands[1])
14097 : : && (
14098 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14099 : : (TARGET_AVX512F) && (
14100 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14101 : : (TARGET_AVX512F) &&
14102 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14103 : : (TARGET_AVX512VL))))
14104 : : return 4165; /* avx512vl_fmaddsub_v4df_mask_round */
14105 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
14106 : : || !nonimmediate_operand (operands[3], E_V4DFmode)
14107 : : || !rtx_equal_p (x7, operands[3])
14108 : : || !(
14109 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14110 : : (TARGET_AVX512F) && (
14111 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14112 : : (TARGET_AVX512F) &&
14113 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14114 : : (TARGET_AVX512VL))))
14115 : : return -1;
14116 : : return 4183; /* avx512vl_fmaddsub_v4df_mask3_round */
14117 : :
14118 : : case E_V2DFmode:
14119 : : if (pattern1591 (x2,
14120 : : E_V2DFmode,
14121 : : E_QImode) != 0)
14122 : : return -1;
14123 : : if (register_operand (operands[1], E_V2DFmode)
14124 : : && register_operand (operands[3], E_V2DFmode)
14125 : : && rtx_equal_p (x7, operands[1])
14126 : : && (
14127 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14128 : : (TARGET_AVX512F) && (
14129 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14130 : : (TARGET_AVX512F) &&
14131 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14132 : : (TARGET_AVX512VL))))
14133 : : return 4167; /* avx512vl_fmaddsub_v2df_mask_round */
14134 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
14135 : : || !nonimmediate_operand (operands[3], E_V2DFmode)
14136 : : || !rtx_equal_p (x7, operands[3])
14137 : : || !(
14138 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14139 : : (TARGET_AVX512F) && (
14140 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14141 : : (TARGET_AVX512F) &&
14142 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14143 : : (TARGET_AVX512VL))))
14144 : : return -1;
14145 : : return 4185; /* avx512vl_fmaddsub_v2df_mask3_round */
14146 : :
14147 : : default:
14148 : : return -1;
14149 : : }
14150 : :
14151 : : default:
14152 : : return -1;
14153 : : }
14154 : :
14155 : : case NEG:
14156 : : x9 = XEXP (x6, 0);
14157 : : operands[3] = x9;
14158 : : x7 = XEXP (x4, 1);
14159 : : switch (GET_CODE (x7))
14160 : : {
14161 : : case CONST_INT:
14162 : : case CONST_DOUBLE:
14163 : : case CONST_VECTOR:
14164 : : operands[4] = x7;
14165 : : x8 = XEXP (x4, 2);
14166 : : operands[5] = x8;
14167 : : operands[6] = x3;
14168 : : switch (GET_MODE (operands[0]))
14169 : : {
14170 : : case E_V32HFmode:
14171 : : if (pattern1657 (x2,
14172 : : E_SImode,
14173 : : E_V32HFmode) != 0
14174 : : || !(
14175 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14176 : : (TARGET_AVX512F) && (
14177 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14178 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14179 : : || V32HFmode == V8DFmode
14180 : : || V32HFmode == V8DImode
14181 : : || V32HFmode == V16SImode
14182 : : || V32HFmode == V32HFmode)) &&
14183 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14184 : : (TARGET_AVX512FP16))))
14185 : : return -1;
14186 : : return 4193; /* fma_fmsubadd_v32hf_maskz_1_round */
14187 : :
14188 : : case E_V16SFmode:
14189 : : if (pattern1657 (x2,
14190 : : E_HImode,
14191 : : E_V16SFmode) != 0
14192 : : || !(
14193 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14194 : : (TARGET_AVX512F) &&
14195 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14196 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14197 : : || V16SFmode == V8DFmode
14198 : : || V16SFmode == V8DImode
14199 : : || V16SFmode == V16SImode
14200 : : || V16SFmode == V32HFmode))))
14201 : : return -1;
14202 : : return 4201; /* fma_fmsubadd_v16sf_maskz_1_round */
14203 : :
14204 : : case E_V8DFmode:
14205 : : if (pattern1657 (x2,
14206 : : E_QImode,
14207 : : E_V8DFmode) != 0
14208 : : || !(
14209 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14210 : : (TARGET_AVX512F) &&
14211 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14212 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14213 : : || V8DFmode == V8DFmode
14214 : : || V8DFmode == V8DImode
14215 : : || V8DFmode == V16SImode
14216 : : || V8DFmode == V32HFmode))))
14217 : : return -1;
14218 : : return 4209; /* fma_fmsubadd_v8df_maskz_1_round */
14219 : :
14220 : : default:
14221 : : return -1;
14222 : : }
14223 : :
14224 : : case REG:
14225 : : case SUBREG:
14226 : : case MEM:
14227 : : x8 = XEXP (x4, 2);
14228 : : operands[4] = x8;
14229 : : operands[5] = x3;
14230 : : switch (GET_MODE (operands[0]))
14231 : : {
14232 : : case E_V32HFmode:
14233 : : if (pattern1592 (x2,
14234 : : E_V32HFmode,
14235 : : E_SImode) != 0)
14236 : : return -1;
14237 : : if (register_operand (operands[3], E_V32HFmode)
14238 : : && rtx_equal_p (x7, operands[1])
14239 : : && (
14240 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14241 : : (TARGET_AVX512F) && (
14242 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14243 : : (TARGET_AVX512F) &&
14244 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14245 : : (TARGET_AVX512FP16))))
14246 : : return 4215; /* avx512bw_fmsubadd_v32hf_mask_round */
14247 : : if (!nonimmediate_operand (operands[3], E_V32HFmode)
14248 : : || !rtx_equal_p (x7, operands[3])
14249 : : || !(
14250 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14251 : : (TARGET_AVX512F) && (
14252 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14253 : : (TARGET_AVX512F) &&
14254 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14255 : : (TARGET_AVX512FP16))))
14256 : : return -1;
14257 : : return 4233; /* avx512bw_fmsubadd_v32hf_mask3_round */
14258 : :
14259 : : case E_V16HFmode:
14260 : : if (pattern1592 (x2,
14261 : : E_V16HFmode,
14262 : : E_HImode) != 0)
14263 : : return -1;
14264 : : if (register_operand (operands[3], E_V16HFmode)
14265 : : && rtx_equal_p (x7, operands[1])
14266 : : && (
14267 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14268 : : (TARGET_AVX512F) && (
14269 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14270 : : (TARGET_AVX512F) &&
14271 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14272 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14273 : : return 4217; /* avx512vl_fmsubadd_v16hf_mask_round */
14274 : : if (!nonimmediate_operand (operands[3], E_V16HFmode)
14275 : : || !rtx_equal_p (x7, operands[3])
14276 : : || !(
14277 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14278 : : (TARGET_AVX512F) && (
14279 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14280 : : (TARGET_AVX512F) &&
14281 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14282 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14283 : : return -1;
14284 : : return 4235; /* avx512vl_fmsubadd_v16hf_mask3_round */
14285 : :
14286 : : case E_V8HFmode:
14287 : : if (pattern1592 (x2,
14288 : : E_V8HFmode,
14289 : : E_QImode) != 0)
14290 : : return -1;
14291 : : if (register_operand (operands[3], E_V8HFmode)
14292 : : && rtx_equal_p (x7, operands[1])
14293 : : && (
14294 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14295 : : (TARGET_AVX512F) && (
14296 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14297 : : (TARGET_AVX512F) &&
14298 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14299 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14300 : : return 4219; /* avx512fp16_fmsubadd_v8hf_mask_round */
14301 : : if (!nonimmediate_operand (operands[3], E_V8HFmode)
14302 : : || !rtx_equal_p (x7, operands[3])
14303 : : || !(
14304 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14305 : : (TARGET_AVX512F) && (
14306 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14307 : : (TARGET_AVX512F) &&
14308 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14309 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14310 : : return -1;
14311 : : return 4237; /* avx512fp16_fmsubadd_v8hf_mask3_round */
14312 : :
14313 : : case E_V16SFmode:
14314 : : if (pattern1592 (x2,
14315 : : E_V16SFmode,
14316 : : E_HImode) != 0)
14317 : : return -1;
14318 : : if (register_operand (operands[3], E_V16SFmode)
14319 : : && rtx_equal_p (x7, operands[1])
14320 : : &&
14321 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14322 : : (TARGET_AVX512F))
14323 : : return 4221; /* avx512f_fmsubadd_v16sf_mask_round */
14324 : : if (!nonimmediate_operand (operands[3], E_V16SFmode)
14325 : : || !rtx_equal_p (x7, operands[3])
14326 : : || !
14327 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14328 : : (TARGET_AVX512F))
14329 : : return -1;
14330 : : return 4239; /* avx512f_fmsubadd_v16sf_mask3_round */
14331 : :
14332 : : case E_V8SFmode:
14333 : : if (pattern1592 (x2,
14334 : : E_V8SFmode,
14335 : : E_QImode) != 0)
14336 : : return -1;
14337 : : if (register_operand (operands[3], E_V8SFmode)
14338 : : && rtx_equal_p (x7, operands[1])
14339 : : && (
14340 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14341 : : (TARGET_AVX512F) && (
14342 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14343 : : (TARGET_AVX512F) &&
14344 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14345 : : (TARGET_AVX512VL))))
14346 : : return 4223; /* avx512vl_fmsubadd_v8sf_mask_round */
14347 : : if (!nonimmediate_operand (operands[3], E_V8SFmode)
14348 : : || !rtx_equal_p (x7, operands[3])
14349 : : || !(
14350 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14351 : : (TARGET_AVX512F) && (
14352 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14353 : : (TARGET_AVX512F) &&
14354 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14355 : : (TARGET_AVX512VL))))
14356 : : return -1;
14357 : : return 4241; /* avx512vl_fmsubadd_v8sf_mask3_round */
14358 : :
14359 : : case E_V4SFmode:
14360 : : if (pattern1592 (x2,
14361 : : E_V4SFmode,
14362 : : E_QImode) != 0)
14363 : : return -1;
14364 : : if (register_operand (operands[3], E_V4SFmode)
14365 : : && rtx_equal_p (x7, operands[1])
14366 : : && (
14367 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14368 : : (TARGET_AVX512F) && (
14369 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14370 : : (TARGET_AVX512F) &&
14371 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14372 : : (TARGET_AVX512VL))))
14373 : : return 4225; /* avx512vl_fmsubadd_v4sf_mask_round */
14374 : : if (!nonimmediate_operand (operands[3], E_V4SFmode)
14375 : : || !rtx_equal_p (x7, operands[3])
14376 : : || !(
14377 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14378 : : (TARGET_AVX512F) && (
14379 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14380 : : (TARGET_AVX512F) &&
14381 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14382 : : (TARGET_AVX512VL))))
14383 : : return -1;
14384 : : return 4243; /* avx512vl_fmsubadd_v4sf_mask3_round */
14385 : :
14386 : : case E_V8DFmode:
14387 : : if (pattern1592 (x2,
14388 : : E_V8DFmode,
14389 : : E_QImode) != 0)
14390 : : return -1;
14391 : : if (register_operand (operands[3], E_V8DFmode)
14392 : : && rtx_equal_p (x7, operands[1])
14393 : : &&
14394 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14395 : : (TARGET_AVX512F))
14396 : : return 4227; /* avx512f_fmsubadd_v8df_mask_round */
14397 : : if (!nonimmediate_operand (operands[3], E_V8DFmode)
14398 : : || !rtx_equal_p (x7, operands[3])
14399 : : || !
14400 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14401 : : (TARGET_AVX512F))
14402 : : return -1;
14403 : : return 4245; /* avx512f_fmsubadd_v8df_mask3_round */
14404 : :
14405 : : case E_V4DFmode:
14406 : : if (pattern1592 (x2,
14407 : : E_V4DFmode,
14408 : : E_QImode) != 0)
14409 : : return -1;
14410 : : if (register_operand (operands[3], E_V4DFmode)
14411 : : && rtx_equal_p (x7, operands[1])
14412 : : && (
14413 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14414 : : (TARGET_AVX512F) && (
14415 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14416 : : (TARGET_AVX512F) &&
14417 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14418 : : (TARGET_AVX512VL))))
14419 : : return 4229; /* avx512vl_fmsubadd_v4df_mask_round */
14420 : : if (!nonimmediate_operand (operands[3], E_V4DFmode)
14421 : : || !rtx_equal_p (x7, operands[3])
14422 : : || !(
14423 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14424 : : (TARGET_AVX512F) && (
14425 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14426 : : (TARGET_AVX512F) &&
14427 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14428 : : (TARGET_AVX512VL))))
14429 : : return -1;
14430 : : return 4247; /* avx512vl_fmsubadd_v4df_mask3_round */
14431 : :
14432 : : case E_V2DFmode:
14433 : : if (pattern1592 (x2,
14434 : : E_V2DFmode,
14435 : : E_QImode) != 0)
14436 : : return -1;
14437 : : if (register_operand (operands[3], E_V2DFmode)
14438 : : && rtx_equal_p (x7, operands[1])
14439 : : && (
14440 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14441 : : (TARGET_AVX512F) && (
14442 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14443 : : (TARGET_AVX512F) &&
14444 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14445 : : (TARGET_AVX512VL))))
14446 : : return 4231; /* avx512vl_fmsubadd_v2df_mask_round */
14447 : : if (!nonimmediate_operand (operands[3], E_V2DFmode)
14448 : : || !rtx_equal_p (x7, operands[3])
14449 : : || !(
14450 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14451 : : (TARGET_AVX512F) && (
14452 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14453 : : (TARGET_AVX512F) &&
14454 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14455 : : (TARGET_AVX512VL))))
14456 : : return -1;
14457 : : return 4249; /* avx512vl_fmsubadd_v2df_mask3_round */
14458 : :
14459 : : default:
14460 : : return -1;
14461 : : }
14462 : :
14463 : : default:
14464 : : return -1;
14465 : : }
14466 : :
14467 : : default:
14468 : : return -1;
14469 : : }
14470 : : }
14471 : :
14472 : : int
14473 : : recog_235 (rtx x1 ATTRIBUTE_UNUSED,
14474 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14475 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14476 : : {
14477 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14478 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14479 : : rtx x10;
14480 : : int res ATTRIBUTE_UNUSED;
14481 : : if (pnum_clobbers == NULL)
14482 : : return -1;
14483 : : x2 = XEXP (x1, 0);
14484 : : if (GET_CODE (x2) != MEM)
14485 : : return -1;
14486 : : operands[5] = x2;
14487 : : x3 = XEXP (x2, 0);
14488 : : if (GET_CODE (x3) != UNSPEC
14489 : : || XVECLEN (x3, 0) != 4
14490 : : || XINT (x3, 1) != 155)
14491 : : return -1;
14492 : : x4 = XVECEXP (x3, 0, 0);
14493 : : operands[0] = x4;
14494 : : x5 = XVECEXP (x3, 0, 1);
14495 : : operands[2] = x5;
14496 : : x6 = XVECEXP (x3, 0, 2);
14497 : : operands[4] = x6;
14498 : : if (!const1248_operand (operands[4], E_SImode))
14499 : : return -1;
14500 : : x7 = XVECEXP (x3, 0, 3);
14501 : : operands[6] = x7;
14502 : : x8 = XEXP (x1, 1);
14503 : : x9 = XVECEXP (x8, 0, 1);
14504 : : operands[3] = x9;
14505 : : x10 = XVECEXP (x8, 0, 0);
14506 : : if (!rtx_equal_p (x10, operands[6]))
14507 : : return -1;
14508 : : switch (GET_MODE (operands[5]))
14509 : : {
14510 : : case E_V16SImode:
14511 : : if (!vsib_mem_operator (operands[5], E_V16SImode)
14512 : : || GET_MODE (x8) != E_V16SImode)
14513 : : return -1;
14514 : : switch (GET_MODE (x3))
14515 : : {
14516 : : case E_SImode:
14517 : : switch (pattern1711 (
14518 : : E_SImode))
14519 : : {
14520 : : case 0:
14521 : : if (!(
14522 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14523 : : (TARGET_AVX512F) &&
14524 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14525 : : (Pmode == SImode)))
14526 : : return -1;
14527 : : *pnum_clobbers = 1;
14528 : : return 9902; /* *avx512f_scattersiv16si */
14529 : :
14530 : : case 1:
14531 : : if (!(
14532 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14533 : : (TARGET_AVX512F) &&
14534 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14535 : : (Pmode == SImode)))
14536 : : return -1;
14537 : : *pnum_clobbers = 1;
14538 : : return 9926; /* *avx512f_scatterdiv16si */
14539 : :
14540 : : default:
14541 : : return -1;
14542 : : }
14543 : :
14544 : : case E_DImode:
14545 : : switch (pattern1711 (
14546 : : E_DImode))
14547 : : {
14548 : : case 0:
14549 : : if (!(
14550 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14551 : : (TARGET_AVX512F) &&
14552 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14553 : : (Pmode == DImode)))
14554 : : return -1;
14555 : : *pnum_clobbers = 1;
14556 : : return 9914; /* *avx512f_scattersiv16si */
14557 : :
14558 : : case 1:
14559 : : if (!(
14560 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14561 : : (TARGET_AVX512F) &&
14562 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14563 : : (Pmode == DImode)))
14564 : : return -1;
14565 : : *pnum_clobbers = 1;
14566 : : return 9938; /* *avx512f_scatterdiv16si */
14567 : :
14568 : : default:
14569 : : return -1;
14570 : : }
14571 : :
14572 : : default:
14573 : : return -1;
14574 : : }
14575 : :
14576 : : case E_V16SFmode:
14577 : : if (!vsib_mem_operator (operands[5], E_V16SFmode)
14578 : : || GET_MODE (x8) != E_V16SFmode)
14579 : : return -1;
14580 : : switch (GET_MODE (x3))
14581 : : {
14582 : : case E_SImode:
14583 : : switch (pattern1712 (
14584 : : E_SImode))
14585 : : {
14586 : : case 0:
14587 : : if (!(
14588 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14589 : : (TARGET_AVX512F) &&
14590 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14591 : : (Pmode == SImode)))
14592 : : return -1;
14593 : : *pnum_clobbers = 1;
14594 : : return 9903; /* *avx512f_scattersiv16sf */
14595 : :
14596 : : case 1:
14597 : : if (!(
14598 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14599 : : (TARGET_AVX512F) &&
14600 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14601 : : (Pmode == SImode)))
14602 : : return -1;
14603 : : *pnum_clobbers = 1;
14604 : : return 9927; /* *avx512f_scatterdiv16sf */
14605 : :
14606 : : default:
14607 : : return -1;
14608 : : }
14609 : :
14610 : : case E_DImode:
14611 : : switch (pattern1712 (
14612 : : E_DImode))
14613 : : {
14614 : : case 0:
14615 : : if (!(
14616 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14617 : : (TARGET_AVX512F) &&
14618 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14619 : : (Pmode == DImode)))
14620 : : return -1;
14621 : : *pnum_clobbers = 1;
14622 : : return 9915; /* *avx512f_scattersiv16sf */
14623 : :
14624 : : case 1:
14625 : : if (!(
14626 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14627 : : (TARGET_AVX512F) &&
14628 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14629 : : (Pmode == DImode)))
14630 : : return -1;
14631 : : *pnum_clobbers = 1;
14632 : : return 9939; /* *avx512f_scatterdiv16sf */
14633 : :
14634 : : default:
14635 : : return -1;
14636 : : }
14637 : :
14638 : : default:
14639 : : return -1;
14640 : : }
14641 : :
14642 : : case E_V8DImode:
14643 : : switch (pattern1608 (x1,
14644 : : E_V8DImode))
14645 : : {
14646 : : case 0:
14647 : : if (!(
14648 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14649 : : (TARGET_AVX512F) &&
14650 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14651 : : (Pmode == SImode)))
14652 : : return -1;
14653 : : *pnum_clobbers = 1;
14654 : : return 9904; /* *avx512f_scattersiv8di */
14655 : :
14656 : : case 1:
14657 : : if (!(
14658 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14659 : : (TARGET_AVX512F) &&
14660 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14661 : : (Pmode == SImode)))
14662 : : return -1;
14663 : : *pnum_clobbers = 1;
14664 : : return 9928; /* *avx512f_scatterdiv8di */
14665 : :
14666 : : case 2:
14667 : : if (!(
14668 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14669 : : (TARGET_AVX512F) &&
14670 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14671 : : (Pmode == DImode)))
14672 : : return -1;
14673 : : *pnum_clobbers = 1;
14674 : : return 9916; /* *avx512f_scattersiv8di */
14675 : :
14676 : : case 3:
14677 : : if (!(
14678 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14679 : : (TARGET_AVX512F) &&
14680 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14681 : : (Pmode == DImode)))
14682 : : return -1;
14683 : : *pnum_clobbers = 1;
14684 : : return 9940; /* *avx512f_scatterdiv8di */
14685 : :
14686 : : default:
14687 : : return -1;
14688 : : }
14689 : :
14690 : : case E_V8DFmode:
14691 : : switch (pattern1608 (x1,
14692 : : E_V8DFmode))
14693 : : {
14694 : : case 0:
14695 : : if (!(
14696 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14697 : : (TARGET_AVX512F) &&
14698 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14699 : : (Pmode == SImode)))
14700 : : return -1;
14701 : : *pnum_clobbers = 1;
14702 : : return 9905; /* *avx512f_scattersiv8df */
14703 : :
14704 : : case 1:
14705 : : if (!(
14706 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14707 : : (TARGET_AVX512F) &&
14708 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14709 : : (Pmode == SImode)))
14710 : : return -1;
14711 : : *pnum_clobbers = 1;
14712 : : return 9929; /* *avx512f_scatterdiv8df */
14713 : :
14714 : : case 2:
14715 : : if (!(
14716 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14717 : : (TARGET_AVX512F) &&
14718 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14719 : : (Pmode == DImode)))
14720 : : return -1;
14721 : : *pnum_clobbers = 1;
14722 : : return 9917; /* *avx512f_scattersiv8df */
14723 : :
14724 : : case 3:
14725 : : if (!(
14726 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14727 : : (TARGET_AVX512F) &&
14728 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14729 : : (Pmode == DImode)))
14730 : : return -1;
14731 : : *pnum_clobbers = 1;
14732 : : return 9941; /* *avx512f_scatterdiv8df */
14733 : :
14734 : : default:
14735 : : return -1;
14736 : : }
14737 : :
14738 : : case E_V8SImode:
14739 : : switch (pattern1609 (x1,
14740 : : E_V8SImode))
14741 : : {
14742 : : case 0:
14743 : : switch (pattern1750 (
14744 : : E_SImode))
14745 : : {
14746 : : case 0:
14747 : : if (!(
14748 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14749 : : (TARGET_AVX512F) && ((((
14750 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14751 : : (TARGET_AVX512VL) &&
14752 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14753 : : (Pmode == SImode)) &&
14754 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14755 : : (Pmode == SImode)) &&
14756 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14757 : : (TARGET_AVX512VL)) &&
14758 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14759 : : (TARGET_AVX512VL))))
14760 : : return -1;
14761 : : *pnum_clobbers = 1;
14762 : : return 9906; /* *avx512f_scattersiv8si */
14763 : :
14764 : : case 1:
14765 : : if (!(
14766 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14767 : : (TARGET_AVX512F) && (((
14768 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14769 : : (TARGET_AVX512VL) &&
14770 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14771 : : (Pmode == SImode)) &&
14772 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14773 : : (Pmode == SImode)) &&
14774 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14775 : : (TARGET_AVX512VL))))
14776 : : return -1;
14777 : : *pnum_clobbers = 1;
14778 : : return 9930; /* *avx512f_scatterdiv8si */
14779 : :
14780 : : default:
14781 : : return -1;
14782 : : }
14783 : :
14784 : : case 1:
14785 : : switch (pattern1750 (
14786 : : E_DImode))
14787 : : {
14788 : : case 0:
14789 : : if (!(
14790 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14791 : : (TARGET_AVX512F) && ((((
14792 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14793 : : (TARGET_AVX512VL) &&
14794 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14795 : : (Pmode == DImode)) &&
14796 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14797 : : (Pmode == DImode)) &&
14798 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14799 : : (TARGET_AVX512VL)) &&
14800 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14801 : : (TARGET_AVX512VL))))
14802 : : return -1;
14803 : : *pnum_clobbers = 1;
14804 : : return 9918; /* *avx512f_scattersiv8si */
14805 : :
14806 : : case 1:
14807 : : if (!(
14808 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14809 : : (TARGET_AVX512F) && (((
14810 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14811 : : (TARGET_AVX512VL) &&
14812 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14813 : : (Pmode == DImode)) &&
14814 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14815 : : (Pmode == DImode)) &&
14816 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14817 : : (TARGET_AVX512VL))))
14818 : : return -1;
14819 : : *pnum_clobbers = 1;
14820 : : return 9942; /* *avx512f_scatterdiv8si */
14821 : :
14822 : : default:
14823 : : return -1;
14824 : : }
14825 : :
14826 : : default:
14827 : : return -1;
14828 : : }
14829 : :
14830 : : case E_V8SFmode:
14831 : : switch (pattern1609 (x1,
14832 : : E_V8SFmode))
14833 : : {
14834 : : case 0:
14835 : : switch (pattern1751 (
14836 : : E_SImode))
14837 : : {
14838 : : case 0:
14839 : : if (!(
14840 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14841 : : (TARGET_AVX512F) && ((((
14842 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14843 : : (TARGET_AVX512VL) &&
14844 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14845 : : (Pmode == SImode)) &&
14846 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14847 : : (Pmode == SImode)) &&
14848 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14849 : : (TARGET_AVX512VL)) &&
14850 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14851 : : (TARGET_AVX512VL))))
14852 : : return -1;
14853 : : *pnum_clobbers = 1;
14854 : : return 9907; /* *avx512f_scattersiv8sf */
14855 : :
14856 : : case 1:
14857 : : if (!(
14858 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14859 : : (TARGET_AVX512F) && (((
14860 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14861 : : (TARGET_AVX512VL) &&
14862 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14863 : : (Pmode == SImode)) &&
14864 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14865 : : (Pmode == SImode)) &&
14866 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14867 : : (TARGET_AVX512VL))))
14868 : : return -1;
14869 : : *pnum_clobbers = 1;
14870 : : return 9931; /* *avx512f_scatterdiv8sf */
14871 : :
14872 : : default:
14873 : : return -1;
14874 : : }
14875 : :
14876 : : case 1:
14877 : : switch (pattern1751 (
14878 : : E_DImode))
14879 : : {
14880 : : case 0:
14881 : : if (!(
14882 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14883 : : (TARGET_AVX512F) && ((((
14884 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14885 : : (TARGET_AVX512VL) &&
14886 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14887 : : (Pmode == DImode)) &&
14888 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14889 : : (Pmode == DImode)) &&
14890 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14891 : : (TARGET_AVX512VL)) &&
14892 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14893 : : (TARGET_AVX512VL))))
14894 : : return -1;
14895 : : *pnum_clobbers = 1;
14896 : : return 9919; /* *avx512f_scattersiv8sf */
14897 : :
14898 : : case 1:
14899 : : if (!(
14900 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14901 : : (TARGET_AVX512F) && (((
14902 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14903 : : (TARGET_AVX512VL) &&
14904 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14905 : : (Pmode == DImode)) &&
14906 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14907 : : (Pmode == DImode)) &&
14908 : : #line 988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14909 : : (TARGET_AVX512VL))))
14910 : : return -1;
14911 : : *pnum_clobbers = 1;
14912 : : return 9943; /* *avx512f_scatterdiv8sf */
14913 : :
14914 : : default:
14915 : : return -1;
14916 : : }
14917 : :
14918 : : default:
14919 : : return -1;
14920 : : }
14921 : :
14922 : : case E_V4DImode:
14923 : : switch (pattern1611 (x1,
14924 : : E_V4DImode))
14925 : : {
14926 : : case 0:
14927 : : if (!(
14928 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14929 : : (TARGET_AVX512F) && ((((
14930 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14931 : : (TARGET_AVX512VL) &&
14932 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14933 : : (Pmode == SImode)) &&
14934 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14935 : : (Pmode == SImode)) &&
14936 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14937 : : (TARGET_AVX512VL)) &&
14938 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14939 : : (TARGET_AVX512VL))))
14940 : : return -1;
14941 : : *pnum_clobbers = 1;
14942 : : return 9908; /* *avx512f_scattersiv4di */
14943 : :
14944 : : case 1:
14945 : : if (!(
14946 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14947 : : (TARGET_AVX512F) && (((
14948 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14949 : : (TARGET_AVX512VL) &&
14950 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14951 : : (Pmode == SImode)) &&
14952 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14953 : : (Pmode == SImode)) &&
14954 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14955 : : (TARGET_AVX512VL))))
14956 : : return -1;
14957 : : *pnum_clobbers = 1;
14958 : : return 9932; /* *avx512f_scatterdiv4di */
14959 : :
14960 : : case 2:
14961 : : if (!(
14962 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14963 : : (TARGET_AVX512F) && ((((
14964 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14965 : : (TARGET_AVX512VL) &&
14966 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14967 : : (Pmode == DImode)) &&
14968 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14969 : : (Pmode == DImode)) &&
14970 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14971 : : (TARGET_AVX512VL)) &&
14972 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14973 : : (TARGET_AVX512VL))))
14974 : : return -1;
14975 : : *pnum_clobbers = 1;
14976 : : return 9920; /* *avx512f_scattersiv4di */
14977 : :
14978 : : case 3:
14979 : : if (!(
14980 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14981 : : (TARGET_AVX512F) && (((
14982 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14983 : : (TARGET_AVX512VL) &&
14984 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14985 : : (Pmode == DImode)) &&
14986 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14987 : : (Pmode == DImode)) &&
14988 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14989 : : (TARGET_AVX512VL))))
14990 : : return -1;
14991 : : *pnum_clobbers = 1;
14992 : : return 9944; /* *avx512f_scatterdiv4di */
14993 : :
14994 : : default:
14995 : : return -1;
14996 : : }
14997 : :
14998 : : case E_V4DFmode:
14999 : : switch (pattern1611 (x1,
15000 : : E_V4DFmode))
15001 : : {
15002 : : case 0:
15003 : : if (!(
15004 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15005 : : (TARGET_AVX512F) && ((((
15006 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15007 : : (TARGET_AVX512VL) &&
15008 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15009 : : (Pmode == SImode)) &&
15010 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15011 : : (Pmode == SImode)) &&
15012 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15013 : : (TARGET_AVX512VL)) &&
15014 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15015 : : (TARGET_AVX512VL))))
15016 : : return -1;
15017 : : *pnum_clobbers = 1;
15018 : : return 9909; /* *avx512f_scattersiv4df */
15019 : :
15020 : : case 1:
15021 : : if (!(
15022 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15023 : : (TARGET_AVX512F) && (((
15024 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15025 : : (TARGET_AVX512VL) &&
15026 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15027 : : (Pmode == SImode)) &&
15028 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15029 : : (Pmode == SImode)) &&
15030 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15031 : : (TARGET_AVX512VL))))
15032 : : return -1;
15033 : : *pnum_clobbers = 1;
15034 : : return 9933; /* *avx512f_scatterdiv4df */
15035 : :
15036 : : case 2:
15037 : : if (!(
15038 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15039 : : (TARGET_AVX512F) && ((((
15040 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15041 : : (TARGET_AVX512VL) &&
15042 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15043 : : (Pmode == DImode)) &&
15044 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15045 : : (Pmode == DImode)) &&
15046 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15047 : : (TARGET_AVX512VL)) &&
15048 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15049 : : (TARGET_AVX512VL))))
15050 : : return -1;
15051 : : *pnum_clobbers = 1;
15052 : : return 9921; /* *avx512f_scattersiv4df */
15053 : :
15054 : : case 3:
15055 : : if (!(
15056 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15057 : : (TARGET_AVX512F) && (((
15058 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15059 : : (TARGET_AVX512VL) &&
15060 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15061 : : (Pmode == DImode)) &&
15062 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15063 : : (Pmode == DImode)) &&
15064 : : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15065 : : (TARGET_AVX512VL))))
15066 : : return -1;
15067 : : *pnum_clobbers = 1;
15068 : : return 9945; /* *avx512f_scatterdiv4df */
15069 : :
15070 : : default:
15071 : : return -1;
15072 : : }
15073 : :
15074 : : case E_V4SImode:
15075 : : switch (pattern1613 (x1,
15076 : : E_V4SImode))
15077 : : {
15078 : : case 0:
15079 : : if (!(
15080 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15081 : : (TARGET_AVX512F) && ((((
15082 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15083 : : (TARGET_AVX512VL) &&
15084 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15085 : : (Pmode == SImode)) &&
15086 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15087 : : (Pmode == SImode)) &&
15088 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15089 : : (TARGET_AVX512VL)) &&
15090 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15091 : : (TARGET_AVX512VL))))
15092 : : return -1;
15093 : : *pnum_clobbers = 1;
15094 : : return 9910; /* *avx512f_scattersiv4si */
15095 : :
15096 : : case 1:
15097 : : if (!(
15098 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15099 : : (TARGET_AVX512F) && (((
15100 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15101 : : (TARGET_AVX512VL) &&
15102 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15103 : : (Pmode == SImode)) &&
15104 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15105 : : (Pmode == SImode)) &&
15106 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15107 : : (TARGET_AVX512VL))))
15108 : : return -1;
15109 : : *pnum_clobbers = 1;
15110 : : return 9934; /* *avx512f_scatterdiv4si */
15111 : :
15112 : : case 2:
15113 : : if (!(
15114 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15115 : : (TARGET_AVX512F) && ((((
15116 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15117 : : (TARGET_AVX512VL) &&
15118 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15119 : : (Pmode == DImode)) &&
15120 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15121 : : (Pmode == DImode)) &&
15122 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15123 : : (TARGET_AVX512VL)) &&
15124 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15125 : : (TARGET_AVX512VL))))
15126 : : return -1;
15127 : : *pnum_clobbers = 1;
15128 : : return 9922; /* *avx512f_scattersiv4si */
15129 : :
15130 : : case 3:
15131 : : if (!(
15132 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15133 : : (TARGET_AVX512F) && (((
15134 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15135 : : (TARGET_AVX512VL) &&
15136 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15137 : : (Pmode == DImode)) &&
15138 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15139 : : (Pmode == DImode)) &&
15140 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15141 : : (TARGET_AVX512VL))))
15142 : : return -1;
15143 : : *pnum_clobbers = 1;
15144 : : return 9946; /* *avx512f_scatterdiv4si */
15145 : :
15146 : : default:
15147 : : return -1;
15148 : : }
15149 : :
15150 : : case E_V4SFmode:
15151 : : switch (pattern1613 (x1,
15152 : : E_V4SFmode))
15153 : : {
15154 : : case 0:
15155 : : if (!(
15156 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15157 : : (TARGET_AVX512F) && ((((
15158 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15159 : : (TARGET_AVX512VL) &&
15160 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15161 : : (Pmode == SImode)) &&
15162 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15163 : : (Pmode == SImode)) &&
15164 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15165 : : (TARGET_AVX512VL)) &&
15166 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15167 : : (TARGET_AVX512VL))))
15168 : : return -1;
15169 : : *pnum_clobbers = 1;
15170 : : return 9911; /* *avx512f_scattersiv4sf */
15171 : :
15172 : : case 1:
15173 : : if (!(
15174 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15175 : : (TARGET_AVX512F) && (((
15176 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15177 : : (TARGET_AVX512VL) &&
15178 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15179 : : (Pmode == SImode)) &&
15180 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15181 : : (Pmode == SImode)) &&
15182 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15183 : : (TARGET_AVX512VL))))
15184 : : return -1;
15185 : : *pnum_clobbers = 1;
15186 : : return 9935; /* *avx512f_scatterdiv4sf */
15187 : :
15188 : : case 2:
15189 : : if (!(
15190 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15191 : : (TARGET_AVX512F) && ((((
15192 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15193 : : (TARGET_AVX512VL) &&
15194 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15195 : : (Pmode == DImode)) &&
15196 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15197 : : (Pmode == DImode)) &&
15198 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15199 : : (TARGET_AVX512VL)) &&
15200 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15201 : : (TARGET_AVX512VL))))
15202 : : return -1;
15203 : : *pnum_clobbers = 1;
15204 : : return 9923; /* *avx512f_scattersiv4sf */
15205 : :
15206 : : case 3:
15207 : : if (!(
15208 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15209 : : (TARGET_AVX512F) && (((
15210 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15211 : : (TARGET_AVX512VL) &&
15212 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15213 : : (Pmode == DImode)) &&
15214 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15215 : : (Pmode == DImode)) &&
15216 : : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15217 : : (TARGET_AVX512VL))))
15218 : : return -1;
15219 : : *pnum_clobbers = 1;
15220 : : return 9947; /* *avx512f_scatterdiv4sf */
15221 : :
15222 : : default:
15223 : : return -1;
15224 : : }
15225 : :
15226 : : case E_V2DImode:
15227 : : switch (pattern1613 (x1,
15228 : : E_V2DImode))
15229 : : {
15230 : : case 0:
15231 : : if (!(
15232 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15233 : : (TARGET_AVX512F) && ((((
15234 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15235 : : (TARGET_AVX512VL) &&
15236 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15237 : : (Pmode == SImode)) &&
15238 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15239 : : (Pmode == SImode)) &&
15240 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15241 : : (TARGET_AVX512VL)) &&
15242 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15243 : : (TARGET_AVX512VL))))
15244 : : return -1;
15245 : : *pnum_clobbers = 1;
15246 : : return 9912; /* *avx512f_scattersiv2di */
15247 : :
15248 : : case 1:
15249 : : if (!(
15250 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15251 : : (TARGET_AVX512F) && (((
15252 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15253 : : (TARGET_AVX512VL) &&
15254 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15255 : : (Pmode == SImode)) &&
15256 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15257 : : (Pmode == SImode)) &&
15258 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15259 : : (TARGET_AVX512VL))))
15260 : : return -1;
15261 : : *pnum_clobbers = 1;
15262 : : return 9936; /* *avx512f_scatterdiv2di */
15263 : :
15264 : : case 2:
15265 : : if (!(
15266 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15267 : : (TARGET_AVX512F) && ((((
15268 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15269 : : (TARGET_AVX512VL) &&
15270 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15271 : : (Pmode == DImode)) &&
15272 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15273 : : (Pmode == DImode)) &&
15274 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15275 : : (TARGET_AVX512VL)) &&
15276 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15277 : : (TARGET_AVX512VL))))
15278 : : return -1;
15279 : : *pnum_clobbers = 1;
15280 : : return 9924; /* *avx512f_scattersiv2di */
15281 : :
15282 : : case 3:
15283 : : if (!(
15284 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15285 : : (TARGET_AVX512F) && (((
15286 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15287 : : (TARGET_AVX512VL) &&
15288 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15289 : : (Pmode == DImode)) &&
15290 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15291 : : (Pmode == DImode)) &&
15292 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15293 : : (TARGET_AVX512VL))))
15294 : : return -1;
15295 : : *pnum_clobbers = 1;
15296 : : return 9948; /* *avx512f_scatterdiv2di */
15297 : :
15298 : : default:
15299 : : return -1;
15300 : : }
15301 : :
15302 : : case E_V2DFmode:
15303 : : switch (pattern1613 (x1,
15304 : : E_V2DFmode))
15305 : : {
15306 : : case 0:
15307 : : if (!(
15308 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15309 : : (TARGET_AVX512F) && ((((
15310 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15311 : : (TARGET_AVX512VL) &&
15312 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15313 : : (Pmode == SImode)) &&
15314 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15315 : : (Pmode == SImode)) &&
15316 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15317 : : (TARGET_AVX512VL)) &&
15318 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15319 : : (TARGET_AVX512VL))))
15320 : : return -1;
15321 : : *pnum_clobbers = 1;
15322 : : return 9913; /* *avx512f_scattersiv2df */
15323 : :
15324 : : case 1:
15325 : : if (!(
15326 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15327 : : (TARGET_AVX512F) && (((
15328 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15329 : : (TARGET_AVX512VL) &&
15330 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15331 : : (Pmode == SImode)) &&
15332 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15333 : : (Pmode == SImode)) &&
15334 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15335 : : (TARGET_AVX512VL))))
15336 : : return -1;
15337 : : *pnum_clobbers = 1;
15338 : : return 9937; /* *avx512f_scatterdiv2df */
15339 : :
15340 : : case 2:
15341 : : if (!(
15342 : : #line 30009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15343 : : (TARGET_AVX512F) && ((((
15344 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15345 : : (TARGET_AVX512VL) &&
15346 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15347 : : (Pmode == DImode)) &&
15348 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15349 : : (Pmode == DImode)) &&
15350 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15351 : : (TARGET_AVX512VL)) &&
15352 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15353 : : (TARGET_AVX512VL))))
15354 : : return -1;
15355 : : *pnum_clobbers = 1;
15356 : : return 9925; /* *avx512f_scattersiv2df */
15357 : :
15358 : : case 3:
15359 : : if (!(
15360 : : #line 30049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15361 : : (TARGET_AVX512F) && (((
15362 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15363 : : (TARGET_AVX512VL) &&
15364 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15365 : : (Pmode == DImode)) &&
15366 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15367 : : (Pmode == DImode)) &&
15368 : : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15369 : : (TARGET_AVX512VL))))
15370 : : return -1;
15371 : : *pnum_clobbers = 1;
15372 : : return 9949; /* *avx512f_scatterdiv2df */
15373 : :
15374 : : default:
15375 : : return -1;
15376 : : }
15377 : :
15378 : : default:
15379 : : return -1;
15380 : : }
15381 : : }
15382 : :
15383 : : int
15384 : : recog_255 (rtx x1 ATTRIBUTE_UNUSED,
15385 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15386 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15387 : : {
15388 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15389 : : rtx x2, x3, x4, x5, x6;
15390 : : int res ATTRIBUTE_UNUSED;
15391 : : x2 = XEXP (x1, 0);
15392 : : operands[0] = x2;
15393 : : x3 = XEXP (x1, 1);
15394 : : x4 = XVECEXP (x3, 0, 0);
15395 : : operands[1] = x4;
15396 : : x5 = XVECEXP (x3, 0, 1);
15397 : : operands[2] = x5;
15398 : : x6 = XVECEXP (x3, 0, 2);
15399 : : operands[3] = x6;
15400 : : if (!const_0_to_255_operand (operands[3], E_SImode))
15401 : : return -1;
15402 : : switch (GET_MODE (operands[0]))
15403 : : {
15404 : : case E_V32HFmode:
15405 : : if (pattern158 (x3,
15406 : : E_V32HFmode) != 0
15407 : : || !(
15408 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15409 : : (TARGET_AVX10_2) &&
15410 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15411 : : (TARGET_AVX512FP16)))
15412 : : return -1;
15413 : : return 10968; /* avx10_2_minmaxpv32hf */
15414 : :
15415 : : case E_V16HFmode:
15416 : : if (pattern158 (x3,
15417 : : E_V16HFmode) != 0
15418 : : || !(
15419 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15420 : : (TARGET_AVX10_2) &&
15421 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15422 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15423 : : return -1;
15424 : : return 10972; /* avx10_2_minmaxpv16hf */
15425 : :
15426 : : case E_V8HFmode:
15427 : : if (pattern158 (x3,
15428 : : E_V8HFmode) != 0
15429 : : || !(
15430 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15431 : : (TARGET_AVX10_2) &&
15432 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15433 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15434 : : return -1;
15435 : : return 10976; /* avx10_2_minmaxpv8hf */
15436 : :
15437 : : case E_V16SFmode:
15438 : : if (pattern158 (x3,
15439 : : E_V16SFmode) != 0
15440 : : || !
15441 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15442 : : (TARGET_AVX10_2))
15443 : : return -1;
15444 : : return 10980; /* avx10_2_minmaxpv16sf */
15445 : :
15446 : : case E_V8SFmode:
15447 : : if (pattern158 (x3,
15448 : : E_V8SFmode) != 0
15449 : : || !(
15450 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15451 : : (TARGET_AVX10_2) &&
15452 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15453 : : (TARGET_AVX512VL)))
15454 : : return -1;
15455 : : return 10984; /* avx10_2_minmaxpv8sf */
15456 : :
15457 : : case E_V4SFmode:
15458 : : if (pattern158 (x3,
15459 : : E_V4SFmode) != 0
15460 : : || !(
15461 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15462 : : (TARGET_AVX10_2) &&
15463 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15464 : : (TARGET_AVX512VL)))
15465 : : return -1;
15466 : : return 10988; /* avx10_2_minmaxpv4sf */
15467 : :
15468 : : case E_V8DFmode:
15469 : : if (pattern158 (x3,
15470 : : E_V8DFmode) != 0
15471 : : || !
15472 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15473 : : (TARGET_AVX10_2))
15474 : : return -1;
15475 : : return 10992; /* avx10_2_minmaxpv8df */
15476 : :
15477 : : case E_V4DFmode:
15478 : : if (pattern158 (x3,
15479 : : E_V4DFmode) != 0
15480 : : || !(
15481 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15482 : : (TARGET_AVX10_2) &&
15483 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15484 : : (TARGET_AVX512VL)))
15485 : : return -1;
15486 : : return 10996; /* avx10_2_minmaxpv4df */
15487 : :
15488 : : case E_V2DFmode:
15489 : : if (pattern158 (x3,
15490 : : E_V2DFmode) != 0
15491 : : || !(
15492 : : #line 33062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15493 : : (TARGET_AVX10_2) &&
15494 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15495 : : (TARGET_AVX512VL)))
15496 : : return -1;
15497 : : return 11000; /* avx10_2_minmaxpv2df */
15498 : :
15499 : : default:
15500 : : return -1;
15501 : : }
15502 : : }
15503 : :
15504 : : int
15505 : : recog_260 (rtx x1 ATTRIBUTE_UNUSED,
15506 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15507 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15508 : : {
15509 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15510 : : int res ATTRIBUTE_UNUSED;
15511 : : switch (pattern182 (x1))
15512 : : {
15513 : : case 0:
15514 : : if (!
15515 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15516 : : (TARGET_AVX512VBMI2))
15517 : : return -1;
15518 : : return 10283; /* vpshrdv_v32hi */
15519 : :
15520 : : case 1:
15521 : : if (!
15522 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15523 : : (TARGET_AVX512VBMI2))
15524 : : return -1;
15525 : : return 10284; /* vpshrdv_v16si */
15526 : :
15527 : : case 2:
15528 : : if (!
15529 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15530 : : (TARGET_AVX512VBMI2))
15531 : : return -1;
15532 : : return 10285; /* vpshrdv_v8di */
15533 : :
15534 : : case 3:
15535 : : if (!(
15536 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15537 : : (TARGET_AVX512VBMI2) &&
15538 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15539 : : (TARGET_AVX512VL)))
15540 : : return -1;
15541 : : return 10286; /* vpshrdv_v16hi */
15542 : :
15543 : : case 4:
15544 : : if (!(
15545 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15546 : : (TARGET_AVX512VBMI2) &&
15547 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15548 : : (TARGET_AVX512VL)))
15549 : : return -1;
15550 : : return 10287; /* vpshrdv_v8si */
15551 : :
15552 : : case 5:
15553 : : if (!(
15554 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15555 : : (TARGET_AVX512VBMI2) &&
15556 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15557 : : (TARGET_AVX512VL)))
15558 : : return -1;
15559 : : return 10288; /* vpshrdv_v4di */
15560 : :
15561 : : case 6:
15562 : : if (!(
15563 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15564 : : (TARGET_AVX512VBMI2) &&
15565 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15566 : : (TARGET_AVX512VL)))
15567 : : return -1;
15568 : : return 10289; /* vpshrdv_v8hi */
15569 : :
15570 : : case 7:
15571 : : if (!(
15572 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15573 : : (TARGET_AVX512VBMI2) &&
15574 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15575 : : (TARGET_AVX512VL)))
15576 : : return -1;
15577 : : return 10290; /* vpshrdv_v4si */
15578 : :
15579 : : case 8:
15580 : : if (!(
15581 : : #line 30828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15582 : : (TARGET_AVX512VBMI2) &&
15583 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15584 : : (TARGET_AVX512VL)))
15585 : : return -1;
15586 : : return 10291; /* vpshrdv_v2di */
15587 : :
15588 : : default:
15589 : : return -1;
15590 : : }
15591 : : }
15592 : :
15593 : : int
15594 : : recog_266 (rtx x1 ATTRIBUTE_UNUSED,
15595 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15596 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15597 : : {
15598 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15599 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15600 : : rtx x10, x11, x12;
15601 : : int res ATTRIBUTE_UNUSED;
15602 : : x2 = XEXP (x1, 0);
15603 : : operands[0] = x2;
15604 : : x3 = XEXP (x1, 1);
15605 : : switch (XINT (x3, 1))
15606 : : {
15607 : : case 165:
15608 : : x4 = XVECEXP (x3, 0, 0);
15609 : : operands[1] = x4;
15610 : : x5 = XVECEXP (x3, 0, 1);
15611 : : operands[2] = x5;
15612 : : x6 = XVECEXP (x3, 0, 2);
15613 : : operands[3] = x6;
15614 : : x7 = XVECEXP (x3, 0, 3);
15615 : : operands[4] = x7;
15616 : : if (!const_0_to_255_operand (operands[4], E_SImode))
15617 : : return -1;
15618 : : switch (GET_MODE (operands[0]))
15619 : : {
15620 : : case E_V16SImode:
15621 : : if (pattern1140 (x3,
15622 : : E_V16SImode) != 0)
15623 : : return -1;
15624 : : if (
15625 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15626 : : (TARGET_AVX512F))
15627 : : return 5470; /* avx512f_vternlogv16si */
15628 : : if (!(
15629 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15630 : : ((64 == 64 || TARGET_AVX512VL
15631 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15632 : : /* Disallow embeded broadcast for vector HFmode since
15633 : : it's not real AVX512FP16 instruction. */
15634 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16SImode)) >= 4
15635 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15636 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15637 : : (TARGET_AVX512F)))
15638 : : return -1;
15639 : : return 5488; /* *avx512f_vternlogv16si_all */
15640 : :
15641 : : case E_V8SImode:
15642 : : if (pattern1140 (x3,
15643 : : E_V8SImode) != 0)
15644 : : return -1;
15645 : : if ((
15646 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15647 : : (TARGET_AVX512F) &&
15648 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15649 : : (TARGET_AVX512VL)))
15650 : : return 5472; /* avx512vl_vternlogv8si */
15651 : : if (!(
15652 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15653 : : ((32 == 64 || TARGET_AVX512VL
15654 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15655 : : /* Disallow embeded broadcast for vector HFmode since
15656 : : it's not real AVX512FP16 instruction. */
15657 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8SImode)) >= 4
15658 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15659 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15660 : : (TARGET_AVX)))
15661 : : return -1;
15662 : : return 5489; /* *avx512vl_vternlogv8si_all */
15663 : :
15664 : : case E_V4SImode:
15665 : : if (pattern1140 (x3,
15666 : : E_V4SImode) != 0)
15667 : : return -1;
15668 : : if ((
15669 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15670 : : (TARGET_AVX512F) &&
15671 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15672 : : (TARGET_AVX512VL)))
15673 : : return 5474; /* avx512vl_vternlogv4si */
15674 : : if (!
15675 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15676 : : ((16 == 64 || TARGET_AVX512VL
15677 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15678 : : /* Disallow embeded broadcast for vector HFmode since
15679 : : it's not real AVX512FP16 instruction. */
15680 : : && (GET_MODE_SIZE (GET_MODE_INNER (V4SImode)) >= 4
15681 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15682 : : return -1;
15683 : : return 5490; /* *avx512vl_vternlogv4si_all */
15684 : :
15685 : : case E_V8DImode:
15686 : : if (pattern1140 (x3,
15687 : : E_V8DImode) != 0)
15688 : : return -1;
15689 : : if (
15690 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15691 : : (TARGET_AVX512F))
15692 : : return 5476; /* avx512f_vternlogv8di */
15693 : : if (!(
15694 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15695 : : ((64 == 64 || TARGET_AVX512VL
15696 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15697 : : /* Disallow embeded broadcast for vector HFmode since
15698 : : it's not real AVX512FP16 instruction. */
15699 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8DImode)) >= 4
15700 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15701 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15702 : : (TARGET_AVX512F)))
15703 : : return -1;
15704 : : return 5491; /* *avx512f_vternlogv8di_all */
15705 : :
15706 : : case E_V4DImode:
15707 : : if (pattern1140 (x3,
15708 : : E_V4DImode) != 0)
15709 : : return -1;
15710 : : if ((
15711 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15712 : : (TARGET_AVX512F) &&
15713 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15714 : : (TARGET_AVX512VL)))
15715 : : return 5478; /* avx512vl_vternlogv4di */
15716 : : if (!(
15717 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15718 : : ((32 == 64 || TARGET_AVX512VL
15719 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15720 : : /* Disallow embeded broadcast for vector HFmode since
15721 : : it's not real AVX512FP16 instruction. */
15722 : : && (GET_MODE_SIZE (GET_MODE_INNER (V4DImode)) >= 4
15723 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15724 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15725 : : (TARGET_AVX)))
15726 : : return -1;
15727 : : return 5492; /* *avx512vl_vternlogv4di_all */
15728 : :
15729 : : case E_V2DImode:
15730 : : if (pattern1140 (x3,
15731 : : E_V2DImode) != 0)
15732 : : return -1;
15733 : : if ((
15734 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15735 : : (TARGET_AVX512F) &&
15736 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15737 : : (TARGET_AVX512VL)))
15738 : : return 5480; /* avx512vl_vternlogv2di */
15739 : : if (!
15740 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15741 : : ((16 == 64 || TARGET_AVX512VL
15742 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15743 : : /* Disallow embeded broadcast for vector HFmode since
15744 : : it's not real AVX512FP16 instruction. */
15745 : : && (GET_MODE_SIZE (GET_MODE_INNER (V2DImode)) >= 4
15746 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15747 : : return -1;
15748 : : return 5493; /* *avx512vl_vternlogv2di_all */
15749 : :
15750 : : case E_V64QImode:
15751 : : if (pattern1140 (x3,
15752 : : E_V64QImode) != 0
15753 : : || !(
15754 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15755 : : ((64 == 64 || TARGET_AVX512VL
15756 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15757 : : /* Disallow embeded broadcast for vector HFmode since
15758 : : it's not real AVX512FP16 instruction. */
15759 : : && (GET_MODE_SIZE (GET_MODE_INNER (V64QImode)) >= 4
15760 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15761 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15762 : : (TARGET_AVX512F)))
15763 : : return -1;
15764 : : return 5482; /* *avx512bw_vternlogv64qi_all */
15765 : :
15766 : : case E_V32QImode:
15767 : : if (pattern1140 (x3,
15768 : : E_V32QImode) != 0
15769 : : || !(
15770 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15771 : : ((32 == 64 || TARGET_AVX512VL
15772 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15773 : : /* Disallow embeded broadcast for vector HFmode since
15774 : : it's not real AVX512FP16 instruction. */
15775 : : && (GET_MODE_SIZE (GET_MODE_INNER (V32QImode)) >= 4
15776 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15777 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15778 : : (TARGET_AVX)))
15779 : : return -1;
15780 : : return 5483; /* *avx512vl_vternlogv32qi_all */
15781 : :
15782 : : case E_V16QImode:
15783 : : if (pattern1140 (x3,
15784 : : E_V16QImode) != 0
15785 : : || !
15786 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15787 : : ((16 == 64 || TARGET_AVX512VL
15788 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15789 : : /* Disallow embeded broadcast for vector HFmode since
15790 : : it's not real AVX512FP16 instruction. */
15791 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16QImode)) >= 4
15792 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15793 : : return -1;
15794 : : return 5484; /* *avx512vl_vternlogv16qi_all */
15795 : :
15796 : : case E_V32HImode:
15797 : : if (pattern1140 (x3,
15798 : : E_V32HImode) != 0
15799 : : || !(
15800 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15801 : : ((64 == 64 || TARGET_AVX512VL
15802 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15803 : : /* Disallow embeded broadcast for vector HFmode since
15804 : : it's not real AVX512FP16 instruction. */
15805 : : && (GET_MODE_SIZE (GET_MODE_INNER (V32HImode)) >= 4
15806 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15807 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15808 : : (TARGET_AVX512F)))
15809 : : return -1;
15810 : : return 5485; /* *avx512bw_vternlogv32hi_all */
15811 : :
15812 : : case E_V16HImode:
15813 : : if (pattern1140 (x3,
15814 : : E_V16HImode) != 0
15815 : : || !(
15816 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15817 : : ((32 == 64 || TARGET_AVX512VL
15818 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15819 : : /* Disallow embeded broadcast for vector HFmode since
15820 : : it's not real AVX512FP16 instruction. */
15821 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16HImode)) >= 4
15822 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15823 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15824 : : (TARGET_AVX)))
15825 : : return -1;
15826 : : return 5486; /* *avx512vl_vternlogv16hi_all */
15827 : :
15828 : : case E_V8HImode:
15829 : : if (pattern1140 (x3,
15830 : : E_V8HImode) != 0
15831 : : || !
15832 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15833 : : ((16 == 64 || TARGET_AVX512VL
15834 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15835 : : /* Disallow embeded broadcast for vector HFmode since
15836 : : it's not real AVX512FP16 instruction. */
15837 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8HImode)) >= 4
15838 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15839 : : return -1;
15840 : : return 5487; /* *avx512vl_vternlogv8hi_all */
15841 : :
15842 : : case E_V32HFmode:
15843 : : if (pattern1140 (x3,
15844 : : E_V32HFmode) != 0
15845 : : || !(
15846 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15847 : : ((64 == 64 || TARGET_AVX512VL
15848 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15849 : : /* Disallow embeded broadcast for vector HFmode since
15850 : : it's not real AVX512FP16 instruction. */
15851 : : && (GET_MODE_SIZE (GET_MODE_INNER (V32HFmode)) >= 4
15852 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15853 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15854 : : (TARGET_AVX512F)))
15855 : : return -1;
15856 : : return 5494; /* *avx512bw_vternlogv32hf_all */
15857 : :
15858 : : case E_V16HFmode:
15859 : : if (pattern1140 (x3,
15860 : : E_V16HFmode) != 0
15861 : : || !(
15862 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15863 : : ((32 == 64 || TARGET_AVX512VL
15864 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15865 : : /* Disallow embeded broadcast for vector HFmode since
15866 : : it's not real AVX512FP16 instruction. */
15867 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16HFmode)) >= 4
15868 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15869 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15870 : : (TARGET_AVX)))
15871 : : return -1;
15872 : : return 5495; /* *avx512vl_vternlogv16hf_all */
15873 : :
15874 : : case E_V8HFmode:
15875 : : if (pattern1140 (x3,
15876 : : E_V8HFmode) != 0
15877 : : || !
15878 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15879 : : ((16 == 64 || TARGET_AVX512VL
15880 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15881 : : /* Disallow embeded broadcast for vector HFmode since
15882 : : it's not real AVX512FP16 instruction. */
15883 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8HFmode)) >= 4
15884 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15885 : : return -1;
15886 : : return 5496; /* *avx512fp16_vternlogv8hf_all */
15887 : :
15888 : : case E_V32BFmode:
15889 : : if (pattern1140 (x3,
15890 : : E_V32BFmode) != 0
15891 : : || !(
15892 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15893 : : ((64 == 64 || TARGET_AVX512VL
15894 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15895 : : /* Disallow embeded broadcast for vector HFmode since
15896 : : it's not real AVX512FP16 instruction. */
15897 : : && (GET_MODE_SIZE (GET_MODE_INNER (V32BFmode)) >= 4
15898 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15899 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15900 : : (TARGET_AVX512F)))
15901 : : return -1;
15902 : : return 5497; /* *avx512bw_vternlogv32bf_all */
15903 : :
15904 : : case E_V16BFmode:
15905 : : if (pattern1140 (x3,
15906 : : E_V16BFmode) != 0
15907 : : || !(
15908 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15909 : : ((32 == 64 || TARGET_AVX512VL
15910 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15911 : : /* Disallow embeded broadcast for vector HFmode since
15912 : : it's not real AVX512FP16 instruction. */
15913 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16BFmode)) >= 4
15914 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15915 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15916 : : (TARGET_AVX)))
15917 : : return -1;
15918 : : return 5498; /* *avx512vl_vternlogv16bf_all */
15919 : :
15920 : : case E_V8BFmode:
15921 : : if (pattern1140 (x3,
15922 : : E_V8BFmode) != 0
15923 : : || !
15924 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15925 : : ((16 == 64 || TARGET_AVX512VL
15926 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15927 : : /* Disallow embeded broadcast for vector HFmode since
15928 : : it's not real AVX512FP16 instruction. */
15929 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8BFmode)) >= 4
15930 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15931 : : return -1;
15932 : : return 5499; /* *avx512vl_vternlogv8bf_all */
15933 : :
15934 : : case E_V16SFmode:
15935 : : if (pattern1140 (x3,
15936 : : E_V16SFmode) != 0
15937 : : || !(
15938 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15939 : : ((64 == 64 || TARGET_AVX512VL
15940 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15941 : : /* Disallow embeded broadcast for vector HFmode since
15942 : : it's not real AVX512FP16 instruction. */
15943 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16SFmode)) >= 4
15944 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15945 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15946 : : (TARGET_AVX512F)))
15947 : : return -1;
15948 : : return 5500; /* *avx512f_vternlogv16sf_all */
15949 : :
15950 : : case E_V8SFmode:
15951 : : if (pattern1140 (x3,
15952 : : E_V8SFmode) != 0
15953 : : || !(
15954 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15955 : : ((32 == 64 || TARGET_AVX512VL
15956 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15957 : : /* Disallow embeded broadcast for vector HFmode since
15958 : : it's not real AVX512FP16 instruction. */
15959 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8SFmode)) >= 4
15960 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15961 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15962 : : (TARGET_AVX)))
15963 : : return -1;
15964 : : return 5501; /* *avx512vl_vternlogv8sf_all */
15965 : :
15966 : : case E_V4SFmode:
15967 : : if (pattern1140 (x3,
15968 : : E_V4SFmode) != 0
15969 : : || !
15970 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15971 : : ((16 == 64 || TARGET_AVX512VL
15972 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15973 : : /* Disallow embeded broadcast for vector HFmode since
15974 : : it's not real AVX512FP16 instruction. */
15975 : : && (GET_MODE_SIZE (GET_MODE_INNER (V4SFmode)) >= 4
15976 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15977 : : return -1;
15978 : : return 5502; /* *avx512vl_vternlogv4sf_all */
15979 : :
15980 : : case E_V8DFmode:
15981 : : if (pattern1140 (x3,
15982 : : E_V8DFmode) != 0
15983 : : || !(
15984 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15985 : : ((64 == 64 || TARGET_AVX512VL
15986 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15987 : : /* Disallow embeded broadcast for vector HFmode since
15988 : : it's not real AVX512FP16 instruction. */
15989 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8DFmode)) >= 4
15990 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15991 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15992 : : (TARGET_AVX512F)))
15993 : : return -1;
15994 : : return 5503; /* *avx512f_vternlogv8df_all */
15995 : :
15996 : : case E_V4DFmode:
15997 : : if (pattern1140 (x3,
15998 : : E_V4DFmode) != 0
15999 : : || !(
16000 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16001 : : ((32 == 64 || TARGET_AVX512VL
16002 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16003 : : /* Disallow embeded broadcast for vector HFmode since
16004 : : it's not real AVX512FP16 instruction. */
16005 : : && (GET_MODE_SIZE (GET_MODE_INNER (V4DFmode)) >= 4
16006 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16007 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16008 : : (TARGET_AVX)))
16009 : : return -1;
16010 : : return 5504; /* *avx512vl_vternlogv4df_all */
16011 : :
16012 : : case E_V2DFmode:
16013 : : if (pattern1140 (x3,
16014 : : E_V2DFmode) != 0
16015 : : || !(
16016 : : #line 13938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16017 : : ((16 == 64 || TARGET_AVX512VL
16018 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16019 : : /* Disallow embeded broadcast for vector HFmode since
16020 : : it's not real AVX512FP16 instruction. */
16021 : : && (GET_MODE_SIZE (GET_MODE_INNER (V2DFmode)) >= 4
16022 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16023 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16024 : : (TARGET_SSE2)))
16025 : : return -1;
16026 : : return 5505; /* *avx512vl_vternlogv2df_all */
16027 : :
16028 : : default:
16029 : : return -1;
16030 : : }
16031 : :
16032 : : case 164:
16033 : : x4 = XVECEXP (x3, 0, 0);
16034 : : operands[1] = x4;
16035 : : x5 = XVECEXP (x3, 0, 1);
16036 : : operands[2] = x5;
16037 : : x6 = XVECEXP (x3, 0, 2);
16038 : : operands[3] = x6;
16039 : : x7 = XVECEXP (x3, 0, 3);
16040 : : operands[4] = x7;
16041 : : if (!const_0_to_255_operand (operands[4], E_SImode))
16042 : : return -1;
16043 : : switch (GET_MODE (operands[0]))
16044 : : {
16045 : : case E_V16SFmode:
16046 : : if (pattern1141 (x3,
16047 : : E_V16SImode,
16048 : : E_V16SFmode) != 0
16049 : : || !
16050 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16051 : : (TARGET_AVX512F))
16052 : : return -1;
16053 : : return 7116; /* avx512f_fixupimmv16sf */
16054 : :
16055 : : case E_V8SFmode:
16056 : : if (pattern1141 (x3,
16057 : : E_V8SImode,
16058 : : E_V8SFmode) != 0
16059 : : || !(
16060 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16061 : : (TARGET_AVX512F) &&
16062 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16063 : : (TARGET_AVX512VL)))
16064 : : return -1;
16065 : : return 7120; /* avx512vl_fixupimmv8sf */
16066 : :
16067 : : case E_V4SFmode:
16068 : : if (pattern1141 (x3,
16069 : : E_V4SImode,
16070 : : E_V4SFmode) != 0
16071 : : || !(
16072 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16073 : : (TARGET_AVX512F) &&
16074 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16075 : : (TARGET_AVX512VL)))
16076 : : return -1;
16077 : : return 7124; /* avx512vl_fixupimmv4sf */
16078 : :
16079 : : case E_V8DFmode:
16080 : : if (pattern1141 (x3,
16081 : : E_V8DImode,
16082 : : E_V8DFmode) != 0
16083 : : || !
16084 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16085 : : (TARGET_AVX512F))
16086 : : return -1;
16087 : : return 7128; /* avx512f_fixupimmv8df */
16088 : :
16089 : : case E_V4DFmode:
16090 : : if (pattern1141 (x3,
16091 : : E_V4DImode,
16092 : : E_V4DFmode) != 0
16093 : : || !(
16094 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16095 : : (TARGET_AVX512F) &&
16096 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16097 : : (TARGET_AVX512VL)))
16098 : : return -1;
16099 : : return 7132; /* avx512vl_fixupimmv4df */
16100 : :
16101 : : case E_V2DFmode:
16102 : : if (pattern1141 (x3,
16103 : : E_V2DImode,
16104 : : E_V2DFmode) != 0
16105 : : || !(
16106 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16107 : : (TARGET_AVX512F) &&
16108 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16109 : : (TARGET_AVX512VL)))
16110 : : return -1;
16111 : : return 7136; /* avx512vl_fixupimmv2df */
16112 : :
16113 : : default:
16114 : : return -1;
16115 : : }
16116 : :
16117 : : case 125:
16118 : : if (GET_MODE (x3) != E_V2DImode
16119 : : || !register_operand (operands[0], E_V2DImode))
16120 : : return -1;
16121 : : x4 = XVECEXP (x3, 0, 0);
16122 : : operands[1] = x4;
16123 : : if (!register_operand (operands[1], E_V2DImode))
16124 : : return -1;
16125 : : x5 = XVECEXP (x3, 0, 1);
16126 : : operands[2] = x5;
16127 : : if (!register_operand (operands[2], E_V2DImode))
16128 : : return -1;
16129 : : x6 = XVECEXP (x3, 0, 2);
16130 : : operands[3] = x6;
16131 : : if (!const_0_to_255_operand (operands[3], E_VOIDmode))
16132 : : return -1;
16133 : : x7 = XVECEXP (x3, 0, 3);
16134 : : operands[4] = x7;
16135 : : if (!const_0_to_255_operand (operands[4], E_VOIDmode)
16136 : : || !
16137 : : #line 23763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16138 : : (TARGET_SSE4A))
16139 : : return -1;
16140 : : return 8714; /* sse4a_insertqi */
16141 : :
16142 : : case 146:
16143 : : x4 = XVECEXP (x3, 0, 0);
16144 : : operands[1] = x4;
16145 : : x5 = XVECEXP (x3, 0, 1);
16146 : : operands[2] = x5;
16147 : : x6 = XVECEXP (x3, 0, 2);
16148 : : operands[3] = x6;
16149 : : x7 = XVECEXP (x3, 0, 3);
16150 : : operands[4] = x7;
16151 : : if (!const_0_to_3_operand (operands[4], E_SImode))
16152 : : return -1;
16153 : : switch (GET_MODE (operands[0]))
16154 : : {
16155 : : case E_V8SFmode:
16156 : : if (pattern1142 (x3,
16157 : : E_V8SImode,
16158 : : E_V8SFmode) != 0
16159 : : || !(
16160 : : #line 27485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16161 : : (TARGET_XOP) &&
16162 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16163 : : (TARGET_AVX)))
16164 : : return -1;
16165 : : return 9122; /* xop_vpermil2v8sf3 */
16166 : :
16167 : : case E_V4SFmode:
16168 : : if (pattern1142 (x3,
16169 : : E_V4SImode,
16170 : : E_V4SFmode) != 0
16171 : : || !
16172 : : #line 27485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16173 : : (TARGET_XOP))
16174 : : return -1;
16175 : : return 9123; /* xop_vpermil2v4sf3 */
16176 : :
16177 : : case E_V4DFmode:
16178 : : if (pattern1142 (x3,
16179 : : E_V4DImode,
16180 : : E_V4DFmode) != 0
16181 : : || !(
16182 : : #line 27485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16183 : : (TARGET_XOP) &&
16184 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16185 : : (TARGET_AVX)))
16186 : : return -1;
16187 : : return 9124; /* xop_vpermil2v4df3 */
16188 : :
16189 : : case E_V2DFmode:
16190 : : if (pattern1142 (x3,
16191 : : E_V2DImode,
16192 : : E_V2DFmode) != 0
16193 : : || !(
16194 : : #line 27485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16195 : : (TARGET_XOP) &&
16196 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16197 : : (TARGET_SSE2)))
16198 : : return -1;
16199 : : return 9125; /* xop_vpermil2v2df3 */
16200 : :
16201 : : default:
16202 : : return -1;
16203 : : }
16204 : :
16205 : : case 154:
16206 : : if (pnum_clobbers == NULL)
16207 : : return -1;
16208 : : x5 = XVECEXP (x3, 0, 1);
16209 : : if (GET_CODE (x5) != MEM)
16210 : : return -1;
16211 : : x8 = XEXP (x5, 0);
16212 : : if (GET_CODE (x8) != UNSPEC
16213 : : || XVECLEN (x8, 0) != 3
16214 : : || XINT (x8, 1) != 155)
16215 : : return -1;
16216 : : x6 = XVECEXP (x3, 0, 2);
16217 : : if (GET_CODE (x6) != MEM
16218 : : || GET_MODE (x6) != E_BLKmode)
16219 : : return -1;
16220 : : x9 = XEXP (x6, 0);
16221 : : if (GET_CODE (x9) != SCRATCH)
16222 : : return -1;
16223 : : x10 = XVECEXP (x8, 0, 2);
16224 : : if (!const1248_operand (x10, E_SImode))
16225 : : return -1;
16226 : : x4 = XVECEXP (x3, 0, 0);
16227 : : switch (GET_CODE (x4))
16228 : : {
16229 : : case REG:
16230 : : case SUBREG:
16231 : : operands[2] = x4;
16232 : : operands[7] = x5;
16233 : : x11 = XVECEXP (x8, 0, 0);
16234 : : operands[3] = x11;
16235 : : x12 = XVECEXP (x8, 0, 1);
16236 : : operands[4] = x12;
16237 : : operands[6] = x10;
16238 : : x7 = XVECEXP (x3, 0, 3);
16239 : : operands[5] = x7;
16240 : : switch (GET_MODE (operands[0]))
16241 : : {
16242 : : case E_V2DImode:
16243 : : switch (pattern1753 (x3,
16244 : : E_V2DImode,
16245 : : E_DImode))
16246 : : {
16247 : : case 0:
16248 : : if (!(
16249 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16250 : : (TARGET_AVX2) &&
16251 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16252 : : (Pmode == SImode)))
16253 : : return -1;
16254 : : *pnum_clobbers = 1;
16255 : : return 9734; /* *avx2_gathersiv2di */
16256 : :
16257 : : case 1:
16258 : : if (!(
16259 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16260 : : (TARGET_AVX2) &&
16261 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16262 : : (Pmode == SImode)))
16263 : : return -1;
16264 : : *pnum_clobbers = 1;
16265 : : return 9766; /* *avx2_gatherdiv2di */
16266 : :
16267 : : case 2:
16268 : : if (!(
16269 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16270 : : (TARGET_AVX2) &&
16271 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16272 : : (Pmode == DImode)))
16273 : : return -1;
16274 : : *pnum_clobbers = 1;
16275 : : return 9742; /* *avx2_gathersiv2di */
16276 : :
16277 : : case 3:
16278 : : if (!(
16279 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16280 : : (TARGET_AVX2) &&
16281 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16282 : : (Pmode == DImode)))
16283 : : return -1;
16284 : : *pnum_clobbers = 1;
16285 : : return 9774; /* *avx2_gatherdiv2di */
16286 : :
16287 : : default:
16288 : : return -1;
16289 : : }
16290 : :
16291 : : case E_V2DFmode:
16292 : : switch (pattern1753 (x3,
16293 : : E_V2DFmode,
16294 : : E_DFmode))
16295 : : {
16296 : : case 0:
16297 : : if (!(
16298 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16299 : : (TARGET_AVX2) &&
16300 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16301 : : (Pmode == SImode)))
16302 : : return -1;
16303 : : *pnum_clobbers = 1;
16304 : : return 9735; /* *avx2_gathersiv2df */
16305 : :
16306 : : case 1:
16307 : : if (!(
16308 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16309 : : (TARGET_AVX2) &&
16310 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16311 : : (Pmode == SImode)))
16312 : : return -1;
16313 : : *pnum_clobbers = 1;
16314 : : return 9767; /* *avx2_gatherdiv2df */
16315 : :
16316 : : case 2:
16317 : : if (!(
16318 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16319 : : (TARGET_AVX2) &&
16320 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16321 : : (Pmode == DImode)))
16322 : : return -1;
16323 : : *pnum_clobbers = 1;
16324 : : return 9743; /* *avx2_gathersiv2df */
16325 : :
16326 : : case 3:
16327 : : if (!(
16328 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16329 : : (TARGET_AVX2) &&
16330 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16331 : : (Pmode == DImode)))
16332 : : return -1;
16333 : : *pnum_clobbers = 1;
16334 : : return 9775; /* *avx2_gatherdiv2df */
16335 : :
16336 : : default:
16337 : : return -1;
16338 : : }
16339 : :
16340 : : case E_V4DImode:
16341 : : switch (pattern1755 (x3,
16342 : : E_V4DImode,
16343 : : E_DImode))
16344 : : {
16345 : : case 0:
16346 : : if (!(
16347 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16348 : : (TARGET_AVX2) &&
16349 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16350 : : (Pmode == SImode)))
16351 : : return -1;
16352 : : *pnum_clobbers = 1;
16353 : : return 9736; /* *avx2_gathersiv4di */
16354 : :
16355 : : case 1:
16356 : : if (!(
16357 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16358 : : (TARGET_AVX2) &&
16359 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16360 : : (Pmode == SImode)))
16361 : : return -1;
16362 : : *pnum_clobbers = 1;
16363 : : return 9768; /* *avx2_gatherdiv4di */
16364 : :
16365 : : case 2:
16366 : : if (!(
16367 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16368 : : (TARGET_AVX2) &&
16369 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16370 : : (Pmode == DImode)))
16371 : : return -1;
16372 : : *pnum_clobbers = 1;
16373 : : return 9744; /* *avx2_gathersiv4di */
16374 : :
16375 : : case 3:
16376 : : if (!(
16377 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16378 : : (TARGET_AVX2) &&
16379 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16380 : : (Pmode == DImode)))
16381 : : return -1;
16382 : : *pnum_clobbers = 1;
16383 : : return 9776; /* *avx2_gatherdiv4di */
16384 : :
16385 : : default:
16386 : : return -1;
16387 : : }
16388 : :
16389 : : case E_V4DFmode:
16390 : : switch (pattern1755 (x3,
16391 : : E_V4DFmode,
16392 : : E_DFmode))
16393 : : {
16394 : : case 0:
16395 : : if (!(
16396 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16397 : : (TARGET_AVX2) &&
16398 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16399 : : (Pmode == SImode)))
16400 : : return -1;
16401 : : *pnum_clobbers = 1;
16402 : : return 9737; /* *avx2_gathersiv4df */
16403 : :
16404 : : case 1:
16405 : : if (!(
16406 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16407 : : (TARGET_AVX2) &&
16408 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16409 : : (Pmode == SImode)))
16410 : : return -1;
16411 : : *pnum_clobbers = 1;
16412 : : return 9769; /* *avx2_gatherdiv4df */
16413 : :
16414 : : case 2:
16415 : : if (!(
16416 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16417 : : (TARGET_AVX2) &&
16418 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16419 : : (Pmode == DImode)))
16420 : : return -1;
16421 : : *pnum_clobbers = 1;
16422 : : return 9745; /* *avx2_gathersiv4df */
16423 : :
16424 : : case 3:
16425 : : if (!(
16426 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16427 : : (TARGET_AVX2) &&
16428 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16429 : : (Pmode == DImode)))
16430 : : return -1;
16431 : : *pnum_clobbers = 1;
16432 : : return 9777; /* *avx2_gatherdiv4df */
16433 : :
16434 : : default:
16435 : : return -1;
16436 : : }
16437 : :
16438 : : case E_V4SImode:
16439 : : switch (pattern1753 (x3,
16440 : : E_V4SImode,
16441 : : E_SImode))
16442 : : {
16443 : : case 0:
16444 : : if (!(
16445 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16446 : : (TARGET_AVX2) &&
16447 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16448 : : (Pmode == SImode)))
16449 : : return -1;
16450 : : *pnum_clobbers = 1;
16451 : : return 9738; /* *avx2_gathersiv4si */
16452 : :
16453 : : case 1:
16454 : : if (!(
16455 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16456 : : (TARGET_AVX2) &&
16457 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16458 : : (Pmode == SImode)))
16459 : : return -1;
16460 : : *pnum_clobbers = 1;
16461 : : return 9770; /* *avx2_gatherdiv4si */
16462 : :
16463 : : case 2:
16464 : : if (!(
16465 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16466 : : (TARGET_AVX2) &&
16467 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16468 : : (Pmode == DImode)))
16469 : : return -1;
16470 : : *pnum_clobbers = 1;
16471 : : return 9746; /* *avx2_gathersiv4si */
16472 : :
16473 : : case 3:
16474 : : if (!(
16475 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16476 : : (TARGET_AVX2) &&
16477 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16478 : : (Pmode == DImode)))
16479 : : return -1;
16480 : : *pnum_clobbers = 1;
16481 : : return 9778; /* *avx2_gatherdiv4si */
16482 : :
16483 : : default:
16484 : : return -1;
16485 : : }
16486 : :
16487 : : case E_V4SFmode:
16488 : : switch (pattern1753 (x3,
16489 : : E_V4SFmode,
16490 : : E_SFmode))
16491 : : {
16492 : : case 0:
16493 : : if (!(
16494 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16495 : : (TARGET_AVX2) &&
16496 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16497 : : (Pmode == SImode)))
16498 : : return -1;
16499 : : *pnum_clobbers = 1;
16500 : : return 9739; /* *avx2_gathersiv4sf */
16501 : :
16502 : : case 1:
16503 : : if (!(
16504 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16505 : : (TARGET_AVX2) &&
16506 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16507 : : (Pmode == SImode)))
16508 : : return -1;
16509 : : *pnum_clobbers = 1;
16510 : : return 9771; /* *avx2_gatherdiv4sf */
16511 : :
16512 : : case 2:
16513 : : if (!(
16514 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16515 : : (TARGET_AVX2) &&
16516 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16517 : : (Pmode == DImode)))
16518 : : return -1;
16519 : : *pnum_clobbers = 1;
16520 : : return 9747; /* *avx2_gathersiv4sf */
16521 : :
16522 : : case 3:
16523 : : if (!(
16524 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16525 : : (TARGET_AVX2) &&
16526 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16527 : : (Pmode == DImode)))
16528 : : return -1;
16529 : : *pnum_clobbers = 1;
16530 : : return 9779; /* *avx2_gatherdiv4sf */
16531 : :
16532 : : default:
16533 : : return -1;
16534 : : }
16535 : :
16536 : : case E_V8SImode:
16537 : : if (!register_operand (operands[0], E_V8SImode)
16538 : : || GET_MODE (x3) != E_V8SImode
16539 : : || !vsib_mem_operator (operands[7], E_SImode))
16540 : : return -1;
16541 : : switch (GET_MODE (operands[2]))
16542 : : {
16543 : : case E_V8SImode:
16544 : : if (!register_operand (operands[2], E_V8SImode)
16545 : : || !register_operand (operands[4], E_V8SImode))
16546 : : return -1;
16547 : : switch (pattern1833 (x8,
16548 : : E_V8SImode))
16549 : : {
16550 : : case 0:
16551 : : if (!(
16552 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16553 : : (TARGET_AVX2) &&
16554 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16555 : : (Pmode == SImode)))
16556 : : return -1;
16557 : : *pnum_clobbers = 1;
16558 : : return 9740; /* *avx2_gathersiv8si */
16559 : :
16560 : : case 1:
16561 : : if (!(
16562 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16563 : : (TARGET_AVX2) &&
16564 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16565 : : (Pmode == DImode)))
16566 : : return -1;
16567 : : *pnum_clobbers = 1;
16568 : : return 9748; /* *avx2_gathersiv8si */
16569 : :
16570 : : default:
16571 : : return -1;
16572 : : }
16573 : :
16574 : : case E_V4SImode:
16575 : : switch (pattern1834 (x8,
16576 : : E_V4SImode,
16577 : : E_V4DImode))
16578 : : {
16579 : : case 0:
16580 : : if (!(
16581 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16582 : : (TARGET_AVX2) &&
16583 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16584 : : (Pmode == SImode)))
16585 : : return -1;
16586 : : *pnum_clobbers = 1;
16587 : : return 9772; /* *avx2_gatherdiv8si */
16588 : :
16589 : : case 1:
16590 : : if (!(
16591 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16592 : : (TARGET_AVX2) &&
16593 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16594 : : (Pmode == DImode)))
16595 : : return -1;
16596 : : *pnum_clobbers = 1;
16597 : : return 9780; /* *avx2_gatherdiv8si */
16598 : :
16599 : : default:
16600 : : return -1;
16601 : : }
16602 : :
16603 : : default:
16604 : : return -1;
16605 : : }
16606 : :
16607 : : case E_V8SFmode:
16608 : : if (!register_operand (operands[0], E_V8SFmode)
16609 : : || GET_MODE (x3) != E_V8SFmode
16610 : : || !vsib_mem_operator (operands[7], E_SFmode))
16611 : : return -1;
16612 : : switch (GET_MODE (operands[2]))
16613 : : {
16614 : : case E_V8SFmode:
16615 : : switch (pattern1834 (x8,
16616 : : E_V8SFmode,
16617 : : E_V8SImode))
16618 : : {
16619 : : case 0:
16620 : : if (!(
16621 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16622 : : (TARGET_AVX2) &&
16623 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16624 : : (Pmode == SImode)))
16625 : : return -1;
16626 : : *pnum_clobbers = 1;
16627 : : return 9741; /* *avx2_gathersiv8sf */
16628 : :
16629 : : case 1:
16630 : : if (!(
16631 : : #line 29702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16632 : : (TARGET_AVX2) &&
16633 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16634 : : (Pmode == DImode)))
16635 : : return -1;
16636 : : *pnum_clobbers = 1;
16637 : : return 9749; /* *avx2_gathersiv8sf */
16638 : :
16639 : : default:
16640 : : return -1;
16641 : : }
16642 : :
16643 : : case E_V4SFmode:
16644 : : switch (pattern1834 (x8,
16645 : : E_V4SFmode,
16646 : : E_V4DImode))
16647 : : {
16648 : : case 0:
16649 : : if (!(
16650 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16651 : : (TARGET_AVX2) &&
16652 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16653 : : (Pmode == SImode)))
16654 : : return -1;
16655 : : *pnum_clobbers = 1;
16656 : : return 9773; /* *avx2_gatherdiv8sf */
16657 : :
16658 : : case 1:
16659 : : if (!(
16660 : : #line 29765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16661 : : (TARGET_AVX2) &&
16662 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16663 : : (Pmode == DImode)))
16664 : : return -1;
16665 : : *pnum_clobbers = 1;
16666 : : return 9781; /* *avx2_gatherdiv8sf */
16667 : :
16668 : : default:
16669 : : return -1;
16670 : : }
16671 : :
16672 : : default:
16673 : : return -1;
16674 : : }
16675 : :
16676 : : default:
16677 : : return -1;
16678 : : }
16679 : :
16680 : : case PC:
16681 : : operands[6] = x5;
16682 : : x11 = XVECEXP (x8, 0, 0);
16683 : : operands[2] = x11;
16684 : : x12 = XVECEXP (x8, 0, 1);
16685 : : operands[3] = x12;
16686 : : operands[5] = x10;
16687 : : x7 = XVECEXP (x3, 0, 3);
16688 : : operands[4] = x7;
16689 : : switch (GET_MODE (operands[0]))
16690 : : {
16691 : : case E_V2DImode:
16692 : : switch (pattern1714 (x3,
16693 : : E_V2DImode,
16694 : : E_DImode))
16695 : : {
16696 : : case 0:
16697 : : if (!(
16698 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16699 : : (TARGET_AVX2) &&
16700 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16701 : : (Pmode == SImode)))
16702 : : return -1;
16703 : : *pnum_clobbers = 1;
16704 : : return 9750; /* *avx2_gathersiv2di_2 */
16705 : :
16706 : : case 1:
16707 : : if (!(
16708 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16709 : : (TARGET_AVX2) &&
16710 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16711 : : (Pmode == SImode)))
16712 : : return -1;
16713 : : *pnum_clobbers = 1;
16714 : : return 9782; /* *avx2_gatherdiv2di_2 */
16715 : :
16716 : : case 2:
16717 : : if (!(
16718 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16719 : : (TARGET_AVX2) &&
16720 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16721 : : (Pmode == DImode)))
16722 : : return -1;
16723 : : *pnum_clobbers = 1;
16724 : : return 9758; /* *avx2_gathersiv2di_2 */
16725 : :
16726 : : case 3:
16727 : : if (!(
16728 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16729 : : (TARGET_AVX2) &&
16730 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16731 : : (Pmode == DImode)))
16732 : : return -1;
16733 : : *pnum_clobbers = 1;
16734 : : return 9790; /* *avx2_gatherdiv2di_2 */
16735 : :
16736 : : default:
16737 : : return -1;
16738 : : }
16739 : :
16740 : : case E_V2DFmode:
16741 : : switch (pattern1714 (x3,
16742 : : E_V2DFmode,
16743 : : E_DFmode))
16744 : : {
16745 : : case 0:
16746 : : if (!(
16747 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16748 : : (TARGET_AVX2) &&
16749 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16750 : : (Pmode == SImode)))
16751 : : return -1;
16752 : : *pnum_clobbers = 1;
16753 : : return 9751; /* *avx2_gathersiv2df_2 */
16754 : :
16755 : : case 1:
16756 : : if (!(
16757 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16758 : : (TARGET_AVX2) &&
16759 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16760 : : (Pmode == SImode)))
16761 : : return -1;
16762 : : *pnum_clobbers = 1;
16763 : : return 9783; /* *avx2_gatherdiv2df_2 */
16764 : :
16765 : : case 2:
16766 : : if (!(
16767 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16768 : : (TARGET_AVX2) &&
16769 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16770 : : (Pmode == DImode)))
16771 : : return -1;
16772 : : *pnum_clobbers = 1;
16773 : : return 9759; /* *avx2_gathersiv2df_2 */
16774 : :
16775 : : case 3:
16776 : : if (!(
16777 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16778 : : (TARGET_AVX2) &&
16779 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16780 : : (Pmode == DImode)))
16781 : : return -1;
16782 : : *pnum_clobbers = 1;
16783 : : return 9791; /* *avx2_gatherdiv2df_2 */
16784 : :
16785 : : default:
16786 : : return -1;
16787 : : }
16788 : :
16789 : : case E_V4DImode:
16790 : : switch (pattern1716 (x3,
16791 : : E_V4DImode,
16792 : : E_DImode))
16793 : : {
16794 : : case 0:
16795 : : if (!(
16796 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16797 : : (TARGET_AVX2) &&
16798 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16799 : : (Pmode == SImode)))
16800 : : return -1;
16801 : : *pnum_clobbers = 1;
16802 : : return 9752; /* *avx2_gathersiv4di_2 */
16803 : :
16804 : : case 1:
16805 : : if (!(
16806 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16807 : : (TARGET_AVX2) &&
16808 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16809 : : (Pmode == SImode)))
16810 : : return -1;
16811 : : *pnum_clobbers = 1;
16812 : : return 9784; /* *avx2_gatherdiv4di_2 */
16813 : :
16814 : : case 2:
16815 : : if (!(
16816 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16817 : : (TARGET_AVX2) &&
16818 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16819 : : (Pmode == DImode)))
16820 : : return -1;
16821 : : *pnum_clobbers = 1;
16822 : : return 9760; /* *avx2_gathersiv4di_2 */
16823 : :
16824 : : case 3:
16825 : : if (!(
16826 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16827 : : (TARGET_AVX2) &&
16828 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16829 : : (Pmode == DImode)))
16830 : : return -1;
16831 : : *pnum_clobbers = 1;
16832 : : return 9792; /* *avx2_gatherdiv4di_2 */
16833 : :
16834 : : default:
16835 : : return -1;
16836 : : }
16837 : :
16838 : : case E_V4DFmode:
16839 : : switch (pattern1716 (x3,
16840 : : E_V4DFmode,
16841 : : E_DFmode))
16842 : : {
16843 : : case 0:
16844 : : if (!(
16845 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16846 : : (TARGET_AVX2) &&
16847 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16848 : : (Pmode == SImode)))
16849 : : return -1;
16850 : : *pnum_clobbers = 1;
16851 : : return 9753; /* *avx2_gathersiv4df_2 */
16852 : :
16853 : : case 1:
16854 : : if (!(
16855 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16856 : : (TARGET_AVX2) &&
16857 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16858 : : (Pmode == SImode)))
16859 : : return -1;
16860 : : *pnum_clobbers = 1;
16861 : : return 9785; /* *avx2_gatherdiv4df_2 */
16862 : :
16863 : : case 2:
16864 : : if (!(
16865 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16866 : : (TARGET_AVX2) &&
16867 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16868 : : (Pmode == DImode)))
16869 : : return -1;
16870 : : *pnum_clobbers = 1;
16871 : : return 9761; /* *avx2_gathersiv4df_2 */
16872 : :
16873 : : case 3:
16874 : : if (!(
16875 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16876 : : (TARGET_AVX2) &&
16877 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16878 : : (Pmode == DImode)))
16879 : : return -1;
16880 : : *pnum_clobbers = 1;
16881 : : return 9793; /* *avx2_gatherdiv4df_2 */
16882 : :
16883 : : default:
16884 : : return -1;
16885 : : }
16886 : :
16887 : : case E_V4SImode:
16888 : : switch (pattern1714 (x3,
16889 : : E_V4SImode,
16890 : : E_SImode))
16891 : : {
16892 : : case 0:
16893 : : if (!(
16894 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16895 : : (TARGET_AVX2) &&
16896 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16897 : : (Pmode == SImode)))
16898 : : return -1;
16899 : : *pnum_clobbers = 1;
16900 : : return 9754; /* *avx2_gathersiv4si_2 */
16901 : :
16902 : : case 1:
16903 : : if (!(
16904 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16905 : : (TARGET_AVX2) &&
16906 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16907 : : (Pmode == SImode)))
16908 : : return -1;
16909 : : *pnum_clobbers = 1;
16910 : : return 9786; /* *avx2_gatherdiv4si_2 */
16911 : :
16912 : : case 2:
16913 : : if (!(
16914 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16915 : : (TARGET_AVX2) &&
16916 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16917 : : (Pmode == DImode)))
16918 : : return -1;
16919 : : *pnum_clobbers = 1;
16920 : : return 9762; /* *avx2_gathersiv4si_2 */
16921 : :
16922 : : case 3:
16923 : : if (!(
16924 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16925 : : (TARGET_AVX2) &&
16926 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16927 : : (Pmode == DImode)))
16928 : : return -1;
16929 : : *pnum_clobbers = 1;
16930 : : return 9794; /* *avx2_gatherdiv4si_2 */
16931 : :
16932 : : default:
16933 : : return -1;
16934 : : }
16935 : :
16936 : : case E_V4SFmode:
16937 : : switch (pattern1714 (x3,
16938 : : E_V4SFmode,
16939 : : E_SFmode))
16940 : : {
16941 : : case 0:
16942 : : if (!(
16943 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16944 : : (TARGET_AVX2) &&
16945 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16946 : : (Pmode == SImode)))
16947 : : return -1;
16948 : : *pnum_clobbers = 1;
16949 : : return 9755; /* *avx2_gathersiv4sf_2 */
16950 : :
16951 : : case 1:
16952 : : if (!(
16953 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16954 : : (TARGET_AVX2) &&
16955 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16956 : : (Pmode == SImode)))
16957 : : return -1;
16958 : : *pnum_clobbers = 1;
16959 : : return 9787; /* *avx2_gatherdiv4sf_2 */
16960 : :
16961 : : case 2:
16962 : : if (!(
16963 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16964 : : (TARGET_AVX2) &&
16965 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16966 : : (Pmode == DImode)))
16967 : : return -1;
16968 : : *pnum_clobbers = 1;
16969 : : return 9763; /* *avx2_gathersiv4sf_2 */
16970 : :
16971 : : case 3:
16972 : : if (!(
16973 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16974 : : (TARGET_AVX2) &&
16975 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16976 : : (Pmode == DImode)))
16977 : : return -1;
16978 : : *pnum_clobbers = 1;
16979 : : return 9795; /* *avx2_gatherdiv4sf_2 */
16980 : :
16981 : : default:
16982 : : return -1;
16983 : : }
16984 : :
16985 : : case E_V8SImode:
16986 : : switch (pattern1717 (x3,
16987 : : E_SImode,
16988 : : E_V8SImode))
16989 : : {
16990 : : case 0:
16991 : : switch (pattern1802 (
16992 : : E_SImode))
16993 : : {
16994 : : case 0:
16995 : : if (!(
16996 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16997 : : (TARGET_AVX2) &&
16998 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16999 : : (Pmode == SImode)))
17000 : : return -1;
17001 : : *pnum_clobbers = 1;
17002 : : return 9756; /* *avx2_gathersiv8si_2 */
17003 : :
17004 : : case 1:
17005 : : if (!(
17006 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17007 : : (TARGET_AVX2) &&
17008 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17009 : : (Pmode == SImode)))
17010 : : return -1;
17011 : : *pnum_clobbers = 1;
17012 : : return 9788; /* *avx2_gatherdiv8si_2 */
17013 : :
17014 : : default:
17015 : : return -1;
17016 : : }
17017 : :
17018 : : case 1:
17019 : : switch (pattern1802 (
17020 : : E_DImode))
17021 : : {
17022 : : case 0:
17023 : : if (!(
17024 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17025 : : (TARGET_AVX2) &&
17026 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17027 : : (Pmode == DImode)))
17028 : : return -1;
17029 : : *pnum_clobbers = 1;
17030 : : return 9764; /* *avx2_gathersiv8si_2 */
17031 : :
17032 : : case 1:
17033 : : if (!(
17034 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17035 : : (TARGET_AVX2) &&
17036 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17037 : : (Pmode == DImode)))
17038 : : return -1;
17039 : : *pnum_clobbers = 1;
17040 : : return 9796; /* *avx2_gatherdiv8si_2 */
17041 : :
17042 : : default:
17043 : : return -1;
17044 : : }
17045 : :
17046 : : default:
17047 : : return -1;
17048 : : }
17049 : :
17050 : : case E_V8SFmode:
17051 : : switch (pattern1717 (x3,
17052 : : E_SFmode,
17053 : : E_V8SFmode))
17054 : : {
17055 : : case 0:
17056 : : switch (pattern1803 (
17057 : : E_SImode))
17058 : : {
17059 : : case 0:
17060 : : if (!(
17061 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17062 : : (TARGET_AVX2) &&
17063 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17064 : : (Pmode == SImode)))
17065 : : return -1;
17066 : : *pnum_clobbers = 1;
17067 : : return 9757; /* *avx2_gathersiv8sf_2 */
17068 : :
17069 : : case 1:
17070 : : if (!(
17071 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17072 : : (TARGET_AVX2) &&
17073 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17074 : : (Pmode == SImode)))
17075 : : return -1;
17076 : : *pnum_clobbers = 1;
17077 : : return 9789; /* *avx2_gatherdiv8sf_2 */
17078 : :
17079 : : default:
17080 : : return -1;
17081 : : }
17082 : :
17083 : : case 1:
17084 : : switch (pattern1803 (
17085 : : E_DImode))
17086 : : {
17087 : : case 0:
17088 : : if (!(
17089 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17090 : : (TARGET_AVX2) &&
17091 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17092 : : (Pmode == DImode)))
17093 : : return -1;
17094 : : *pnum_clobbers = 1;
17095 : : return 9765; /* *avx2_gathersiv8sf_2 */
17096 : :
17097 : : case 1:
17098 : : if (!(
17099 : : #line 29786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17100 : : (TARGET_AVX2) &&
17101 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17102 : : (Pmode == DImode)))
17103 : : return -1;
17104 : : *pnum_clobbers = 1;
17105 : : return 9797; /* *avx2_gatherdiv8sf_2 */
17106 : :
17107 : : default:
17108 : : return -1;
17109 : : }
17110 : :
17111 : : default:
17112 : : return -1;
17113 : : }
17114 : :
17115 : : default:
17116 : : return -1;
17117 : : }
17118 : :
17119 : : default:
17120 : : return -1;
17121 : : }
17122 : :
17123 : : case 227:
17124 : : if (GET_MODE (x3) != E_V4SImode
17125 : : || pattern176 (x3) != 0)
17126 : : return -1;
17127 : : x7 = XVECEXP (x3, 0, 3);
17128 : : operands[4] = x7;
17129 : : if (!const_0_to_255_operand (operands[4], E_SImode)
17130 : : || !
17131 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17132 : : (TARGET_SM3))
17133 : : return -1;
17134 : : return 10157; /* vsm3rnds2 */
17135 : :
17136 : : default:
17137 : : return -1;
17138 : : }
17139 : : }
17140 : :
17141 : : int
17142 : : recog_311 (rtx x1 ATTRIBUTE_UNUSED,
17143 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17144 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17145 : : {
17146 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17147 : : rtx x2, x3, x4, x5;
17148 : : int res ATTRIBUTE_UNUSED;
17149 : : x2 = XEXP (x1, 1);
17150 : : x3 = XEXP (x2, 0);
17151 : : switch (GET_CODE (x3))
17152 : : {
17153 : : case REG:
17154 : : case SUBREG:
17155 : : case MEM:
17156 : : case VEC_DUPLICATE:
17157 : : operands[1] = x3;
17158 : : x4 = XEXP (x2, 1);
17159 : : operands[2] = x4;
17160 : : switch (GET_CODE (operands[2]))
17161 : : {
17162 : : case REG:
17163 : : case SUBREG:
17164 : : case MEM:
17165 : : case VEC_DUPLICATE:
17166 : : switch (GET_MODE (operands[0]))
17167 : : {
17168 : : case E_V16BFmode:
17169 : : if (pattern26 (x2,
17170 : : E_V16BFmode) != 0
17171 : : || !(
17172 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17173 : : (TARGET_SSE && 1
17174 : : && (!false || 16 != 16)
17175 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17176 : : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17177 : : (TARGET_AVX)))
17178 : : return -1;
17179 : : return 3777; /* *xorv16bf3 */
17180 : :
17181 : : case E_V8BFmode:
17182 : : if (pattern26 (x2,
17183 : : E_V8BFmode) != 0
17184 : : || !(
17185 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17186 : : (TARGET_SSE && 1
17187 : : && (!false || 16 != 16)
17188 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17189 : : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17190 : : (TARGET_SSE2)))
17191 : : return -1;
17192 : : return 3780; /* *xorv8bf3 */
17193 : :
17194 : : case E_V16HFmode:
17195 : : if (pattern26 (x2,
17196 : : E_V16HFmode) != 0
17197 : : || !(
17198 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17199 : : (TARGET_SSE && 1
17200 : : && (!false || 16 != 16)
17201 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17202 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17203 : : (TARGET_AVX)))
17204 : : return -1;
17205 : : return 3783; /* *xorv16hf3 */
17206 : :
17207 : : case E_V8HFmode:
17208 : : if (pattern26 (x2,
17209 : : E_V8HFmode) != 0
17210 : : || !(
17211 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17212 : : (TARGET_SSE && 1
17213 : : && (!false || 16 != 16)
17214 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17215 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17216 : : (TARGET_SSE2)))
17217 : : return -1;
17218 : : return 3786; /* *xorv8hf3 */
17219 : :
17220 : : case E_V8SFmode:
17221 : : if (pattern26 (x2,
17222 : : E_V8SFmode) != 0
17223 : : || !(
17224 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17225 : : (TARGET_SSE && 1
17226 : : && (!false || 32 != 16)
17227 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17228 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17229 : : (TARGET_AVX)))
17230 : : return -1;
17231 : : return 3791; /* *xorv8sf3 */
17232 : :
17233 : : case E_V4SFmode:
17234 : : if (pattern26 (x2,
17235 : : E_V4SFmode) != 0
17236 : : || !
17237 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17238 : : (TARGET_SSE && 1
17239 : : && (!false || 32 != 16)
17240 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17241 : : return -1;
17242 : : return 3797; /* *xorv4sf3 */
17243 : :
17244 : : case E_V4DFmode:
17245 : : if (pattern26 (x2,
17246 : : E_V4DFmode) != 0
17247 : : || !(
17248 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17249 : : (TARGET_SSE && 1
17250 : : && (!false || 64 != 16)
17251 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17252 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17253 : : (TARGET_AVX)))
17254 : : return -1;
17255 : : return 3803; /* *xorv4df3 */
17256 : :
17257 : : case E_V2DFmode:
17258 : : if (pattern26 (x2,
17259 : : E_V2DFmode) != 0
17260 : : || !(
17261 : : #line 5665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17262 : : (TARGET_SSE && 1
17263 : : && (!false || 64 != 16)
17264 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17265 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17266 : : (TARGET_SSE2)))
17267 : : return -1;
17268 : : return 3809; /* *xorv2df3 */
17269 : :
17270 : : case E_V32BFmode:
17271 : : if (pattern3 (x2,
17272 : : E_V32BFmode) != 0
17273 : : || !
17274 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17275 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17276 : : && (!false || 16 != 16)))
17277 : : return -1;
17278 : : return 3813; /* *xorv32bf3 */
17279 : :
17280 : : case E_V32HFmode:
17281 : : if (pattern3 (x2,
17282 : : E_V32HFmode) != 0
17283 : : || !
17284 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17285 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17286 : : && (!false || 16 != 16)))
17287 : : return -1;
17288 : : return 3816; /* *xorv32hf3 */
17289 : :
17290 : : case E_V16SFmode:
17291 : : if (pattern3 (x2,
17292 : : E_V16SFmode) != 0
17293 : : || !
17294 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17295 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17296 : : && (!false || 32 != 16)))
17297 : : return -1;
17298 : : return 3821; /* *xorv16sf3 */
17299 : :
17300 : : case E_V8DFmode:
17301 : : if (pattern3 (x2,
17302 : : E_V8DFmode) != 0
17303 : : || !
17304 : : #line 5735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17305 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17306 : : && (!false || 64 != 16)))
17307 : : return -1;
17308 : : return 3827; /* *xorv8df3 */
17309 : :
17310 : : case E_V16SImode:
17311 : : if (pattern188 (x2,
17312 : : E_V16SImode) != 0
17313 : : || !(
17314 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17315 : : (TARGET_SSE && 1
17316 : : && ix86_binary_operator_ok (XOR, V16SImode, operands)) &&
17317 : : #line 794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17318 : : (TARGET_AVX512F)))
17319 : : return -1;
17320 : : return 8045; /* *xorv16si3 */
17321 : :
17322 : : case E_V8SImode:
17323 : : if (pattern188 (x2,
17324 : : E_V8SImode) != 0
17325 : : || !(
17326 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17327 : : (TARGET_SSE && 1
17328 : : && ix86_binary_operator_ok (XOR, V8SImode, operands)) &&
17329 : : #line 794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17330 : : (TARGET_AVX)))
17331 : : return -1;
17332 : : return 8051; /* *xorv8si3 */
17333 : :
17334 : : case E_V4SImode:
17335 : : if (pattern188 (x2,
17336 : : E_V4SImode) != 0
17337 : : || !
17338 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17339 : : (TARGET_SSE && 1
17340 : : && ix86_binary_operator_ok (XOR, V4SImode, operands)))
17341 : : return -1;
17342 : : return 8057; /* *xorv4si3 */
17343 : :
17344 : : case E_V8DImode:
17345 : : if (pattern188 (x2,
17346 : : E_V8DImode) != 0
17347 : : || !(
17348 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17349 : : (TARGET_SSE && 1
17350 : : && ix86_binary_operator_ok (XOR, V8DImode, operands)) &&
17351 : : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17352 : : (TARGET_AVX512F)))
17353 : : return -1;
17354 : : return 8063; /* *xorv8di3 */
17355 : :
17356 : : case E_V4DImode:
17357 : : if (pattern188 (x2,
17358 : : E_V4DImode) != 0
17359 : : || !(
17360 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17361 : : (TARGET_SSE && 1
17362 : : && ix86_binary_operator_ok (XOR, V4DImode, operands)) &&
17363 : : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17364 : : (TARGET_AVX)))
17365 : : return -1;
17366 : : return 8069; /* *xorv4di3 */
17367 : :
17368 : : case E_V2DImode:
17369 : : if (pattern188 (x2,
17370 : : E_V2DImode) != 0
17371 : : || !
17372 : : #line 19017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17373 : : (TARGET_SSE && 1
17374 : : && ix86_binary_operator_ok (XOR, V2DImode, operands)))
17375 : : return -1;
17376 : : return 8075; /* *xorv2di3 */
17377 : :
17378 : : case E_V64QImode:
17379 : : if (pattern26 (x2,
17380 : : E_V64QImode) != 0
17381 : : || !(
17382 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17383 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17384 : : #line 798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17385 : : (TARGET_AVX512F)))
17386 : : return -1;
17387 : : return 8079; /* *xorv64qi3 */
17388 : :
17389 : : case E_V32QImode:
17390 : : if (pattern26 (x2,
17391 : : E_V32QImode) != 0
17392 : : || !(
17393 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17394 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17395 : : #line 798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17396 : : (TARGET_AVX)))
17397 : : return -1;
17398 : : return 8082; /* *xorv32qi3 */
17399 : :
17400 : : case E_V16QImode:
17401 : : if (pattern26 (x2,
17402 : : E_V16QImode) != 0
17403 : : || !
17404 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17405 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17406 : : return -1;
17407 : : return 8085; /* *xorv16qi3 */
17408 : :
17409 : : case E_V32HImode:
17410 : : if (pattern26 (x2,
17411 : : E_V32HImode) != 0
17412 : : || !(
17413 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17414 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17415 : : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17416 : : (TARGET_AVX512F)))
17417 : : return -1;
17418 : : return 8088; /* *xorv32hi3 */
17419 : :
17420 : : case E_V16HImode:
17421 : : if (pattern26 (x2,
17422 : : E_V16HImode) != 0
17423 : : || !(
17424 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17425 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17426 : : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17427 : : (TARGET_AVX)))
17428 : : return -1;
17429 : : return 8091; /* *xorv16hi3 */
17430 : :
17431 : : case E_V8HImode:
17432 : : if (pattern26 (x2,
17433 : : E_V8HImode) != 0
17434 : : || !
17435 : : #line 19119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17436 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17437 : : return -1;
17438 : : return 8094; /* *xorv8hi3 */
17439 : :
17440 : : case E_V1TImode:
17441 : : if (pattern673 (x2,
17442 : : E_V1TImode) != 0
17443 : : || !
17444 : : #line 19216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17445 : : (TARGET_SSE2))
17446 : : return -1;
17447 : : return 8097; /* xorv1ti3 */
17448 : :
17449 : : default:
17450 : : return -1;
17451 : : }
17452 : :
17453 : : case CONST_VECTOR:
17454 : : switch (GET_MODE (operands[0]))
17455 : : {
17456 : : case E_V16SImode:
17457 : : if (pattern929 (x2,
17458 : : E_V16SImode) != 0
17459 : : || !(
17460 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17461 : : (TARGET_AVX512F
17462 : : && (!false
17463 : : || SImode == SImode
17464 : : || SImode == DImode)) &&
17465 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17466 : : (TARGET_AVX512F)))
17467 : : return -1;
17468 : : return 7993; /* *one_cmplv16si2 */
17469 : :
17470 : : case E_V8DImode:
17471 : : if (pattern929 (x2,
17472 : : E_V8DImode) != 0
17473 : : || !(
17474 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17475 : : (TARGET_AVX512F
17476 : : && (!false
17477 : : || DImode == SImode
17478 : : || DImode == DImode)) &&
17479 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17480 : : (TARGET_AVX512F)))
17481 : : return -1;
17482 : : return 7995; /* *one_cmplv8di2 */
17483 : :
17484 : : case E_V64QImode:
17485 : : if (pattern929 (x2,
17486 : : E_V64QImode) != 0
17487 : : || !(
17488 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17489 : : (TARGET_AVX512F
17490 : : && (!false
17491 : : || QImode == SImode
17492 : : || QImode == DImode)) &&
17493 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17494 : : (TARGET_AVX512BW)))
17495 : : return -1;
17496 : : return 7997; /* *one_cmplv64qi2 */
17497 : :
17498 : : case E_V32QImode:
17499 : : if (pattern929 (x2,
17500 : : E_V32QImode) != 0
17501 : : || !(
17502 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17503 : : (TARGET_AVX512F
17504 : : && (!false
17505 : : || QImode == SImode
17506 : : || QImode == DImode)) &&
17507 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17508 : : (TARGET_AVX)))
17509 : : return -1;
17510 : : return 7998; /* *one_cmplv32qi2 */
17511 : :
17512 : : case E_V16QImode:
17513 : : if (pattern929 (x2,
17514 : : E_V16QImode) != 0
17515 : : || !
17516 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17517 : : (TARGET_AVX512F
17518 : : && (!false
17519 : : || QImode == SImode
17520 : : || QImode == DImode)))
17521 : : return -1;
17522 : : return 7999; /* *one_cmplv16qi2 */
17523 : :
17524 : : case E_V32HImode:
17525 : : if (pattern929 (x2,
17526 : : E_V32HImode) != 0
17527 : : || !(
17528 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17529 : : (TARGET_AVX512F
17530 : : && (!false
17531 : : || HImode == SImode
17532 : : || HImode == DImode)) &&
17533 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17534 : : (TARGET_AVX512BW)))
17535 : : return -1;
17536 : : return 8000; /* *one_cmplv32hi2 */
17537 : :
17538 : : case E_V16HImode:
17539 : : if (pattern929 (x2,
17540 : : E_V16HImode) != 0
17541 : : || !(
17542 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17543 : : (TARGET_AVX512F
17544 : : && (!false
17545 : : || HImode == SImode
17546 : : || HImode == DImode)) &&
17547 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17548 : : (TARGET_AVX)))
17549 : : return -1;
17550 : : return 8001; /* *one_cmplv16hi2 */
17551 : :
17552 : : case E_V8HImode:
17553 : : if (pattern929 (x2,
17554 : : E_V8HImode) != 0
17555 : : || !
17556 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17557 : : (TARGET_AVX512F
17558 : : && (!false
17559 : : || HImode == SImode
17560 : : || HImode == DImode)))
17561 : : return -1;
17562 : : return 8002; /* *one_cmplv8hi2 */
17563 : :
17564 : : case E_V8SImode:
17565 : : if (pattern929 (x2,
17566 : : E_V8SImode) != 0
17567 : : || !(
17568 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17569 : : (TARGET_AVX512F
17570 : : && (!false
17571 : : || SImode == SImode
17572 : : || SImode == DImode)) &&
17573 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17574 : : (TARGET_AVX)))
17575 : : return -1;
17576 : : return 8003; /* *one_cmplv8si2 */
17577 : :
17578 : : case E_V4SImode:
17579 : : if (pattern929 (x2,
17580 : : E_V4SImode) != 0
17581 : : || !
17582 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17583 : : (TARGET_AVX512F
17584 : : && (!false
17585 : : || SImode == SImode
17586 : : || SImode == DImode)))
17587 : : return -1;
17588 : : return 8005; /* *one_cmplv4si2 */
17589 : :
17590 : : case E_V4DImode:
17591 : : if (pattern929 (x2,
17592 : : E_V4DImode) != 0
17593 : : || !(
17594 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17595 : : (TARGET_AVX512F
17596 : : && (!false
17597 : : || DImode == SImode
17598 : : || DImode == DImode)) &&
17599 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17600 : : (TARGET_AVX)))
17601 : : return -1;
17602 : : return 8007; /* *one_cmplv4di2 */
17603 : :
17604 : : case E_V2DImode:
17605 : : if (pattern929 (x2,
17606 : : E_V2DImode) != 0
17607 : : || !
17608 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17609 : : (TARGET_AVX512F
17610 : : && (!false
17611 : : || DImode == SImode
17612 : : || DImode == DImode)))
17613 : : return -1;
17614 : : return 8009; /* *one_cmplv2di2 */
17615 : :
17616 : : default:
17617 : : return -1;
17618 : : }
17619 : :
17620 : : default:
17621 : : return -1;
17622 : : }
17623 : :
17624 : : case AND:
17625 : : x5 = XEXP (x3, 0);
17626 : : switch (GET_CODE (x5))
17627 : : {
17628 : : case REG:
17629 : : case SUBREG:
17630 : : case MEM:
17631 : : case NOT:
17632 : : switch (pattern530 (x2))
17633 : : {
17634 : : case 0:
17635 : : if (!(
17636 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17637 : : ((64 == 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 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17649 : : (TARGET_AVX512F)))
17650 : : return -1;
17651 : : return 5532; /* *avx512bw_vpternlogv64qi_1 */
17652 : :
17653 : : case 1:
17654 : : if (!(
17655 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17656 : : ((32 == 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 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17668 : : (TARGET_AVX)))
17669 : : return -1;
17670 : : return 5559; /* *avx512vl_vpternlogv32qi_1 */
17671 : :
17672 : : case 2:
17673 : : if (!
17674 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17675 : : ((16 == 64 || TARGET_AVX512VL
17676 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17677 : : && ix86_pre_reload_split ()
17678 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17679 : : STRIP_UNARY (operands[4]))
17680 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17681 : : STRIP_UNARY (operands[4]))
17682 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17683 : : STRIP_UNARY (operands[3]))
17684 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17685 : : STRIP_UNARY (operands[3])))))
17686 : : return -1;
17687 : : return 5586; /* *avx512vl_vpternlogv16qi_1 */
17688 : :
17689 : : case 3:
17690 : : if (!(
17691 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17692 : : ((64 == 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 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17704 : : (TARGET_AVX512F)))
17705 : : return -1;
17706 : : return 5613; /* *avx512bw_vpternlogv32hi_1 */
17707 : :
17708 : : case 4:
17709 : : if (!(
17710 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17711 : : ((32 == 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 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17723 : : (TARGET_AVX)))
17724 : : return -1;
17725 : : return 5640; /* *avx512vl_vpternlogv16hi_1 */
17726 : :
17727 : : case 5:
17728 : : if (!
17729 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17730 : : ((16 == 64 || TARGET_AVX512VL
17731 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17732 : : && ix86_pre_reload_split ()
17733 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17734 : : STRIP_UNARY (operands[4]))
17735 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17736 : : STRIP_UNARY (operands[4]))
17737 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17738 : : STRIP_UNARY (operands[3]))
17739 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17740 : : STRIP_UNARY (operands[3])))))
17741 : : return -1;
17742 : : return 5667; /* *avx512vl_vpternlogv8hi_1 */
17743 : :
17744 : : case 6:
17745 : : if (!(
17746 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17747 : : ((64 == 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 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17759 : : (TARGET_AVX512F)))
17760 : : return -1;
17761 : : return 5694; /* *avx512f_vpternlogv16si_1 */
17762 : :
17763 : : case 7:
17764 : : if (!(
17765 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17766 : : ((32 == 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 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17778 : : (TARGET_AVX)))
17779 : : return -1;
17780 : : return 5721; /* *avx512vl_vpternlogv8si_1 */
17781 : :
17782 : : case 8:
17783 : : if (!
17784 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17785 : : ((16 == 64 || TARGET_AVX512VL
17786 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17787 : : && ix86_pre_reload_split ()
17788 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17789 : : STRIP_UNARY (operands[4]))
17790 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17791 : : STRIP_UNARY (operands[4]))
17792 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17793 : : STRIP_UNARY (operands[3]))
17794 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17795 : : STRIP_UNARY (operands[3])))))
17796 : : return -1;
17797 : : return 5748; /* *avx512vl_vpternlogv4si_1 */
17798 : :
17799 : : case 9:
17800 : : if (!(
17801 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17802 : : ((64 == 64 || TARGET_AVX512VL
17803 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17804 : : && ix86_pre_reload_split ()
17805 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17806 : : STRIP_UNARY (operands[4]))
17807 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17808 : : STRIP_UNARY (operands[4]))
17809 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17810 : : STRIP_UNARY (operands[3]))
17811 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17812 : : STRIP_UNARY (operands[3])))) &&
17813 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17814 : : (TARGET_AVX512F)))
17815 : : return -1;
17816 : : return 5775; /* *avx512f_vpternlogv8di_1 */
17817 : :
17818 : : case 10:
17819 : : if (!(
17820 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17821 : : ((32 == 64 || TARGET_AVX512VL
17822 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17823 : : && ix86_pre_reload_split ()
17824 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17825 : : STRIP_UNARY (operands[4]))
17826 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17827 : : STRIP_UNARY (operands[4]))
17828 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17829 : : STRIP_UNARY (operands[3]))
17830 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17831 : : STRIP_UNARY (operands[3])))) &&
17832 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17833 : : (TARGET_AVX)))
17834 : : return -1;
17835 : : return 5802; /* *avx512vl_vpternlogv4di_1 */
17836 : :
17837 : : case 11:
17838 : : if (!
17839 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17840 : : ((16 == 64 || TARGET_AVX512VL
17841 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17842 : : && ix86_pre_reload_split ()
17843 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17844 : : STRIP_UNARY (operands[4]))
17845 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17846 : : STRIP_UNARY (operands[4]))
17847 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17848 : : STRIP_UNARY (operands[3]))
17849 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17850 : : STRIP_UNARY (operands[3])))))
17851 : : return -1;
17852 : : return 5829; /* *avx512vl_vpternlogv2di_1 */
17853 : :
17854 : : case 12:
17855 : : if (!(
17856 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17857 : : ((64 == 64 || TARGET_AVX512VL
17858 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17859 : : && ix86_pre_reload_split ()
17860 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17861 : : STRIP_UNARY (operands[4]))
17862 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17863 : : STRIP_UNARY (operands[4]))
17864 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17865 : : STRIP_UNARY (operands[3]))
17866 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17867 : : STRIP_UNARY (operands[3])))) &&
17868 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17869 : : (TARGET_AVX512F)))
17870 : : return -1;
17871 : : return 5535; /* *avx512bw_vpternlogv64qi_1 */
17872 : :
17873 : : case 13:
17874 : : if (!(
17875 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17876 : : ((32 == 64 || TARGET_AVX512VL
17877 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17878 : : && ix86_pre_reload_split ()
17879 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17880 : : STRIP_UNARY (operands[4]))
17881 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17882 : : STRIP_UNARY (operands[4]))
17883 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17884 : : STRIP_UNARY (operands[3]))
17885 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17886 : : STRIP_UNARY (operands[3])))) &&
17887 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17888 : : (TARGET_AVX)))
17889 : : return -1;
17890 : : return 5562; /* *avx512vl_vpternlogv32qi_1 */
17891 : :
17892 : : case 14:
17893 : : if (!
17894 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17895 : : ((16 == 64 || TARGET_AVX512VL
17896 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17897 : : && ix86_pre_reload_split ()
17898 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17899 : : STRIP_UNARY (operands[4]))
17900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17901 : : STRIP_UNARY (operands[4]))
17902 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17903 : : STRIP_UNARY (operands[3]))
17904 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17905 : : STRIP_UNARY (operands[3])))))
17906 : : return -1;
17907 : : return 5589; /* *avx512vl_vpternlogv16qi_1 */
17908 : :
17909 : : case 15:
17910 : : if (!(
17911 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17912 : : ((64 == 64 || TARGET_AVX512VL
17913 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17914 : : && ix86_pre_reload_split ()
17915 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17916 : : STRIP_UNARY (operands[4]))
17917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17918 : : STRIP_UNARY (operands[4]))
17919 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17920 : : STRIP_UNARY (operands[3]))
17921 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17922 : : STRIP_UNARY (operands[3])))) &&
17923 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17924 : : (TARGET_AVX512F)))
17925 : : return -1;
17926 : : return 5616; /* *avx512bw_vpternlogv32hi_1 */
17927 : :
17928 : : case 16:
17929 : : if (!(
17930 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17931 : : ((32 == 64 || TARGET_AVX512VL
17932 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17933 : : && ix86_pre_reload_split ()
17934 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17935 : : STRIP_UNARY (operands[4]))
17936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17937 : : STRIP_UNARY (operands[4]))
17938 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17939 : : STRIP_UNARY (operands[3]))
17940 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17941 : : STRIP_UNARY (operands[3])))) &&
17942 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17943 : : (TARGET_AVX)))
17944 : : return -1;
17945 : : return 5643; /* *avx512vl_vpternlogv16hi_1 */
17946 : :
17947 : : case 17:
17948 : : if (!
17949 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17950 : : ((16 == 64 || TARGET_AVX512VL
17951 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17952 : : && ix86_pre_reload_split ()
17953 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17954 : : STRIP_UNARY (operands[4]))
17955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17956 : : STRIP_UNARY (operands[4]))
17957 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17958 : : STRIP_UNARY (operands[3]))
17959 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17960 : : STRIP_UNARY (operands[3])))))
17961 : : return -1;
17962 : : return 5670; /* *avx512vl_vpternlogv8hi_1 */
17963 : :
17964 : : case 18:
17965 : : if (!(
17966 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17967 : : ((64 == 64 || TARGET_AVX512VL
17968 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17969 : : && ix86_pre_reload_split ()
17970 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17971 : : STRIP_UNARY (operands[4]))
17972 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17973 : : STRIP_UNARY (operands[4]))
17974 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17975 : : STRIP_UNARY (operands[3]))
17976 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17977 : : STRIP_UNARY (operands[3])))) &&
17978 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17979 : : (TARGET_AVX512F)))
17980 : : return -1;
17981 : : return 5697; /* *avx512f_vpternlogv16si_1 */
17982 : :
17983 : : case 19:
17984 : : if (!(
17985 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17986 : : ((32 == 64 || TARGET_AVX512VL
17987 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17988 : : && ix86_pre_reload_split ()
17989 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17990 : : STRIP_UNARY (operands[4]))
17991 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17992 : : STRIP_UNARY (operands[4]))
17993 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17994 : : STRIP_UNARY (operands[3]))
17995 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17996 : : STRIP_UNARY (operands[3])))) &&
17997 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17998 : : (TARGET_AVX)))
17999 : : return -1;
18000 : : return 5724; /* *avx512vl_vpternlogv8si_1 */
18001 : :
18002 : : case 20:
18003 : : if (!
18004 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18005 : : ((16 == 64 || TARGET_AVX512VL
18006 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18007 : : && ix86_pre_reload_split ()
18008 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18009 : : STRIP_UNARY (operands[4]))
18010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18011 : : STRIP_UNARY (operands[4]))
18012 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18013 : : STRIP_UNARY (operands[3]))
18014 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18015 : : STRIP_UNARY (operands[3])))))
18016 : : return -1;
18017 : : return 5751; /* *avx512vl_vpternlogv4si_1 */
18018 : :
18019 : : case 21:
18020 : : if (!(
18021 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18022 : : ((64 == 64 || TARGET_AVX512VL
18023 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18024 : : && ix86_pre_reload_split ()
18025 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18026 : : STRIP_UNARY (operands[4]))
18027 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18028 : : STRIP_UNARY (operands[4]))
18029 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18030 : : STRIP_UNARY (operands[3]))
18031 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18032 : : STRIP_UNARY (operands[3])))) &&
18033 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18034 : : (TARGET_AVX512F)))
18035 : : return -1;
18036 : : return 5778; /* *avx512f_vpternlogv8di_1 */
18037 : :
18038 : : case 22:
18039 : : if (!(
18040 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18041 : : ((32 == 64 || TARGET_AVX512VL
18042 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18043 : : && ix86_pre_reload_split ()
18044 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18045 : : STRIP_UNARY (operands[4]))
18046 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18047 : : STRIP_UNARY (operands[4]))
18048 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18049 : : STRIP_UNARY (operands[3]))
18050 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18051 : : STRIP_UNARY (operands[3])))) &&
18052 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18053 : : (TARGET_AVX)))
18054 : : return -1;
18055 : : return 5805; /* *avx512vl_vpternlogv4di_1 */
18056 : :
18057 : : case 23:
18058 : : if (!
18059 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18060 : : ((16 == 64 || TARGET_AVX512VL
18061 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18062 : : && ix86_pre_reload_split ()
18063 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18064 : : STRIP_UNARY (operands[4]))
18065 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18066 : : STRIP_UNARY (operands[4]))
18067 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18068 : : STRIP_UNARY (operands[3]))
18069 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18070 : : STRIP_UNARY (operands[3])))))
18071 : : return -1;
18072 : : return 5832; /* *avx512vl_vpternlogv2di_1 */
18073 : :
18074 : : case 24:
18075 : : if (!(
18076 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18077 : : ((64 == 64 || TARGET_AVX512VL
18078 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18079 : : && ix86_pre_reload_split ()
18080 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18081 : : STRIP_UNARY (operands[4]))
18082 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18083 : : STRIP_UNARY (operands[4]))
18084 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18085 : : STRIP_UNARY (operands[3]))
18086 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18087 : : STRIP_UNARY (operands[3])))) &&
18088 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18089 : : (TARGET_AVX512F)))
18090 : : return -1;
18091 : : return 5538; /* *avx512bw_vpternlogv64qi_1 */
18092 : :
18093 : : case 25:
18094 : : if (!(
18095 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18096 : : ((32 == 64 || TARGET_AVX512VL
18097 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18098 : : && ix86_pre_reload_split ()
18099 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18100 : : STRIP_UNARY (operands[4]))
18101 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18102 : : STRIP_UNARY (operands[4]))
18103 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18104 : : STRIP_UNARY (operands[3]))
18105 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18106 : : STRIP_UNARY (operands[3])))) &&
18107 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18108 : : (TARGET_AVX)))
18109 : : return -1;
18110 : : return 5565; /* *avx512vl_vpternlogv32qi_1 */
18111 : :
18112 : : case 26:
18113 : : if (!
18114 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18115 : : ((16 == 64 || TARGET_AVX512VL
18116 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18117 : : && ix86_pre_reload_split ()
18118 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18119 : : STRIP_UNARY (operands[4]))
18120 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18121 : : STRIP_UNARY (operands[4]))
18122 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18123 : : STRIP_UNARY (operands[3]))
18124 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18125 : : STRIP_UNARY (operands[3])))))
18126 : : return -1;
18127 : : return 5592; /* *avx512vl_vpternlogv16qi_1 */
18128 : :
18129 : : case 27:
18130 : : if (!(
18131 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18132 : : ((64 == 64 || TARGET_AVX512VL
18133 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18134 : : && ix86_pre_reload_split ()
18135 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18136 : : STRIP_UNARY (operands[4]))
18137 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18138 : : STRIP_UNARY (operands[4]))
18139 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18140 : : STRIP_UNARY (operands[3]))
18141 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18142 : : STRIP_UNARY (operands[3])))) &&
18143 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18144 : : (TARGET_AVX512F)))
18145 : : return -1;
18146 : : return 5619; /* *avx512bw_vpternlogv32hi_1 */
18147 : :
18148 : : case 28:
18149 : : if (!(
18150 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18151 : : ((32 == 64 || TARGET_AVX512VL
18152 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18153 : : && ix86_pre_reload_split ()
18154 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18155 : : STRIP_UNARY (operands[4]))
18156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18157 : : STRIP_UNARY (operands[4]))
18158 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18159 : : STRIP_UNARY (operands[3]))
18160 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18161 : : STRIP_UNARY (operands[3])))) &&
18162 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18163 : : (TARGET_AVX)))
18164 : : return -1;
18165 : : return 5646; /* *avx512vl_vpternlogv16hi_1 */
18166 : :
18167 : : case 29:
18168 : : if (!
18169 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18170 : : ((16 == 64 || TARGET_AVX512VL
18171 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18172 : : && ix86_pre_reload_split ()
18173 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18174 : : STRIP_UNARY (operands[4]))
18175 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18176 : : STRIP_UNARY (operands[4]))
18177 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18178 : : STRIP_UNARY (operands[3]))
18179 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18180 : : STRIP_UNARY (operands[3])))))
18181 : : return -1;
18182 : : return 5673; /* *avx512vl_vpternlogv8hi_1 */
18183 : :
18184 : : case 30:
18185 : : if (!(
18186 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18187 : : ((64 == 64 || TARGET_AVX512VL
18188 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18189 : : && ix86_pre_reload_split ()
18190 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18191 : : STRIP_UNARY (operands[4]))
18192 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18193 : : STRIP_UNARY (operands[4]))
18194 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18195 : : STRIP_UNARY (operands[3]))
18196 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18197 : : STRIP_UNARY (operands[3])))) &&
18198 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18199 : : (TARGET_AVX512F)))
18200 : : return -1;
18201 : : return 5700; /* *avx512f_vpternlogv16si_1 */
18202 : :
18203 : : case 31:
18204 : : if (!(
18205 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18206 : : ((32 == 64 || TARGET_AVX512VL
18207 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18208 : : && ix86_pre_reload_split ()
18209 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18210 : : STRIP_UNARY (operands[4]))
18211 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18212 : : STRIP_UNARY (operands[4]))
18213 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18214 : : STRIP_UNARY (operands[3]))
18215 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18216 : : STRIP_UNARY (operands[3])))) &&
18217 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18218 : : (TARGET_AVX)))
18219 : : return -1;
18220 : : return 5727; /* *avx512vl_vpternlogv8si_1 */
18221 : :
18222 : : case 32:
18223 : : if (!
18224 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18225 : : ((16 == 64 || TARGET_AVX512VL
18226 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18227 : : && ix86_pre_reload_split ()
18228 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18229 : : STRIP_UNARY (operands[4]))
18230 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18231 : : STRIP_UNARY (operands[4]))
18232 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18233 : : STRIP_UNARY (operands[3]))
18234 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18235 : : STRIP_UNARY (operands[3])))))
18236 : : return -1;
18237 : : return 5754; /* *avx512vl_vpternlogv4si_1 */
18238 : :
18239 : : case 33:
18240 : : if (!(
18241 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18242 : : ((64 == 64 || TARGET_AVX512VL
18243 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18244 : : && ix86_pre_reload_split ()
18245 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18246 : : STRIP_UNARY (operands[4]))
18247 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18248 : : STRIP_UNARY (operands[4]))
18249 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18250 : : STRIP_UNARY (operands[3]))
18251 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18252 : : STRIP_UNARY (operands[3])))) &&
18253 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18254 : : (TARGET_AVX512F)))
18255 : : return -1;
18256 : : return 5781; /* *avx512f_vpternlogv8di_1 */
18257 : :
18258 : : case 34:
18259 : : if (!(
18260 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18261 : : ((32 == 64 || TARGET_AVX512VL
18262 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18263 : : && ix86_pre_reload_split ()
18264 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18265 : : STRIP_UNARY (operands[4]))
18266 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18267 : : STRIP_UNARY (operands[4]))
18268 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18269 : : STRIP_UNARY (operands[3]))
18270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18271 : : STRIP_UNARY (operands[3])))) &&
18272 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18273 : : (TARGET_AVX)))
18274 : : return -1;
18275 : : return 5808; /* *avx512vl_vpternlogv4di_1 */
18276 : :
18277 : : case 35:
18278 : : if (!
18279 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18280 : : ((16 == 64 || TARGET_AVX512VL
18281 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18282 : : && ix86_pre_reload_split ()
18283 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18284 : : STRIP_UNARY (operands[4]))
18285 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18286 : : STRIP_UNARY (operands[4]))
18287 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18288 : : STRIP_UNARY (operands[3]))
18289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18290 : : STRIP_UNARY (operands[3])))))
18291 : : return -1;
18292 : : return 5835; /* *avx512vl_vpternlogv2di_1 */
18293 : :
18294 : : case 36:
18295 : : if (!(
18296 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18297 : : ((64 == 64 || TARGET_AVX512VL
18298 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18299 : : && ix86_pre_reload_split ()) &&
18300 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18301 : : (TARGET_AVX512F)))
18302 : : return -1;
18303 : : return 6828; /* *avx512bw_vpternlogv64qi_3 */
18304 : :
18305 : : case 37:
18306 : : if (!(
18307 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18308 : : ((32 == 64 || TARGET_AVX512VL
18309 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18310 : : && ix86_pre_reload_split ()) &&
18311 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18312 : : (TARGET_AVX)))
18313 : : return -1;
18314 : : return 6837; /* *avx512vl_vpternlogv32qi_3 */
18315 : :
18316 : : case 38:
18317 : : if (!
18318 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18319 : : ((16 == 64 || TARGET_AVX512VL
18320 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18321 : : && ix86_pre_reload_split ()))
18322 : : return -1;
18323 : : return 6846; /* *avx512vl_vpternlogv16qi_3 */
18324 : :
18325 : : case 39:
18326 : : if (!(
18327 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18328 : : ((64 == 64 || TARGET_AVX512VL
18329 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18330 : : && ix86_pre_reload_split ()) &&
18331 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18332 : : (TARGET_AVX512F)))
18333 : : return -1;
18334 : : return 6855; /* *avx512bw_vpternlogv32hi_3 */
18335 : :
18336 : : case 40:
18337 : : if (!(
18338 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18339 : : ((32 == 64 || TARGET_AVX512VL
18340 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18341 : : && ix86_pre_reload_split ()) &&
18342 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18343 : : (TARGET_AVX)))
18344 : : return -1;
18345 : : return 6864; /* *avx512vl_vpternlogv16hi_3 */
18346 : :
18347 : : case 41:
18348 : : if (!
18349 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18350 : : ((16 == 64 || TARGET_AVX512VL
18351 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18352 : : && ix86_pre_reload_split ()))
18353 : : return -1;
18354 : : return 6873; /* *avx512vl_vpternlogv8hi_3 */
18355 : :
18356 : : case 42:
18357 : : if (!(
18358 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18359 : : ((64 == 64 || TARGET_AVX512VL
18360 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18361 : : && ix86_pre_reload_split ()) &&
18362 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18363 : : (TARGET_AVX512F)))
18364 : : return -1;
18365 : : return 6882; /* *avx512f_vpternlogv16si_3 */
18366 : :
18367 : : case 43:
18368 : : if (!(
18369 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18370 : : ((32 == 64 || TARGET_AVX512VL
18371 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18372 : : && ix86_pre_reload_split ()) &&
18373 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18374 : : (TARGET_AVX)))
18375 : : return -1;
18376 : : return 6891; /* *avx512vl_vpternlogv8si_3 */
18377 : :
18378 : : case 44:
18379 : : if (!
18380 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18381 : : ((16 == 64 || TARGET_AVX512VL
18382 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18383 : : && ix86_pre_reload_split ()))
18384 : : return -1;
18385 : : return 6900; /* *avx512vl_vpternlogv4si_3 */
18386 : :
18387 : : case 45:
18388 : : if (!(
18389 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18390 : : ((64 == 64 || TARGET_AVX512VL
18391 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18392 : : && ix86_pre_reload_split ()) &&
18393 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18394 : : (TARGET_AVX512F)))
18395 : : return -1;
18396 : : return 6909; /* *avx512f_vpternlogv8di_3 */
18397 : :
18398 : : case 46:
18399 : : if (!(
18400 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18401 : : ((32 == 64 || TARGET_AVX512VL
18402 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18403 : : && ix86_pre_reload_split ()) &&
18404 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18405 : : (TARGET_AVX)))
18406 : : return -1;
18407 : : return 6918; /* *avx512vl_vpternlogv4di_3 */
18408 : :
18409 : : case 47:
18410 : : if (!
18411 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18412 : : ((16 == 64 || TARGET_AVX512VL
18413 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18414 : : && ix86_pre_reload_split ()))
18415 : : return -1;
18416 : : return 6927; /* *avx512vl_vpternlogv2di_3 */
18417 : :
18418 : : default:
18419 : : return -1;
18420 : : }
18421 : :
18422 : : case AND:
18423 : : switch (pattern532 (x2))
18424 : : {
18425 : : case 0:
18426 : : if (!(
18427 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18428 : : ((64 == 64 || TARGET_AVX512VL
18429 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18430 : : && ix86_pre_reload_split ()
18431 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18432 : : STRIP_UNARY (operands[4]))
18433 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18434 : : STRIP_UNARY (operands[4]))
18435 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18436 : : STRIP_UNARY (operands[3]))
18437 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18438 : : STRIP_UNARY (operands[3])))) &&
18439 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18440 : : (TARGET_AVX512F)))
18441 : : return -1;
18442 : : return 6180; /* *avx512bw_vpternlogv64qi_2 */
18443 : :
18444 : : case 1:
18445 : : if (!(
18446 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18447 : : ((32 == 64 || TARGET_AVX512VL
18448 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18449 : : && ix86_pre_reload_split ()
18450 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18451 : : STRIP_UNARY (operands[4]))
18452 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18453 : : STRIP_UNARY (operands[4]))
18454 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18455 : : STRIP_UNARY (operands[3]))
18456 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18457 : : STRIP_UNARY (operands[3])))) &&
18458 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18459 : : (TARGET_AVX)))
18460 : : return -1;
18461 : : return 6207; /* *avx512vl_vpternlogv32qi_2 */
18462 : :
18463 : : case 2:
18464 : : if (!
18465 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18466 : : ((16 == 64 || TARGET_AVX512VL
18467 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18468 : : && ix86_pre_reload_split ()
18469 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18470 : : STRIP_UNARY (operands[4]))
18471 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18472 : : STRIP_UNARY (operands[4]))
18473 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18474 : : STRIP_UNARY (operands[3]))
18475 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18476 : : STRIP_UNARY (operands[3])))))
18477 : : return -1;
18478 : : return 6234; /* *avx512vl_vpternlogv16qi_2 */
18479 : :
18480 : : case 3:
18481 : : if (!(
18482 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18483 : : ((64 == 64 || TARGET_AVX512VL
18484 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18485 : : && ix86_pre_reload_split ()
18486 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18487 : : STRIP_UNARY (operands[4]))
18488 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18489 : : STRIP_UNARY (operands[4]))
18490 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18491 : : STRIP_UNARY (operands[3]))
18492 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18493 : : STRIP_UNARY (operands[3])))) &&
18494 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18495 : : (TARGET_AVX512F)))
18496 : : return -1;
18497 : : return 6261; /* *avx512bw_vpternlogv32hi_2 */
18498 : :
18499 : : case 4:
18500 : : if (!(
18501 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18502 : : ((32 == 64 || TARGET_AVX512VL
18503 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18504 : : && ix86_pre_reload_split ()
18505 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18506 : : STRIP_UNARY (operands[4]))
18507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18508 : : STRIP_UNARY (operands[4]))
18509 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18510 : : STRIP_UNARY (operands[3]))
18511 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18512 : : STRIP_UNARY (operands[3])))) &&
18513 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18514 : : (TARGET_AVX)))
18515 : : return -1;
18516 : : return 6288; /* *avx512vl_vpternlogv16hi_2 */
18517 : :
18518 : : case 5:
18519 : : if (!
18520 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18521 : : ((16 == 64 || TARGET_AVX512VL
18522 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18523 : : && ix86_pre_reload_split ()
18524 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18525 : : STRIP_UNARY (operands[4]))
18526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18527 : : STRIP_UNARY (operands[4]))
18528 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18529 : : STRIP_UNARY (operands[3]))
18530 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18531 : : STRIP_UNARY (operands[3])))))
18532 : : return -1;
18533 : : return 6315; /* *avx512vl_vpternlogv8hi_2 */
18534 : :
18535 : : case 6:
18536 : : if (!(
18537 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18538 : : ((64 == 64 || TARGET_AVX512VL
18539 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18540 : : && ix86_pre_reload_split ()
18541 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18542 : : STRIP_UNARY (operands[4]))
18543 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18544 : : STRIP_UNARY (operands[4]))
18545 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18546 : : STRIP_UNARY (operands[3]))
18547 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18548 : : STRIP_UNARY (operands[3])))) &&
18549 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18550 : : (TARGET_AVX512F)))
18551 : : return -1;
18552 : : return 6342; /* *avx512f_vpternlogv16si_2 */
18553 : :
18554 : : case 7:
18555 : : if (!(
18556 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18557 : : ((32 == 64 || TARGET_AVX512VL
18558 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18559 : : && ix86_pre_reload_split ()
18560 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18561 : : STRIP_UNARY (operands[4]))
18562 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18563 : : STRIP_UNARY (operands[4]))
18564 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18565 : : STRIP_UNARY (operands[3]))
18566 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18567 : : STRIP_UNARY (operands[3])))) &&
18568 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18569 : : (TARGET_AVX)))
18570 : : return -1;
18571 : : return 6369; /* *avx512vl_vpternlogv8si_2 */
18572 : :
18573 : : case 8:
18574 : : if (!
18575 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18576 : : ((16 == 64 || TARGET_AVX512VL
18577 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18578 : : && ix86_pre_reload_split ()
18579 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18580 : : STRIP_UNARY (operands[4]))
18581 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18582 : : STRIP_UNARY (operands[4]))
18583 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18584 : : STRIP_UNARY (operands[3]))
18585 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18586 : : STRIP_UNARY (operands[3])))))
18587 : : return -1;
18588 : : return 6396; /* *avx512vl_vpternlogv4si_2 */
18589 : :
18590 : : case 9:
18591 : : if (!(
18592 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18593 : : ((64 == 64 || TARGET_AVX512VL
18594 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18595 : : && ix86_pre_reload_split ()
18596 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18597 : : STRIP_UNARY (operands[4]))
18598 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18599 : : STRIP_UNARY (operands[4]))
18600 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18601 : : STRIP_UNARY (operands[3]))
18602 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18603 : : STRIP_UNARY (operands[3])))) &&
18604 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18605 : : (TARGET_AVX512F)))
18606 : : return -1;
18607 : : return 6423; /* *avx512f_vpternlogv8di_2 */
18608 : :
18609 : : case 10:
18610 : : if (!(
18611 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18612 : : ((32 == 64 || TARGET_AVX512VL
18613 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18614 : : && ix86_pre_reload_split ()
18615 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18616 : : STRIP_UNARY (operands[4]))
18617 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18618 : : STRIP_UNARY (operands[4]))
18619 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18620 : : STRIP_UNARY (operands[3]))
18621 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18622 : : STRIP_UNARY (operands[3])))) &&
18623 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18624 : : (TARGET_AVX)))
18625 : : return -1;
18626 : : return 6450; /* *avx512vl_vpternlogv4di_2 */
18627 : :
18628 : : case 11:
18629 : : if (!
18630 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18631 : : ((16 == 64 || TARGET_AVX512VL
18632 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18633 : : && ix86_pre_reload_split ()
18634 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18635 : : STRIP_UNARY (operands[4]))
18636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18637 : : STRIP_UNARY (operands[4]))
18638 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18639 : : STRIP_UNARY (operands[3]))
18640 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18641 : : STRIP_UNARY (operands[3])))))
18642 : : return -1;
18643 : : return 6477; /* *avx512vl_vpternlogv2di_2 */
18644 : :
18645 : : default:
18646 : : return -1;
18647 : : }
18648 : :
18649 : : case IOR:
18650 : : switch (pattern532 (x2))
18651 : : {
18652 : : case 0:
18653 : : if (!(
18654 : : #line 14135 "/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 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18667 : : (TARGET_AVX512F)))
18668 : : return -1;
18669 : : return 6183; /* *avx512bw_vpternlogv64qi_2 */
18670 : :
18671 : : case 1:
18672 : : if (!(
18673 : : #line 14135 "/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 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18686 : : (TARGET_AVX)))
18687 : : return -1;
18688 : : return 6210; /* *avx512vl_vpternlogv32qi_2 */
18689 : :
18690 : : case 2:
18691 : : if (!
18692 : : #line 14135 "/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 : : return -1;
18705 : : return 6237; /* *avx512vl_vpternlogv16qi_2 */
18706 : :
18707 : : case 3:
18708 : : if (!(
18709 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18710 : : ((64 == 64 || TARGET_AVX512VL
18711 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18712 : : && ix86_pre_reload_split ()
18713 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18714 : : STRIP_UNARY (operands[4]))
18715 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18716 : : STRIP_UNARY (operands[4]))
18717 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18718 : : STRIP_UNARY (operands[3]))
18719 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18720 : : STRIP_UNARY (operands[3])))) &&
18721 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18722 : : (TARGET_AVX512F)))
18723 : : return -1;
18724 : : return 6264; /* *avx512bw_vpternlogv32hi_2 */
18725 : :
18726 : : case 4:
18727 : : if (!(
18728 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18729 : : ((32 == 64 || TARGET_AVX512VL
18730 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18731 : : && ix86_pre_reload_split ()
18732 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18733 : : STRIP_UNARY (operands[4]))
18734 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18735 : : STRIP_UNARY (operands[4]))
18736 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18737 : : STRIP_UNARY (operands[3]))
18738 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18739 : : STRIP_UNARY (operands[3])))) &&
18740 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18741 : : (TARGET_AVX)))
18742 : : return -1;
18743 : : return 6291; /* *avx512vl_vpternlogv16hi_2 */
18744 : :
18745 : : case 5:
18746 : : if (!
18747 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18748 : : ((16 == 64 || TARGET_AVX512VL
18749 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18750 : : && ix86_pre_reload_split ()
18751 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18752 : : STRIP_UNARY (operands[4]))
18753 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18754 : : STRIP_UNARY (operands[4]))
18755 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18756 : : STRIP_UNARY (operands[3]))
18757 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18758 : : STRIP_UNARY (operands[3])))))
18759 : : return -1;
18760 : : return 6318; /* *avx512vl_vpternlogv8hi_2 */
18761 : :
18762 : : case 6:
18763 : : if (!(
18764 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18765 : : ((64 == 64 || TARGET_AVX512VL
18766 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18767 : : && ix86_pre_reload_split ()
18768 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18769 : : STRIP_UNARY (operands[4]))
18770 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18771 : : STRIP_UNARY (operands[4]))
18772 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18773 : : STRIP_UNARY (operands[3]))
18774 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18775 : : STRIP_UNARY (operands[3])))) &&
18776 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18777 : : (TARGET_AVX512F)))
18778 : : return -1;
18779 : : return 6345; /* *avx512f_vpternlogv16si_2 */
18780 : :
18781 : : case 7:
18782 : : if (!(
18783 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18784 : : ((32 == 64 || TARGET_AVX512VL
18785 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18786 : : && ix86_pre_reload_split ()
18787 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18788 : : STRIP_UNARY (operands[4]))
18789 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18790 : : STRIP_UNARY (operands[4]))
18791 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18792 : : STRIP_UNARY (operands[3]))
18793 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18794 : : STRIP_UNARY (operands[3])))) &&
18795 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18796 : : (TARGET_AVX)))
18797 : : return -1;
18798 : : return 6372; /* *avx512vl_vpternlogv8si_2 */
18799 : :
18800 : : case 8:
18801 : : if (!
18802 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18803 : : ((16 == 64 || TARGET_AVX512VL
18804 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18805 : : && ix86_pre_reload_split ()
18806 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18807 : : STRIP_UNARY (operands[4]))
18808 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18809 : : STRIP_UNARY (operands[4]))
18810 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18811 : : STRIP_UNARY (operands[3]))
18812 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18813 : : STRIP_UNARY (operands[3])))))
18814 : : return -1;
18815 : : return 6399; /* *avx512vl_vpternlogv4si_2 */
18816 : :
18817 : : case 9:
18818 : : if (!(
18819 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18820 : : ((64 == 64 || TARGET_AVX512VL
18821 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18822 : : && ix86_pre_reload_split ()
18823 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18824 : : STRIP_UNARY (operands[4]))
18825 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18826 : : STRIP_UNARY (operands[4]))
18827 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18828 : : STRIP_UNARY (operands[3]))
18829 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18830 : : STRIP_UNARY (operands[3])))) &&
18831 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18832 : : (TARGET_AVX512F)))
18833 : : return -1;
18834 : : return 6426; /* *avx512f_vpternlogv8di_2 */
18835 : :
18836 : : case 10:
18837 : : if (!(
18838 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18839 : : ((32 == 64 || TARGET_AVX512VL
18840 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18841 : : && ix86_pre_reload_split ()
18842 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18843 : : STRIP_UNARY (operands[4]))
18844 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18845 : : STRIP_UNARY (operands[4]))
18846 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18847 : : STRIP_UNARY (operands[3]))
18848 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18849 : : STRIP_UNARY (operands[3])))) &&
18850 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18851 : : (TARGET_AVX)))
18852 : : return -1;
18853 : : return 6453; /* *avx512vl_vpternlogv4di_2 */
18854 : :
18855 : : case 11:
18856 : : if (!
18857 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18858 : : ((16 == 64 || TARGET_AVX512VL
18859 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18860 : : && ix86_pre_reload_split ()
18861 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18862 : : STRIP_UNARY (operands[4]))
18863 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18864 : : STRIP_UNARY (operands[4]))
18865 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18866 : : STRIP_UNARY (operands[3]))
18867 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18868 : : STRIP_UNARY (operands[3])))))
18869 : : return -1;
18870 : : return 6480; /* *avx512vl_vpternlogv2di_2 */
18871 : :
18872 : : default:
18873 : : return -1;
18874 : : }
18875 : :
18876 : : case XOR:
18877 : : switch (pattern532 (x2))
18878 : : {
18879 : : case 0:
18880 : : if (!(
18881 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18882 : : ((64 == 64 || TARGET_AVX512VL
18883 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18884 : : && ix86_pre_reload_split ()
18885 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18886 : : STRIP_UNARY (operands[4]))
18887 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18888 : : STRIP_UNARY (operands[4]))
18889 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18890 : : STRIP_UNARY (operands[3]))
18891 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18892 : : STRIP_UNARY (operands[3])))) &&
18893 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18894 : : (TARGET_AVX512F)))
18895 : : return -1;
18896 : : return 6186; /* *avx512bw_vpternlogv64qi_2 */
18897 : :
18898 : : case 1:
18899 : : if (!(
18900 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18901 : : ((32 == 64 || TARGET_AVX512VL
18902 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18903 : : && ix86_pre_reload_split ()
18904 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18905 : : STRIP_UNARY (operands[4]))
18906 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18907 : : STRIP_UNARY (operands[4]))
18908 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18909 : : STRIP_UNARY (operands[3]))
18910 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18911 : : STRIP_UNARY (operands[3])))) &&
18912 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18913 : : (TARGET_AVX)))
18914 : : return -1;
18915 : : return 6213; /* *avx512vl_vpternlogv32qi_2 */
18916 : :
18917 : : case 2:
18918 : : if (!
18919 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18920 : : ((16 == 64 || TARGET_AVX512VL
18921 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18922 : : && ix86_pre_reload_split ()
18923 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18924 : : STRIP_UNARY (operands[4]))
18925 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18926 : : STRIP_UNARY (operands[4]))
18927 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18928 : : STRIP_UNARY (operands[3]))
18929 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18930 : : STRIP_UNARY (operands[3])))))
18931 : : return -1;
18932 : : return 6240; /* *avx512vl_vpternlogv16qi_2 */
18933 : :
18934 : : case 3:
18935 : : if (!(
18936 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18937 : : ((64 == 64 || TARGET_AVX512VL
18938 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18939 : : && ix86_pre_reload_split ()
18940 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18941 : : STRIP_UNARY (operands[4]))
18942 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18943 : : STRIP_UNARY (operands[4]))
18944 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18945 : : STRIP_UNARY (operands[3]))
18946 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18947 : : STRIP_UNARY (operands[3])))) &&
18948 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18949 : : (TARGET_AVX512F)))
18950 : : return -1;
18951 : : return 6267; /* *avx512bw_vpternlogv32hi_2 */
18952 : :
18953 : : case 4:
18954 : : if (!(
18955 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18956 : : ((32 == 64 || TARGET_AVX512VL
18957 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18958 : : && ix86_pre_reload_split ()
18959 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18960 : : STRIP_UNARY (operands[4]))
18961 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18962 : : STRIP_UNARY (operands[4]))
18963 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18964 : : STRIP_UNARY (operands[3]))
18965 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18966 : : STRIP_UNARY (operands[3])))) &&
18967 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18968 : : (TARGET_AVX)))
18969 : : return -1;
18970 : : return 6294; /* *avx512vl_vpternlogv16hi_2 */
18971 : :
18972 : : case 5:
18973 : : if (!
18974 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18975 : : ((16 == 64 || TARGET_AVX512VL
18976 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18977 : : && ix86_pre_reload_split ()
18978 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18979 : : STRIP_UNARY (operands[4]))
18980 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18981 : : STRIP_UNARY (operands[4]))
18982 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18983 : : STRIP_UNARY (operands[3]))
18984 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18985 : : STRIP_UNARY (operands[3])))))
18986 : : return -1;
18987 : : return 6321; /* *avx512vl_vpternlogv8hi_2 */
18988 : :
18989 : : case 6:
18990 : : if (!(
18991 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18992 : : ((64 == 64 || TARGET_AVX512VL
18993 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18994 : : && ix86_pre_reload_split ()
18995 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18996 : : STRIP_UNARY (operands[4]))
18997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18998 : : STRIP_UNARY (operands[4]))
18999 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19000 : : STRIP_UNARY (operands[3]))
19001 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19002 : : STRIP_UNARY (operands[3])))) &&
19003 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19004 : : (TARGET_AVX512F)))
19005 : : return -1;
19006 : : return 6348; /* *avx512f_vpternlogv16si_2 */
19007 : :
19008 : : case 7:
19009 : : if (!(
19010 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19011 : : ((32 == 64 || TARGET_AVX512VL
19012 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19013 : : && ix86_pre_reload_split ()
19014 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19015 : : STRIP_UNARY (operands[4]))
19016 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19017 : : STRIP_UNARY (operands[4]))
19018 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19019 : : STRIP_UNARY (operands[3]))
19020 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19021 : : STRIP_UNARY (operands[3])))) &&
19022 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19023 : : (TARGET_AVX)))
19024 : : return -1;
19025 : : return 6375; /* *avx512vl_vpternlogv8si_2 */
19026 : :
19027 : : case 8:
19028 : : if (!
19029 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19030 : : ((16 == 64 || TARGET_AVX512VL
19031 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19032 : : && ix86_pre_reload_split ()
19033 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19034 : : STRIP_UNARY (operands[4]))
19035 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19036 : : STRIP_UNARY (operands[4]))
19037 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19038 : : STRIP_UNARY (operands[3]))
19039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19040 : : STRIP_UNARY (operands[3])))))
19041 : : return -1;
19042 : : return 6402; /* *avx512vl_vpternlogv4si_2 */
19043 : :
19044 : : case 9:
19045 : : if (!(
19046 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19047 : : ((64 == 64 || TARGET_AVX512VL
19048 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19049 : : && ix86_pre_reload_split ()
19050 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19051 : : STRIP_UNARY (operands[4]))
19052 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19053 : : STRIP_UNARY (operands[4]))
19054 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19055 : : STRIP_UNARY (operands[3]))
19056 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19057 : : STRIP_UNARY (operands[3])))) &&
19058 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19059 : : (TARGET_AVX512F)))
19060 : : return -1;
19061 : : return 6429; /* *avx512f_vpternlogv8di_2 */
19062 : :
19063 : : case 10:
19064 : : if (!(
19065 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19066 : : ((32 == 64 || TARGET_AVX512VL
19067 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19068 : : && ix86_pre_reload_split ()
19069 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19070 : : STRIP_UNARY (operands[4]))
19071 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19072 : : STRIP_UNARY (operands[4]))
19073 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19074 : : STRIP_UNARY (operands[3]))
19075 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19076 : : STRIP_UNARY (operands[3])))) &&
19077 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19078 : : (TARGET_AVX)))
19079 : : return -1;
19080 : : return 6456; /* *avx512vl_vpternlogv4di_2 */
19081 : :
19082 : : case 11:
19083 : : if (!
19084 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19085 : : ((16 == 64 || TARGET_AVX512VL
19086 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19087 : : && ix86_pre_reload_split ()
19088 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19089 : : STRIP_UNARY (operands[4]))
19090 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19091 : : STRIP_UNARY (operands[4]))
19092 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19093 : : STRIP_UNARY (operands[3]))
19094 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19095 : : STRIP_UNARY (operands[3])))))
19096 : : return -1;
19097 : : return 6483; /* *avx512vl_vpternlogv2di_2 */
19098 : :
19099 : : default:
19100 : : return -1;
19101 : : }
19102 : :
19103 : : default:
19104 : : return -1;
19105 : : }
19106 : :
19107 : : case IOR:
19108 : : return recog_310 (x1, insn, pnum_clobbers);
19109 : :
19110 : : case XOR:
19111 : : return recog_309 (x1, insn, pnum_clobbers);
19112 : :
19113 : : default:
19114 : : return -1;
19115 : : }
19116 : : }
19117 : :
19118 : : int
19119 : : recog_324 (rtx x1 ATTRIBUTE_UNUSED,
19120 : : rtx_insn *insn ATTRIBUTE_UNUSED,
19121 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
19122 : : {
19123 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19124 : : rtx x2, x3, x4, x5, x6, x7, x8;
19125 : : int res ATTRIBUTE_UNUSED;
19126 : : x2 = XEXP (x1, 0);
19127 : : operands[0] = x2;
19128 : : x3 = XEXP (x1, 1);
19129 : : x4 = XEXP (x3, 0);
19130 : : switch (GET_CODE (x4))
19131 : : {
19132 : : case UNSPEC:
19133 : : return recog_188 (x1, insn, pnum_clobbers);
19134 : :
19135 : : case VEC_MERGE:
19136 : : return recog_185 (x1, insn, pnum_clobbers);
19137 : :
19138 : : case PLUS:
19139 : : return recog_208 (x1, insn, pnum_clobbers);
19140 : :
19141 : : case MINUS:
19142 : : return recog_196 (x1, insn, pnum_clobbers);
19143 : :
19144 : : case VEC_DUPLICATE:
19145 : : return recog_183 (x1, insn, pnum_clobbers);
19146 : :
19147 : : case MULT:
19148 : : return recog_190 (x1, insn, pnum_clobbers);
19149 : :
19150 : : case DIV:
19151 : : return recog_207 (x1, insn, pnum_clobbers);
19152 : :
19153 : : case SQRT:
19154 : : return recog_202 (x1, insn, pnum_clobbers);
19155 : :
19156 : : case SMAX:
19157 : : return recog_200 (x1, insn, pnum_clobbers);
19158 : :
19159 : : case SMIN:
19160 : : return recog_201 (x1, insn, pnum_clobbers);
19161 : :
19162 : : case CONST_INT:
19163 : : case CONST_DOUBLE:
19164 : : case CONST_VECTOR:
19165 : : case REG:
19166 : : case SUBREG:
19167 : : case MEM:
19168 : : return recog_182 (x1, insn, pnum_clobbers);
19169 : :
19170 : : case NE:
19171 : : case EQ:
19172 : : case GE:
19173 : : case GT:
19174 : : case LE:
19175 : : case LT:
19176 : : case LTGT:
19177 : : case UNORDERED:
19178 : : case ORDERED:
19179 : : case UNEQ:
19180 : : case UNGE:
19181 : : case UNGT:
19182 : : case UNLE:
19183 : : case UNLT:
19184 : : operands[3] = x4;
19185 : : x5 = XEXP (x3, 2);
19186 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
19187 : : return -1;
19188 : : x6 = XEXP (x4, 0);
19189 : : operands[1] = x6;
19190 : : x7 = XEXP (x4, 1);
19191 : : operands[2] = x7;
19192 : : x8 = XEXP (x3, 1);
19193 : : if (!rtx_equal_p (x8, operands[1]))
19194 : : return -1;
19195 : : switch (GET_MODE (operands[0]))
19196 : : {
19197 : : case E_V4SFmode:
19198 : : if (pattern1011 (x3,
19199 : : E_V4SFmode) != 0
19200 : : || !
19201 : : #line 4541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19202 : : (TARGET_SSE))
19203 : : return -1;
19204 : : return 3312; /* sse_vmmaskcmpv4sf3 */
19205 : :
19206 : : case E_V2DFmode:
19207 : : if (pattern1011 (x3,
19208 : : E_V2DFmode) != 0
19209 : : || !(
19210 : : #line 4541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19211 : : (TARGET_SSE) &&
19212 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19213 : : (TARGET_SSE2)))
19214 : : return -1;
19215 : : return 3313; /* sse2_vmmaskcmpv2df3 */
19216 : :
19217 : : default:
19218 : : return -1;
19219 : : }
19220 : :
19221 : : case AND:
19222 : : return recog_195 (x1, insn, pnum_clobbers);
19223 : :
19224 : : case IOR:
19225 : : return recog_209 (x1, insn, pnum_clobbers);
19226 : :
19227 : : case XOR:
19228 : : return recog_199 (x1, insn, pnum_clobbers);
19229 : :
19230 : : case FMA:
19231 : : return recog_186 (x1, insn, pnum_clobbers);
19232 : :
19233 : : case FLOAT:
19234 : : return recog_204 (x1, insn, pnum_clobbers);
19235 : :
19236 : : case UNSIGNED_FLOAT:
19237 : : return recog_203 (x1, insn, pnum_clobbers);
19238 : :
19239 : : case FIX:
19240 : : return recog_206 (x1, insn, pnum_clobbers);
19241 : :
19242 : : case UNSIGNED_FIX:
19243 : : return recog_205 (x1, insn, pnum_clobbers);
19244 : :
19245 : : case FLOAT_EXTEND:
19246 : : return recog_193 (x1, insn, pnum_clobbers);
19247 : :
19248 : : case FLOAT_TRUNCATE:
19249 : : x6 = XEXP (x4, 0);
19250 : : operands[1] = x6;
19251 : : x8 = XEXP (x3, 1);
19252 : : operands[2] = x8;
19253 : : x5 = XEXP (x3, 2);
19254 : : operands[3] = x5;
19255 : : switch (GET_MODE (operands[0]))
19256 : : {
19257 : : case E_V8HFmode:
19258 : : if (pattern142 (x3,
19259 : : E_V8HFmode,
19260 : : E_QImode) != 0)
19261 : : return -1;
19262 : : switch (GET_MODE (operands[1]))
19263 : : {
19264 : : case E_V8DFmode:
19265 : : if (!vector_operand (operands[1], E_V8DFmode)
19266 : : || !(
19267 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19268 : : (TARGET_AVX512F) &&
19269 : : #line 8407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19270 : : (TARGET_AVX512FP16)))
19271 : : return -1;
19272 : : return 4774; /* avx512fp16_vcvtpd2ph_v8df_mask */
19273 : :
19274 : : case E_V8SFmode:
19275 : : if (!vector_operand (operands[1], E_V8SFmode)
19276 : : || !(
19277 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19278 : : (TARGET_AVX512F) && (
19279 : : #line 8407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19280 : : (TARGET_AVX512FP16) &&
19281 : : #line 981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19282 : : (TARGET_AVX512VL))))
19283 : : return -1;
19284 : : return 4782; /* avx512fp16_vcvtps2ph_v8sf_mask */
19285 : :
19286 : : default:
19287 : : return -1;
19288 : : }
19289 : :
19290 : : case E_V16HFmode:
19291 : : if (pattern141 (x3,
19292 : : E_V16HFmode,
19293 : : E_HImode,
19294 : : E_V16SFmode) != 0
19295 : : || !(
19296 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19297 : : (TARGET_AVX512F) &&
19298 : : #line 8407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19299 : : (TARGET_AVX512FP16)))
19300 : : return -1;
19301 : : return 4778; /* avx512fp16_vcvtps2ph_v16sf_mask */
19302 : :
19303 : : case E_V8SFmode:
19304 : : if (pattern141 (x3,
19305 : : E_V8SFmode,
19306 : : E_QImode,
19307 : : E_V8DFmode) != 0
19308 : : || !
19309 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19310 : : (TARGET_AVX512F))
19311 : : return -1;
19312 : : return 5185; /* avx512f_cvtpd2ps512_mask */
19313 : :
19314 : : case E_V4SFmode:
19315 : : if (pattern155 (x3,
19316 : : E_V4SFmode,
19317 : : E_V4DFmode,
19318 : : E_QImode) != 0
19319 : : || !(
19320 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19321 : : (TARGET_AVX512F) &&
19322 : : #line 10374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19323 : : (TARGET_AVX && TARGET_AVX512VL)))
19324 : : return -1;
19325 : : return 5188; /* avx_cvtpd2ps256_mask */
19326 : :
19327 : : case E_V16BFmode:
19328 : : if (pattern155 (x3,
19329 : : E_V16BFmode,
19330 : : E_V16SFmode,
19331 : : E_HImode) != 0
19332 : : || !(
19333 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19334 : : (TARGET_AVX512F) &&
19335 : : #line 31592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19336 : : (TARGET_AVX512BF16)))
19337 : : return -1;
19338 : : return 10412; /* avx512f_cvtneps2bf16_v16sf_mask */
19339 : :
19340 : : case E_V8BFmode:
19341 : : if (pattern155 (x3,
19342 : : E_V8BFmode,
19343 : : E_V8SFmode,
19344 : : E_QImode) != 0
19345 : : || !(
19346 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19347 : : (TARGET_AVX512F) && (
19348 : : #line 31592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19349 : : (TARGET_AVX512BF16) &&
19350 : : #line 31520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19351 : : (TARGET_AVX512VL))))
19352 : : return -1;
19353 : : return 10414; /* avx512f_cvtneps2bf16_v8sf_mask */
19354 : :
19355 : : default:
19356 : : return -1;
19357 : : }
19358 : :
19359 : : case VEC_SELECT:
19360 : : return recog_184 (x1, insn, pnum_clobbers);
19361 : :
19362 : : case SS_TRUNCATE:
19363 : : switch (pattern146 (x3))
19364 : : {
19365 : : case 0:
19366 : : if (!
19367 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19368 : : (TARGET_AVX512F))
19369 : : return -1;
19370 : : return 7269; /* avx512f_ss_truncatev16siv16qi2_mask */
19371 : :
19372 : : case 1:
19373 : : if (!(
19374 : : #line 15580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19375 : : (TARGET_AVX512VL) &&
19376 : : #line 15497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19377 : : (TARGET_AVX512BW)))
19378 : : return -1;
19379 : : return 7305; /* avx512vl_ss_truncatev16hiv16qi2_mask */
19380 : :
19381 : : case 2:
19382 : : if (!
19383 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19384 : : (TARGET_AVX512F))
19385 : : return -1;
19386 : : return 7272; /* avx512f_ss_truncatev16siv16hi2_mask */
19387 : :
19388 : : case 3:
19389 : : if (!
19390 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19391 : : (TARGET_AVX512F))
19392 : : return -1;
19393 : : return 7275; /* avx512f_ss_truncatev8div8si2_mask */
19394 : :
19395 : : case 4:
19396 : : if (!
19397 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19398 : : (TARGET_AVX512F))
19399 : : return -1;
19400 : : return 7278; /* avx512f_ss_truncatev8div8hi2_mask */
19401 : :
19402 : : case 5:
19403 : : if (!
19404 : : #line 15580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19405 : : (TARGET_AVX512VL))
19406 : : return -1;
19407 : : return 7302; /* avx512vl_ss_truncatev8siv8hi2_mask */
19408 : :
19409 : : case 6:
19410 : : if (!
19411 : : #line 15480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19412 : : (TARGET_AVX512BW))
19413 : : return -1;
19414 : : return 7285; /* avx512bw_ss_truncatev32hiv32qi2_mask */
19415 : :
19416 : : case 7:
19417 : : if (!
19418 : : #line 15580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19419 : : (TARGET_AVX512VL))
19420 : : return -1;
19421 : : return 7299; /* avx512vl_ss_truncatev4div4si2_mask */
19422 : :
19423 : : default:
19424 : : return -1;
19425 : : }
19426 : :
19427 : : case TRUNCATE:
19428 : : return recog_194 (x1, insn, pnum_clobbers);
19429 : :
19430 : : case US_TRUNCATE:
19431 : : switch (pattern146 (x3))
19432 : : {
19433 : : case 0:
19434 : : if (!
19435 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19436 : : (TARGET_AVX512F))
19437 : : return -1;
19438 : : return 7271; /* avx512f_us_truncatev16siv16qi2_mask */
19439 : :
19440 : : case 1:
19441 : : if (!(
19442 : : #line 15580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19443 : : (TARGET_AVX512VL) &&
19444 : : #line 15497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19445 : : (TARGET_AVX512BW)))
19446 : : return -1;
19447 : : return 7307; /* avx512vl_us_truncatev16hiv16qi2_mask */
19448 : :
19449 : : case 2:
19450 : : if (!
19451 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19452 : : (TARGET_AVX512F))
19453 : : return -1;
19454 : : return 7274; /* avx512f_us_truncatev16siv16hi2_mask */
19455 : :
19456 : : case 3:
19457 : : if (!
19458 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19459 : : (TARGET_AVX512F))
19460 : : return -1;
19461 : : return 7277; /* avx512f_us_truncatev8div8si2_mask */
19462 : :
19463 : : case 4:
19464 : : if (!
19465 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19466 : : (TARGET_AVX512F))
19467 : : return -1;
19468 : : return 7280; /* avx512f_us_truncatev8div8hi2_mask */
19469 : :
19470 : : case 5:
19471 : : if (!
19472 : : #line 15580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19473 : : (TARGET_AVX512VL))
19474 : : return -1;
19475 : : return 7304; /* avx512vl_us_truncatev8siv8hi2_mask */
19476 : :
19477 : : case 6:
19478 : : if (!
19479 : : #line 15480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19480 : : (TARGET_AVX512BW))
19481 : : return -1;
19482 : : return 7287; /* avx512bw_us_truncatev32hiv32qi2_mask */
19483 : :
19484 : : case 7:
19485 : : if (!
19486 : : #line 15580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19487 : : (TARGET_AVX512VL))
19488 : : return -1;
19489 : : return 7301; /* avx512vl_us_truncatev4div4si2_mask */
19490 : :
19491 : : default:
19492 : : return -1;
19493 : : }
19494 : :
19495 : : case SS_PLUS:
19496 : : switch (pattern147 (x3))
19497 : : {
19498 : : case 0:
19499 : : if (!(
19500 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19501 : : (TARGET_AVX512F) && (
19502 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19503 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19504 : : && ix86_binary_operator_ok (SS_PLUS, V64QImode, operands)) &&
19505 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19506 : : (TARGET_AVX512BW))))
19507 : : return -1;
19508 : : return 7540; /* *avx512bw_ssaddv64qi3_mask */
19509 : :
19510 : : case 1:
19511 : : if (!(
19512 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19513 : : (TARGET_AVX512F) && (
19514 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19515 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19516 : : && ix86_binary_operator_ok (SS_PLUS, V32QImode, operands)) &&
19517 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19518 : : (TARGET_AVX2))))
19519 : : return -1;
19520 : : return 7548; /* *avx2_ssaddv32qi3_mask */
19521 : :
19522 : : case 2:
19523 : : if (!(
19524 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19525 : : (TARGET_AVX512F) &&
19526 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19527 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19528 : : && ix86_binary_operator_ok (SS_PLUS, V16QImode, operands))))
19529 : : return -1;
19530 : : return 7556; /* *sse2_ssaddv16qi3_mask */
19531 : :
19532 : : case 3:
19533 : : if (!(
19534 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19535 : : (TARGET_AVX512F) && (
19536 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19537 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19538 : : && ix86_binary_operator_ok (SS_PLUS, V32HImode, operands)) &&
19539 : : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19540 : : (TARGET_AVX512BW))))
19541 : : return -1;
19542 : : return 7564; /* *avx512bw_ssaddv32hi3_mask */
19543 : :
19544 : : case 4:
19545 : : if (!(
19546 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19547 : : (TARGET_AVX512F) && (
19548 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19549 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19550 : : && ix86_binary_operator_ok (SS_PLUS, V16HImode, operands)) &&
19551 : : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19552 : : (TARGET_AVX2))))
19553 : : return -1;
19554 : : return 7572; /* *avx2_ssaddv16hi3_mask */
19555 : :
19556 : : case 5:
19557 : : if (!(
19558 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19559 : : (TARGET_AVX512F) &&
19560 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19561 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19562 : : && ix86_binary_operator_ok (SS_PLUS, V8HImode, operands))))
19563 : : return -1;
19564 : : return 7580; /* *sse2_ssaddv8hi3_mask */
19565 : :
19566 : : default:
19567 : : return -1;
19568 : : }
19569 : :
19570 : : case US_PLUS:
19571 : : switch (pattern147 (x3))
19572 : : {
19573 : : case 0:
19574 : : if (!(
19575 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19576 : : (TARGET_AVX512F) && (
19577 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19578 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19579 : : && ix86_binary_operator_ok (US_PLUS, V64QImode, operands)) &&
19580 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19581 : : (TARGET_AVX512BW))))
19582 : : return -1;
19583 : : return 7542; /* *avx512bw_usaddv64qi3_mask */
19584 : :
19585 : : case 1:
19586 : : if (!(
19587 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19588 : : (TARGET_AVX512F) && (
19589 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19590 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19591 : : && ix86_binary_operator_ok (US_PLUS, V32QImode, operands)) &&
19592 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19593 : : (TARGET_AVX2))))
19594 : : return -1;
19595 : : return 7550; /* *avx2_usaddv32qi3_mask */
19596 : :
19597 : : case 2:
19598 : : if (!(
19599 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19600 : : (TARGET_AVX512F) &&
19601 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19602 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19603 : : && ix86_binary_operator_ok (US_PLUS, V16QImode, operands))))
19604 : : return -1;
19605 : : return 7558; /* *sse2_usaddv16qi3_mask */
19606 : :
19607 : : case 3:
19608 : : if (!(
19609 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19610 : : (TARGET_AVX512F) && (
19611 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19612 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19613 : : && ix86_binary_operator_ok (US_PLUS, V32HImode, operands)) &&
19614 : : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19615 : : (TARGET_AVX512BW))))
19616 : : return -1;
19617 : : return 7566; /* *avx512bw_usaddv32hi3_mask */
19618 : :
19619 : : case 4:
19620 : : if (!(
19621 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19622 : : (TARGET_AVX512F) && (
19623 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19624 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19625 : : && ix86_binary_operator_ok (US_PLUS, V16HImode, operands)) &&
19626 : : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19627 : : (TARGET_AVX2))))
19628 : : return -1;
19629 : : return 7574; /* *avx2_usaddv16hi3_mask */
19630 : :
19631 : : case 5:
19632 : : if (!(
19633 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19634 : : (TARGET_AVX512F) &&
19635 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19636 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19637 : : && ix86_binary_operator_ok (US_PLUS, V8HImode, operands))))
19638 : : return -1;
19639 : : return 7582; /* *sse2_usaddv8hi3_mask */
19640 : :
19641 : : default:
19642 : : return -1;
19643 : : }
19644 : :
19645 : : case SS_MINUS:
19646 : : switch (pattern147 (x3))
19647 : : {
19648 : : case 0:
19649 : : if (!(
19650 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19651 : : (TARGET_AVX512F) && (
19652 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19653 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19654 : : && ix86_binary_operator_ok (SS_MINUS, V64QImode, operands)) &&
19655 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19656 : : (TARGET_AVX512BW))))
19657 : : return -1;
19658 : : return 7544; /* *avx512bw_sssubv64qi3_mask */
19659 : :
19660 : : case 1:
19661 : : if (!(
19662 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19663 : : (TARGET_AVX512F) && (
19664 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19665 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19666 : : && ix86_binary_operator_ok (SS_MINUS, V32QImode, operands)) &&
19667 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19668 : : (TARGET_AVX2))))
19669 : : return -1;
19670 : : return 7552; /* *avx2_sssubv32qi3_mask */
19671 : :
19672 : : case 2:
19673 : : if (!(
19674 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19675 : : (TARGET_AVX512F) &&
19676 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19677 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19678 : : && ix86_binary_operator_ok (SS_MINUS, V16QImode, operands))))
19679 : : return -1;
19680 : : return 7560; /* *sse2_sssubv16qi3_mask */
19681 : :
19682 : : case 3:
19683 : : if (!(
19684 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19685 : : (TARGET_AVX512F) && (
19686 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19687 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19688 : : && ix86_binary_operator_ok (SS_MINUS, V32HImode, operands)) &&
19689 : : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19690 : : (TARGET_AVX512BW))))
19691 : : return -1;
19692 : : return 7568; /* *avx512bw_sssubv32hi3_mask */
19693 : :
19694 : : case 4:
19695 : : if (!(
19696 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19697 : : (TARGET_AVX512F) && (
19698 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19699 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19700 : : && ix86_binary_operator_ok (SS_MINUS, V16HImode, operands)) &&
19701 : : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19702 : : (TARGET_AVX2))))
19703 : : return -1;
19704 : : return 7576; /* *avx2_sssubv16hi3_mask */
19705 : :
19706 : : case 5:
19707 : : if (!(
19708 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19709 : : (TARGET_AVX512F) &&
19710 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19711 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19712 : : && ix86_binary_operator_ok (SS_MINUS, V8HImode, operands))))
19713 : : return -1;
19714 : : return 7584; /* *sse2_sssubv8hi3_mask */
19715 : :
19716 : : default:
19717 : : return -1;
19718 : : }
19719 : :
19720 : : case US_MINUS:
19721 : : switch (pattern147 (x3))
19722 : : {
19723 : : case 0:
19724 : : if (!(
19725 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19726 : : (TARGET_AVX512F) && (
19727 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19728 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19729 : : && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)) &&
19730 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19731 : : (TARGET_AVX512BW))))
19732 : : return -1;
19733 : : return 7546; /* *avx512bw_ussubv64qi3_mask */
19734 : :
19735 : : case 1:
19736 : : if (!(
19737 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19738 : : (TARGET_AVX512F) && (
19739 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19740 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19741 : : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) &&
19742 : : #line 727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19743 : : (TARGET_AVX2))))
19744 : : return -1;
19745 : : return 7554; /* *avx2_ussubv32qi3_mask */
19746 : :
19747 : : case 2:
19748 : : if (!(
19749 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19750 : : (TARGET_AVX512F) &&
19751 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19752 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19753 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands))))
19754 : : return -1;
19755 : : return 7562; /* *sse2_ussubv16qi3_mask */
19756 : :
19757 : : case 3:
19758 : : if (!(
19759 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19760 : : (TARGET_AVX512F) && (
19761 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19762 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19763 : : && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)) &&
19764 : : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19765 : : (TARGET_AVX512BW))))
19766 : : return -1;
19767 : : return 7570; /* *avx512bw_ussubv32hi3_mask */
19768 : :
19769 : : case 4:
19770 : : if (!(
19771 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19772 : : (TARGET_AVX512F) && (
19773 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19774 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19775 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) &&
19776 : : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19777 : : (TARGET_AVX2))))
19778 : : return -1;
19779 : : return 7578; /* *avx2_ussubv16hi3_mask */
19780 : :
19781 : : case 5:
19782 : : if (!(
19783 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19784 : : (TARGET_AVX512F) &&
19785 : : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19786 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19787 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands))))
19788 : : return -1;
19789 : : return 7586; /* *sse2_ussubv8hi3_mask */
19790 : :
19791 : : default:
19792 : : return -1;
19793 : : }
19794 : :
19795 : : case ASHIFTRT:
19796 : : return recog_189 (x1, insn, pnum_clobbers);
19797 : :
19798 : : case ASHIFT:
19799 : : return recog_192 (x1, insn, pnum_clobbers);
19800 : :
19801 : : case LSHIFTRT:
19802 : : return recog_191 (x1, insn, pnum_clobbers);
19803 : :
19804 : : case ROTATE:
19805 : : switch (pattern150 (x3))
19806 : : {
19807 : : case 0:
19808 : : if (!
19809 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19810 : : (TARGET_AVX512F))
19811 : : return -1;
19812 : : return 7740; /* avx512f_rolvv16si_mask */
19813 : :
19814 : : case 1:
19815 : : if (!(
19816 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19817 : : (TARGET_AVX512F) && (
19818 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19819 : : (TARGET_AVX512F) &&
19820 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19821 : : (TARGET_AVX512VL))))
19822 : : return -1;
19823 : : return 7744; /* avx512vl_rolvv8si_mask */
19824 : :
19825 : : case 2:
19826 : : if (!(
19827 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19828 : : (TARGET_AVX512F) && (
19829 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19830 : : (TARGET_AVX512F) &&
19831 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19832 : : (TARGET_AVX512VL))))
19833 : : return -1;
19834 : : return 7748; /* avx512vl_rolvv4si_mask */
19835 : :
19836 : : case 3:
19837 : : if (!
19838 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19839 : : (TARGET_AVX512F))
19840 : : return -1;
19841 : : return 7752; /* avx512f_rolvv8di_mask */
19842 : :
19843 : : case 4:
19844 : : if (!(
19845 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19846 : : (TARGET_AVX512F) && (
19847 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19848 : : (TARGET_AVX512F) &&
19849 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19850 : : (TARGET_AVX512VL))))
19851 : : return -1;
19852 : : return 7756; /* avx512vl_rolvv4di_mask */
19853 : :
19854 : : case 5:
19855 : : if (!(
19856 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19857 : : (TARGET_AVX512F) && (
19858 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19859 : : (TARGET_AVX512F) &&
19860 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19861 : : (TARGET_AVX512VL))))
19862 : : return -1;
19863 : : return 7760; /* avx512vl_rolvv2di_mask */
19864 : :
19865 : : case 6:
19866 : : if (!
19867 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19868 : : (TARGET_AVX512F))
19869 : : return -1;
19870 : : return 7764; /* avx512f_rolv16si_mask */
19871 : :
19872 : : case 7:
19873 : : if (!(
19874 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19875 : : (TARGET_AVX512F) && (
19876 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19877 : : (TARGET_AVX512F) &&
19878 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19879 : : (TARGET_AVX512VL))))
19880 : : return -1;
19881 : : return 7768; /* avx512vl_rolv8si_mask */
19882 : :
19883 : : case 8:
19884 : : if (!(
19885 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19886 : : (TARGET_AVX512F) && (
19887 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19888 : : (TARGET_AVX512F) &&
19889 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19890 : : (TARGET_AVX512VL))))
19891 : : return -1;
19892 : : return 7772; /* avx512vl_rolv4si_mask */
19893 : :
19894 : : case 9:
19895 : : if (!
19896 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19897 : : (TARGET_AVX512F))
19898 : : return -1;
19899 : : return 7776; /* avx512f_rolv8di_mask */
19900 : :
19901 : : case 10:
19902 : : if (!(
19903 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19904 : : (TARGET_AVX512F) && (
19905 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19906 : : (TARGET_AVX512F) &&
19907 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19908 : : (TARGET_AVX512VL))))
19909 : : return -1;
19910 : : return 7780; /* avx512vl_rolv4di_mask */
19911 : :
19912 : : case 11:
19913 : : if (!(
19914 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19915 : : (TARGET_AVX512F) && (
19916 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19917 : : (TARGET_AVX512F) &&
19918 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19919 : : (TARGET_AVX512VL))))
19920 : : return -1;
19921 : : return 7784; /* avx512vl_rolv2di_mask */
19922 : :
19923 : : default:
19924 : : return -1;
19925 : : }
19926 : :
19927 : : case ROTATERT:
19928 : : switch (pattern150 (x3))
19929 : : {
19930 : : case 0:
19931 : : if (!
19932 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19933 : : (TARGET_AVX512F))
19934 : : return -1;
19935 : : return 7742; /* avx512f_rorvv16si_mask */
19936 : :
19937 : : case 1:
19938 : : if (!(
19939 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19940 : : (TARGET_AVX512F) && (
19941 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19942 : : (TARGET_AVX512F) &&
19943 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19944 : : (TARGET_AVX512VL))))
19945 : : return -1;
19946 : : return 7746; /* avx512vl_rorvv8si_mask */
19947 : :
19948 : : case 2:
19949 : : if (!(
19950 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19951 : : (TARGET_AVX512F) && (
19952 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19953 : : (TARGET_AVX512F) &&
19954 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19955 : : (TARGET_AVX512VL))))
19956 : : return -1;
19957 : : return 7750; /* avx512vl_rorvv4si_mask */
19958 : :
19959 : : case 3:
19960 : : if (!
19961 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19962 : : (TARGET_AVX512F))
19963 : : return -1;
19964 : : return 7754; /* avx512f_rorvv8di_mask */
19965 : :
19966 : : case 4:
19967 : : if (!(
19968 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19969 : : (TARGET_AVX512F) && (
19970 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19971 : : (TARGET_AVX512F) &&
19972 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19973 : : (TARGET_AVX512VL))))
19974 : : return -1;
19975 : : return 7758; /* avx512vl_rorvv4di_mask */
19976 : :
19977 : : case 5:
19978 : : if (!(
19979 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19980 : : (TARGET_AVX512F) && (
19981 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19982 : : (TARGET_AVX512F) &&
19983 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19984 : : (TARGET_AVX512VL))))
19985 : : return -1;
19986 : : return 7762; /* avx512vl_rorvv2di_mask */
19987 : :
19988 : : case 6:
19989 : : if (!
19990 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19991 : : (TARGET_AVX512F))
19992 : : return -1;
19993 : : return 7766; /* avx512f_rorv16si_mask */
19994 : :
19995 : : case 7:
19996 : : if (!(
19997 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19998 : : (TARGET_AVX512F) && (
19999 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20000 : : (TARGET_AVX512F) &&
20001 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20002 : : (TARGET_AVX512VL))))
20003 : : return -1;
20004 : : return 7770; /* avx512vl_rorv8si_mask */
20005 : :
20006 : : case 8:
20007 : : if (!(
20008 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20009 : : (TARGET_AVX512F) && (
20010 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20011 : : (TARGET_AVX512F) &&
20012 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20013 : : (TARGET_AVX512VL))))
20014 : : return -1;
20015 : : return 7774; /* avx512vl_rorv4si_mask */
20016 : :
20017 : : case 9:
20018 : : if (!
20019 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20020 : : (TARGET_AVX512F))
20021 : : return -1;
20022 : : return 7778; /* avx512f_rorv8di_mask */
20023 : :
20024 : : case 10:
20025 : : if (!(
20026 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20027 : : (TARGET_AVX512F) && (
20028 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20029 : : (TARGET_AVX512F) &&
20030 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20031 : : (TARGET_AVX512VL))))
20032 : : return -1;
20033 : : return 7782; /* avx512vl_rorv4di_mask */
20034 : :
20035 : : case 11:
20036 : : if (!(
20037 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20038 : : (TARGET_AVX512F) && (
20039 : : #line 17922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20040 : : (TARGET_AVX512F) &&
20041 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20042 : : (TARGET_AVX512VL))))
20043 : : return -1;
20044 : : return 7786; /* avx512vl_rorv2di_mask */
20045 : :
20046 : : default:
20047 : : return -1;
20048 : : }
20049 : :
20050 : : case UMAX:
20051 : : switch (pattern151 (x3))
20052 : : {
20053 : : case 0:
20054 : : if (!(
20055 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20056 : : (TARGET_AVX512F) &&
20057 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20058 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20059 : : return -1;
20060 : : return 7804; /* *avx512f_umaxv16si3_mask */
20061 : :
20062 : : case 1:
20063 : : if (!(
20064 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20065 : : (TARGET_AVX512F) && (
20066 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20067 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20068 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20069 : : (TARGET_AVX512VL))))
20070 : : return -1;
20071 : : return 7812; /* *avx512f_umaxv8si3_mask */
20072 : :
20073 : : case 2:
20074 : : if (nonimmediate_operand (operands[1], E_V4SImode)
20075 : : && nonimmediate_operand (operands[2], E_V4SImode)
20076 : : && (
20077 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20078 : : (TARGET_AVX512F) && (
20079 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20080 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20081 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20082 : : (TARGET_AVX512VL))))
20083 : : return 7820; /* *avx512f_umaxv4si3_mask */
20084 : : if (!vector_operand (operands[1], E_V4SImode)
20085 : : || !vector_operand (operands[2], E_V4SImode)
20086 : : || !(
20087 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20088 : : (TARGET_AVX512F) &&
20089 : : #line 18168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20090 : : (TARGET_SSE4_1
20091 : : && (16 == 64 || TARGET_AVX512VL)
20092 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20093 : : return -1;
20094 : : return 7910; /* *sse4_1_umaxv4si3_mask */
20095 : :
20096 : : case 3:
20097 : : if (!(
20098 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20099 : : (TARGET_AVX512F) &&
20100 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20101 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20102 : : return -1;
20103 : : return 7828; /* *avx512f_umaxv8di3_mask */
20104 : :
20105 : : case 4:
20106 : : if (!(
20107 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20108 : : (TARGET_AVX512F) && (
20109 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20110 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20111 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20112 : : (TARGET_AVX512VL))))
20113 : : return -1;
20114 : : return 7836; /* *avx512f_umaxv4di3_mask */
20115 : :
20116 : : case 5:
20117 : : if (!(
20118 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20119 : : (TARGET_AVX512F) && (
20120 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20121 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20122 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20123 : : (TARGET_AVX512VL))))
20124 : : return -1;
20125 : : return 7844; /* *avx512f_umaxv2di3_mask */
20126 : :
20127 : : case 6:
20128 : : if (!(
20129 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20130 : : (TARGET_AVX512F) &&
20131 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20132 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20133 : : return -1;
20134 : : return 7852; /* *avx512bw_umaxv64qi3_mask */
20135 : :
20136 : : case 7:
20137 : : if (!(
20138 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20139 : : (TARGET_AVX512F) && (
20140 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20141 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20142 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20143 : : (TARGET_AVX512VL))))
20144 : : return -1;
20145 : : return 7860; /* *avx512bw_umaxv16qi3_mask */
20146 : :
20147 : : case 8:
20148 : : if (!(
20149 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20150 : : (TARGET_AVX512F) && (
20151 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20152 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20153 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20154 : : (TARGET_AVX512VL))))
20155 : : return -1;
20156 : : return 7868; /* *avx512bw_umaxv32qi3_mask */
20157 : :
20158 : : case 9:
20159 : : if (!(
20160 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20161 : : (TARGET_AVX512F) &&
20162 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20163 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20164 : : return -1;
20165 : : return 7876; /* *avx512bw_umaxv32hi3_mask */
20166 : :
20167 : : case 10:
20168 : : if (!(
20169 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20170 : : (TARGET_AVX512F) && (
20171 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20172 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20173 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20174 : : (TARGET_AVX512VL))))
20175 : : return -1;
20176 : : return 7884; /* *avx512bw_umaxv16hi3_mask */
20177 : :
20178 : : case 11:
20179 : : if (nonimmediate_operand (operands[1], E_V8HImode)
20180 : : && nonimmediate_operand (operands[2], E_V8HImode)
20181 : : && (
20182 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20183 : : (TARGET_AVX512F) && (
20184 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20185 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20186 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20187 : : (TARGET_AVX512VL))))
20188 : : return 7892; /* *avx512bw_umaxv8hi3_mask */
20189 : : if (!vector_operand (operands[1], E_V8HImode)
20190 : : || !vector_operand (operands[2], E_V8HImode)
20191 : : || !(
20192 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20193 : : (TARGET_AVX512F) &&
20194 : : #line 18168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20195 : : (TARGET_SSE4_1
20196 : : && (16 == 64 || TARGET_AVX512VL)
20197 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20198 : : return -1;
20199 : : return 7906; /* *sse4_1_umaxv8hi3_mask */
20200 : :
20201 : : default:
20202 : : return -1;
20203 : : }
20204 : :
20205 : : case UMIN:
20206 : : switch (pattern151 (x3))
20207 : : {
20208 : : case 0:
20209 : : if (!(
20210 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20211 : : (TARGET_AVX512F) &&
20212 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20213 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20214 : : return -1;
20215 : : return 7806; /* *avx512f_uminv16si3_mask */
20216 : :
20217 : : case 1:
20218 : : if (!(
20219 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20220 : : (TARGET_AVX512F) && (
20221 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20222 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20223 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20224 : : (TARGET_AVX512VL))))
20225 : : return -1;
20226 : : return 7814; /* *avx512f_uminv8si3_mask */
20227 : :
20228 : : case 2:
20229 : : if (nonimmediate_operand (operands[1], E_V4SImode)
20230 : : && nonimmediate_operand (operands[2], E_V4SImode)
20231 : : && (
20232 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20233 : : (TARGET_AVX512F) && (
20234 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20235 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20236 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20237 : : (TARGET_AVX512VL))))
20238 : : return 7822; /* *avx512f_uminv4si3_mask */
20239 : : if (!vector_operand (operands[1], E_V4SImode)
20240 : : || !vector_operand (operands[2], E_V4SImode)
20241 : : || !(
20242 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20243 : : (TARGET_AVX512F) &&
20244 : : #line 18168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20245 : : (TARGET_SSE4_1
20246 : : && (16 == 64 || TARGET_AVX512VL)
20247 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20248 : : return -1;
20249 : : return 7912; /* *sse4_1_uminv4si3_mask */
20250 : :
20251 : : case 3:
20252 : : if (!(
20253 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20254 : : (TARGET_AVX512F) &&
20255 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20256 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20257 : : return -1;
20258 : : return 7830; /* *avx512f_uminv8di3_mask */
20259 : :
20260 : : case 4:
20261 : : if (!(
20262 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20263 : : (TARGET_AVX512F) && (
20264 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20265 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20266 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20267 : : (TARGET_AVX512VL))))
20268 : : return -1;
20269 : : return 7838; /* *avx512f_uminv4di3_mask */
20270 : :
20271 : : case 5:
20272 : : if (!(
20273 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20274 : : (TARGET_AVX512F) && (
20275 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20276 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20277 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20278 : : (TARGET_AVX512VL))))
20279 : : return -1;
20280 : : return 7846; /* *avx512f_uminv2di3_mask */
20281 : :
20282 : : case 6:
20283 : : if (!(
20284 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20285 : : (TARGET_AVX512F) &&
20286 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20287 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20288 : : return -1;
20289 : : return 7854; /* *avx512bw_uminv64qi3_mask */
20290 : :
20291 : : case 7:
20292 : : if (!(
20293 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20294 : : (TARGET_AVX512F) && (
20295 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20296 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20297 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20298 : : (TARGET_AVX512VL))))
20299 : : return -1;
20300 : : return 7862; /* *avx512bw_uminv16qi3_mask */
20301 : :
20302 : : case 8:
20303 : : if (!(
20304 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20305 : : (TARGET_AVX512F) && (
20306 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20307 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20308 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20309 : : (TARGET_AVX512VL))))
20310 : : return -1;
20311 : : return 7870; /* *avx512bw_uminv32qi3_mask */
20312 : :
20313 : : case 9:
20314 : : if (!(
20315 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20316 : : (TARGET_AVX512F) &&
20317 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20318 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20319 : : return -1;
20320 : : return 7878; /* *avx512bw_uminv32hi3_mask */
20321 : :
20322 : : case 10:
20323 : : if (!(
20324 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20325 : : (TARGET_AVX512F) && (
20326 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20327 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20328 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20329 : : (TARGET_AVX512VL))))
20330 : : return -1;
20331 : : return 7886; /* *avx512bw_uminv16hi3_mask */
20332 : :
20333 : : case 11:
20334 : : if (nonimmediate_operand (operands[1], E_V8HImode)
20335 : : && nonimmediate_operand (operands[2], E_V8HImode)
20336 : : && (
20337 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20338 : : (TARGET_AVX512F) && (
20339 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20340 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20341 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20342 : : (TARGET_AVX512VL))))
20343 : : return 7894; /* *avx512bw_uminv8hi3_mask */
20344 : : if (!vector_operand (operands[1], E_V8HImode)
20345 : : || !vector_operand (operands[2], E_V8HImode)
20346 : : || !(
20347 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20348 : : (TARGET_AVX512F) &&
20349 : : #line 18168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20350 : : (TARGET_SSE4_1
20351 : : && (16 == 64 || TARGET_AVX512VL)
20352 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20353 : : return -1;
20354 : : return 7908; /* *sse4_1_uminv8hi3_mask */
20355 : :
20356 : : default:
20357 : : return -1;
20358 : : }
20359 : :
20360 : : case VEC_CONCAT:
20361 : : return recog_187 (x1, insn, pnum_clobbers);
20362 : :
20363 : : case ABS:
20364 : : switch (pattern154 (x3))
20365 : : {
20366 : : case 0:
20367 : : if (!
20368 : : #line 23670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20369 : : (TARGET_AVX512F))
20370 : : return -1;
20371 : : return 8696; /* absv16si2_mask */
20372 : :
20373 : : case 1:
20374 : : if (!(
20375 : : #line 23670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20376 : : (TARGET_AVX512F) &&
20377 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20378 : : (TARGET_AVX512VL)))
20379 : : return -1;
20380 : : return 8697; /* absv8si2_mask */
20381 : :
20382 : : case 2:
20383 : : if (!(
20384 : : #line 23670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20385 : : (TARGET_AVX512F) &&
20386 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20387 : : (TARGET_AVX512VL)))
20388 : : return -1;
20389 : : return 8698; /* absv4si2_mask */
20390 : :
20391 : : case 3:
20392 : : if (!
20393 : : #line 23670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20394 : : (TARGET_AVX512F))
20395 : : return -1;
20396 : : return 8699; /* absv8di2_mask */
20397 : :
20398 : : case 4:
20399 : : if (!(
20400 : : #line 23670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20401 : : (TARGET_AVX512F) &&
20402 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20403 : : (TARGET_AVX512VL)))
20404 : : return -1;
20405 : : return 8700; /* absv4di2_mask */
20406 : :
20407 : : case 5:
20408 : : if (!(
20409 : : #line 23670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20410 : : (TARGET_AVX512F) &&
20411 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20412 : : (TARGET_AVX512VL)))
20413 : : return -1;
20414 : : return 8701; /* absv2di2_mask */
20415 : :
20416 : : case 6:
20417 : : if (!
20418 : : #line 23683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20419 : : (TARGET_AVX512BW))
20420 : : return -1;
20421 : : return 8702; /* absv64qi2_mask */
20422 : :
20423 : : case 7:
20424 : : if (!(
20425 : : #line 23683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20426 : : (TARGET_AVX512BW) &&
20427 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20428 : : (TARGET_AVX512VL)))
20429 : : return -1;
20430 : : return 8703; /* absv16qi2_mask */
20431 : :
20432 : : case 8:
20433 : : if (!(
20434 : : #line 23683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20435 : : (TARGET_AVX512BW) &&
20436 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20437 : : (TARGET_AVX512VL)))
20438 : : return -1;
20439 : : return 8704; /* absv32qi2_mask */
20440 : :
20441 : : case 9:
20442 : : if (!
20443 : : #line 23683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20444 : : (TARGET_AVX512BW))
20445 : : return -1;
20446 : : return 8705; /* absv32hi2_mask */
20447 : :
20448 : : case 10:
20449 : : if (!(
20450 : : #line 23683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20451 : : (TARGET_AVX512BW) &&
20452 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20453 : : (TARGET_AVX512VL)))
20454 : : return -1;
20455 : : return 8706; /* absv16hi2_mask */
20456 : :
20457 : : case 11:
20458 : : if (!(
20459 : : #line 23683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20460 : : (TARGET_AVX512BW) &&
20461 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20462 : : (TARGET_AVX512VL)))
20463 : : return -1;
20464 : : return 8707; /* absv8hi2_mask */
20465 : :
20466 : : default:
20467 : : return -1;
20468 : : }
20469 : :
20470 : : case SIGN_EXTEND:
20471 : : return recog_198 (x1, insn, pnum_clobbers);
20472 : :
20473 : : case ZERO_EXTEND:
20474 : : return recog_197 (x1, insn, pnum_clobbers);
20475 : :
20476 : : case CLZ:
20477 : : x6 = XEXP (x4, 0);
20478 : : operands[1] = x6;
20479 : : x8 = XEXP (x3, 1);
20480 : : operands[2] = x8;
20481 : : x5 = XEXP (x3, 2);
20482 : : operands[3] = x5;
20483 : : switch (GET_MODE (operands[0]))
20484 : : {
20485 : : case E_V16SImode:
20486 : : if (pattern152 (x3,
20487 : : E_V16SImode,
20488 : : E_HImode) != 0
20489 : : || !(
20490 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20491 : : (TARGET_AVX512F) &&
20492 : : #line 30345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20493 : : (TARGET_AVX512CD)))
20494 : : return -1;
20495 : : return 10125; /* clzv16si2_mask */
20496 : :
20497 : : case E_V8SImode:
20498 : : if (pattern152 (x3,
20499 : : E_V8SImode,
20500 : : E_QImode) != 0
20501 : : || !(
20502 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20503 : : (TARGET_AVX512F) && (
20504 : : #line 30345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20505 : : (TARGET_AVX512CD) &&
20506 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20507 : : (TARGET_AVX512VL))))
20508 : : return -1;
20509 : : return 10127; /* clzv8si2_mask */
20510 : :
20511 : : case E_V4SImode:
20512 : : if (pattern152 (x3,
20513 : : E_V4SImode,
20514 : : E_QImode) != 0
20515 : : || !(
20516 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20517 : : (TARGET_AVX512F) && (
20518 : : #line 30345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20519 : : (TARGET_AVX512CD) &&
20520 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20521 : : (TARGET_AVX512VL))))
20522 : : return -1;
20523 : : return 10129; /* clzv4si2_mask */
20524 : :
20525 : : case E_V8DImode:
20526 : : if (pattern152 (x3,
20527 : : E_V8DImode,
20528 : : E_QImode) != 0
20529 : : || !(
20530 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20531 : : (TARGET_AVX512F) &&
20532 : : #line 30345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20533 : : (TARGET_AVX512CD)))
20534 : : return -1;
20535 : : return 10131; /* clzv8di2_mask */
20536 : :
20537 : : case E_V4DImode:
20538 : : if (pattern152 (x3,
20539 : : E_V4DImode,
20540 : : E_QImode) != 0
20541 : : || !(
20542 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20543 : : (TARGET_AVX512F) && (
20544 : : #line 30345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20545 : : (TARGET_AVX512CD) &&
20546 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20547 : : (TARGET_AVX512VL))))
20548 : : return -1;
20549 : : return 10133; /* clzv4di2_mask */
20550 : :
20551 : : case E_V2DImode:
20552 : : if (pattern152 (x3,
20553 : : E_V2DImode,
20554 : : E_QImode) != 0
20555 : : || !(
20556 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20557 : : (TARGET_AVX512F) && (
20558 : : #line 30345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20559 : : (TARGET_AVX512CD) &&
20560 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20561 : : (TARGET_AVX512VL))))
20562 : : return -1;
20563 : : return 10135; /* clzv2di2_mask */
20564 : :
20565 : : default:
20566 : : return -1;
20567 : : }
20568 : :
20569 : : case POPCOUNT:
20570 : : switch (pattern154 (x3))
20571 : : {
20572 : : case 0:
20573 : : if (!(
20574 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20575 : : (TARGET_AVX512F) &&
20576 : : #line 30696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20577 : : (TARGET_AVX512VPOPCNTDQ)))
20578 : : return -1;
20579 : : return 10198; /* vpopcountv16si_mask */
20580 : :
20581 : : case 1:
20582 : : if (!(
20583 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20584 : : (TARGET_AVX512F) && (
20585 : : #line 30696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20586 : : (TARGET_AVX512VPOPCNTDQ) &&
20587 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20588 : : (TARGET_AVX512VL))))
20589 : : return -1;
20590 : : return 10200; /* vpopcountv8si_mask */
20591 : :
20592 : : case 2:
20593 : : if (!(
20594 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20595 : : (TARGET_AVX512F) && (
20596 : : #line 30696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20597 : : (TARGET_AVX512VPOPCNTDQ) &&
20598 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20599 : : (TARGET_AVX512VL))))
20600 : : return -1;
20601 : : return 10202; /* vpopcountv4si_mask */
20602 : :
20603 : : case 3:
20604 : : if (!(
20605 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20606 : : (TARGET_AVX512F) &&
20607 : : #line 30696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20608 : : (TARGET_AVX512VPOPCNTDQ)))
20609 : : return -1;
20610 : : return 10204; /* vpopcountv8di_mask */
20611 : :
20612 : : case 4:
20613 : : if (!(
20614 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20615 : : (TARGET_AVX512F) && (
20616 : : #line 30696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20617 : : (TARGET_AVX512VPOPCNTDQ) &&
20618 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20619 : : (TARGET_AVX512VL))))
20620 : : return -1;
20621 : : return 10206; /* vpopcountv4di_mask */
20622 : :
20623 : : case 5:
20624 : : if (!(
20625 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20626 : : (TARGET_AVX512F) && (
20627 : : #line 30696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20628 : : (TARGET_AVX512VPOPCNTDQ) &&
20629 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20630 : : (TARGET_AVX512VL))))
20631 : : return -1;
20632 : : return 10208; /* vpopcountv2di_mask */
20633 : :
20634 : : case 6:
20635 : : if (!(
20636 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20637 : : (TARGET_AVX512F) &&
20638 : : #line 30746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20639 : : (TARGET_AVX512BITALG)))
20640 : : return -1;
20641 : : return 10218; /* vpopcountv64qi_mask */
20642 : :
20643 : : case 7:
20644 : : if (!(
20645 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20646 : : (TARGET_AVX512F) && (
20647 : : #line 30746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20648 : : (TARGET_AVX512BITALG) &&
20649 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20650 : : (TARGET_AVX512VL))))
20651 : : return -1;
20652 : : return 10220; /* vpopcountv16qi_mask */
20653 : :
20654 : : case 8:
20655 : : if (!(
20656 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20657 : : (TARGET_AVX512F) && (
20658 : : #line 30746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20659 : : (TARGET_AVX512BITALG) &&
20660 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20661 : : (TARGET_AVX512VL))))
20662 : : return -1;
20663 : : return 10222; /* vpopcountv32qi_mask */
20664 : :
20665 : : case 9:
20666 : : if (!(
20667 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20668 : : (TARGET_AVX512F) &&
20669 : : #line 30746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20670 : : (TARGET_AVX512BITALG)))
20671 : : return -1;
20672 : : return 10224; /* vpopcountv32hi_mask */
20673 : :
20674 : : case 10:
20675 : : if (!(
20676 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20677 : : (TARGET_AVX512F) && (
20678 : : #line 30746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20679 : : (TARGET_AVX512BITALG) &&
20680 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20681 : : (TARGET_AVX512VL))))
20682 : : return -1;
20683 : : return 10226; /* vpopcountv16hi_mask */
20684 : :
20685 : : case 11:
20686 : : if (!(
20687 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20688 : : (TARGET_AVX512F) && (
20689 : : #line 30746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20690 : : (TARGET_AVX512BITALG) &&
20691 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20692 : : (TARGET_AVX512VL))))
20693 : : return -1;
20694 : : return 10228; /* vpopcountv8hi_mask */
20695 : :
20696 : : default:
20697 : : return -1;
20698 : : }
20699 : :
20700 : : default:
20701 : : return -1;
20702 : : }
20703 : : }
20704 : :
20705 : : int
20706 : : recog_344 (rtx x1 ATTRIBUTE_UNUSED,
20707 : : rtx_insn *insn ATTRIBUTE_UNUSED,
20708 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
20709 : : {
20710 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20711 : : int res ATTRIBUTE_UNUSED;
20712 : : switch (pattern27 (x1))
20713 : : {
20714 : : case 0:
20715 : : if (!(
20716 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20717 : : (TARGET_SSE
20718 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20719 : : && 1
20720 : : && 1) &&
20721 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20722 : : (TARGET_AVX512FP16)))
20723 : : return -1;
20724 : : return 3045; /* *smaxv32hf3 */
20725 : :
20726 : : case 1:
20727 : : if (!(
20728 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20729 : : (TARGET_SSE
20730 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20731 : : && 1
20732 : : && 1) &&
20733 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20734 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20735 : : return -1;
20736 : : return 3053; /* *smaxv16hf3 */
20737 : :
20738 : : case 2:
20739 : : if (!(
20740 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20741 : : (TARGET_SSE
20742 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20743 : : && 1
20744 : : && 1) &&
20745 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20746 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20747 : : return -1;
20748 : : return 3057; /* *smaxv8hf3 */
20749 : :
20750 : : case 3:
20751 : : if (!(
20752 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20753 : : (TARGET_SSE
20754 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20755 : : && 1
20756 : : && 1) &&
20757 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20758 : : (TARGET_AVX512F)))
20759 : : return -1;
20760 : : return 3061; /* *smaxv16sf3 */
20761 : :
20762 : : case 4:
20763 : : if (!(
20764 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20765 : : (TARGET_SSE
20766 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20767 : : && 1
20768 : : && 1) &&
20769 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20770 : : (TARGET_AVX)))
20771 : : return -1;
20772 : : return 3069; /* *smaxv8sf3 */
20773 : :
20774 : : case 5:
20775 : : if (!
20776 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20777 : : (TARGET_SSE
20778 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20779 : : && 1
20780 : : && 1))
20781 : : return -1;
20782 : : return 3073; /* *smaxv4sf3 */
20783 : :
20784 : : case 6:
20785 : : if (!(
20786 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20787 : : (TARGET_SSE
20788 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20789 : : && 1
20790 : : && 1) &&
20791 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20792 : : (TARGET_AVX512F)))
20793 : : return -1;
20794 : : return 3077; /* *smaxv8df3 */
20795 : :
20796 : : case 7:
20797 : : if (!(
20798 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20799 : : (TARGET_SSE
20800 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20801 : : && 1
20802 : : && 1) &&
20803 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20804 : : (TARGET_AVX)))
20805 : : return -1;
20806 : : return 3085; /* *smaxv4df3 */
20807 : :
20808 : : case 8:
20809 : : if (!(
20810 : : #line 3324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20811 : : (TARGET_SSE
20812 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20813 : : && 1
20814 : : && 1) &&
20815 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20816 : : (TARGET_SSE2)))
20817 : : return -1;
20818 : : return 3089; /* *smaxv2df3 */
20819 : :
20820 : : case 9:
20821 : : if (
20822 : : #line 17940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20823 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20824 : : return 7787; /* *avx2_smaxv32qi3 */
20825 : : if (!(
20826 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20827 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20828 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20829 : : (TARGET_AVX512VL)))
20830 : : return -1;
20831 : : return 7863; /* *avx512bw_smaxv32qi3 */
20832 : :
20833 : : case 10:
20834 : : if (
20835 : : #line 17940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20836 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20837 : : return 7791; /* *avx2_smaxv16hi3 */
20838 : : if (!(
20839 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20840 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20841 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20842 : : (TARGET_AVX512VL)))
20843 : : return -1;
20844 : : return 7879; /* *avx512bw_smaxv16hi3 */
20845 : :
20846 : : case 11:
20847 : : if (
20848 : : #line 17940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20849 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20850 : : return 7795; /* *avx2_smaxv8si3 */
20851 : : if (!(
20852 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20853 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20854 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20855 : : (TARGET_AVX512VL)))
20856 : : return -1;
20857 : : return 7807; /* *avx512f_smaxv8si3 */
20858 : :
20859 : : case 12:
20860 : : if (!
20861 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20862 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20863 : : return -1;
20864 : : return 7799; /* *avx512f_smaxv16si3 */
20865 : :
20866 : : case 13:
20867 : : if (nonimmediate_operand (operands[1], E_V4SImode)
20868 : : && nonimmediate_operand (operands[2], E_V4SImode)
20869 : : && (
20870 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20871 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20872 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20873 : : (TARGET_AVX512VL)))
20874 : : return 7815; /* *avx512f_smaxv4si3 */
20875 : : if (!vector_operand (operands[1], E_V4SImode)
20876 : : || !vector_operand (operands[2], E_V4SImode)
20877 : : || !
20878 : : #line 18084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20879 : : (TARGET_SSE4_1
20880 : : && 1
20881 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20882 : : return -1;
20883 : : return 7899; /* *sse4_1_smaxv4si3 */
20884 : :
20885 : : case 14:
20886 : : if (!
20887 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20888 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20889 : : return -1;
20890 : : return 7823; /* *avx512f_smaxv8di3 */
20891 : :
20892 : : case 15:
20893 : : if (!(
20894 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20895 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20896 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20897 : : (TARGET_AVX512VL)))
20898 : : return -1;
20899 : : return 7831; /* *avx512f_smaxv4di3 */
20900 : :
20901 : : case 16:
20902 : : if (!(
20903 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20904 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20905 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20906 : : (TARGET_AVX512VL)))
20907 : : return -1;
20908 : : return 7839; /* *avx512f_smaxv2di3 */
20909 : :
20910 : : case 17:
20911 : : if (!
20912 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20913 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20914 : : return -1;
20915 : : return 7847; /* *avx512bw_smaxv64qi3 */
20916 : :
20917 : : case 18:
20918 : : if (nonimmediate_operand (operands[1], E_V16QImode)
20919 : : && nonimmediate_operand (operands[2], E_V16QImode)
20920 : : && (
20921 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20922 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20923 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20924 : : (TARGET_AVX512VL)))
20925 : : return 7855; /* *avx512bw_smaxv16qi3 */
20926 : : if (!vector_operand (operands[1], E_V16QImode)
20927 : : || !vector_operand (operands[2], E_V16QImode)
20928 : : || !
20929 : : #line 18084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20930 : : (TARGET_SSE4_1
20931 : : && 1
20932 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20933 : : return -1;
20934 : : return 7895; /* *sse4_1_smaxv16qi3 */
20935 : :
20936 : : case 19:
20937 : : if (!
20938 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20939 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20940 : : return -1;
20941 : : return 7871; /* *avx512bw_smaxv32hi3 */
20942 : :
20943 : : case 20:
20944 : : if (nonimmediate_operand (operands[1], E_V8HImode)
20945 : : && nonimmediate_operand (operands[2], E_V8HImode)
20946 : : && (
20947 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20948 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20949 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20950 : : (TARGET_AVX512VL)))
20951 : : return 7887; /* *avx512bw_smaxv8hi3 */
20952 : : if (!vector_operand (operands[1], E_V8HImode)
20953 : : || !vector_operand (operands[2], E_V8HImode)
20954 : : || !
20955 : : #line 18103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20956 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20957 : : return -1;
20958 : : return 7903; /* *smaxv8hi3 */
20959 : :
20960 : : case 21:
20961 : : if (!
20962 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20963 : : (TARGET_AVX10_2))
20964 : : return -1;
20965 : : return 10656; /* avx10_2_smaxbf16_v32bf */
20966 : :
20967 : : case 22:
20968 : : if (!
20969 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20970 : : (TARGET_AVX10_2))
20971 : : return -1;
20972 : : return 10660; /* avx10_2_smaxbf16_v16bf */
20973 : :
20974 : : case 23:
20975 : : if (!
20976 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20977 : : (TARGET_AVX10_2))
20978 : : return -1;
20979 : : return 10664; /* avx10_2_smaxbf16_v8bf */
20980 : :
20981 : : default:
20982 : : return -1;
20983 : : }
20984 : : }
20985 : :
20986 : : int
20987 : : recog_351 (rtx x1 ATTRIBUTE_UNUSED,
20988 : : rtx_insn *insn ATTRIBUTE_UNUSED,
20989 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
20990 : : {
20991 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20992 : : int res ATTRIBUTE_UNUSED;
20993 : : switch (pattern34 (x1))
20994 : : {
20995 : : case 0:
20996 : : if (
20997 : : #line 17940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20998 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20999 : : return 7789; /* *avx2_umaxv32qi3 */
21000 : : if (!(
21001 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21002 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21003 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21004 : : (TARGET_AVX512VL)))
21005 : : return -1;
21006 : : return 7867; /* *avx512bw_umaxv32qi3 */
21007 : :
21008 : : case 1:
21009 : : if (
21010 : : #line 17940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21011 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21012 : : return 7793; /* *avx2_umaxv16hi3 */
21013 : : if (!(
21014 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21015 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21016 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21017 : : (TARGET_AVX512VL)))
21018 : : return -1;
21019 : : return 7883; /* *avx512bw_umaxv16hi3 */
21020 : :
21021 : : case 2:
21022 : : if (
21023 : : #line 17940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21024 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21025 : : return 7797; /* *avx2_umaxv8si3 */
21026 : : if (!(
21027 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21028 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21029 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21030 : : (TARGET_AVX512VL)))
21031 : : return -1;
21032 : : return 7811; /* *avx512f_umaxv8si3 */
21033 : :
21034 : : case 3:
21035 : : if (!
21036 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21037 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21038 : : return -1;
21039 : : return 7803; /* *avx512f_umaxv16si3 */
21040 : :
21041 : : case 4:
21042 : : if (nonimmediate_operand (operands[1], E_V4SImode)
21043 : : && nonimmediate_operand (operands[2], E_V4SImode)
21044 : : && (
21045 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21046 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21047 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21048 : : (TARGET_AVX512VL)))
21049 : : return 7819; /* *avx512f_umaxv4si3 */
21050 : : if (!vector_operand (operands[1], E_V4SImode)
21051 : : || !vector_operand (operands[2], E_V4SImode)
21052 : : || !
21053 : : #line 18168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21054 : : (TARGET_SSE4_1
21055 : : && 1
21056 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21057 : : return -1;
21058 : : return 7909; /* *sse4_1_umaxv4si3 */
21059 : :
21060 : : case 5:
21061 : : if (!
21062 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21063 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21064 : : return -1;
21065 : : return 7827; /* *avx512f_umaxv8di3 */
21066 : :
21067 : : case 6:
21068 : : if (!(
21069 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21070 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21071 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21072 : : (TARGET_AVX512VL)))
21073 : : return -1;
21074 : : return 7835; /* *avx512f_umaxv4di3 */
21075 : :
21076 : : case 7:
21077 : : if (!(
21078 : : #line 17981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21079 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21080 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21081 : : (TARGET_AVX512VL)))
21082 : : return -1;
21083 : : return 7843; /* *avx512f_umaxv2di3 */
21084 : :
21085 : : case 8:
21086 : : if (!
21087 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21088 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21089 : : return -1;
21090 : : return 7851; /* *avx512bw_umaxv64qi3 */
21091 : :
21092 : : case 9:
21093 : : if (nonimmediate_operand (operands[1], E_V16QImode)
21094 : : && nonimmediate_operand (operands[2], E_V16QImode)
21095 : : && (
21096 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21097 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21098 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21099 : : (TARGET_AVX512VL)))
21100 : : return 7859; /* *avx512bw_umaxv16qi3 */
21101 : : if (!vector_operand (operands[1], E_V16QImode)
21102 : : || !vector_operand (operands[2], E_V16QImode)
21103 : : || !
21104 : : #line 18187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21105 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21106 : : return -1;
21107 : : return 7913; /* *umaxv16qi3 */
21108 : :
21109 : : case 10:
21110 : : if (!
21111 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21112 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21113 : : return -1;
21114 : : return 7875; /* *avx512bw_umaxv32hi3 */
21115 : :
21116 : : case 11:
21117 : : if (nonimmediate_operand (operands[1], E_V8HImode)
21118 : : && nonimmediate_operand (operands[2], E_V8HImode)
21119 : : && (
21120 : : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21121 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21122 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21123 : : (TARGET_AVX512VL)))
21124 : : return 7891; /* *avx512bw_umaxv8hi3 */
21125 : : if (!vector_operand (operands[1], E_V8HImode)
21126 : : || !vector_operand (operands[2], E_V8HImode)
21127 : : || !
21128 : : #line 18168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21129 : : (TARGET_SSE4_1
21130 : : && 1
21131 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21132 : : return -1;
21133 : : return 7905; /* *sse4_1_umaxv8hi3 */
21134 : :
21135 : : default:
21136 : : return -1;
21137 : : }
21138 : : }
21139 : :
21140 : : int
21141 : : recog_358 (rtx x1 ATTRIBUTE_UNUSED,
21142 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21143 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21144 : : {
21145 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21146 : : rtx x2, x3, x4;
21147 : : int res ATTRIBUTE_UNUSED;
21148 : : x2 = XEXP (x1, 0);
21149 : : operands[0] = x2;
21150 : : x3 = XEXP (x1, 1);
21151 : : x4 = XEXP (x3, 0);
21152 : : operands[1] = x4;
21153 : : switch (GET_MODE (operands[0]))
21154 : : {
21155 : : case E_SImode:
21156 : : if (GET_MODE (x3) != E_SImode)
21157 : : return -1;
21158 : : if (nonimmediate_operand (operands[0], E_SImode)
21159 : : && nonimmediate_operand (operands[1], E_SImode)
21160 : : &&
21161 : : #line 22873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21162 : : (TARGET_MOVBE
21163 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
21164 : : return 1674; /* *bswapsi2_movbe */
21165 : : if (!register_operand (operands[0], E_SImode)
21166 : : || !register_operand (operands[1], E_SImode)
21167 : : || !
21168 : : #line 22888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21169 : : (TARGET_BSWAP))
21170 : : return -1;
21171 : : return 1676; /* *bswapsi2 */
21172 : :
21173 : : case E_DImode:
21174 : : if (GET_MODE (x3) != E_DImode)
21175 : : return -1;
21176 : : if (nonimmediate_operand (operands[0], E_DImode)
21177 : : && nonimmediate_operand (operands[1], E_DImode)
21178 : : && (
21179 : : #line 22873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21180 : : (TARGET_MOVBE
21181 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
21182 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21183 : : (TARGET_64BIT)))
21184 : : return 1675; /* *bswapdi2_movbe */
21185 : : if (!register_operand (operands[0], E_DImode)
21186 : : || !register_operand (operands[1], E_DImode)
21187 : : || !(
21188 : : #line 22888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21189 : : (TARGET_BSWAP) &&
21190 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21191 : : (TARGET_64BIT)))
21192 : : return -1;
21193 : : return 1677; /* *bswapdi2 */
21194 : :
21195 : : default:
21196 : : return -1;
21197 : : }
21198 : : }
21199 : :
21200 : : int
21201 : : recog_363 (rtx x1 ATTRIBUTE_UNUSED,
21202 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21203 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21204 : : {
21205 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21206 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21207 : : rtx x10, x11;
21208 : : int res ATTRIBUTE_UNUSED;
21209 : : x2 = XVECEXP (x1, 0, 0);
21210 : : x3 = XEXP (x2, 0);
21211 : : switch (GET_CODE (x3))
21212 : : {
21213 : : case REG:
21214 : : case SUBREG:
21215 : : case MEM:
21216 : : res = recog_361 (x1, insn, pnum_clobbers);
21217 : : if (res >= 0)
21218 : : return res;
21219 : : break;
21220 : :
21221 : : case STRICT_LOW_PART:
21222 : : x4 = XVECEXP (x1, 0, 1);
21223 : : if (pattern235 (x4,
21224 : : E_CCmode,
21225 : : 17) == 0)
21226 : : {
21227 : : x5 = XEXP (x3, 0);
21228 : : operands[0] = x5;
21229 : : x6 = XEXP (x2, 1);
21230 : : operands[1] = x6;
21231 : : switch (GET_MODE (operands[0]))
21232 : : {
21233 : : case E_QImode:
21234 : : if (register_operand (operands[0], E_QImode)
21235 : : && const0_operand (operands[1], E_QImode)
21236 : : &&
21237 : : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21238 : : (reload_completed))
21239 : : return 117; /* *movstrictqi_xor */
21240 : : break;
21241 : :
21242 : : case E_HImode:
21243 : : if (register_operand (operands[0], E_HImode)
21244 : : && const0_operand (operands[1], E_HImode)
21245 : : &&
21246 : : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21247 : : (reload_completed))
21248 : : return 118; /* *movstricthi_xor */
21249 : : break;
21250 : :
21251 : : default:
21252 : : break;
21253 : : }
21254 : : }
21255 : : break;
21256 : :
21257 : : case PC:
21258 : : res = recog_362 (x1, insn, pnum_clobbers);
21259 : : if (res >= 0)
21260 : : return res;
21261 : : break;
21262 : :
21263 : : default:
21264 : : break;
21265 : : }
21266 : : x4 = XVECEXP (x1, 0, 1);
21267 : : if (GET_CODE (x4) != CLOBBER)
21268 : : return -1;
21269 : : x7 = XEXP (x4, 0);
21270 : : if (GET_CODE (x7) != REG
21271 : : || REGNO (x7) != 17
21272 : : || GET_MODE (x7) != E_CCmode)
21273 : : return -1;
21274 : : x6 = XEXP (x2, 1);
21275 : : switch (GET_CODE (x6))
21276 : : {
21277 : : case SUBREG:
21278 : : if (maybe_ne (SUBREG_BYTE (x6), 0))
21279 : : return -1;
21280 : : switch (pattern1040 (x2))
21281 : : {
21282 : : case 0:
21283 : : x8 = XEXP (x6, 0);
21284 : : x9 = XEXP (x8, 1);
21285 : : operands[2] = x9;
21286 : : if (general_operand (operands[2], E_QImode))
21287 : : {
21288 : : switch (pattern1038 (x2))
21289 : : {
21290 : : case 0:
21291 : : return 337; /* *addqi_exthi_1 */
21292 : :
21293 : : case 1:
21294 : : return 338; /* *addqi_extsi_1 */
21295 : :
21296 : : case 2:
21297 : : if (
21298 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21299 : : (TARGET_64BIT))
21300 : : return 339; /* *addqi_extdi_1 */
21301 : : break;
21302 : :
21303 : : default:
21304 : : break;
21305 : : }
21306 : : }
21307 : : if (GET_CODE (x9) != SUBREG)
21308 : : return -1;
21309 : : switch (pattern1805 (x2))
21310 : : {
21311 : : case 0:
21312 : : return 340; /* *addqi_exthi_2 */
21313 : :
21314 : : case 1:
21315 : : return 342; /* *addqi_extsi_2 */
21316 : :
21317 : : case 2:
21318 : : if (!
21319 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21320 : : (TARGET_64BIT))
21321 : : return -1;
21322 : : return 344; /* *addqi_extdi_2 */
21323 : :
21324 : : default:
21325 : : return -1;
21326 : : }
21327 : :
21328 : : case 1:
21329 : : x8 = XEXP (x6, 0);
21330 : : x9 = XEXP (x8, 1);
21331 : : if (GET_CODE (x9) == SUBREG)
21332 : : {
21333 : : switch (pattern1805 (x2))
21334 : : {
21335 : : case 0:
21336 : : return 341; /* *subqi_exthi_2 */
21337 : :
21338 : : case 1:
21339 : : return 343; /* *subqi_extsi_2 */
21340 : :
21341 : : case 2:
21342 : : if (
21343 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21344 : : (TARGET_64BIT))
21345 : : return 345; /* *subqi_extdi_2 */
21346 : : break;
21347 : :
21348 : : default:
21349 : : break;
21350 : : }
21351 : : }
21352 : : operands[2] = x9;
21353 : : if (!general_operand (operands[2], E_QImode))
21354 : : return -1;
21355 : : switch (pattern1038 (x2))
21356 : : {
21357 : : case 0:
21358 : : return 426; /* *subqi_exthi_1 */
21359 : :
21360 : : case 1:
21361 : : return 427; /* *subqi_extsi_1 */
21362 : :
21363 : : case 2:
21364 : : if (!
21365 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21366 : : (TARGET_64BIT))
21367 : : return -1;
21368 : : return 428; /* *subqi_extdi_1 */
21369 : :
21370 : : default:
21371 : : return -1;
21372 : : }
21373 : :
21374 : : case 2:
21375 : : x8 = XEXP (x6, 0);
21376 : : x9 = XEXP (x8, 1);
21377 : : operands[2] = x9;
21378 : : if (general_operand (operands[2], E_QImode))
21379 : : {
21380 : : switch (pattern1038 (x2))
21381 : : {
21382 : : case 0:
21383 : : return 801; /* *andqi_exthi_1 */
21384 : :
21385 : : case 1:
21386 : : return 804; /* *andqi_extsi_1 */
21387 : :
21388 : : case 2:
21389 : : if (
21390 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21391 : : (TARGET_64BIT))
21392 : : return 807; /* *andqi_extdi_1 */
21393 : : break;
21394 : :
21395 : : default:
21396 : : break;
21397 : : }
21398 : : }
21399 : : if (GET_CODE (x9) != SUBREG)
21400 : : return -1;
21401 : : switch (pattern1805 (x2))
21402 : : {
21403 : : case 0:
21404 : : return 819; /* *andqi_exthi_2 */
21405 : :
21406 : : case 1:
21407 : : return 822; /* *andqi_extsi_2 */
21408 : :
21409 : : case 2:
21410 : : if (!
21411 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21412 : : (TARGET_64BIT))
21413 : : return -1;
21414 : : return 825; /* *andqi_extdi_2 */
21415 : :
21416 : : default:
21417 : : return -1;
21418 : : }
21419 : :
21420 : : case 3:
21421 : : x8 = XEXP (x6, 0);
21422 : : x9 = XEXP (x8, 1);
21423 : : operands[2] = x9;
21424 : : if (general_operand (operands[2], E_QImode))
21425 : : {
21426 : : switch (pattern1038 (x2))
21427 : : {
21428 : : case 0:
21429 : : return 802; /* *iorqi_exthi_1 */
21430 : :
21431 : : case 1:
21432 : : return 805; /* *iorqi_extsi_1 */
21433 : :
21434 : : case 2:
21435 : : if (
21436 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21437 : : (TARGET_64BIT))
21438 : : return 808; /* *iorqi_extdi_1 */
21439 : : break;
21440 : :
21441 : : default:
21442 : : break;
21443 : : }
21444 : : }
21445 : : if (GET_CODE (x9) != SUBREG)
21446 : : return -1;
21447 : : switch (pattern1805 (x2))
21448 : : {
21449 : : case 0:
21450 : : return 820; /* *iorqi_exthi_2 */
21451 : :
21452 : : case 1:
21453 : : return 823; /* *iorqi_extsi_2 */
21454 : :
21455 : : case 2:
21456 : : if (!
21457 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21458 : : (TARGET_64BIT))
21459 : : return -1;
21460 : : return 826; /* *iorqi_extdi_2 */
21461 : :
21462 : : default:
21463 : : return -1;
21464 : : }
21465 : :
21466 : : case 4:
21467 : : x8 = XEXP (x6, 0);
21468 : : x9 = XEXP (x8, 1);
21469 : : operands[2] = x9;
21470 : : if (general_operand (operands[2], E_QImode))
21471 : : {
21472 : : switch (pattern1038 (x2))
21473 : : {
21474 : : case 0:
21475 : : return 803; /* *xorqi_exthi_1 */
21476 : :
21477 : : case 1:
21478 : : return 806; /* *xorqi_extsi_1 */
21479 : :
21480 : : case 2:
21481 : : if (
21482 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21483 : : (TARGET_64BIT))
21484 : : return 809; /* *xorqi_extdi_1 */
21485 : : break;
21486 : :
21487 : : default:
21488 : : break;
21489 : : }
21490 : : }
21491 : : if (GET_CODE (x9) != SUBREG)
21492 : : return -1;
21493 : : switch (pattern1805 (x2))
21494 : : {
21495 : : case 0:
21496 : : return 821; /* *xorqi_exthi_2 */
21497 : :
21498 : : case 1:
21499 : : return 824; /* *xorqi_extsi_2 */
21500 : :
21501 : : case 2:
21502 : : if (!
21503 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21504 : : (TARGET_64BIT))
21505 : : return -1;
21506 : : return 827; /* *xorqi_extdi_2 */
21507 : :
21508 : : default:
21509 : : return -1;
21510 : : }
21511 : :
21512 : : case 5:
21513 : : return 1020; /* *negqi_exthi_1 */
21514 : :
21515 : : case 6:
21516 : : return 1021; /* *negqi_extsi_1 */
21517 : :
21518 : : case 7:
21519 : : if (!
21520 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21521 : : (TARGET_64BIT))
21522 : : return -1;
21523 : : return 1022; /* *negqi_extdi_1 */
21524 : :
21525 : : case 8:
21526 : : return 1151; /* *ashlqi_exthi_1 */
21527 : :
21528 : : case 9:
21529 : : return 1152; /* *ashlqi_extsi_1 */
21530 : :
21531 : : case 10:
21532 : : if (!
21533 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21534 : : (TARGET_64BIT))
21535 : : return -1;
21536 : : return 1153; /* *ashlqi_extdi_1 */
21537 : :
21538 : : case 11:
21539 : : operands[0] = x3;
21540 : : switch (pattern1233 (x6))
21541 : : {
21542 : : case 0:
21543 : : if ((
21544 : : #line 17051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21545 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
21546 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21547 : : (!TARGET_64BIT)))
21548 : : return 1170; /* lshrdi3_doubleword_lowpart */
21549 : : break;
21550 : :
21551 : : case 1:
21552 : : if ((
21553 : : #line 17051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21554 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
21555 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21556 : : (TARGET_64BIT)))
21557 : : return 1172; /* lshrti3_doubleword_lowpart */
21558 : : break;
21559 : :
21560 : : default:
21561 : : break;
21562 : : }
21563 : : x8 = XEXP (x6, 0);
21564 : : if (GET_MODE (x8) != E_QImode)
21565 : : return -1;
21566 : : switch (pattern1039 (x2))
21567 : : {
21568 : : case 0:
21569 : : return 1270; /* *lshrqi_exthi_1 */
21570 : :
21571 : : case 1:
21572 : : return 1272; /* *lshrqi_extsi_1 */
21573 : :
21574 : : case 2:
21575 : : if (!
21576 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21577 : : (TARGET_64BIT))
21578 : : return -1;
21579 : : return 1274; /* *lshrqi_extdi_1 */
21580 : :
21581 : : default:
21582 : : return -1;
21583 : : }
21584 : :
21585 : : case 12:
21586 : : operands[0] = x3;
21587 : : switch (pattern1233 (x6))
21588 : : {
21589 : : case 0:
21590 : : if ((
21591 : : #line 17051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21592 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
21593 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21594 : : (!TARGET_64BIT)))
21595 : : return 1171; /* ashrdi3_doubleword_lowpart */
21596 : : break;
21597 : :
21598 : : case 1:
21599 : : if ((
21600 : : #line 17051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21601 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
21602 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21603 : : (TARGET_64BIT)))
21604 : : return 1173; /* ashrti3_doubleword_lowpart */
21605 : : break;
21606 : :
21607 : : default:
21608 : : break;
21609 : : }
21610 : : x8 = XEXP (x6, 0);
21611 : : if (GET_MODE (x8) != E_QImode)
21612 : : return -1;
21613 : : switch (pattern1039 (x2))
21614 : : {
21615 : : case 0:
21616 : : return 1271; /* *ashrqi_exthi_1 */
21617 : :
21618 : : case 1:
21619 : : return 1273; /* *ashrqi_extsi_1 */
21620 : :
21621 : : case 2:
21622 : : if (!
21623 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21624 : : (TARGET_64BIT))
21625 : : return -1;
21626 : : return 1275; /* *ashrqi_extdi_1 */
21627 : :
21628 : : default:
21629 : : return -1;
21630 : : }
21631 : :
21632 : : default:
21633 : : return -1;
21634 : : }
21635 : :
21636 : : case CONST_INT:
21637 : : if (GET_CODE (x3) != ZERO_EXTRACT)
21638 : : return -1;
21639 : : x10 = XEXP (x3, 1);
21640 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
21641 : : return -1;
21642 : : x5 = XEXP (x3, 0);
21643 : : operands[0] = x5;
21644 : : x11 = XEXP (x3, 2);
21645 : : operands[1] = x11;
21646 : : switch (XWINT (x6, 0))
21647 : : {
21648 : : case 0L:
21649 : : switch (GET_CODE (operands[1]))
21650 : : {
21651 : : case REG:
21652 : : case SUBREG:
21653 : : if (!register_operand (operands[1], E_QImode)
21654 : : || GET_MODE (x3) != E_HImode)
21655 : : return -1;
21656 : : switch (GET_MODE (operands[0]))
21657 : : {
21658 : : case E_QImode:
21659 : : if (!nonimmediate_operand (operands[0], E_QImode)
21660 : : || !
21661 : : #line 19273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21662 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
21663 : : return -1;
21664 : : return 1443; /* *btrqi_2 */
21665 : :
21666 : : case E_HImode:
21667 : : if (!nonimmediate_operand (operands[0], E_HImode)
21668 : : || !
21669 : : #line 19273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21670 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
21671 : : return -1;
21672 : : return 1444; /* *btrhi_2 */
21673 : :
21674 : : default:
21675 : : return -1;
21676 : : }
21677 : :
21678 : : case CONST_INT:
21679 : : if (!const_0_to_63_operand (operands[1], E_QImode)
21680 : : || GET_MODE (x3) != E_DImode
21681 : : || !nonimmediate_operand (operands[0], E_DImode)
21682 : : || !
21683 : : #line 19337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21684 : : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
21685 : : return -1;
21686 : : return 1446; /* *btrq_imm */
21687 : :
21688 : : default:
21689 : : return -1;
21690 : : }
21691 : :
21692 : : case 1L:
21693 : : if (GET_MODE (x3) != E_DImode
21694 : : || !nonimmediate_operand (operands[0], E_DImode)
21695 : : || !const_0_to_63_operand (operands[1], E_QImode)
21696 : : || !
21697 : : #line 19324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21698 : : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
21699 : : return -1;
21700 : : return 1445; /* *btsq_imm */
21701 : :
21702 : : default:
21703 : : return -1;
21704 : : }
21705 : :
21706 : : default:
21707 : : return -1;
21708 : : }
21709 : : }
21710 : :
21711 : : int
21712 : : recog_377 (rtx x1 ATTRIBUTE_UNUSED,
21713 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21714 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21715 : : {
21716 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21717 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21718 : : rtx x10;
21719 : : int res ATTRIBUTE_UNUSED;
21720 : : if (pattern347 (x1) != 0)
21721 : : return -1;
21722 : : x2 = XVECEXP (x1, 0, 0);
21723 : : x3 = XEXP (x2, 1);
21724 : : x4 = XEXP (x3, 0);
21725 : : x5 = XEXP (x4, 0);
21726 : : switch (GET_CODE (x5))
21727 : : {
21728 : : case REG:
21729 : : case SUBREG:
21730 : : case MEM:
21731 : : operands[1] = x5;
21732 : : x6 = XEXP (x4, 1);
21733 : : operands[2] = x6;
21734 : : switch (GET_MODE (operands[0]))
21735 : : {
21736 : : case E_HImode:
21737 : : if (!register_operand (operands[0], E_HImode)
21738 : : || GET_MODE (x3) != E_HImode
21739 : : || GET_MODE (x4) != E_QImode
21740 : : || !nonimmediate_operand (operands[1], E_QImode)
21741 : : || !general_operand (operands[2], E_QImode)
21742 : : || !
21743 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21744 : : (TARGET_APX_NDD && true
21745 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21746 : : return -1;
21747 : : return 291; /* *addqi_1_zexthi */
21748 : :
21749 : : case E_SImode:
21750 : : if (!register_operand (operands[0], E_SImode)
21751 : : || GET_MODE (x3) != E_SImode)
21752 : : return -1;
21753 : : switch (GET_MODE (x4))
21754 : : {
21755 : : case E_QImode:
21756 : : if (!nonimmediate_operand (operands[1], E_QImode)
21757 : : || !general_operand (operands[2], E_QImode)
21758 : : || !
21759 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21760 : : (TARGET_APX_NDD && true
21761 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21762 : : return -1;
21763 : : return 293; /* *addqi_1_zextsi */
21764 : :
21765 : : case E_HImode:
21766 : : if (!nonimmediate_operand (operands[1], E_HImode)
21767 : : || !general_operand (operands[2], E_HImode)
21768 : : || !
21769 : : #line 6724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21770 : : (TARGET_APX_NDD && true
21771 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21772 : : return -1;
21773 : : return 297; /* *addhi_1_zextsi */
21774 : :
21775 : : default:
21776 : : return -1;
21777 : : }
21778 : :
21779 : : case E_DImode:
21780 : : if (!register_operand (operands[0], E_DImode)
21781 : : || GET_MODE (x3) != E_DImode)
21782 : : return -1;
21783 : : switch (GET_MODE (x4))
21784 : : {
21785 : : case E_QImode:
21786 : : if (!nonimmediate_operand (operands[1], E_QImode)
21787 : : || !general_operand (operands[2], E_QImode)
21788 : : || !
21789 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21790 : : (TARGET_APX_NDD && true
21791 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21792 : : return -1;
21793 : : return 295; /* *addqi_1_zextdi */
21794 : :
21795 : : case E_HImode:
21796 : : if (!nonimmediate_operand (operands[1], E_HImode)
21797 : : || !general_operand (operands[2], E_HImode)
21798 : : || !
21799 : : #line 6724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21800 : : (TARGET_APX_NDD && true
21801 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21802 : : return -1;
21803 : : return 299; /* *addhi_1_zextdi */
21804 : :
21805 : : case E_SImode:
21806 : : if (!nonimmediate_operand (operands[1], E_SImode)
21807 : : || !x86_64_general_operand (operands[2], E_SImode)
21808 : : || !
21809 : : #line 6769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21810 : : (TARGET_64BIT
21811 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21812 : : return -1;
21813 : : return 300; /* addsi_1_zext */
21814 : :
21815 : : default:
21816 : : return -1;
21817 : : }
21818 : :
21819 : : default:
21820 : : return -1;
21821 : : }
21822 : :
21823 : : case PLUS:
21824 : : x7 = XEXP (x5, 0);
21825 : : switch (GET_CODE (x7))
21826 : : {
21827 : : case LTU:
21828 : : case UNLT:
21829 : : operands[3] = x7;
21830 : : x8 = XEXP (x7, 0);
21831 : : if (GET_CODE (x8) != REG
21832 : : || REGNO (x8) != 17)
21833 : : return -1;
21834 : : x9 = XEXP (x7, 1);
21835 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21836 : : return -1;
21837 : : x10 = XEXP (x5, 1);
21838 : : operands[1] = x10;
21839 : : x6 = XEXP (x4, 1);
21840 : : operands[2] = x6;
21841 : : switch (pattern1156 (x3))
21842 : : {
21843 : : case 0:
21844 : : if (pattern1763 (x5,
21845 : : E_QImode) != 0
21846 : : || !
21847 : : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21848 : : (TARGET_APX_NDD
21849 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21850 : : return -1;
21851 : : return 481; /* *addqi3_carry_zexthi */
21852 : :
21853 : : case 1:
21854 : : if (pattern1763 (x5,
21855 : : E_QImode) != 0
21856 : : || !
21857 : : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21858 : : (TARGET_APX_NDD
21859 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21860 : : return -1;
21861 : : return 482; /* *addqi3_carry_zextsi */
21862 : :
21863 : : case 2:
21864 : : if (pattern1763 (x5,
21865 : : E_HImode) != 0
21866 : : || !
21867 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21868 : : (TARGET_APX_NDD
21869 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21870 : : return -1;
21871 : : return 484; /* *addhi3_carry_zextsi */
21872 : :
21873 : : case 3:
21874 : : if (pattern1763 (x5,
21875 : : E_QImode) != 0
21876 : : || !
21877 : : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21878 : : (TARGET_APX_NDD
21879 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21880 : : return -1;
21881 : : return 483; /* *addqi3_carry_zextdi */
21882 : :
21883 : : case 4:
21884 : : if (pattern1763 (x5,
21885 : : E_HImode) != 0
21886 : : || !
21887 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21888 : : (TARGET_APX_NDD
21889 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21890 : : return -1;
21891 : : return 485; /* *addhi3_carry_zextdi */
21892 : :
21893 : : case 5:
21894 : : if (pattern1763 (x5,
21895 : : E_SImode) != 0
21896 : : || !
21897 : : #line 9007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21898 : : (TARGET_64BIT
21899 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21900 : : return -1;
21901 : : return 486; /* *addsi3_carry_zext */
21902 : :
21903 : : default:
21904 : : return -1;
21905 : : }
21906 : :
21907 : : default:
21908 : : return -1;
21909 : : }
21910 : :
21911 : : case LTU:
21912 : : case UNLT:
21913 : : switch (pattern1157 (x3))
21914 : : {
21915 : : case 0:
21916 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
21917 : : || !nonimmediate_operand (operands[1], E_QImode)
21918 : : || !
21919 : : #line 9026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21920 : : (TARGET_APX_NDD))
21921 : : return -1;
21922 : : return 487; /* *addqi3_carry_zexthi_0 */
21923 : :
21924 : : case 1:
21925 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
21926 : : || !nonimmediate_operand (operands[1], E_QImode)
21927 : : || !
21928 : : #line 9026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21929 : : (TARGET_APX_NDD))
21930 : : return -1;
21931 : : return 488; /* *addqi3_carry_zextsi_0 */
21932 : :
21933 : : case 2:
21934 : : if (!ix86_carry_flag_operator (operands[2], E_HImode)
21935 : : || !nonimmediate_operand (operands[1], E_HImode)
21936 : : || !
21937 : : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21938 : : (TARGET_APX_NDD))
21939 : : return -1;
21940 : : return 490; /* *addhi3_carry_zextsi_0 */
21941 : :
21942 : : case 3:
21943 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
21944 : : || !nonimmediate_operand (operands[1], E_QImode)
21945 : : || !
21946 : : #line 9026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21947 : : (TARGET_APX_NDD))
21948 : : return -1;
21949 : : return 489; /* *addqi3_carry_zextdi_0 */
21950 : :
21951 : : case 4:
21952 : : if (!ix86_carry_flag_operator (operands[2], E_HImode)
21953 : : || !nonimmediate_operand (operands[1], E_HImode)
21954 : : || !
21955 : : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21956 : : (TARGET_APX_NDD))
21957 : : return -1;
21958 : : return 491; /* *addhi3_carry_zextdi_0 */
21959 : :
21960 : : case 5:
21961 : : if (!ix86_carry_flag_operator (operands[2], E_SImode)
21962 : : || !nonimmediate_operand (operands[1], E_SImode)
21963 : : || !
21964 : : #line 9054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21965 : : (TARGET_64BIT))
21966 : : return -1;
21967 : : return 492; /* *addsi3_carry_zext_0 */
21968 : :
21969 : : default:
21970 : : return -1;
21971 : : }
21972 : :
21973 : : case GE:
21974 : : case GEU:
21975 : : switch (pattern1157 (x3))
21976 : : {
21977 : : case 0:
21978 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
21979 : : || !nonimmediate_operand (operands[1], E_QImode)
21980 : : || !
21981 : : #line 9071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21982 : : (TARGET_APX_NDD))
21983 : : return -1;
21984 : : return 493; /* *addqi3_carry_zexthi_0r */
21985 : :
21986 : : case 1:
21987 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
21988 : : || !nonimmediate_operand (operands[1], E_QImode)
21989 : : || !
21990 : : #line 9071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21991 : : (TARGET_APX_NDD))
21992 : : return -1;
21993 : : return 494; /* *addqi3_carry_zextsi_0r */
21994 : :
21995 : : case 2:
21996 : : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
21997 : : || !nonimmediate_operand (operands[1], E_HImode)
21998 : : || !
21999 : : #line 9085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22000 : : (TARGET_APX_NDD))
22001 : : return -1;
22002 : : return 496; /* *addhi3_carry_zextsi_0r */
22003 : :
22004 : : case 3:
22005 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
22006 : : || !nonimmediate_operand (operands[1], E_QImode)
22007 : : || !
22008 : : #line 9071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22009 : : (TARGET_APX_NDD))
22010 : : return -1;
22011 : : return 495; /* *addqi3_carry_zextdi_0r */
22012 : :
22013 : : case 4:
22014 : : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
22015 : : || !nonimmediate_operand (operands[1], E_HImode)
22016 : : || !
22017 : : #line 9085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22018 : : (TARGET_APX_NDD))
22019 : : return -1;
22020 : : return 497; /* *addhi3_carry_zextdi_0r */
22021 : :
22022 : : case 5:
22023 : : if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
22024 : : || !nonimmediate_operand (operands[1], E_SImode)
22025 : : || !
22026 : : #line 9099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22027 : : (TARGET_64BIT))
22028 : : return -1;
22029 : : return 498; /* *addsi3_carry_zext_0r */
22030 : :
22031 : : default:
22032 : : return -1;
22033 : : }
22034 : :
22035 : : case UNSPEC:
22036 : : if (pattern1158 (x5) != 0
22037 : : || !register_operand (operands[0], E_DImode)
22038 : : || GET_MODE (x3) != E_DImode
22039 : : || GET_MODE (x4) != E_SImode)
22040 : : return -1;
22041 : : x6 = XEXP (x4, 1);
22042 : : operands[1] = x6;
22043 : : if (!register_operand (operands[1], E_SImode)
22044 : : || !
22045 : : #line 23558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22046 : : (TARGET_X32))
22047 : : return -1;
22048 : : return 1697; /* *add_tp_x32_zext */
22049 : :
22050 : : default:
22051 : : return -1;
22052 : : }
22053 : : }
22054 : :
22055 : : int
22056 : : recog_386 (rtx x1 ATTRIBUTE_UNUSED,
22057 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22058 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22059 : : {
22060 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22061 : : rtx x2, x3, x4, x5, x6, x7, x8;
22062 : : int res ATTRIBUTE_UNUSED;
22063 : : x2 = XVECEXP (x1, 0, 0);
22064 : : x3 = XEXP (x2, 1);
22065 : : x4 = XEXP (x3, 1);
22066 : : if (XWINT (x4, 0) != 0L)
22067 : : return -1;
22068 : : x5 = XVECEXP (x1, 0, 1);
22069 : : switch (GET_CODE (x5))
22070 : : {
22071 : : case SET:
22072 : : x6 = XEXP (x5, 0);
22073 : : operands[0] = x6;
22074 : : x7 = XEXP (x5, 1);
22075 : : switch (GET_CODE (x7))
22076 : : {
22077 : : case PLUS:
22078 : : switch (pattern1492 (x1))
22079 : : {
22080 : : case 0:
22081 : : if (!
22082 : : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22083 : : (ix86_match_ccmode (insn, CCGOCmode)
22084 : : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
22085 : : return -1;
22086 : : return 313; /* *addqi_2 */
22087 : :
22088 : : case 1:
22089 : : if (!
22090 : : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22091 : : (ix86_match_ccmode (insn, CCGOCmode)
22092 : : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
22093 : : return -1;
22094 : : return 314; /* *addhi_2 */
22095 : :
22096 : : case 2:
22097 : : if (!
22098 : : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22099 : : (ix86_match_ccmode (insn, CCGOCmode)
22100 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22101 : : return -1;
22102 : : return 315; /* *addsi_2 */
22103 : :
22104 : : case 3:
22105 : : if (!(
22106 : : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22107 : : (ix86_match_ccmode (insn, CCGOCmode)
22108 : : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22109 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22110 : : (TARGET_64BIT)))
22111 : : return -1;
22112 : : return 316; /* *adddi_2 */
22113 : :
22114 : : default:
22115 : : return -1;
22116 : : }
22117 : :
22118 : : case ZERO_EXTEND:
22119 : : if (pattern1429 (x1,
22120 : : PLUS) != 0
22121 : : || !
22122 : : #line 7181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22123 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
22124 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22125 : : return -1;
22126 : : return 317; /* *addsi_2_zext */
22127 : :
22128 : : default:
22129 : : return -1;
22130 : : }
22131 : :
22132 : : case CLOBBER:
22133 : : x6 = XEXP (x5, 0);
22134 : : operands[0] = x6;
22135 : : x8 = XEXP (x3, 0);
22136 : : switch (pattern1322 (x8))
22137 : : {
22138 : : case 0:
22139 : : if (!
22140 : : #line 7413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22141 : : (ix86_match_ccmode (insn, CCGOCmode)
22142 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22143 : : return -1;
22144 : : return 327; /* *addqi_5 */
22145 : :
22146 : : case 1:
22147 : : if (!
22148 : : #line 7413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22149 : : (ix86_match_ccmode (insn, CCGOCmode)
22150 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22151 : : return -1;
22152 : : return 328; /* *addhi_5 */
22153 : :
22154 : : case 2:
22155 : : if (!
22156 : : #line 7413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22157 : : (ix86_match_ccmode (insn, CCGOCmode)
22158 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22159 : : return -1;
22160 : : return 329; /* *addsi_5 */
22161 : :
22162 : : case 3:
22163 : : if (!(
22164 : : #line 7413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22165 : : (ix86_match_ccmode (insn, CCGOCmode)
22166 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22167 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22168 : : (TARGET_64BIT)))
22169 : : return -1;
22170 : : return 330; /* *adddi_5 */
22171 : :
22172 : : default:
22173 : : return -1;
22174 : : }
22175 : :
22176 : : default:
22177 : : return -1;
22178 : : }
22179 : : }
22180 : :
22181 : : int
22182 : : recog_388 (rtx x1 ATTRIBUTE_UNUSED,
22183 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22184 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22185 : : {
22186 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22187 : : rtx x2, x3, x4, x5, x6, x7, x8;
22188 : : int res ATTRIBUTE_UNUSED;
22189 : : x2 = XVECEXP (x1, 0, 1);
22190 : : switch (GET_CODE (x2))
22191 : : {
22192 : : case CLOBBER:
22193 : : x3 = XEXP (x2, 0);
22194 : : operands[0] = x3;
22195 : : switch (GET_MODE (operands[1]))
22196 : : {
22197 : : case E_DImode:
22198 : : if (!nonimmediate_operand (operands[1], E_DImode)
22199 : : || !x86_64_immediate_operand (operands[2], E_DImode)
22200 : : || !scratch_operand (operands[0], E_DImode)
22201 : : || !
22202 : : #line 7329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22203 : : (TARGET_64BIT
22204 : : && ix86_match_ccmode (insn, CCGCmode)))
22205 : : return -1;
22206 : : return 323; /* *adddi_4 */
22207 : :
22208 : : case E_QImode:
22209 : : if (!nonimmediate_operand (operands[1], E_QImode)
22210 : : || !const_int_operand (operands[2], E_QImode)
22211 : : || !scratch_operand (operands[0], E_QImode)
22212 : : || !
22213 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22214 : : (ix86_match_ccmode (insn, CCGCmode)))
22215 : : return -1;
22216 : : return 324; /* *addqi_4 */
22217 : :
22218 : : case E_HImode:
22219 : : if (!nonimmediate_operand (operands[1], E_HImode)
22220 : : || !const_int_operand (operands[2], E_HImode)
22221 : : || !scratch_operand (operands[0], E_HImode)
22222 : : || !
22223 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22224 : : (ix86_match_ccmode (insn, CCGCmode)))
22225 : : return -1;
22226 : : return 325; /* *addhi_4 */
22227 : :
22228 : : case E_SImode:
22229 : : if (!nonimmediate_operand (operands[1], E_SImode)
22230 : : || !const_int_operand (operands[2], E_SImode)
22231 : : || !scratch_operand (operands[0], E_SImode)
22232 : : || !
22233 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22234 : : (ix86_match_ccmode (insn, CCGCmode)))
22235 : : return -1;
22236 : : return 326; /* *addsi_4 */
22237 : :
22238 : : default:
22239 : : return -1;
22240 : : }
22241 : :
22242 : : case SET:
22243 : : x3 = XEXP (x2, 0);
22244 : : operands[0] = x3;
22245 : : x4 = XEXP (x2, 1);
22246 : : switch (GET_CODE (x4))
22247 : : {
22248 : : case MINUS:
22249 : : x5 = XEXP (x4, 0);
22250 : : if (!rtx_equal_p (x5, operands[1]))
22251 : : return -1;
22252 : : x6 = XEXP (x4, 1);
22253 : : if (!rtx_equal_p (x6, operands[2]))
22254 : : return -1;
22255 : : switch (GET_MODE (operands[1]))
22256 : : {
22257 : : case E_QImode:
22258 : : if (pattern1493 (x4,
22259 : : E_QImode) != 0
22260 : : || !
22261 : : #line 8647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22262 : : (ix86_match_ccmode (insn, CCmode)
22263 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
22264 : : return -1;
22265 : : return 449; /* *subqi_3 */
22266 : :
22267 : : case E_HImode:
22268 : : if (pattern1493 (x4,
22269 : : E_HImode) != 0
22270 : : || !
22271 : : #line 8647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22272 : : (ix86_match_ccmode (insn, CCmode)
22273 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
22274 : : return -1;
22275 : : return 450; /* *subhi_3 */
22276 : :
22277 : : case E_SImode:
22278 : : if (pattern1494 (x4,
22279 : : E_SImode) != 0
22280 : : || !
22281 : : #line 8647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22282 : : (ix86_match_ccmode (insn, CCmode)
22283 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22284 : : return -1;
22285 : : return 451; /* *subsi_3 */
22286 : :
22287 : : case E_DImode:
22288 : : if (pattern1494 (x4,
22289 : : E_DImode) != 0
22290 : : || !(
22291 : : #line 8647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22292 : : (ix86_match_ccmode (insn, CCmode)
22293 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22294 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22295 : : (TARGET_64BIT)))
22296 : : return -1;
22297 : : return 452; /* *subdi_3 */
22298 : :
22299 : : default:
22300 : : return -1;
22301 : : }
22302 : :
22303 : : case ZERO_EXTEND:
22304 : : if (GET_MODE (x4) != E_DImode)
22305 : : return -1;
22306 : : x5 = XEXP (x4, 0);
22307 : : if (GET_CODE (x5) != MINUS
22308 : : || GET_MODE (x5) != E_SImode
22309 : : || !nonimmediate_operand (operands[1], E_SImode)
22310 : : || !x86_64_general_operand (operands[2], E_SImode)
22311 : : || !register_operand (operands[0], E_DImode))
22312 : : return -1;
22313 : : x7 = XEXP (x5, 0);
22314 : : if (!rtx_equal_p (x7, operands[1]))
22315 : : return -1;
22316 : : x8 = XEXP (x5, 1);
22317 : : if (!rtx_equal_p (x8, operands[2])
22318 : : || !
22319 : : #line 8777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22320 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCmode)
22321 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22322 : : return -1;
22323 : : return 456; /* *subsi_3_zext */
22324 : :
22325 : : default:
22326 : : return -1;
22327 : : }
22328 : :
22329 : : default:
22330 : : return -1;
22331 : : }
22332 : : }
22333 : :
22334 : : int
22335 : : recog_395 (rtx x1 ATTRIBUTE_UNUSED,
22336 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22337 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22338 : : {
22339 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22340 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22341 : : int res ATTRIBUTE_UNUSED;
22342 : : switch (pattern371 (x1,
22343 : : IOR))
22344 : : {
22345 : : case 0:
22346 : : if (general_operand (operands[2], E_QImode))
22347 : : {
22348 : : switch (pattern946 (x1,
22349 : : IOR))
22350 : : {
22351 : : case 0:
22352 : : if (
22353 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22354 : : (ix86_match_ccmode (insn, CCNOmode)))
22355 : : return 811; /* *iorqi_exthi_1_cc */
22356 : : break;
22357 : :
22358 : : case 1:
22359 : : if (
22360 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22361 : : (ix86_match_ccmode (insn, CCNOmode)))
22362 : : return 814; /* *iorqi_extsi_1_cc */
22363 : : break;
22364 : :
22365 : : case 2:
22366 : : if ((
22367 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22368 : : (ix86_match_ccmode (insn, CCNOmode)) &&
22369 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22370 : : (TARGET_64BIT)))
22371 : : return 817; /* *iorqi_extdi_1_cc */
22372 : : break;
22373 : :
22374 : : default:
22375 : : break;
22376 : : }
22377 : : }
22378 : : x2 = XVECEXP (x1, 0, 0);
22379 : : x3 = XEXP (x2, 0);
22380 : : if (GET_CODE (x3) != REG
22381 : : || REGNO (x3) != 17)
22382 : : return -1;
22383 : : x4 = XEXP (x2, 1);
22384 : : x5 = XEXP (x4, 0);
22385 : : x6 = XEXP (x5, 0);
22386 : : operands[1] = x6;
22387 : : x7 = XVECEXP (x1, 0, 1);
22388 : : switch (GET_CODE (x7))
22389 : : {
22390 : : case SET:
22391 : : x8 = XEXP (x7, 0);
22392 : : operands[0] = x8;
22393 : : x9 = XEXP (x7, 1);
22394 : : switch (GET_CODE (x9))
22395 : : {
22396 : : case IOR:
22397 : : switch (pattern1433 (x1))
22398 : : {
22399 : : case 0:
22400 : : if (!
22401 : : #line 14159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22402 : : (ix86_match_ccmode (insn, CCNOmode)
22403 : : && ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)))
22404 : : return -1;
22405 : : return 900; /* *iorqi_2 */
22406 : :
22407 : : case 1:
22408 : : if (!
22409 : : #line 14159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22410 : : (ix86_match_ccmode (insn, CCNOmode)
22411 : : && ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)))
22412 : : return -1;
22413 : : return 902; /* *iorhi_2 */
22414 : :
22415 : : case 2:
22416 : : if (!
22417 : : #line 14159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22418 : : (ix86_match_ccmode (insn, CCNOmode)
22419 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
22420 : : return -1;
22421 : : return 904; /* *iorsi_2 */
22422 : :
22423 : : case 3:
22424 : : if (!(
22425 : : #line 14159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22426 : : (ix86_match_ccmode (insn, CCNOmode)
22427 : : && ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
22428 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22429 : : (TARGET_64BIT)))
22430 : : return -1;
22431 : : return 906; /* *iordi_2 */
22432 : :
22433 : : case 4:
22434 : : if (!
22435 : : #line 14197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22436 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
22437 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
22438 : : return -1;
22439 : : return 910; /* *iorsi_2_zext_imm */
22440 : :
22441 : : default:
22442 : : return -1;
22443 : : }
22444 : :
22445 : : case ZERO_EXTEND:
22446 : : if (pattern1429 (x1,
22447 : : IOR) != 0
22448 : : || !
22449 : : #line 14179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22450 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
22451 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
22452 : : return -1;
22453 : : return 908; /* *iorsi_2_zext */
22454 : :
22455 : : default:
22456 : : return -1;
22457 : : }
22458 : :
22459 : : case CLOBBER:
22460 : : x8 = XEXP (x7, 0);
22461 : : operands[0] = x8;
22462 : : if (GET_MODE (x3) == E_CCZmode
22463 : : && GET_MODE (x4) == E_CCZmode)
22464 : : {
22465 : : switch (pattern1322 (x5))
22466 : : {
22467 : : case 0:
22468 : : if ((
22469 : : #line 14215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22470 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22471 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22472 : : (TARGET_AVX512DQ)))
22473 : : return 912; /* *iorqi_ccz_1 */
22474 : : break;
22475 : :
22476 : : case 1:
22477 : : if (
22478 : : #line 14215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22479 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22480 : : return 913; /* *iorhi_ccz_1 */
22481 : : break;
22482 : :
22483 : : case 2:
22484 : : if ((
22485 : : #line 14215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22486 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22487 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22488 : : (TARGET_AVX512BW)))
22489 : : return 914; /* *iorsi_ccz_1 */
22490 : : break;
22491 : :
22492 : : case 3:
22493 : : if ((
22494 : : #line 14215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22495 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22496 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22497 : : (TARGET_AVX512BW && TARGET_64BIT)))
22498 : : return 915; /* *iordi_ccz_1 */
22499 : : break;
22500 : :
22501 : : default:
22502 : : break;
22503 : : }
22504 : : }
22505 : : switch (GET_MODE (x5))
22506 : : {
22507 : : case E_QImode:
22508 : : if (!nonimmediate_operand (operands[1], E_QImode)
22509 : : || !general_operand (operands[2], E_QImode)
22510 : : || !scratch_operand (operands[0], E_QImode)
22511 : : || !
22512 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22513 : : (ix86_match_ccmode (insn, CCNOmode)
22514 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22515 : : return -1;
22516 : : return 916; /* *iorqi_3 */
22517 : :
22518 : : case E_HImode:
22519 : : if (!nonimmediate_operand (operands[1], E_HImode)
22520 : : || !general_operand (operands[2], E_HImode)
22521 : : || !scratch_operand (operands[0], E_HImode)
22522 : : || !
22523 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22524 : : (ix86_match_ccmode (insn, CCNOmode)
22525 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22526 : : return -1;
22527 : : return 918; /* *iorhi_3 */
22528 : :
22529 : : case E_SImode:
22530 : : if (!nonimmediate_operand (operands[1], E_SImode)
22531 : : || !x86_64_general_operand (operands[2], E_SImode)
22532 : : || !scratch_operand (operands[0], E_SImode)
22533 : : || !
22534 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22535 : : (ix86_match_ccmode (insn, CCNOmode)
22536 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22537 : : return -1;
22538 : : return 920; /* *iorsi_3 */
22539 : :
22540 : : case E_DImode:
22541 : : if (!nonimmediate_operand (operands[1], E_DImode)
22542 : : || !x86_64_general_operand (operands[2], E_DImode)
22543 : : || !scratch_operand (operands[0], E_DImode)
22544 : : || !(
22545 : : #line 14229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22546 : : (ix86_match_ccmode (insn, CCNOmode)
22547 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22548 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22549 : : (TARGET_64BIT)))
22550 : : return -1;
22551 : : return 922; /* *iordi_3 */
22552 : :
22553 : : default:
22554 : : return -1;
22555 : : }
22556 : :
22557 : : default:
22558 : : return -1;
22559 : : }
22560 : :
22561 : : case 1:
22562 : : return 11118; /* atomic_or_fetch_cmp_0qi_1 */
22563 : :
22564 : : case 2:
22565 : : return 11121; /* atomic_or_fetch_cmp_0hi_1 */
22566 : :
22567 : : case 3:
22568 : : return 11124; /* atomic_or_fetch_cmp_0si_1 */
22569 : :
22570 : : case 4:
22571 : : if (!
22572 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22573 : : (TARGET_64BIT))
22574 : : return -1;
22575 : : return 11127; /* atomic_or_fetch_cmp_0di_1 */
22576 : :
22577 : : default:
22578 : : return -1;
22579 : : }
22580 : : }
22581 : :
22582 : : int
22583 : : recog_396 (rtx x1 ATTRIBUTE_UNUSED,
22584 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22585 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22586 : : {
22587 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22588 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22589 : : rtx x10, x11, x12, x13, x14, x15;
22590 : : int res ATTRIBUTE_UNUSED;
22591 : : x2 = XVECEXP (x1, 0, 0);
22592 : : x3 = XEXP (x2, 1);
22593 : : x4 = XEXP (x3, 1);
22594 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22595 : : return -1;
22596 : : x5 = XEXP (x3, 0);
22597 : : x6 = XEXP (x5, 0);
22598 : : switch (GET_CODE (x6))
22599 : : {
22600 : : case REG:
22601 : : case SUBREG:
22602 : : case MEM:
22603 : : operands[1] = x6;
22604 : : res = recog_390 (x1, insn, pnum_clobbers);
22605 : : if (res >= 0)
22606 : : return res;
22607 : : if (GET_CODE (x6) != SUBREG)
22608 : : return -1;
22609 : : switch (pattern819 (x1))
22610 : : {
22611 : : case 0:
22612 : : if (!
22613 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22614 : : (ix86_match_ccmode (insn, CCNOmode)))
22615 : : return -1;
22616 : : return 810; /* *andqi_exthi_1_cc */
22617 : :
22618 : : case 1:
22619 : : if (!
22620 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22621 : : (ix86_match_ccmode (insn, CCNOmode)))
22622 : : return -1;
22623 : : return 813; /* *andqi_extsi_1_cc */
22624 : :
22625 : : case 2:
22626 : : if (!(
22627 : : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22628 : : (ix86_match_ccmode (insn, CCNOmode)) &&
22629 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22630 : : (TARGET_64BIT)))
22631 : : return -1;
22632 : : return 816; /* *andqi_extdi_1_cc */
22633 : :
22634 : : default:
22635 : : return -1;
22636 : : }
22637 : :
22638 : : case NOT:
22639 : : x7 = XEXP (x2, 0);
22640 : : if (GET_CODE (x7) != REG
22641 : : || REGNO (x7) != 17)
22642 : : return -1;
22643 : : x8 = XVECEXP (x1, 0, 1);
22644 : : if (GET_CODE (x8) != CLOBBER)
22645 : : return -1;
22646 : : x9 = XEXP (x6, 0);
22647 : : operands[1] = x9;
22648 : : x10 = XEXP (x5, 1);
22649 : : operands[2] = x10;
22650 : : x11 = XEXP (x8, 0);
22651 : : operands[0] = x11;
22652 : : switch (GET_MODE (x5))
22653 : : {
22654 : : case E_SImode:
22655 : : if (pattern1430 (x6,
22656 : : E_SImode) != 0
22657 : : || !
22658 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22659 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22660 : : return -1;
22661 : : return 845; /* *andn_si_ccno */
22662 : :
22663 : : case E_DImode:
22664 : : if (pattern1430 (x6,
22665 : : E_DImode) != 0
22666 : : || !(
22667 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22668 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22669 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22670 : : (TARGET_64BIT)))
22671 : : return -1;
22672 : : return 846; /* *andn_di_ccno */
22673 : :
22674 : : default:
22675 : : return -1;
22676 : : }
22677 : :
22678 : : case NEG:
22679 : : x7 = XEXP (x2, 0);
22680 : : if (GET_CODE (x7) != REG
22681 : : || REGNO (x7) != 17)
22682 : : return -1;
22683 : : x9 = XEXP (x6, 0);
22684 : : operands[1] = x9;
22685 : : x10 = XEXP (x5, 1);
22686 : : if (!rtx_equal_p (x10, operands[1]))
22687 : : return -1;
22688 : : x8 = XVECEXP (x1, 0, 1);
22689 : : switch (GET_CODE (x8))
22690 : : {
22691 : : case SET:
22692 : : x12 = XEXP (x8, 1);
22693 : : if (GET_CODE (x12) != AND)
22694 : : return -1;
22695 : : x13 = XEXP (x12, 0);
22696 : : if (GET_CODE (x13) != NEG)
22697 : : return -1;
22698 : : x11 = XEXP (x8, 0);
22699 : : operands[0] = x11;
22700 : : switch (pattern1497 (x1))
22701 : : {
22702 : : case 0:
22703 : : if (!
22704 : : #line 22101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22705 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22706 : : return -1;
22707 : : return 1606; /* *bmi_blsi_si_cmp */
22708 : :
22709 : : case 1:
22710 : : if (!(
22711 : : #line 22101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22712 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22713 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22714 : : (TARGET_64BIT)))
22715 : : return -1;
22716 : : return 1607; /* *bmi_blsi_di_cmp */
22717 : :
22718 : : default:
22719 : : return -1;
22720 : : }
22721 : :
22722 : : case CLOBBER:
22723 : : switch (pattern1241 (x1))
22724 : : {
22725 : : case 0:
22726 : : if (!
22727 : : #line 22160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22728 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22729 : : return -1;
22730 : : return 1610; /* *bmi_blsi_si_ccno */
22731 : :
22732 : : case 1:
22733 : : if (!(
22734 : : #line 22160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22735 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22736 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22737 : : (TARGET_64BIT)))
22738 : : return -1;
22739 : : return 1611; /* *bmi_blsi_di_ccno */
22740 : :
22741 : : default:
22742 : : return -1;
22743 : : }
22744 : :
22745 : : default:
22746 : : return -1;
22747 : : }
22748 : :
22749 : : case PLUS:
22750 : : x14 = XEXP (x6, 1);
22751 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
22752 : : || pattern818 (x2,
22753 : : E_CCZmode) != 0)
22754 : : return -1;
22755 : : x9 = XEXP (x6, 0);
22756 : : operands[1] = x9;
22757 : : x10 = XEXP (x5, 1);
22758 : : if (!rtx_equal_p (x10, operands[1]))
22759 : : return -1;
22760 : : x8 = XVECEXP (x1, 0, 1);
22761 : : switch (GET_CODE (x8))
22762 : : {
22763 : : case SET:
22764 : : x12 = XEXP (x8, 1);
22765 : : if (GET_CODE (x12) != AND)
22766 : : return -1;
22767 : : x13 = XEXP (x12, 0);
22768 : : if (GET_CODE (x13) != PLUS)
22769 : : return -1;
22770 : : x15 = XEXP (x13, 1);
22771 : : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
22772 : : return -1;
22773 : : x11 = XEXP (x8, 0);
22774 : : operands[0] = x11;
22775 : : switch (pattern1497 (x1))
22776 : : {
22777 : : case 0:
22778 : : if (!
22779 : : #line 22253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22780 : : (TARGET_BMI))
22781 : : return -1;
22782 : : return 1618; /* *bmi_blsr_si_cmp */
22783 : :
22784 : : case 1:
22785 : : if (!(
22786 : : #line 22253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22787 : : (TARGET_BMI) &&
22788 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22789 : : (TARGET_64BIT)))
22790 : : return -1;
22791 : : return 1619; /* *bmi_blsr_di_cmp */
22792 : :
22793 : : default:
22794 : : return -1;
22795 : : }
22796 : :
22797 : : case CLOBBER:
22798 : : switch (pattern1241 (x1))
22799 : : {
22800 : : case 0:
22801 : : if (!
22802 : : #line 22310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22803 : : (TARGET_BMI))
22804 : : return -1;
22805 : : return 1622; /* *bmi_blsr_si_ccz */
22806 : :
22807 : : case 1:
22808 : : if (!(
22809 : : #line 22310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22810 : : (TARGET_BMI) &&
22811 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22812 : : (TARGET_64BIT)))
22813 : : return -1;
22814 : : return 1623; /* *bmi_blsr_di_ccz */
22815 : :
22816 : : default:
22817 : : return -1;
22818 : : }
22819 : :
22820 : : default:
22821 : : return -1;
22822 : : }
22823 : :
22824 : : case UNSPEC_VOLATILE:
22825 : : switch (pattern370 (x1,
22826 : : AND))
22827 : : {
22828 : : case 0:
22829 : : return 11117; /* atomic_and_fetch_cmp_0qi_1 */
22830 : :
22831 : : case 1:
22832 : : return 11120; /* atomic_and_fetch_cmp_0hi_1 */
22833 : :
22834 : : case 2:
22835 : : return 11123; /* atomic_and_fetch_cmp_0si_1 */
22836 : :
22837 : : case 3:
22838 : : if (!
22839 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22840 : : (TARGET_64BIT))
22841 : : return -1;
22842 : : return 11126; /* atomic_and_fetch_cmp_0di_1 */
22843 : :
22844 : : default:
22845 : : return -1;
22846 : : }
22847 : :
22848 : : default:
22849 : : return -1;
22850 : : }
22851 : : }
22852 : :
22853 : : int
22854 : : recog_405 (rtx x1 ATTRIBUTE_UNUSED,
22855 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22856 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22857 : : {
22858 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22859 : : rtx x2, x3, x4, x5, x6, x7;
22860 : : int res ATTRIBUTE_UNUSED;
22861 : : x2 = XVECEXP (x1, 0, 0);
22862 : : x3 = XEXP (x2, 1);
22863 : : x4 = XEXP (x3, 0);
22864 : : x5 = XEXP (x4, 0);
22865 : : switch (GET_CODE (x5))
22866 : : {
22867 : : case ASHIFTRT:
22868 : : case LSHIFTRT:
22869 : : case SIGN_EXTRACT:
22870 : : case ZERO_EXTRACT:
22871 : : operands[3] = x5;
22872 : : x6 = XEXP (x5, 0);
22873 : : operands[2] = x6;
22874 : : switch (pattern1528 (x2))
22875 : : {
22876 : : case 0:
22877 : : if (
22878 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22879 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22880 : : return 760; /* *iorqi_exthi_1_slp */
22881 : : break;
22882 : :
22883 : : case 1:
22884 : : if (
22885 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22886 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22887 : : return 763; /* *iorqi_extsi_1_slp */
22888 : : break;
22889 : :
22890 : : case 2:
22891 : : if ((
22892 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22893 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22894 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22895 : : (TARGET_64BIT)))
22896 : : return 766; /* *iorqi_extdi_1_slp */
22897 : : break;
22898 : :
22899 : : case 3:
22900 : : return 784; /* *iorqi_exthi_0 */
22901 : :
22902 : : case 4:
22903 : : return 787; /* *iorqi_extsi_0 */
22904 : :
22905 : : case 5:
22906 : : if (
22907 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22908 : : (TARGET_64BIT))
22909 : : return 790; /* *iorqi_extdi_0 */
22910 : : break;
22911 : :
22912 : : default:
22913 : : break;
22914 : : }
22915 : : x7 = XEXP (x3, 1);
22916 : : if (GET_CODE (x7) != SUBREG)
22917 : : return -1;
22918 : : switch (pattern1529 (x2))
22919 : : {
22920 : : case 0:
22921 : : if (!
22922 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22923 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22924 : : return -1;
22925 : : return 769; /* *iorqi_exthi_2_slp */
22926 : :
22927 : : case 1:
22928 : : if (!
22929 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22930 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22931 : : return -1;
22932 : : return 772; /* *iorqi_extsi_2_slp */
22933 : :
22934 : : case 2:
22935 : : if (!(
22936 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22937 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22938 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22939 : : (TARGET_64BIT)))
22940 : : return -1;
22941 : : return 775; /* *iorqi_extdi_2_slp */
22942 : :
22943 : : case 3:
22944 : : return 793; /* *iorqi_ext2hi_0 */
22945 : :
22946 : : case 4:
22947 : : return 796; /* *iorqi_ext2si_0 */
22948 : :
22949 : : case 5:
22950 : : if (!
22951 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22952 : : (TARGET_64BIT))
22953 : : return -1;
22954 : : return 799; /* *iorqi_ext2di_0 */
22955 : :
22956 : : default:
22957 : : return -1;
22958 : : }
22959 : :
22960 : : default:
22961 : : return -1;
22962 : : }
22963 : : }
22964 : :
22965 : : int
22966 : : recog_406 (rtx x1 ATTRIBUTE_UNUSED,
22967 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22968 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22969 : : {
22970 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22971 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22972 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22973 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
22974 : : int res ATTRIBUTE_UNUSED;
22975 : : x2 = XVECEXP (x1, 0, 0);
22976 : : x3 = XEXP (x2, 0);
22977 : : operands[0] = x3;
22978 : : x4 = XEXP (x2, 1);
22979 : : x5 = XEXP (x4, 0);
22980 : : x6 = XEXP (x5, 0);
22981 : : switch (GET_CODE (x6))
22982 : : {
22983 : : case ZERO_EXTEND:
22984 : : x7 = XEXP (x5, 1);
22985 : : if (GET_CODE (x7) != CONST_INT)
22986 : : return -1;
22987 : : x8 = XEXP (x4, 1);
22988 : : if (GET_CODE (x8) != ZERO_EXTEND)
22989 : : return -1;
22990 : : x9 = XEXP (x6, 0);
22991 : : switch (GET_CODE (x9))
22992 : : {
22993 : : case TRUNCATE:
22994 : : if (GET_MODE (x9) != E_QImode)
22995 : : return -1;
22996 : : x10 = XEXP (x9, 0);
22997 : : if (GET_CODE (x10) != MOD
22998 : : || GET_MODE (x10) != E_HImode
22999 : : || XWINT (x7, 0) != 8L)
23000 : : return -1;
23001 : : x11 = XEXP (x8, 0);
23002 : : if (GET_CODE (x11) != TRUNCATE
23003 : : || GET_MODE (x11) != E_QImode)
23004 : : return -1;
23005 : : x12 = XEXP (x11, 0);
23006 : : if (GET_CODE (x12) != DIV
23007 : : || GET_MODE (x12) != E_HImode)
23008 : : return -1;
23009 : : x13 = XVECEXP (x1, 0, 1);
23010 : : if (pattern235 (x13,
23011 : : E_CCmode,
23012 : : 17) != 0
23013 : : || !register_operand (operands[0], E_HImode)
23014 : : || GET_MODE (x4) != E_HImode
23015 : : || GET_MODE (x5) != E_HImode
23016 : : || GET_MODE (x6) != E_HImode)
23017 : : return -1;
23018 : : x14 = XEXP (x10, 0);
23019 : : operands[1] = x14;
23020 : : if (!register_operand (operands[1], E_HImode))
23021 : : return -1;
23022 : : x15 = XEXP (x10, 1);
23023 : : if (GET_MODE (x15) != E_HImode
23024 : : || GET_MODE (x8) != E_HImode)
23025 : : return -1;
23026 : : x16 = XEXP (x12, 1);
23027 : : if (GET_MODE (x16) != E_HImode)
23028 : : return -1;
23029 : : x17 = XEXP (x12, 0);
23030 : : if (!rtx_equal_p (x17, operands[1]))
23031 : : return -1;
23032 : : switch (GET_CODE (x15))
23033 : : {
23034 : : case SIGN_EXTEND:
23035 : : if (GET_CODE (x16) != SIGN_EXTEND)
23036 : : return -1;
23037 : : x18 = XEXP (x15, 0);
23038 : : operands[2] = x18;
23039 : : if (!nonimmediate_operand (operands[2], E_QImode))
23040 : : return -1;
23041 : : x19 = XEXP (x16, 0);
23042 : : if (!rtx_equal_p (x19, operands[2])
23043 : : || !
23044 : : #line 12318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23045 : : (TARGET_QIMODE_MATH
23046 : : && true))
23047 : : return -1;
23048 : : return 707; /* divmodhiqi3 */
23049 : :
23050 : : case ZERO_EXTEND:
23051 : : if (GET_CODE (x16) != ZERO_EXTEND)
23052 : : return -1;
23053 : : x18 = XEXP (x15, 0);
23054 : : operands[2] = x18;
23055 : : if (!nonimmediate_operand (operands[2], E_QImode))
23056 : : return -1;
23057 : : x19 = XEXP (x16, 0);
23058 : : if (!rtx_equal_p (x19, operands[2])
23059 : : || !
23060 : : #line 12318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23061 : : (TARGET_QIMODE_MATH
23062 : : && true))
23063 : : return -1;
23064 : : return 709; /* udivmodhiqi3 */
23065 : :
23066 : : default:
23067 : : return -1;
23068 : : }
23069 : :
23070 : : case REG:
23071 : : case SUBREG:
23072 : : operands[1] = x9;
23073 : : x13 = XVECEXP (x1, 0, 1);
23074 : : if (pattern387 (x13,
23075 : : 175,
23076 : : 0) != 0)
23077 : : return -1;
23078 : : x11 = XEXP (x8, 0);
23079 : : operands[2] = x11;
23080 : : switch (XWINT (x7, 0))
23081 : : {
23082 : : case 8L:
23083 : : if (pattern1573 (x4,
23084 : : E_QImode,
23085 : : E_HImode) != 0
23086 : : || !
23087 : : #line 2555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23088 : : (TARGET_AVX512F))
23089 : : return -1;
23090 : : return 2713; /* kunpckhi */
23091 : :
23092 : : case 16L:
23093 : : if (pattern1573 (x4,
23094 : : E_HImode,
23095 : : E_SImode) != 0
23096 : : || !
23097 : : #line 2569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23098 : : (TARGET_AVX512BW))
23099 : : return -1;
23100 : : return 2714; /* kunpcksi */
23101 : :
23102 : : case 32L:
23103 : : if (pattern1573 (x4,
23104 : : E_SImode,
23105 : : E_DImode) != 0
23106 : : || !
23107 : : #line 2581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23108 : : (TARGET_AVX512BW))
23109 : : return -1;
23110 : : return 2715; /* kunpckdi */
23111 : :
23112 : : default:
23113 : : return -1;
23114 : : }
23115 : :
23116 : : default:
23117 : : return -1;
23118 : : }
23119 : :
23120 : : case REG:
23121 : : case SUBREG:
23122 : : case MEM:
23123 : : x13 = XVECEXP (x1, 0, 1);
23124 : : if (pattern235 (x13,
23125 : : E_CCmode,
23126 : : 17) != 0)
23127 : : return -1;
23128 : : switch (pattern1051 (x4,
23129 : : LSHIFTRT))
23130 : : {
23131 : : case 0:
23132 : : x8 = XEXP (x4, 1);
23133 : : x11 = XEXP (x8, 0);
23134 : : x12 = XEXP (x11, 0);
23135 : : x17 = XEXP (x12, 0);
23136 : : operands[1] = x17;
23137 : : if (nonimmediate_operand (operands[0], E_DImode))
23138 : : {
23139 : : x7 = XEXP (x5, 1);
23140 : : x20 = XEXP (x7, 0);
23141 : : operands[2] = x20;
23142 : : if (rtx_equal_p (x6, operands[0]))
23143 : : {
23144 : : x21 = XEXP (x11, 1);
23145 : : x22 = XEXP (x21, 1);
23146 : : x23 = XEXP (x22, 0);
23147 : : if (rtx_equal_p (x23, operands[2])
23148 : : &&
23149 : : #line 15697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23150 : : (TARGET_64BIT && true))
23151 : : return 1095; /* x86_64_shld */
23152 : : }
23153 : : }
23154 : : operands[2] = x17;
23155 : : if (!register_operand (operands[0], E_DImode))
23156 : : return -1;
23157 : : operands[1] = x6;
23158 : : if (!nonimmediate_operand (operands[1], E_DImode))
23159 : : return -1;
23160 : : x7 = XEXP (x5, 1);
23161 : : x20 = XEXP (x7, 0);
23162 : : operands[3] = x20;
23163 : : x21 = XEXP (x11, 1);
23164 : : x22 = XEXP (x21, 1);
23165 : : x23 = XEXP (x22, 0);
23166 : : if (!rtx_equal_p (x23, operands[3])
23167 : : || !
23168 : : #line 15718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23169 : : (TARGET_APX_NDD && true))
23170 : : return -1;
23171 : : return 1097; /* x86_64_shld_ndd */
23172 : :
23173 : : case 1:
23174 : : if (!nonimmediate_operand (operands[0], E_SImode)
23175 : : || pattern1050 (x4,
23176 : : E_SImode,
23177 : : E_DImode) != 0)
23178 : : return -1;
23179 : : x8 = XEXP (x4, 1);
23180 : : x11 = XEXP (x8, 0);
23181 : : x12 = XEXP (x11, 0);
23182 : : x17 = XEXP (x12, 0);
23183 : : operands[1] = x17;
23184 : : x7 = XEXP (x5, 1);
23185 : : x20 = XEXP (x7, 0);
23186 : : operands[2] = x20;
23187 : : if (rtx_equal_p (x6, operands[0]))
23188 : : {
23189 : : x21 = XEXP (x11, 1);
23190 : : x22 = XEXP (x21, 1);
23191 : : x23 = XEXP (x22, 0);
23192 : : if (rtx_equal_p (x23, operands[2]))
23193 : : return 1107; /* x86_shld */
23194 : : }
23195 : : operands[2] = x17;
23196 : : operands[1] = x6;
23197 : : if (!nonimmediate_operand (operands[1], E_SImode))
23198 : : return -1;
23199 : : operands[3] = x20;
23200 : : x21 = XEXP (x11, 1);
23201 : : x22 = XEXP (x21, 1);
23202 : : x23 = XEXP (x22, 0);
23203 : : if (!rtx_equal_p (x23, operands[3])
23204 : : || !
23205 : : #line 15949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23206 : : (TARGET_APX_NDD && true))
23207 : : return -1;
23208 : : return 1109; /* x86_shld_ndd */
23209 : :
23210 : : case 2:
23211 : : x8 = XEXP (x4, 1);
23212 : : switch (GET_CODE (x8))
23213 : : {
23214 : : case SUBREG:
23215 : : switch (pattern1244 (x4,
23216 : : LSHIFTRT))
23217 : : {
23218 : : case 0:
23219 : : x7 = XEXP (x5, 1);
23220 : : operands[2] = x7;
23221 : : if (pattern1691 (x4) == 0
23222 : : &&
23223 : : #line 15733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23224 : : (TARGET_64BIT
23225 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
23226 : : && true))
23227 : : return 1099; /* x86_64_shld_1 */
23228 : : operands[3] = x7;
23229 : : if (pattern1692 (x4) != 0
23230 : : || !
23231 : : #line 15755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23232 : : (TARGET_APX_NDD
23233 : : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
23234 : : && true))
23235 : : return -1;
23236 : : return 1101; /* x86_64_shld_ndd_1 */
23237 : :
23238 : : case 1:
23239 : : x7 = XEXP (x5, 1);
23240 : : operands[2] = x7;
23241 : : if (pattern1693 (x4) == 0
23242 : : &&
23243 : : #line 15965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23244 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
23245 : : && true))
23246 : : return 1111; /* x86_shld_1 */
23247 : : operands[3] = x7;
23248 : : if (pattern1694 (x4) != 0
23249 : : || !
23250 : : #line 15987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23251 : : (TARGET_APX_NDD
23252 : : && INTVAL (operands[4]) == 32 - INTVAL (operands[3])
23253 : : && true))
23254 : : return -1;
23255 : : return 1113; /* x86_shld_ndd_1 */
23256 : :
23257 : : default:
23258 : : return -1;
23259 : : }
23260 : :
23261 : : case LSHIFTRT:
23262 : : switch (pattern1246 (x4))
23263 : : {
23264 : : case 0:
23265 : : if (!
23266 : : #line 15827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23267 : : (TARGET_64BIT
23268 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
23269 : : && ix86_pre_reload_split ()))
23270 : : return -1;
23271 : : return 1103; /* *x86_64_shld_shrd_1_nozext */
23272 : :
23273 : : case 1:
23274 : : if (!
23275 : : #line 16059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23276 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
23277 : : && ix86_pre_reload_split ()))
23278 : : return -1;
23279 : : return 1115; /* *x86_shld_shrd_1_nozext */
23280 : :
23281 : : case 2:
23282 : : x11 = XEXP (x8, 0);
23283 : : operands[1] = x11;
23284 : : if (nonimmediate_operand (operands[0], E_DImode))
23285 : : {
23286 : : x7 = XEXP (x5, 1);
23287 : : operands[2] = x7;
23288 : : if (rtx_equal_p (x6, operands[0]))
23289 : : {
23290 : : x24 = XEXP (x8, 1);
23291 : : x25 = XEXP (x24, 1);
23292 : : if (rtx_equal_p (x25, operands[2])
23293 : : &&
23294 : : #line 15880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23295 : : (TARGET_64BIT && ix86_pre_reload_split ()))
23296 : : return 1104; /* *x86_64_shld_2 */
23297 : : }
23298 : : }
23299 : : operands[2] = x11;
23300 : : if (!register_operand (operands[0], E_DImode))
23301 : : return -1;
23302 : : operands[1] = x6;
23303 : : if (!nonimmediate_operand (operands[1], E_DImode))
23304 : : return -1;
23305 : : x7 = XEXP (x5, 1);
23306 : : operands[3] = x7;
23307 : : x24 = XEXP (x8, 1);
23308 : : x25 = XEXP (x24, 1);
23309 : : if (!rtx_equal_p (x25, operands[3])
23310 : : || !
23311 : : #line 15901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23312 : : (TARGET_APX_NDD
23313 : : && ix86_pre_reload_split ()))
23314 : : return -1;
23315 : : return 1105; /* *x86_64_shld_ndd_2 */
23316 : :
23317 : : case 3:
23318 : : x11 = XEXP (x8, 0);
23319 : : operands[1] = x11;
23320 : : if (nonimmediate_operand (operands[0], E_SImode))
23321 : : {
23322 : : x7 = XEXP (x5, 1);
23323 : : operands[2] = x7;
23324 : : if (rtx_equal_p (x6, operands[0]))
23325 : : {
23326 : : x24 = XEXP (x8, 1);
23327 : : x25 = XEXP (x24, 1);
23328 : : if (rtx_equal_p (x25, operands[2])
23329 : : &&
23330 : : #line 16111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23331 : : (TARGET_64BIT && ix86_pre_reload_split ()))
23332 : : return 1116; /* *x86_shld_2 */
23333 : : }
23334 : : }
23335 : : operands[2] = x11;
23336 : : if (!register_operand (operands[0], E_SImode))
23337 : : return -1;
23338 : : operands[1] = x6;
23339 : : if (!nonimmediate_operand (operands[1], E_SImode))
23340 : : return -1;
23341 : : x7 = XEXP (x5, 1);
23342 : : operands[3] = x7;
23343 : : x24 = XEXP (x8, 1);
23344 : : x25 = XEXP (x24, 1);
23345 : : if (!rtx_equal_p (x25, operands[3])
23346 : : || !
23347 : : #line 16132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23348 : : (TARGET_APX_NDD
23349 : : && ix86_pre_reload_split ()))
23350 : : return -1;
23351 : : return 1117; /* *x86_shld_ndd_2 */
23352 : :
23353 : : default:
23354 : : return -1;
23355 : : }
23356 : :
23357 : : default:
23358 : : return -1;
23359 : : }
23360 : :
23361 : : default:
23362 : : return -1;
23363 : : }
23364 : :
23365 : : case CONST_INT:
23366 : : if (XWINT (x6, 0) != 1L)
23367 : : return -1;
23368 : : x13 = XVECEXP (x1, 0, 1);
23369 : : if (pattern235 (x13,
23370 : : E_CCmode,
23371 : : 17) != 0)
23372 : : return -1;
23373 : : switch (pattern376 (x4))
23374 : : {
23375 : : case 0:
23376 : : x7 = XEXP (x5, 1);
23377 : : operands[2] = x7;
23378 : : if (register_operand (operands[2], E_QImode))
23379 : : {
23380 : : switch (pattern943 (x4))
23381 : : {
23382 : : case 0:
23383 : : if (
23384 : : #line 19115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23385 : : (TARGET_USE_BT))
23386 : : return 1423; /* *btssi */
23387 : : break;
23388 : :
23389 : : case 1:
23390 : : if ((
23391 : : #line 19115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23392 : : (TARGET_USE_BT) &&
23393 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23394 : : (TARGET_64BIT)))
23395 : : return 1425; /* *btsdi */
23396 : : break;
23397 : :
23398 : : default:
23399 : : break;
23400 : : }
23401 : : }
23402 : : if (GET_CODE (x7) != SUBREG)
23403 : : return -1;
23404 : : switch (pattern1331 (x4))
23405 : : {
23406 : : case 0:
23407 : : if (!
23408 : : #line 19134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23409 : : (TARGET_USE_BT
23410 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
23411 : : == GET_MODE_BITSIZE (SImode)-1
23412 : : && ix86_pre_reload_split ()))
23413 : : return -1;
23414 : : return 1427; /* *btssi_mask */
23415 : :
23416 : : case 1:
23417 : : if (!(
23418 : : #line 19134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23419 : : (TARGET_USE_BT
23420 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
23421 : : == GET_MODE_BITSIZE (DImode)-1
23422 : : && ix86_pre_reload_split ()) &&
23423 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23424 : : (TARGET_64BIT)))
23425 : : return -1;
23426 : : return 1429; /* *btsdi_mask */
23427 : :
23428 : : default:
23429 : : return -1;
23430 : : }
23431 : :
23432 : : case 1:
23433 : : if (!
23434 : : #line 19162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23435 : : (TARGET_USE_BT
23436 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
23437 : : == GET_MODE_BITSIZE (SImode)-1
23438 : : && ix86_pre_reload_split ()))
23439 : : return -1;
23440 : : return 1431; /* *btssi_mask_1 */
23441 : :
23442 : : case 2:
23443 : : if (!(
23444 : : #line 19162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23445 : : (TARGET_USE_BT
23446 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
23447 : : == GET_MODE_BITSIZE (DImode)-1
23448 : : && ix86_pre_reload_split ()) &&
23449 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23450 : : (TARGET_64BIT)))
23451 : : return -1;
23452 : : return 1433; /* *btsdi_mask_1 */
23453 : :
23454 : : default:
23455 : : return -1;
23456 : : }
23457 : :
23458 : : default:
23459 : : return -1;
23460 : : }
23461 : : }
23462 : :
23463 : : int
23464 : : recog_419 (rtx x1 ATTRIBUTE_UNUSED,
23465 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23466 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23467 : : {
23468 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23469 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23470 : : rtx x10, x11;
23471 : : int res ATTRIBUTE_UNUSED;
23472 : : x2 = XVECEXP (x1, 0, 0);
23473 : : x3 = XEXP (x2, 1);
23474 : : if (GET_MODE (x3) != E_DImode)
23475 : : return -1;
23476 : : x4 = XEXP (x2, 0);
23477 : : operands[0] = x4;
23478 : : if (!register_operand (operands[0], E_DImode))
23479 : : return -1;
23480 : : x5 = XEXP (x3, 0);
23481 : : if (GET_MODE (x5) != E_SImode)
23482 : : return -1;
23483 : : switch (GET_CODE (x5))
23484 : : {
23485 : : case CTZ:
23486 : : switch (pattern934 (x1, pnum_clobbers))
23487 : : {
23488 : : case 0:
23489 : : if (!
23490 : : #line 21471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23491 : : (TARGET_64BIT))
23492 : : return -1;
23493 : : return 1552; /* *ctzsidi2_sext */
23494 : :
23495 : : case 1:
23496 : : if (!
23497 : : #line 21511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23498 : : (TARGET_64BIT))
23499 : : return -1;
23500 : : *pnum_clobbers = 1;
23501 : : return 1554; /* *ctzsidi2_sext_falsedep */
23502 : :
23503 : : default:
23504 : : return -1;
23505 : : }
23506 : :
23507 : : case XOR:
23508 : : x6 = XEXP (x5, 0);
23509 : : if (GET_CODE (x6) != MINUS
23510 : : || GET_MODE (x6) != E_SImode)
23511 : : return -1;
23512 : : x7 = XEXP (x6, 0);
23513 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
23514 : : return -1;
23515 : : x8 = XEXP (x6, 1);
23516 : : if (GET_CODE (x8) != CLZ
23517 : : || GET_MODE (x8) != E_SImode)
23518 : : return -1;
23519 : : x9 = XEXP (x5, 1);
23520 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
23521 : : return -1;
23522 : : x10 = XVECEXP (x1, 0, 1);
23523 : : if (pattern235 (x10,
23524 : : E_CCmode,
23525 : : 17) != 0)
23526 : : return -1;
23527 : : x11 = XEXP (x8, 0);
23528 : : operands[1] = x11;
23529 : : if (!nonimmediate_operand (operands[1], E_SImode)
23530 : : || !
23531 : : #line 21644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23532 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
23533 : : return -1;
23534 : : return 1564; /* *bsr_2 */
23535 : :
23536 : : default:
23537 : : return -1;
23538 : : }
23539 : : }
23540 : :
23541 : : int
23542 : : recog_421 (rtx x1 ATTRIBUTE_UNUSED,
23543 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23544 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23545 : : {
23546 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23547 : : rtx x2, x3, x4, x5, x6, x7, x8;
23548 : : int res ATTRIBUTE_UNUSED;
23549 : : x2 = XVECEXP (x1, 0, 0);
23550 : : x3 = XEXP (x2, 0);
23551 : : operands[0] = x3;
23552 : : x4 = XEXP (x2, 1);
23553 : : x5 = XEXP (x4, 0);
23554 : : switch (GET_CODE (x5))
23555 : : {
23556 : : case REG:
23557 : : case SUBREG:
23558 : : case MEM:
23559 : : operands[1] = x5;
23560 : : x6 = XVECEXP (x1, 0, 1);
23561 : : switch (GET_CODE (x6))
23562 : : {
23563 : : case CLOBBER:
23564 : : x7 = XEXP (x6, 0);
23565 : : if (GET_CODE (x7) != REG
23566 : : || REGNO (x7) != 17
23567 : : || GET_MODE (x7) != E_CCmode)
23568 : : return -1;
23569 : : switch (GET_MODE (operands[0]))
23570 : : {
23571 : : case E_SImode:
23572 : : if (!register_operand (operands[0], E_SImode)
23573 : : || GET_MODE (x4) != E_SImode
23574 : : || !nonimmediate_operand (operands[1], E_SImode)
23575 : : || !
23576 : : #line 22622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23577 : : (TARGET_POPCNT))
23578 : : return -1;
23579 : : return 1660; /* popcountsi2 */
23580 : :
23581 : : case E_DImode:
23582 : : if (!register_operand (operands[0], E_DImode)
23583 : : || GET_MODE (x4) != E_DImode
23584 : : || !nonimmediate_operand (operands[1], E_DImode)
23585 : : || !(
23586 : : #line 22622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23587 : : (TARGET_POPCNT) &&
23588 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23589 : : (TARGET_64BIT)))
23590 : : return -1;
23591 : : return 1661; /* popcountdi2 */
23592 : :
23593 : : case E_HImode:
23594 : : if (!register_operand (operands[0], E_HImode)
23595 : : || GET_MODE (x4) != E_HImode
23596 : : || !nonimmediate_operand (operands[1], E_HImode)
23597 : : || !
23598 : : #line 22827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23599 : : (TARGET_POPCNT && true))
23600 : : return -1;
23601 : : return 1673; /* popcounthi2 */
23602 : :
23603 : : default:
23604 : : return -1;
23605 : : }
23606 : :
23607 : : case UNSPEC:
23608 : : switch (pattern702 (x1))
23609 : : {
23610 : : case 0:
23611 : : if (
23612 : : #line 22653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23613 : : (TARGET_APX_NF && TARGET_POPCNT))
23614 : : return 1662; /* *popcountsi2_falsedep_nf */
23615 : : if (pnum_clobbers == NULL
23616 : : || !
23617 : : #line 22672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23618 : : (TARGET_POPCNT))
23619 : : return -1;
23620 : : *pnum_clobbers = 1;
23621 : : return 1664; /* *popcountsi2_falsedep */
23622 : :
23623 : : case 1:
23624 : : if ((
23625 : : #line 22653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23626 : : (TARGET_APX_NF && TARGET_POPCNT) &&
23627 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23628 : : (TARGET_64BIT)))
23629 : : return 1663; /* *popcountdi2_falsedep_nf */
23630 : : if (pnum_clobbers == NULL
23631 : : || !(
23632 : : #line 22672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23633 : : (TARGET_POPCNT) &&
23634 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23635 : : (TARGET_64BIT)))
23636 : : return -1;
23637 : : *pnum_clobbers = 1;
23638 : : return 1665; /* *popcountdi2_falsedep */
23639 : :
23640 : : default:
23641 : : return -1;
23642 : : }
23643 : :
23644 : : default:
23645 : : return -1;
23646 : : }
23647 : :
23648 : : case ZERO_EXTEND:
23649 : : if (GET_MODE (x5) != E_SImode)
23650 : : return -1;
23651 : : x6 = XVECEXP (x1, 0, 1);
23652 : : if (pattern235 (x6,
23653 : : E_CCmode,
23654 : : 17) != 0
23655 : : || !register_operand (operands[0], E_SImode)
23656 : : || GET_MODE (x4) != E_SImode)
23657 : : return -1;
23658 : : x8 = XEXP (x5, 0);
23659 : : operands[1] = x8;
23660 : : if (!nonimmediate_operand (operands[1], E_HImode)
23661 : : || !
23662 : : #line 22792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23663 : : (TARGET_POPCNT
23664 : : && ix86_pre_reload_split ()))
23665 : : return -1;
23666 : : return 1670; /* *popcounthi2_1 */
23667 : :
23668 : : default:
23669 : : return -1;
23670 : : }
23671 : : }
23672 : :
23673 : : int
23674 : : recog_429 (rtx x1 ATTRIBUTE_UNUSED,
23675 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23676 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23677 : : {
23678 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23679 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23680 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23681 : : int res ATTRIBUTE_UNUSED;
23682 : : x2 = XVECEXP (x1, 0, 0);
23683 : : x3 = XEXP (x2, 1);
23684 : : switch (XVECLEN (x3, 0))
23685 : : {
23686 : : case 1:
23687 : : x4 = XEXP (x2, 0);
23688 : : operands[0] = x4;
23689 : : x5 = XVECEXP (x3, 0, 0);
23690 : : operands[1] = x5;
23691 : : switch (XINT (x3, 1))
23692 : : {
23693 : : case 107:
23694 : : if (pattern539 (x1) != 0)
23695 : : return -1;
23696 : : x6 = XVECEXP (x1, 0, 2);
23697 : : if (GET_CODE (x6) != UNSPEC
23698 : : || XVECLEN (x6, 0) != 1
23699 : : || XINT (x6, 1) != 109
23700 : : || GET_MODE (x6) != E_DImode)
23701 : : return -1;
23702 : : x7 = XVECEXP (x6, 0, 0);
23703 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23704 : : || !register_operand (operands[0], E_DImode)
23705 : : || !pop_operand (operands[1], E_TImode))
23706 : : return -1;
23707 : : x8 = XVECEXP (x1, 0, 1);
23708 : : x9 = XEXP (x8, 0);
23709 : : operands[2] = x9;
23710 : : if (!register_operand (operands[2], E_DImode)
23711 : : || !
23712 : : #line 3952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23713 : : (TARGET_APX_PUSH2POP2 && TARGET_APX_PPX))
23714 : : return -1;
23715 : : return 168; /* pop2p_di */
23716 : :
23717 : : case 98:
23718 : : switch (pattern823 (x1))
23719 : : {
23720 : : case 0:
23721 : : if (!
23722 : : #line 21939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23723 : : (TARGET_BMI))
23724 : : return -1;
23725 : : return 1592; /* *tzcnt_si_falsedep */
23726 : :
23727 : : case 1:
23728 : : if (!((
23729 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23730 : : (TARGET_64BIT) &&
23731 : : #line 21939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23732 : : (TARGET_BMI)) &&
23733 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23734 : : (TARGET_64BIT)))
23735 : : return -1;
23736 : : return 1594; /* *tzcnt_di_falsedep */
23737 : :
23738 : : default:
23739 : : return -1;
23740 : : }
23741 : :
23742 : : case 97:
23743 : : switch (pattern823 (x1))
23744 : : {
23745 : : case 0:
23746 : : if (!
23747 : : #line 21940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23748 : : (TARGET_LZCNT))
23749 : : return -1;
23750 : : return 1593; /* *lzcnt_si_falsedep */
23751 : :
23752 : : case 1:
23753 : : if (!((
23754 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23755 : : (TARGET_64BIT) &&
23756 : : #line 21940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23757 : : (TARGET_LZCNT)) &&
23758 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23759 : : (TARGET_64BIT)))
23760 : : return -1;
23761 : : return 1595; /* *lzcnt_di_falsedep */
23762 : :
23763 : : default:
23764 : : return -1;
23765 : : }
23766 : :
23767 : : case 75:
23768 : : if (pattern824 (x1) != 0
23769 : : || !
23770 : : #line 25570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23771 : : (TARGET_USE_FANCY_MATH_387
23772 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23773 : : return -1;
23774 : : return 1774; /* frndintxf2_roundeven_i387 */
23775 : :
23776 : : case 76:
23777 : : if (pattern824 (x1) != 0
23778 : : || !
23779 : : #line 25570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23780 : : (TARGET_USE_FANCY_MATH_387
23781 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23782 : : return -1;
23783 : : return 1775; /* frndintxf2_floor_i387 */
23784 : :
23785 : : case 77:
23786 : : if (pattern824 (x1) != 0
23787 : : || !
23788 : : #line 25570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23789 : : (TARGET_USE_FANCY_MATH_387
23790 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23791 : : return -1;
23792 : : return 1776; /* frndintxf2_ceil_i387 */
23793 : :
23794 : : case 78:
23795 : : if (pattern824 (x1) != 0
23796 : : || !
23797 : : #line 25570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23798 : : (TARGET_USE_FANCY_MATH_387
23799 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23800 : : return -1;
23801 : : return 1777; /* frndintxf2_trunc_i387 */
23802 : :
23803 : : case 79:
23804 : : switch (pattern826 (x1, pnum_clobbers))
23805 : : {
23806 : : case 0:
23807 : : if (!
23808 : : #line 25688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23809 : : (TARGET_USE_FANCY_MATH_387
23810 : : && flag_unsafe_math_optimizations))
23811 : : return -1;
23812 : : *pnum_clobbers = 1;
23813 : : return 1784; /* fistdi2_floor */
23814 : :
23815 : : case 1:
23816 : : if (!
23817 : : #line 25701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23818 : : (TARGET_USE_FANCY_MATH_387
23819 : : && flag_unsafe_math_optimizations))
23820 : : return -1;
23821 : : return 1786; /* fisthi2_floor */
23822 : :
23823 : : case 2:
23824 : : if (!
23825 : : #line 25701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23826 : : (TARGET_USE_FANCY_MATH_387
23827 : : && flag_unsafe_math_optimizations))
23828 : : return -1;
23829 : : return 1788; /* fistsi2_floor */
23830 : :
23831 : : default:
23832 : : return -1;
23833 : : }
23834 : :
23835 : : case 80:
23836 : : switch (pattern826 (x1, pnum_clobbers))
23837 : : {
23838 : : case 0:
23839 : : if (!
23840 : : #line 25688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23841 : : (TARGET_USE_FANCY_MATH_387
23842 : : && flag_unsafe_math_optimizations))
23843 : : return -1;
23844 : : *pnum_clobbers = 1;
23845 : : return 1785; /* fistdi2_ceil */
23846 : :
23847 : : case 1:
23848 : : if (!
23849 : : #line 25701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23850 : : (TARGET_USE_FANCY_MATH_387
23851 : : && flag_unsafe_math_optimizations))
23852 : : return -1;
23853 : : return 1787; /* fisthi2_ceil */
23854 : :
23855 : : case 2:
23856 : : if (!
23857 : : #line 25701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23858 : : (TARGET_USE_FANCY_MATH_387
23859 : : && flag_unsafe_math_optimizations))
23860 : : return -1;
23861 : : return 1789; /* fistsi2_ceil */
23862 : :
23863 : : default:
23864 : : return -1;
23865 : : }
23866 : :
23867 : : case 93:
23868 : : x8 = XVECEXP (x1, 0, 1);
23869 : : if (GET_CODE (x8) != SET)
23870 : : return -1;
23871 : : x10 = XEXP (x8, 1);
23872 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23873 : : return -1;
23874 : : x6 = XVECEXP (x1, 0, 2);
23875 : : if (pattern948 (x6,
23876 : : E_CCmode,
23877 : : 17) != 0)
23878 : : return -1;
23879 : : switch (pattern1152 (x1))
23880 : : {
23881 : : case 0:
23882 : : if (!(
23883 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23884 : : (ptr_mode == SImode) &&
23885 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23886 : : (word_mode == SImode)))
23887 : : return -1;
23888 : : return 1921; /* stack_protect_set_1_si_si */
23889 : :
23890 : : case 1:
23891 : : if (!(
23892 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23893 : : (ptr_mode == SImode) &&
23894 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23895 : : (word_mode == DImode)))
23896 : : return -1;
23897 : : return 1923; /* stack_protect_set_1_si_di */
23898 : :
23899 : : case 2:
23900 : : if (!(
23901 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23902 : : (ptr_mode == DImode) &&
23903 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23904 : : (word_mode == SImode)))
23905 : : return -1;
23906 : : return 1922; /* stack_protect_set_1_di_si */
23907 : :
23908 : : case 3:
23909 : : if (!(
23910 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23911 : : (ptr_mode == DImode) &&
23912 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23913 : : (word_mode == DImode)))
23914 : : return -1;
23915 : : return 1924; /* stack_protect_set_1_di_di */
23916 : :
23917 : : default:
23918 : : return -1;
23919 : : }
23920 : :
23921 : : case 288:
23922 : : if (GET_MODE (x3) != E_DImode)
23923 : : return -1;
23924 : : x8 = XVECEXP (x1, 0, 1);
23925 : : if (GET_CODE (x8) != CLOBBER)
23926 : : return -1;
23927 : : x6 = XVECEXP (x1, 0, 2);
23928 : : if (GET_CODE (x6) != CLOBBER
23929 : : || !nonimmediate_operand (operands[0], E_DImode)
23930 : : || !memory_operand (operands[1], E_DImode))
23931 : : return -1;
23932 : : x9 = XEXP (x8, 0);
23933 : : operands[2] = x9;
23934 : : if (!memory_operand (operands[2], E_DImode))
23935 : : return -1;
23936 : : x11 = XEXP (x6, 0);
23937 : : operands[3] = x11;
23938 : : if (!scratch_operand (operands[3], E_DFmode)
23939 : : || !
23940 : : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23941 : : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
23942 : : return -1;
23943 : : return 11044; /* atomic_loaddi_fpu */
23944 : :
23945 : : case 289:
23946 : : if (GET_MODE (x3) != E_DImode)
23947 : : return -1;
23948 : : x8 = XVECEXP (x1, 0, 1);
23949 : : if (GET_CODE (x8) != CLOBBER)
23950 : : return -1;
23951 : : x6 = XVECEXP (x1, 0, 2);
23952 : : if (GET_CODE (x6) != CLOBBER
23953 : : || !memory_operand (operands[0], E_DImode)
23954 : : || !nonimmediate_operand (operands[1], E_DImode))
23955 : : return -1;
23956 : : x9 = XEXP (x8, 0);
23957 : : operands[2] = x9;
23958 : : if (!memory_operand (operands[2], E_DImode))
23959 : : return -1;
23960 : : x11 = XEXP (x6, 0);
23961 : : operands[3] = x11;
23962 : : if (!scratch_operand (operands[3], E_DFmode)
23963 : : || !
23964 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23965 : : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
23966 : : return -1;
23967 : : return 11049; /* atomic_storedi_fpu */
23968 : :
23969 : : default:
23970 : : return -1;
23971 : : }
23972 : :
23973 : : case 2:
23974 : : x8 = XVECEXP (x1, 0, 1);
23975 : : if (GET_CODE (x8) != SET)
23976 : : return -1;
23977 : : x10 = XEXP (x8, 1);
23978 : : if (GET_CODE (x10) != UNSPEC
23979 : : || XVECLEN (x10, 0) != 2
23980 : : || GET_MODE (x10) != E_XFmode)
23981 : : return -1;
23982 : : x6 = XVECEXP (x1, 0, 2);
23983 : : if (GET_CODE (x6) != SET)
23984 : : return -1;
23985 : : x12 = XEXP (x6, 1);
23986 : : if (GET_CODE (x12) != UNSPEC
23987 : : || XVECLEN (x12, 0) != 2
23988 : : || XINT (x12, 1) != 91
23989 : : || GET_MODE (x12) != E_CCFPmode)
23990 : : return -1;
23991 : : x11 = XEXP (x6, 0);
23992 : : if (GET_CODE (x11) != REG
23993 : : || REGNO (x11) != 18
23994 : : || GET_MODE (x11) != E_CCFPmode)
23995 : : return -1;
23996 : : x4 = XEXP (x2, 0);
23997 : : operands[0] = x4;
23998 : : if (!register_operand (operands[0], E_XFmode)
23999 : : || GET_MODE (x3) != E_XFmode
24000 : : || pattern1424 (x1) != 0)
24001 : : return -1;
24002 : : x13 = XVECEXP (x12, 0, 0);
24003 : : if (!rtx_equal_p (x13, operands[2]))
24004 : : return -1;
24005 : : x14 = XVECEXP (x12, 0, 1);
24006 : : if (!rtx_equal_p (x14, operands[3]))
24007 : : return -1;
24008 : : switch (XINT (x3, 1))
24009 : : {
24010 : : case 87:
24011 : : if (XINT (x10, 1) != 88
24012 : : || !
24013 : : #line 24207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24014 : : (TARGET_USE_FANCY_MATH_387))
24015 : : return -1;
24016 : : return 1749; /* fpremxf4_i387 */
24017 : :
24018 : : case 89:
24019 : : if (XINT (x10, 1) != 90
24020 : : || !
24021 : : #line 24279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24022 : : (TARGET_USE_FANCY_MATH_387))
24023 : : return -1;
24024 : : return 1750; /* fprem1xf4_i387 */
24025 : :
24026 : : default:
24027 : : return -1;
24028 : : }
24029 : :
24030 : : case 4:
24031 : : if (XINT (x3, 1) != 24)
24032 : : return -1;
24033 : : x5 = XVECEXP (x3, 0, 0);
24034 : : if (GET_CODE (x5) != MEM
24035 : : || GET_MODE (x5) != E_BLKmode)
24036 : : return -1;
24037 : : x8 = XVECEXP (x1, 0, 1);
24038 : : if (GET_CODE (x8) != CLOBBER
24039 : : || pattern829 (x1) != 0)
24040 : : return -1;
24041 : : switch (pattern1154 (x1))
24042 : : {
24043 : : case 0:
24044 : : if (!(
24045 : : #line 26521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24046 : : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24047 : : && ix86_check_no_addr_space (insn)) &&
24048 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24049 : : (Pmode == SImode)))
24050 : : return -1;
24051 : : return 1827; /* *strlenqi_1 */
24052 : :
24053 : : case 1:
24054 : : if (!(
24055 : : #line 26521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24056 : : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24057 : : && ix86_check_no_addr_space (insn)) &&
24058 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24059 : : (Pmode == DImode)))
24060 : : return -1;
24061 : : return 1828; /* *strlenqi_1 */
24062 : :
24063 : : default:
24064 : : return -1;
24065 : : }
24066 : :
24067 : : case 5:
24068 : : if (XINT (x3, 1) != 132)
24069 : : return -1;
24070 : : if (GET_MODE (x3) == E_SImode
24071 : : && pattern708 (x1,
24072 : : 132,
24073 : : 5) == 0
24074 : : && pattern1739 (x1) == 0
24075 : : &&
24076 : : #line 26169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24077 : : (TARGET_SSE4_2
24078 : : && ix86_pre_reload_split ()))
24079 : : return 9022; /* sse4_2_pcmpestr */
24080 : : if (GET_MODE (x3) != E_CCmode
24081 : : || pattern709 (x1) != 0
24082 : : || !register_operand (operands[3], E_SImode))
24083 : : return -1;
24084 : : x15 = XVECEXP (x3, 0, 2);
24085 : : operands[4] = x15;
24086 : : if (!nonimmediate_operand (operands[4], E_V16QImode))
24087 : : return -1;
24088 : : x16 = XVECEXP (x3, 0, 3);
24089 : : operands[5] = x16;
24090 : : if (!register_operand (operands[5], E_SImode))
24091 : : return -1;
24092 : : x17 = XVECEXP (x3, 0, 4);
24093 : : operands[6] = x17;
24094 : : if (!const_0_to_255_operand (operands[6], E_SImode))
24095 : : return -1;
24096 : : x8 = XVECEXP (x1, 0, 1);
24097 : : x9 = XEXP (x8, 0);
24098 : : operands[0] = x9;
24099 : : if (!scratch_operand (operands[0], E_V16QImode))
24100 : : return -1;
24101 : : x6 = XVECEXP (x1, 0, 2);
24102 : : x11 = XEXP (x6, 0);
24103 : : operands[1] = x11;
24104 : : if (!scratch_operand (operands[1], E_SImode)
24105 : : || !
24106 : : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24107 : : (TARGET_SSE4_2))
24108 : : return -1;
24109 : : return 9025; /* sse4_2_pcmpestr_cconly */
24110 : :
24111 : : case 3:
24112 : : if (XINT (x3, 1) != 133)
24113 : : return -1;
24114 : : if (GET_MODE (x3) == E_SImode
24115 : : && pattern708 (x1,
24116 : : 133,
24117 : : 3) == 0
24118 : : && pattern1740 (x1) == 0
24119 : : &&
24120 : : #line 26306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24121 : : (TARGET_SSE4_2
24122 : : && ix86_pre_reload_split ()))
24123 : : return 9026; /* sse4_2_pcmpistr */
24124 : : if (GET_MODE (x3) != E_CCmode
24125 : : || pattern709 (x1) != 0
24126 : : || !nonimmediate_operand (operands[3], E_V16QImode))
24127 : : return -1;
24128 : : x15 = XVECEXP (x3, 0, 2);
24129 : : operands[4] = x15;
24130 : : if (!const_0_to_255_operand (operands[4], E_SImode))
24131 : : return -1;
24132 : : x8 = XVECEXP (x1, 0, 1);
24133 : : x9 = XEXP (x8, 0);
24134 : : operands[0] = x9;
24135 : : if (!scratch_operand (operands[0], E_V16QImode))
24136 : : return -1;
24137 : : x6 = XVECEXP (x1, 0, 2);
24138 : : x11 = XEXP (x6, 0);
24139 : : operands[1] = x11;
24140 : : if (!scratch_operand (operands[1], E_SImode)
24141 : : || !
24142 : : #line 26397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24143 : : (TARGET_SSE4_2))
24144 : : return -1;
24145 : : return 9029; /* sse4_2_pcmpistr_cconly */
24146 : :
24147 : : default:
24148 : : return -1;
24149 : : }
24150 : : }
24151 : :
24152 : : rtx_insn *
24153 : : split_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24154 : : {
24155 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24156 : : rtx x2;
24157 : : rtx_insn *res ATTRIBUTE_UNUSED;
24158 : : x2 = XEXP (x1, 0);
24159 : : operands[0] = x2;
24160 : : switch (GET_CODE (operands[0]))
24161 : : {
24162 : : case MEM:
24163 : : switch (GET_MODE (operands[0]))
24164 : : {
24165 : : case E_V1TImode:
24166 : : if (push_operand (operands[0], E_V1TImode)
24167 : : && register_operand (operands[1], E_V1TImode))
24168 : : {
24169 : : if (((
24170 : : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24171 : : (TARGET_64BIT && TARGET_STV) &&
24172 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24173 : : (Pmode == SImode)) &&
24174 : : #line 2182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24175 : : ( reload_completed)))
24176 : : return gen_split_3 (insn, operands);
24177 : : if (((
24178 : : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24179 : : (TARGET_64BIT && TARGET_STV) &&
24180 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24181 : : (Pmode == DImode)) &&
24182 : : #line 2182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24183 : : ( reload_completed)))
24184 : : return gen_split_4 (insn, operands);
24185 : : }
24186 : : break;
24187 : :
24188 : : case E_DImode:
24189 : : if (push_operand (operands[0], E_DImode))
24190 : : {
24191 : : if (general_gr_operand (operands[1], E_DImode)
24192 : : && (
24193 : : #line 2204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24194 : : (reload_completed) &&
24195 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24196 : : (!TARGET_64BIT)))
24197 : : return gen_split_5 (insn, operands);
24198 : : if (immediate_operand (operands[1], E_DImode)
24199 : : &&
24200 : : #line 2237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24201 : : (TARGET_64BIT && epilogue_completed
24202 : : && !symbolic_operand (operands[1], DImode)
24203 : : && !x86_64_immediate_operand (operands[1], DImode)))
24204 : : return gen_split_7 (insn, operands);
24205 : : if (sse_reg_operand (operands[1], E_DImode))
24206 : : {
24207 : : if ((
24208 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24209 : : (TARGET_SSE && reload_completed) &&
24210 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24211 : : (Pmode == SImode)))
24212 : : return gen_split_9 (insn, operands);
24213 : : if ((
24214 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24215 : : (TARGET_SSE && reload_completed) &&
24216 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24217 : : (Pmode == DImode)))
24218 : : return gen_split_12 (insn, operands);
24219 : : }
24220 : : }
24221 : : break;
24222 : :
24223 : : case E_TImode:
24224 : : if (push_operand (operands[0], E_TImode))
24225 : : {
24226 : : if (general_gr_operand (operands[1], E_TImode)
24227 : : && (
24228 : : #line 2204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24229 : : (reload_completed) &&
24230 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24231 : : (TARGET_64BIT)))
24232 : : return gen_split_6 (insn, operands);
24233 : : if (sse_reg_operand (operands[1], E_TImode))
24234 : : {
24235 : : if ((
24236 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24237 : : (TARGET_SSE && reload_completed) && (((
24238 : : #line 1203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24239 : : (TARGET_64BIT) &&
24240 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24241 : : (Pmode == SImode)) &&
24242 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24243 : : (Pmode == SImode)) &&
24244 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24245 : : (Pmode == SImode))))
24246 : : return gen_split_10 (insn, operands);
24247 : : if ((
24248 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24249 : : (TARGET_SSE && reload_completed) && (((
24250 : : #line 1203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24251 : : (TARGET_64BIT) &&
24252 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24253 : : (Pmode == DImode)) &&
24254 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24255 : : (Pmode == DImode)) &&
24256 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24257 : : (Pmode == DImode))))
24258 : : return gen_split_13 (insn, operands);
24259 : : }
24260 : : }
24261 : : break;
24262 : :
24263 : : case E_SImode:
24264 : : if (push_operand (operands[0], E_SImode)
24265 : : && sse_reg_operand (operands[1], E_SImode))
24266 : : {
24267 : : if ((
24268 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24269 : : (TARGET_SSE && reload_completed) &&
24270 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24271 : : (Pmode == SImode)))
24272 : : return gen_split_8 (insn, operands);
24273 : : if ((
24274 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24275 : : (TARGET_SSE && reload_completed) &&
24276 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24277 : : (Pmode == DImode)))
24278 : : return gen_split_11 (insn, operands);
24279 : : }
24280 : : break;
24281 : :
24282 : : case E_TFmode:
24283 : : if (push_operand (operands[0], E_TFmode)
24284 : : && sse_reg_operand (operands[1], E_TFmode))
24285 : : {
24286 : : if ((
24287 : : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24288 : : (TARGET_SSE && reload_completed) &&
24289 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24290 : : (Pmode == SImode)))
24291 : : return gen_split_37 (insn, operands);
24292 : : if ((
24293 : : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24294 : : (TARGET_SSE && reload_completed) &&
24295 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24296 : : (Pmode == DImode)))
24297 : : return gen_split_38 (insn, operands);
24298 : : }
24299 : : break;
24300 : :
24301 : : case E_XFmode:
24302 : : if (push_operand (operands[0], E_XFmode)
24303 : : && fp_register_operand (operands[1], E_XFmode))
24304 : : {
24305 : : if ((
24306 : : #line 3825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24307 : : (reload_completed) &&
24308 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24309 : : (Pmode == SImode)))
24310 : : return gen_split_39 (insn, operands);
24311 : : if ((
24312 : : #line 3825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24313 : : (reload_completed) &&
24314 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24315 : : (Pmode == DImode)))
24316 : : return gen_split_40 (insn, operands);
24317 : : }
24318 : : break;
24319 : :
24320 : : case E_DFmode:
24321 : : if (push_operand (operands[0], E_DFmode)
24322 : : && any_fp_register_operand (operands[1], E_DFmode))
24323 : : {
24324 : : if ((
24325 : : #line 3859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24326 : : (reload_completed) &&
24327 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24328 : : (Pmode == SImode)))
24329 : : return gen_split_41 (insn, operands);
24330 : : if ((
24331 : : #line 3859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24332 : : (reload_completed) &&
24333 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24334 : : (Pmode == DImode)))
24335 : : return gen_split_42 (insn, operands);
24336 : : }
24337 : : break;
24338 : :
24339 : : case E_SFmode:
24340 : : if (push_operand (operands[0], E_SFmode))
24341 : : {
24342 : : if (any_fp_register_operand (operands[1], E_SFmode))
24343 : : {
24344 : : if ((
24345 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24346 : : (reload_completed) &&
24347 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24348 : : (Pmode == SImode)))
24349 : : return gen_split_43 (insn, operands);
24350 : : if ((
24351 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24352 : : (reload_completed) &&
24353 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24354 : : (Pmode == DImode)))
24355 : : return gen_split_46 (insn, operands);
24356 : : }
24357 : : if (memory_operand (operands[1], E_SFmode)
24358 : : &&
24359 : : #line 4013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24360 : : (reload_completed
24361 : : && find_constant_src (insn)))
24362 : : return gen_split_49 (insn, operands);
24363 : : }
24364 : : break;
24365 : :
24366 : : case E_HFmode:
24367 : : if (push_operand (operands[0], E_HFmode)
24368 : : && any_fp_register_operand (operands[1], E_HFmode))
24369 : : {
24370 : : if ((
24371 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24372 : : (reload_completed) &&
24373 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24374 : : (Pmode == SImode)))
24375 : : return gen_split_44 (insn, operands);
24376 : : if ((
24377 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24378 : : (reload_completed) &&
24379 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24380 : : (Pmode == DImode)))
24381 : : return gen_split_47 (insn, operands);
24382 : : }
24383 : : break;
24384 : :
24385 : : case E_BFmode:
24386 : : if (push_operand (operands[0], E_BFmode)
24387 : : && any_fp_register_operand (operands[1], E_BFmode))
24388 : : {
24389 : : if ((
24390 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24391 : : (reload_completed) &&
24392 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24393 : : (Pmode == SImode)))
24394 : : return gen_split_45 (insn, operands);
24395 : : if ((
24396 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24397 : : (reload_completed) &&
24398 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24399 : : (Pmode == DImode)))
24400 : : return gen_split_48 (insn, operands);
24401 : : }
24402 : : break;
24403 : :
24404 : : default:
24405 : : break;
24406 : : }
24407 : : break;
24408 : :
24409 : : case REG:
24410 : : switch (GET_MODE (operands[0]))
24411 : : {
24412 : : case E_TImode:
24413 : : if (sse_reg_operand (operands[0], E_TImode)
24414 : : && general_reg_operand (operands[1], E_TImode)
24415 : : &&
24416 : : #line 2579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24417 : : (TARGET_64BIT && TARGET_SSE4_1
24418 : : && reload_completed))
24419 : : return gen_split_20 (insn, operands);
24420 : : if (general_reg_operand (operands[0], E_TImode)
24421 : : && sse_reg_operand (operands[1], E_TImode)
24422 : : && (
24423 : : #line 2770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24424 : : (TARGET_SSE4_1
24425 : : && reload_completed) &&
24426 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24427 : : (TARGET_64BIT)))
24428 : : return gen_split_22 (insn, operands);
24429 : : break;
24430 : :
24431 : : case E_DImode:
24432 : : if (general_reg_operand (operands[0], E_DImode)
24433 : : && sse_reg_operand (operands[1], E_DImode)
24434 : : && (
24435 : : #line 2770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24436 : : (TARGET_SSE4_1
24437 : : && reload_completed) &&
24438 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24439 : : (!TARGET_64BIT)))
24440 : : return gen_split_21 (insn, operands);
24441 : : break;
24442 : :
24443 : : default:
24444 : : break;
24445 : : }
24446 : : break;
24447 : :
24448 : : default:
24449 : : break;
24450 : : }
24451 : : switch (GET_MODE (operands[0]))
24452 : : {
24453 : : case E_DImode:
24454 : : if (nonimmediate_gr_operand (operands[0], E_DImode)
24455 : : && general_gr_operand (operands[1], E_DImode)
24456 : : && (
24457 : : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24458 : : (reload_completed) &&
24459 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24460 : : (!TARGET_64BIT)))
24461 : : return gen_split_23 (insn, operands);
24462 : : if (sse_reg_operand (operands[0], E_DImode)
24463 : : && general_reg_operand (operands[1], E_DImode)
24464 : : &&
24465 : : #line 2794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24466 : : (!TARGET_64BIT && TARGET_SSE4_1
24467 : : && reload_completed))
24468 : : return gen_split_25 (insn, operands);
24469 : : break;
24470 : :
24471 : : case E_TImode:
24472 : : if (nonimmediate_gr_operand (operands[0], E_TImode)
24473 : : && general_gr_operand (operands[1], E_TImode)
24474 : : && (
24475 : : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24476 : : (reload_completed) &&
24477 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24478 : : (TARGET_64BIT)))
24479 : : return gen_split_24 (insn, operands);
24480 : : break;
24481 : :
24482 : : default:
24483 : : break;
24484 : : }
24485 : : if (push_operand (operands[0], E_VOIDmode)
24486 : : && general_gr_operand (operands[1], E_VOIDmode)
24487 : : &&
24488 : : #line 4021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24489 : : (reload_completed
24490 : : && (GET_MODE (operands[0]) == TFmode
24491 : : || GET_MODE (operands[0]) == XFmode
24492 : : || GET_MODE (operands[0]) == DFmode)))
24493 : : return gen_split_50 (insn, operands);
24494 : : switch (GET_MODE (operands[0]))
24495 : : {
24496 : : case E_TFmode:
24497 : : if (nonimmediate_gr_operand (operands[0], E_TFmode)
24498 : : && general_gr_operand (operands[1], E_TFmode)
24499 : : &&
24500 : : #line 4094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24501 : : (reload_completed))
24502 : : return gen_split_51 (insn, operands);
24503 : : break;
24504 : :
24505 : : case E_XFmode:
24506 : : if (nonimmediate_gr_operand (operands[0], E_XFmode)
24507 : : && general_gr_operand (operands[1], E_XFmode)
24508 : : &&
24509 : : #line 4167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24510 : : (reload_completed))
24511 : : return gen_split_52 (insn, operands);
24512 : : break;
24513 : :
24514 : : case E_DFmode:
24515 : : if (nonimmediate_gr_operand (operands[0], E_DFmode)
24516 : : && general_gr_operand (operands[1], E_DFmode)
24517 : : &&
24518 : : #line 4345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24519 : : (!TARGET_64BIT && reload_completed))
24520 : : return gen_split_53 (insn, operands);
24521 : : break;
24522 : :
24523 : : default:
24524 : : break;
24525 : : }
24526 : : if (any_fp_register_operand (operands[0], E_VOIDmode)
24527 : : && memory_operand (operands[1], E_VOIDmode)
24528 : : &&
24529 : : #line 4613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24530 : : (reload_completed
24531 : : && (GET_MODE (operands[0]) == TFmode
24532 : : || GET_MODE (operands[0]) == XFmode
24533 : : || GET_MODE (operands[0]) == DFmode
24534 : : || GET_MODE (operands[0]) == SFmode)
24535 : : && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
24536 : : return gen_split_54 (insn, operands);
24537 : : if (fp_register_operand (operands[0], E_SFmode)
24538 : : && immediate_operand (operands[1], E_SFmode)
24539 : : &&
24540 : : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24541 : : (reload_completed
24542 : : && (standard_80387_constant_p (operands[1]) == 8
24543 : : || standard_80387_constant_p (operands[1]) == 9)))
24544 : : return gen_split_56 (insn, operands);
24545 : : if (fp_register_operand (operands[0], E_DFmode)
24546 : : && immediate_operand (operands[1], E_DFmode)
24547 : : &&
24548 : : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24549 : : (reload_completed
24550 : : && (standard_80387_constant_p (operands[1]) == 8
24551 : : || standard_80387_constant_p (operands[1]) == 9)))
24552 : : return gen_split_57 (insn, operands);
24553 : : if (!fp_register_operand (operands[0], E_XFmode)
24554 : : || !immediate_operand (operands[1], E_XFmode)
24555 : : || !
24556 : : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24557 : : (reload_completed
24558 : : && (standard_80387_constant_p (operands[1]) == 8
24559 : : || standard_80387_constant_p (operands[1]) == 9)))
24560 : : return NULL;
24561 : : return gen_split_58 (insn, operands);
24562 : : }
24563 : :
24564 : : rtx_insn *
24565 : : split_10 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24566 : : {
24567 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24568 : : rtx x2, x3, x4, x5;
24569 : : rtx_insn *res ATTRIBUTE_UNUSED;
24570 : : x2 = XEXP (x1, 0);
24571 : : operands[0] = x2;
24572 : : x3 = XEXP (x1, 1);
24573 : : x4 = XEXP (x3, 0);
24574 : : operands[1] = x4;
24575 : : switch (GET_CODE (operands[1]))
24576 : : {
24577 : : case CONST_INT:
24578 : : switch (pattern577 (x3))
24579 : : {
24580 : : case 0:
24581 : : if (!
24582 : : #line 18465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24583 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24584 : : == GET_MODE_BITSIZE (QImode) - 1))
24585 : : return NULL;
24586 : : return gen_split_693 (insn, operands);
24587 : :
24588 : : case 1:
24589 : : if (!
24590 : : #line 18465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24591 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24592 : : == GET_MODE_BITSIZE (HImode) - 1))
24593 : : return NULL;
24594 : : return gen_split_695 (insn, operands);
24595 : :
24596 : : case 2:
24597 : : if (!
24598 : : #line 18465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24599 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24600 : : == GET_MODE_BITSIZE (SImode) - 1))
24601 : : return NULL;
24602 : : return gen_split_697 (insn, operands);
24603 : :
24604 : : case 3:
24605 : : if (!(
24606 : : #line 18465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24607 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24608 : : == GET_MODE_BITSIZE (DImode) - 1) &&
24609 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24610 : : (TARGET_64BIT)))
24611 : : return NULL;
24612 : : return gen_split_699 (insn, operands);
24613 : :
24614 : : case 4:
24615 : : if (!
24616 : : #line 18549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24617 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24618 : : return NULL;
24619 : : return gen_split_725 (insn, operands);
24620 : :
24621 : : case 5:
24622 : : if (!
24623 : : #line 18549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24624 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24625 : : return NULL;
24626 : : return gen_split_727 (insn, operands);
24627 : :
24628 : : case 6:
24629 : : if (!
24630 : : #line 18549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24631 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24632 : : return NULL;
24633 : : return gen_split_729 (insn, operands);
24634 : :
24635 : : case 7:
24636 : : if (!(
24637 : : #line 18549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24638 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24639 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24640 : : (TARGET_64BIT)))
24641 : : return NULL;
24642 : : return gen_split_731 (insn, operands);
24643 : :
24644 : : case 8:
24645 : : if (!
24646 : : #line 18618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24647 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24648 : : return NULL;
24649 : : return gen_split_757 (insn, operands);
24650 : :
24651 : : case 9:
24652 : : if (!
24653 : : #line 18618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24654 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24655 : : return NULL;
24656 : : return gen_split_759 (insn, operands);
24657 : :
24658 : : case 10:
24659 : : if (!
24660 : : #line 18618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24661 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24662 : : return NULL;
24663 : : return gen_split_761 (insn, operands);
24664 : :
24665 : : case 11:
24666 : : if (!(
24667 : : #line 18618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24668 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24669 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24670 : : (TARGET_64BIT)))
24671 : : return NULL;
24672 : : return gen_split_763 (insn, operands);
24673 : :
24674 : : case 12:
24675 : : if (!
24676 : : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24677 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24678 : : == GET_MODE_BITSIZE (QImode) - 1))
24679 : : return NULL;
24680 : : return gen_split_709 (insn, operands);
24681 : :
24682 : : case 13:
24683 : : if (!
24684 : : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24685 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24686 : : == GET_MODE_BITSIZE (HImode) - 1))
24687 : : return NULL;
24688 : : return gen_split_711 (insn, operands);
24689 : :
24690 : : case 14:
24691 : : if (!
24692 : : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24693 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24694 : : == GET_MODE_BITSIZE (SImode) - 1))
24695 : : return NULL;
24696 : : return gen_split_713 (insn, operands);
24697 : :
24698 : : case 15:
24699 : : if (!(
24700 : : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24701 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24702 : : == GET_MODE_BITSIZE (DImode) - 1) &&
24703 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24704 : : (TARGET_64BIT)))
24705 : : return NULL;
24706 : : return gen_split_715 (insn, operands);
24707 : :
24708 : : case 16:
24709 : : if (!
24710 : : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24711 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24712 : : return NULL;
24713 : : return gen_split_741 (insn, operands);
24714 : :
24715 : : case 17:
24716 : : if (!
24717 : : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24718 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24719 : : return NULL;
24720 : : return gen_split_743 (insn, operands);
24721 : :
24722 : : case 18:
24723 : : if (!
24724 : : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24725 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24726 : : return NULL;
24727 : : return gen_split_745 (insn, operands);
24728 : :
24729 : : case 19:
24730 : : if (!(
24731 : : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24732 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24733 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24734 : : (TARGET_64BIT)))
24735 : : return NULL;
24736 : : return gen_split_747 (insn, operands);
24737 : :
24738 : : case 20:
24739 : : if (!
24740 : : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24741 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24742 : : return NULL;
24743 : : return gen_split_773 (insn, operands);
24744 : :
24745 : : case 21:
24746 : : if (!
24747 : : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24748 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24749 : : return NULL;
24750 : : return gen_split_775 (insn, operands);
24751 : :
24752 : : case 22:
24753 : : if (!
24754 : : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24755 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24756 : : return NULL;
24757 : : return gen_split_777 (insn, operands);
24758 : :
24759 : : case 23:
24760 : : if (!(
24761 : : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24762 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24763 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24764 : : (TARGET_64BIT)))
24765 : : return NULL;
24766 : : return gen_split_779 (insn, operands);
24767 : :
24768 : : default:
24769 : : return NULL;
24770 : : }
24771 : :
24772 : : case REG:
24773 : : case SUBREG:
24774 : : x5 = XEXP (x3, 1);
24775 : : if (GET_CODE (x5) != CONST_INT)
24776 : : return NULL;
24777 : : switch (XWINT (x5, 0))
24778 : : {
24779 : : case 32L:
24780 : : if (!register_operand (operands[0], E_DImode)
24781 : : || GET_MODE (x3) != E_DImode
24782 : : || !register_operand (operands[1], E_DImode)
24783 : : || !(
24784 : : #line 18737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24785 : : (!TARGET_64BIT) &&
24786 : : #line 18739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24787 : : ( reload_completed)))
24788 : : return NULL;
24789 : : return gen_split_785 (insn, operands);
24790 : :
24791 : : case 64L:
24792 : : if (!register_operand (operands[0], E_TImode)
24793 : : || GET_MODE (x3) != E_TImode
24794 : : || !register_operand (operands[1], E_TImode)
24795 : : || !(
24796 : : #line 18755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24797 : : (TARGET_64BIT) &&
24798 : : #line 18757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24799 : : ( reload_completed)))
24800 : : return NULL;
24801 : : return gen_split_787 (insn, operands);
24802 : :
24803 : : default:
24804 : : return NULL;
24805 : : }
24806 : :
24807 : : default:
24808 : : return NULL;
24809 : : }
24810 : : }
24811 : :
24812 : : rtx_insn *
24813 : : split_13 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24814 : : {
24815 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24816 : : rtx x2, x3, x4;
24817 : : rtx_insn *res ATTRIBUTE_UNUSED;
24818 : : x2 = XEXP (x1, 0);
24819 : : operands[0] = x2;
24820 : : x3 = XEXP (x1, 1);
24821 : : x4 = XEXP (x3, 0);
24822 : : operands[1] = x4;
24823 : : switch (GET_MODE (operands[0]))
24824 : : {
24825 : : case E_SFmode:
24826 : : if (GET_MODE (x3) != E_SFmode)
24827 : : return NULL;
24828 : : if (sse_reg_operand (operands[0], E_SFmode)
24829 : : && nonimmediate_operand (operands[1], E_SImode))
24830 : : {
24831 : : if (
24832 : : #line 6168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24833 : : (TARGET_SSE2
24834 : : && TARGET_USE_VECTOR_CONVERTS
24835 : : && optimize_function_for_speed_p (cfun)
24836 : : && reload_completed
24837 : : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
24838 : : && (!EXT_REX_SSE_REG_P (operands[0])
24839 : : || TARGET_AVX512VL)))
24840 : : return gen_split_85 (insn, operands);
24841 : : if (
24842 : : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24843 : : (!TARGET_AVX
24844 : : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24845 : : && epilogue_completed
24846 : : && optimize_function_for_speed_p (cfun)
24847 : : && (!EXT_REX_SSE_REG_P (operands[0])
24848 : : || TARGET_AVX512VL)))
24849 : : return gen_split_93 (insn, operands);
24850 : : }
24851 : : if (register_operand (operands[0], E_SFmode)
24852 : : && register_operand (operands[1], E_DImode)
24853 : : &&
24854 : : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24855 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24856 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
24857 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
24858 : : && can_create_pseudo_p ()))
24859 : : return gen_split_87 (insn, operands);
24860 : : if (!sse_reg_operand (operands[0], E_SFmode)
24861 : : || !nonimmediate_operand (operands[1], E_DImode)
24862 : : || !(
24863 : : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24864 : : (!TARGET_AVX
24865 : : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24866 : : && epilogue_completed
24867 : : && optimize_function_for_speed_p (cfun)
24868 : : && (!EXT_REX_SSE_REG_P (operands[0])
24869 : : || TARGET_AVX512VL)) &&
24870 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24871 : : (TARGET_64BIT)))
24872 : : return NULL;
24873 : : return gen_split_94 (insn, operands);
24874 : :
24875 : : case E_DFmode:
24876 : : if (GET_MODE (x3) != E_DFmode)
24877 : : return NULL;
24878 : : if (sse_reg_operand (operands[0], E_DFmode)
24879 : : && nonimmediate_operand (operands[1], E_SImode))
24880 : : {
24881 : : if (
24882 : : #line 6168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24883 : : (TARGET_SSE2
24884 : : && TARGET_USE_VECTOR_CONVERTS
24885 : : && optimize_function_for_speed_p (cfun)
24886 : : && reload_completed
24887 : : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
24888 : : && (!EXT_REX_SSE_REG_P (operands[0])
24889 : : || TARGET_AVX512VL)))
24890 : : return gen_split_86 (insn, operands);
24891 : : if (
24892 : : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24893 : : (!TARGET_AVX
24894 : : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24895 : : && epilogue_completed
24896 : : && optimize_function_for_speed_p (cfun)
24897 : : && (!EXT_REX_SSE_REG_P (operands[0])
24898 : : || TARGET_AVX512VL)))
24899 : : return gen_split_95 (insn, operands);
24900 : : }
24901 : : if (register_operand (operands[0], E_DFmode)
24902 : : && register_operand (operands[1], E_DImode)
24903 : : &&
24904 : : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24905 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24906 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
24907 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
24908 : : && can_create_pseudo_p ()))
24909 : : return gen_split_88 (insn, operands);
24910 : : if (!sse_reg_operand (operands[0], E_DFmode)
24911 : : || !nonimmediate_operand (operands[1], E_DImode)
24912 : : || !(
24913 : : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24914 : : (!TARGET_AVX
24915 : : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24916 : : && epilogue_completed
24917 : : && optimize_function_for_speed_p (cfun)
24918 : : && (!EXT_REX_SSE_REG_P (operands[0])
24919 : : || TARGET_AVX512VL)) &&
24920 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24921 : : (TARGET_64BIT)))
24922 : : return NULL;
24923 : : return gen_split_96 (insn, operands);
24924 : :
24925 : : case E_XFmode:
24926 : : if (!register_operand (operands[0], E_XFmode)
24927 : : || GET_MODE (x3) != E_XFmode
24928 : : || !register_operand (operands[1], E_DImode)
24929 : : || !
24930 : : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24931 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24932 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
24933 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
24934 : : && can_create_pseudo_p ()))
24935 : : return NULL;
24936 : : return gen_split_89 (insn, operands);
24937 : :
24938 : : default:
24939 : : return NULL;
24940 : : }
24941 : : }
24942 : :
24943 : : rtx_insn *
24944 : : split_20 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24945 : : {
24946 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24947 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24948 : : rtx_insn *res ATTRIBUTE_UNUSED;
24949 : : x2 = XVECEXP (x1, 0, 0);
24950 : : x3 = XEXP (x2, 1);
24951 : : x4 = XEXP (x3, 1);
24952 : : switch (GET_CODE (x4))
24953 : : {
24954 : : case CONST_INT:
24955 : : case CONST_WIDE_INT:
24956 : : case CONST_POLY_INT:
24957 : : case CONST_FIXED:
24958 : : case CONST_DOUBLE:
24959 : : case CONST_VECTOR:
24960 : : case CONST:
24961 : : case REG:
24962 : : case SUBREG:
24963 : : case MEM:
24964 : : case LABEL_REF:
24965 : : case SYMBOL_REF:
24966 : : case HIGH:
24967 : : operands[2] = x4;
24968 : : x5 = XEXP (x2, 0);
24969 : : switch (GET_CODE (x5))
24970 : : {
24971 : : case REG:
24972 : : case SUBREG:
24973 : : case MEM:
24974 : : operands[0] = x5;
24975 : : switch (GET_MODE (operands[0]))
24976 : : {
24977 : : case E_DImode:
24978 : : if (pattern559 (x3,
24979 : : E_DImode) == 0
24980 : : && ((
24981 : : #line 8060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24982 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
24983 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24984 : : (!TARGET_64BIT)) &&
24985 : : #line 8062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24986 : : ( reload_completed)))
24987 : : return gen_split_174 (insn, operands);
24988 : : break;
24989 : :
24990 : : case E_TImode:
24991 : : if (pattern559 (x3,
24992 : : E_TImode) == 0
24993 : : && ((
24994 : : #line 8060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24995 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
24996 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24997 : : (TARGET_64BIT)) &&
24998 : : #line 8062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24999 : : ( reload_completed)))
25000 : : return gen_split_175 (insn, operands);
25001 : : break;
25002 : :
25003 : : default:
25004 : : break;
25005 : : }
25006 : : break;
25007 : :
25008 : : case STRICT_LOW_PART:
25009 : : switch (pattern1327 (x2))
25010 : : {
25011 : : case 0:
25012 : : if ((
25013 : : #line 8180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25014 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25015 : : #line 8184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25016 : : ( reload_completed
25017 : : && !(rtx_equal_p (operands[0], operands[1])))))
25018 : : return gen_split_178 (insn, operands);
25019 : : break;
25020 : :
25021 : : case 1:
25022 : : if ((
25023 : : #line 8180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25024 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25025 : : #line 8184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25026 : : ( reload_completed
25027 : : && !(rtx_equal_p (operands[0], operands[1])))))
25028 : : return gen_split_179 (insn, operands);
25029 : : break;
25030 : :
25031 : : default:
25032 : : break;
25033 : : }
25034 : : break;
25035 : :
25036 : : default:
25037 : : break;
25038 : : }
25039 : : if (GET_CODE (x4) != SUBREG
25040 : : || maybe_ne (SUBREG_BYTE (x4), 0)
25041 : : || GET_MODE (x4) != E_QImode)
25042 : : return NULL;
25043 : : x6 = XEXP (x4, 0);
25044 : : switch (GET_CODE (x6))
25045 : : {
25046 : : case ASHIFTRT:
25047 : : case LSHIFTRT:
25048 : : case SIGN_EXTRACT:
25049 : : case ZERO_EXTRACT:
25050 : : operands[3] = x6;
25051 : : if (GET_CODE (x5) != STRICT_LOW_PART)
25052 : : return NULL;
25053 : : x7 = XEXP (x5, 0);
25054 : : operands[0] = x7;
25055 : : if (!register_operand (operands[0], E_QImode)
25056 : : || GET_MODE (x3) != E_QImode
25057 : : || !nonimmediate_operand (operands[1], E_QImode))
25058 : : return NULL;
25059 : : x8 = XEXP (x6, 0);
25060 : : operands[2] = x8;
25061 : : if (!int248_register_operand (operands[2], E_VOIDmode))
25062 : : return NULL;
25063 : : switch (pattern1775 ())
25064 : : {
25065 : : case 0:
25066 : : if (!(
25067 : : #line 8204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25068 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25069 : : #line 8208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25070 : : ( reload_completed
25071 : : && !rtx_equal_p (operands[0], operands[1]))))
25072 : : return NULL;
25073 : : return gen_split_180 (insn, operands);
25074 : :
25075 : : case 1:
25076 : : if (!(
25077 : : #line 8204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25078 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25079 : : #line 8208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25080 : : ( reload_completed
25081 : : && !rtx_equal_p (operands[0], operands[1]))))
25082 : : return NULL;
25083 : : return gen_split_181 (insn, operands);
25084 : :
25085 : : case 2:
25086 : : if (!((
25087 : : #line 8204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25088 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25089 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25090 : : (TARGET_64BIT)) &&
25091 : : #line 8208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25092 : : ( reload_completed
25093 : : && !rtx_equal_p (operands[0], operands[1]))))
25094 : : return NULL;
25095 : : return gen_split_182 (insn, operands);
25096 : :
25097 : : default:
25098 : : return NULL;
25099 : : }
25100 : :
25101 : : default:
25102 : : return NULL;
25103 : : }
25104 : :
25105 : : case ZERO_EXTEND:
25106 : : switch (pattern1168 (x2))
25107 : : {
25108 : : case 0:
25109 : : if (!((
25110 : : #line 8094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25111 : : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
25112 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25113 : : (!TARGET_64BIT)) &&
25114 : : #line 8096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25115 : : ( reload_completed)))
25116 : : return NULL;
25117 : : return gen_split_176 (insn, operands);
25118 : :
25119 : : case 1:
25120 : : if (!((
25121 : : #line 8094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25122 : : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
25123 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25124 : : (TARGET_64BIT)) &&
25125 : : #line 8096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25126 : : ( reload_completed)))
25127 : : return NULL;
25128 : : return gen_split_177 (insn, operands);
25129 : :
25130 : : default:
25131 : : return NULL;
25132 : : }
25133 : :
25134 : : case EQ:
25135 : : x9 = XEXP (x4, 1);
25136 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25137 : : return NULL;
25138 : : switch (pattern692 (x2))
25139 : : {
25140 : : case 0:
25141 : : if (!(
25142 : : #line 10608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25143 : : (ix86_unary_operator_ok (MINUS, QImode, operands)
25144 : : && ix86_pre_reload_split ()) &&
25145 : : #line 10611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25146 : : ( 1)))
25147 : : return NULL;
25148 : : return gen_split_236 (insn, operands);
25149 : :
25150 : : case 1:
25151 : : if (!(
25152 : : #line 10608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25153 : : (ix86_unary_operator_ok (MINUS, HImode, operands)
25154 : : && ix86_pre_reload_split ()) &&
25155 : : #line 10611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25156 : : ( 1)))
25157 : : return NULL;
25158 : : return gen_split_237 (insn, operands);
25159 : :
25160 : : case 2:
25161 : : if (!(
25162 : : #line 10608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25163 : : (ix86_unary_operator_ok (MINUS, SImode, operands)
25164 : : && ix86_pre_reload_split ()) &&
25165 : : #line 10611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25166 : : ( 1)))
25167 : : return NULL;
25168 : : return gen_split_238 (insn, operands);
25169 : :
25170 : : case 3:
25171 : : if (!((
25172 : : #line 10608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25173 : : (ix86_unary_operator_ok (MINUS, DImode, operands)
25174 : : && ix86_pre_reload_split ()) &&
25175 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25176 : : (TARGET_64BIT)) &&
25177 : : #line 10611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25178 : : ( 1)))
25179 : : return NULL;
25180 : : return gen_split_239 (insn, operands);
25181 : :
25182 : : default:
25183 : : return NULL;
25184 : : }
25185 : :
25186 : : case NE:
25187 : : x9 = XEXP (x4, 1);
25188 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25189 : : return NULL;
25190 : : switch (pattern692 (x2))
25191 : : {
25192 : : case 0:
25193 : : if (!(
25194 : : #line 10629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25195 : : (ix86_unary_operator_ok (MINUS, QImode, operands)
25196 : : && ix86_pre_reload_split ()) &&
25197 : : #line 10632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25198 : : ( 1)))
25199 : : return NULL;
25200 : : return gen_split_240 (insn, operands);
25201 : :
25202 : : case 1:
25203 : : if (!(
25204 : : #line 10629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25205 : : (ix86_unary_operator_ok (MINUS, HImode, operands)
25206 : : && ix86_pre_reload_split ()) &&
25207 : : #line 10632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25208 : : ( 1)))
25209 : : return NULL;
25210 : : return gen_split_241 (insn, operands);
25211 : :
25212 : : case 2:
25213 : : if (!(
25214 : : #line 10629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25215 : : (ix86_unary_operator_ok (MINUS, SImode, operands)
25216 : : && ix86_pre_reload_split ()) &&
25217 : : #line 10632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25218 : : ( 1)))
25219 : : return NULL;
25220 : : return gen_split_242 (insn, operands);
25221 : :
25222 : : case 3:
25223 : : if (!((
25224 : : #line 10629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25225 : : (ix86_unary_operator_ok (MINUS, DImode, operands)
25226 : : && ix86_pre_reload_split ()) &&
25227 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25228 : : (TARGET_64BIT)) &&
25229 : : #line 10632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25230 : : ( 1)))
25231 : : return NULL;
25232 : : return gen_split_243 (insn, operands);
25233 : :
25234 : : default:
25235 : : return NULL;
25236 : : }
25237 : :
25238 : : default:
25239 : : return NULL;
25240 : : }
25241 : : }
25242 : :
25243 : : rtx_insn *
25244 : : split_30 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25245 : : {
25246 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25247 : : rtx x2, x3, x4, x5, x6, x7;
25248 : : rtx_insn *res ATTRIBUTE_UNUSED;
25249 : : x2 = XVECEXP (x1, 0, 1);
25250 : : if (pattern235 (x2,
25251 : : E_CCmode,
25252 : : 17) != 0)
25253 : : return NULL;
25254 : : x3 = XVECEXP (x1, 0, 0);
25255 : : x4 = XEXP (x3, 1);
25256 : : x5 = XEXP (x4, 0);
25257 : : switch (GET_CODE (x5))
25258 : : {
25259 : : case CONST_INT:
25260 : : case CONST_WIDE_INT:
25261 : : case CONST_POLY_INT:
25262 : : case CONST_FIXED:
25263 : : case CONST_DOUBLE:
25264 : : case CONST_VECTOR:
25265 : : case CONST:
25266 : : case REG:
25267 : : case SUBREG:
25268 : : case MEM:
25269 : : case LABEL_REF:
25270 : : case SYMBOL_REF:
25271 : : case HIGH:
25272 : : switch (pattern930 (x3))
25273 : : {
25274 : : case 0:
25275 : : x6 = XEXP (x3, 0);
25276 : : operands[0] = x6;
25277 : : x7 = XEXP (x4, 1);
25278 : : switch (GET_CODE (x7))
25279 : : {
25280 : : case REG:
25281 : : case SUBREG:
25282 : : if (GET_CODE (x7) == SUBREG)
25283 : : {
25284 : : switch (pattern1422 (x4))
25285 : : {
25286 : : case 0:
25287 : : if (((
25288 : : #line 15499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25289 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25290 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25291 : : == (2 * 4 * BITS_PER_UNIT - 1)))
25292 : : && ix86_pre_reload_split ()) &&
25293 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25294 : : (!TARGET_64BIT)) &&
25295 : : #line 15504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25296 : : ( 1)))
25297 : : return gen_split_558 (insn, operands);
25298 : : break;
25299 : :
25300 : : case 1:
25301 : : if (((
25302 : : #line 15499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25303 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25304 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25305 : : == (2 * 8 * BITS_PER_UNIT - 1)))
25306 : : && ix86_pre_reload_split ()) &&
25307 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25308 : : (TARGET_64BIT)) &&
25309 : : #line 15504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25310 : : ( 1)))
25311 : : return gen_split_559 (insn, operands);
25312 : : break;
25313 : :
25314 : : default:
25315 : : break;
25316 : : }
25317 : : }
25318 : : operands[2] = x7;
25319 : : if (register_operand (operands[2], E_QImode)
25320 : : && register_operand (operands[0], E_SImode)
25321 : : && GET_MODE (x4) == E_SImode
25322 : : && nonimmediate_operand (operands[1], E_SImode)
25323 : : &&
25324 : : #line 16284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25325 : : (TARGET_BMI2 && reload_completed))
25326 : : return gen_split_578 (insn, operands);
25327 : : if (GET_CODE (x7) == SUBREG
25328 : : && known_eq (SUBREG_BYTE (x7), 0)
25329 : : && GET_MODE (x7) == E_QImode)
25330 : : {
25331 : : switch (pattern1236 (x4,
25332 : : E_SImode))
25333 : : {
25334 : : case 0:
25335 : : if ((
25336 : : #line 18132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25337 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25338 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25339 : : == 4 * BITS_PER_UNIT - 1
25340 : : && ix86_pre_reload_split ()) &&
25341 : : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25342 : : ( 1)))
25343 : : return gen_split_644 (insn, operands);
25344 : : break;
25345 : :
25346 : : case 1:
25347 : : if ((
25348 : : #line 18180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25349 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25350 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25351 : : && ix86_pre_reload_split ()) &&
25352 : : #line 18184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25353 : : ( 1)))
25354 : : return gen_split_656 (insn, operands);
25355 : : break;
25356 : :
25357 : : case 2:
25358 : : if ((
25359 : : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25360 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25361 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25362 : : && ix86_pre_reload_split ()) &&
25363 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25364 : : ( 1)))
25365 : : return gen_split_668 (insn, operands);
25366 : : break;
25367 : :
25368 : : default:
25369 : : break;
25370 : : }
25371 : : }
25372 : : break;
25373 : :
25374 : : case CONST_INT:
25375 : : operands[2] = x7;
25376 : : if (const_0_to_3_operand (operands[2], E_VOIDmode))
25377 : : {
25378 : : switch (GET_MODE (operands[0]))
25379 : : {
25380 : : case E_QImode:
25381 : : if (general_reg_operand (operands[0], E_QImode)
25382 : : && GET_MODE (x4) == E_QImode
25383 : : && index_reg_operand (operands[1], E_QImode)
25384 : : &&
25385 : : #line 16579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25386 : : (reload_completed
25387 : : && REGNO (operands[0]) != REGNO (operands[1])))
25388 : : return gen_split_583 (insn, operands);
25389 : : break;
25390 : :
25391 : : case E_HImode:
25392 : : if (general_reg_operand (operands[0], E_HImode)
25393 : : && GET_MODE (x4) == E_HImode
25394 : : && index_reg_operand (operands[1], E_HImode)
25395 : : &&
25396 : : #line 16579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25397 : : (reload_completed
25398 : : && REGNO (operands[0]) != REGNO (operands[1])))
25399 : : return gen_split_584 (insn, operands);
25400 : : break;
25401 : :
25402 : : case E_SImode:
25403 : : if (general_reg_operand (operands[0], E_SImode)
25404 : : && GET_MODE (x4) == E_SImode
25405 : : && index_reg_operand (operands[1], E_SImode)
25406 : : &&
25407 : : #line 16579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25408 : : (reload_completed
25409 : : && REGNO (operands[0]) != REGNO (operands[1])))
25410 : : return gen_split_585 (insn, operands);
25411 : : break;
25412 : :
25413 : : default:
25414 : : break;
25415 : : }
25416 : : }
25417 : : break;
25418 : :
25419 : : default:
25420 : : break;
25421 : : }
25422 : : operands[2] = x7;
25423 : : res = split_23 (x1, insn);
25424 : : if (res != NULL_RTX)
25425 : : return res;
25426 : : if (GET_CODE (x7) != SUBREG)
25427 : : return NULL;
25428 : : switch (pattern1237 (x3,
25429 : : E_DImode))
25430 : : {
25431 : : case 0:
25432 : : if (!((
25433 : : #line 18132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25434 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25435 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25436 : : == 8 * BITS_PER_UNIT - 1
25437 : : && ix86_pre_reload_split ()) &&
25438 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25439 : : (TARGET_64BIT)) &&
25440 : : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25441 : : ( 1)))
25442 : : return NULL;
25443 : : return gen_split_647 (insn, operands);
25444 : :
25445 : : case 1:
25446 : : if (!((
25447 : : #line 18180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25448 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25449 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25450 : : && ix86_pre_reload_split ()) &&
25451 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25452 : : (TARGET_64BIT)) &&
25453 : : #line 18184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25454 : : ( 1)))
25455 : : return NULL;
25456 : : return gen_split_659 (insn, operands);
25457 : :
25458 : : case 2:
25459 : : if (!((
25460 : : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25461 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25462 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25463 : : && ix86_pre_reload_split ()) &&
25464 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25465 : : (TARGET_64BIT)) &&
25466 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25467 : : ( 1)))
25468 : : return NULL;
25469 : : return gen_split_671 (insn, operands);
25470 : :
25471 : : default:
25472 : : return NULL;
25473 : : }
25474 : :
25475 : : case 1:
25476 : : if (register_operand (operands[0], E_DImode)
25477 : : && register_operand (operands[1], E_DImode)
25478 : : && ((
25479 : : #line 15560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25480 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25481 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25482 : : == (2 * 4 * BITS_PER_UNIT - 1)))
25483 : : && ix86_pre_reload_split ()) &&
25484 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25485 : : (!TARGET_64BIT)) &&
25486 : : #line 15565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25487 : : ( 1)))
25488 : : return gen_split_560 (insn, operands);
25489 : : if (!nonimmediate_operand (operands[0], E_DImode)
25490 : : || !nonimmediate_operand (operands[1], E_DImode)
25491 : : || !((
25492 : : #line 18157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25493 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25494 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25495 : : == 8 * BITS_PER_UNIT - 1
25496 : : && ix86_pre_reload_split ()) &&
25497 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25498 : : (TARGET_64BIT)) &&
25499 : : #line 18162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25500 : : ( 1)))
25501 : : return NULL;
25502 : : return gen_split_653 (insn, operands);
25503 : :
25504 : : case 2:
25505 : : if (!((
25506 : : #line 15560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25507 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25508 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25509 : : == (2 * 8 * BITS_PER_UNIT - 1)))
25510 : : && ix86_pre_reload_split ()) &&
25511 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25512 : : (TARGET_64BIT)) &&
25513 : : #line 15565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25514 : : ( 1)))
25515 : : return NULL;
25516 : : return gen_split_561 (insn, operands);
25517 : :
25518 : : case 3:
25519 : : if (!(
25520 : : #line 18157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25521 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25522 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25523 : : == 4 * BITS_PER_UNIT - 1
25524 : : && ix86_pre_reload_split ()) &&
25525 : : #line 18162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25526 : : ( 1)))
25527 : : return NULL;
25528 : : return gen_split_650 (insn, operands);
25529 : :
25530 : : case 4:
25531 : : if (!(
25532 : : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25533 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25534 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25535 : : && ix86_pre_reload_split ()) &&
25536 : : #line 18208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25537 : : ( 1)))
25538 : : return NULL;
25539 : : return gen_split_662 (insn, operands);
25540 : :
25541 : : case 5:
25542 : : if (!((
25543 : : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25544 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25545 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25546 : : && ix86_pre_reload_split ()) &&
25547 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25548 : : (TARGET_64BIT)) &&
25549 : : #line 18208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25550 : : ( 1)))
25551 : : return NULL;
25552 : : return gen_split_665 (insn, operands);
25553 : :
25554 : : case 6:
25555 : : if (!(
25556 : : #line 18256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25557 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25558 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25559 : : && ix86_pre_reload_split ()) &&
25560 : : #line 18260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25561 : : ( 1)))
25562 : : return NULL;
25563 : : return gen_split_674 (insn, operands);
25564 : :
25565 : : case 7:
25566 : : if (!((
25567 : : #line 18256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25568 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25569 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25570 : : && ix86_pre_reload_split ()) &&
25571 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25572 : : (TARGET_64BIT)) &&
25573 : : #line 18260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25574 : : ( 1)))
25575 : : return NULL;
25576 : : return gen_split_677 (insn, operands);
25577 : :
25578 : : default:
25579 : : return NULL;
25580 : : }
25581 : :
25582 : : case SIGN_EXTEND:
25583 : : switch (pattern385 (x3))
25584 : : {
25585 : : case 0:
25586 : : if (!((
25587 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25588 : : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
25589 : : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
25590 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25591 : : (!TARGET_64BIT)) &&
25592 : : #line 15664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25593 : : ( reload_completed)))
25594 : : return NULL;
25595 : : return gen_split_564 (insn, operands);
25596 : :
25597 : : case 1:
25598 : : if (!((
25599 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25600 : : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
25601 : : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
25602 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25603 : : (TARGET_64BIT)) &&
25604 : : #line 15664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25605 : : ( reload_completed)))
25606 : : return NULL;
25607 : : return gen_split_566 (insn, operands);
25608 : :
25609 : : default:
25610 : : return NULL;
25611 : : }
25612 : :
25613 : : case ZERO_EXTEND:
25614 : : switch (pattern385 (x3))
25615 : : {
25616 : : case 0:
25617 : : if (!((
25618 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25619 : : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
25620 : : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
25621 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25622 : : (!TARGET_64BIT)) &&
25623 : : #line 15664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25624 : : ( reload_completed)))
25625 : : return NULL;
25626 : : return gen_split_565 (insn, operands);
25627 : :
25628 : : case 1:
25629 : : if (!((
25630 : : #line 15661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25631 : : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
25632 : : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
25633 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25634 : : (TARGET_64BIT)) &&
25635 : : #line 15664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25636 : : ( reload_completed)))
25637 : : return NULL;
25638 : : return gen_split_567 (insn, operands);
25639 : :
25640 : : default:
25641 : : return NULL;
25642 : : }
25643 : :
25644 : : default:
25645 : : return NULL;
25646 : : }
25647 : : }
25648 : :
25649 : : rtx_insn *
25650 : : split_36 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25651 : : {
25652 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25653 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25654 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
25655 : : rtx x18, x19, x20, x21;
25656 : : rtx_insn *res ATTRIBUTE_UNUSED;
25657 : : x2 = XVECEXP (x1, 0, 0);
25658 : : switch (GET_CODE (x2))
25659 : : {
25660 : : case SET:
25661 : : x3 = XEXP (x2, 1);
25662 : : switch (GET_CODE (x3))
25663 : : {
25664 : : case CONST_INT:
25665 : : case CONST_DOUBLE:
25666 : : case CONST_VECTOR:
25667 : : operands[1] = x3;
25668 : : if (pattern347 (x1) == 0)
25669 : : {
25670 : : switch (GET_MODE (operands[0]))
25671 : : {
25672 : : case E_HImode:
25673 : : if (memory_operand (operands[0], E_HImode)
25674 : : && const0_operand (operands[1], E_HImode)
25675 : : && (
25676 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25677 : : (reload_completed) &&
25678 : : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25679 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
25680 : : return gen_split_14 (insn, operands);
25681 : : if (nonimmediate_operand (operands[0], E_HImode)
25682 : : && constm1_operand (operands[1], E_HImode)
25683 : : && (
25684 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25685 : : (reload_completed) &&
25686 : : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25687 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
25688 : : return gen_split_17 (insn, operands);
25689 : : break;
25690 : :
25691 : : case E_SImode:
25692 : : if (memory_operand (operands[0], E_SImode)
25693 : : && const0_operand (operands[1], E_SImode)
25694 : : && (
25695 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25696 : : (reload_completed) &&
25697 : : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25698 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
25699 : : return gen_split_15 (insn, operands);
25700 : : if (nonimmediate_operand (operands[0], E_SImode)
25701 : : && constm1_operand (operands[1], E_SImode)
25702 : : && (
25703 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25704 : : (reload_completed) &&
25705 : : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25706 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
25707 : : return gen_split_18 (insn, operands);
25708 : : break;
25709 : :
25710 : : case E_DImode:
25711 : : if (memory_operand (operands[0], E_DImode)
25712 : : && const0_operand (operands[1], E_DImode)
25713 : : && ((
25714 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25715 : : (reload_completed) &&
25716 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25717 : : (TARGET_64BIT)) &&
25718 : : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25719 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
25720 : : return gen_split_16 (insn, operands);
25721 : : if (nonimmediate_operand (operands[0], E_DImode)
25722 : : && constm1_operand (operands[1], E_DImode)
25723 : : && ((
25724 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25725 : : (reload_completed) &&
25726 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25727 : : (TARGET_64BIT)) &&
25728 : : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25729 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
25730 : : return gen_split_19 (insn, operands);
25731 : : break;
25732 : :
25733 : : default:
25734 : : break;
25735 : : }
25736 : : }
25737 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25738 : : return NULL;
25739 : : x4 = XEXP (x2, 0);
25740 : : if (GET_CODE (x4) != ZERO_EXTRACT
25741 : : || GET_MODE (x4) != E_HImode)
25742 : : return NULL;
25743 : : x5 = XEXP (x4, 1);
25744 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
25745 : : return NULL;
25746 : : x6 = XVECEXP (x1, 0, 1);
25747 : : if (pattern235 (x6,
25748 : : E_CCmode,
25749 : : 17) != 0)
25750 : : return NULL;
25751 : : x7 = XEXP (x4, 0);
25752 : : operands[0] = x7;
25753 : : x8 = XEXP (x4, 2);
25754 : : operands[1] = x8;
25755 : : if (!register_operand (operands[1], E_QImode))
25756 : : return NULL;
25757 : : switch (GET_MODE (operands[0]))
25758 : : {
25759 : : case E_QImode:
25760 : : if (nonimmediate_operand (operands[0], E_QImode)
25761 : : && (
25762 : : #line 19273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25763 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25764 : : #line 19275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25765 : : ( MEM_P (operands[0]))))
25766 : : return gen_split_816 (insn, operands);
25767 : : if (!register_operand (operands[0], E_QImode)
25768 : : || !
25769 : : #line 19297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25770 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
25771 : : return NULL;
25772 : : return gen_split_818 (insn, operands);
25773 : :
25774 : : case E_HImode:
25775 : : if (nonimmediate_operand (operands[0], E_HImode)
25776 : : && (
25777 : : #line 19273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25778 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25779 : : #line 19275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25780 : : ( MEM_P (operands[0]))))
25781 : : return gen_split_817 (insn, operands);
25782 : : if (!register_operand (operands[0], E_HImode)
25783 : : || !
25784 : : #line 19297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25785 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
25786 : : return NULL;
25787 : : return gen_split_819 (insn, operands);
25788 : :
25789 : : default:
25790 : : return NULL;
25791 : : }
25792 : :
25793 : : case ASHIFTRT:
25794 : : case LSHIFTRT:
25795 : : case SIGN_EXTRACT:
25796 : : case ZERO_EXTRACT:
25797 : : x6 = XVECEXP (x1, 0, 1);
25798 : : if (pattern235 (x6,
25799 : : E_CCmode,
25800 : : 17) != 0)
25801 : : return NULL;
25802 : : switch (GET_CODE (x3))
25803 : : {
25804 : : case SIGN_EXTRACT:
25805 : : res = split_15 (x1, insn);
25806 : : if (res != NULL_RTX)
25807 : : return res;
25808 : : break;
25809 : :
25810 : : case LSHIFTRT:
25811 : : res = split_16 (x1, insn);
25812 : : if (res != NULL_RTX)
25813 : : return res;
25814 : : break;
25815 : :
25816 : : case ASHIFTRT:
25817 : : res = split_17 (x1, insn);
25818 : : if (res != NULL_RTX)
25819 : : return res;
25820 : : break;
25821 : :
25822 : : case ZERO_EXTRACT:
25823 : : res = split_18 (x1, insn);
25824 : : if (res != NULL_RTX)
25825 : : return res;
25826 : : break;
25827 : :
25828 : : default:
25829 : : break;
25830 : : }
25831 : : x4 = XEXP (x2, 0);
25832 : : if (GET_CODE (x4) != ZERO_EXTRACT)
25833 : : return NULL;
25834 : : x5 = XEXP (x4, 1);
25835 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
25836 : : return NULL;
25837 : : x8 = XEXP (x4, 2);
25838 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
25839 : : return NULL;
25840 : : x7 = XEXP (x4, 0);
25841 : : operands[0] = x7;
25842 : : if (!int248_register_operand (operands[0], E_VOIDmode))
25843 : : return NULL;
25844 : : operands[3] = x3;
25845 : : x9 = XEXP (x3, 0);
25846 : : switch (GET_CODE (x9))
25847 : : {
25848 : : case AND:
25849 : : switch (pattern1491 (x2))
25850 : : {
25851 : : case 0:
25852 : : if (!(
25853 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25854 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25855 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25856 : : ( reload_completed
25857 : : && !(rtx_equal_p (operands[0], operands[1])
25858 : : || rtx_equal_p (operands[0], operands[2])))))
25859 : : return NULL;
25860 : : return gen_split_364 (insn, operands);
25861 : :
25862 : : case 1:
25863 : : if (!(
25864 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25865 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25866 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25867 : : ( reload_completed
25868 : : && !(rtx_equal_p (operands[0], operands[1])
25869 : : || rtx_equal_p (operands[0], operands[2])))))
25870 : : return NULL;
25871 : : return gen_split_367 (insn, operands);
25872 : :
25873 : : case 2:
25874 : : if (!((
25875 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25876 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25877 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25878 : : (TARGET_64BIT)) &&
25879 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25880 : : ( reload_completed
25881 : : && !(rtx_equal_p (operands[0], operands[1])
25882 : : || rtx_equal_p (operands[0], operands[2])))))
25883 : : return NULL;
25884 : : return gen_split_370 (insn, operands);
25885 : :
25886 : : default:
25887 : : return NULL;
25888 : : }
25889 : :
25890 : : case IOR:
25891 : : switch (pattern1491 (x2))
25892 : : {
25893 : : case 0:
25894 : : if (!(
25895 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25896 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25897 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25898 : : ( reload_completed
25899 : : && !(rtx_equal_p (operands[0], operands[1])
25900 : : || rtx_equal_p (operands[0], operands[2])))))
25901 : : return NULL;
25902 : : return gen_split_365 (insn, operands);
25903 : :
25904 : : case 1:
25905 : : if (!(
25906 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25907 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25908 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25909 : : ( reload_completed
25910 : : && !(rtx_equal_p (operands[0], operands[1])
25911 : : || rtx_equal_p (operands[0], operands[2])))))
25912 : : return NULL;
25913 : : return gen_split_368 (insn, operands);
25914 : :
25915 : : case 2:
25916 : : if (!((
25917 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25918 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25919 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25920 : : (TARGET_64BIT)) &&
25921 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25922 : : ( reload_completed
25923 : : && !(rtx_equal_p (operands[0], operands[1])
25924 : : || rtx_equal_p (operands[0], operands[2])))))
25925 : : return NULL;
25926 : : return gen_split_371 (insn, operands);
25927 : :
25928 : : default:
25929 : : return NULL;
25930 : : }
25931 : :
25932 : : case XOR:
25933 : : switch (pattern1491 (x2))
25934 : : {
25935 : : case 0:
25936 : : if (!(
25937 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25938 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25939 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25940 : : ( reload_completed
25941 : : && !(rtx_equal_p (operands[0], operands[1])
25942 : : || rtx_equal_p (operands[0], operands[2])))))
25943 : : return NULL;
25944 : : return gen_split_366 (insn, operands);
25945 : :
25946 : : case 1:
25947 : : if (!(
25948 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25949 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25950 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25951 : : ( reload_completed
25952 : : && !(rtx_equal_p (operands[0], operands[1])
25953 : : || rtx_equal_p (operands[0], operands[2])))))
25954 : : return NULL;
25955 : : return gen_split_369 (insn, operands);
25956 : :
25957 : : case 2:
25958 : : if (!((
25959 : : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25960 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
25961 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25962 : : (TARGET_64BIT)) &&
25963 : : #line 13510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25964 : : ( reload_completed
25965 : : && !(rtx_equal_p (operands[0], operands[1])
25966 : : || rtx_equal_p (operands[0], operands[2])))))
25967 : : return NULL;
25968 : : return gen_split_372 (insn, operands);
25969 : :
25970 : : default:
25971 : : return NULL;
25972 : : }
25973 : :
25974 : : default:
25975 : : return NULL;
25976 : : }
25977 : :
25978 : : case ZERO_EXTEND:
25979 : : return split_32 (x1, insn);
25980 : :
25981 : : case FIX:
25982 : : x6 = XVECEXP (x1, 0, 1);
25983 : : if (pattern358 (x6) != 0)
25984 : : return NULL;
25985 : : x4 = XEXP (x2, 0);
25986 : : operands[0] = x4;
25987 : : x9 = XEXP (x3, 0);
25988 : : operands[1] = x9;
25989 : : if (!register_operand (operands[1], E_VOIDmode))
25990 : : return NULL;
25991 : : switch (pattern545 (x3))
25992 : : {
25993 : : case 0:
25994 : : if (!(
25995 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25996 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
25997 : : && !TARGET_FISTTP
25998 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
25999 : : && (TARGET_64BIT || HImode != DImode))
26000 : : && ix86_pre_reload_split ()) &&
26001 : : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26002 : : ( 1)))
26003 : : return NULL;
26004 : : return gen_split_82 (insn, operands);
26005 : :
26006 : : case 1:
26007 : : if (!(
26008 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26009 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
26010 : : && !TARGET_FISTTP
26011 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
26012 : : && (TARGET_64BIT || SImode != DImode))
26013 : : && ix86_pre_reload_split ()) &&
26014 : : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26015 : : ( 1)))
26016 : : return NULL;
26017 : : return gen_split_83 (insn, operands);
26018 : :
26019 : : case 2:
26020 : : if (!(
26021 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26022 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
26023 : : && !TARGET_FISTTP
26024 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
26025 : : && (TARGET_64BIT || DImode != DImode))
26026 : : && ix86_pre_reload_split ()) &&
26027 : : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26028 : : ( 1)))
26029 : : return NULL;
26030 : : return gen_split_84 (insn, operands);
26031 : :
26032 : : default:
26033 : : return NULL;
26034 : : }
26035 : :
26036 : : case MULT:
26037 : : if (pattern347 (x1) != 0)
26038 : : return NULL;
26039 : : x9 = XEXP (x3, 0);
26040 : : switch (GET_CODE (x9))
26041 : : {
26042 : : case REG:
26043 : : if (!rtx_equal_p (x9, operands[0]))
26044 : : return NULL;
26045 : : x10 = XEXP (x3, 1);
26046 : : operands[1] = x10;
26047 : : switch (GET_MODE (operands[0]))
26048 : : {
26049 : : case E_SImode:
26050 : : if (!general_reg_operand (operands[0], E_SImode)
26051 : : || GET_MODE (x3) != E_SImode
26052 : : || !const1248_operand (operands[1], E_SImode)
26053 : : || !
26054 : : #line 6429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26055 : : (reload_completed))
26056 : : return NULL;
26057 : : return gen_split_100 (insn, operands);
26058 : :
26059 : : case E_DImode:
26060 : : if (!general_reg_operand (operands[0], E_DImode)
26061 : : || GET_MODE (x3) != E_DImode
26062 : : || !const1248_operand (operands[1], E_DImode)
26063 : : || !(
26064 : : #line 6429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26065 : : (reload_completed) &&
26066 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26067 : : (TARGET_64BIT)))
26068 : : return NULL;
26069 : : return gen_split_101 (insn, operands);
26070 : :
26071 : : default:
26072 : : return NULL;
26073 : : }
26074 : :
26075 : : case ZERO_EXTEND:
26076 : : x10 = XEXP (x3, 1);
26077 : : if (GET_CODE (x10) != ZERO_EXTEND)
26078 : : return NULL;
26079 : : x11 = XEXP (x9, 0);
26080 : : operands[1] = x11;
26081 : : x12 = XEXP (x10, 0);
26082 : : operands[2] = x12;
26083 : : switch (GET_MODE (operands[0]))
26084 : : {
26085 : : case E_DImode:
26086 : : if (pattern557 (x3,
26087 : : E_SImode,
26088 : : E_DImode) != 0
26089 : : || !(
26090 : : #line 11322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26091 : : (TARGET_BMI2 && reload_completed
26092 : : && REGNO (operands[1]) == DX_REG) &&
26093 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26094 : : (!TARGET_64BIT)))
26095 : : return NULL;
26096 : : return gen_split_244 (insn, operands);
26097 : :
26098 : : case E_TImode:
26099 : : if (pattern557 (x3,
26100 : : E_DImode,
26101 : : E_TImode) != 0
26102 : : || !(
26103 : : #line 11322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26104 : : (TARGET_BMI2 && reload_completed
26105 : : && REGNO (operands[1]) == DX_REG) &&
26106 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26107 : : (TARGET_64BIT)))
26108 : : return NULL;
26109 : : return gen_split_245 (insn, operands);
26110 : :
26111 : : default:
26112 : : return NULL;
26113 : : }
26114 : :
26115 : : default:
26116 : : return NULL;
26117 : : }
26118 : :
26119 : : case PLUS:
26120 : : return split_29 (x1, insn);
26121 : :
26122 : : case SUBREG:
26123 : : return split_28 (x1, insn);
26124 : :
26125 : : case NE:
26126 : : case EQ:
26127 : : case GE:
26128 : : case GT:
26129 : : case LE:
26130 : : case LT:
26131 : : case LTGT:
26132 : : case GEU:
26133 : : case GTU:
26134 : : case LEU:
26135 : : case LTU:
26136 : : case UNORDERED:
26137 : : case ORDERED:
26138 : : case UNEQ:
26139 : : case UNGE:
26140 : : case UNGT:
26141 : : case UNLE:
26142 : : case UNLT:
26143 : : if (GET_CODE (x3) == EQ)
26144 : : {
26145 : : x9 = XEXP (x3, 0);
26146 : : switch (GET_CODE (x9))
26147 : : {
26148 : : case PLUS:
26149 : : switch (pattern719 (x1,
26150 : : PLUS))
26151 : : {
26152 : : case 0:
26153 : : if (((
26154 : : #line 7704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26155 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
26156 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26157 : : (!TARGET_64BIT)) &&
26158 : : #line 7706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26159 : : ( reload_completed)))
26160 : : return gen_split_152 (insn, operands);
26161 : : break;
26162 : :
26163 : : case 1:
26164 : : if (((
26165 : : #line 7704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26166 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
26167 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26168 : : (TARGET_64BIT)) &&
26169 : : #line 7706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26170 : : ( reload_completed)))
26171 : : return gen_split_153 (insn, operands);
26172 : : break;
26173 : :
26174 : : case 2:
26175 : : if (((
26176 : : #line 7750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26177 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
26178 : : && CONST_SCALAR_INT_P (operands[2])
26179 : : && rtx_equal_p (operands[2], operands[3])) &&
26180 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26181 : : (!TARGET_64BIT)) &&
26182 : : #line 7754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26183 : : ( reload_completed)))
26184 : : return gen_split_154 (insn, operands);
26185 : : break;
26186 : :
26187 : : case 3:
26188 : : if (((
26189 : : #line 7750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26190 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)
26191 : : && CONST_SCALAR_INT_P (operands[2])
26192 : : && rtx_equal_p (operands[2], operands[3])) &&
26193 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26194 : : (TARGET_64BIT)) &&
26195 : : #line 7754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26196 : : ( reload_completed)))
26197 : : return gen_split_155 (insn, operands);
26198 : : break;
26199 : :
26200 : : default:
26201 : : break;
26202 : : }
26203 : : break;
26204 : :
26205 : : case MINUS:
26206 : : switch (pattern719 (x1,
26207 : : MINUS))
26208 : : {
26209 : : case 0:
26210 : : if (((
26211 : : #line 8462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26212 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
26213 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26214 : : (!TARGET_64BIT)) &&
26215 : : #line 8464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26216 : : ( reload_completed)))
26217 : : return gen_split_192 (insn, operands);
26218 : : break;
26219 : :
26220 : : case 1:
26221 : : if (((
26222 : : #line 8462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26223 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
26224 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26225 : : (TARGET_64BIT)) &&
26226 : : #line 8464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26227 : : ( reload_completed)))
26228 : : return gen_split_193 (insn, operands);
26229 : : break;
26230 : :
26231 : : case 2:
26232 : : if (((
26233 : : #line 8506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26234 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
26235 : : && CONST_SCALAR_INT_P (operands[2])
26236 : : && rtx_equal_p (operands[2], operands[3])) &&
26237 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26238 : : (!TARGET_64BIT)) &&
26239 : : #line 8510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26240 : : ( reload_completed)))
26241 : : return gen_split_194 (insn, operands);
26242 : : break;
26243 : :
26244 : : case 3:
26245 : : if (((
26246 : : #line 8506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26247 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
26248 : : && CONST_SCALAR_INT_P (operands[2])
26249 : : && rtx_equal_p (operands[2], operands[3])) &&
26250 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26251 : : (TARGET_64BIT)) &&
26252 : : #line 8510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26253 : : ( reload_completed)))
26254 : : return gen_split_195 (insn, operands);
26255 : : break;
26256 : :
26257 : : default:
26258 : : break;
26259 : : }
26260 : : break;
26261 : :
26262 : : case ZERO_EXTRACT:
26263 : : switch (pattern688 (x1))
26264 : : {
26265 : : case 0:
26266 : : if ((
26267 : : #line 19694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26268 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
26269 : : #line 19696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26270 : : ( 1)))
26271 : : return gen_split_848 (insn, operands);
26272 : : break;
26273 : :
26274 : : case 1:
26275 : : if (((
26276 : : #line 19694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26277 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
26278 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26279 : : (TARGET_64BIT)) &&
26280 : : #line 19696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26281 : : ( 1)))
26282 : : return gen_split_849 (insn, operands);
26283 : : break;
26284 : :
26285 : : default:
26286 : : break;
26287 : : }
26288 : : break;
26289 : :
26290 : : default:
26291 : : break;
26292 : : }
26293 : : }
26294 : : operands[1] = x3;
26295 : : switch (pattern374 (x1))
26296 : : {
26297 : : case 0:
26298 : : if (!(
26299 : : #line 19807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26300 : : (!TARGET_PARTIAL_REG_STALL
26301 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
26302 : : #line 19810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26303 : : ( reload_completed)))
26304 : : return NULL;
26305 : : return gen_split_858 (insn, operands);
26306 : :
26307 : : case 1:
26308 : : if (!(
26309 : : #line 19807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26310 : : (!TARGET_PARTIAL_REG_STALL
26311 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
26312 : : #line 19810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26313 : : ( reload_completed)))
26314 : : return NULL;
26315 : : return gen_split_859 (insn, operands);
26316 : :
26317 : : default:
26318 : : return NULL;
26319 : : }
26320 : :
26321 : : case MINUS:
26322 : : x6 = XVECEXP (x1, 0, 1);
26323 : : if (pattern235 (x6,
26324 : : E_CCmode,
26325 : : 17) != 0)
26326 : : return NULL;
26327 : : x9 = XEXP (x3, 0);
26328 : : switch (GET_CODE (x9))
26329 : : {
26330 : : case CONST_INT:
26331 : : case CONST_WIDE_INT:
26332 : : case CONST_POLY_INT:
26333 : : case CONST_FIXED:
26334 : : case CONST_DOUBLE:
26335 : : case CONST_VECTOR:
26336 : : case CONST:
26337 : : case REG:
26338 : : case SUBREG:
26339 : : case MEM:
26340 : : case LABEL_REF:
26341 : : case SYMBOL_REF:
26342 : : case HIGH:
26343 : : operands[1] = x9;
26344 : : res = split_20 (x1, insn);
26345 : : if (res != NULL_RTX)
26346 : : return res;
26347 : : if (GET_CODE (x9) != SUBREG)
26348 : : return NULL;
26349 : : switch (pattern1049 (x2))
26350 : : {
26351 : : case 0:
26352 : : if (!(
26353 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26354 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26355 : : #line 8235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26356 : : ( reload_completed)))
26357 : : return NULL;
26358 : : return gen_split_183 (insn, operands);
26359 : :
26360 : : case 1:
26361 : : if (!(
26362 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26363 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26364 : : #line 8235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26365 : : ( reload_completed)))
26366 : : return NULL;
26367 : : return gen_split_184 (insn, operands);
26368 : :
26369 : : case 2:
26370 : : if (!((
26371 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26372 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26373 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26374 : : (TARGET_64BIT)) &&
26375 : : #line 8235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26376 : : ( reload_completed)))
26377 : : return NULL;
26378 : : return gen_split_185 (insn, operands);
26379 : :
26380 : : case 3:
26381 : : if (!
26382 : : #line 8318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26383 : : ( reload_completed))
26384 : : return NULL;
26385 : : return gen_split_186 (insn, operands);
26386 : :
26387 : : case 4:
26388 : : if (!
26389 : : #line 8318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26390 : : ( reload_completed))
26391 : : return NULL;
26392 : : return gen_split_187 (insn, operands);
26393 : :
26394 : : case 5:
26395 : : if (!(
26396 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26397 : : (TARGET_64BIT) &&
26398 : : #line 8318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26399 : : ( reload_completed)))
26400 : : return NULL;
26401 : : return gen_split_188 (insn, operands);
26402 : :
26403 : : default:
26404 : : return NULL;
26405 : : }
26406 : :
26407 : : case MINUS:
26408 : : x13 = XEXP (x9, 1);
26409 : : if (GET_CODE (x13) != EQ)
26410 : : return NULL;
26411 : : x14 = XEXP (x13, 1);
26412 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26413 : : return NULL;
26414 : : x4 = XEXP (x2, 0);
26415 : : operands[0] = x4;
26416 : : x11 = XEXP (x9, 0);
26417 : : operands[1] = x11;
26418 : : x15 = XEXP (x13, 0);
26419 : : operands[3] = x15;
26420 : : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
26421 : : return NULL;
26422 : : x10 = XEXP (x3, 1);
26423 : : operands[2] = x10;
26424 : : switch (GET_MODE (operands[0]))
26425 : : {
26426 : : case E_QImode:
26427 : : if (pattern1570 (x3,
26428 : : E_QImode) != 0
26429 : : || !(
26430 : : #line 10531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26431 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
26432 : : && ix86_pre_reload_split ()) &&
26433 : : #line 10534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26434 : : ( 1)))
26435 : : return NULL;
26436 : : return gen_split_224 (insn, operands);
26437 : :
26438 : : case E_HImode:
26439 : : if (pattern1570 (x3,
26440 : : E_HImode) != 0
26441 : : || !(
26442 : : #line 10531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26443 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
26444 : : && ix86_pre_reload_split ()) &&
26445 : : #line 10534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26446 : : ( 1)))
26447 : : return NULL;
26448 : : return gen_split_225 (insn, operands);
26449 : :
26450 : : case E_SImode:
26451 : : if (pattern1571 (x3,
26452 : : E_SImode) != 0
26453 : : || !(
26454 : : #line 10531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26455 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
26456 : : && ix86_pre_reload_split ()) &&
26457 : : #line 10534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26458 : : ( 1)))
26459 : : return NULL;
26460 : : return gen_split_226 (insn, operands);
26461 : :
26462 : : case E_DImode:
26463 : : if (pattern1571 (x3,
26464 : : E_DImode) != 0
26465 : : || !((
26466 : : #line 10531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26467 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
26468 : : && ix86_pre_reload_split ()) &&
26469 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26470 : : (TARGET_64BIT)) &&
26471 : : #line 10534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26472 : : ( 1)))
26473 : : return NULL;
26474 : : return gen_split_227 (insn, operands);
26475 : :
26476 : : default:
26477 : : return NULL;
26478 : : }
26479 : :
26480 : : default:
26481 : : return NULL;
26482 : : }
26483 : :
26484 : : case IF_THEN_ELSE:
26485 : : x9 = XEXP (x3, 0);
26486 : : if (!bt_comparison_operator (x9, E_VOIDmode))
26487 : : return NULL;
26488 : : x13 = XEXP (x9, 1);
26489 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26490 : : return NULL;
26491 : : switch (pattern694 (x1))
26492 : : {
26493 : : case 0:
26494 : : x11 = XEXP (x9, 0);
26495 : : operands[2] = x11;
26496 : : x10 = XEXP (x3, 1);
26497 : : if (GET_CODE (x10) != PLUS)
26498 : : return NULL;
26499 : : x16 = XEXP (x10, 1);
26500 : : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
26501 : : return NULL;
26502 : : x4 = XEXP (x2, 0);
26503 : : operands[0] = x4;
26504 : : operands[1] = x9;
26505 : : switch (pattern1581 (x3))
26506 : : {
26507 : : case 0:
26508 : : if (!(
26509 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26510 : : (TARGET_CMOVE) &&
26511 : : #line 8757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26512 : : ( reload_completed)))
26513 : : return NULL;
26514 : : return gen_split_196 (insn, operands);
26515 : :
26516 : : case 1:
26517 : : if (!(
26518 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26519 : : (TARGET_CMOVE) &&
26520 : : #line 8757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26521 : : ( reload_completed)))
26522 : : return NULL;
26523 : : return gen_split_197 (insn, operands);
26524 : :
26525 : : case 2:
26526 : : if (!((
26527 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26528 : : (TARGET_CMOVE) &&
26529 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26530 : : (TARGET_64BIT)) &&
26531 : : #line 8757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26532 : : ( reload_completed)))
26533 : : return NULL;
26534 : : return gen_split_198 (insn, operands);
26535 : :
26536 : : default:
26537 : : return NULL;
26538 : : }
26539 : :
26540 : : case 1:
26541 : : x11 = XEXP (x9, 0);
26542 : : x17 = XEXP (x11, 1);
26543 : : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
26544 : : return NULL;
26545 : : switch (pattern1339 (x2))
26546 : : {
26547 : : case 0:
26548 : : x18 = XEXP (x11, 2);
26549 : : operands[2] = x18;
26550 : : switch (pattern1697 (x3))
26551 : : {
26552 : : case 0:
26553 : : if ((
26554 : : #line 19499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26555 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26556 : : && (CONST_INT_P (operands[2])
26557 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
26558 : : && INTVAL (operands[2])
26559 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
26560 : : : !memory_operand (operands[1], SImode))
26561 : : && ix86_pre_reload_split ()) &&
26562 : : #line 19507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26563 : : ( 1)))
26564 : : return gen_split_826 (insn, operands);
26565 : : break;
26566 : :
26567 : : case 1:
26568 : : if (((
26569 : : #line 19499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26570 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26571 : : && (CONST_INT_P (operands[2])
26572 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
26573 : : && INTVAL (operands[2])
26574 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
26575 : : : !memory_operand (operands[1], DImode))
26576 : : && ix86_pre_reload_split ()) &&
26577 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26578 : : (TARGET_64BIT)) &&
26579 : : #line 19507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26580 : : ( 1)))
26581 : : return gen_split_827 (insn, operands);
26582 : : break;
26583 : :
26584 : : default:
26585 : : break;
26586 : : }
26587 : : if (GET_CODE (x18) != SUBREG)
26588 : : return NULL;
26589 : : switch (pattern1699 (x3))
26590 : : {
26591 : : case 0:
26592 : : if (!(
26593 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26594 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26595 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
26596 : : == GET_MODE_BITSIZE (SImode)-1
26597 : : && ix86_pre_reload_split ()) &&
26598 : : #line 19580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26599 : : ( 1)))
26600 : : return NULL;
26601 : : return gen_split_830 (insn, operands);
26602 : :
26603 : : case 1:
26604 : : if (!(
26605 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26606 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26607 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
26608 : : == GET_MODE_BITSIZE (SImode)-1
26609 : : && ix86_pre_reload_split ()) &&
26610 : : #line 19580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26611 : : ( 1)))
26612 : : return NULL;
26613 : : return gen_split_832 (insn, operands);
26614 : :
26615 : : case 2:
26616 : : if (!((
26617 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26618 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26619 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
26620 : : == GET_MODE_BITSIZE (SImode)-1
26621 : : && ix86_pre_reload_split ()) &&
26622 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26623 : : (TARGET_64BIT)) &&
26624 : : #line 19580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26625 : : ( 1)))
26626 : : return NULL;
26627 : : return gen_split_834 (insn, operands);
26628 : :
26629 : : case 3:
26630 : : if (!((
26631 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26632 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26633 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
26634 : : == GET_MODE_BITSIZE (DImode)-1
26635 : : && ix86_pre_reload_split ()) &&
26636 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26637 : : (TARGET_64BIT)) &&
26638 : : #line 19580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26639 : : ( 1)))
26640 : : return NULL;
26641 : : return gen_split_831 (insn, operands);
26642 : :
26643 : : case 4:
26644 : : if (!((
26645 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26646 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26647 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
26648 : : == GET_MODE_BITSIZE (DImode)-1
26649 : : && ix86_pre_reload_split ()) &&
26650 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26651 : : (TARGET_64BIT)) &&
26652 : : #line 19580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26653 : : ( 1)))
26654 : : return NULL;
26655 : : return gen_split_833 (insn, operands);
26656 : :
26657 : : case 5:
26658 : : if (!((
26659 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26660 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26661 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
26662 : : == GET_MODE_BITSIZE (DImode)-1
26663 : : && ix86_pre_reload_split ()) &&
26664 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26665 : : (TARGET_64BIT)) &&
26666 : : #line 19580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26667 : : ( 1)))
26668 : : return NULL;
26669 : : return gen_split_835 (insn, operands);
26670 : :
26671 : : default:
26672 : : return NULL;
26673 : : }
26674 : :
26675 : : case 1:
26676 : : if (!(
26677 : : #line 19538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26678 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26679 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
26680 : : == GET_MODE_BITSIZE (SImode)-1
26681 : : && ix86_pre_reload_split ()) &&
26682 : : #line 19543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26683 : : ( 1)))
26684 : : return NULL;
26685 : : return gen_split_828 (insn, operands);
26686 : :
26687 : : case 2:
26688 : : if (!((
26689 : : #line 19538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26690 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
26691 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
26692 : : == GET_MODE_BITSIZE (DImode)-1
26693 : : && ix86_pre_reload_split ()) &&
26694 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26695 : : (TARGET_64BIT)) &&
26696 : : #line 19543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26697 : : ( 1)))
26698 : : return NULL;
26699 : : return gen_split_829 (insn, operands);
26700 : :
26701 : : default:
26702 : : return NULL;
26703 : : }
26704 : :
26705 : : default:
26706 : : return NULL;
26707 : : }
26708 : :
26709 : : case COMPARE:
26710 : : return split_27 (x1, insn);
26711 : :
26712 : : case AND:
26713 : : return split_25 (x1, insn);
26714 : :
26715 : : case IOR:
26716 : : return split_26 (x1, insn);
26717 : :
26718 : : case XOR:
26719 : : return split_24 (x1, insn);
26720 : :
26721 : : case NOT:
26722 : : x9 = XEXP (x3, 0);
26723 : : if (GET_CODE (x9) != XOR
26724 : : || pattern348 (x1) != 0)
26725 : : return NULL;
26726 : : switch (GET_MODE (operands[0]))
26727 : : {
26728 : : case E_HImode:
26729 : : if (!nonimmediate_operand (operands[0], E_HImode)
26730 : : || pattern216 (x3,
26731 : : E_HImode) != 0
26732 : : || !(
26733 : : #line 13885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26734 : : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)) &&
26735 : : #line 13887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26736 : : ( reload_completed)))
26737 : : return NULL;
26738 : : return gen_split_397 (insn, operands);
26739 : :
26740 : : case E_SImode:
26741 : : if (!nonimmediate_operand (operands[0], E_SImode)
26742 : : || pattern217 (x3,
26743 : : E_SImode) != 0
26744 : : || !(
26745 : : #line 13885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26746 : : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)) &&
26747 : : #line 13887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26748 : : ( reload_completed)))
26749 : : return NULL;
26750 : : return gen_split_398 (insn, operands);
26751 : :
26752 : : case E_DImode:
26753 : : if (!nonimmediate_operand (operands[0], E_DImode)
26754 : : || pattern217 (x3,
26755 : : E_DImode) != 0
26756 : : || !((
26757 : : #line 13885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26758 : : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
26759 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26760 : : (TARGET_64BIT)) &&
26761 : : #line 13887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26762 : : ( reload_completed)))
26763 : : return NULL;
26764 : : return gen_split_399 (insn, operands);
26765 : :
26766 : : case E_QImode:
26767 : : if (!nonimmediate_operand (operands[0], E_QImode)
26768 : : || pattern216 (x3,
26769 : : E_QImode) != 0
26770 : : || !(
26771 : : #line 14085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26772 : : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)) &&
26773 : : #line 14087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26774 : : ( reload_completed)))
26775 : : return NULL;
26776 : : return gen_split_405 (insn, operands);
26777 : :
26778 : : default:
26779 : : return NULL;
26780 : : }
26781 : :
26782 : : case NEG:
26783 : : return split_31 (x1, insn);
26784 : :
26785 : : case ABS:
26786 : : return split_33 (x1, insn);
26787 : :
26788 : : case ASHIFT:
26789 : : return split_30 (x1, insn);
26790 : :
26791 : : case ROTATE:
26792 : : return split_35 (x1, insn);
26793 : :
26794 : : case ROTATERT:
26795 : : return split_34 (x1, insn);
26796 : :
26797 : : case CTZ:
26798 : : switch (pattern412 (x1))
26799 : : {
26800 : : case 0:
26801 : : if (!
26802 : : #line 21373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26803 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
26804 : : && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
26805 : : && epilogue_completed
26806 : : && optimize_function_for_speed_p (cfun)
26807 : : && !reg_mentioned_p (operands[0], operands[1])))
26808 : : return NULL;
26809 : : return gen_split_879 (insn, operands);
26810 : :
26811 : : case 1:
26812 : : if (!(
26813 : : #line 21373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26814 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
26815 : : && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
26816 : : && epilogue_completed
26817 : : && optimize_function_for_speed_p (cfun)
26818 : : && !reg_mentioned_p (operands[0], operands[1])) &&
26819 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26820 : : (TARGET_64BIT)))
26821 : : return NULL;
26822 : : return gen_split_880 (insn, operands);
26823 : :
26824 : : default:
26825 : : return NULL;
26826 : : }
26827 : :
26828 : : case SIGN_EXTEND:
26829 : : if (GET_MODE (x3) != E_DImode)
26830 : : return NULL;
26831 : : x6 = XVECEXP (x1, 0, 1);
26832 : : if (pattern358 (x6) != 0)
26833 : : return NULL;
26834 : : x4 = XEXP (x2, 0);
26835 : : operands[0] = x4;
26836 : : if (!register_operand (operands[0], E_DImode))
26837 : : return NULL;
26838 : : x9 = XEXP (x3, 0);
26839 : : if (GET_MODE (x9) != E_SImode)
26840 : : return NULL;
26841 : : switch (GET_CODE (x9))
26842 : : {
26843 : : case CTZ:
26844 : : x11 = XEXP (x9, 0);
26845 : : operands[1] = x11;
26846 : : if (!nonimmediate_operand (operands[1], E_SImode)
26847 : : || !
26848 : : #line 21481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26849 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
26850 : : && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
26851 : : && epilogue_completed
26852 : : && optimize_function_for_speed_p (cfun)
26853 : : && !reg_mentioned_p (operands[0], operands[1])))
26854 : : return NULL;
26855 : : return gen_split_882 (insn, operands);
26856 : :
26857 : : case XOR:
26858 : : x11 = XEXP (x9, 0);
26859 : : if (GET_CODE (x11) != MINUS
26860 : : || pattern1159 (x9) != 0)
26861 : : return NULL;
26862 : : x17 = XEXP (x11, 1);
26863 : : x19 = XEXP (x17, 0);
26864 : : operands[1] = x19;
26865 : : if (!nonimmediate_operand (operands[1], E_SImode)
26866 : : || !(
26867 : : #line 21644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26868 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) &&
26869 : : #line 21646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26870 : : ( 1)))
26871 : : return NULL;
26872 : : return gen_split_886 (insn, operands);
26873 : :
26874 : : default:
26875 : : return NULL;
26876 : : }
26877 : :
26878 : : case CLZ:
26879 : : switch (pattern412 (x1))
26880 : : {
26881 : : case 0:
26882 : : if (!(
26883 : : #line 21815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26884 : : (TARGET_LZCNT) &&
26885 : : #line 21817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26886 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
26887 : : && optimize_function_for_speed_p (cfun)
26888 : : && !reg_mentioned_p (operands[0], operands[1]))))
26889 : : return NULL;
26890 : : return gen_split_896 (insn, operands);
26891 : :
26892 : : case 1:
26893 : : if (!((
26894 : : #line 21815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26895 : : (TARGET_LZCNT) &&
26896 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26897 : : (TARGET_64BIT)) &&
26898 : : #line 21817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26899 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
26900 : : && optimize_function_for_speed_p (cfun)
26901 : : && !reg_mentioned_p (operands[0], operands[1]))))
26902 : : return NULL;
26903 : : return gen_split_897 (insn, operands);
26904 : :
26905 : : default:
26906 : : return NULL;
26907 : : }
26908 : :
26909 : : case UNSPEC:
26910 : : if (XVECLEN (x3, 0) != 1)
26911 : : return NULL;
26912 : : x6 = XVECEXP (x1, 0, 1);
26913 : : if (pattern235 (x6,
26914 : : E_CCmode,
26915 : : 17) != 0)
26916 : : return NULL;
26917 : : x4 = XEXP (x2, 0);
26918 : : operands[0] = x4;
26919 : : x20 = XVECEXP (x3, 0, 0);
26920 : : operands[1] = x20;
26921 : : switch (XINT (x3, 1))
26922 : : {
26923 : : case 98:
26924 : : switch (pattern1341 (x3))
26925 : : {
26926 : : case 0:
26927 : : if (!(
26928 : : #line 21939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26929 : : (TARGET_BMI) &&
26930 : : #line 21979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26931 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
26932 : : && optimize_function_for_speed_p (cfun)
26933 : : && !reg_mentioned_p (operands[0], operands[1]))))
26934 : : return NULL;
26935 : : return gen_split_904 (insn, operands);
26936 : :
26937 : : case 1:
26938 : : if (!((((
26939 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26940 : : (TARGET_64BIT) &&
26941 : : #line 21939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26942 : : (TARGET_BMI)) &&
26943 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26944 : : (TARGET_64BIT)) &&
26945 : : #line 21939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26946 : : (TARGET_BMI)) &&
26947 : : #line 21979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26948 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
26949 : : && optimize_function_for_speed_p (cfun)
26950 : : && !reg_mentioned_p (operands[0], operands[1]))))
26951 : : return NULL;
26952 : : return gen_split_906 (insn, operands);
26953 : :
26954 : : default:
26955 : : return NULL;
26956 : : }
26957 : :
26958 : : case 97:
26959 : : switch (pattern1341 (x3))
26960 : : {
26961 : : case 0:
26962 : : if (!(
26963 : : #line 21940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26964 : : (TARGET_LZCNT) &&
26965 : : #line 21979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26966 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
26967 : : && optimize_function_for_speed_p (cfun)
26968 : : && !reg_mentioned_p (operands[0], operands[1]))))
26969 : : return NULL;
26970 : : return gen_split_905 (insn, operands);
26971 : :
26972 : : case 1:
26973 : : if (!((((
26974 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26975 : : (TARGET_64BIT) &&
26976 : : #line 21940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26977 : : (TARGET_LZCNT)) &&
26978 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26979 : : (TARGET_64BIT)) &&
26980 : : #line 21940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26981 : : (TARGET_LZCNT)) &&
26982 : : #line 21979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26983 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
26984 : : && optimize_function_for_speed_p (cfun)
26985 : : && !reg_mentioned_p (operands[0], operands[1]))))
26986 : : return NULL;
26987 : : return gen_split_907 (insn, operands);
26988 : :
26989 : : default:
26990 : : return NULL;
26991 : : }
26992 : :
26993 : : default:
26994 : : return NULL;
26995 : : }
26996 : :
26997 : : case POPCOUNT:
26998 : : x6 = XVECEXP (x1, 0, 1);
26999 : : if (pattern358 (x6) != 0)
27000 : : return NULL;
27001 : : x4 = XEXP (x2, 0);
27002 : : operands[0] = x4;
27003 : : x9 = XEXP (x3, 0);
27004 : : switch (GET_CODE (x9))
27005 : : {
27006 : : case REG:
27007 : : case SUBREG:
27008 : : case MEM:
27009 : : operands[1] = x9;
27010 : : switch (pattern411 (x3))
27011 : : {
27012 : : case 0:
27013 : : if (!(
27014 : : #line 22622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27015 : : (TARGET_POPCNT) &&
27016 : : #line 22630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27017 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
27018 : : && optimize_function_for_speed_p (cfun)
27019 : : && !reg_mentioned_p (operands[0], operands[1]))))
27020 : : return NULL;
27021 : : return gen_split_920 (insn, operands);
27022 : :
27023 : : case 1:
27024 : : if (!((
27025 : : #line 22622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27026 : : (TARGET_POPCNT) &&
27027 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27028 : : (TARGET_64BIT)) &&
27029 : : #line 22630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27030 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
27031 : : && optimize_function_for_speed_p (cfun)
27032 : : && !reg_mentioned_p (operands[0], operands[1]))))
27033 : : return NULL;
27034 : : return gen_split_921 (insn, operands);
27035 : :
27036 : : default:
27037 : : return NULL;
27038 : : }
27039 : :
27040 : : case ZERO_EXTEND:
27041 : : if (pattern1178 (x3,
27042 : : E_HImode,
27043 : : E_SImode) != 0
27044 : : || !(
27045 : : #line 22792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27046 : : (TARGET_POPCNT
27047 : : && ix86_pre_reload_split ()) &&
27048 : : #line 22795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27049 : : ( 1)))
27050 : : return NULL;
27051 : : return gen_split_924 (insn, operands);
27052 : :
27053 : : default:
27054 : : return NULL;
27055 : : }
27056 : :
27057 : : default:
27058 : : return NULL;
27059 : : }
27060 : :
27061 : : case SIMPLE_RETURN:
27062 : : x6 = XVECEXP (x1, 0, 1);
27063 : : if (GET_CODE (x6) != USE)
27064 : : return NULL;
27065 : : x21 = XEXP (x6, 0);
27066 : : operands[0] = x21;
27067 : : if (!const_int_operand (operands[0], E_SImode)
27068 : : || !(
27069 : : #line 20967 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27070 : : (reload_completed) &&
27071 : : #line 20969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27072 : : ( cfun->machine->function_return_type != indirect_branch_keep)))
27073 : : return NULL;
27074 : : return gen_split_874 (insn, operands);
27075 : :
27076 : : default:
27077 : : return NULL;
27078 : : }
27079 : : }
27080 : :
27081 : : rtx_insn *
27082 : : split_71 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27083 : : {
27084 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27085 : : rtx x2, x3, x4, x5, x6, x7, x8;
27086 : : rtx_insn *res ATTRIBUTE_UNUSED;
27087 : : x2 = XEXP (x1, 1);
27088 : : x3 = XEXP (x2, 0);
27089 : : x4 = XEXP (x3, 0);
27090 : : switch (GET_CODE (x4))
27091 : : {
27092 : : case REG:
27093 : : case SUBREG:
27094 : : case MEM:
27095 : : case NOT:
27096 : : switch (pattern530 (x2))
27097 : : {
27098 : : case 0:
27099 : : if (!((
27100 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27101 : : ((64 == 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 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27113 : : (TARGET_AVX512F)) &&
27114 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27115 : : ( 1)))
27116 : : return NULL;
27117 : : return gen_split_1735 (insn, operands);
27118 : :
27119 : : case 1:
27120 : : if (!((
27121 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27122 : : ((32 == 64 || TARGET_AVX512VL
27123 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27124 : : && ix86_pre_reload_split ()
27125 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27126 : : STRIP_UNARY (operands[4]))
27127 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27128 : : STRIP_UNARY (operands[4]))
27129 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27130 : : STRIP_UNARY (operands[3]))
27131 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27132 : : STRIP_UNARY (operands[3])))) &&
27133 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27134 : : (TARGET_AVX)) &&
27135 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27136 : : ( 1)))
27137 : : return NULL;
27138 : : return gen_split_1762 (insn, operands);
27139 : :
27140 : : case 2:
27141 : : if (!(
27142 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27143 : : ((16 == 64 || TARGET_AVX512VL
27144 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27145 : : && ix86_pre_reload_split ()
27146 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27147 : : STRIP_UNARY (operands[4]))
27148 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27149 : : STRIP_UNARY (operands[4]))
27150 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27151 : : STRIP_UNARY (operands[3]))
27152 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27153 : : STRIP_UNARY (operands[3])))) &&
27154 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27155 : : ( 1)))
27156 : : return NULL;
27157 : : return gen_split_1789 (insn, operands);
27158 : :
27159 : : case 3:
27160 : : if (!((
27161 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27162 : : ((64 == 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 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27174 : : (TARGET_AVX512F)) &&
27175 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27176 : : ( 1)))
27177 : : return NULL;
27178 : : return gen_split_1816 (insn, operands);
27179 : :
27180 : : case 4:
27181 : : if (!((
27182 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27183 : : ((32 == 64 || TARGET_AVX512VL
27184 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27185 : : && ix86_pre_reload_split ()
27186 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27187 : : STRIP_UNARY (operands[4]))
27188 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27189 : : STRIP_UNARY (operands[4]))
27190 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27191 : : STRIP_UNARY (operands[3]))
27192 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27193 : : STRIP_UNARY (operands[3])))) &&
27194 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27195 : : (TARGET_AVX)) &&
27196 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27197 : : ( 1)))
27198 : : return NULL;
27199 : : return gen_split_1843 (insn, operands);
27200 : :
27201 : : case 5:
27202 : : if (!(
27203 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27204 : : ((16 == 64 || TARGET_AVX512VL
27205 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27206 : : && ix86_pre_reload_split ()
27207 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27208 : : STRIP_UNARY (operands[4]))
27209 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27210 : : STRIP_UNARY (operands[4]))
27211 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27212 : : STRIP_UNARY (operands[3]))
27213 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27214 : : STRIP_UNARY (operands[3])))) &&
27215 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27216 : : ( 1)))
27217 : : return NULL;
27218 : : return gen_split_1870 (insn, operands);
27219 : :
27220 : : case 6:
27221 : : if (!((
27222 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27223 : : ((64 == 64 || TARGET_AVX512VL
27224 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27225 : : && ix86_pre_reload_split ()
27226 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27227 : : STRIP_UNARY (operands[4]))
27228 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27229 : : STRIP_UNARY (operands[4]))
27230 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27231 : : STRIP_UNARY (operands[3]))
27232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27233 : : STRIP_UNARY (operands[3])))) &&
27234 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27235 : : (TARGET_AVX512F)) &&
27236 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27237 : : ( 1)))
27238 : : return NULL;
27239 : : return gen_split_1897 (insn, operands);
27240 : :
27241 : : case 7:
27242 : : if (!((
27243 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27244 : : ((32 == 64 || TARGET_AVX512VL
27245 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27246 : : && ix86_pre_reload_split ()
27247 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27248 : : STRIP_UNARY (operands[4]))
27249 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27250 : : STRIP_UNARY (operands[4]))
27251 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27252 : : STRIP_UNARY (operands[3]))
27253 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27254 : : STRIP_UNARY (operands[3])))) &&
27255 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27256 : : (TARGET_AVX)) &&
27257 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27258 : : ( 1)))
27259 : : return NULL;
27260 : : return gen_split_1924 (insn, operands);
27261 : :
27262 : : case 8:
27263 : : if (!(
27264 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27265 : : ((16 == 64 || TARGET_AVX512VL
27266 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27267 : : && ix86_pre_reload_split ()
27268 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27269 : : STRIP_UNARY (operands[4]))
27270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27271 : : STRIP_UNARY (operands[4]))
27272 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27273 : : STRIP_UNARY (operands[3]))
27274 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27275 : : STRIP_UNARY (operands[3])))) &&
27276 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27277 : : ( 1)))
27278 : : return NULL;
27279 : : return gen_split_1951 (insn, operands);
27280 : :
27281 : : case 9:
27282 : : if (!((
27283 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27284 : : ((64 == 64 || TARGET_AVX512VL
27285 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27286 : : && ix86_pre_reload_split ()
27287 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27288 : : STRIP_UNARY (operands[4]))
27289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27290 : : STRIP_UNARY (operands[4]))
27291 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27292 : : STRIP_UNARY (operands[3]))
27293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27294 : : STRIP_UNARY (operands[3])))) &&
27295 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27296 : : (TARGET_AVX512F)) &&
27297 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27298 : : ( 1)))
27299 : : return NULL;
27300 : : return gen_split_1978 (insn, operands);
27301 : :
27302 : : case 10:
27303 : : if (!((
27304 : : #line 14050 "/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 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27309 : : STRIP_UNARY (operands[4]))
27310 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27311 : : STRIP_UNARY (operands[4]))
27312 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27313 : : STRIP_UNARY (operands[3]))
27314 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27315 : : STRIP_UNARY (operands[3])))) &&
27316 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27317 : : (TARGET_AVX)) &&
27318 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27319 : : ( 1)))
27320 : : return NULL;
27321 : : return gen_split_2005 (insn, operands);
27322 : :
27323 : : case 11:
27324 : : if (!(
27325 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27326 : : ((16 == 64 || TARGET_AVX512VL
27327 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27328 : : && ix86_pre_reload_split ()
27329 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27330 : : STRIP_UNARY (operands[4]))
27331 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27332 : : STRIP_UNARY (operands[4]))
27333 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27334 : : STRIP_UNARY (operands[3]))
27335 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27336 : : STRIP_UNARY (operands[3])))) &&
27337 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27338 : : ( 1)))
27339 : : return NULL;
27340 : : return gen_split_2032 (insn, operands);
27341 : :
27342 : : case 12:
27343 : : if (!((
27344 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27345 : : ((64 == 64 || TARGET_AVX512VL
27346 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27347 : : && ix86_pre_reload_split ()
27348 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27349 : : STRIP_UNARY (operands[4]))
27350 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27351 : : STRIP_UNARY (operands[4]))
27352 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27353 : : STRIP_UNARY (operands[3]))
27354 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27355 : : STRIP_UNARY (operands[3])))) &&
27356 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27357 : : (TARGET_AVX512F)) &&
27358 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27359 : : ( 1)))
27360 : : return NULL;
27361 : : return gen_split_1738 (insn, operands);
27362 : :
27363 : : case 13:
27364 : : if (!((
27365 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27366 : : ((32 == 64 || TARGET_AVX512VL
27367 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27368 : : && ix86_pre_reload_split ()
27369 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27370 : : STRIP_UNARY (operands[4]))
27371 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27372 : : STRIP_UNARY (operands[4]))
27373 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27374 : : STRIP_UNARY (operands[3]))
27375 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27376 : : STRIP_UNARY (operands[3])))) &&
27377 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27378 : : (TARGET_AVX)) &&
27379 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27380 : : ( 1)))
27381 : : return NULL;
27382 : : return gen_split_1765 (insn, operands);
27383 : :
27384 : : case 14:
27385 : : if (!(
27386 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27387 : : ((16 == 64 || TARGET_AVX512VL
27388 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27389 : : && ix86_pre_reload_split ()
27390 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27391 : : STRIP_UNARY (operands[4]))
27392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27393 : : STRIP_UNARY (operands[4]))
27394 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27395 : : STRIP_UNARY (operands[3]))
27396 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27397 : : STRIP_UNARY (operands[3])))) &&
27398 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27399 : : ( 1)))
27400 : : return NULL;
27401 : : return gen_split_1792 (insn, operands);
27402 : :
27403 : : case 15:
27404 : : if (!((
27405 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27406 : : ((64 == 64 || TARGET_AVX512VL
27407 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27408 : : && ix86_pre_reload_split ()
27409 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27410 : : STRIP_UNARY (operands[4]))
27411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27412 : : STRIP_UNARY (operands[4]))
27413 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27414 : : STRIP_UNARY (operands[3]))
27415 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27416 : : STRIP_UNARY (operands[3])))) &&
27417 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27418 : : (TARGET_AVX512F)) &&
27419 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27420 : : ( 1)))
27421 : : return NULL;
27422 : : return gen_split_1819 (insn, operands);
27423 : :
27424 : : case 16:
27425 : : if (!((
27426 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27427 : : ((32 == 64 || TARGET_AVX512VL
27428 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27429 : : && ix86_pre_reload_split ()
27430 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27431 : : STRIP_UNARY (operands[4]))
27432 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27433 : : STRIP_UNARY (operands[4]))
27434 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27435 : : STRIP_UNARY (operands[3]))
27436 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27437 : : STRIP_UNARY (operands[3])))) &&
27438 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27439 : : (TARGET_AVX)) &&
27440 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27441 : : ( 1)))
27442 : : return NULL;
27443 : : return gen_split_1846 (insn, operands);
27444 : :
27445 : : case 17:
27446 : : if (!(
27447 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27448 : : ((16 == 64 || TARGET_AVX512VL
27449 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27450 : : && ix86_pre_reload_split ()
27451 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27452 : : STRIP_UNARY (operands[4]))
27453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27454 : : STRIP_UNARY (operands[4]))
27455 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27456 : : STRIP_UNARY (operands[3]))
27457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27458 : : STRIP_UNARY (operands[3])))) &&
27459 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27460 : : ( 1)))
27461 : : return NULL;
27462 : : return gen_split_1873 (insn, operands);
27463 : :
27464 : : case 18:
27465 : : if (!((
27466 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27467 : : ((64 == 64 || TARGET_AVX512VL
27468 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27469 : : && ix86_pre_reload_split ()
27470 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27471 : : STRIP_UNARY (operands[4]))
27472 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27473 : : STRIP_UNARY (operands[4]))
27474 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27475 : : STRIP_UNARY (operands[3]))
27476 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27477 : : STRIP_UNARY (operands[3])))) &&
27478 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27479 : : (TARGET_AVX512F)) &&
27480 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27481 : : ( 1)))
27482 : : return NULL;
27483 : : return gen_split_1900 (insn, operands);
27484 : :
27485 : : case 19:
27486 : : if (!((
27487 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27488 : : ((32 == 64 || TARGET_AVX512VL
27489 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27490 : : && ix86_pre_reload_split ()
27491 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27492 : : STRIP_UNARY (operands[4]))
27493 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27494 : : STRIP_UNARY (operands[4]))
27495 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27496 : : STRIP_UNARY (operands[3]))
27497 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27498 : : STRIP_UNARY (operands[3])))) &&
27499 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27500 : : (TARGET_AVX)) &&
27501 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27502 : : ( 1)))
27503 : : return NULL;
27504 : : return gen_split_1927 (insn, operands);
27505 : :
27506 : : case 20:
27507 : : if (!(
27508 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27509 : : ((16 == 64 || TARGET_AVX512VL
27510 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27511 : : && ix86_pre_reload_split ()
27512 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27513 : : STRIP_UNARY (operands[4]))
27514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27515 : : STRIP_UNARY (operands[4]))
27516 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27517 : : STRIP_UNARY (operands[3]))
27518 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27519 : : STRIP_UNARY (operands[3])))) &&
27520 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27521 : : ( 1)))
27522 : : return NULL;
27523 : : return gen_split_1954 (insn, operands);
27524 : :
27525 : : case 21:
27526 : : if (!((
27527 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27528 : : ((64 == 64 || TARGET_AVX512VL
27529 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27530 : : && ix86_pre_reload_split ()
27531 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27532 : : STRIP_UNARY (operands[4]))
27533 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27534 : : STRIP_UNARY (operands[4]))
27535 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27536 : : STRIP_UNARY (operands[3]))
27537 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27538 : : STRIP_UNARY (operands[3])))) &&
27539 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27540 : : (TARGET_AVX512F)) &&
27541 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27542 : : ( 1)))
27543 : : return NULL;
27544 : : return gen_split_1981 (insn, operands);
27545 : :
27546 : : case 22:
27547 : : if (!((
27548 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27549 : : ((32 == 64 || TARGET_AVX512VL
27550 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27551 : : && ix86_pre_reload_split ()
27552 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27553 : : STRIP_UNARY (operands[4]))
27554 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27555 : : STRIP_UNARY (operands[4]))
27556 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27557 : : STRIP_UNARY (operands[3]))
27558 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27559 : : STRIP_UNARY (operands[3])))) &&
27560 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27561 : : (TARGET_AVX)) &&
27562 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27563 : : ( 1)))
27564 : : return NULL;
27565 : : return gen_split_2008 (insn, operands);
27566 : :
27567 : : case 23:
27568 : : if (!(
27569 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27570 : : ((16 == 64 || TARGET_AVX512VL
27571 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27572 : : && ix86_pre_reload_split ()
27573 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27574 : : STRIP_UNARY (operands[4]))
27575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27576 : : STRIP_UNARY (operands[4]))
27577 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27578 : : STRIP_UNARY (operands[3]))
27579 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27580 : : STRIP_UNARY (operands[3])))) &&
27581 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27582 : : ( 1)))
27583 : : return NULL;
27584 : : return gen_split_2035 (insn, operands);
27585 : :
27586 : : case 24:
27587 : : if (!((
27588 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27589 : : ((64 == 64 || TARGET_AVX512VL
27590 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27591 : : && ix86_pre_reload_split ()
27592 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27593 : : STRIP_UNARY (operands[4]))
27594 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27595 : : STRIP_UNARY (operands[4]))
27596 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27597 : : STRIP_UNARY (operands[3]))
27598 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27599 : : STRIP_UNARY (operands[3])))) &&
27600 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27601 : : (TARGET_AVX512F)) &&
27602 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27603 : : ( 1)))
27604 : : return NULL;
27605 : : return gen_split_1741 (insn, operands);
27606 : :
27607 : : case 25:
27608 : : if (!((
27609 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27610 : : ((32 == 64 || TARGET_AVX512VL
27611 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27612 : : && ix86_pre_reload_split ()
27613 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27614 : : STRIP_UNARY (operands[4]))
27615 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27616 : : STRIP_UNARY (operands[4]))
27617 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27618 : : STRIP_UNARY (operands[3]))
27619 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27620 : : STRIP_UNARY (operands[3])))) &&
27621 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27622 : : (TARGET_AVX)) &&
27623 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27624 : : ( 1)))
27625 : : return NULL;
27626 : : return gen_split_1768 (insn, operands);
27627 : :
27628 : : case 26:
27629 : : if (!(
27630 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27631 : : ((16 == 64 || TARGET_AVX512VL
27632 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27633 : : && ix86_pre_reload_split ()
27634 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27635 : : STRIP_UNARY (operands[4]))
27636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27637 : : STRIP_UNARY (operands[4]))
27638 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27639 : : STRIP_UNARY (operands[3]))
27640 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27641 : : STRIP_UNARY (operands[3])))) &&
27642 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27643 : : ( 1)))
27644 : : return NULL;
27645 : : return gen_split_1795 (insn, operands);
27646 : :
27647 : : case 27:
27648 : : if (!((
27649 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27650 : : ((64 == 64 || TARGET_AVX512VL
27651 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27652 : : && ix86_pre_reload_split ()
27653 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27654 : : STRIP_UNARY (operands[4]))
27655 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27656 : : STRIP_UNARY (operands[4]))
27657 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27658 : : STRIP_UNARY (operands[3]))
27659 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27660 : : STRIP_UNARY (operands[3])))) &&
27661 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27662 : : (TARGET_AVX512F)) &&
27663 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27664 : : ( 1)))
27665 : : return NULL;
27666 : : return gen_split_1822 (insn, operands);
27667 : :
27668 : : case 28:
27669 : : if (!((
27670 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27671 : : ((32 == 64 || TARGET_AVX512VL
27672 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27673 : : && ix86_pre_reload_split ()
27674 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27675 : : STRIP_UNARY (operands[4]))
27676 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27677 : : STRIP_UNARY (operands[4]))
27678 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27679 : : STRIP_UNARY (operands[3]))
27680 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27681 : : STRIP_UNARY (operands[3])))) &&
27682 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27683 : : (TARGET_AVX)) &&
27684 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27685 : : ( 1)))
27686 : : return NULL;
27687 : : return gen_split_1849 (insn, operands);
27688 : :
27689 : : case 29:
27690 : : if (!(
27691 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27692 : : ((16 == 64 || TARGET_AVX512VL
27693 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27694 : : && ix86_pre_reload_split ()
27695 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27696 : : STRIP_UNARY (operands[4]))
27697 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27698 : : STRIP_UNARY (operands[4]))
27699 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27700 : : STRIP_UNARY (operands[3]))
27701 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27702 : : STRIP_UNARY (operands[3])))) &&
27703 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27704 : : ( 1)))
27705 : : return NULL;
27706 : : return gen_split_1876 (insn, operands);
27707 : :
27708 : : case 30:
27709 : : if (!((
27710 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27711 : : ((64 == 64 || TARGET_AVX512VL
27712 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27713 : : && ix86_pre_reload_split ()
27714 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27715 : : STRIP_UNARY (operands[4]))
27716 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27717 : : STRIP_UNARY (operands[4]))
27718 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27719 : : STRIP_UNARY (operands[3]))
27720 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27721 : : STRIP_UNARY (operands[3])))) &&
27722 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27723 : : (TARGET_AVX512F)) &&
27724 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27725 : : ( 1)))
27726 : : return NULL;
27727 : : return gen_split_1903 (insn, operands);
27728 : :
27729 : : case 31:
27730 : : if (!((
27731 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27732 : : ((32 == 64 || TARGET_AVX512VL
27733 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27734 : : && ix86_pre_reload_split ()
27735 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27736 : : STRIP_UNARY (operands[4]))
27737 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27738 : : STRIP_UNARY (operands[4]))
27739 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27740 : : STRIP_UNARY (operands[3]))
27741 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27742 : : STRIP_UNARY (operands[3])))) &&
27743 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27744 : : (TARGET_AVX)) &&
27745 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27746 : : ( 1)))
27747 : : return NULL;
27748 : : return gen_split_1930 (insn, operands);
27749 : :
27750 : : case 32:
27751 : : if (!(
27752 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27753 : : ((16 == 64 || TARGET_AVX512VL
27754 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27755 : : && ix86_pre_reload_split ()
27756 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27757 : : STRIP_UNARY (operands[4]))
27758 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27759 : : STRIP_UNARY (operands[4]))
27760 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27761 : : STRIP_UNARY (operands[3]))
27762 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27763 : : STRIP_UNARY (operands[3])))) &&
27764 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27765 : : ( 1)))
27766 : : return NULL;
27767 : : return gen_split_1957 (insn, operands);
27768 : :
27769 : : case 33:
27770 : : if (!((
27771 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27772 : : ((64 == 64 || TARGET_AVX512VL
27773 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27774 : : && ix86_pre_reload_split ()
27775 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27776 : : STRIP_UNARY (operands[4]))
27777 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27778 : : STRIP_UNARY (operands[4]))
27779 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27780 : : STRIP_UNARY (operands[3]))
27781 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27782 : : STRIP_UNARY (operands[3])))) &&
27783 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27784 : : (TARGET_AVX512F)) &&
27785 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27786 : : ( 1)))
27787 : : return NULL;
27788 : : return gen_split_1984 (insn, operands);
27789 : :
27790 : : case 34:
27791 : : if (!((
27792 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27793 : : ((32 == 64 || TARGET_AVX512VL
27794 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27795 : : && ix86_pre_reload_split ()
27796 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27797 : : STRIP_UNARY (operands[4]))
27798 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27799 : : STRIP_UNARY (operands[4]))
27800 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27801 : : STRIP_UNARY (operands[3]))
27802 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27803 : : STRIP_UNARY (operands[3])))) &&
27804 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27805 : : (TARGET_AVX)) &&
27806 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27807 : : ( 1)))
27808 : : return NULL;
27809 : : return gen_split_2011 (insn, operands);
27810 : :
27811 : : case 35:
27812 : : if (!(
27813 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27814 : : ((16 == 64 || TARGET_AVX512VL
27815 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27816 : : && ix86_pre_reload_split ()
27817 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27818 : : STRIP_UNARY (operands[4]))
27819 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27820 : : STRIP_UNARY (operands[4]))
27821 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27822 : : STRIP_UNARY (operands[3]))
27823 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27824 : : STRIP_UNARY (operands[3])))) &&
27825 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27826 : : ( 1)))
27827 : : return NULL;
27828 : : return gen_split_2038 (insn, operands);
27829 : :
27830 : : case 36:
27831 : : if (!((
27832 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27833 : : ((64 == 64 || TARGET_AVX512VL
27834 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27835 : : && ix86_pre_reload_split ()) &&
27836 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27837 : : (TARGET_AVX512F)) &&
27838 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27839 : : ( 1)))
27840 : : return NULL;
27841 : : return gen_split_3031 (insn, operands);
27842 : :
27843 : : case 37:
27844 : : if (!((
27845 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27846 : : ((32 == 64 || TARGET_AVX512VL
27847 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27848 : : && ix86_pre_reload_split ()) &&
27849 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27850 : : (TARGET_AVX)) &&
27851 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27852 : : ( 1)))
27853 : : return NULL;
27854 : : return gen_split_3040 (insn, operands);
27855 : :
27856 : : case 38:
27857 : : if (!(
27858 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27859 : : ((16 == 64 || TARGET_AVX512VL
27860 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27861 : : && ix86_pre_reload_split ()) &&
27862 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27863 : : ( 1)))
27864 : : return NULL;
27865 : : return gen_split_3049 (insn, operands);
27866 : :
27867 : : case 39:
27868 : : if (!((
27869 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27870 : : ((64 == 64 || TARGET_AVX512VL
27871 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27872 : : && ix86_pre_reload_split ()) &&
27873 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27874 : : (TARGET_AVX512F)) &&
27875 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27876 : : ( 1)))
27877 : : return NULL;
27878 : : return gen_split_3058 (insn, operands);
27879 : :
27880 : : case 40:
27881 : : if (!((
27882 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27883 : : ((32 == 64 || TARGET_AVX512VL
27884 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27885 : : && ix86_pre_reload_split ()) &&
27886 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27887 : : (TARGET_AVX)) &&
27888 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27889 : : ( 1)))
27890 : : return NULL;
27891 : : return gen_split_3067 (insn, operands);
27892 : :
27893 : : case 41:
27894 : : if (!(
27895 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27896 : : ((16 == 64 || TARGET_AVX512VL
27897 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27898 : : && ix86_pre_reload_split ()) &&
27899 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27900 : : ( 1)))
27901 : : return NULL;
27902 : : return gen_split_3076 (insn, operands);
27903 : :
27904 : : case 42:
27905 : : if (!((
27906 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27907 : : ((64 == 64 || TARGET_AVX512VL
27908 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27909 : : && ix86_pre_reload_split ()) &&
27910 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27911 : : (TARGET_AVX512F)) &&
27912 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27913 : : ( 1)))
27914 : : return NULL;
27915 : : return gen_split_3085 (insn, operands);
27916 : :
27917 : : case 43:
27918 : : if (!((
27919 : : #line 14219 "/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 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27924 : : (TARGET_AVX)) &&
27925 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27926 : : ( 1)))
27927 : : return NULL;
27928 : : return gen_split_3094 (insn, operands);
27929 : :
27930 : : case 44:
27931 : : if (!(
27932 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27933 : : ((16 == 64 || TARGET_AVX512VL
27934 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27935 : : && ix86_pre_reload_split ()) &&
27936 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27937 : : ( 1)))
27938 : : return NULL;
27939 : : return gen_split_3103 (insn, operands);
27940 : :
27941 : : case 45:
27942 : : if (!((
27943 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27944 : : ((64 == 64 || TARGET_AVX512VL
27945 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27946 : : && ix86_pre_reload_split ()) &&
27947 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27948 : : (TARGET_AVX512F)) &&
27949 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27950 : : ( 1)))
27951 : : return NULL;
27952 : : return gen_split_3112 (insn, operands);
27953 : :
27954 : : case 46:
27955 : : if (!((
27956 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27957 : : ((32 == 64 || TARGET_AVX512VL
27958 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27959 : : && ix86_pre_reload_split ()) &&
27960 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27961 : : (TARGET_AVX)) &&
27962 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27963 : : ( 1)))
27964 : : return NULL;
27965 : : return gen_split_3121 (insn, operands);
27966 : :
27967 : : case 47:
27968 : : if (!(
27969 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27970 : : ((16 == 64 || TARGET_AVX512VL
27971 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27972 : : && ix86_pre_reload_split ()) &&
27973 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27974 : : ( 1)))
27975 : : return NULL;
27976 : : return gen_split_3130 (insn, operands);
27977 : :
27978 : : default:
27979 : : return NULL;
27980 : : }
27981 : :
27982 : : case AND:
27983 : : switch (pattern532 (x2))
27984 : : {
27985 : : case 0:
27986 : : if (!((
27987 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27988 : : ((64 == 64 || TARGET_AVX512VL
27989 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27990 : : && ix86_pre_reload_split ()
27991 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27992 : : STRIP_UNARY (operands[4]))
27993 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27994 : : STRIP_UNARY (operands[4]))
27995 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27996 : : STRIP_UNARY (operands[3]))
27997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27998 : : STRIP_UNARY (operands[3])))) &&
27999 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28000 : : (TARGET_AVX512F)) &&
28001 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28002 : : ( 1)))
28003 : : return NULL;
28004 : : return gen_split_2383 (insn, operands);
28005 : :
28006 : : case 1:
28007 : : if (!((
28008 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28009 : : ((32 == 64 || TARGET_AVX512VL
28010 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28011 : : && ix86_pre_reload_split ()
28012 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28013 : : STRIP_UNARY (operands[4]))
28014 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28015 : : STRIP_UNARY (operands[4]))
28016 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28017 : : STRIP_UNARY (operands[3]))
28018 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28019 : : STRIP_UNARY (operands[3])))) &&
28020 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28021 : : (TARGET_AVX)) &&
28022 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28023 : : ( 1)))
28024 : : return NULL;
28025 : : return gen_split_2410 (insn, operands);
28026 : :
28027 : : case 2:
28028 : : if (!(
28029 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28030 : : ((16 == 64 || TARGET_AVX512VL
28031 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28032 : : && ix86_pre_reload_split ()
28033 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28034 : : STRIP_UNARY (operands[4]))
28035 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28036 : : STRIP_UNARY (operands[4]))
28037 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28038 : : STRIP_UNARY (operands[3]))
28039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28040 : : STRIP_UNARY (operands[3])))) &&
28041 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28042 : : ( 1)))
28043 : : return NULL;
28044 : : return gen_split_2437 (insn, operands);
28045 : :
28046 : : case 3:
28047 : : if (!((
28048 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28049 : : ((64 == 64 || TARGET_AVX512VL
28050 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28051 : : && ix86_pre_reload_split ()
28052 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28053 : : STRIP_UNARY (operands[4]))
28054 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28055 : : STRIP_UNARY (operands[4]))
28056 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28057 : : STRIP_UNARY (operands[3]))
28058 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28059 : : STRIP_UNARY (operands[3])))) &&
28060 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28061 : : (TARGET_AVX512F)) &&
28062 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28063 : : ( 1)))
28064 : : return NULL;
28065 : : return gen_split_2464 (insn, operands);
28066 : :
28067 : : case 4:
28068 : : if (!((
28069 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28070 : : ((32 == 64 || TARGET_AVX512VL
28071 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28072 : : && ix86_pre_reload_split ()
28073 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28074 : : STRIP_UNARY (operands[4]))
28075 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28076 : : STRIP_UNARY (operands[4]))
28077 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28078 : : STRIP_UNARY (operands[3]))
28079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28080 : : STRIP_UNARY (operands[3])))) &&
28081 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28082 : : (TARGET_AVX)) &&
28083 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28084 : : ( 1)))
28085 : : return NULL;
28086 : : return gen_split_2491 (insn, operands);
28087 : :
28088 : : case 5:
28089 : : if (!(
28090 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28091 : : ((16 == 64 || TARGET_AVX512VL
28092 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28093 : : && ix86_pre_reload_split ()
28094 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28095 : : STRIP_UNARY (operands[4]))
28096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28097 : : STRIP_UNARY (operands[4]))
28098 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28099 : : STRIP_UNARY (operands[3]))
28100 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28101 : : STRIP_UNARY (operands[3])))) &&
28102 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28103 : : ( 1)))
28104 : : return NULL;
28105 : : return gen_split_2518 (insn, operands);
28106 : :
28107 : : case 6:
28108 : : if (!((
28109 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28110 : : ((64 == 64 || TARGET_AVX512VL
28111 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28112 : : && ix86_pre_reload_split ()
28113 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28114 : : STRIP_UNARY (operands[4]))
28115 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28116 : : STRIP_UNARY (operands[4]))
28117 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28118 : : STRIP_UNARY (operands[3]))
28119 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28120 : : STRIP_UNARY (operands[3])))) &&
28121 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28122 : : (TARGET_AVX512F)) &&
28123 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28124 : : ( 1)))
28125 : : return NULL;
28126 : : return gen_split_2545 (insn, operands);
28127 : :
28128 : : case 7:
28129 : : if (!((
28130 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28131 : : ((32 == 64 || TARGET_AVX512VL
28132 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28133 : : && ix86_pre_reload_split ()
28134 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28135 : : STRIP_UNARY (operands[4]))
28136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28137 : : STRIP_UNARY (operands[4]))
28138 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28139 : : STRIP_UNARY (operands[3]))
28140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28141 : : STRIP_UNARY (operands[3])))) &&
28142 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28143 : : (TARGET_AVX)) &&
28144 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28145 : : ( 1)))
28146 : : return NULL;
28147 : : return gen_split_2572 (insn, operands);
28148 : :
28149 : : case 8:
28150 : : if (!(
28151 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28152 : : ((16 == 64 || TARGET_AVX512VL
28153 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28154 : : && ix86_pre_reload_split ()
28155 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28156 : : STRIP_UNARY (operands[4]))
28157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28158 : : STRIP_UNARY (operands[4]))
28159 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28160 : : STRIP_UNARY (operands[3]))
28161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28162 : : STRIP_UNARY (operands[3])))) &&
28163 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28164 : : ( 1)))
28165 : : return NULL;
28166 : : return gen_split_2599 (insn, operands);
28167 : :
28168 : : case 9:
28169 : : if (!((
28170 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28171 : : ((64 == 64 || TARGET_AVX512VL
28172 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28173 : : && ix86_pre_reload_split ()
28174 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28175 : : STRIP_UNARY (operands[4]))
28176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28177 : : STRIP_UNARY (operands[4]))
28178 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28179 : : STRIP_UNARY (operands[3]))
28180 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28181 : : STRIP_UNARY (operands[3])))) &&
28182 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28183 : : (TARGET_AVX512F)) &&
28184 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28185 : : ( 1)))
28186 : : return NULL;
28187 : : return gen_split_2626 (insn, operands);
28188 : :
28189 : : case 10:
28190 : : if (!((
28191 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28192 : : ((32 == 64 || TARGET_AVX512VL
28193 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28194 : : && ix86_pre_reload_split ()
28195 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28196 : : STRIP_UNARY (operands[4]))
28197 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28198 : : STRIP_UNARY (operands[4]))
28199 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28200 : : STRIP_UNARY (operands[3]))
28201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28202 : : STRIP_UNARY (operands[3])))) &&
28203 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28204 : : (TARGET_AVX)) &&
28205 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28206 : : ( 1)))
28207 : : return NULL;
28208 : : return gen_split_2653 (insn, operands);
28209 : :
28210 : : case 11:
28211 : : if (!(
28212 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28213 : : ((16 == 64 || TARGET_AVX512VL
28214 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28215 : : && ix86_pre_reload_split ()
28216 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28217 : : STRIP_UNARY (operands[4]))
28218 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28219 : : STRIP_UNARY (operands[4]))
28220 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28221 : : STRIP_UNARY (operands[3]))
28222 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28223 : : STRIP_UNARY (operands[3])))) &&
28224 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28225 : : ( 1)))
28226 : : return NULL;
28227 : : return gen_split_2680 (insn, operands);
28228 : :
28229 : : default:
28230 : : return NULL;
28231 : : }
28232 : :
28233 : : case IOR:
28234 : : switch (pattern532 (x2))
28235 : : {
28236 : : case 0:
28237 : : if (!((
28238 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28239 : : ((64 == 64 || TARGET_AVX512VL
28240 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28241 : : && ix86_pre_reload_split ()
28242 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28243 : : STRIP_UNARY (operands[4]))
28244 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28245 : : STRIP_UNARY (operands[4]))
28246 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28247 : : STRIP_UNARY (operands[3]))
28248 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28249 : : STRIP_UNARY (operands[3])))) &&
28250 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28251 : : (TARGET_AVX512F)) &&
28252 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28253 : : ( 1)))
28254 : : return NULL;
28255 : : return gen_split_2386 (insn, operands);
28256 : :
28257 : : case 1:
28258 : : if (!((
28259 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28260 : : ((32 == 64 || TARGET_AVX512VL
28261 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28262 : : && ix86_pre_reload_split ()
28263 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28264 : : STRIP_UNARY (operands[4]))
28265 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28266 : : STRIP_UNARY (operands[4]))
28267 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28268 : : STRIP_UNARY (operands[3]))
28269 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28270 : : STRIP_UNARY (operands[3])))) &&
28271 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28272 : : (TARGET_AVX)) &&
28273 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28274 : : ( 1)))
28275 : : return NULL;
28276 : : return gen_split_2413 (insn, operands);
28277 : :
28278 : : case 2:
28279 : : if (!(
28280 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28281 : : ((16 == 64 || TARGET_AVX512VL
28282 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28283 : : && ix86_pre_reload_split ()
28284 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28285 : : STRIP_UNARY (operands[4]))
28286 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28287 : : STRIP_UNARY (operands[4]))
28288 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28289 : : STRIP_UNARY (operands[3]))
28290 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28291 : : STRIP_UNARY (operands[3])))) &&
28292 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28293 : : ( 1)))
28294 : : return NULL;
28295 : : return gen_split_2440 (insn, operands);
28296 : :
28297 : : case 3:
28298 : : if (!((
28299 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28300 : : ((64 == 64 || TARGET_AVX512VL
28301 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28302 : : && ix86_pre_reload_split ()
28303 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28304 : : STRIP_UNARY (operands[4]))
28305 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28306 : : STRIP_UNARY (operands[4]))
28307 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28308 : : STRIP_UNARY (operands[3]))
28309 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28310 : : STRIP_UNARY (operands[3])))) &&
28311 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28312 : : (TARGET_AVX512F)) &&
28313 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28314 : : ( 1)))
28315 : : return NULL;
28316 : : return gen_split_2467 (insn, operands);
28317 : :
28318 : : case 4:
28319 : : if (!((
28320 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28321 : : ((32 == 64 || TARGET_AVX512VL
28322 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28323 : : && ix86_pre_reload_split ()
28324 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28325 : : STRIP_UNARY (operands[4]))
28326 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28327 : : STRIP_UNARY (operands[4]))
28328 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28329 : : STRIP_UNARY (operands[3]))
28330 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28331 : : STRIP_UNARY (operands[3])))) &&
28332 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28333 : : (TARGET_AVX)) &&
28334 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28335 : : ( 1)))
28336 : : return NULL;
28337 : : return gen_split_2494 (insn, operands);
28338 : :
28339 : : case 5:
28340 : : if (!(
28341 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28342 : : ((16 == 64 || TARGET_AVX512VL
28343 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28344 : : && ix86_pre_reload_split ()
28345 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28346 : : STRIP_UNARY (operands[4]))
28347 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28348 : : STRIP_UNARY (operands[4]))
28349 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28350 : : STRIP_UNARY (operands[3]))
28351 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28352 : : STRIP_UNARY (operands[3])))) &&
28353 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28354 : : ( 1)))
28355 : : return NULL;
28356 : : return gen_split_2521 (insn, operands);
28357 : :
28358 : : case 6:
28359 : : if (!((
28360 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28361 : : ((64 == 64 || TARGET_AVX512VL
28362 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28363 : : && ix86_pre_reload_split ()
28364 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28365 : : STRIP_UNARY (operands[4]))
28366 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28367 : : STRIP_UNARY (operands[4]))
28368 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28369 : : STRIP_UNARY (operands[3]))
28370 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28371 : : STRIP_UNARY (operands[3])))) &&
28372 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28373 : : (TARGET_AVX512F)) &&
28374 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28375 : : ( 1)))
28376 : : return NULL;
28377 : : return gen_split_2548 (insn, operands);
28378 : :
28379 : : case 7:
28380 : : if (!((
28381 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28382 : : ((32 == 64 || TARGET_AVX512VL
28383 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28384 : : && ix86_pre_reload_split ()
28385 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28386 : : STRIP_UNARY (operands[4]))
28387 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28388 : : STRIP_UNARY (operands[4]))
28389 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28390 : : STRIP_UNARY (operands[3]))
28391 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28392 : : STRIP_UNARY (operands[3])))) &&
28393 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28394 : : (TARGET_AVX)) &&
28395 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28396 : : ( 1)))
28397 : : return NULL;
28398 : : return gen_split_2575 (insn, operands);
28399 : :
28400 : : case 8:
28401 : : if (!(
28402 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28403 : : ((16 == 64 || TARGET_AVX512VL
28404 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28405 : : && ix86_pre_reload_split ()
28406 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28407 : : STRIP_UNARY (operands[4]))
28408 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28409 : : STRIP_UNARY (operands[4]))
28410 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28411 : : STRIP_UNARY (operands[3]))
28412 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28413 : : STRIP_UNARY (operands[3])))) &&
28414 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28415 : : ( 1)))
28416 : : return NULL;
28417 : : return gen_split_2602 (insn, operands);
28418 : :
28419 : : case 9:
28420 : : if (!((
28421 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28422 : : ((64 == 64 || TARGET_AVX512VL
28423 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28424 : : && ix86_pre_reload_split ()
28425 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28426 : : STRIP_UNARY (operands[4]))
28427 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28428 : : STRIP_UNARY (operands[4]))
28429 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28430 : : STRIP_UNARY (operands[3]))
28431 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28432 : : STRIP_UNARY (operands[3])))) &&
28433 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28434 : : (TARGET_AVX512F)) &&
28435 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28436 : : ( 1)))
28437 : : return NULL;
28438 : : return gen_split_2629 (insn, operands);
28439 : :
28440 : : case 10:
28441 : : if (!((
28442 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28443 : : ((32 == 64 || TARGET_AVX512VL
28444 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28445 : : && ix86_pre_reload_split ()
28446 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28447 : : STRIP_UNARY (operands[4]))
28448 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28449 : : STRIP_UNARY (operands[4]))
28450 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28451 : : STRIP_UNARY (operands[3]))
28452 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28453 : : STRIP_UNARY (operands[3])))) &&
28454 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28455 : : (TARGET_AVX)) &&
28456 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28457 : : ( 1)))
28458 : : return NULL;
28459 : : return gen_split_2656 (insn, operands);
28460 : :
28461 : : case 11:
28462 : : if (!(
28463 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28464 : : ((16 == 64 || TARGET_AVX512VL
28465 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28466 : : && ix86_pre_reload_split ()
28467 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28468 : : STRIP_UNARY (operands[4]))
28469 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28470 : : STRIP_UNARY (operands[4]))
28471 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28472 : : STRIP_UNARY (operands[3]))
28473 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28474 : : STRIP_UNARY (operands[3])))) &&
28475 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28476 : : ( 1)))
28477 : : return NULL;
28478 : : return gen_split_2683 (insn, operands);
28479 : :
28480 : : default:
28481 : : return NULL;
28482 : : }
28483 : :
28484 : : case XOR:
28485 : : x5 = XEXP (x4, 0);
28486 : : operands[1] = x5;
28487 : : x6 = XEXP (x4, 1);
28488 : : operands[2] = x6;
28489 : : x7 = XEXP (x3, 1);
28490 : : operands[3] = x7;
28491 : : switch (GET_MODE (operands[0]))
28492 : : {
28493 : : case E_V64QImode:
28494 : : if (pattern1190 (x2,
28495 : : E_V64QImode) != 0
28496 : : || !((
28497 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28498 : : ((64 == 64 || TARGET_AVX512VL
28499 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28500 : : && ix86_pre_reload_split ()
28501 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28502 : : STRIP_UNARY (operands[4]))
28503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28504 : : STRIP_UNARY (operands[4]))
28505 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28506 : : STRIP_UNARY (operands[3]))
28507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28508 : : STRIP_UNARY (operands[3])))) &&
28509 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28510 : : (TARGET_AVX512F)) &&
28511 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28512 : : ( 1)))
28513 : : return NULL;
28514 : : return gen_split_2389 (insn, operands);
28515 : :
28516 : : case E_V32QImode:
28517 : : if (pattern1000 (x2,
28518 : : E_V32QImode) != 0)
28519 : : return NULL;
28520 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V32QImode)
28521 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V32QImode)
28522 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V32QImode))
28523 : : {
28524 : : x8 = XEXP (x2, 1);
28525 : : operands[4] = x8;
28526 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V32QImode)
28527 : : && ((
28528 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28529 : : ((32 == 64 || TARGET_AVX512VL
28530 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28531 : : && ix86_pre_reload_split ()
28532 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28533 : : STRIP_UNARY (operands[4]))
28534 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28535 : : STRIP_UNARY (operands[4]))
28536 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28537 : : STRIP_UNARY (operands[3]))
28538 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28539 : : STRIP_UNARY (operands[3])))) &&
28540 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28541 : : (TARGET_AVX)) &&
28542 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28543 : : ( 1)))
28544 : : return gen_split_2416 (insn, operands);
28545 : : }
28546 : : if (!register_operand (operands[1], E_V32QImode)
28547 : : || !register_operand (operands[2], E_V32QImode)
28548 : : || !nonimmediate_operand (operands[3], E_V32QImode))
28549 : : return NULL;
28550 : : x8 = XEXP (x2, 1);
28551 : : if (rtx_equal_p (x8, operands[1])
28552 : : &&
28553 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28554 : : (TARGET_XOP))
28555 : : return gen_split_3783 (insn, operands);
28556 : : if (!rtx_equal_p (x8, operands[2])
28557 : : || !
28558 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28559 : : (TARGET_XOP))
28560 : : return NULL;
28561 : : return gen_split_3799 (insn, operands);
28562 : :
28563 : : case E_V16QImode:
28564 : : if (pattern1000 (x2,
28565 : : E_V16QImode) != 0)
28566 : : return NULL;
28567 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V16QImode)
28568 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V16QImode)
28569 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V16QImode))
28570 : : {
28571 : : x8 = XEXP (x2, 1);
28572 : : operands[4] = x8;
28573 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V16QImode)
28574 : : && (
28575 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28576 : : ((16 == 64 || TARGET_AVX512VL
28577 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28578 : : && ix86_pre_reload_split ()
28579 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28580 : : STRIP_UNARY (operands[4]))
28581 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28582 : : STRIP_UNARY (operands[4]))
28583 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28584 : : STRIP_UNARY (operands[3]))
28585 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28586 : : STRIP_UNARY (operands[3])))) &&
28587 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28588 : : ( 1)))
28589 : : return gen_split_2443 (insn, operands);
28590 : : }
28591 : : if (!register_operand (operands[1], E_V16QImode)
28592 : : || !register_operand (operands[2], E_V16QImode)
28593 : : || !nonimmediate_operand (operands[3], E_V16QImode))
28594 : : return NULL;
28595 : : x8 = XEXP (x2, 1);
28596 : : if (rtx_equal_p (x8, operands[1])
28597 : : &&
28598 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28599 : : (TARGET_XOP))
28600 : : return gen_split_3784 (insn, operands);
28601 : : if (!rtx_equal_p (x8, operands[2])
28602 : : || !
28603 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28604 : : (TARGET_XOP))
28605 : : return NULL;
28606 : : return gen_split_3800 (insn, operands);
28607 : :
28608 : : case E_V32HImode:
28609 : : if (pattern1190 (x2,
28610 : : E_V32HImode) != 0
28611 : : || !((
28612 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28613 : : ((64 == 64 || TARGET_AVX512VL
28614 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28615 : : && ix86_pre_reload_split ()
28616 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28617 : : STRIP_UNARY (operands[4]))
28618 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28619 : : STRIP_UNARY (operands[4]))
28620 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28621 : : STRIP_UNARY (operands[3]))
28622 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28623 : : STRIP_UNARY (operands[3])))) &&
28624 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28625 : : (TARGET_AVX512F)) &&
28626 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28627 : : ( 1)))
28628 : : return NULL;
28629 : : return gen_split_2470 (insn, operands);
28630 : :
28631 : : case E_V16HImode:
28632 : : if (pattern1000 (x2,
28633 : : E_V16HImode) != 0)
28634 : : return NULL;
28635 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V16HImode)
28636 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V16HImode)
28637 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V16HImode))
28638 : : {
28639 : : x8 = XEXP (x2, 1);
28640 : : operands[4] = x8;
28641 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V16HImode)
28642 : : && ((
28643 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28644 : : ((32 == 64 || TARGET_AVX512VL
28645 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28646 : : && ix86_pre_reload_split ()
28647 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28648 : : STRIP_UNARY (operands[4]))
28649 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28650 : : STRIP_UNARY (operands[4]))
28651 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28652 : : STRIP_UNARY (operands[3]))
28653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28654 : : STRIP_UNARY (operands[3])))) &&
28655 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28656 : : (TARGET_AVX)) &&
28657 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28658 : : ( 1)))
28659 : : return gen_split_2497 (insn, operands);
28660 : : }
28661 : : if (!register_operand (operands[1], E_V16HImode)
28662 : : || !register_operand (operands[2], E_V16HImode)
28663 : : || !nonimmediate_operand (operands[3], E_V16HImode))
28664 : : return NULL;
28665 : : x8 = XEXP (x2, 1);
28666 : : if (rtx_equal_p (x8, operands[1])
28667 : : &&
28668 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28669 : : (TARGET_XOP))
28670 : : return gen_split_3785 (insn, operands);
28671 : : if (!rtx_equal_p (x8, operands[2])
28672 : : || !
28673 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28674 : : (TARGET_XOP))
28675 : : return NULL;
28676 : : return gen_split_3801 (insn, operands);
28677 : :
28678 : : case E_V8HImode:
28679 : : if (pattern1000 (x2,
28680 : : E_V8HImode) != 0)
28681 : : return NULL;
28682 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V8HImode)
28683 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V8HImode)
28684 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V8HImode))
28685 : : {
28686 : : x8 = XEXP (x2, 1);
28687 : : operands[4] = x8;
28688 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V8HImode)
28689 : : && (
28690 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28691 : : ((16 == 64 || TARGET_AVX512VL
28692 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28693 : : && ix86_pre_reload_split ()
28694 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28695 : : STRIP_UNARY (operands[4]))
28696 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28697 : : STRIP_UNARY (operands[4]))
28698 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28699 : : STRIP_UNARY (operands[3]))
28700 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28701 : : STRIP_UNARY (operands[3])))) &&
28702 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28703 : : ( 1)))
28704 : : return gen_split_2524 (insn, operands);
28705 : : }
28706 : : if (!register_operand (operands[1], E_V8HImode)
28707 : : || !register_operand (operands[2], E_V8HImode)
28708 : : || !nonimmediate_operand (operands[3], E_V8HImode))
28709 : : return NULL;
28710 : : x8 = XEXP (x2, 1);
28711 : : if (rtx_equal_p (x8, operands[1])
28712 : : &&
28713 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28714 : : (TARGET_XOP))
28715 : : return gen_split_3786 (insn, operands);
28716 : : if (!rtx_equal_p (x8, operands[2])
28717 : : || !
28718 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28719 : : (TARGET_XOP))
28720 : : return NULL;
28721 : : return gen_split_3802 (insn, operands);
28722 : :
28723 : : case E_V16SImode:
28724 : : if (pattern1190 (x2,
28725 : : E_V16SImode) != 0
28726 : : || !((
28727 : : #line 14135 "/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 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28740 : : (TARGET_AVX512F)) &&
28741 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28742 : : ( 1)))
28743 : : return NULL;
28744 : : return gen_split_2551 (insn, operands);
28745 : :
28746 : : case E_V8SImode:
28747 : : if (pattern1000 (x2,
28748 : : E_V8SImode) != 0)
28749 : : return NULL;
28750 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V8SImode)
28751 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V8SImode)
28752 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V8SImode))
28753 : : {
28754 : : x8 = XEXP (x2, 1);
28755 : : operands[4] = x8;
28756 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V8SImode)
28757 : : && ((
28758 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28759 : : ((32 == 64 || TARGET_AVX512VL
28760 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28761 : : && ix86_pre_reload_split ()
28762 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28763 : : STRIP_UNARY (operands[4]))
28764 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28765 : : STRIP_UNARY (operands[4]))
28766 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28767 : : STRIP_UNARY (operands[3]))
28768 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28769 : : STRIP_UNARY (operands[3])))) &&
28770 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28771 : : (TARGET_AVX)) &&
28772 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28773 : : ( 1)))
28774 : : return gen_split_2578 (insn, operands);
28775 : : }
28776 : : if (!register_operand (operands[1], E_V8SImode)
28777 : : || !register_operand (operands[2], E_V8SImode)
28778 : : || !nonimmediate_operand (operands[3], E_V8SImode))
28779 : : return NULL;
28780 : : x8 = XEXP (x2, 1);
28781 : : if (rtx_equal_p (x8, operands[1])
28782 : : &&
28783 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28784 : : (TARGET_XOP))
28785 : : return gen_split_3787 (insn, operands);
28786 : : if (!rtx_equal_p (x8, operands[2])
28787 : : || !
28788 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28789 : : (TARGET_XOP))
28790 : : return NULL;
28791 : : return gen_split_3803 (insn, operands);
28792 : :
28793 : : case E_V4SImode:
28794 : : if (pattern1000 (x2,
28795 : : E_V4SImode) != 0)
28796 : : return NULL;
28797 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V4SImode)
28798 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V4SImode)
28799 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V4SImode))
28800 : : {
28801 : : x8 = XEXP (x2, 1);
28802 : : operands[4] = x8;
28803 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V4SImode)
28804 : : && (
28805 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28806 : : ((16 == 64 || TARGET_AVX512VL
28807 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28808 : : && ix86_pre_reload_split ()
28809 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28810 : : STRIP_UNARY (operands[4]))
28811 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28812 : : STRIP_UNARY (operands[4]))
28813 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28814 : : STRIP_UNARY (operands[3]))
28815 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28816 : : STRIP_UNARY (operands[3])))) &&
28817 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28818 : : ( 1)))
28819 : : return gen_split_2605 (insn, operands);
28820 : : }
28821 : : if (!register_operand (operands[1], E_V4SImode)
28822 : : || !register_operand (operands[2], E_V4SImode)
28823 : : || !nonimmediate_operand (operands[3], E_V4SImode))
28824 : : return NULL;
28825 : : x8 = XEXP (x2, 1);
28826 : : if (rtx_equal_p (x8, operands[1])
28827 : : &&
28828 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28829 : : (TARGET_XOP))
28830 : : return gen_split_3788 (insn, operands);
28831 : : if (!rtx_equal_p (x8, operands[2])
28832 : : || !
28833 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28834 : : (TARGET_XOP))
28835 : : return NULL;
28836 : : return gen_split_3804 (insn, operands);
28837 : :
28838 : : case E_V8DImode:
28839 : : if (pattern1190 (x2,
28840 : : E_V8DImode) != 0
28841 : : || !((
28842 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28843 : : ((64 == 64 || TARGET_AVX512VL
28844 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28845 : : && ix86_pre_reload_split ()
28846 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28847 : : STRIP_UNARY (operands[4]))
28848 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28849 : : STRIP_UNARY (operands[4]))
28850 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28851 : : STRIP_UNARY (operands[3]))
28852 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28853 : : STRIP_UNARY (operands[3])))) &&
28854 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28855 : : (TARGET_AVX512F)) &&
28856 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28857 : : ( 1)))
28858 : : return NULL;
28859 : : return gen_split_2632 (insn, operands);
28860 : :
28861 : : case E_V4DImode:
28862 : : if (pattern1000 (x2,
28863 : : E_V4DImode) != 0)
28864 : : return NULL;
28865 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V4DImode)
28866 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V4DImode)
28867 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V4DImode))
28868 : : {
28869 : : x8 = XEXP (x2, 1);
28870 : : operands[4] = x8;
28871 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V4DImode)
28872 : : && ((
28873 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28874 : : ((32 == 64 || TARGET_AVX512VL
28875 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28876 : : && ix86_pre_reload_split ()
28877 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28878 : : STRIP_UNARY (operands[4]))
28879 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28880 : : STRIP_UNARY (operands[4]))
28881 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28882 : : STRIP_UNARY (operands[3]))
28883 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28884 : : STRIP_UNARY (operands[3])))) &&
28885 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28886 : : (TARGET_AVX)) &&
28887 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28888 : : ( 1)))
28889 : : return gen_split_2659 (insn, operands);
28890 : : }
28891 : : if (!register_operand (operands[1], E_V4DImode)
28892 : : || !register_operand (operands[2], E_V4DImode)
28893 : : || !nonimmediate_operand (operands[3], E_V4DImode))
28894 : : return NULL;
28895 : : x8 = XEXP (x2, 1);
28896 : : if (rtx_equal_p (x8, operands[1])
28897 : : &&
28898 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28899 : : (TARGET_XOP))
28900 : : return gen_split_3789 (insn, operands);
28901 : : if (!rtx_equal_p (x8, operands[2])
28902 : : || !
28903 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28904 : : (TARGET_XOP))
28905 : : return NULL;
28906 : : return gen_split_3805 (insn, operands);
28907 : :
28908 : : case E_V2DImode:
28909 : : if (pattern1000 (x2,
28910 : : E_V2DImode) != 0)
28911 : : return NULL;
28912 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V2DImode)
28913 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V2DImode)
28914 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V2DImode))
28915 : : {
28916 : : x8 = XEXP (x2, 1);
28917 : : operands[4] = x8;
28918 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V2DImode)
28919 : : && (
28920 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28921 : : ((16 == 64 || TARGET_AVX512VL
28922 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28923 : : && ix86_pre_reload_split ()
28924 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28925 : : STRIP_UNARY (operands[4]))
28926 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28927 : : STRIP_UNARY (operands[4]))
28928 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28929 : : STRIP_UNARY (operands[3]))
28930 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28931 : : STRIP_UNARY (operands[3])))) &&
28932 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28933 : : ( 1)))
28934 : : return gen_split_2686 (insn, operands);
28935 : : }
28936 : : if (!register_operand (operands[1], E_V2DImode)
28937 : : || !register_operand (operands[2], E_V2DImode)
28938 : : || !nonimmediate_operand (operands[3], E_V2DImode))
28939 : : return NULL;
28940 : : x8 = XEXP (x2, 1);
28941 : : if (rtx_equal_p (x8, operands[1])
28942 : : &&
28943 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28944 : : (TARGET_XOP))
28945 : : return gen_split_3790 (insn, operands);
28946 : : if (!rtx_equal_p (x8, operands[2])
28947 : : || !
28948 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28949 : : (TARGET_XOP))
28950 : : return NULL;
28951 : : return gen_split_3806 (insn, operands);
28952 : :
28953 : : case E_V2TImode:
28954 : : if (pattern1191 (x2,
28955 : : E_V2TImode) != 0)
28956 : : return NULL;
28957 : : x8 = XEXP (x2, 1);
28958 : : if (rtx_equal_p (x8, operands[1])
28959 : : &&
28960 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28961 : : (TARGET_XOP))
28962 : : return gen_split_3791 (insn, operands);
28963 : : if (!rtx_equal_p (x8, operands[2])
28964 : : || !
28965 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28966 : : (TARGET_XOP))
28967 : : return NULL;
28968 : : return gen_split_3807 (insn, operands);
28969 : :
28970 : : case E_V1TImode:
28971 : : if (pattern1191 (x2,
28972 : : E_V1TImode) != 0)
28973 : : return NULL;
28974 : : x8 = XEXP (x2, 1);
28975 : : if (rtx_equal_p (x8, operands[1])
28976 : : &&
28977 : : #line 26552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28978 : : (TARGET_XOP))
28979 : : return gen_split_3792 (insn, operands);
28980 : : if (!rtx_equal_p (x8, operands[2])
28981 : : || !
28982 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28983 : : (TARGET_XOP))
28984 : : return NULL;
28985 : : return gen_split_3808 (insn, operands);
28986 : :
28987 : : default:
28988 : : return NULL;
28989 : : }
28990 : :
28991 : : default:
28992 : : return NULL;
28993 : : }
28994 : : }
28995 : :
28996 : : rtx_insn *
28997 : : split_85 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28998 : : {
28999 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
29000 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
29001 : : rtx x10, x11, x12, x13;
29002 : : rtx_insn *res ATTRIBUTE_UNUSED;
29003 : : x2 = XEXP (x1, 1);
29004 : : x3 = XEXP (x2, 0);
29005 : : switch (GET_CODE (x3))
29006 : : {
29007 : : case UNSPEC:
29008 : : if (XVECLEN (x3, 0) != 1
29009 : : || XINT (x3, 1) != 178)
29010 : : return NULL;
29011 : : x4 = XEXP (x2, 2);
29012 : : if (GET_CODE (x4) != AND
29013 : : || GET_MODE (x4) != E_QImode)
29014 : : return NULL;
29015 : : x5 = XEXP (x4, 1);
29016 : : if (GET_CODE (x5) != CONST_INT)
29017 : : return NULL;
29018 : : x6 = XVECEXP (x3, 0, 0);
29019 : : operands[1] = x6;
29020 : : x7 = XEXP (x2, 1);
29021 : : operands[2] = x7;
29022 : : switch (pattern1104 (x2))
29023 : : {
29024 : : case 0:
29025 : : if (!((
29026 : : #line 1631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29027 : : (TARGET_AVX512F) &&
29028 : : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29029 : : (TARGET_AVX512VL)) &&
29030 : : #line 1633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29031 : : ( 1)))
29032 : : return NULL;
29033 : : return gen_split_1212 (insn, operands);
29034 : :
29035 : : case 1:
29036 : : if (!((
29037 : : #line 1631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29038 : : (TARGET_AVX512F) &&
29039 : : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29040 : : (TARGET_AVX512VL)) &&
29041 : : #line 1633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29042 : : ( 1)))
29043 : : return NULL;
29044 : : return gen_split_1213 (insn, operands);
29045 : :
29046 : : case 2:
29047 : : if (!((
29048 : : #line 1631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29049 : : (TARGET_AVX512F) &&
29050 : : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29051 : : (TARGET_AVX512VL)) &&
29052 : : #line 1633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29053 : : ( 1)))
29054 : : return NULL;
29055 : : return gen_split_1214 (insn, operands);
29056 : :
29057 : : case 3:
29058 : : if (!((
29059 : : #line 1631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29060 : : (TARGET_AVX512F) &&
29061 : : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29062 : : (TARGET_AVX512VL)) &&
29063 : : #line 1633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29064 : : ( 1)))
29065 : : return NULL;
29066 : : return gen_split_1215 (insn, operands);
29067 : :
29068 : : case 4:
29069 : : if (!((
29070 : : #line 1650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29071 : : (TARGET_AVX512F) &&
29072 : : #line 523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29073 : : (TARGET_AVX512VL)) &&
29074 : : #line 1652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29075 : : ( 1)))
29076 : : return NULL;
29077 : : return gen_split_1216 (insn, operands);
29078 : :
29079 : : case 5:
29080 : : if (!((
29081 : : #line 1650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29082 : : (TARGET_AVX512F) &&
29083 : : #line 523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29084 : : (TARGET_AVX512VL)) &&
29085 : : #line 1652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29086 : : ( 1)))
29087 : : return NULL;
29088 : : return gen_split_1217 (insn, operands);
29089 : :
29090 : : default:
29091 : : return NULL;
29092 : : }
29093 : :
29094 : : case MINUS:
29095 : : x7 = XEXP (x2, 1);
29096 : : if (GET_CODE (x7) != PLUS)
29097 : : return NULL;
29098 : : operands[6] = x2;
29099 : : x8 = XEXP (x3, 0);
29100 : : operands[1] = x8;
29101 : : x9 = XEXP (x3, 1);
29102 : : operands[2] = x9;
29103 : : x10 = XEXP (x7, 0);
29104 : : operands[3] = x10;
29105 : : x11 = XEXP (x7, 1);
29106 : : operands[4] = x11;
29107 : : x4 = XEXP (x2, 2);
29108 : : operands[5] = x4;
29109 : : if (!const_int_operand (operands[5], E_VOIDmode))
29110 : : return NULL;
29111 : : switch (GET_MODE (operands[0]))
29112 : : {
29113 : : case E_V8SFmode:
29114 : : if (pattern1449 (x2,
29115 : : E_V8SFmode) != 0
29116 : : || !(
29117 : : #line 3556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29118 : : (TARGET_SSE3
29119 : : && can_create_pseudo_p ()
29120 : : && ((rtx_equal_p (operands[1], operands[3])
29121 : : && rtx_equal_p (operands[2], operands[4]))
29122 : : || (rtx_equal_p (operands[1], operands[4])
29123 : : && rtx_equal_p (operands[2], operands[3])))) &&
29124 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29125 : : (TARGET_AVX)))
29126 : : return NULL;
29127 : : return gen_split_1350 (insn, operands);
29128 : :
29129 : : case E_V4SFmode:
29130 : : if (pattern1449 (x2,
29131 : : E_V4SFmode) != 0
29132 : : || !
29133 : : #line 3556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29134 : : (TARGET_SSE3
29135 : : && can_create_pseudo_p ()
29136 : : && ((rtx_equal_p (operands[1], operands[3])
29137 : : && rtx_equal_p (operands[2], operands[4]))
29138 : : || (rtx_equal_p (operands[1], operands[4])
29139 : : && rtx_equal_p (operands[2], operands[3])))))
29140 : : return NULL;
29141 : : return gen_split_1351 (insn, operands);
29142 : :
29143 : : case E_V4DFmode:
29144 : : if (pattern1449 (x2,
29145 : : E_V4DFmode) != 0
29146 : : || !(
29147 : : #line 3556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29148 : : (TARGET_SSE3
29149 : : && can_create_pseudo_p ()
29150 : : && ((rtx_equal_p (operands[1], operands[3])
29151 : : && rtx_equal_p (operands[2], operands[4]))
29152 : : || (rtx_equal_p (operands[1], operands[4])
29153 : : && rtx_equal_p (operands[2], operands[3])))) &&
29154 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29155 : : (TARGET_AVX)))
29156 : : return NULL;
29157 : : return gen_split_1352 (insn, operands);
29158 : :
29159 : : case E_V2DFmode:
29160 : : if (pattern1449 (x2,
29161 : : E_V2DFmode) != 0
29162 : : || !(
29163 : : #line 3556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29164 : : (TARGET_SSE3
29165 : : && can_create_pseudo_p ()
29166 : : && ((rtx_equal_p (operands[1], operands[3])
29167 : : && rtx_equal_p (operands[2], operands[4]))
29168 : : || (rtx_equal_p (operands[1], operands[4])
29169 : : && rtx_equal_p (operands[2], operands[3])))) &&
29170 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29171 : : (TARGET_SSE2)))
29172 : : return NULL;
29173 : : return gen_split_1353 (insn, operands);
29174 : :
29175 : : default:
29176 : : return NULL;
29177 : : }
29178 : :
29179 : : case PLUS:
29180 : : x7 = XEXP (x2, 1);
29181 : : if (GET_CODE (x7) != MINUS)
29182 : : return NULL;
29183 : : operands[6] = x2;
29184 : : x8 = XEXP (x3, 0);
29185 : : operands[1] = x8;
29186 : : x9 = XEXP (x3, 1);
29187 : : operands[2] = x9;
29188 : : x10 = XEXP (x7, 0);
29189 : : operands[3] = x10;
29190 : : x11 = XEXP (x7, 1);
29191 : : operands[4] = x11;
29192 : : x4 = XEXP (x2, 2);
29193 : : operands[5] = x4;
29194 : : if (!const_int_operand (operands[5], E_VOIDmode))
29195 : : return NULL;
29196 : : switch (GET_MODE (operands[0]))
29197 : : {
29198 : : case E_V8SFmode:
29199 : : if (pattern1450 (x2,
29200 : : E_V8SFmode) != 0
29201 : : || !(
29202 : : #line 3578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29203 : : (TARGET_SSE3
29204 : : && can_create_pseudo_p ()
29205 : : && ((rtx_equal_p (operands[1], operands[3])
29206 : : && rtx_equal_p (operands[2], operands[4]))
29207 : : || (rtx_equal_p (operands[1], operands[4])
29208 : : && rtx_equal_p (operands[2], operands[3])))) &&
29209 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29210 : : (TARGET_AVX)))
29211 : : return NULL;
29212 : : return gen_split_1354 (insn, operands);
29213 : :
29214 : : case E_V4SFmode:
29215 : : if (pattern1450 (x2,
29216 : : E_V4SFmode) != 0
29217 : : || !
29218 : : #line 3578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29219 : : (TARGET_SSE3
29220 : : && can_create_pseudo_p ()
29221 : : && ((rtx_equal_p (operands[1], operands[3])
29222 : : && rtx_equal_p (operands[2], operands[4]))
29223 : : || (rtx_equal_p (operands[1], operands[4])
29224 : : && rtx_equal_p (operands[2], operands[3])))))
29225 : : return NULL;
29226 : : return gen_split_1355 (insn, operands);
29227 : :
29228 : : case E_V4DFmode:
29229 : : if (pattern1450 (x2,
29230 : : E_V4DFmode) != 0
29231 : : || !(
29232 : : #line 3578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29233 : : (TARGET_SSE3
29234 : : && can_create_pseudo_p ()
29235 : : && ((rtx_equal_p (operands[1], operands[3])
29236 : : && rtx_equal_p (operands[2], operands[4]))
29237 : : || (rtx_equal_p (operands[1], operands[4])
29238 : : && rtx_equal_p (operands[2], operands[3])))) &&
29239 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29240 : : (TARGET_AVX)))
29241 : : return NULL;
29242 : : return gen_split_1356 (insn, operands);
29243 : :
29244 : : case E_V2DFmode:
29245 : : if (pattern1450 (x2,
29246 : : E_V2DFmode) != 0
29247 : : || !(
29248 : : #line 3578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29249 : : (TARGET_SSE3
29250 : : && can_create_pseudo_p ()
29251 : : && ((rtx_equal_p (operands[1], operands[3])
29252 : : && rtx_equal_p (operands[2], operands[4]))
29253 : : || (rtx_equal_p (operands[1], operands[4])
29254 : : && rtx_equal_p (operands[2], operands[3])))) &&
29255 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29256 : : (TARGET_SSE2)))
29257 : : return NULL;
29258 : : return gen_split_1357 (insn, operands);
29259 : :
29260 : : default:
29261 : : return NULL;
29262 : : }
29263 : :
29264 : : case CONST_INT:
29265 : : case CONST_DOUBLE:
29266 : : case CONST_VECTOR:
29267 : : case REG:
29268 : : case SUBREG:
29269 : : case MEM:
29270 : : return split_61 (x1, insn);
29271 : :
29272 : : case VEC_DUPLICATE:
29273 : : x8 = XEXP (x3, 0);
29274 : : switch (GET_CODE (x8))
29275 : : {
29276 : : case VEC_SELECT:
29277 : : x12 = XEXP (x8, 1);
29278 : : if (GET_CODE (x12) != PARALLEL
29279 : : || XVECLEN (x12, 0) != 1)
29280 : : return NULL;
29281 : : x13 = XVECEXP (x12, 0, 0);
29282 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
29283 : : return NULL;
29284 : : x4 = XEXP (x2, 2);
29285 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
29286 : : return NULL;
29287 : : switch (pattern1007 (x2))
29288 : : {
29289 : : case 0:
29290 : : if (!(
29291 : : #line 12314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29292 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
29293 : : #line 12316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29294 : : ( 1)))
29295 : : return NULL;
29296 : : return gen_split_1614 (insn, operands);
29297 : :
29298 : : case 1:
29299 : : if (!(
29300 : : #line 12314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29301 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
29302 : : #line 12316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29303 : : ( 1)))
29304 : : return NULL;
29305 : : return gen_split_1615 (insn, operands);
29306 : :
29307 : : case 2:
29308 : : if (!(
29309 : : #line 12314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29310 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
29311 : : #line 12316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29312 : : ( 1)))
29313 : : return NULL;
29314 : : return gen_split_1616 (insn, operands);
29315 : :
29316 : : default:
29317 : : return NULL;
29318 : : }
29319 : :
29320 : : case ZERO_EXTEND:
29321 : : switch (pattern314 (x2))
29322 : : {
29323 : : case 0:
29324 : : if (!((
29325 : : #line 12354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29326 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
29327 : : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29328 : : (TARGET_AVX512F)) &&
29329 : : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29330 : : ( 1)))
29331 : : return NULL;
29332 : : return gen_split_1617 (insn, operands);
29333 : :
29334 : : case 1:
29335 : : if (!(
29336 : : #line 12354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29337 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
29338 : : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29339 : : ( 1)))
29340 : : return NULL;
29341 : : return gen_split_1618 (insn, operands);
29342 : :
29343 : : case 2:
29344 : : if (!(
29345 : : #line 12354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29346 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
29347 : : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29348 : : ( 1)))
29349 : : return NULL;
29350 : : return gen_split_1619 (insn, operands);
29351 : :
29352 : : case 3:
29353 : : if (!((
29354 : : #line 12354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29355 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
29356 : : #line 791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29357 : : (TARGET_AVX512F)) &&
29358 : : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29359 : : ( 1)))
29360 : : return NULL;
29361 : : return gen_split_1620 (insn, operands);
29362 : :
29363 : : case 4:
29364 : : if (!((
29365 : : #line 12468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29366 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
29367 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29368 : : (TARGET_AVX512F)) &&
29369 : : #line 12470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29370 : : ( 1)))
29371 : : return NULL;
29372 : : return gen_split_1624 (insn, operands);
29373 : :
29374 : : case 5:
29375 : : if (!(
29376 : : #line 12354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29377 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
29378 : : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29379 : : ( 1)))
29380 : : return NULL;
29381 : : return gen_split_1621 (insn, operands);
29382 : :
29383 : : case 6:
29384 : : if (!((
29385 : : #line 12468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29386 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
29387 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29388 : : (TARGET_AVX)) &&
29389 : : #line 12470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29390 : : ( 1)))
29391 : : return NULL;
29392 : : return gen_split_1625 (insn, operands);
29393 : :
29394 : : case 7:
29395 : : if (!(
29396 : : #line 12354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29397 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
29398 : : #line 12356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29399 : : ( 1)))
29400 : : return NULL;
29401 : : return gen_split_1622 (insn, operands);
29402 : :
29403 : : case 8:
29404 : : if (!(
29405 : : #line 12468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29406 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
29407 : : #line 12470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29408 : : ( 1)))
29409 : : return NULL;
29410 : : return gen_split_1626 (insn, operands);
29411 : :
29412 : : default:
29413 : : return NULL;
29414 : : }
29415 : :
29416 : : case CONST_INT:
29417 : : case CONST_WIDE_INT:
29418 : : case CONST_POLY_INT:
29419 : : case CONST_FIXED:
29420 : : case CONST_DOUBLE:
29421 : : case CONST_VECTOR:
29422 : : case CONST:
29423 : : case REG:
29424 : : case SUBREG:
29425 : : case LABEL_REF:
29426 : : case SYMBOL_REF:
29427 : : case HIGH:
29428 : : x7 = XEXP (x2, 1);
29429 : : switch (GET_CODE (x7))
29430 : : {
29431 : : case SUBREG:
29432 : : case MEM:
29433 : : if (!rtx_equal_p (x7, operands[0]))
29434 : : return NULL;
29435 : : x4 = XEXP (x2, 2);
29436 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
29437 : : return NULL;
29438 : : operands[1] = x8;
29439 : : switch (GET_MODE (operands[0]))
29440 : : {
29441 : : case E_V4SImode:
29442 : : if (pattern1189 (x2,
29443 : : E_SImode,
29444 : : E_V4SImode) != 0
29445 : : || !
29446 : : #line 12544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29447 : : (TARGET_SSE && reload_completed))
29448 : : return NULL;
29449 : : return gen_split_1628 (insn, operands);
29450 : :
29451 : : case E_V4SFmode:
29452 : : if (pattern1189 (x2,
29453 : : E_SFmode,
29454 : : E_V4SFmode) != 0
29455 : : || !
29456 : : #line 12544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29457 : : (TARGET_SSE && reload_completed))
29458 : : return NULL;
29459 : : return gen_split_1629 (insn, operands);
29460 : :
29461 : : default:
29462 : : return NULL;
29463 : : }
29464 : :
29465 : : case REG:
29466 : : operands[1] = x7;
29467 : : operands[2] = x8;
29468 : : x4 = XEXP (x2, 2);
29469 : : operands[3] = x4;
29470 : : if (!const_int_operand (operands[3], E_SImode))
29471 : : return NULL;
29472 : : switch (GET_MODE (operands[0]))
29473 : : {
29474 : : case E_V8HImode:
29475 : : if (pattern1065 (x2,
29476 : : E_V8HImode,
29477 : : E_HImode) != 0
29478 : : || !
29479 : : #line 20235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29480 : : (TARGET_AVX2 && reload_completed
29481 : : && INTVAL (operands[3]) > 1
29482 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
29483 : : < GET_MODE_NUNITS (V8HImode))))
29484 : : return NULL;
29485 : : return gen_split_3466 (insn, operands);
29486 : :
29487 : : case E_V8HFmode:
29488 : : if (pattern1065 (x2,
29489 : : E_V8HFmode,
29490 : : E_HFmode) != 0
29491 : : || !
29492 : : #line 20235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29493 : : (TARGET_AVX2 && reload_completed
29494 : : && INTVAL (operands[3]) > 1
29495 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
29496 : : < GET_MODE_NUNITS (V8HFmode))))
29497 : : return NULL;
29498 : : return gen_split_3467 (insn, operands);
29499 : :
29500 : : case E_V8BFmode:
29501 : : if (pattern1065 (x2,
29502 : : E_V8BFmode,
29503 : : E_BFmode) != 0
29504 : : || !
29505 : : #line 20235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29506 : : (TARGET_AVX2 && reload_completed
29507 : : && INTVAL (operands[3]) > 1
29508 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
29509 : : < GET_MODE_NUNITS (V8BFmode))))
29510 : : return NULL;
29511 : : return gen_split_3468 (insn, operands);
29512 : :
29513 : : default:
29514 : : return NULL;
29515 : : }
29516 : :
29517 : : default:
29518 : : return NULL;
29519 : : }
29520 : :
29521 : : default:
29522 : : return NULL;
29523 : : }
29524 : :
29525 : : default:
29526 : : return NULL;
29527 : : }
29528 : : }
29529 : :
29530 : : rtx_insn *
29531 : : split_87 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
29532 : : {
29533 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
29534 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
29535 : : rtx x10, x11, x12, x13, x14;
29536 : : rtx_insn *res ATTRIBUTE_UNUSED;
29537 : : x2 = XEXP (x1, 1);
29538 : : operands[1] = x2;
29539 : : res = split_84 (x1, insn);
29540 : : if (res != NULL_RTX)
29541 : : return res;
29542 : : switch (GET_CODE (x2))
29543 : : {
29544 : : case UNSPEC:
29545 : : return split_81 (x1, insn);
29546 : :
29547 : : case VEC_MERGE:
29548 : : return split_85 (x1, insn);
29549 : :
29550 : : case VEC_SELECT:
29551 : : return split_83 (x1, insn);
29552 : :
29553 : : case AND:
29554 : : case IOR:
29555 : : case XOR:
29556 : : case NOT:
29557 : : return split_82 (x1, insn);
29558 : :
29559 : : case PLUS:
29560 : : x3 = XEXP (x2, 0);
29561 : : if (GET_CODE (x3) != UNSPEC)
29562 : : return NULL;
29563 : : switch (pattern192 (x2))
29564 : : {
29565 : : case 0:
29566 : : if (!(
29567 : : #line 7469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29568 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29569 : : && ix86_pre_reload_split ()) &&
29570 : : #line 7472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29571 : : ( 1)))
29572 : : return NULL;
29573 : : return gen_split_1574 (insn, operands);
29574 : :
29575 : : case 1:
29576 : : if (!((
29577 : : #line 7469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29578 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29579 : : && ix86_pre_reload_split ()) &&
29580 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29581 : : (TARGET_AVX512VL)) &&
29582 : : #line 7472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29583 : : ( 1)))
29584 : : return NULL;
29585 : : return gen_split_1575 (insn, operands);
29586 : :
29587 : : case 2:
29588 : : if (!((
29589 : : #line 7469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29590 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29591 : : && ix86_pre_reload_split ()) &&
29592 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29593 : : (TARGET_AVX512VL)) &&
29594 : : #line 7472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29595 : : ( 1)))
29596 : : return NULL;
29597 : : return gen_split_1576 (insn, operands);
29598 : :
29599 : : case 3:
29600 : : if (!(
29601 : : #line 7486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29602 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29603 : : && ix86_pre_reload_split ()) &&
29604 : : #line 7489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29605 : : ( 1)))
29606 : : return NULL;
29607 : : return gen_split_1577 (insn, operands);
29608 : :
29609 : : case 4:
29610 : : if (!((
29611 : : #line 7486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29612 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29613 : : && ix86_pre_reload_split ()) &&
29614 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29615 : : (TARGET_AVX512VL)) &&
29616 : : #line 7489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29617 : : ( 1)))
29618 : : return NULL;
29619 : : return gen_split_1578 (insn, operands);
29620 : :
29621 : : case 5:
29622 : : if (!((
29623 : : #line 7486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29624 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29625 : : && ix86_pre_reload_split ()) &&
29626 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29627 : : (TARGET_AVX512VL)) &&
29628 : : #line 7489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29629 : : ( 1)))
29630 : : return NULL;
29631 : : return gen_split_1579 (insn, operands);
29632 : :
29633 : : case 6:
29634 : : if (!(
29635 : : #line 7504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29636 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29637 : : && ix86_pre_reload_split ()) &&
29638 : : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29639 : : ( 1)))
29640 : : return NULL;
29641 : : return gen_split_1580 (insn, operands);
29642 : :
29643 : : case 7:
29644 : : if (!((
29645 : : #line 7504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29646 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29647 : : && ix86_pre_reload_split ()) &&
29648 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29649 : : (TARGET_AVX512VL)) &&
29650 : : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29651 : : ( 1)))
29652 : : return NULL;
29653 : : return gen_split_1582 (insn, operands);
29654 : :
29655 : : case 8:
29656 : : if (!((
29657 : : #line 7504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29658 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29659 : : && ix86_pre_reload_split ()) &&
29660 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29661 : : (TARGET_AVX512VL)) &&
29662 : : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29663 : : ( 1)))
29664 : : return NULL;
29665 : : return gen_split_1584 (insn, operands);
29666 : :
29667 : : case 9:
29668 : : if (!(
29669 : : #line 7504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29670 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29671 : : && ix86_pre_reload_split ()) &&
29672 : : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29673 : : ( 1)))
29674 : : return NULL;
29675 : : return gen_split_1581 (insn, operands);
29676 : :
29677 : : case 10:
29678 : : if (!((
29679 : : #line 7504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29680 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29681 : : && ix86_pre_reload_split ()) &&
29682 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29683 : : (TARGET_AVX512VL)) &&
29684 : : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29685 : : ( 1)))
29686 : : return NULL;
29687 : : return gen_split_1583 (insn, operands);
29688 : :
29689 : : case 11:
29690 : : if (!((
29691 : : #line 7504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29692 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
29693 : : && ix86_pre_reload_split ()) &&
29694 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29695 : : (TARGET_AVX512VL)) &&
29696 : : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29697 : : ( 1)))
29698 : : return NULL;
29699 : : return gen_split_1585 (insn, operands);
29700 : :
29701 : : default:
29702 : : return NULL;
29703 : : }
29704 : :
29705 : : case VEC_CONCAT:
29706 : : x3 = XEXP (x2, 0);
29707 : : switch (GET_CODE (x3))
29708 : : {
29709 : : case ZERO_EXTEND:
29710 : : switch (pattern187 (x2))
29711 : : {
29712 : : case 0:
29713 : : if (!(
29714 : : #line 12374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29715 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
29716 : : #line 12376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29717 : : ( 1)))
29718 : : return NULL;
29719 : : return gen_split_1623 (insn, operands);
29720 : :
29721 : : case 1:
29722 : : if (!(
29723 : : #line 12488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29724 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
29725 : : #line 12490 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29726 : : ( 1)))
29727 : : return NULL;
29728 : : return gen_split_1627 (insn, operands);
29729 : :
29730 : : default:
29731 : : return NULL;
29732 : : }
29733 : :
29734 : : case VEC_SELECT:
29735 : : if (GET_MODE (x3) != E_DFmode)
29736 : : return NULL;
29737 : : x4 = XEXP (x3, 1);
29738 : : if (GET_CODE (x4) != PARALLEL
29739 : : || XVECLEN (x4, 0) != 1)
29740 : : return NULL;
29741 : : x5 = XVECEXP (x4, 0, 0);
29742 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
29743 : : || !memory_operand (operands[0], E_V2DFmode)
29744 : : || GET_MODE (x2) != E_V2DFmode)
29745 : : return NULL;
29746 : : x6 = XEXP (x2, 1);
29747 : : operands[1] = x6;
29748 : : if (!register_operand (operands[1], E_DFmode))
29749 : : return NULL;
29750 : : x7 = XEXP (x3, 0);
29751 : : if (!rtx_equal_p (x7, operands[0])
29752 : : || !
29753 : : #line 15024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29754 : : (TARGET_SSE2 && reload_completed))
29755 : : return NULL;
29756 : : return gen_split_3249 (insn, operands);
29757 : :
29758 : : case REG:
29759 : : case SUBREG:
29760 : : case MEM:
29761 : : operands[1] = x3;
29762 : : res = split_80 (x1, insn);
29763 : : if (res != NULL_RTX)
29764 : : return res;
29765 : : if (GET_CODE (x3) != SUBREG
29766 : : || maybe_ne (SUBREG_BYTE (x3), 0))
29767 : : return NULL;
29768 : : x6 = XEXP (x2, 1);
29769 : : if (GET_CODE (x6) != SUBREG)
29770 : : return NULL;
29771 : : x7 = XEXP (x3, 0);
29772 : : switch (GET_CODE (x7))
29773 : : {
29774 : : case REG:
29775 : : case SUBREG:
29776 : : operands[1] = x7;
29777 : : if (!register_operand (operands[1], E_TImode)
29778 : : || maybe_ne (SUBREG_BYTE (x6), 8)
29779 : : || GET_MODE (x6) != E_DImode
29780 : : || !register_operand (operands[0], E_V2DImode)
29781 : : || GET_MODE (x2) != E_V2DImode
29782 : : || GET_MODE (x3) != E_DImode)
29783 : : return NULL;
29784 : : x8 = XEXP (x6, 0);
29785 : : if (!rtx_equal_p (x8, operands[1])
29786 : : || !
29787 : : #line 22013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29788 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
29789 : : return NULL;
29790 : : return gen_split_3486 (insn, operands);
29791 : :
29792 : : case UNSPEC:
29793 : : if (XVECLEN (x7, 0) != 1
29794 : : || XINT (x7, 1) != 120
29795 : : || GET_MODE (x7) != E_V16QImode
29796 : : || pattern1256 (x6) != 0
29797 : : || !register_operand (operands[0], E_V4DImode)
29798 : : || GET_MODE (x2) != E_V4DImode
29799 : : || GET_MODE (x3) != E_V2DImode)
29800 : : return NULL;
29801 : : x9 = XVECEXP (x7, 0, 0);
29802 : : operands[1] = x9;
29803 : : if (!memory_operand (operands[1], E_V16QImode))
29804 : : return NULL;
29805 : : x8 = XEXP (x6, 0);
29806 : : x10 = XVECEXP (x8, 0, 0);
29807 : : if (!rtx_equal_p (x10, operands[1])
29808 : : || !(
29809 : : #line 28307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29810 : : (TARGET_AVX2 && ix86_pre_reload_split ()) &&
29811 : : #line 28309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29812 : : ( 1)))
29813 : : return NULL;
29814 : : return gen_split_3818 (insn, operands);
29815 : :
29816 : : default:
29817 : : return NULL;
29818 : : }
29819 : :
29820 : : case VEC_CONCAT:
29821 : : if (pattern415 (x2) != 0)
29822 : : return NULL;
29823 : : x7 = XEXP (x3, 0);
29824 : : operands[1] = x7;
29825 : : switch (GET_MODE (operands[0]))
29826 : : {
29827 : : case E_V16SImode:
29828 : : if (pattern1485 (x2,
29829 : : E_V8SImode,
29830 : : E_V4SImode,
29831 : : E_V16SImode) != 0
29832 : : || !(
29833 : : #line 30548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29834 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
29835 : : #line 30550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29836 : : ( reload_completed)))
29837 : : return NULL;
29838 : : return gen_split_3910 (insn, operands);
29839 : :
29840 : : case E_V16SFmode:
29841 : : if (pattern1485 (x2,
29842 : : E_V8SFmode,
29843 : : E_V4SFmode,
29844 : : E_V16SFmode) != 0
29845 : : || !(
29846 : : #line 30548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29847 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
29848 : : #line 30550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29849 : : ( reload_completed)))
29850 : : return NULL;
29851 : : return gen_split_3911 (insn, operands);
29852 : :
29853 : : case E_V8DFmode:
29854 : : if (pattern1485 (x2,
29855 : : E_V4DFmode,
29856 : : E_V2DFmode,
29857 : : E_V8DFmode) != 0
29858 : : || !(
29859 : : #line 30548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29860 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
29861 : : #line 30550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29862 : : ( reload_completed)))
29863 : : return NULL;
29864 : : return gen_split_3912 (insn, operands);
29865 : :
29866 : : default:
29867 : : return NULL;
29868 : : }
29869 : :
29870 : : default:
29871 : : return NULL;
29872 : : }
29873 : :
29874 : : case EQ:
29875 : : x3 = XEXP (x2, 0);
29876 : : switch (GET_CODE (x3))
29877 : : {
29878 : : case US_MINUS:
29879 : : x7 = XEXP (x3, 0);
29880 : : operands[1] = x7;
29881 : : x4 = XEXP (x3, 1);
29882 : : operands[2] = x4;
29883 : : x6 = XEXP (x2, 1);
29884 : : operands[3] = x6;
29885 : : switch (GET_MODE (operands[0]))
29886 : : {
29887 : : case E_V32QImode:
29888 : : if (pattern952 (x2,
29889 : : E_V32QImode) != 0
29890 : : || !(
29891 : : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29892 : : (TARGET_SSE2
29893 : : && (V32QImode != V8HImode || TARGET_SSE4_1)
29894 : : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) &&
29895 : : #line 723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29896 : : (TARGET_AVX2)))
29897 : : return NULL;
29898 : : return gen_split_3292 (insn, operands);
29899 : :
29900 : : case E_V16QImode:
29901 : : if (pattern952 (x2,
29902 : : E_V16QImode) != 0
29903 : : || !
29904 : : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29905 : : (TARGET_SSE2
29906 : : && (V16QImode != V8HImode || TARGET_SSE4_1)
29907 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)))
29908 : : return NULL;
29909 : : return gen_split_3293 (insn, operands);
29910 : :
29911 : : case E_V16HImode:
29912 : : if (pattern952 (x2,
29913 : : E_V16HImode) != 0
29914 : : || !(
29915 : : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29916 : : (TARGET_SSE2
29917 : : && (V16HImode != V8HImode || TARGET_SSE4_1)
29918 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) &&
29919 : : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29920 : : (TARGET_AVX2)))
29921 : : return NULL;
29922 : : return gen_split_3294 (insn, operands);
29923 : :
29924 : : case E_V8HImode:
29925 : : if (pattern952 (x2,
29926 : : E_V8HImode) != 0
29927 : : || !
29928 : : #line 16610 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29929 : : (TARGET_SSE2
29930 : : && (V8HImode != V8HImode || TARGET_SSE4_1)
29931 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)))
29932 : : return NULL;
29933 : : return gen_split_3295 (insn, operands);
29934 : :
29935 : : default:
29936 : : return NULL;
29937 : : }
29938 : :
29939 : : case EQ:
29940 : : x4 = XEXP (x3, 1);
29941 : : operands[3] = x4;
29942 : : x6 = XEXP (x2, 1);
29943 : : operands[4] = x6;
29944 : : x7 = XEXP (x3, 0);
29945 : : switch (GET_CODE (x7))
29946 : : {
29947 : : case LSHIFTRT:
29948 : : x11 = XEXP (x7, 0);
29949 : : operands[1] = x11;
29950 : : x12 = XEXP (x7, 1);
29951 : : operands[2] = x12;
29952 : : if (!const_int_operand (operands[2], E_SImode))
29953 : : return NULL;
29954 : : switch (GET_MODE (operands[0]))
29955 : : {
29956 : : case E_V16HImode:
29957 : : if (pattern1257 (x2,
29958 : : E_V16HImode) != 0
29959 : : || !(
29960 : : #line 17804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29961 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (HImode) - 1) &&
29962 : : #line 762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29963 : : (TARGET_AVX2)))
29964 : : return NULL;
29965 : : return gen_split_3340 (insn, operands);
29966 : :
29967 : : case E_V8HImode:
29968 : : if (pattern1257 (x2,
29969 : : E_V8HImode) != 0
29970 : : || !
29971 : : #line 17804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29972 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (HImode) - 1))
29973 : : return NULL;
29974 : : return gen_split_3341 (insn, operands);
29975 : :
29976 : : case E_V8SImode:
29977 : : if (pattern1257 (x2,
29978 : : E_V8SImode) != 0
29979 : : || !(
29980 : : #line 17804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29981 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (SImode) - 1) &&
29982 : : #line 763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29983 : : (TARGET_AVX2)))
29984 : : return NULL;
29985 : : return gen_split_3342 (insn, operands);
29986 : :
29987 : : case E_V4SImode:
29988 : : if (pattern1257 (x2,
29989 : : E_V4SImode) != 0
29990 : : || !
29991 : : #line 17804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29992 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (SImode) - 1))
29993 : : return NULL;
29994 : : return gen_split_3343 (insn, operands);
29995 : :
29996 : : case E_V4DImode:
29997 : : if (pattern1257 (x2,
29998 : : E_V4DImode) != 0
29999 : : || !(
30000 : : #line 17804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30001 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (DImode) - 1) &&
30002 : : #line 764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30003 : : (TARGET_AVX2)))
30004 : : return NULL;
30005 : : return gen_split_3344 (insn, operands);
30006 : :
30007 : : case E_V2DImode:
30008 : : if (pattern1257 (x2,
30009 : : E_V2DImode) != 0
30010 : : || !
30011 : : #line 17804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30012 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (DImode) - 1))
30013 : : return NULL;
30014 : : return gen_split_3345 (insn, operands);
30015 : :
30016 : : default:
30017 : : return NULL;
30018 : : }
30019 : :
30020 : : case EQ:
30021 : : x11 = XEXP (x7, 0);
30022 : : operands[1] = x11;
30023 : : x12 = XEXP (x7, 1);
30024 : : operands[2] = x12;
30025 : : switch (GET_MODE (operands[0]))
30026 : : {
30027 : : case E_V32QImode:
30028 : : if (pattern1146 (x2,
30029 : : E_V32QImode) != 0
30030 : : || !((
30031 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30032 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30033 : : #line 579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30034 : : (TARGET_AVX2)) &&
30035 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30036 : : ( 1)))
30037 : : return NULL;
30038 : : return gen_split_3348 (insn, operands);
30039 : :
30040 : : case E_V16QImode:
30041 : : if (pattern1146 (x2,
30042 : : E_V16QImode) != 0
30043 : : || !(
30044 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30045 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30046 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30047 : : ( 1)))
30048 : : return NULL;
30049 : : return gen_split_3349 (insn, operands);
30050 : :
30051 : : case E_V16HImode:
30052 : : if (pattern1146 (x2,
30053 : : E_V16HImode) != 0
30054 : : || !((
30055 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30056 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30057 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30058 : : (TARGET_AVX2)) &&
30059 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30060 : : ( 1)))
30061 : : return NULL;
30062 : : return gen_split_3350 (insn, operands);
30063 : :
30064 : : case E_V8HImode:
30065 : : if (pattern1146 (x2,
30066 : : E_V8HImode) != 0
30067 : : || !(
30068 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30069 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30070 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30071 : : ( 1)))
30072 : : return NULL;
30073 : : return gen_split_3351 (insn, operands);
30074 : :
30075 : : case E_V8SImode:
30076 : : if (pattern1146 (x2,
30077 : : E_V8SImode) != 0
30078 : : || !((
30079 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30080 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30081 : : #line 581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30082 : : (TARGET_AVX2)) &&
30083 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30084 : : ( 1)))
30085 : : return NULL;
30086 : : return gen_split_3352 (insn, operands);
30087 : :
30088 : : case E_V4SImode:
30089 : : if (pattern1146 (x2,
30090 : : E_V4SImode) != 0
30091 : : || !(
30092 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30093 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30094 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30095 : : ( 1)))
30096 : : return NULL;
30097 : : return gen_split_3353 (insn, operands);
30098 : :
30099 : : case E_V4DImode:
30100 : : if (pattern1146 (x2,
30101 : : E_V4DImode) != 0
30102 : : || !((
30103 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30104 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30105 : : #line 582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30106 : : (TARGET_AVX2)) &&
30107 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30108 : : ( 1)))
30109 : : return NULL;
30110 : : return gen_split_3354 (insn, operands);
30111 : :
30112 : : case E_V2DImode:
30113 : : if (pattern1146 (x2,
30114 : : E_V2DImode) != 0
30115 : : || !(
30116 : : #line 18228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30117 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30118 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30119 : : ( 1)))
30120 : : return NULL;
30121 : : return gen_split_3355 (insn, operands);
30122 : :
30123 : : default:
30124 : : return NULL;
30125 : : }
30126 : :
30127 : : default:
30128 : : return NULL;
30129 : : }
30130 : :
30131 : : default:
30132 : : return NULL;
30133 : : }
30134 : :
30135 : : case LT:
30136 : : switch (pattern202 (x2))
30137 : : {
30138 : : case 0:
30139 : : if (!((
30140 : : #line 17400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30141 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30142 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30143 : : (TARGET_AVX2)) &&
30144 : : #line 17402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30145 : : ( 1)))
30146 : : return NULL;
30147 : : return gen_split_3296 (insn, operands);
30148 : :
30149 : : case 1:
30150 : : if (!(
30151 : : #line 17400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30152 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30153 : : #line 17402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30154 : : ( 1)))
30155 : : return NULL;
30156 : : return gen_split_3297 (insn, operands);
30157 : :
30158 : : case 2:
30159 : : if (!((
30160 : : #line 17400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30161 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30162 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30163 : : (TARGET_AVX2)) &&
30164 : : #line 17402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30165 : : ( 1)))
30166 : : return NULL;
30167 : : return gen_split_3298 (insn, operands);
30168 : :
30169 : : case 3:
30170 : : if (!(
30171 : : #line 17400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30172 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30173 : : #line 17402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30174 : : ( 1)))
30175 : : return NULL;
30176 : : return gen_split_3299 (insn, operands);
30177 : :
30178 : : default:
30179 : : return NULL;
30180 : : }
30181 : :
30182 : : case ASHIFT:
30183 : : switch (pattern243 (x2))
30184 : : {
30185 : : case 0:
30186 : : if (!(
30187 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30188 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
30189 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
30190 : : #line 772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30191 : : (TARGET_AVX512BW)))
30192 : : return NULL;
30193 : : return gen_split_3328 (insn, operands);
30194 : :
30195 : : case 1:
30196 : : if (!
30197 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30198 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
30199 : : > INTVAL (XVECEXP (operands[2], 0, 0))))
30200 : : return NULL;
30201 : : return gen_split_3331 (insn, operands);
30202 : :
30203 : : case 2:
30204 : : if (!
30205 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30206 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
30207 : : > INTVAL (XVECEXP (operands[2], 0, 0))))
30208 : : return NULL;
30209 : : return gen_split_3334 (insn, operands);
30210 : :
30211 : : case 3:
30212 : : if (!(
30213 : : #line 17726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30214 : : (TARGET_SSE2 && TARGET_64BIT
30215 : : && ix86_pre_reload_split ()) &&
30216 : : #line 17729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30217 : : ( 1)))
30218 : : return NULL;
30219 : : return gen_split_3337 (insn, operands);
30220 : :
30221 : : default:
30222 : : return NULL;
30223 : : }
30224 : :
30225 : : case LSHIFTRT:
30226 : : switch (pattern243 (x2))
30227 : : {
30228 : : case 0:
30229 : : if (!(
30230 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30231 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
30232 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
30233 : : #line 772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30234 : : (TARGET_AVX512BW)))
30235 : : return NULL;
30236 : : return gen_split_3329 (insn, operands);
30237 : :
30238 : : case 1:
30239 : : if (!
30240 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30241 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
30242 : : > INTVAL (XVECEXP (operands[2], 0, 0))))
30243 : : return NULL;
30244 : : return gen_split_3332 (insn, operands);
30245 : :
30246 : : case 2:
30247 : : if (!
30248 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30249 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
30250 : : > INTVAL (XVECEXP (operands[2], 0, 0))))
30251 : : return NULL;
30252 : : return gen_split_3335 (insn, operands);
30253 : :
30254 : : case 3:
30255 : : if (!(
30256 : : #line 17755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30257 : : (TARGET_SSE2 && TARGET_64BIT
30258 : : && ix86_pre_reload_split ()) &&
30259 : : #line 17758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30260 : : ( 1)))
30261 : : return NULL;
30262 : : return gen_split_3338 (insn, operands);
30263 : :
30264 : : default:
30265 : : return NULL;
30266 : : }
30267 : :
30268 : : case ASHIFTRT:
30269 : : x3 = XEXP (x2, 0);
30270 : : operands[1] = x3;
30271 : : x6 = XEXP (x2, 1);
30272 : : operands[2] = x6;
30273 : : switch (GET_CODE (operands[2]))
30274 : : {
30275 : : case CONST_VECTOR:
30276 : : switch (GET_MODE (operands[0]))
30277 : : {
30278 : : case E_V32HImode:
30279 : : if (pattern242 (x2,
30280 : : E_V32HImode) == 0
30281 : : && (
30282 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30283 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
30284 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
30285 : : #line 772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30286 : : (TARGET_AVX512BW)))
30287 : : return gen_split_3330 (insn, operands);
30288 : : break;
30289 : :
30290 : : case E_V16SImode:
30291 : : if (pattern242 (x2,
30292 : : E_V16SImode) == 0
30293 : : &&
30294 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30295 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
30296 : : > INTVAL (XVECEXP (operands[2], 0, 0))))
30297 : : return gen_split_3333 (insn, operands);
30298 : : break;
30299 : :
30300 : : case E_V8DImode:
30301 : : if (pattern242 (x2,
30302 : : E_V8DImode) == 0
30303 : : &&
30304 : : #line 17667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30305 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
30306 : : > INTVAL (XVECEXP (operands[2], 0, 0))))
30307 : : return gen_split_3336 (insn, operands);
30308 : : break;
30309 : :
30310 : : default:
30311 : : break;
30312 : : }
30313 : : break;
30314 : :
30315 : : case CONST_INT:
30316 : : if (const_0_to_255_operand (operands[2], E_SImode)
30317 : : && register_operand (operands[0], E_V1TImode)
30318 : : && GET_MODE (x2) == E_V1TImode
30319 : : && register_operand (operands[1], E_V1TImode)
30320 : : && (
30321 : : #line 17785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30322 : : (TARGET_SSE2 && TARGET_64BIT
30323 : : && ix86_pre_reload_split ()) &&
30324 : : #line 17788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30325 : : ( 1)))
30326 : : return gen_split_3339 (insn, operands);
30327 : : break;
30328 : :
30329 : : default:
30330 : : break;
30331 : : }
30332 : : if (!nonmemory_operand (operands[2], E_DImode)
30333 : : || !register_operand (operands[0], E_V2DImode)
30334 : : || GET_MODE (x2) != E_V2DImode
30335 : : || !register_operand (operands[1], E_V2DImode)
30336 : : || !(
30337 : : #line 27379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30338 : : (TARGET_SSE2 && !TARGET_AVX512VL && ix86_pre_reload_split ()) &&
30339 : : #line 27381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30340 : : ( 1)))
30341 : : return NULL;
30342 : : return gen_split_3815 (insn, operands);
30343 : :
30344 : : case ROTATE:
30345 : : if (pattern244 (x2) != 0
30346 : : || !(
30347 : : #line 17826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30348 : : (TARGET_SSE2 && TARGET_64BIT
30349 : : && ix86_pre_reload_split ()) &&
30350 : : #line 17829 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30351 : : ( 1)))
30352 : : return NULL;
30353 : : return gen_split_3346 (insn, operands);
30354 : :
30355 : : case ROTATERT:
30356 : : if (pattern244 (x2) != 0
30357 : : || !(
30358 : : #line 17855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30359 : : (TARGET_SSE2 && TARGET_64BIT
30360 : : && ix86_pre_reload_split ()) &&
30361 : : #line 17858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30362 : : ( 1)))
30363 : : return NULL;
30364 : : return gen_split_3347 (insn, operands);
30365 : :
30366 : : case VEC_DUPLICATE:
30367 : : return split_86 (x1, insn);
30368 : :
30369 : : case SIGN_EXTEND:
30370 : : x3 = XEXP (x2, 0);
30371 : : if (pattern245 (x3) != 0)
30372 : : return NULL;
30373 : : switch (pattern682 (x2))
30374 : : {
30375 : : case 0:
30376 : : if ((
30377 : : #line 24562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30378 : : (TARGET_SSE4_1 && 1 && 1
30379 : : && ix86_pre_reload_split ()) &&
30380 : : #line 24565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30381 : : ( 1)))
30382 : : return gen_split_3600 (insn, operands);
30383 : : if (!(
30384 : : #line 24562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30385 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL
30386 : : && ix86_pre_reload_split ()) &&
30387 : : #line 24565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30388 : : ( 1)))
30389 : : return NULL;
30390 : : return gen_split_3601 (insn, operands);
30391 : :
30392 : : case 1:
30393 : : if ((
30394 : : #line 24714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30395 : : (TARGET_AVX2 && 1
30396 : : && ix86_pre_reload_split ()) &&
30397 : : #line 24717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30398 : : ( 1)))
30399 : : return gen_split_3608 (insn, operands);
30400 : : if (!(
30401 : : #line 24714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30402 : : (TARGET_AVX2 && TARGET_AVX512VL
30403 : : && ix86_pre_reload_split ()) &&
30404 : : #line 24717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30405 : : ( 1)))
30406 : : return NULL;
30407 : : return gen_split_3609 (insn, operands);
30408 : :
30409 : : case 2:
30410 : : if (!(
30411 : : #line 25078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30412 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
30413 : : #line 25080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30414 : : ( 1)))
30415 : : return NULL;
30416 : : return gen_split_3632 (insn, operands);
30417 : :
30418 : : case 3:
30419 : : if ((
30420 : : #line 24948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30421 : : (TARGET_SSE4_1 && 1
30422 : : && ix86_pre_reload_split ()) &&
30423 : : #line 24951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30424 : : ( 1)))
30425 : : return gen_split_3624 (insn, operands);
30426 : : if (!(
30427 : : #line 24948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30428 : : (TARGET_SSE4_1 && TARGET_AVX512VL
30429 : : && ix86_pre_reload_split ()) &&
30430 : : #line 24951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30431 : : ( 1)))
30432 : : return NULL;
30433 : : return gen_split_3625 (insn, operands);
30434 : :
30435 : : case 4:
30436 : : if ((
30437 : : #line 25278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30438 : : (TARGET_AVX2 && 1
30439 : : && ix86_pre_reload_split ()) &&
30440 : : #line 25281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30441 : : ( 1)))
30442 : : return gen_split_3643 (insn, operands);
30443 : : if (!(
30444 : : #line 25278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30445 : : (TARGET_AVX2 && TARGET_AVX512VL
30446 : : && ix86_pre_reload_split ()) &&
30447 : : #line 25281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30448 : : ( 1)))
30449 : : return NULL;
30450 : : return gen_split_3644 (insn, operands);
30451 : :
30452 : : case 5:
30453 : : if ((
30454 : : #line 25503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30455 : : (TARGET_SSE4_1 && 1
30456 : : && ix86_pre_reload_split ()) &&
30457 : : #line 25506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30458 : : ( 1)))
30459 : : return gen_split_3655 (insn, operands);
30460 : : if (!(
30461 : : #line 25503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30462 : : (TARGET_SSE4_1 && TARGET_AVX512VL
30463 : : && ix86_pre_reload_split ()) &&
30464 : : #line 25506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30465 : : ( 1)))
30466 : : return NULL;
30467 : : return gen_split_3656 (insn, operands);
30468 : :
30469 : : case 6:
30470 : : if ((
30471 : : #line 24779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30472 : : (TARGET_SSE4_1 && 1
30473 : : && ix86_pre_reload_split ()) &&
30474 : : #line 24782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30475 : : ( 1)))
30476 : : return gen_split_3612 (insn, operands);
30477 : : if (!(
30478 : : #line 24779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30479 : : (TARGET_SSE4_1 && TARGET_AVX512VL
30480 : : && ix86_pre_reload_split ()) &&
30481 : : #line 24782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30482 : : ( 1)))
30483 : : return NULL;
30484 : : return gen_split_3613 (insn, operands);
30485 : :
30486 : : case 7:
30487 : : if ((
30488 : : #line 25139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30489 : : (TARGET_AVX2 && 1
30490 : : && ix86_pre_reload_split ()) &&
30491 : : #line 25142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30492 : : ( 1)))
30493 : : return gen_split_3636 (insn, operands);
30494 : : if (!(
30495 : : #line 25139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30496 : : (TARGET_AVX2 && TARGET_AVX512VL
30497 : : && ix86_pre_reload_split ()) &&
30498 : : #line 25142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30499 : : ( 1)))
30500 : : return NULL;
30501 : : return gen_split_3637 (insn, operands);
30502 : :
30503 : : case 8:
30504 : : if ((
30505 : : #line 25341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30506 : : (TARGET_SSE4_1 && 1
30507 : : && ix86_pre_reload_split ()) &&
30508 : : #line 25344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30509 : : ( 1)))
30510 : : return gen_split_3647 (insn, operands);
30511 : : if (!(
30512 : : #line 25341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30513 : : (TARGET_SSE4_1 && TARGET_AVX512VL
30514 : : && ix86_pre_reload_split ()) &&
30515 : : #line 25344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30516 : : ( 1)))
30517 : : return NULL;
30518 : : return gen_split_3648 (insn, operands);
30519 : :
30520 : : default:
30521 : : return NULL;
30522 : : }
30523 : :
30524 : : case ZERO_EXTEND:
30525 : : x3 = XEXP (x2, 0);
30526 : : if (pattern245 (x3) != 0)
30527 : : return NULL;
30528 : : x7 = XEXP (x3, 0);
30529 : : x11 = XEXP (x7, 0);
30530 : : switch (GET_CODE (x11))
30531 : : {
30532 : : case VEC_CONCAT:
30533 : : switch (pattern680 (x2))
30534 : : {
30535 : : case 0:
30536 : : if ((
30537 : : #line 24562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30538 : : (TARGET_SSE4_1 && 1 && 1
30539 : : && ix86_pre_reload_split ()) &&
30540 : : #line 24565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30541 : : ( 1)))
30542 : : return gen_split_3602 (insn, operands);
30543 : : if (!(
30544 : : #line 24562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30545 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL
30546 : : && ix86_pre_reload_split ()) &&
30547 : : #line 24565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30548 : : ( 1)))
30549 : : return NULL;
30550 : : return gen_split_3603 (insn, operands);
30551 : :
30552 : : case 1:
30553 : : if ((
30554 : : #line 24714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30555 : : (TARGET_AVX2 && 1
30556 : : && ix86_pre_reload_split ()) &&
30557 : : #line 24717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30558 : : ( 1)))
30559 : : return gen_split_3610 (insn, operands);
30560 : : if (!(
30561 : : #line 24714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30562 : : (TARGET_AVX2 && TARGET_AVX512VL
30563 : : && ix86_pre_reload_split ()) &&
30564 : : #line 24717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30565 : : ( 1)))
30566 : : return NULL;
30567 : : return gen_split_3611 (insn, operands);
30568 : :
30569 : : case 2:
30570 : : if (!(
30571 : : #line 25078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30572 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
30573 : : #line 25080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30574 : : ( 1)))
30575 : : return NULL;
30576 : : return gen_split_3634 (insn, operands);
30577 : :
30578 : : case 3:
30579 : : if ((
30580 : : #line 24948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30581 : : (TARGET_SSE4_1 && 1
30582 : : && ix86_pre_reload_split ()) &&
30583 : : #line 24951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30584 : : ( 1)))
30585 : : return gen_split_3626 (insn, operands);
30586 : : if (!(
30587 : : #line 24948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30588 : : (TARGET_SSE4_1 && TARGET_AVX512VL
30589 : : && ix86_pre_reload_split ()) &&
30590 : : #line 24951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30591 : : ( 1)))
30592 : : return NULL;
30593 : : return gen_split_3627 (insn, operands);
30594 : :
30595 : : case 4:
30596 : : if ((
30597 : : #line 25278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30598 : : (TARGET_AVX2 && 1
30599 : : && ix86_pre_reload_split ()) &&
30600 : : #line 25281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30601 : : ( 1)))
30602 : : return gen_split_3645 (insn, operands);
30603 : : if (!(
30604 : : #line 25278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30605 : : (TARGET_AVX2 && TARGET_AVX512VL
30606 : : && ix86_pre_reload_split ()) &&
30607 : : #line 25281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30608 : : ( 1)))
30609 : : return NULL;
30610 : : return gen_split_3646 (insn, operands);
30611 : :
30612 : : case 5:
30613 : : if ((
30614 : : #line 25503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30615 : : (TARGET_SSE4_1 && 1
30616 : : && ix86_pre_reload_split ()) &&
30617 : : #line 25506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30618 : : ( 1)))
30619 : : return gen_split_3657 (insn, operands);
30620 : : if (!(
30621 : : #line 25503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30622 : : (TARGET_SSE4_1 && TARGET_AVX512VL
30623 : : && ix86_pre_reload_split ()) &&
30624 : : #line 25506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30625 : : ( 1)))
30626 : : return NULL;
30627 : : return gen_split_3658 (insn, operands);
30628 : :
30629 : : default:
30630 : : return NULL;
30631 : : }
30632 : :
30633 : : case VEC_MERGE:
30634 : : x13 = XEXP (x11, 0);
30635 : : if (GET_CODE (x13) != VEC_DUPLICATE)
30636 : : return NULL;
30637 : : if (GET_MODE (x13) == E_V4SImode)
30638 : : {
30639 : : switch (pattern1035 (x2))
30640 : : {
30641 : : case 0:
30642 : : if ((
30643 : : #line 24779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30644 : : (TARGET_SSE4_1 && 1
30645 : : && ix86_pre_reload_split ()) &&
30646 : : #line 24782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30647 : : ( 1)))
30648 : : return gen_split_3614 (insn, operands);
30649 : : if ((
30650 : : #line 24779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30651 : : (TARGET_SSE4_1 && TARGET_AVX512VL
30652 : : && ix86_pre_reload_split ()) &&
30653 : : #line 24782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30654 : : ( 1)))
30655 : : return gen_split_3615 (insn, operands);
30656 : : break;
30657 : :
30658 : : case 1:
30659 : : if ((
30660 : : #line 25139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30661 : : (TARGET_AVX2 && 1
30662 : : && ix86_pre_reload_split ()) &&
30663 : : #line 25142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30664 : : ( 1)))
30665 : : return gen_split_3638 (insn, operands);
30666 : : if ((
30667 : : #line 25139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30668 : : (TARGET_AVX2 && TARGET_AVX512VL
30669 : : && ix86_pre_reload_split ()) &&
30670 : : #line 25142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30671 : : ( 1)))
30672 : : return gen_split_3639 (insn, operands);
30673 : : break;
30674 : :
30675 : : case 2:
30676 : : if ((
30677 : : #line 25341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30678 : : (TARGET_SSE4_1 && 1
30679 : : && ix86_pre_reload_split ()) &&
30680 : : #line 25344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30681 : : ( 1)))
30682 : : return gen_split_3649 (insn, operands);
30683 : : if ((
30684 : : #line 25341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30685 : : (TARGET_SSE4_1 && TARGET_AVX512VL
30686 : : && ix86_pre_reload_split ()) &&
30687 : : #line 25344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30688 : : ( 1)))
30689 : : return gen_split_3650 (insn, operands);
30690 : : break;
30691 : :
30692 : : default:
30693 : : break;
30694 : : }
30695 : : }
30696 : : x14 = XEXP (x11, 2);
30697 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
30698 : : return NULL;
30699 : : switch (pattern1036 (x2))
30700 : : {
30701 : : case 0:
30702 : : if (!(
30703 : : #line 25215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30704 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30705 : : #line 25217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30706 : : ( 1)))
30707 : : return NULL;
30708 : : return gen_split_3640 (insn, operands);
30709 : :
30710 : : case 1:
30711 : : if (!(
30712 : : #line 25215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30713 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30714 : : #line 25217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30715 : : ( 1)))
30716 : : return NULL;
30717 : : return gen_split_3641 (insn, operands);
30718 : :
30719 : : case 2:
30720 : : if (!(
30721 : : #line 25215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30722 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
30723 : : #line 25217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30724 : : ( 1)))
30725 : : return NULL;
30726 : : return gen_split_3642 (insn, operands);
30727 : :
30728 : : default:
30729 : : return NULL;
30730 : : }
30731 : :
30732 : : default:
30733 : : return NULL;
30734 : : }
30735 : :
30736 : : default:
30737 : : return NULL;
30738 : : }
30739 : : }
30740 : :
30741 : : rtx_insn *
30742 : : peephole2_11 (rtx x1 ATTRIBUTE_UNUSED,
30743 : : rtx_insn *insn ATTRIBUTE_UNUSED,
30744 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
30745 : : {
30746 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30747 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
30748 : : rtx x10, x11, x12, x13, x14;
30749 : : rtx_insn *res ATTRIBUTE_UNUSED;
30750 : : x2 = PATTERN (peep2_next_insn (1));
30751 : : x3 = XEXP (x2, 1);
30752 : : if (GET_CODE (x3) != IOR
30753 : : || GET_MODE (x3) != E_SImode)
30754 : : return NULL;
30755 : : x4 = XEXP (x3, 0);
30756 : : if (GET_CODE (x4) != AND
30757 : : || GET_MODE (x4) != E_SImode)
30758 : : return NULL;
30759 : : x5 = XEXP (x4, 1);
30760 : : if (GET_CODE (x5) != CONST_INT
30761 : : || XWINT (x5, 0) != -65536L)
30762 : : return NULL;
30763 : : x6 = XEXP (x3, 1);
30764 : : if (GET_CODE (x6) != LSHIFTRT
30765 : : || GET_MODE (x6) != E_SImode)
30766 : : return NULL;
30767 : : x7 = XEXP (x6, 0);
30768 : : if (GET_CODE (x7) != BSWAP
30769 : : || GET_MODE (x7) != E_SImode)
30770 : : return NULL;
30771 : : x8 = XEXP (x6, 1);
30772 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
30773 : : return NULL;
30774 : : x9 = XEXP (x4, 0);
30775 : : if (!rtx_equal_p (x9, operands[0]))
30776 : : return NULL;
30777 : : x10 = XEXP (x7, 0);
30778 : : if (!rtx_equal_p (x10, operands[0]))
30779 : : return NULL;
30780 : : x11 = XEXP (x2, 0);
30781 : : if (!rtx_equal_p (x11, operands[0]))
30782 : : return NULL;
30783 : : x12 = PATTERN (peep2_next_insn (2));
30784 : : if (GET_CODE (x12) != SET)
30785 : : return NULL;
30786 : : x13 = XEXP (x12, 0);
30787 : : operands[2] = x13;
30788 : : if (!general_reg_operand (operands[2], E_SImode))
30789 : : return NULL;
30790 : : x14 = XEXP (x12, 1);
30791 : : if (!rtx_equal_p (x14, operands[0])
30792 : : || !
30793 : : #line 22982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30794 : : (!(TARGET_USE_XCHGB ||
30795 : : TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
30796 : : && peep2_regno_dead_p (0, FLAGS_REG)
30797 : : && peep2_reg_dead_p(3, operands[0])))
30798 : : return NULL;
30799 : : *pmatch_len_ = 2;
30800 : : return gen_peephole2_206 (insn, operands);
30801 : : }
30802 : :
30803 : : rtx_insn *
30804 : : peephole2_13 (rtx x1 ATTRIBUTE_UNUSED,
30805 : : rtx_insn *insn ATTRIBUTE_UNUSED,
30806 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
30807 : : {
30808 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30809 : : rtx x2, x3;
30810 : : rtx_insn *res ATTRIBUTE_UNUSED;
30811 : : x2 = PATTERN (peep2_next_insn (1));
30812 : : if (GET_CODE (x2) != SET)
30813 : : return NULL;
30814 : : x3 = XEXP (x2, 0);
30815 : : if (!general_reg_operand (x3, E_SImode))
30816 : : return NULL;
30817 : : operands[8] = x3;
30818 : : switch (pattern956 (x1,
30819 : : E_SImode,
30820 : : E_DImode))
30821 : : {
30822 : : case 0:
30823 : : if (
30824 : : #line 9961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30825 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30826 : : && peep2_reg_dead_p (4, operands[0])
30827 : : && peep2_reg_dead_p (3, operands[2])
30828 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30829 : : && !reg_overlap_mentioned_p (operands[2], operands[1])
30830 : : && !reg_overlap_mentioned_p (operands[6], operands[9])
30831 : : && (rtx_equal_p (operands[6], operands[0])
30832 : : ? (rtx_equal_p (operands[7], operands[1])
30833 : : && rtx_equal_p (operands[8], operands[2]))
30834 : : : (rtx_equal_p (operands[8], operands[0])
30835 : : && rtx_equal_p (operands[9], operands[1])
30836 : : && rtx_equal_p (operands[6], operands[2])))))
30837 : : {
30838 : : *pmatch_len_ = 3;
30839 : : res = gen_peephole2_110 (insn, operands);
30840 : : if (res != NULL_RTX)
30841 : : return res;
30842 : : }
30843 : : break;
30844 : :
30845 : : case 1:
30846 : : if (
30847 : : #line 10016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30848 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30849 : : && peep2_reg_dead_p (6, operands[0])
30850 : : && peep2_reg_dead_p (3, operands[2])
30851 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30852 : : && !reg_overlap_mentioned_p (operands[2], operands[1])
30853 : : && !reg_overlap_mentioned_p (operands[6], operands[9])
30854 : : && !reg_overlap_mentioned_p (operands[0], operands[10])
30855 : : && !reg_overlap_mentioned_p (operands[10], operands[1])
30856 : : && !reg_overlap_mentioned_p (operands[0], operands[11])
30857 : : && !reg_overlap_mentioned_p (operands[11], operands[1])
30858 : : && (rtx_equal_p (operands[6], operands[0])
30859 : : ? (rtx_equal_p (operands[7], operands[1])
30860 : : && rtx_equal_p (operands[8], operands[2]))
30861 : : : (rtx_equal_p (operands[8], operands[0])
30862 : : && rtx_equal_p (operands[9], operands[1])
30863 : : && rtx_equal_p (operands[6], operands[2])))))
30864 : : {
30865 : : *pmatch_len_ = 5;
30866 : : res = gen_peephole2_112 (insn, operands);
30867 : : if (res != NULL_RTX)
30868 : : return res;
30869 : : }
30870 : : break;
30871 : :
30872 : : default:
30873 : : break;
30874 : : }
30875 : : operands[0] = x3;
30876 : : if (pattern959 (x1,
30877 : : E_SImode) != 0
30878 : : || !
30879 : : #line 26931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30880 : : (TARGET_CMOVE
30881 : : && REGNO (operands[2]) != REGNO (operands[0])
30882 : : && REGNO (operands[2]) != REGNO (operands[1])
30883 : : && peep2_reg_dead_p (2, operands[1])
30884 : : && peep2_reg_dead_p (4, operands[2])
30885 : : && !reg_overlap_mentioned_p (operands[0], operands[3])
30886 : : && !reg_mentioned_p (operands[2], operands[6])))
30887 : : return NULL;
30888 : : *pmatch_len_ = 3;
30889 : : return gen_peephole2_221 (insn, operands);
30890 : : }
30891 : :
30892 : : rtx_insn *
30893 : : peephole2_15 (rtx x1 ATTRIBUTE_UNUSED,
30894 : : rtx_insn *insn ATTRIBUTE_UNUSED,
30895 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
30896 : : {
30897 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30898 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
30899 : : rtx_insn *res ATTRIBUTE_UNUSED;
30900 : : if (address_no_seg_operand (operands[1], E_DImode)
30901 : : && (
30902 : : #line 6401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30903 : : (ix86_hardreg_mov_ok (operands[0], operands[1])
30904 : : && peep2_regno_dead_p (0, FLAGS_REG)
30905 : : && ix86_avoid_lea_for_addr (peep2_next_insn (0), operands)) &&
30906 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30907 : : (TARGET_64BIT)))
30908 : : {
30909 : : *pmatch_len_ = 0;
30910 : : res = gen_peephole2_61 (insn, operands);
30911 : : if (res != NULL_RTX)
30912 : : return res;
30913 : : }
30914 : : if (peep2_current_count < 2
30915 : : || !memory_operand (operands[1], E_DImode))
30916 : : return NULL;
30917 : : x2 = PATTERN (peep2_next_insn (1));
30918 : : switch (GET_CODE (x2))
30919 : : {
30920 : : case CALL:
30921 : : x3 = XEXP (x2, 0);
30922 : : if (GET_CODE (x3) != MEM
30923 : : || GET_MODE (x3) != E_QImode)
30924 : : return NULL;
30925 : : x4 = XEXP (x2, 1);
30926 : : operands[3] = x4;
30927 : : x5 = XEXP (x3, 0);
30928 : : if (!rtx_equal_p (x5, operands[0])
30929 : : || !(
30930 : : #line 20491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30931 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
30932 : : && SIBLING_CALL_P (peep2_next_insn (1))
30933 : : && !reg_mentioned_p (operands[0],
30934 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) &&
30935 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30936 : : (word_mode == DImode)))
30937 : : return NULL;
30938 : : *pmatch_len_ = 1;
30939 : : return gen_peephole2_191 (insn, operands);
30940 : :
30941 : : case UNSPEC_VOLATILE:
30942 : : if (pattern841 (x2) != 0)
30943 : : return NULL;
30944 : : x6 = PATTERN (peep2_next_insn (2));
30945 : : switch (GET_CODE (x6))
30946 : : {
30947 : : case CALL:
30948 : : x7 = XEXP (x6, 0);
30949 : : if (GET_CODE (x7) != MEM
30950 : : || GET_MODE (x7) != E_QImode)
30951 : : return NULL;
30952 : : x8 = XEXP (x6, 1);
30953 : : operands[3] = x8;
30954 : : x9 = XEXP (x7, 0);
30955 : : if (!rtx_equal_p (x9, operands[0])
30956 : : || !(
30957 : : #line 20505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30958 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
30959 : : && SIBLING_CALL_P (peep2_next_insn (2))
30960 : : && !reg_mentioned_p (operands[0],
30961 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) &&
30962 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30963 : : (word_mode == DImode)))
30964 : : return NULL;
30965 : : *pmatch_len_ = 2;
30966 : : return gen_peephole2_193 (insn, operands);
30967 : :
30968 : : case SET:
30969 : : if (pattern1345 (x6) != 0
30970 : : || !(
30971 : : #line 20712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30972 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
30973 : : && SIBLING_CALL_P (peep2_next_insn (2))
30974 : : && !reg_mentioned_p (operands[0],
30975 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) &&
30976 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30977 : : (word_mode == DImode)))
30978 : : return NULL;
30979 : : *pmatch_len_ = 2;
30980 : : return gen_peephole2_201 (insn, operands);
30981 : :
30982 : : default:
30983 : : return NULL;
30984 : : }
30985 : :
30986 : : case SET:
30987 : : switch (pattern842 (x2))
30988 : : {
30989 : : case 0:
30990 : : if (!(
30991 : : #line 20602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30992 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
30993 : : && peep2_reg_dead_p (2, operands[0])) &&
30994 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30995 : : (word_mode == DImode)))
30996 : : return NULL;
30997 : : *pmatch_len_ = 1;
30998 : : return gen_peephole2_197 (insn, operands);
30999 : :
31000 : : case 1:
31001 : : if (!(
31002 : : #line 20696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31003 : : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER
31004 : : && SIBLING_CALL_P (peep2_next_insn (1))
31005 : : && !reg_mentioned_p (operands[0],
31006 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) &&
31007 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31008 : : (word_mode == DImode)))
31009 : : return NULL;
31010 : : *pmatch_len_ = 1;
31011 : : return gen_peephole2_199 (insn, operands);
31012 : :
31013 : : default:
31014 : : return NULL;
31015 : : }
31016 : :
31017 : : default:
31018 : : return NULL;
31019 : : }
31020 : : }
31021 : :
31022 : : rtx_insn *
31023 : : peephole2_17 (rtx x1 ATTRIBUTE_UNUSED,
31024 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31025 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31026 : : {
31027 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31028 : : rtx x2, x3;
31029 : : rtx_insn *res ATTRIBUTE_UNUSED;
31030 : : x2 = PATTERN (peep2_next_insn (1));
31031 : : if (GET_CODE (x2) != SET)
31032 : : return NULL;
31033 : : x3 = XEXP (x2, 0);
31034 : : if (!general_reg_operand (x3, E_DImode))
31035 : : return NULL;
31036 : : operands[8] = x3;
31037 : : switch (pattern956 (x1,
31038 : : E_DImode,
31039 : : E_TImode))
31040 : : {
31041 : : case 0:
31042 : : if ((
31043 : : #line 9961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31044 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31045 : : && peep2_reg_dead_p (4, operands[0])
31046 : : && peep2_reg_dead_p (3, operands[2])
31047 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31048 : : && !reg_overlap_mentioned_p (operands[2], operands[1])
31049 : : && !reg_overlap_mentioned_p (operands[6], operands[9])
31050 : : && (rtx_equal_p (operands[6], operands[0])
31051 : : ? (rtx_equal_p (operands[7], operands[1])
31052 : : && rtx_equal_p (operands[8], operands[2]))
31053 : : : (rtx_equal_p (operands[8], operands[0])
31054 : : && rtx_equal_p (operands[9], operands[1])
31055 : : && rtx_equal_p (operands[6], operands[2])))) &&
31056 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31057 : : (TARGET_64BIT)))
31058 : : {
31059 : : *pmatch_len_ = 3;
31060 : : res = gen_peephole2_111 (insn, operands);
31061 : : if (res != NULL_RTX)
31062 : : return res;
31063 : : }
31064 : : break;
31065 : :
31066 : : case 1:
31067 : : if ((
31068 : : #line 10016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31069 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31070 : : && peep2_reg_dead_p (6, operands[0])
31071 : : && peep2_reg_dead_p (3, operands[2])
31072 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31073 : : && !reg_overlap_mentioned_p (operands[2], operands[1])
31074 : : && !reg_overlap_mentioned_p (operands[6], operands[9])
31075 : : && !reg_overlap_mentioned_p (operands[0], operands[10])
31076 : : && !reg_overlap_mentioned_p (operands[10], operands[1])
31077 : : && !reg_overlap_mentioned_p (operands[0], operands[11])
31078 : : && !reg_overlap_mentioned_p (operands[11], operands[1])
31079 : : && (rtx_equal_p (operands[6], operands[0])
31080 : : ? (rtx_equal_p (operands[7], operands[1])
31081 : : && rtx_equal_p (operands[8], operands[2]))
31082 : : : (rtx_equal_p (operands[8], operands[0])
31083 : : && rtx_equal_p (operands[9], operands[1])
31084 : : && rtx_equal_p (operands[6], operands[2])))) &&
31085 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31086 : : (TARGET_64BIT)))
31087 : : {
31088 : : *pmatch_len_ = 5;
31089 : : res = gen_peephole2_113 (insn, operands);
31090 : : if (res != NULL_RTX)
31091 : : return res;
31092 : : }
31093 : : break;
31094 : :
31095 : : default:
31096 : : break;
31097 : : }
31098 : : operands[0] = x3;
31099 : : if (pattern959 (x1,
31100 : : E_DImode) != 0
31101 : : || !(
31102 : : #line 26931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31103 : : (TARGET_CMOVE
31104 : : && REGNO (operands[2]) != REGNO (operands[0])
31105 : : && REGNO (operands[2]) != REGNO (operands[1])
31106 : : && peep2_reg_dead_p (2, operands[1])
31107 : : && peep2_reg_dead_p (4, operands[2])
31108 : : && !reg_overlap_mentioned_p (operands[0], operands[3])
31109 : : && !reg_mentioned_p (operands[2], operands[6])) &&
31110 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31111 : : (TARGET_64BIT)))
31112 : : return NULL;
31113 : : *pmatch_len_ = 3;
31114 : : return gen_peephole2_222 (insn, operands);
31115 : : }
31116 : :
31117 : : rtx_insn *
31118 : : peephole2_20 (rtx x1 ATTRIBUTE_UNUSED,
31119 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31120 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31121 : : {
31122 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31123 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31124 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
31125 : : rtx x18, x19, x20, x21, x22, x23;
31126 : : rtx_insn *res ATTRIBUTE_UNUSED;
31127 : : x2 = XEXP (x1, 0);
31128 : : if (!flags_reg_operand (x2, E_VOIDmode))
31129 : : return NULL;
31130 : : x3 = XEXP (x1, 1);
31131 : : operands[0] = x3;
31132 : : operands[4] = x2;
31133 : : res = peephole2_19 (x1, insn, pmatch_len_);
31134 : : if (res != NULL_RTX)
31135 : : return res;
31136 : : if (peep2_current_count < 4)
31137 : : return NULL;
31138 : : operands[6] = x2;
31139 : : x4 = PATTERN (peep2_next_insn (1));
31140 : : if (GET_CODE (x4) != PARALLEL
31141 : : || XVECLEN (x4, 0) != 2)
31142 : : return NULL;
31143 : : x5 = XVECEXP (x4, 0, 0);
31144 : : if (GET_CODE (x5) != SET)
31145 : : return NULL;
31146 : : x6 = XEXP (x5, 0);
31147 : : operands[7] = x6;
31148 : : if (!flags_reg_operand (operands[7], E_VOIDmode))
31149 : : return NULL;
31150 : : x7 = XEXP (x5, 1);
31151 : : operands[1] = x7;
31152 : : x8 = XVECEXP (x4, 0, 1);
31153 : : operands[5] = x8;
31154 : : x9 = PATTERN (peep2_next_insn (2));
31155 : : if (GET_CODE (x9) != SET)
31156 : : return NULL;
31157 : : x10 = XEXP (x9, 1);
31158 : : if (!ix86_comparison_operator (x10, E_QImode))
31159 : : return NULL;
31160 : : operands[3] = x10;
31161 : : x11 = XEXP (x10, 0);
31162 : : if (GET_CODE (x11) != REG
31163 : : || REGNO (x11) != 17)
31164 : : return NULL;
31165 : : x12 = XEXP (x10, 1);
31166 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
31167 : : return NULL;
31168 : : x13 = XEXP (x9, 0);
31169 : : operands[2] = x13;
31170 : : if (!register_operand (operands[2], E_QImode))
31171 : : return NULL;
31172 : : x14 = PATTERN (peep2_next_insn (3));
31173 : : switch (GET_CODE (x14))
31174 : : {
31175 : : case SET:
31176 : : x15 = XEXP (x14, 1);
31177 : : if (GET_CODE (x15) != ZERO_EXTEND)
31178 : : return NULL;
31179 : : x16 = XEXP (x14, 0);
31180 : : operands[4] = x16;
31181 : : if (!any_QIreg_operand (operands[4], E_VOIDmode))
31182 : : return NULL;
31183 : : x17 = XEXP (x15, 0);
31184 : : if (!rtx_equal_p (x17, operands[2])
31185 : : || !
31186 : : #line 20280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31187 : : ((peep2_reg_dead_p (4, operands[2])
31188 : : || operands_match_p (operands[2], operands[4]))
31189 : : && ! reg_overlap_mentioned_p (operands[4], operands[0])
31190 : : && ! reg_overlap_mentioned_p (operands[4], operands[1])
31191 : : && ! reg_overlap_mentioned_p (operands[4], operands[5])
31192 : : && ! reg_set_p (operands[4], operands[5])
31193 : : && refers_to_regno_p (FLAGS_REG, operands[1], (rtx *)NULL)
31194 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31195 : : return NULL;
31196 : : *pmatch_len_ = 3;
31197 : : return gen_peephole2_185 (insn, operands);
31198 : :
31199 : : case PARALLEL:
31200 : : if (XVECLEN (x14, 0) != 2)
31201 : : return NULL;
31202 : : x18 = XVECEXP (x14, 0, 0);
31203 : : if (GET_CODE (x18) != SET)
31204 : : return NULL;
31205 : : x19 = XEXP (x18, 1);
31206 : : if (GET_CODE (x19) != ZERO_EXTEND)
31207 : : return NULL;
31208 : : x20 = XVECEXP (x14, 0, 1);
31209 : : if (GET_CODE (x20) != CLOBBER)
31210 : : return NULL;
31211 : : x21 = XEXP (x20, 0);
31212 : : if (GET_CODE (x21) != REG
31213 : : || REGNO (x21) != 17
31214 : : || GET_MODE (x21) != E_CCmode)
31215 : : return NULL;
31216 : : x22 = XEXP (x18, 0);
31217 : : operands[4] = x22;
31218 : : if (!any_QIreg_operand (operands[4], E_VOIDmode))
31219 : : return NULL;
31220 : : x23 = XEXP (x19, 0);
31221 : : if (!rtx_equal_p (x23, operands[2])
31222 : : || !
31223 : : #line 20353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31224 : : ((peep2_reg_dead_p (4, operands[2])
31225 : : || operands_match_p (operands[2], operands[4]))
31226 : : && ! reg_overlap_mentioned_p (operands[4], operands[0])
31227 : : && ! reg_overlap_mentioned_p (operands[4], operands[1])
31228 : : && ! reg_overlap_mentioned_p (operands[4], operands[5])
31229 : : && ! reg_set_p (operands[4], operands[5])
31230 : : && refers_to_regno_p (FLAGS_REG, operands[1], (rtx *)NULL)
31231 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31232 : : return NULL;
31233 : : *pmatch_len_ = 3;
31234 : : return gen_peephole2_188 (insn, operands);
31235 : :
31236 : : default:
31237 : : return NULL;
31238 : : }
31239 : : }
31240 : :
31241 : : rtx_insn *
31242 : : peephole2_25 (rtx x1 ATTRIBUTE_UNUSED,
31243 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31244 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31245 : : {
31246 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31247 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31248 : : rtx x10;
31249 : : rtx_insn *res ATTRIBUTE_UNUSED;
31250 : : x2 = PATTERN (peep2_next_insn (1));
31251 : : if (pattern1354 (x2,
31252 : : E_SImode) != 0)
31253 : : return NULL;
31254 : : x3 = XVECEXP (x2, 0, 0);
31255 : : x4 = XEXP (x3, 1);
31256 : : x5 = XEXP (x4, 0);
31257 : : if (!rtx_equal_p (x5, operands[0]))
31258 : : return NULL;
31259 : : x6 = XEXP (x3, 0);
31260 : : if (!rtx_equal_p (x6, operands[0]))
31261 : : return NULL;
31262 : : x7 = PATTERN (peep2_next_insn (2));
31263 : : x8 = XEXP (x7, 1);
31264 : : if (!rtx_equal_p (x8, operands[0]))
31265 : : return NULL;
31266 : : x9 = PATTERN (peep2_next_insn (3));
31267 : : if (GET_CODE (x9) != SET)
31268 : : return NULL;
31269 : : x10 = XEXP (x7, 0);
31270 : : if (rtx_equal_p (x10, operands[1])
31271 : : && pattern1841 (x9) == 0
31272 : : &&
31273 : : #line 28581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31274 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31275 : : && peep2_reg_dead_p (4, operands[0])
31276 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31277 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31278 : : && (SImode != QImode
31279 : : || immediate_operand (operands[2], QImode)
31280 : : || any_QIreg_operand (operands[2], QImode))
31281 : : && ix86_match_ccmode (peep2_next_insn (3),
31282 : : (GET_CODE (operands[3]) == PLUS
31283 : : || GET_CODE (operands[3]) == MINUS)
31284 : : ? CCGOCmode : CCNOmode)))
31285 : : {
31286 : : *pmatch_len_ = 3;
31287 : : res = gen_peephole2_311 (insn, operands);
31288 : : if (res != NULL_RTX)
31289 : : return res;
31290 : : }
31291 : : if (peep2_current_count < 5
31292 : : || pattern1842 (x10,
31293 : : E_SImode) != 0
31294 : : || !
31295 : : #line 28862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31296 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31297 : : && peep2_reg_dead_p (3, operands[0])
31298 : : && peep2_reg_dead_p (5, operands[4])
31299 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31300 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31301 : : && !reg_overlap_mentioned_p (operands[4], operands[1])
31302 : : && (SImode != QImode
31303 : : || immediate_operand (operands[2], QImode)
31304 : : || any_QIreg_operand (operands[2], QImode))
31305 : : && ix86_match_ccmode (peep2_next_insn (4),
31306 : : (GET_CODE (operands[3]) == PLUS
31307 : : || GET_CODE (operands[3]) == MINUS)
31308 : : ? CCGOCmode : CCNOmode)))
31309 : : return NULL;
31310 : : *pmatch_len_ = 4;
31311 : : return gen_peephole2_341 (insn, operands);
31312 : : }
31313 : :
31314 : : rtx_insn *
31315 : : peephole2_29 (rtx x1 ATTRIBUTE_UNUSED,
31316 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31317 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31318 : : {
31319 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31320 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31321 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
31322 : : rtx x18, x19, x20, x21;
31323 : : rtx_insn *res ATTRIBUTE_UNUSED;
31324 : : if (peep2_current_count < 2)
31325 : : return NULL;
31326 : : x2 = XEXP (x1, 0);
31327 : : operands[0] = x2;
31328 : : x3 = XEXP (x1, 1);
31329 : : x4 = XEXP (x3, 0);
31330 : : operands[1] = x4;
31331 : : if (!general_reg_operand (operands[1], E_QImode))
31332 : : return NULL;
31333 : : x5 = PATTERN (peep2_next_insn (1));
31334 : : if (GET_CODE (x5) != PARALLEL
31335 : : || XVECLEN (x5, 0) != 2)
31336 : : return NULL;
31337 : : x6 = XVECEXP (x5, 0, 0);
31338 : : if (GET_CODE (x6) != SET)
31339 : : return NULL;
31340 : : x7 = XVECEXP (x5, 0, 1);
31341 : : if (GET_CODE (x7) != CLOBBER)
31342 : : return NULL;
31343 : : switch (GET_MODE (operands[0]))
31344 : : {
31345 : : case E_HImode:
31346 : : if (!register_operand (operands[0], E_HImode)
31347 : : || GET_MODE (x3) != E_HImode)
31348 : : return NULL;
31349 : : x8 = XEXP (x6, 1);
31350 : : if (GET_CODE (x8) != UNSPEC
31351 : : || XVECLEN (x8, 0) != 1
31352 : : || XINT (x8, 1) != 28
31353 : : || GET_MODE (x8) != E_CCmode)
31354 : : return NULL;
31355 : : x9 = XEXP (x6, 0);
31356 : : if (GET_CODE (x9) != REG
31357 : : || REGNO (x9) != 17
31358 : : || GET_MODE (x9) != E_CCmode)
31359 : : return NULL;
31360 : : x10 = XVECEXP (x8, 0, 0);
31361 : : if (!rtx_equal_p (x10, operands[0]))
31362 : : return NULL;
31363 : : x11 = XEXP (x7, 0);
31364 : : if (!rtx_equal_p (x11, operands[0]))
31365 : : return NULL;
31366 : : *pmatch_len_ = 1;
31367 : : return gen_peephole2_207 (insn, operands);
31368 : :
31369 : : case E_SImode:
31370 : : if (peep2_current_count < 3
31371 : : || peep2_current_count < 4
31372 : : || !register_operand (operands[0], E_SImode)
31373 : : || GET_MODE (x3) != E_SImode)
31374 : : return NULL;
31375 : : x8 = XEXP (x6, 1);
31376 : : if (GET_CODE (x8) != POPCOUNT
31377 : : || GET_MODE (x8) != E_SImode)
31378 : : return NULL;
31379 : : x11 = XEXP (x7, 0);
31380 : : if (GET_CODE (x11) != REG
31381 : : || REGNO (x11) != 17
31382 : : || GET_MODE (x11) != E_CCmode)
31383 : : return NULL;
31384 : : x9 = XEXP (x6, 0);
31385 : : operands[2] = x9;
31386 : : if (!register_operand (operands[2], E_SImode))
31387 : : return NULL;
31388 : : x12 = XEXP (x8, 0);
31389 : : if (!rtx_equal_p (x12, operands[0]))
31390 : : return NULL;
31391 : : x13 = PATTERN (peep2_next_insn (2));
31392 : : if (GET_CODE (x13) != SET
31393 : : || pattern1768 (x13) != 0)
31394 : : return NULL;
31395 : : x14 = XEXP (x13, 1);
31396 : : x15 = XEXP (x14, 0);
31397 : : x16 = XEXP (x15, 0);
31398 : : operands[3] = x16;
31399 : : if (!register_operand (operands[3], E_QImode))
31400 : : return NULL;
31401 : : x17 = PATTERN (peep2_next_insn (3));
31402 : : if (GET_CODE (x17) != SET)
31403 : : return NULL;
31404 : : x18 = XEXP (x17, 1);
31405 : : if (GET_CODE (x18) != IF_THEN_ELSE)
31406 : : return NULL;
31407 : : x19 = XEXP (x18, 0);
31408 : : if (!bt_comparison_operator (x19, E_VOIDmode))
31409 : : return NULL;
31410 : : operands[4] = x19;
31411 : : if (pattern1889 (x17) != 0)
31412 : : return NULL;
31413 : : x20 = XEXP (x18, 1);
31414 : : x21 = XEXP (x20, 0);
31415 : : operands[5] = x21;
31416 : : if (!
31417 : : #line 23144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31418 : : (REGNO (operands[2]) == REGNO (operands[3])
31419 : : && peep2_reg_dead_p (3, operands[0])
31420 : : && peep2_reg_dead_p (3, operands[2])
31421 : : && peep2_regno_dead_p (4, FLAGS_REG)))
31422 : : return NULL;
31423 : : *pmatch_len_ = 3;
31424 : : return gen_peephole2_208 (insn, operands);
31425 : :
31426 : : default:
31427 : : return NULL;
31428 : : }
31429 : : }
31430 : :
31431 : : rtx_insn *
31432 : : peephole2_33 (rtx x1 ATTRIBUTE_UNUSED,
31433 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31434 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31435 : : {
31436 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31437 : : rtx x2, x3, x4, x5, x6;
31438 : : rtx_insn *res ATTRIBUTE_UNUSED;
31439 : : x2 = XEXP (x1, 0);
31440 : : if (REGNO (x2) != 17)
31441 : : return NULL;
31442 : : x3 = XEXP (x1, 1);
31443 : : operands[0] = x3;
31444 : : x4 = PATTERN (peep2_next_insn (1));
31445 : : if (GET_CODE (x4) != SET)
31446 : : return NULL;
31447 : : x5 = XEXP (x4, 1);
31448 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
31449 : : return NULL;
31450 : : x6 = XEXP (x4, 0);
31451 : : operands[1] = x6;
31452 : : switch (GET_MODE (operands[1]))
31453 : : {
31454 : : case E_QImode:
31455 : : if (!general_reg_operand (operands[1], E_QImode)
31456 : : || !
31457 : : #line 27418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31458 : : (peep2_regno_dead_p (0, FLAGS_REG)
31459 : : && !reg_overlap_mentioned_p (operands[1], operands[0])))
31460 : : return NULL;
31461 : : *pmatch_len_ = 1;
31462 : : return gen_peephole2_227 (insn, operands);
31463 : :
31464 : : case E_HImode:
31465 : : if (!general_reg_operand (operands[1], E_HImode)
31466 : : || !
31467 : : #line 27418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31468 : : (peep2_regno_dead_p (0, FLAGS_REG)
31469 : : && !reg_overlap_mentioned_p (operands[1], operands[0])))
31470 : : return NULL;
31471 : : *pmatch_len_ = 1;
31472 : : return gen_peephole2_228 (insn, operands);
31473 : :
31474 : : case E_SImode:
31475 : : if (!general_reg_operand (operands[1], E_SImode)
31476 : : || !
31477 : : #line 27418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31478 : : (peep2_regno_dead_p (0, FLAGS_REG)
31479 : : && !reg_overlap_mentioned_p (operands[1], operands[0])))
31480 : : return NULL;
31481 : : *pmatch_len_ = 1;
31482 : : return gen_peephole2_229 (insn, operands);
31483 : :
31484 : : case E_DImode:
31485 : : if (!general_reg_operand (operands[1], E_DImode)
31486 : : || !(
31487 : : #line 27418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31488 : : (peep2_regno_dead_p (0, FLAGS_REG)
31489 : : && !reg_overlap_mentioned_p (operands[1], operands[0])) &&
31490 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31491 : : (TARGET_64BIT)))
31492 : : return NULL;
31493 : : *pmatch_len_ = 1;
31494 : : return gen_peephole2_230 (insn, operands);
31495 : :
31496 : : default:
31497 : : return NULL;
31498 : : }
31499 : : }
31500 : :
31501 : : rtx_insn *
31502 : : peephole2_37 (rtx x1 ATTRIBUTE_UNUSED,
31503 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31504 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31505 : : {
31506 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31507 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31508 : : rtx x10, x11;
31509 : : rtx_insn *res ATTRIBUTE_UNUSED;
31510 : : x2 = XEXP (x1, 1);
31511 : : if (XWINT (x2, 0) == -1L)
31512 : : {
31513 : : switch (GET_MODE (operands[0]))
31514 : : {
31515 : : case E_HImode:
31516 : : if (general_reg_operand (operands[0], E_HImode)
31517 : : &&
31518 : : #line 29143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31519 : : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
31520 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31521 : : {
31522 : : *pmatch_len_ = 0;
31523 : : res = gen_peephole2_361 (insn, operands);
31524 : : if (res != NULL_RTX)
31525 : : return res;
31526 : : }
31527 : : break;
31528 : :
31529 : : case E_SImode:
31530 : : if (general_reg_operand (operands[0], E_SImode)
31531 : : &&
31532 : : #line 29143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31533 : : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
31534 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31535 : : {
31536 : : *pmatch_len_ = 0;
31537 : : res = gen_peephole2_362 (insn, operands);
31538 : : if (res != NULL_RTX)
31539 : : return res;
31540 : : }
31541 : : break;
31542 : :
31543 : : case E_DImode:
31544 : : if (general_reg_operand (operands[0], E_DImode)
31545 : : && (
31546 : : #line 29143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31547 : : ((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
31548 : : && peep2_regno_dead_p (0, FLAGS_REG)) &&
31549 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31550 : : (TARGET_64BIT)))
31551 : : {
31552 : : *pmatch_len_ = 0;
31553 : : res = gen_peephole2_363 (insn, operands);
31554 : : if (res != NULL_RTX)
31555 : : return res;
31556 : : }
31557 : : break;
31558 : :
31559 : : default:
31560 : : break;
31561 : : }
31562 : : }
31563 : : if (peep2_current_count < 2
31564 : : || peep2_current_count < 3)
31565 : : return NULL;
31566 : : operands[2] = x2;
31567 : : x3 = PATTERN (peep2_next_insn (1));
31568 : : if (pattern601 (x3,
31569 : : 2) != 0)
31570 : : return NULL;
31571 : : x4 = XVECEXP (x3, 0, 0);
31572 : : x5 = XEXP (x4, 1);
31573 : : if (XINT (x5, 1) != 110)
31574 : : return NULL;
31575 : : x6 = XVECEXP (x3, 0, 1);
31576 : : if (GET_CODE (x6) != SET)
31577 : : return NULL;
31578 : : x7 = XEXP (x6, 1);
31579 : : if (GET_CODE (x7) != PLUS
31580 : : || pattern1512 (x3) != 0
31581 : : || pattern1703 (x3) != 0)
31582 : : return NULL;
31583 : : x8 = PATTERN (peep2_next_insn (2));
31584 : : x9 = XEXP (x8, 1);
31585 : : x10 = XEXP (x9, 1);
31586 : : operands[3] = x10;
31587 : : x11 = XEXP (x9, 0);
31588 : : if (!rtx_equal_p (x11, operands[0]))
31589 : : return NULL;
31590 : : switch (GET_MODE (operands[0]))
31591 : : {
31592 : : case E_HImode:
31593 : : if (pattern1880 (x3,
31594 : : E_HImode) != 0
31595 : : || !
31596 : : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31597 : : (peep2_reg_dead_p (3, operands[0])
31598 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31599 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31600 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31601 : : return NULL;
31602 : : *pmatch_len_ = 2;
31603 : : return gen_peephole2_442 (insn, operands);
31604 : :
31605 : : case E_SImode:
31606 : : if (pattern1880 (x3,
31607 : : E_SImode) != 0
31608 : : || !
31609 : : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31610 : : (peep2_reg_dead_p (3, operands[0])
31611 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31612 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31613 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31614 : : return NULL;
31615 : : *pmatch_len_ = 2;
31616 : : return gen_peephole2_443 (insn, operands);
31617 : :
31618 : : case E_DImode:
31619 : : if (pattern1880 (x3,
31620 : : E_DImode) != 0
31621 : : || !(
31622 : : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31623 : : (peep2_reg_dead_p (3, operands[0])
31624 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31625 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31626 : : && !reg_overlap_mentioned_p (operands[0], operands[1])) &&
31627 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31628 : : (TARGET_64BIT)))
31629 : : return NULL;
31630 : : *pmatch_len_ = 2;
31631 : : return gen_peephole2_444 (insn, operands);
31632 : :
31633 : : default:
31634 : : return NULL;
31635 : : }
31636 : : }
31637 : :
31638 : : rtx_insn *
31639 : : peephole2_44 (rtx x1 ATTRIBUTE_UNUSED,
31640 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31641 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31642 : : {
31643 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31644 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31645 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
31646 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
31647 : : rtx x26;
31648 : : rtx_insn *res ATTRIBUTE_UNUSED;
31649 : : x2 = XVECEXP (x1, 0, 0);
31650 : : x3 = XEXP (x2, 0);
31651 : : if (GET_CODE (x3) != REG
31652 : : || REGNO (x3) != 17)
31653 : : return NULL;
31654 : : x4 = XVECEXP (x1, 0, 1);
31655 : : if (GET_CODE (x4) != SET)
31656 : : return NULL;
31657 : : x5 = XEXP (x2, 1);
31658 : : x6 = XEXP (x5, 0);
31659 : : switch (GET_CODE (x6))
31660 : : {
31661 : : case REG:
31662 : : operands[0] = x6;
31663 : : x7 = XEXP (x4, 1);
31664 : : if (GET_CODE (x7) != MINUS
31665 : : || GET_MODE (x3) != E_CCmode
31666 : : || GET_MODE (x5) != E_CCmode)
31667 : : return NULL;
31668 : : x8 = XEXP (x5, 1);
31669 : : operands[1] = x8;
31670 : : x9 = XEXP (x7, 0);
31671 : : if (!rtx_equal_p (x9, operands[0]))
31672 : : return NULL;
31673 : : x10 = XEXP (x7, 1);
31674 : : if (!rtx_equal_p (x10, operands[1]))
31675 : : return NULL;
31676 : : x11 = XEXP (x4, 0);
31677 : : if (!rtx_equal_p (x11, operands[0]))
31678 : : return NULL;
31679 : : switch (GET_MODE (operands[0]))
31680 : : {
31681 : : case E_QImode:
31682 : : if (!general_reg_operand (operands[0], E_QImode)
31683 : : || !general_gr_operand (operands[1], E_QImode)
31684 : : || GET_MODE (x7) != E_QImode
31685 : : || !
31686 : : #line 8665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31687 : : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
31688 : : return NULL;
31689 : : *pmatch_len_ = 0;
31690 : : return gen_peephole2_64 (insn, operands);
31691 : :
31692 : : case E_HImode:
31693 : : if (!general_reg_operand (operands[0], E_HImode)
31694 : : || !general_gr_operand (operands[1], E_HImode)
31695 : : || GET_MODE (x7) != E_HImode
31696 : : || !
31697 : : #line 8665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31698 : : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
31699 : : return NULL;
31700 : : *pmatch_len_ = 0;
31701 : : return gen_peephole2_65 (insn, operands);
31702 : :
31703 : : case E_SImode:
31704 : : if (!general_reg_operand (operands[0], E_SImode)
31705 : : || !general_gr_operand (operands[1], E_SImode)
31706 : : || GET_MODE (x7) != E_SImode
31707 : : || !
31708 : : #line 8665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31709 : : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0))
31710 : : return NULL;
31711 : : *pmatch_len_ = 0;
31712 : : return gen_peephole2_66 (insn, operands);
31713 : :
31714 : : case E_DImode:
31715 : : if (!general_reg_operand (operands[0], E_DImode)
31716 : : || !general_gr_operand (operands[1], E_DImode)
31717 : : || GET_MODE (x7) != E_DImode
31718 : : || !(
31719 : : #line 8665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31720 : : (find_regno_note (peep2_next_insn (0), REG_UNUSED, REGNO (operands[0])) != 0) &&
31721 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31722 : : (TARGET_64BIT)))
31723 : : return NULL;
31724 : : *pmatch_len_ = 0;
31725 : : return gen_peephole2_67 (insn, operands);
31726 : :
31727 : : default:
31728 : : return NULL;
31729 : : }
31730 : :
31731 : : case ZERO_EXTEND:
31732 : : if (peep2_current_count < 2)
31733 : : return NULL;
31734 : : x12 = XEXP (x6, 0);
31735 : : if (GET_CODE (x12) != PLUS)
31736 : : return NULL;
31737 : : x13 = XEXP (x12, 0);
31738 : : if (GET_CODE (x13) != PLUS)
31739 : : return NULL;
31740 : : x14 = XEXP (x13, 0);
31741 : : switch (GET_CODE (x14))
31742 : : {
31743 : : case LTU:
31744 : : case UNLT:
31745 : : operands[4] = x14;
31746 : : x15 = XEXP (x14, 1);
31747 : : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
31748 : : return NULL;
31749 : : x8 = XEXP (x5, 1);
31750 : : if (GET_CODE (x8) != PLUS)
31751 : : return NULL;
31752 : : x16 = XEXP (x8, 0);
31753 : : switch (GET_CODE (x16))
31754 : : {
31755 : : case LTU:
31756 : : case UNLT:
31757 : : operands[3] = x16;
31758 : : x17 = XEXP (x16, 1);
31759 : : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
31760 : : return NULL;
31761 : : x18 = XEXP (x8, 1);
31762 : : if (GET_CODE (x18) != ZERO_EXTEND)
31763 : : return NULL;
31764 : : x7 = XEXP (x4, 1);
31765 : : if (pattern1321 (x7) != 0
31766 : : || GET_MODE (x3) != E_CCCmode
31767 : : || GET_MODE (x5) != E_CCCmode)
31768 : : return NULL;
31769 : : x19 = XEXP (x14, 0);
31770 : : operands[2] = x19;
31771 : : if (!flags_reg_operand (operands[2], E_VOIDmode))
31772 : : return NULL;
31773 : : x20 = XEXP (x13, 1);
31774 : : operands[0] = x20;
31775 : : x21 = XEXP (x12, 1);
31776 : : operands[1] = x21;
31777 : : x22 = XEXP (x16, 0);
31778 : : if (!rtx_equal_p (x22, operands[2]))
31779 : : return NULL;
31780 : : x23 = XEXP (x18, 0);
31781 : : if (!rtx_equal_p (x23, operands[1]))
31782 : : return NULL;
31783 : : x9 = XEXP (x7, 0);
31784 : : x24 = XEXP (x9, 1);
31785 : : if (!rtx_equal_p (x24, operands[0]))
31786 : : return NULL;
31787 : : x10 = XEXP (x7, 1);
31788 : : if (!rtx_equal_p (x10, operands[1]))
31789 : : return NULL;
31790 : : x11 = XEXP (x4, 0);
31791 : : if (!rtx_equal_p (x11, operands[0]))
31792 : : return NULL;
31793 : : x25 = PATTERN (peep2_next_insn (1));
31794 : : if (GET_CODE (x25) != SET)
31795 : : return NULL;
31796 : : switch (GET_MODE (x6))
31797 : : {
31798 : : case E_DImode:
31799 : : switch (pattern1884 (x1,
31800 : : E_SImode,
31801 : : E_DImode))
31802 : : {
31803 : : case 0:
31804 : : if (!
31805 : : #line 9163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31806 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31807 : : && peep2_reg_dead_p (2, operands[0])
31808 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31809 : : return NULL;
31810 : : *pmatch_len_ = 1;
31811 : : return gen_peephole2_88 (insn, operands);
31812 : :
31813 : : case 1:
31814 : : if (!
31815 : : #line 9369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31816 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31817 : : && peep2_reg_dead_p (4, operands[0])
31818 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31819 : : && !reg_overlap_mentioned_p (operands[0], operands[5])
31820 : : && !reg_overlap_mentioned_p (operands[5], operands[1])
31821 : : && !reg_overlap_mentioned_p (operands[0], operands[6])
31822 : : && !reg_overlap_mentioned_p (operands[6], operands[1])))
31823 : : return NULL;
31824 : : *pmatch_len_ = 3;
31825 : : return gen_peephole2_96 (insn, operands);
31826 : :
31827 : : default:
31828 : : return NULL;
31829 : : }
31830 : :
31831 : : case E_TImode:
31832 : : switch (pattern1884 (x1,
31833 : : E_DImode,
31834 : : E_TImode))
31835 : : {
31836 : : case 0:
31837 : : if (!(
31838 : : #line 9163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31839 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31840 : : && peep2_reg_dead_p (2, operands[0])
31841 : : && !reg_overlap_mentioned_p (operands[0], operands[1])) &&
31842 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31843 : : (TARGET_64BIT)))
31844 : : return NULL;
31845 : : *pmatch_len_ = 1;
31846 : : return gen_peephole2_89 (insn, operands);
31847 : :
31848 : : case 1:
31849 : : if (!(
31850 : : #line 9369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31851 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31852 : : && peep2_reg_dead_p (4, operands[0])
31853 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31854 : : && !reg_overlap_mentioned_p (operands[0], operands[5])
31855 : : && !reg_overlap_mentioned_p (operands[5], operands[1])
31856 : : && !reg_overlap_mentioned_p (operands[0], operands[6])
31857 : : && !reg_overlap_mentioned_p (operands[6], operands[1])) &&
31858 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31859 : : (TARGET_64BIT)))
31860 : : return NULL;
31861 : : *pmatch_len_ = 3;
31862 : : return gen_peephole2_97 (insn, operands);
31863 : :
31864 : : default:
31865 : : return NULL;
31866 : : }
31867 : :
31868 : : default:
31869 : : return NULL;
31870 : : }
31871 : :
31872 : : default:
31873 : : return NULL;
31874 : : }
31875 : :
31876 : : default:
31877 : : return NULL;
31878 : : }
31879 : :
31880 : : case PLUS:
31881 : : case MINUS:
31882 : : case AND:
31883 : : case IOR:
31884 : : case XOR:
31885 : : if (peep2_current_count < 2)
31886 : : return NULL;
31887 : : x12 = XEXP (x6, 0);
31888 : : operands[0] = x12;
31889 : : x26 = XEXP (x6, 1);
31890 : : operands[1] = x26;
31891 : : x25 = PATTERN (peep2_next_insn (1));
31892 : : if (GET_CODE (x25) != SET)
31893 : : return NULL;
31894 : : if (GET_CODE (x6) == PLUS)
31895 : : {
31896 : : res = peephole2_43 (x1, insn, pmatch_len_);
31897 : : if (res != NULL_RTX)
31898 : : return res;
31899 : : }
31900 : : x8 = XEXP (x5, 1);
31901 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
31902 : : return NULL;
31903 : : operands[2] = x6;
31904 : : x7 = XEXP (x4, 1);
31905 : : if (!rtx_equal_p (x7, operands[2]))
31906 : : return NULL;
31907 : : switch (GET_MODE (operands[2]))
31908 : : {
31909 : : case E_QImode:
31910 : : if (!plusminuslogic_operator (operands[2], E_QImode))
31911 : : return NULL;
31912 : : if (memory_operand (operands[0], E_QImode))
31913 : : {
31914 : : x11 = XEXP (x4, 0);
31915 : : if (pattern1641 (x11,
31916 : : E_QImode) == 0
31917 : : &&
31918 : : #line 28652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31919 : : (TARGET_APX_NDD
31920 : : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31921 : : && peep2_reg_dead_p (2, operands[3])
31922 : : && !reg_overlap_mentioned_p (operands[3], operands[0])
31923 : : && ix86_match_ccmode (peep2_next_insn (0),
31924 : : (GET_CODE (operands[2]) == PLUS
31925 : : || GET_CODE (operands[2]) == MINUS)
31926 : : ? CCGOCmode : CCNOmode)))
31927 : : {
31928 : : *pmatch_len_ = 1;
31929 : : res = gen_peephole2_317 (insn, operands);
31930 : : if (res != NULL_RTX)
31931 : : return res;
31932 : : }
31933 : : }
31934 : : if (!register_operand (operands[0], E_QImode))
31935 : : return NULL;
31936 : : x11 = XEXP (x4, 0);
31937 : : if (pattern1642 (x11,
31938 : : E_QImode) != 0
31939 : : || !
31940 : : #line 28746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31941 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31942 : : && COMMUTATIVE_ARITH_P (operands[2])
31943 : : && peep2_reg_dead_p (2, operands[0])
31944 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31945 : : && ix86_match_ccmode (peep2_next_insn (0),
31946 : : GET_CODE (operands[2]) == PLUS
31947 : : ? CCGOCmode : CCNOmode)))
31948 : : return NULL;
31949 : : *pmatch_len_ = 1;
31950 : : return gen_peephole2_329 (insn, operands);
31951 : :
31952 : : case E_HImode:
31953 : : if (!plusminuslogic_operator (operands[2], E_HImode))
31954 : : return NULL;
31955 : : if (memory_operand (operands[0], E_HImode))
31956 : : {
31957 : : x11 = XEXP (x4, 0);
31958 : : if (pattern1641 (x11,
31959 : : E_HImode) == 0
31960 : : &&
31961 : : #line 28652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31962 : : (TARGET_APX_NDD
31963 : : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31964 : : && peep2_reg_dead_p (2, operands[3])
31965 : : && !reg_overlap_mentioned_p (operands[3], operands[0])
31966 : : && ix86_match_ccmode (peep2_next_insn (0),
31967 : : (GET_CODE (operands[2]) == PLUS
31968 : : || GET_CODE (operands[2]) == MINUS)
31969 : : ? CCGOCmode : CCNOmode)))
31970 : : {
31971 : : *pmatch_len_ = 1;
31972 : : res = gen_peephole2_318 (insn, operands);
31973 : : if (res != NULL_RTX)
31974 : : return res;
31975 : : }
31976 : : }
31977 : : if (!register_operand (operands[0], E_HImode))
31978 : : return NULL;
31979 : : x11 = XEXP (x4, 0);
31980 : : if (pattern1642 (x11,
31981 : : E_HImode) != 0
31982 : : || !
31983 : : #line 28746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31984 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31985 : : && COMMUTATIVE_ARITH_P (operands[2])
31986 : : && peep2_reg_dead_p (2, operands[0])
31987 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31988 : : && ix86_match_ccmode (peep2_next_insn (0),
31989 : : GET_CODE (operands[2]) == PLUS
31990 : : ? CCGOCmode : CCNOmode)))
31991 : : return NULL;
31992 : : *pmatch_len_ = 1;
31993 : : return gen_peephole2_330 (insn, operands);
31994 : :
31995 : : case E_SImode:
31996 : : if (!plusminuslogic_operator (operands[2], E_SImode))
31997 : : return NULL;
31998 : : if (memory_operand (operands[0], E_SImode))
31999 : : {
32000 : : x11 = XEXP (x4, 0);
32001 : : if (pattern1643 (x11,
32002 : : E_SImode) == 0
32003 : : &&
32004 : : #line 28652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32005 : : (TARGET_APX_NDD
32006 : : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32007 : : && peep2_reg_dead_p (2, operands[3])
32008 : : && !reg_overlap_mentioned_p (operands[3], operands[0])
32009 : : && ix86_match_ccmode (peep2_next_insn (0),
32010 : : (GET_CODE (operands[2]) == PLUS
32011 : : || GET_CODE (operands[2]) == MINUS)
32012 : : ? CCGOCmode : CCNOmode)))
32013 : : {
32014 : : *pmatch_len_ = 1;
32015 : : res = gen_peephole2_319 (insn, operands);
32016 : : if (res != NULL_RTX)
32017 : : return res;
32018 : : }
32019 : : }
32020 : : if (!register_operand (operands[0], E_SImode))
32021 : : return NULL;
32022 : : x11 = XEXP (x4, 0);
32023 : : if (pattern1642 (x11,
32024 : : E_SImode) != 0
32025 : : || !
32026 : : #line 28746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32027 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32028 : : && COMMUTATIVE_ARITH_P (operands[2])
32029 : : && peep2_reg_dead_p (2, operands[0])
32030 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32031 : : && ix86_match_ccmode (peep2_next_insn (0),
32032 : : GET_CODE (operands[2]) == PLUS
32033 : : ? CCGOCmode : CCNOmode)))
32034 : : return NULL;
32035 : : *pmatch_len_ = 1;
32036 : : return gen_peephole2_331 (insn, operands);
32037 : :
32038 : : case E_DImode:
32039 : : if (!plusminuslogic_operator (operands[2], E_DImode))
32040 : : return NULL;
32041 : : if (memory_operand (operands[0], E_DImode))
32042 : : {
32043 : : x11 = XEXP (x4, 0);
32044 : : if (pattern1643 (x11,
32045 : : E_DImode) == 0
32046 : : && (
32047 : : #line 28652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32048 : : (TARGET_APX_NDD
32049 : : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32050 : : && peep2_reg_dead_p (2, operands[3])
32051 : : && !reg_overlap_mentioned_p (operands[3], operands[0])
32052 : : && ix86_match_ccmode (peep2_next_insn (0),
32053 : : (GET_CODE (operands[2]) == PLUS
32054 : : || GET_CODE (operands[2]) == MINUS)
32055 : : ? CCGOCmode : CCNOmode)) &&
32056 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32057 : : (TARGET_64BIT)))
32058 : : {
32059 : : *pmatch_len_ = 1;
32060 : : res = gen_peephole2_320 (insn, operands);
32061 : : if (res != NULL_RTX)
32062 : : return res;
32063 : : }
32064 : : }
32065 : : if (!register_operand (operands[0], E_DImode))
32066 : : return NULL;
32067 : : x11 = XEXP (x4, 0);
32068 : : if (pattern1642 (x11,
32069 : : E_DImode) != 0
32070 : : || !(
32071 : : #line 28746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32072 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32073 : : && COMMUTATIVE_ARITH_P (operands[2])
32074 : : && peep2_reg_dead_p (2, operands[0])
32075 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32076 : : && ix86_match_ccmode (peep2_next_insn (0),
32077 : : GET_CODE (operands[2]) == PLUS
32078 : : ? CCGOCmode : CCNOmode)) &&
32079 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32080 : : (TARGET_64BIT)))
32081 : : return NULL;
32082 : : *pmatch_len_ = 1;
32083 : : return gen_peephole2_332 (insn, operands);
32084 : :
32085 : : default:
32086 : : return NULL;
32087 : : }
32088 : :
32089 : : default:
32090 : : return NULL;
32091 : : }
32092 : : }
|