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 : 39087 : pattern2 (rtx x1, int *pnum_clobbers)
57 : : {
58 : 39087 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 39087 : rtx x2, x3, x4, x5, x6, x7;
60 : 39087 : int res ATTRIBUTE_UNUSED;
61 : 39087 : x2 = XEXP (x1, 1);
62 : 39087 : x3 = XEXP (x2, 0);
63 : 39087 : operands[1] = x3;
64 : 39087 : x4 = XEXP (x2, 1);
65 : 39087 : switch (GET_CODE (x4))
66 : : {
67 : 21 : case AND:
68 : 21 : if (pnum_clobbers == NULL
69 : 21 : || GET_MODE (x4) != E_QImode)
70 : : return -1;
71 : 21 : x5 = XEXP (x1, 0);
72 : 21 : operands[0] = x5;
73 : 21 : x6 = XEXP (x4, 0);
74 : 21 : operands[2] = x6;
75 : 21 : if (!register_operand (operands[2], E_QImode))
76 : : return -1;
77 : 15 : return pattern1 (x2); /* [-1, 1] */
78 : :
79 : 49 : case PLUS:
80 : 49 : if (pnum_clobbers == NULL
81 : 49 : || GET_MODE (x4) != E_QImode)
82 : : return -1;
83 : 49 : x5 = XEXP (x1, 0);
84 : 49 : operands[0] = x5;
85 : 49 : x6 = XEXP (x4, 0);
86 : 49 : operands[2] = x6;
87 : 49 : if (!nonimmediate_operand (operands[2], E_QImode))
88 : : return -1;
89 : 49 : res = pattern1 (x2);
90 : 49 : if (res >= 0)
91 : 0 : return res + 2; /* [2, 3] */
92 : : return -1;
93 : :
94 : 52 : case MINUS:
95 : 52 : if (pnum_clobbers == NULL
96 : 52 : || GET_MODE (x4) != E_QImode)
97 : : return -1;
98 : 52 : x5 = XEXP (x1, 0);
99 : 52 : operands[0] = x5;
100 : 52 : x6 = XEXP (x4, 0);
101 : 52 : operands[3] = x6;
102 : 52 : if (!const_int_operand (operands[3], E_QImode))
103 : : return -1;
104 : 17 : x7 = XEXP (x4, 1);
105 : 17 : operands[2] = x7;
106 : 17 : if (!nonimmediate_operand (operands[2], E_QImode))
107 : : return -1;
108 : 14 : res = pattern0 (x2);
109 : 14 : if (res >= 0)
110 : 0 : return res + 4; /* [4, 5] */
111 : : return -1;
112 : :
113 : : case CONST_INT:
114 : : case CONST_WIDE_INT:
115 : : case CONST_POLY_INT:
116 : : case CONST_FIXED:
117 : : case CONST_DOUBLE:
118 : : case CONST_VECTOR:
119 : : case CONST:
120 : : case REG:
121 : : case SUBREG:
122 : : case LABEL_REF:
123 : : case SYMBOL_REF:
124 : : case HIGH:
125 : : return 6;
126 : :
127 : : default:
128 : : return -1;
129 : : }
130 : : }
131 : :
132 : : int
133 : 115646 : pattern31 (rtx x1)
134 : : {
135 : 115646 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
136 : 115646 : rtx x2, x3, x4, x5;
137 : 115646 : int res ATTRIBUTE_UNUSED;
138 : 115646 : x2 = XEXP (x1, 0);
139 : 115646 : operands[0] = x2;
140 : 115646 : x3 = XEXP (x1, 1);
141 : 115646 : x4 = XEXP (x3, 0);
142 : 115646 : operands[1] = x4;
143 : 115646 : x5 = XEXP (x3, 1);
144 : 115646 : operands[2] = x5;
145 : 115646 : switch (GET_MODE (operands[0]))
146 : : {
147 : 437 : case E_V32QImode:
148 : 437 : return pattern3 (x3,
149 : 437 : E_V32QImode); /* [-1, 0] */
150 : :
151 : 821 : case E_V16HImode:
152 : 821 : if (pattern3 (x3,
153 : : E_V16HImode) != 0)
154 : : return -1;
155 : : return 1;
156 : :
157 : 858 : case E_V8SImode:
158 : 858 : if (pattern3 (x3,
159 : : E_V8SImode) != 0)
160 : : return -1;
161 : : return 2;
162 : :
163 : 142 : case E_V16SImode:
164 : 142 : if (pattern3 (x3,
165 : : E_V16SImode) != 0)
166 : : return -1;
167 : : return 3;
168 : :
169 : 1996 : case E_V4SImode:
170 : 1996 : if (!register_operand (operands[0], E_V4SImode)
171 : 1996 : || GET_MODE (x3) != E_V4SImode)
172 : : return -1;
173 : : return 4;
174 : :
175 : 1691 : case E_V8DImode:
176 : 1691 : if (pattern3 (x3,
177 : : E_V8DImode) != 0)
178 : : return -1;
179 : : return 5;
180 : :
181 : 308 : case E_V4DImode:
182 : 308 : if (pattern3 (x3,
183 : : E_V4DImode) != 0)
184 : : return -1;
185 : : return 6;
186 : :
187 : 160 : case E_V2DImode:
188 : 160 : if (pattern3 (x3,
189 : : E_V2DImode) != 0)
190 : : return -1;
191 : : return 7;
192 : :
193 : 170 : case E_V64QImode:
194 : 170 : if (pattern3 (x3,
195 : : E_V64QImode) != 0)
196 : : return -1;
197 : : return 8;
198 : :
199 : 10002 : case E_V16QImode:
200 : 10002 : if (!register_operand (operands[0], E_V16QImode)
201 : 10002 : || GET_MODE (x3) != E_V16QImode)
202 : : return -1;
203 : : return 9;
204 : :
205 : 172 : case E_V32HImode:
206 : 172 : if (pattern3 (x3,
207 : : E_V32HImode) != 0)
208 : : return -1;
209 : : return 10;
210 : :
211 : 5431 : case E_V8HImode:
212 : 5431 : if (!register_operand (operands[0], E_V8HImode)
213 : 5431 : || GET_MODE (x3) != E_V8HImode)
214 : : return -1;
215 : : return 11;
216 : :
217 : : default:
218 : : return -1;
219 : : }
220 : : }
221 : :
222 : : int
223 : 179574 : pattern40 (rtx x1, machine_mode i1, machine_mode i2)
224 : : {
225 : 179574 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
226 : 179574 : rtx x2, x3, x4;
227 : 179574 : int res ATTRIBUTE_UNUSED;
228 : 179574 : if (!register_operand (operands[0], i2)
229 : 179574 : || GET_MODE (x1) != i2)
230 : : return -1;
231 : 179331 : x2 = XEXP (x1, 0);
232 : 179331 : x3 = XEXP (x2, 0);
233 : 179331 : operands[1] = x3;
234 : 179331 : if (!nonimmediate_operand (operands[1], i1))
235 : : return -1;
236 : 140962 : x4 = XEXP (x1, 1);
237 : 140962 : operands[2] = x4;
238 : 140962 : if (!const_int_operand (operands[2], E_QImode))
239 : : return -1;
240 : : return 0;
241 : : }
242 : :
243 : : int
244 : 154674 : pattern46 (rtx x1)
245 : : {
246 : 154674 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
247 : 154674 : int res ATTRIBUTE_UNUSED;
248 : 154674 : switch (GET_MODE (x1))
249 : : {
250 : 48061 : case E_QImode:
251 : 48061 : if (!nonimmediate_operand (operands[1], E_QImode)
252 : 48061 : || !general_operand (operands[2], E_QImode))
253 : 25967 : return -1;
254 : : return 0;
255 : :
256 : 785 : case E_HImode:
257 : 785 : if (!nonimmediate_operand (operands[1], E_HImode)
258 : 785 : || !general_operand (operands[2], E_HImode))
259 : 214 : return -1;
260 : : return 1;
261 : :
262 : 45963 : case E_SImode:
263 : 45963 : if (!nonimmediate_operand (operands[1], E_SImode)
264 : 45963 : || !x86_64_general_operand (operands[2], E_SImode))
265 : 20776 : return -1;
266 : : return 2;
267 : :
268 : 56985 : case E_DImode:
269 : 56985 : if (!nonimmediate_operand (operands[1], E_DImode)
270 : 56985 : || !x86_64_general_operand (operands[2], E_DImode))
271 : 25902 : return -1;
272 : : return 3;
273 : :
274 : : default:
275 : : return -1;
276 : : }
277 : : }
278 : :
279 : : int
280 : 2501 : pattern54 (rtx x1, machine_mode i1)
281 : : {
282 : 2501 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
283 : 2501 : rtx x2, x3, x4;
284 : 2501 : int res ATTRIBUTE_UNUSED;
285 : 2501 : x2 = XEXP (x1, 1);
286 : 2501 : if (GET_MODE (x2) != E_CCmode)
287 : : return -1;
288 : 2501 : x3 = XEXP (x1, 0);
289 : 2501 : if (GET_CODE (x3) != REG
290 : 2501 : || REGNO (x3) != 17
291 : 5000 : || GET_MODE (x3) != E_CCmode)
292 : : return -1;
293 : 2499 : x4 = XVECEXP (x2, 0, 0);
294 : 2499 : operands[0] = x4;
295 : 2499 : if (!register_operand (operands[0], i1))
296 : : return -1;
297 : : return 0;
298 : : }
299 : :
300 : : int
301 : 567 : pattern58 (rtx x1, int *pnum_clobbers, machine_mode i1)
302 : : {
303 : 567 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
304 : 567 : rtx x2, x3, x4;
305 : 567 : int res ATTRIBUTE_UNUSED;
306 : 567 : if (pnum_clobbers == NULL)
307 : : return -1;
308 : 567 : x2 = XEXP (x1, 1);
309 : 567 : if (GET_MODE (x2) != i1)
310 : : return -1;
311 : 567 : x3 = XEXP (x1, 0);
312 : 567 : operands[0] = x3;
313 : 567 : if (!register_operand (operands[0], i1))
314 : : return -1;
315 : 550 : x4 = XVECEXP (x2, 0, 0);
316 : 550 : operands[1] = x4;
317 : 550 : if (!register_operand (operands[1], i1))
318 : : return -1;
319 : : return 0;
320 : : }
321 : :
322 : : int
323 : 13931 : pattern63 (rtx x1, machine_mode i1)
324 : : {
325 : 13931 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
326 : 13931 : int res ATTRIBUTE_UNUSED;
327 : 13931 : if (!register_operand (operands[0], i1)
328 : 13471 : || GET_MODE (x1) != i1
329 : 13471 : || !register_operand (operands[1], E_V4HImode)
330 : 23124 : || !register_mmxmem_operand (operands[2], E_V4HImode))
331 : 7668 : return -1;
332 : : return 0;
333 : : }
334 : :
335 : : int
336 : 1860 : pattern67 (rtx x1)
337 : : {
338 : 1860 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
339 : 1860 : rtx x2, x3, x4, x5;
340 : 1860 : int res ATTRIBUTE_UNUSED;
341 : 1860 : x2 = XEXP (x1, 0);
342 : 1860 : operands[0] = x2;
343 : 1860 : x3 = XEXP (x1, 1);
344 : 1860 : x4 = XVECEXP (x3, 0, 0);
345 : 1860 : operands[1] = x4;
346 : 1860 : x5 = XVECEXP (x3, 0, 1);
347 : 1860 : operands[2] = x5;
348 : 1860 : return pattern66 (x3); /* [-1, 8] */
349 : : }
350 : :
351 : : int
352 : 75337 : pattern72 (rtx x1, int *pnum_clobbers)
353 : : {
354 : 75337 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
355 : 75337 : int res ATTRIBUTE_UNUSED;
356 : 75337 : if (pnum_clobbers == NULL
357 : 75337 : || !nonimmediate_operand (operands[0], E_TImode)
358 : 75245 : || GET_MODE (x1) != E_TImode
359 : 75245 : || !nonimmediate_operand (operands[1], E_TImode)
360 : 139932 : || !x86_64_hilo_general_operand (operands[2], E_TImode))
361 : 28731 : return -1;
362 : : return 0;
363 : : }
364 : :
365 : : int
366 : 11017 : pattern78 (rtx x1)
367 : : {
368 : 11017 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
369 : 11017 : rtx x2, x3, x4;
370 : 11017 : int res ATTRIBUTE_UNUSED;
371 : 11017 : x2 = XEXP (x1, 0);
372 : 11017 : if (GET_MODE (x2) != E_QImode
373 : 6663 : || !register_operand (operands[0], E_HImode)
374 : 11415 : || GET_MODE (x1) != E_HImode)
375 : 10619 : return -1;
376 : 398 : x3 = XEXP (x2, 0);
377 : 398 : operands[1] = x3;
378 : 398 : if (!nonimmediate_operand (operands[1], E_QImode))
379 : : return -1;
380 : 249 : x4 = XEXP (x2, 1);
381 : 249 : operands[2] = x4;
382 : 249 : if (!x86_64_general_operand (operands[2], E_QImode))
383 : : return -1;
384 : : return 0;
385 : : }
386 : :
387 : : int
388 : 40960 : pattern86 (rtx x1, int *pnum_clobbers)
389 : : {
390 : 40960 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
391 : 40960 : rtx x2, x3, x4, x5, x6, x7;
392 : 40960 : int res ATTRIBUTE_UNUSED;
393 : 40960 : if (pnum_clobbers == NULL)
394 : : return -1;
395 : 40960 : x2 = XEXP (x1, 1);
396 : 40960 : x3 = XEXP (x2, 0);
397 : 40960 : if (GET_MODE (x3) != E_TImode)
398 : : return -1;
399 : 14289 : x4 = XEXP (x3, 0);
400 : 14289 : if (GET_CODE (x4) != ASHIFT
401 : 11215 : || GET_MODE (x4) != E_TImode)
402 : : return -1;
403 : 11215 : x5 = XEXP (x4, 0);
404 : 11215 : if (GET_CODE (x5) != ZERO_EXTEND
405 : 11195 : || GET_MODE (x5) != E_TImode)
406 : : return -1;
407 : 11195 : x6 = XEXP (x3, 1);
408 : 11195 : if (GET_CODE (x6) != ZERO_EXTEND
409 : 11044 : || GET_MODE (x6) != E_TImode)
410 : : return -1;
411 : 11044 : x7 = XEXP (x1, 0);
412 : 11044 : operands[0] = x7;
413 : 11044 : return pattern85 (x2,
414 : : E_TImode,
415 : 11044 : E_DImode); /* [-1, 1] */
416 : : }
417 : :
418 : : int
419 : 168 : pattern93 (rtx x1)
420 : : {
421 : 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
422 : 168 : rtx x2, x3, x4, x5;
423 : 168 : int res ATTRIBUTE_UNUSED;
424 : 168 : x2 = XEXP (x1, 1);
425 : 168 : if (GET_MODE (x2) != E_CCZmode)
426 : : return -1;
427 : 168 : x3 = XEXP (x1, 0);
428 : 168 : if (GET_CODE (x3) != REG
429 : 168 : || REGNO (x3) != 17
430 : 336 : || GET_MODE (x3) != E_CCZmode)
431 : : return -1;
432 : 168 : x4 = XVECEXP (x2, 0, 0);
433 : 168 : operands[0] = x4;
434 : 168 : x5 = XVECEXP (x2, 0, 1);
435 : 168 : operands[1] = x5;
436 : 168 : if (!memory_operand (operands[1], E_XImode))
437 : : return -1;
438 : 168 : switch (GET_MODE (operands[0]))
439 : : {
440 : 0 : case E_SImode:
441 : 0 : if (!register_operand (operands[0], E_SImode))
442 : : return -1;
443 : : return 0;
444 : :
445 : 168 : case E_DImode:
446 : 168 : if (!register_operand (operands[0], E_DImode))
447 : : return -1;
448 : : return 1;
449 : :
450 : : default:
451 : : return -1;
452 : : }
453 : : }
454 : :
455 : : int
456 : 1612 : pattern104 (rtx x1, machine_mode i1)
457 : : {
458 : 1612 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
459 : 1612 : rtx x2;
460 : 1612 : int res ATTRIBUTE_UNUSED;
461 : 1612 : if (!nonimmediate_operand (operands[0], i1)
462 : 1612 : || GET_MODE (x1) != i1)
463 : : return -1;
464 : 1612 : x2 = XEXP (x1, 0);
465 : 1612 : if (GET_MODE (x2) != i1
466 : 1612 : || !x86_64_general_operand (operands[1], i1))
467 : 199 : return -1;
468 : : return 0;
469 : : }
470 : :
471 : : int
472 : 51754 : pattern109 (rtx x1)
473 : : {
474 : 51754 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
475 : 51754 : rtx x2, x3, x4;
476 : 51754 : int res ATTRIBUTE_UNUSED;
477 : 51754 : x2 = XEXP (x1, 0);
478 : 51754 : x3 = XEXP (x2, 0);
479 : 51754 : operands[1] = x3;
480 : 51754 : x4 = XEXP (x2, 1);
481 : 51754 : operands[2] = x4;
482 : 51754 : switch (GET_MODE (operands[0]))
483 : : {
484 : 42873 : case E_DImode:
485 : 42873 : if (!register_operand (operands[0], E_DImode)
486 : 42873 : || GET_MODE (x1) != E_DImode)
487 : : return -1;
488 : 42757 : switch (GET_MODE (x2))
489 : : {
490 : 39641 : case E_SImode:
491 : 39641 : if (!nonimmediate_operand (operands[1], E_SImode))
492 : : return -1;
493 : : return 0;
494 : :
495 : 2081 : case E_QImode:
496 : 2081 : if (!nonimmediate_operand (operands[1], E_QImode)
497 : 2081 : || !nonmemory_operand (operands[2], E_QImode))
498 : 40 : return -1;
499 : : return 1;
500 : :
501 : 1035 : case E_HImode:
502 : 1035 : if (!nonimmediate_operand (operands[1], E_HImode)
503 : 1035 : || !nonmemory_operand (operands[2], E_QImode))
504 : 2 : return -1;
505 : : return 2;
506 : :
507 : : default:
508 : : return -1;
509 : : }
510 : :
511 : 8164 : case E_SImode:
512 : 8164 : if (!register_operand (operands[0], E_SImode)
513 : 8164 : || GET_MODE (x1) != E_SImode
514 : 16328 : || !nonmemory_operand (operands[2], E_QImode))
515 : 132 : return -1;
516 : 8032 : switch (GET_MODE (x2))
517 : : {
518 : 6276 : case E_QImode:
519 : 6276 : if (!nonimmediate_operand (operands[1], E_QImode))
520 : : return -1;
521 : : return 3;
522 : :
523 : 1756 : case E_HImode:
524 : 1756 : if (!nonimmediate_operand (operands[1], E_HImode))
525 : : return -1;
526 : : return 4;
527 : :
528 : : default:
529 : : return -1;
530 : : }
531 : :
532 : : default:
533 : : return -1;
534 : : }
535 : : }
536 : :
537 : : int
538 : 9327 : pattern126 (rtx x1, machine_mode i1, machine_mode i2)
539 : : {
540 : 9327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
541 : 9327 : rtx x2;
542 : 9327 : int res ATTRIBUTE_UNUSED;
543 : 9327 : if (!register_operand (operands[0], i1)
544 : 9327 : || GET_MODE (x1) != i1)
545 : : return -1;
546 : 8912 : x2 = XEXP (x1, 0);
547 : 8912 : if (GET_MODE (x2) != i1
548 : 8912 : || !vector_operand (operands[1], i1)
549 : 8814 : || !vector_operand (operands[2], i1)
550 : 8336 : || !nonimm_or_0_operand (operands[3], i1)
551 : 16950 : || !register_operand (operands[4], i2))
552 : 1300 : return -1;
553 : : return 0;
554 : : }
555 : :
556 : : int
557 : 3646 : pattern138 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
558 : : {
559 : 3646 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
560 : 3646 : rtx x2;
561 : 3646 : int res ATTRIBUTE_UNUSED;
562 : 3646 : if (!nonimmediate_operand (operands[0], i1)
563 : 3646 : || GET_MODE (x1) != i1)
564 : : return -1;
565 : 3646 : x2 = XEXP (x1, 0);
566 : 3646 : if (GET_MODE (x2) != i1
567 : 3646 : || !register_operand (operands[1], i3)
568 : 3645 : || !nonimm_or_0_operand (operands[2], i1)
569 : 7279 : || !register_operand (operands[3], i2))
570 : 229 : return -1;
571 : : return 0;
572 : : }
573 : :
574 : : int
575 : 7075 : pattern145 (rtx x1, machine_mode i1, machine_mode i2)
576 : : {
577 : 7075 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
578 : 7075 : rtx x2;
579 : 7075 : int res ATTRIBUTE_UNUSED;
580 : 7075 : if (!register_operand (operands[0], i1)
581 : 7075 : || GET_MODE (x1) != i1)
582 : : return -1;
583 : 6715 : x2 = XEXP (x1, 0);
584 : 6715 : if (GET_MODE (x2) != i1
585 : 6715 : || !nonimmediate_operand (operands[1], i1)
586 : 6655 : || !nonimm_or_0_operand (operands[2], i1)
587 : 13220 : || !register_operand (operands[3], i2))
588 : 658 : return -1;
589 : : return 0;
590 : : }
591 : :
592 : : int
593 : 5613 : pattern147 (rtx x1)
594 : : {
595 : 5613 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
596 : 5613 : rtx x2, x3, x4, x5;
597 : 5613 : int res ATTRIBUTE_UNUSED;
598 : 5613 : x2 = XEXP (x1, 0);
599 : 5613 : x3 = XEXP (x2, 0);
600 : 5613 : operands[1] = x3;
601 : 5613 : x4 = XEXP (x1, 1);
602 : 5613 : operands[2] = x4;
603 : 5613 : x5 = XEXP (x1, 2);
604 : 5613 : operands[3] = x5;
605 : 5613 : switch (GET_MODE (operands[0]))
606 : : {
607 : 457 : case E_V16SImode:
608 : 457 : return pattern145 (x1,
609 : : E_V16SImode,
610 : 457 : E_HImode); /* [-1, 0] */
611 : :
612 : 446 : case E_V8SImode:
613 : 446 : if (pattern145 (x1,
614 : : E_V8SImode,
615 : : E_QImode) != 0)
616 : : return -1;
617 : : return 1;
618 : :
619 : 398 : case E_V4SImode:
620 : 398 : if (pattern145 (x1,
621 : : E_V4SImode,
622 : : E_QImode) != 0)
623 : : return -1;
624 : : return 2;
625 : :
626 : 544 : case E_V8DImode:
627 : 544 : if (pattern145 (x1,
628 : : E_V8DImode,
629 : : E_QImode) != 0)
630 : : return -1;
631 : : return 3;
632 : :
633 : 509 : case E_V4DImode:
634 : 509 : if (pattern145 (x1,
635 : : E_V4DImode,
636 : : E_QImode) != 0)
637 : : return -1;
638 : : return 4;
639 : :
640 : 413 : case E_V2DImode:
641 : 413 : if (pattern145 (x1,
642 : : E_V2DImode,
643 : : E_QImode) != 0)
644 : : return -1;
645 : : return 5;
646 : :
647 : 484 : case E_V64QImode:
648 : 484 : if (pattern145 (x1,
649 : : E_V64QImode,
650 : : E_DImode) != 0)
651 : : return -1;
652 : : return 6;
653 : :
654 : 486 : case E_V16QImode:
655 : 486 : if (pattern145 (x1,
656 : : E_V16QImode,
657 : : E_HImode) != 0)
658 : : return -1;
659 : : return 7;
660 : :
661 : 558 : case E_V32QImode:
662 : 558 : if (pattern145 (x1,
663 : : E_V32QImode,
664 : : E_SImode) != 0)
665 : : return -1;
666 : : return 8;
667 : :
668 : 449 : case E_V32HImode:
669 : 449 : if (pattern145 (x1,
670 : : E_V32HImode,
671 : : E_SImode) != 0)
672 : : return -1;
673 : : return 9;
674 : :
675 : 500 : case E_V16HImode:
676 : 500 : if (pattern146 (x1,
677 : : E_V16HImode) != 0)
678 : : return -1;
679 : : return 10;
680 : :
681 : 369 : case E_V8HImode:
682 : 369 : if (pattern145 (x1,
683 : : E_V8HImode,
684 : : E_QImode) != 0)
685 : : return -1;
686 : : return 11;
687 : :
688 : : default:
689 : : return -1;
690 : : }
691 : : }
692 : :
693 : : int
694 : 564 : pattern161 (rtx x1)
695 : : {
696 : 564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
697 : 564 : rtx x2, x3, x4, x5;
698 : 564 : int res ATTRIBUTE_UNUSED;
699 : 564 : x2 = XEXP (x1, 0);
700 : 564 : operands[0] = x2;
701 : 564 : x3 = XEXP (x1, 1);
702 : 564 : x4 = XVECEXP (x3, 0, 0);
703 : 564 : operands[1] = x4;
704 : 564 : x5 = XVECEXP (x3, 0, 1);
705 : 564 : operands[2] = x5;
706 : 564 : switch (GET_MODE (operands[0]))
707 : : {
708 : 308 : case E_V32QImode:
709 : 308 : return pattern151 (x3,
710 : 308 : E_V32QImode); /* [-1, 0] */
711 : :
712 : 0 : case E_V16QImode:
713 : 0 : if (pattern151 (x3,
714 : : E_V16QImode) != 0)
715 : : return -1;
716 : : return 1;
717 : :
718 : 256 : case E_V64QImode:
719 : 256 : if (pattern151 (x3,
720 : : E_V64QImode) != 0)
721 : : return -1;
722 : : return 2;
723 : :
724 : : default:
725 : : return -1;
726 : : }
727 : : }
728 : :
729 : : int
730 : 200 : pattern170 (rtx x1)
731 : : {
732 : 200 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
733 : 200 : rtx x2, x3;
734 : 200 : int res ATTRIBUTE_UNUSED;
735 : 200 : x2 = XEXP (x1, 1);
736 : 200 : if (GET_MODE (x2) != E_V4SImode)
737 : : return -1;
738 : 200 : x3 = XEXP (x1, 0);
739 : 200 : operands[0] = x3;
740 : 200 : return pattern169 (x2); /* [-1, 0] */
741 : : }
742 : :
743 : : int
744 : 1442 : pattern174 (rtx x1)
745 : : {
746 : 1442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
747 : 1442 : rtx x2, x3, x4, x5, x6;
748 : 1442 : int res ATTRIBUTE_UNUSED;
749 : 1442 : x2 = XEXP (x1, 0);
750 : 1442 : operands[0] = x2;
751 : 1442 : x3 = XEXP (x1, 1);
752 : 1442 : x4 = XVECEXP (x3, 0, 0);
753 : 1442 : operands[1] = x4;
754 : 1442 : x5 = XVECEXP (x3, 0, 1);
755 : 1442 : operands[2] = x5;
756 : 1442 : x6 = XVECEXP (x3, 0, 2);
757 : 1442 : operands[3] = x6;
758 : 1442 : if (!const_0_to_255_operand (operands[3], E_SImode))
759 : : return -1;
760 : 1442 : switch (GET_MODE (operands[0]))
761 : : {
762 : 150 : case E_V32HImode:
763 : 150 : return pattern60 (x3,
764 : 150 : E_V32HImode); /* [-1, 0] */
765 : :
766 : 168 : case E_V16SImode:
767 : 168 : if (pattern60 (x3,
768 : : E_V16SImode) != 0)
769 : : return -1;
770 : : return 1;
771 : :
772 : 183 : case E_V8DImode:
773 : 183 : if (pattern60 (x3,
774 : : E_V8DImode) != 0)
775 : : return -1;
776 : : return 2;
777 : :
778 : 144 : case E_V16HImode:
779 : 144 : if (pattern60 (x3,
780 : : E_V16HImode) != 0)
781 : : return -1;
782 : : return 3;
783 : :
784 : 162 : case E_V8SImode:
785 : 162 : if (pattern60 (x3,
786 : : E_V8SImode) != 0)
787 : : return -1;
788 : : return 4;
789 : :
790 : 172 : case E_V4DImode:
791 : 172 : if (pattern60 (x3,
792 : : E_V4DImode) != 0)
793 : : return -1;
794 : : return 5;
795 : :
796 : 141 : case E_V8HImode:
797 : 141 : if (pattern60 (x3,
798 : : E_V8HImode) != 0)
799 : : return -1;
800 : : return 6;
801 : :
802 : 156 : case E_V4SImode:
803 : 156 : if (pattern60 (x3,
804 : : E_V4SImode) != 0)
805 : : return -1;
806 : : return 7;
807 : :
808 : 166 : case E_V2DImode:
809 : 166 : if (pattern60 (x3,
810 : : E_V2DImode) != 0)
811 : : return -1;
812 : : return 8;
813 : :
814 : : default:
815 : : return -1;
816 : : }
817 : : }
818 : :
819 : : int
820 : 225950 : pattern189 (rtx x1)
821 : : {
822 : 225950 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
823 : 225950 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
824 : 225950 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
825 : 225950 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
826 : 225950 : rtx x26, x27;
827 : 225950 : int res ATTRIBUTE_UNUSED;
828 : 225950 : x2 = XEXP (x1, 0);
829 : 225950 : x3 = XEXP (x2, 0);
830 : 225950 : if (GET_CODE (x3) != VEC_CONCAT)
831 : : return -1;
832 : 70740 : x4 = XEXP (x2, 1);
833 : 70740 : if (GET_CODE (x4) != PARALLEL)
834 : : return -1;
835 : 70740 : x5 = XEXP (x1, 1);
836 : 70740 : if (GET_CODE (x5) != VEC_SELECT)
837 : : return -1;
838 : 1790 : x6 = XEXP (x5, 0);
839 : 1790 : if (GET_CODE (x6) != VEC_CONCAT)
840 : : return -1;
841 : 1782 : x7 = XEXP (x5, 1);
842 : 1782 : if (GET_CODE (x7) != PARALLEL)
843 : : return -1;
844 : 1782 : x8 = XEXP (x3, 0);
845 : 1782 : operands[1] = x8;
846 : 1782 : x9 = XEXP (x3, 1);
847 : 1782 : operands[2] = x9;
848 : 1782 : x10 = XEXP (x6, 0);
849 : 1782 : if (!rtx_equal_p (x10, operands[1]))
850 : : return -1;
851 : 1518 : x11 = XEXP (x6, 1);
852 : 1518 : if (!rtx_equal_p (x11, operands[2]))
853 : : return -1;
854 : 1513 : switch (XVECLEN (x4, 0))
855 : : {
856 : 189 : case 16:
857 : 189 : return pattern187 (x1); /* [-1, 0] */
858 : :
859 : 512 : case 8:
860 : 512 : x12 = XVECEXP (x4, 0, 0);
861 : 512 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
862 : : return -1;
863 : 512 : x13 = XVECEXP (x4, 0, 1);
864 : 512 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
865 : : return -1;
866 : 512 : x14 = XVECEXP (x4, 0, 2);
867 : 512 : if (GET_CODE (x14) != CONST_INT)
868 : : return -1;
869 : 512 : x15 = XVECEXP (x4, 0, 3);
870 : 512 : if (GET_CODE (x15) != CONST_INT)
871 : : return -1;
872 : 512 : x16 = XVECEXP (x4, 0, 4);
873 : 512 : if (GET_CODE (x16) != CONST_INT)
874 : : return -1;
875 : 512 : x17 = XVECEXP (x4, 0, 5);
876 : 512 : if (GET_CODE (x17) != CONST_INT)
877 : : return -1;
878 : 512 : x18 = XVECEXP (x4, 0, 6);
879 : 512 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
880 : : return -1;
881 : 512 : x19 = XVECEXP (x4, 0, 7);
882 : 512 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
883 : 512 : || XVECLEN (x7, 0) != 8)
884 : : return -1;
885 : 512 : x20 = XVECEXP (x7, 0, 0);
886 : 512 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
887 : : return -1;
888 : 512 : x21 = XVECEXP (x7, 0, 1);
889 : 512 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
890 : : return -1;
891 : 512 : x22 = XVECEXP (x7, 0, 2);
892 : 512 : if (GET_CODE (x22) != CONST_INT)
893 : : return -1;
894 : 512 : x23 = XVECEXP (x7, 0, 3);
895 : 512 : if (GET_CODE (x23) != CONST_INT)
896 : : return -1;
897 : 512 : x24 = XVECEXP (x7, 0, 4);
898 : 512 : if (GET_CODE (x24) != CONST_INT)
899 : : return -1;
900 : 512 : x25 = XVECEXP (x7, 0, 5);
901 : 512 : if (GET_CODE (x25) != CONST_INT)
902 : : return -1;
903 : 512 : x26 = XVECEXP (x7, 0, 6);
904 : 512 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
905 : : return -1;
906 : 512 : x27 = XVECEXP (x7, 0, 7);
907 : 512 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
908 : : return -1;
909 : 512 : switch (XWINT (x14, 0))
910 : : {
911 : 314 : case 4L:
912 : 314 : if (XWINT (x15, 0) != 6L
913 : 314 : || XWINT (x16, 0) != 8L
914 : 314 : || XWINT (x17, 0) != 10L
915 : 314 : || XWINT (x22, 0) != 5L
916 : 314 : || XWINT (x23, 0) != 7L
917 : 314 : || XWINT (x24, 0) != 9L
918 : 314 : || XWINT (x25, 0) != 11L
919 : 628 : || pattern188 (x1,
920 : : E_V16HImode,
921 : : E_V8HImode) != 0)
922 : 58 : return -1;
923 : : return 1;
924 : :
925 : 198 : case 8L:
926 : 198 : if (XWINT (x15, 0) != 10L
927 : 198 : || XWINT (x16, 0) != 4L
928 : 198 : || XWINT (x17, 0) != 6L
929 : 198 : || XWINT (x22, 0) != 9L
930 : 198 : || XWINT (x23, 0) != 11L
931 : 198 : || XWINT (x24, 0) != 5L
932 : 198 : || XWINT (x25, 0) != 7L
933 : 396 : || pattern186 (x1,
934 : : E_V16SImode,
935 : : E_V8SImode) != 0)
936 : 11 : return -1;
937 : : return 2;
938 : :
939 : : default:
940 : : return -1;
941 : : }
942 : :
943 : 741 : case 4:
944 : 741 : x12 = XVECEXP (x4, 0, 0);
945 : 741 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
946 : : return -1;
947 : 251 : x13 = XVECEXP (x4, 0, 1);
948 : 251 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
949 : : return -1;
950 : 251 : x14 = XVECEXP (x4, 0, 2);
951 : 251 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
952 : : return -1;
953 : 251 : x15 = XVECEXP (x4, 0, 3);
954 : 251 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
955 : 251 : || XVECLEN (x7, 0) != 4)
956 : : return -1;
957 : 251 : x20 = XVECEXP (x7, 0, 0);
958 : 251 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
959 : : return -1;
960 : 251 : x21 = XVECEXP (x7, 0, 1);
961 : 251 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
962 : : return -1;
963 : 251 : x22 = XVECEXP (x7, 0, 2);
964 : 251 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
965 : : return -1;
966 : 251 : x23 = XVECEXP (x7, 0, 3);
967 : 251 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
968 : 251 : || pattern188 (x1,
969 : : E_V8SImode,
970 : : E_V4SImode) != 0)
971 : 25 : return -1;
972 : : return 3;
973 : :
974 : : default:
975 : : return -1;
976 : : }
977 : : }
978 : :
979 : : int
980 : 661 : pattern218 (rtx x1, machine_mode i1)
981 : : {
982 : 661 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
983 : 661 : int res ATTRIBUTE_UNUSED;
984 : 661 : if (!register_operand (operands[0], i1)
985 : 661 : || GET_MODE (x1) != i1
986 : 661 : || !nonimmediate_operand (operands[1], i1)
987 : 1322 : || !register_operand (operands[2], i1))
988 : 0 : return -1;
989 : : return 0;
990 : : }
991 : :
992 : : int
993 : 344816 : pattern224 (rtx x1)
994 : : {
995 : 344816 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
996 : 344816 : rtx x2, x3;
997 : 344816 : int res ATTRIBUTE_UNUSED;
998 : 344816 : x2 = XEXP (x1, 0);
999 : 344816 : operands[1] = x2;
1000 : 344816 : x3 = XEXP (x1, 1);
1001 : 344816 : operands[2] = x3;
1002 : 344816 : if (!register_operand (operands[2], E_QImode))
1003 : : return -1;
1004 : 1881 : return pattern125 (x1); /* [-1, 1] */
1005 : : }
1006 : :
1007 : : int
1008 : 87 : pattern230 (rtx x1, machine_mode i1)
1009 : : {
1010 : 87 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1011 : 87 : int res ATTRIBUTE_UNUSED;
1012 : 87 : if (!register_operand (operands[0], i1)
1013 : 87 : || GET_MODE (x1) != i1
1014 : 87 : || !nonimmediate_operand (operands[1], i1)
1015 : 90 : || !const_vector_duplicate_operand (operands[2], i1))
1016 : 84 : return -1;
1017 : : return 0;
1018 : : }
1019 : :
1020 : : int
1021 : 362380 : pattern236 (rtx x1)
1022 : : {
1023 : 362380 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1024 : 362380 : int res ATTRIBUTE_UNUSED;
1025 : 362380 : switch (GET_MODE (operands[0]))
1026 : : {
1027 : 226797 : case E_DImode:
1028 : 226797 : if (!register_operand (operands[0], E_DImode)
1029 : 226276 : || GET_MODE (x1) != E_DImode
1030 : 453073 : || !register_operand (operands[1], E_DImode))
1031 : 2176 : return -1;
1032 : : return 0;
1033 : :
1034 : 6203 : case E_TImode:
1035 : 6203 : if (!register_operand (operands[0], E_TImode)
1036 : 6202 : || GET_MODE (x1) != E_TImode
1037 : 12405 : || !register_operand (operands[1], E_TImode))
1038 : 31 : return -1;
1039 : : return 1;
1040 : :
1041 : : default:
1042 : : return -1;
1043 : : }
1044 : : }
1045 : :
1046 : : int
1047 : 138 : pattern243 (rtx x1)
1048 : : {
1049 : 138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1050 : 138 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1051 : 138 : rtx x10;
1052 : 138 : int res ATTRIBUTE_UNUSED;
1053 : 138 : x2 = XEXP (x1, 0);
1054 : 138 : if (GET_CODE (x2) != ZERO_EXTRACT)
1055 : : return -1;
1056 : 138 : x3 = XEXP (x2, 1);
1057 : 138 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1058 : : return -1;
1059 : 138 : x4 = XEXP (x2, 2);
1060 : 138 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1061 : : return -1;
1062 : 138 : x5 = XEXP (x2, 0);
1063 : 138 : operands[0] = x5;
1064 : 138 : if (!int248_register_operand (operands[0], E_VOIDmode))
1065 : : return -1;
1066 : 138 : x6 = XEXP (x1, 1);
1067 : 138 : x7 = XEXP (x6, 0);
1068 : 138 : x8 = XEXP (x7, 0);
1069 : 138 : x9 = XEXP (x8, 0);
1070 : 138 : x10 = XEXP (x9, 0);
1071 : 138 : operands[1] = x10;
1072 : 138 : if (!int248_register_operand (operands[1], E_VOIDmode))
1073 : : return -1;
1074 : : return 0;
1075 : : }
1076 : :
1077 : : int
1078 : 21561 : pattern259 (rtx x1, machine_mode i1, machine_mode i2)
1079 : : {
1080 : 21561 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1081 : 21561 : rtx x2;
1082 : 21561 : int res ATTRIBUTE_UNUSED;
1083 : 21561 : if (!register_operand (operands[0], i1)
1084 : 21561 : || GET_MODE (x1) != i1)
1085 : : return -1;
1086 : 20330 : x2 = XEXP (x1, 0);
1087 : 20330 : if (GET_MODE (x2) != i2
1088 : 20330 : || !register_operand (operands[1], i1)
1089 : 39297 : || !register_operand (operands[2], i1))
1090 : 2777 : return -1;
1091 : : return 0;
1092 : : }
1093 : :
1094 : : int
1095 : 242205 : pattern265 (rtx x1, int *pnum_clobbers, machine_mode i1, machine_mode i2)
1096 : : {
1097 : 242205 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1098 : 242205 : rtx x2, x3, x4;
1099 : 242205 : int res ATTRIBUTE_UNUSED;
1100 : 242205 : if (!nonimmediate_operand (operands[0], i1)
1101 : 242205 : || GET_MODE (x1) != i1)
1102 : : return -1;
1103 : 242134 : x2 = XEXP (x1, 0);
1104 : 242134 : x3 = XEXP (x2, 0);
1105 : 242134 : if (!nonimmediate_operand (x3, i2))
1106 : : return -1;
1107 : 206965 : x4 = XEXP (x1, 1);
1108 : 206965 : switch (GET_CODE (x4))
1109 : : {
1110 : 175359 : case REG:
1111 : 175359 : case SUBREG:
1112 : 175359 : case MEM:
1113 : 175359 : if (pnum_clobbers == NULL)
1114 : : return -1;
1115 : 175359 : operands[1] = x4;
1116 : 175359 : if (!nonimmediate_operand (operands[1], i1))
1117 : : return -1;
1118 : 175310 : operands[2] = x3;
1119 : 175310 : return 0;
1120 : :
1121 : 0 : case ASHIFT:
1122 : 0 : if (GET_MODE (x4) != i1)
1123 : : return -1;
1124 : 0 : operands[1] = x3;
1125 : 0 : res = pattern36 (x4,
1126 : : i1,
1127 : : i2);
1128 : 0 : if (res >= 0)
1129 : 0 : return res + 1; /* [1, 3] */
1130 : : return -1;
1131 : :
1132 : 20032 : case CONST_INT:
1133 : 20032 : case CONST_WIDE_INT:
1134 : 20032 : operands[2] = x4;
1135 : 20032 : if (!const_scalar_int_operand (operands[2], i1))
1136 : : return -1;
1137 : 20032 : operands[1] = x3;
1138 : 20032 : return 4;
1139 : :
1140 : : default:
1141 : : return -1;
1142 : : }
1143 : : }
1144 : :
1145 : : int
1146 : 117423 : pattern282 (rtx x1)
1147 : : {
1148 : 117423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1149 : 117423 : rtx x2, x3, x4;
1150 : 117423 : int res ATTRIBUTE_UNUSED;
1151 : 117423 : x2 = XEXP (x1, 0);
1152 : 117423 : x3 = XEXP (x2, 0);
1153 : 117423 : operands[1] = x3;
1154 : 117423 : x4 = XEXP (x2, 1);
1155 : 117423 : operands[2] = x4;
1156 : 117423 : if (!const_int_operand (operands[2], E_QImode))
1157 : : return -1;
1158 : 114994 : switch (GET_MODE (operands[0]))
1159 : : {
1160 : 33419 : case E_SImode:
1161 : 33419 : return pattern281 (x1,
1162 : : E_DImode,
1163 : 33419 : E_SImode); /* [-1, 0] */
1164 : :
1165 : 1001 : case E_DImode:
1166 : 1001 : if (pattern281 (x1,
1167 : : E_TImode,
1168 : : E_DImode) != 0)
1169 : : return -1;
1170 : : return 1;
1171 : :
1172 : : default:
1173 : : return -1;
1174 : : }
1175 : : }
1176 : :
1177 : : int
1178 : 581 : pattern289 (rtx x1)
1179 : : {
1180 : 581 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1181 : 581 : rtx x2, x3;
1182 : 581 : int res ATTRIBUTE_UNUSED;
1183 : 581 : x2 = XVECEXP (x1, 0, 0);
1184 : 581 : operands[1] = x2;
1185 : 581 : x3 = XVECEXP (x1, 0, 1);
1186 : 581 : operands[2] = x3;
1187 : 581 : return pattern288 (x1); /* [-1, 2] */
1188 : : }
1189 : :
1190 : : int
1191 : 1194 : pattern294 (rtx x1)
1192 : : {
1193 : 1194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1194 : 1194 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1195 : 1194 : int res ATTRIBUTE_UNUSED;
1196 : 1194 : x2 = XEXP (x1, 2);
1197 : 1194 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1198 : : return -1;
1199 : 1170 : x3 = XEXP (x1, 0);
1200 : 1170 : x4 = XEXP (x3, 0);
1201 : 1170 : x5 = XEXP (x4, 0);
1202 : 1170 : operands[1] = x5;
1203 : 1170 : x6 = XEXP (x4, 1);
1204 : 1170 : operands[2] = x6;
1205 : 1170 : x7 = XEXP (x3, 1);
1206 : 1170 : operands[3] = x7;
1207 : 1170 : x8 = XEXP (x3, 2);
1208 : 1170 : operands[4] = x8;
1209 : 1170 : if (!register_operand (operands[4], E_QImode))
1210 : : return -1;
1211 : 1146 : x9 = XEXP (x1, 1);
1212 : 1146 : if (!rtx_equal_p (x9, operands[1]))
1213 : : return -1;
1214 : 1146 : switch (GET_MODE (operands[0]))
1215 : : {
1216 : 702 : case E_V8HFmode:
1217 : 702 : return pattern293 (x1,
1218 : 702 : E_V8HFmode); /* [-1, 0] */
1219 : :
1220 : 222 : case E_V4SFmode:
1221 : 222 : if (pattern293 (x1,
1222 : : E_V4SFmode) != 0)
1223 : : return -1;
1224 : : return 1;
1225 : :
1226 : 222 : case E_V2DFmode:
1227 : 222 : if (pattern293 (x1,
1228 : : E_V2DFmode) != 0)
1229 : : return -1;
1230 : : return 2;
1231 : :
1232 : : default:
1233 : : return -1;
1234 : : }
1235 : : }
1236 : :
1237 : : int
1238 : 549 : pattern306 (rtx x1, machine_mode i1)
1239 : : {
1240 : 549 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1241 : 549 : int res ATTRIBUTE_UNUSED;
1242 : 549 : if (!register_operand (operands[0], i1)
1243 : 522 : || GET_MODE (x1) != i1
1244 : 522 : || !float_vector_all_ones_operand (operands[1], i1)
1245 : 48 : || !const0_operand (operands[2], i1)
1246 : 48 : || !register_operand (operands[3], i1)
1247 : 597 : || !nonimmediate_operand (operands[4], i1))
1248 : 525 : return -1;
1249 : : return 0;
1250 : : }
1251 : :
1252 : : int
1253 : 384 : pattern312 (rtx x1)
1254 : : {
1255 : 384 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1256 : 384 : rtx x2;
1257 : 384 : int res ATTRIBUTE_UNUSED;
1258 : 384 : x2 = XVECEXP (x1, 0, 0);
1259 : 384 : operands[1] = x2;
1260 : 384 : switch (GET_MODE (operands[0]))
1261 : : {
1262 : 192 : case E_V16QImode:
1263 : 192 : if (!register_operand (operands[0], E_V16QImode)
1264 : 192 : || GET_MODE (x1) != E_V16QImode
1265 : 384 : || !nonimmediate_operand (operands[1], E_V16HFmode))
1266 : 4 : return -1;
1267 : : return 0;
1268 : :
1269 : 192 : case E_V32QImode:
1270 : 192 : if (!register_operand (operands[0], E_V32QImode)
1271 : 192 : || GET_MODE (x1) != E_V32QImode
1272 : 384 : || !nonimmediate_operand (operands[1], E_V32HFmode))
1273 : 4 : return -1;
1274 : : return 1;
1275 : :
1276 : : default:
1277 : : return -1;
1278 : : }
1279 : : }
1280 : :
1281 : : int
1282 : 947 : pattern316 (rtx x1, rtx_code i1)
1283 : : {
1284 : 947 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1285 : 947 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1286 : 947 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1287 : 947 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1288 : 947 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
1289 : 947 : rtx x34, x35, x36, x37, x38, x39;
1290 : 947 : int res ATTRIBUTE_UNUSED;
1291 : 947 : x2 = XEXP (x1, 0);
1292 : 947 : x3 = XEXP (x2, 0);
1293 : 947 : x4 = XEXP (x3, 0);
1294 : 947 : if (GET_CODE (x4) != VEC_SELECT)
1295 : : return -1;
1296 : 454 : x5 = XEXP (x4, 1);
1297 : 454 : if (GET_CODE (x5) != PARALLEL
1298 : 454 : || XVECLEN (x5, 0) != 1)
1299 : : return -1;
1300 : 454 : x6 = XVECEXP (x5, 0, 0);
1301 : 454 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1302 : : return -1;
1303 : 454 : x7 = XEXP (x3, 1);
1304 : 454 : if (GET_CODE (x7) != VEC_SELECT)
1305 : : return -1;
1306 : 454 : x8 = XEXP (x7, 1);
1307 : 454 : if (GET_CODE (x8) != PARALLEL
1308 : 454 : || XVECLEN (x8, 0) != 1)
1309 : : return -1;
1310 : 454 : x9 = XVECEXP (x8, 0, 0);
1311 : 454 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1312 : : return -1;
1313 : 454 : x10 = XEXP (x2, 1);
1314 : 454 : if (GET_CODE (x10) != i1)
1315 : : return -1;
1316 : 428 : x11 = XEXP (x10, 0);
1317 : 428 : if (GET_CODE (x11) != VEC_SELECT)
1318 : : return -1;
1319 : 428 : x12 = XEXP (x11, 1);
1320 : 428 : if (GET_CODE (x12) != PARALLEL
1321 : 428 : || XVECLEN (x12, 0) != 1)
1322 : : return -1;
1323 : 428 : x13 = XVECEXP (x12, 0, 0);
1324 : 428 : if (GET_CODE (x13) != CONST_INT)
1325 : : return -1;
1326 : 428 : x14 = XEXP (x10, 1);
1327 : 428 : if (GET_CODE (x14) != VEC_SELECT)
1328 : : return -1;
1329 : 428 : x15 = XEXP (x14, 1);
1330 : 428 : if (GET_CODE (x15) != PARALLEL
1331 : 428 : || XVECLEN (x15, 0) != 1)
1332 : : return -1;
1333 : 428 : x16 = XVECEXP (x15, 0, 0);
1334 : 428 : if (GET_CODE (x16) != CONST_INT)
1335 : : return -1;
1336 : 428 : x17 = XEXP (x1, 1);
1337 : 428 : if (GET_CODE (x17) != VEC_CONCAT)
1338 : : return -1;
1339 : 428 : x18 = XEXP (x17, 0);
1340 : 428 : if (GET_CODE (x18) != i1)
1341 : : return -1;
1342 : 428 : x19 = XEXP (x18, 0);
1343 : 428 : if (GET_CODE (x19) != VEC_SELECT)
1344 : : return -1;
1345 : 428 : x20 = XEXP (x19, 1);
1346 : 428 : if (GET_CODE (x20) != PARALLEL
1347 : 428 : || XVECLEN (x20, 0) != 1)
1348 : : return -1;
1349 : 428 : x21 = XVECEXP (x20, 0, 0);
1350 : 428 : if (GET_CODE (x21) != CONST_INT)
1351 : : return -1;
1352 : 428 : x22 = XEXP (x18, 1);
1353 : 428 : if (GET_CODE (x22) != VEC_SELECT)
1354 : : return -1;
1355 : 428 : x23 = XEXP (x22, 1);
1356 : 428 : if (GET_CODE (x23) != PARALLEL
1357 : 428 : || XVECLEN (x23, 0) != 1)
1358 : : return -1;
1359 : 428 : x24 = XVECEXP (x23, 0, 0);
1360 : 428 : if (GET_CODE (x24) != CONST_INT)
1361 : : return -1;
1362 : 428 : x25 = XEXP (x17, 1);
1363 : 428 : if (GET_CODE (x25) != i1)
1364 : : return -1;
1365 : 428 : x26 = XEXP (x25, 0);
1366 : 428 : if (GET_CODE (x26) != VEC_SELECT)
1367 : : return -1;
1368 : 428 : x27 = XEXP (x26, 1);
1369 : 428 : if (GET_CODE (x27) != PARALLEL
1370 : 428 : || XVECLEN (x27, 0) != 1)
1371 : : return -1;
1372 : 428 : x28 = XVECEXP (x27, 0, 0);
1373 : 428 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1374 : : return -1;
1375 : 428 : x29 = XEXP (x25, 1);
1376 : 428 : if (GET_CODE (x29) != VEC_SELECT)
1377 : : return -1;
1378 : 428 : x30 = XEXP (x29, 1);
1379 : 428 : if (GET_CODE (x30) != PARALLEL
1380 : 428 : || XVECLEN (x30, 0) != 1)
1381 : : return -1;
1382 : 428 : x31 = XVECEXP (x30, 0, 0);
1383 : 428 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1384 : : return -1;
1385 : 428 : x32 = XEXP (x4, 0);
1386 : 428 : operands[1] = x32;
1387 : 428 : x33 = XEXP (x7, 0);
1388 : 428 : if (!rtx_equal_p (x33, operands[1]))
1389 : : return -1;
1390 : 428 : switch (XWINT (x13, 0))
1391 : : {
1392 : 208 : case 0L:
1393 : 208 : if (XWINT (x16, 0) != 1L
1394 : 208 : || XWINT (x21, 0) != 2L
1395 : 208 : || XWINT (x24, 0) != 3L
1396 : 208 : || !register_operand (operands[0], E_V4DFmode)
1397 : 204 : || GET_MODE (x1) != E_V4DFmode
1398 : 204 : || GET_MODE (x2) != E_V2DFmode
1399 : 204 : || GET_MODE (x3) != E_DFmode
1400 : 204 : || GET_MODE (x4) != E_DFmode
1401 : 204 : || !register_operand (operands[1], E_V4DFmode)
1402 : 180 : || GET_MODE (x7) != E_DFmode
1403 : 180 : || GET_MODE (x10) != E_DFmode
1404 : 388 : || GET_MODE (x11) != E_DFmode)
1405 : 28 : return -1;
1406 : 180 : x34 = XEXP (x11, 0);
1407 : 180 : operands[2] = x34;
1408 : 180 : if (!nonimmediate_operand (operands[2], E_V4DFmode)
1409 : 156 : || GET_MODE (x14) != E_DFmode
1410 : 156 : || GET_MODE (x17) != E_V2DFmode
1411 : 156 : || GET_MODE (x18) != E_DFmode
1412 : 156 : || GET_MODE (x19) != E_DFmode
1413 : 156 : || GET_MODE (x22) != E_DFmode
1414 : 156 : || GET_MODE (x25) != E_DFmode
1415 : 156 : || GET_MODE (x26) != E_DFmode
1416 : 336 : || GET_MODE (x29) != E_DFmode)
1417 : : return -1;
1418 : 156 : x35 = XEXP (x14, 0);
1419 : 156 : if (!rtx_equal_p (x35, operands[2]))
1420 : : return -1;
1421 : 156 : x36 = XEXP (x19, 0);
1422 : 156 : if (!rtx_equal_p (x36, operands[1]))
1423 : : return -1;
1424 : 156 : x37 = XEXP (x22, 0);
1425 : 156 : if (!rtx_equal_p (x37, operands[1]))
1426 : : return -1;
1427 : 156 : x38 = XEXP (x26, 0);
1428 : 156 : if (!rtx_equal_p (x38, operands[2]))
1429 : : return -1;
1430 : 156 : x39 = XEXP (x29, 0);
1431 : 156 : if (!rtx_equal_p (x39, operands[2]))
1432 : : return -1;
1433 : : return 0;
1434 : :
1435 : 220 : case 2L:
1436 : 220 : if (XWINT (x16, 0) != 3L
1437 : 220 : || XWINT (x21, 0) != 0L
1438 : 220 : || XWINT (x24, 0) != 1L
1439 : 220 : || !register_operand (operands[0], E_V4SFmode)
1440 : 220 : || GET_MODE (x1) != E_V4SFmode
1441 : 220 : || GET_MODE (x2) != E_V2SFmode
1442 : 220 : || GET_MODE (x3) != E_SFmode
1443 : 220 : || GET_MODE (x4) != E_SFmode
1444 : 220 : || !register_operand (operands[1], E_V4SFmode)
1445 : 198 : || GET_MODE (x7) != E_SFmode
1446 : 198 : || GET_MODE (x10) != E_SFmode
1447 : 198 : || GET_MODE (x11) != E_SFmode
1448 : 198 : || GET_MODE (x14) != E_SFmode
1449 : 198 : || GET_MODE (x17) != E_V2SFmode
1450 : 198 : || GET_MODE (x18) != E_SFmode
1451 : 418 : || GET_MODE (x19) != E_SFmode)
1452 : 22 : return -1;
1453 : 198 : x36 = XEXP (x19, 0);
1454 : 198 : operands[2] = x36;
1455 : 198 : if (!vector_operand (operands[2], E_V4SFmode)
1456 : 198 : || GET_MODE (x22) != E_SFmode
1457 : 198 : || GET_MODE (x25) != E_SFmode
1458 : 198 : || GET_MODE (x26) != E_SFmode
1459 : 396 : || GET_MODE (x29) != E_SFmode)
1460 : : return -1;
1461 : 198 : x34 = XEXP (x11, 0);
1462 : 198 : if (!rtx_equal_p (x34, operands[1]))
1463 : : return -1;
1464 : 198 : x35 = XEXP (x14, 0);
1465 : 198 : if (!rtx_equal_p (x35, operands[1]))
1466 : : return -1;
1467 : 198 : x37 = XEXP (x22, 0);
1468 : 198 : if (!rtx_equal_p (x37, operands[2]))
1469 : : return -1;
1470 : 198 : x38 = XEXP (x26, 0);
1471 : 198 : if (!rtx_equal_p (x38, operands[2]))
1472 : : return -1;
1473 : 198 : x39 = XEXP (x29, 0);
1474 : 198 : if (!rtx_equal_p (x39, operands[2]))
1475 : : return -1;
1476 : : return 1;
1477 : :
1478 : : default:
1479 : : return -1;
1480 : : }
1481 : : }
1482 : :
1483 : : int
1484 : 299955 : pattern364 (rtx x1)
1485 : : {
1486 : 299955 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1487 : 299955 : rtx x2;
1488 : 299955 : int res ATTRIBUTE_UNUSED;
1489 : 299955 : if (GET_CODE (x1) != CLOBBER)
1490 : : return -1;
1491 : 288260 : x2 = XEXP (x1, 0);
1492 : 288260 : if (GET_CODE (x2) != REG
1493 : 288260 : || REGNO (x2) != 17
1494 : 576520 : || GET_MODE (x2) != E_CCmode)
1495 : 0 : return -1;
1496 : : return 0;
1497 : : }
1498 : :
1499 : : int
1500 : 534427 : pattern367 (rtx x1)
1501 : : {
1502 : 534427 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1503 : 534427 : rtx x2, x3, x4, x5, x6, x7, x8;
1504 : 534427 : int res ATTRIBUTE_UNUSED;
1505 : 534427 : x2 = XVECEXP (x1, 0, 0);
1506 : 534427 : x3 = XEXP (x2, 1);
1507 : 534427 : x4 = XEXP (x3, 0);
1508 : 534427 : operands[1] = x4;
1509 : 534427 : x5 = XEXP (x2, 0);
1510 : 534427 : switch (GET_CODE (x5))
1511 : : {
1512 : 534418 : case REG:
1513 : 534418 : case SUBREG:
1514 : 534418 : case MEM:
1515 : 534418 : operands[0] = x5;
1516 : 534418 : x6 = XVECEXP (x1, 0, 1);
1517 : 534418 : switch (GET_CODE (x6))
1518 : : {
1519 : : case CLOBBER:
1520 : : return 0;
1521 : :
1522 : 41420 : case USE:
1523 : 41420 : return 1;
1524 : :
1525 : : default:
1526 : : return -1;
1527 : : }
1528 : :
1529 : 9 : case STRICT_LOW_PART:
1530 : 9 : x6 = XVECEXP (x1, 0, 1);
1531 : 9 : if (GET_CODE (x6) != CLOBBER)
1532 : : return -1;
1533 : 9 : x7 = XEXP (x6, 0);
1534 : 9 : if (GET_CODE (x7) != REG
1535 : 9 : || REGNO (x7) != 17
1536 : 18 : || GET_MODE (x7) != E_CCmode)
1537 : : return -1;
1538 : 9 : x8 = XEXP (x5, 0);
1539 : 9 : operands[0] = x8;
1540 : 9 : res = pattern366 (x3);
1541 : 9 : if (res >= 0)
1542 : 9 : return res + 2; /* [2, 3] */
1543 : : return -1;
1544 : :
1545 : : default:
1546 : : return -1;
1547 : : }
1548 : : }
1549 : :
1550 : : int
1551 : 84311 : pattern383 (rtx x1)
1552 : : {
1553 : 84311 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1554 : 84311 : rtx x2, x3;
1555 : 84311 : int res ATTRIBUTE_UNUSED;
1556 : 84311 : x2 = XVECEXP (x1, 0, 2);
1557 : 84311 : x3 = XEXP (x2, 0);
1558 : 84311 : operands[4] = x3;
1559 : 84311 : switch (GET_MODE (operands[0]))
1560 : : {
1561 : 844 : case E_HImode:
1562 : 844 : return pattern382 (x1,
1563 : 844 : E_HImode); /* [-1, 0] */
1564 : :
1565 : 27602 : case E_SImode:
1566 : 27602 : if (pattern382 (x1,
1567 : : E_SImode) != 0)
1568 : : return -1;
1569 : : return 1;
1570 : :
1571 : 55865 : case E_DImode:
1572 : 55865 : if (pattern382 (x1,
1573 : : E_DImode) != 0)
1574 : : return -1;
1575 : : return 2;
1576 : :
1577 : : default:
1578 : : return -1;
1579 : : }
1580 : : }
1581 : :
1582 : : int
1583 : 0 : pattern390 (rtx x1, machine_mode i1, machine_mode i2)
1584 : : {
1585 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1586 : 0 : rtx x2, x3;
1587 : 0 : int res ATTRIBUTE_UNUSED;
1588 : 0 : if (!nonimmediate_operand (operands[0], i1)
1589 : 0 : || GET_MODE (x1) != i1)
1590 : : return -1;
1591 : 0 : x2 = XEXP (x1, 0);
1592 : 0 : if (GET_MODE (x2) != i1
1593 : 0 : || !nonimmediate_operand (operands[1], i2))
1594 : 0 : return -1;
1595 : 0 : x3 = XEXP (x1, 1);
1596 : 0 : if (GET_MODE (x3) != i1
1597 : 0 : || !register_operand (operands[2], i1))
1598 : 0 : return -1;
1599 : : return 0;
1600 : : }
1601 : :
1602 : : int
1603 : 79497 : pattern397 (rtx x1)
1604 : : {
1605 : 79497 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1606 : 79497 : int res ATTRIBUTE_UNUSED;
1607 : 79497 : switch (GET_MODE (operands[0]))
1608 : : {
1609 : 35122 : case E_SImode:
1610 : 35122 : if (!register_operand (operands[0], E_SImode)
1611 : 35096 : || GET_MODE (x1) != E_SImode
1612 : 70218 : || !nonimmediate_operand (operands[1], E_SImode))
1613 : 8094 : return -1;
1614 : : return 0;
1615 : :
1616 : 27707 : case E_DImode:
1617 : 27707 : if (!register_operand (operands[0], E_DImode)
1618 : 27484 : || GET_MODE (x1) != E_DImode
1619 : 55191 : || !nonimmediate_operand (operands[1], E_DImode))
1620 : 5388 : return -1;
1621 : : return 1;
1622 : :
1623 : : default:
1624 : : return -1;
1625 : : }
1626 : : }
1627 : :
1628 : : int
1629 : 8724910 : pattern404 (rtx x1, machine_mode i1)
1630 : : {
1631 : 8724910 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1632 : 8724910 : rtx x2, x3, x4, x5, x6, x7, x8;
1633 : 8724910 : int res ATTRIBUTE_UNUSED;
1634 : 8724910 : if (!general_reg_operand (operands[0], i1)
1635 : 3813130 : || GET_CODE (x1) != PARALLEL
1636 : 9419409 : || XVECLEN (x1, 0) != 2)
1637 : : return -1;
1638 : 667357 : x2 = XVECEXP (x1, 0, 0);
1639 : 667357 : if (GET_CODE (x2) != SET)
1640 : : return -1;
1641 : 663873 : x3 = XEXP (x2, 1);
1642 : 663873 : if (!commutative_operator (x3, i1))
1643 : : return -1;
1644 : 219590 : operands[3] = x3;
1645 : 219590 : x4 = XVECEXP (x1, 0, 1);
1646 : 219590 : if (GET_CODE (x4) != CLOBBER)
1647 : : return -1;
1648 : 219576 : x5 = XEXP (x4, 0);
1649 : 219576 : if (GET_CODE (x5) != REG
1650 : 219576 : || REGNO (x5) != 17
1651 : 439152 : || GET_MODE (x5) != E_CCmode)
1652 : : return -1;
1653 : 219576 : x6 = XEXP (x3, 1);
1654 : 219576 : operands[2] = x6;
1655 : 219576 : if (!memory_operand (operands[2], i1))
1656 : : return -1;
1657 : 41505 : x7 = XEXP (x3, 0);
1658 : 41505 : if (!rtx_equal_p (x7, operands[0]))
1659 : : return -1;
1660 : 40347 : x8 = XEXP (x2, 0);
1661 : 40347 : if (!rtx_equal_p (x8, operands[0]))
1662 : : return -1;
1663 : : return 0;
1664 : : }
1665 : :
1666 : : int
1667 : 534136 : pattern415 (rtx x1, machine_mode i1)
1668 : : {
1669 : 534136 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1670 : 534136 : int res ATTRIBUTE_UNUSED;
1671 : 534136 : if (GET_MODE (x1) != i1)
1672 : : return -1;
1673 : 534136 : switch (GET_MODE (operands[1]))
1674 : : {
1675 : 409876 : case E_SFmode:
1676 : 409876 : if (!nonimmediate_operand (operands[1], E_SFmode))
1677 : : return -1;
1678 : : return 0;
1679 : :
1680 : 124249 : case E_DFmode:
1681 : 124249 : if (!nonimmediate_operand (operands[1], E_DFmode))
1682 : : return -1;
1683 : : return 1;
1684 : :
1685 : : default:
1686 : : return -1;
1687 : : }
1688 : : }
1689 : :
1690 : : int
1691 : 165076 : pattern421 (rtx x1)
1692 : : {
1693 : 165076 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1694 : 165076 : rtx x2, x3, x4, x5;
1695 : 165076 : int res ATTRIBUTE_UNUSED;
1696 : 165076 : x2 = XEXP (x1, 0);
1697 : 165076 : x3 = XEXP (x2, 0);
1698 : 165076 : x4 = XEXP (x3, 0);
1699 : 165076 : operands[1] = x4;
1700 : 165076 : x5 = XEXP (x3, 1);
1701 : 165076 : operands[2] = x5;
1702 : 165076 : if (!const248_operand (operands[2], E_VOIDmode))
1703 : : return -1;
1704 : 22706 : return pattern420 (x1); /* [-1, 1] */
1705 : : }
1706 : :
1707 : : int
1708 : 7065 : pattern431 (rtx x1, rtx_code i1)
1709 : : {
1710 : 7065 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1711 : 7065 : rtx x2, x3, x4, x5, x6;
1712 : 7065 : int res ATTRIBUTE_UNUSED;
1713 : 7065 : x2 = XEXP (x1, 1);
1714 : 7065 : if (maybe_ne (SUBREG_BYTE (x2), 0))
1715 : : return -1;
1716 : 7065 : x3 = XEXP (x2, 0);
1717 : 7065 : if (GET_CODE (x3) != i1)
1718 : : return -1;
1719 : 947 : x4 = XEXP (x3, 0);
1720 : 947 : if (GET_CODE (x4) != ZERO_EXTEND)
1721 : : return -1;
1722 : 855 : switch (GET_MODE (operands[0]))
1723 : : {
1724 : 770 : case E_DImode:
1725 : 770 : if (GET_MODE (x1) != E_DImode)
1726 : : return -1;
1727 : 770 : x5 = XEXP (x1, 0);
1728 : 770 : if (GET_MODE (x5) != E_DImode)
1729 : : return -1;
1730 : 770 : x6 = XEXP (x5, 1);
1731 : 770 : if (!const_0_to_63_operand (x6, E_QImode))
1732 : : return -1;
1733 : : return 0;
1734 : :
1735 : 85 : case E_SImode:
1736 : 85 : if (GET_MODE (x1) != E_SImode)
1737 : : return -1;
1738 : 85 : x5 = XEXP (x1, 0);
1739 : 85 : if (GET_MODE (x5) != E_SImode)
1740 : : return -1;
1741 : 85 : x6 = XEXP (x5, 1);
1742 : 85 : if (!const_0_to_31_operand (x6, E_QImode))
1743 : : return -1;
1744 : : return 1;
1745 : :
1746 : : default:
1747 : : return -1;
1748 : : }
1749 : : }
1750 : :
1751 : : int
1752 : 56 : pattern445 (rtx x1)
1753 : : {
1754 : 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1755 : 56 : rtx x2;
1756 : 56 : int res ATTRIBUTE_UNUSED;
1757 : 56 : if (!register_operand (operands[0], E_SImode)
1758 : 56 : || GET_MODE (x1) != E_SImode)
1759 : : return -1;
1760 : 56 : x2 = XVECEXP (x1, 0, 0);
1761 : 56 : switch (GET_MODE (x2))
1762 : : {
1763 : 28 : case E_V32QImode:
1764 : 28 : if (!vector_operand (operands[1], E_V32QImode)
1765 : 28 : || !vector_operand (operands[2], E_V32QImode)
1766 : 56 : || !const0_operand (operands[3], E_V32QImode))
1767 : 14 : return -1;
1768 : : return 0;
1769 : :
1770 : 28 : case E_V32HImode:
1771 : 28 : if (!vector_operand (operands[1], E_V32HImode)
1772 : 28 : || !vector_operand (operands[2], E_V32HImode)
1773 : 56 : || !const0_operand (operands[3], E_V32HImode))
1774 : 14 : return -1;
1775 : : return 1;
1776 : :
1777 : : default:
1778 : : return -1;
1779 : : }
1780 : : }
1781 : :
1782 : : int
1783 : 424 : pattern453 (rtx x1)
1784 : : {
1785 : 424 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1786 : 424 : rtx x2, x3, x4, x5, x6;
1787 : 424 : int res ATTRIBUTE_UNUSED;
1788 : 424 : x2 = XEXP (x1, 0);
1789 : 424 : if (GET_MODE (x2) != E_V32HImode
1790 : 424 : || !register_operand (operands[0], E_V32HImode)
1791 : 824 : || GET_MODE (x1) != E_V32HImode)
1792 : 24 : return -1;
1793 : 400 : x3 = XVECEXP (x2, 0, 0);
1794 : 400 : operands[1] = x3;
1795 : 400 : if (!nonimmediate_operand (operands[1], E_V32HImode))
1796 : : return -1;
1797 : 400 : x4 = XVECEXP (x2, 0, 1);
1798 : 400 : operands[2] = x4;
1799 : 400 : if (!const_0_to_255_operand (operands[2], E_SImode))
1800 : : return -1;
1801 : 400 : x5 = XEXP (x1, 1);
1802 : 400 : operands[3] = x5;
1803 : 400 : if (!nonimm_or_0_operand (operands[3], E_V32HImode))
1804 : : return -1;
1805 : 384 : x6 = XEXP (x1, 2);
1806 : 384 : operands[4] = x6;
1807 : 384 : if (!register_operand (operands[4], E_SImode))
1808 : : return -1;
1809 : : return 0;
1810 : : }
1811 : :
1812 : : int
1813 : 1896 : pattern465 (rtx x1, machine_mode i1)
1814 : : {
1815 : 1896 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1816 : 1896 : rtx x2, x3, x4, x5, x6, x7;
1817 : 1896 : int res ATTRIBUTE_UNUSED;
1818 : 1896 : x2 = XEXP (x1, 0);
1819 : 1896 : x3 = XVECEXP (x2, 0, 0);
1820 : 1896 : operands[1] = x3;
1821 : 1896 : x4 = XVECEXP (x2, 0, 1);
1822 : 1896 : operands[2] = x4;
1823 : 1896 : x5 = XVECEXP (x2, 0, 2);
1824 : 1896 : operands[3] = x5;
1825 : 1896 : if (!const_0_to_255_operand (operands[3], i1))
1826 : : return -1;
1827 : 1896 : x6 = XEXP (x1, 1);
1828 : 1896 : operands[4] = x6;
1829 : 1896 : x7 = XEXP (x1, 2);
1830 : 1896 : operands[5] = x7;
1831 : 1896 : switch (GET_MODE (operands[0]))
1832 : : {
1833 : 670 : case E_V64QImode:
1834 : 670 : return pattern464 (x1,
1835 : : E_V64QImode,
1836 : 670 : E_DImode); /* [-1, 0] */
1837 : :
1838 : 632 : case E_V32QImode:
1839 : 632 : if (pattern464 (x1,
1840 : : E_V32QImode,
1841 : : E_SImode) != 0)
1842 : : return -1;
1843 : : return 1;
1844 : :
1845 : 594 : case E_V16QImode:
1846 : 594 : if (pattern464 (x1,
1847 : : E_V16QImode,
1848 : : E_HImode) != 0)
1849 : : return -1;
1850 : : return 2;
1851 : :
1852 : : default:
1853 : : return -1;
1854 : : }
1855 : : }
1856 : :
1857 : : int
1858 : 2708 : pattern475 (rtx x1)
1859 : : {
1860 : 2708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1861 : 2708 : rtx x2, x3, x4, x5, x6, x7;
1862 : 2708 : int res ATTRIBUTE_UNUSED;
1863 : 2708 : x2 = XEXP (x1, 0);
1864 : 2708 : x3 = XVECEXP (x2, 0, 0);
1865 : 2708 : operands[1] = x3;
1866 : 2708 : x4 = XVECEXP (x2, 0, 1);
1867 : 2708 : operands[2] = x4;
1868 : 2708 : x5 = XVECEXP (x2, 0, 2);
1869 : 2708 : operands[3] = x5;
1870 : 2708 : x6 = XEXP (x1, 1);
1871 : 2708 : switch (GET_CODE (x6))
1872 : : {
1873 : 1338 : case REG:
1874 : 1338 : case SUBREG:
1875 : 1338 : if (!rtx_equal_p (x6, operands[1]))
1876 : : return -1;
1877 : 1338 : x7 = XEXP (x1, 2);
1878 : 1338 : operands[4] = x7;
1879 : 1338 : switch (GET_MODE (operands[0]))
1880 : : {
1881 : 430 : case E_V16SImode:
1882 : 430 : return pattern471 (x1,
1883 : : E_V16SImode,
1884 : 430 : E_HImode); /* [-1, 0] */
1885 : :
1886 : 458 : case E_V8SImode:
1887 : 458 : if (pattern471 (x1,
1888 : : E_V8SImode,
1889 : : E_QImode) != 0)
1890 : : return -1;
1891 : : return 1;
1892 : :
1893 : 450 : case E_V4SImode:
1894 : 450 : if (pattern471 (x1,
1895 : : E_V4SImode,
1896 : : E_QImode) != 0)
1897 : : return -1;
1898 : : return 2;
1899 : :
1900 : : default:
1901 : : return -1;
1902 : : }
1903 : :
1904 : 1346 : case CONST_INT:
1905 : 1346 : case CONST_DOUBLE:
1906 : 1346 : case CONST_VECTOR:
1907 : 1346 : operands[4] = x6;
1908 : 1346 : x7 = XEXP (x1, 2);
1909 : 1346 : operands[5] = x7;
1910 : 1346 : switch (GET_MODE (operands[0]))
1911 : : {
1912 : 442 : case E_V16SImode:
1913 : 442 : if (pattern473 (x1,
1914 : : E_V16SImode,
1915 : : E_HImode) != 0)
1916 : : return -1;
1917 : : return 3;
1918 : :
1919 : 466 : case E_V8SImode:
1920 : 466 : if (pattern473 (x1,
1921 : : E_V8SImode,
1922 : : E_QImode) != 0)
1923 : : return -1;
1924 : : return 4;
1925 : :
1926 : 438 : case E_V4SImode:
1927 : 438 : if (pattern473 (x1,
1928 : : E_V4SImode,
1929 : : E_QImode) != 0)
1930 : : return -1;
1931 : : return 5;
1932 : :
1933 : : default:
1934 : : return -1;
1935 : : }
1936 : :
1937 : : default:
1938 : : return -1;
1939 : : }
1940 : : }
1941 : :
1942 : : int
1943 : 180 : pattern490 (rtx x1, machine_mode i1)
1944 : : {
1945 : 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1946 : 180 : int res ATTRIBUTE_UNUSED;
1947 : 180 : if (GET_MODE (x1) != E_V2HFmode
1948 : 180 : || !vector_operand (operands[1], i1)
1949 : 180 : || !const0_operand (operands[3], E_V2HFmode)
1950 : 360 : || !const0_operand (operands[4], E_V6HFmode))
1951 : 0 : return -1;
1952 : : return 0;
1953 : : }
1954 : :
1955 : : int
1956 : 432 : pattern493 (rtx x1)
1957 : : {
1958 : 432 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1959 : 432 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1960 : 432 : int res ATTRIBUTE_UNUSED;
1961 : 432 : x2 = XEXP (x1, 1);
1962 : 432 : if (GET_MODE (x2) != E_V2SImode)
1963 : : return -1;
1964 : 432 : switch (GET_CODE (x2))
1965 : : {
1966 : 300 : case VEC_SELECT:
1967 : 300 : x3 = XEXP (x2, 1);
1968 : 300 : if (GET_CODE (x3) != PARALLEL
1969 : 300 : || XVECLEN (x3, 0) != 2)
1970 : : return -1;
1971 : 300 : x4 = XVECEXP (x3, 0, 0);
1972 : 300 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1973 : : return -1;
1974 : 300 : x5 = XVECEXP (x3, 0, 1);
1975 : 300 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1976 : : return -1;
1977 : 300 : x6 = XEXP (x2, 0);
1978 : 300 : operands[2] = x6;
1979 : 300 : if (!nonimm_or_0_operand (operands[2], E_V4SImode))
1980 : : return -1;
1981 : 292 : x7 = XEXP (x1, 2);
1982 : 292 : operands[3] = x7;
1983 : 292 : return 0;
1984 : :
1985 : 128 : case CONST_VECTOR:
1986 : 128 : if (XVECLEN (x2, 0) != 2)
1987 : : return -1;
1988 : 128 : x8 = XVECEXP (x2, 0, 0);
1989 : 128 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1990 : : return -1;
1991 : 120 : x9 = XVECEXP (x2, 0, 1);
1992 : 120 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1993 : : return -1;
1994 : 120 : x7 = XEXP (x1, 2);
1995 : 120 : operands[2] = x7;
1996 : 120 : return 1;
1997 : :
1998 : : default:
1999 : : return -1;
2000 : : }
2001 : : }
2002 : :
2003 : : int
2004 : 7101 : pattern501 (rtx x1, machine_mode i1, int i2)
2005 : : {
2006 : 7101 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2007 : 7101 : rtx x2, x3;
2008 : 7101 : int res ATTRIBUTE_UNUSED;
2009 : 7101 : if (XVECLEN (x1, 0) != i2
2010 : 6983 : || GET_MODE (x1) != i1)
2011 : : return -1;
2012 : 6983 : x2 = XVECEXP (x1, 0, 0);
2013 : 6983 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2014 : : return -1;
2015 : 6981 : x3 = XVECEXP (x1, 0, 1);
2016 : 6981 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2017 : 0 : return -1;
2018 : : return 0;
2019 : : }
2020 : :
2021 : : int
2022 : 571 : pattern506 (rtx x1)
2023 : : {
2024 : 571 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2025 : 571 : int res ATTRIBUTE_UNUSED;
2026 : 571 : if (!register_operand (operands[0], E_V8HFmode)
2027 : 571 : || GET_MODE (x1) != E_V8HFmode)
2028 : : return -1;
2029 : 514 : switch (GET_MODE (operands[1]))
2030 : : {
2031 : 198 : case E_V8HImode:
2032 : 198 : if (!vector_operand (operands[1], E_V8HImode))
2033 : : return -1;
2034 : : return 0;
2035 : :
2036 : 251 : case E_V8SImode:
2037 : 251 : if (!vector_operand (operands[1], E_V8SImode))
2038 : : return -1;
2039 : : return 1;
2040 : :
2041 : 62 : case E_V8DImode:
2042 : 62 : if (!vector_operand (operands[1], E_V8DImode))
2043 : : return -1;
2044 : : return 2;
2045 : :
2046 : : default:
2047 : : return -1;
2048 : : }
2049 : : }
2050 : :
2051 : : int
2052 : 24813 : pattern512 (rtx x1)
2053 : : {
2054 : 24813 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2055 : 24813 : rtx x2, x3, x4, x5, x6, x7, x8;
2056 : 24813 : int res ATTRIBUTE_UNUSED;
2057 : 24813 : x2 = XEXP (x1, 1);
2058 : 24813 : if (XVECLEN (x2, 0) < 1)
2059 : : return -1;
2060 : 24813 : operands[4] = x2;
2061 : 24813 : if (!pmovzx_parallel (operands[4], E_VOIDmode))
2062 : : return -1;
2063 : 85 : x3 = XEXP (x1, 0);
2064 : 85 : x4 = XEXP (x3, 0);
2065 : 85 : x5 = XEXP (x4, 0);
2066 : 85 : operands[1] = x5;
2067 : 85 : x6 = XEXP (x4, 1);
2068 : 85 : operands[2] = x6;
2069 : 85 : x7 = XEXP (x3, 1);
2070 : 85 : operands[3] = x7;
2071 : 85 : x8 = XVECEXP (x2, 0, 0);
2072 : 85 : operands[5] = x8;
2073 : 85 : if (!const_int_operand (operands[5], E_VOIDmode))
2074 : : return -1;
2075 : 85 : switch (GET_MODE (operands[0]))
2076 : : {
2077 : 4 : case E_V16SImode:
2078 : 4 : return pattern511 (x1,
2079 : : E_V16SImode,
2080 : : E_V8SImode,
2081 : 4 : E_V32SImode); /* [-1, 0] */
2082 : :
2083 : 4 : case E_V8SImode:
2084 : 4 : if (pattern511 (x1,
2085 : : E_V8SImode,
2086 : : E_V4SImode,
2087 : : E_V16SImode) != 0)
2088 : : return -1;
2089 : : return 1;
2090 : :
2091 : 61 : case E_V4SImode:
2092 : 61 : if (!register_operand (operands[0], E_V4SImode)
2093 : 61 : || GET_MODE (x1) != E_V4SImode
2094 : 61 : || GET_MODE (x3) != E_V8SImode
2095 : 61 : || GET_MODE (x4) != E_V4SImode
2096 : 61 : || !vector_operand (operands[1], E_V2SImode)
2097 : 61 : || !const0_operand (operands[2], E_V2SImode)
2098 : 65 : || !const0_operand (operands[3], E_V4SImode))
2099 : 57 : return -1;
2100 : : return 2;
2101 : :
2102 : : default:
2103 : : return -1;
2104 : : }
2105 : : }
2106 : :
2107 : : int
2108 : 18233 : pattern526 (rtx x1)
2109 : : {
2110 : 18233 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2111 : 18233 : int res ATTRIBUTE_UNUSED;
2112 : 18233 : switch (GET_MODE (operands[0]))
2113 : : {
2114 : 17830 : case E_V8HImode:
2115 : 17830 : if (!register_operand (operands[0], E_V8HImode)
2116 : 17830 : || GET_MODE (x1) != E_V8HImode)
2117 : : return -1;
2118 : : return 0;
2119 : :
2120 : 239 : case E_V8SImode:
2121 : 239 : if (!register_operand (operands[0], E_V8SImode)
2122 : 239 : || GET_MODE (x1) != E_V8SImode)
2123 : : return -1;
2124 : : return 1;
2125 : :
2126 : 164 : case E_V8DImode:
2127 : 164 : if (!register_operand (operands[0], E_V8DImode)
2128 : 164 : || GET_MODE (x1) != E_V8DImode)
2129 : : return -1;
2130 : : return 2;
2131 : :
2132 : : default:
2133 : : return -1;
2134 : : }
2135 : : }
2136 : :
2137 : : int
2138 : 78972 : pattern528 (rtx x1)
2139 : : {
2140 : 78972 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2141 : 78972 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2142 : 78972 : rtx x10, x11;
2143 : 78972 : int res ATTRIBUTE_UNUSED;
2144 : 78972 : x2 = XEXP (x1, 0);
2145 : 78972 : x3 = XEXP (x2, 1);
2146 : 78972 : switch (XVECLEN (x3, 0))
2147 : : {
2148 : 24516 : case 8:
2149 : 24516 : x4 = XVECEXP (x3, 0, 0);
2150 : 24516 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2151 : : return -1;
2152 : 22994 : x5 = XVECEXP (x3, 0, 1);
2153 : 22994 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2154 : : return -1;
2155 : 22994 : x6 = XVECEXP (x3, 0, 2);
2156 : 22994 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2157 : : return -1;
2158 : 22994 : x7 = XVECEXP (x3, 0, 3);
2159 : 22994 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2160 : : return -1;
2161 : 22994 : x8 = XVECEXP (x3, 0, 4);
2162 : 22994 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2163 : : return -1;
2164 : 22994 : x9 = XVECEXP (x3, 0, 5);
2165 : 22994 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2166 : : return -1;
2167 : 22994 : x10 = XVECEXP (x3, 0, 6);
2168 : 22994 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2169 : : return -1;
2170 : 22994 : x11 = XVECEXP (x3, 0, 7);
2171 : 22994 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2172 : 22994 : || GET_MODE (x2) != E_V8QImode
2173 : 44545 : || !register_operand (operands[1], E_V16QImode))
2174 : 4770 : return -1;
2175 : 18224 : return pattern526 (x1); /* [-1, 2] */
2176 : :
2177 : 12855 : case 4:
2178 : 12855 : x4 = XVECEXP (x3, 0, 0);
2179 : 12855 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2180 : : return -1;
2181 : 11811 : x5 = XVECEXP (x3, 0, 1);
2182 : 11811 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2183 : : return -1;
2184 : 11811 : x6 = XVECEXP (x3, 0, 2);
2185 : 11811 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2186 : : return -1;
2187 : 11811 : x7 = XVECEXP (x3, 0, 3);
2188 : 11811 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2189 : : return -1;
2190 : 11811 : switch (GET_MODE (operands[0]))
2191 : : {
2192 : 9934 : case E_V4SImode:
2193 : 9934 : res = pattern527 (x1,
2194 : : E_V4SImode);
2195 : 9934 : if (res >= 0)
2196 : 6986 : return res + 3; /* [3, 4] */
2197 : : return -1;
2198 : :
2199 : 1495 : case E_V4DImode:
2200 : 1495 : res = pattern527 (x1,
2201 : : E_V4DImode);
2202 : 1495 : if (res >= 0)
2203 : 380 : return res + 5; /* [5, 6] */
2204 : : return -1;
2205 : :
2206 : : default:
2207 : : return -1;
2208 : : }
2209 : :
2210 : 8856 : case 2:
2211 : 8856 : x4 = XVECEXP (x3, 0, 0);
2212 : 8856 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2213 : : return -1;
2214 : 8856 : x5 = XVECEXP (x3, 0, 1);
2215 : 8856 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2216 : 8743 : || !register_operand (operands[0], E_V2DImode)
2217 : 15171 : || GET_MODE (x1) != E_V2DImode)
2218 : 2541 : return -1;
2219 : 6315 : switch (GET_MODE (x2))
2220 : : {
2221 : 260 : case E_V2QImode:
2222 : 260 : if (!register_operand (operands[1], E_V16QImode))
2223 : : return -1;
2224 : : return 7;
2225 : :
2226 : 208 : case E_V2HImode:
2227 : 208 : if (!register_operand (operands[1], E_V8HImode))
2228 : : return -1;
2229 : : return 8;
2230 : :
2231 : 5847 : case E_V2SImode:
2232 : 5847 : if (!register_operand (operands[1], E_V4SImode))
2233 : : return -1;
2234 : : return 9;
2235 : :
2236 : : default:
2237 : : return -1;
2238 : : }
2239 : :
2240 : : default:
2241 : : return -1;
2242 : : }
2243 : : }
2244 : :
2245 : : int
2246 : 2998214 : pattern555 (rtx x1)
2247 : : {
2248 : 2998214 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2249 : 2998214 : rtx x2, x3, x4, x5, x6, x7;
2250 : 2998214 : int res ATTRIBUTE_UNUSED;
2251 : 2998214 : x2 = XVECEXP (x1, 0, 0);
2252 : 2998214 : x3 = XEXP (x2, 1);
2253 : 2998214 : x4 = XEXP (x3, 1);
2254 : 2998214 : operands[2] = x4;
2255 : 2998214 : x5 = XEXP (x2, 0);
2256 : 2998214 : switch (GET_CODE (x5))
2257 : : {
2258 : 2193 : case STRICT_LOW_PART:
2259 : 2193 : return pattern543 (x1); /* [-1, 1] */
2260 : :
2261 : 2996021 : case REG:
2262 : 2996021 : case SUBREG:
2263 : 2996021 : case MEM:
2264 : 2996021 : operands[0] = x5;
2265 : 2996021 : x6 = XVECEXP (x1, 0, 1);
2266 : 2996021 : switch (GET_CODE (x6))
2267 : : {
2268 : 2923316 : case CLOBBER:
2269 : 2923316 : x7 = XEXP (x6, 0);
2270 : 2923316 : if (GET_CODE (x7) != REG
2271 : 2923316 : || REGNO (x7) != 17
2272 : 5846632 : || GET_MODE (x7) != E_CCmode)
2273 : : return -1;
2274 : 2923316 : switch (GET_MODE (operands[0]))
2275 : : {
2276 : 961119 : case E_DImode:
2277 : 961119 : if (!nonimmediate_operand (operands[0], E_DImode)
2278 : 960942 : || GET_MODE (x3) != E_DImode
2279 : 1922061 : || !nonimmediate_operand (operands[1], E_DImode))
2280 : 3571 : return -1;
2281 : : return 2;
2282 : :
2283 : 23270 : case E_TImode:
2284 : 23270 : if (pattern549 (x3,
2285 : : E_TImode) != 0)
2286 : : return -1;
2287 : : return 3;
2288 : :
2289 : 117216 : case E_HImode:
2290 : 117216 : if (pattern550 (x3,
2291 : : E_HImode) != 0)
2292 : : return -1;
2293 : : return 4;
2294 : :
2295 : 1091784 : case E_SImode:
2296 : 1091784 : if (pattern551 (x3) != 0)
2297 : : return -1;
2298 : : return 5;
2299 : :
2300 : 826 : case E_V4QImode:
2301 : 826 : if (pattern552 (x3,
2302 : : E_V4QImode) != 0)
2303 : : return -1;
2304 : : return 6;
2305 : :
2306 : 288 : case E_V2QImode:
2307 : 288 : if (pattern552 (x3,
2308 : : E_V2QImode) != 0)
2309 : : return -1;
2310 : : return 7;
2311 : :
2312 : 396 : case E_V2HImode:
2313 : 396 : if (pattern552 (x3,
2314 : : E_V2HImode) != 0)
2315 : : return -1;
2316 : : return 8;
2317 : :
2318 : : default:
2319 : : return -1;
2320 : : }
2321 : :
2322 : 4157 : case UNSPEC:
2323 : 4157 : res = pattern554 (x1);
2324 : 4157 : if (res >= 0)
2325 : 4146 : return res + 9; /* [9, 12] */
2326 : : return -1;
2327 : :
2328 : : default:
2329 : : return -1;
2330 : : }
2331 : :
2332 : : default:
2333 : : return -1;
2334 : : }
2335 : : }
2336 : :
2337 : : int
2338 : 76 : pattern580 (rtx x1, machine_mode i1, machine_mode i2)
2339 : : {
2340 : 76 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2341 : 76 : rtx x2;
2342 : 76 : int res ATTRIBUTE_UNUSED;
2343 : 76 : if (!register_operand (operands[0], i1)
2344 : 52 : || GET_MODE (x1) != i1
2345 : 128 : || !vector_operand (operands[1], i1))
2346 : 46 : return -1;
2347 : 30 : x2 = XVECEXP (x1, 0, 1);
2348 : 30 : if (GET_MODE (x2) != i1
2349 : 30 : || !bcst_vector_operand (operands[2], i2)
2350 : 42 : || !vector_operand (operands[3], i1))
2351 : 18 : return -1;
2352 : : return 0;
2353 : : }
2354 : :
2355 : : int
2356 : 18 : pattern583 (rtx x1, machine_mode i1, machine_mode i2)
2357 : : {
2358 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2359 : 18 : rtx x2, x3;
2360 : 18 : int res ATTRIBUTE_UNUSED;
2361 : 18 : if (!register_operand (operands[0], i1)
2362 : 18 : || GET_MODE (x1) != i1)
2363 : : return -1;
2364 : 18 : x2 = XEXP (x1, 0);
2365 : 18 : if (GET_MODE (x2) != i1)
2366 : : return -1;
2367 : 18 : x3 = XEXP (x2, 0);
2368 : 18 : if (GET_MODE (x3) != i2
2369 : 18 : || !nonimmediate_operand (operands[1], i2)
2370 : 36 : || !vector_operand (operands[2], i1))
2371 : 0 : return -1;
2372 : : return 0;
2373 : : }
2374 : :
2375 : : int
2376 : 4094 : pattern589 (rtx x1)
2377 : : {
2378 : 4094 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2379 : 4094 : rtx x2, x3, x4, x5, x6, x7;
2380 : 4094 : int res ATTRIBUTE_UNUSED;
2381 : 4094 : x2 = XEXP (x1, 0);
2382 : 4094 : x3 = XEXP (x2, 1);
2383 : 4094 : if (GET_CODE (x3) != PARALLEL
2384 : 4094 : || XVECLEN (x3, 0) != 1)
2385 : : return -1;
2386 : 4094 : x4 = XVECEXP (x3, 0, 0);
2387 : 4094 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2388 : : return -1;
2389 : 3481 : x5 = XEXP (x1, 1);
2390 : 3481 : if (GET_CODE (x5) != VEC_SELECT)
2391 : : return -1;
2392 : 1778 : x6 = XEXP (x5, 1);
2393 : 1778 : if (GET_CODE (x6) != PARALLEL
2394 : 1778 : || XVECLEN (x6, 0) != 1)
2395 : : return -1;
2396 : 1778 : x7 = XVECEXP (x6, 0, 0);
2397 : 1778 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2398 : 28 : return -1;
2399 : : return 0;
2400 : : }
2401 : :
2402 : : int
2403 : 11334 : pattern597 (rtx x1)
2404 : : {
2405 : 11334 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2406 : 11334 : rtx x2, x3, x4, x5;
2407 : 11334 : int res ATTRIBUTE_UNUSED;
2408 : 11334 : x2 = XEXP (x1, 0);
2409 : 11334 : x3 = XEXP (x2, 1);
2410 : 11334 : x4 = XVECEXP (x3, 0, 0);
2411 : 11334 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2412 : : return -1;
2413 : 11334 : x5 = XVECEXP (x3, 0, 1);
2414 : 11334 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2415 : : return -1;
2416 : 11221 : switch (GET_MODE (operands[0]))
2417 : : {
2418 : 3271 : case E_V2SImode:
2419 : 3271 : if (!register_operand (operands[0], E_V2SImode)
2420 : 3271 : || GET_MODE (x1) != E_V2SImode)
2421 : : return -1;
2422 : 3195 : switch (GET_MODE (x2))
2423 : : {
2424 : 3132 : case E_V2HImode:
2425 : 3132 : if (!register_operand (operands[1], E_V4HImode))
2426 : : return -1;
2427 : : return 0;
2428 : :
2429 : 63 : case E_V2QImode:
2430 : 63 : if (!register_operand (operands[1], E_V4QImode))
2431 : : return -1;
2432 : : return 1;
2433 : :
2434 : : default:
2435 : : return -1;
2436 : : }
2437 : :
2438 : 73 : case E_V2HImode:
2439 : 73 : if (pattern595 (x1,
2440 : : E_V4QImode,
2441 : : E_V2QImode,
2442 : : E_V2HImode) != 0)
2443 : : return -1;
2444 : : return 2;
2445 : :
2446 : : default:
2447 : : return -1;
2448 : : }
2449 : : }
2450 : :
2451 : : int
2452 : 897059 : pattern612 (rtx x1, machine_mode i1)
2453 : : {
2454 : 897059 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2455 : 897059 : int res ATTRIBUTE_UNUSED;
2456 : 897059 : if (!nonimmediate_operand (operands[0], i1)
2457 : 885035 : || GET_MODE (x1) != i1
2458 : 885035 : || !nonimmediate_operand (operands[1], i1)
2459 : 1474809 : || !nonmemory_operand (operands[2], E_QImode))
2460 : 338952 : return -1;
2461 : : return 0;
2462 : : }
2463 : :
2464 : : int
2465 : 7702 : pattern618 (rtx x1)
2466 : : {
2467 : 7702 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2468 : 7702 : rtx x2, x3, x4, x5, x6, x7, x8;
2469 : 7702 : int res ATTRIBUTE_UNUSED;
2470 : 7702 : x2 = XEXP (x1, 2);
2471 : 7702 : operands[3] = x2;
2472 : 7702 : x3 = XEXP (x1, 0);
2473 : 7702 : x4 = XVECEXP (x3, 0, 0);
2474 : 7702 : switch (GET_CODE (x4))
2475 : : {
2476 : 7178 : case REG:
2477 : 7178 : case SUBREG:
2478 : 7178 : case MEM:
2479 : 7178 : operands[1] = x4;
2480 : 7178 : switch (GET_MODE (operands[0]))
2481 : : {
2482 : : case E_V32HImode:
2483 : : return 0;
2484 : :
2485 : 364 : case E_V16SImode:
2486 : 364 : return 1;
2487 : :
2488 : 662 : case E_V8DImode:
2489 : 662 : return 2;
2490 : :
2491 : 486 : case E_V16HImode:
2492 : 486 : return 3;
2493 : :
2494 : 1152 : case E_V8SImode:
2495 : 1152 : return 4;
2496 : :
2497 : 1536 : case E_V4DImode:
2498 : 1536 : return 5;
2499 : :
2500 : 486 : case E_V8HImode:
2501 : 486 : return 6;
2502 : :
2503 : 1376 : case E_V4SImode:
2504 : 1376 : return 7;
2505 : :
2506 : 936 : case E_V2DImode:
2507 : 936 : return 8;
2508 : :
2509 : : default:
2510 : : return -1;
2511 : : }
2512 : :
2513 : 492 : case VEC_SELECT:
2514 : 492 : if (GET_MODE (x4) != E_V2SFmode)
2515 : : return -1;
2516 : 492 : x5 = XEXP (x4, 1);
2517 : 492 : if (GET_CODE (x5) != PARALLEL
2518 : 492 : || XVECLEN (x5, 0) != 2)
2519 : : return -1;
2520 : 492 : x6 = XVECEXP (x5, 0, 0);
2521 : 492 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2522 : : return -1;
2523 : 492 : x7 = XVECEXP (x5, 0, 1);
2524 : 492 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2525 : 492 : || !register_operand (operands[0], E_V2DImode)
2526 : 472 : || GET_MODE (x1) != E_V2DImode
2527 : 964 : || GET_MODE (x3) != E_V2DImode)
2528 : 20 : return -1;
2529 : 472 : x8 = XEXP (x4, 0);
2530 : 472 : operands[1] = x8;
2531 : 472 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
2532 : 468 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
2533 : 928 : || !register_operand (operands[3], E_QImode))
2534 : 34 : return -1;
2535 : : return 9;
2536 : :
2537 : : default:
2538 : : return -1;
2539 : : }
2540 : : }
2541 : :
2542 : : int
2543 : 2684 : pattern636 (rtx x1)
2544 : : {
2545 : 2684 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2546 : 2684 : rtx x2, x3, x4, x5;
2547 : 2684 : int res ATTRIBUTE_UNUSED;
2548 : 2684 : x2 = XVECEXP (x1, 0, 0);
2549 : 2684 : x3 = XEXP (x2, 2);
2550 : 2684 : if (XWINT (x3, 0) != 1L)
2551 : : return -1;
2552 : 2640 : x4 = XVECEXP (x1, 0, 1);
2553 : 2640 : operands[3] = x4;
2554 : 2640 : x5 = XEXP (x2, 1);
2555 : 2640 : if (!rtx_equal_p (x5, operands[1]))
2556 : : return -1;
2557 : 2628 : switch (GET_MODE (operands[0]))
2558 : : {
2559 : 340 : case E_V8HFmode:
2560 : 340 : return pattern635 (x1,
2561 : 340 : E_V8HFmode); /* [-1, 0] */
2562 : :
2563 : 352 : case E_V4SFmode:
2564 : 352 : if (pattern635 (x1,
2565 : : E_V4SFmode) != 0)
2566 : : return -1;
2567 : : return 1;
2568 : :
2569 : 1936 : case E_V2DFmode:
2570 : 1936 : if (pattern635 (x1,
2571 : : E_V2DFmode) != 0)
2572 : : return -1;
2573 : : return 2;
2574 : :
2575 : : default:
2576 : : return -1;
2577 : : }
2578 : : }
2579 : :
2580 : : int
2581 : 172 : pattern644 (rtx x1, machine_mode i1)
2582 : : {
2583 : 172 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2584 : 172 : rtx x2;
2585 : 172 : int res ATTRIBUTE_UNUSED;
2586 : 172 : if (!register_operand (operands[0], i1)
2587 : 169 : || GET_MODE (x1) != i1
2588 : 169 : || !register_operand (operands[1], i1)
2589 : 331 : || !vector_operand (operands[2], i1))
2590 : 18 : return -1;
2591 : 154 : x2 = XVECEXP (x1, 0, 2);
2592 : 154 : if (GET_MODE (x2) != i1
2593 : 154 : || !register_operand (operands[3], i1)
2594 : 300 : || !const0_operand (operands[4], i1))
2595 : 8 : return -1;
2596 : : return 0;
2597 : : }
2598 : :
2599 : : int
2600 : 923 : pattern650 (rtx x1)
2601 : : {
2602 : 923 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2603 : 923 : rtx x2, x3, x4, x5;
2604 : 923 : int res ATTRIBUTE_UNUSED;
2605 : 923 : x2 = XVECEXP (x1, 0, 1);
2606 : 923 : operands[2] = x2;
2607 : 923 : x3 = XVECEXP (x1, 0, 2);
2608 : 923 : x4 = XEXP (x3, 0);
2609 : 923 : operands[3] = x4;
2610 : 923 : x5 = XEXP (x3, 1);
2611 : 923 : operands[4] = x5;
2612 : 923 : switch (GET_MODE (operands[0]))
2613 : : {
2614 : 60 : case E_V8SFmode:
2615 : 60 : return pattern648 (x1,
2616 : : E_V8SImode,
2617 : 60 : E_V8SFmode); /* [-1, 0] */
2618 : :
2619 : 200 : case E_V4SFmode:
2620 : 200 : if (pattern648 (x1,
2621 : : E_V4SImode,
2622 : : E_V4SFmode) != 0)
2623 : : return -1;
2624 : : return 1;
2625 : :
2626 : 76 : case E_V4DFmode:
2627 : 76 : if (pattern648 (x1,
2628 : : E_V4DImode,
2629 : : E_V4DFmode) != 0)
2630 : : return -1;
2631 : : return 2;
2632 : :
2633 : 137 : case E_V2DFmode:
2634 : 137 : if (pattern648 (x1,
2635 : : E_V2DImode,
2636 : : E_V2DFmode) != 0)
2637 : : return -1;
2638 : : return 3;
2639 : :
2640 : 54 : case E_V32QImode:
2641 : 54 : if (pattern649 (x1,
2642 : : E_V32QImode) != 0)
2643 : : return -1;
2644 : : return 4;
2645 : :
2646 : 255 : case E_V16QImode:
2647 : 255 : if (pattern649 (x1,
2648 : : E_V16QImode) != 0)
2649 : : return -1;
2650 : : return 5;
2651 : :
2652 : : default:
2653 : : return -1;
2654 : : }
2655 : : }
2656 : :
2657 : : int
2658 : 3814 : pattern658 (rtx x1)
2659 : : {
2660 : 3814 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2661 : 3814 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2662 : 3814 : int res ATTRIBUTE_UNUSED;
2663 : 3814 : x2 = XVECEXP (x1, 0, 0);
2664 : 3814 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2665 : : return -1;
2666 : 3697 : x3 = XVECEXP (x1, 0, 1);
2667 : 3697 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2668 : : return -1;
2669 : 3697 : x4 = XVECEXP (x1, 0, 2);
2670 : 3697 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2671 : : return -1;
2672 : 3697 : x5 = XVECEXP (x1, 0, 3);
2673 : 3697 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2674 : : return -1;
2675 : 3697 : x6 = XVECEXP (x1, 0, 4);
2676 : 3697 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2677 : : return -1;
2678 : 3697 : x7 = XVECEXP (x1, 0, 5);
2679 : 3697 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2680 : : return -1;
2681 : 3697 : x8 = XVECEXP (x1, 0, 6);
2682 : 3697 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2683 : : return -1;
2684 : 3697 : x9 = XVECEXP (x1, 0, 7);
2685 : 3697 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
2686 : 0 : return -1;
2687 : : return 0;
2688 : : }
2689 : :
2690 : : int
2691 : 120 : pattern668 (rtx x1, machine_mode i1, machine_mode i2)
2692 : : {
2693 : 120 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2694 : 120 : rtx x2, x3, x4, x5;
2695 : 120 : int res ATTRIBUTE_UNUSED;
2696 : 120 : x2 = XVECEXP (x1, 0, 1);
2697 : 120 : if (XVECLEN (x2, 0) != 1
2698 : 120 : || XINT (x2, 1) != 111)
2699 : : return -1;
2700 : 120 : x3 = XVECEXP (x2, 0, 0);
2701 : 120 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2702 : 120 : || !register_operand (operands[0], i2))
2703 : 0 : return -1;
2704 : 120 : x4 = XVECEXP (x1, 0, 0);
2705 : 120 : x5 = XEXP (x4, 1);
2706 : 120 : if (GET_MODE (x5) != i2
2707 : 120 : || !nonimmediate_operand (operands[1], i1))
2708 : 0 : return -1;
2709 : : return 0;
2710 : : }
2711 : :
2712 : : int
2713 : 9168 : pattern675 (rtx x1, machine_mode i1)
2714 : : {
2715 : 9168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2716 : 9168 : rtx x2;
2717 : 9168 : int res ATTRIBUTE_UNUSED;
2718 : 9168 : if (!nonimmediate_operand (operands[0], i1)
2719 : 9168 : || GET_MODE (x1) != i1
2720 : 18336 : || !x86_64_general_operand (operands[1], i1))
2721 : 2 : return -1;
2722 : 9166 : x2 = XEXP (x1, 1);
2723 : 9166 : if (GET_MODE (x2) != i1)
2724 : : return -1;
2725 : : return 0;
2726 : : }
2727 : :
2728 : : int
2729 : 224 : pattern679 (rtx x1)
2730 : : {
2731 : 224 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2732 : 224 : rtx x2, x3, x4;
2733 : 224 : int res ATTRIBUTE_UNUSED;
2734 : 224 : if (GET_MODE (x1) != E_SImode)
2735 : : return -1;
2736 : 218 : x2 = XEXP (x1, 0);
2737 : 218 : if (GET_CODE (x2) != ASHIFT
2738 : 73 : || GET_MODE (x2) != E_SImode)
2739 : : return -1;
2740 : 73 : x3 = XEXP (x2, 0);
2741 : 73 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2742 : : return -1;
2743 : 27 : x4 = XEXP (x1, 1);
2744 : 27 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
2745 : 0 : return -1;
2746 : : return 0;
2747 : : }
2748 : :
2749 : : int
2750 : 136907 : pattern684 (rtx x1, int *pnum_clobbers)
2751 : : {
2752 : 136907 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2753 : 136907 : rtx x2, x3, x4, x5;
2754 : 136907 : int res ATTRIBUTE_UNUSED;
2755 : 136907 : x2 = XVECEXP (x1, 0, 1);
2756 : 136907 : x3 = XEXP (x2, 0);
2757 : 136907 : operands[2] = x3;
2758 : 136907 : switch (GET_MODE (operands[0]))
2759 : : {
2760 : 35712 : case E_TFmode:
2761 : 35712 : x4 = XVECEXP (x1, 0, 0);
2762 : 35712 : x5 = XEXP (x4, 1);
2763 : 35712 : return pattern681 (x5,
2764 : 35712 : E_TFmode); /* [-1, 0] */
2765 : :
2766 : 268 : case E_HFmode:
2767 : 268 : if (pnum_clobbers == NULL)
2768 : : return -1;
2769 : 71 : x4 = XVECEXP (x1, 0, 0);
2770 : 71 : x5 = XEXP (x4, 1);
2771 : 71 : if (pattern212 (x5,
2772 : : E_V8HFmode,
2773 : : E_HFmode) != 0)
2774 : : return -1;
2775 : : return 1;
2776 : :
2777 : 38305 : case E_SFmode:
2778 : 38305 : if (pnum_clobbers == NULL)
2779 : : return -1;
2780 : 16439 : x4 = XVECEXP (x1, 0, 0);
2781 : 16439 : x5 = XEXP (x4, 1);
2782 : 16439 : if (pattern212 (x5,
2783 : : E_V4SFmode,
2784 : : E_SFmode) != 0)
2785 : : return -1;
2786 : : return 2;
2787 : :
2788 : 41870 : case E_DFmode:
2789 : 41870 : if (pnum_clobbers == NULL)
2790 : : return -1;
2791 : 18430 : x4 = XVECEXP (x1, 0, 0);
2792 : 18430 : x5 = XEXP (x4, 1);
2793 : 18430 : if (pattern212 (x5,
2794 : : E_V2DFmode,
2795 : : E_DFmode) != 0)
2796 : : return -1;
2797 : : return 3;
2798 : :
2799 : 611 : case E_V2SFmode:
2800 : 611 : x4 = XVECEXP (x1, 0, 0);
2801 : 611 : x5 = XEXP (x4, 1);
2802 : 611 : if (pattern682 (x5) != 0)
2803 : : return -1;
2804 : : return 4;
2805 : :
2806 : 44 : case E_V2BFmode:
2807 : 44 : x4 = XVECEXP (x1, 0, 0);
2808 : 44 : x5 = XEXP (x4, 1);
2809 : 44 : if (pattern683 (x5,
2810 : : E_V2BFmode) != 0)
2811 : : return -1;
2812 : : return 5;
2813 : :
2814 : 44 : case E_V4BFmode:
2815 : 44 : x4 = XVECEXP (x1, 0, 0);
2816 : 44 : x5 = XEXP (x4, 1);
2817 : 44 : if (pattern683 (x5,
2818 : : E_V4BFmode) != 0)
2819 : : return -1;
2820 : : return 6;
2821 : :
2822 : 44 : case E_V2HFmode:
2823 : 44 : x4 = XVECEXP (x1, 0, 0);
2824 : 44 : x5 = XEXP (x4, 1);
2825 : 44 : if (pattern683 (x5,
2826 : : E_V2HFmode) != 0)
2827 : : return -1;
2828 : : return 7;
2829 : :
2830 : 45 : case E_V4HFmode:
2831 : 45 : x4 = XVECEXP (x1, 0, 0);
2832 : 45 : x5 = XEXP (x4, 1);
2833 : 45 : if (pattern683 (x5,
2834 : : E_V4HFmode) != 0)
2835 : : return -1;
2836 : : return 8;
2837 : :
2838 : 30 : case E_V32BFmode:
2839 : 30 : x4 = XVECEXP (x1, 0, 0);
2840 : 30 : x5 = XEXP (x4, 1);
2841 : 30 : if (pattern681 (x5,
2842 : : E_V32BFmode) != 0)
2843 : : return -1;
2844 : : return 9;
2845 : :
2846 : 30 : case E_V16BFmode:
2847 : 30 : x4 = XVECEXP (x1, 0, 0);
2848 : 30 : x5 = XEXP (x4, 1);
2849 : 30 : if (pattern681 (x5,
2850 : : E_V16BFmode) != 0)
2851 : : return -1;
2852 : : return 10;
2853 : :
2854 : 30 : case E_V8BFmode:
2855 : 30 : x4 = XVECEXP (x1, 0, 0);
2856 : 30 : x5 = XEXP (x4, 1);
2857 : 30 : if (pattern681 (x5,
2858 : : E_V8BFmode) != 0)
2859 : : return -1;
2860 : : return 11;
2861 : :
2862 : 112 : case E_V32HFmode:
2863 : 112 : x4 = XVECEXP (x1, 0, 0);
2864 : 112 : x5 = XEXP (x4, 1);
2865 : 112 : if (pattern681 (x5,
2866 : : E_V32HFmode) != 0)
2867 : : return -1;
2868 : : return 12;
2869 : :
2870 : 74 : case E_V16HFmode:
2871 : 74 : x4 = XVECEXP (x1, 0, 0);
2872 : 74 : x5 = XEXP (x4, 1);
2873 : 74 : if (pattern681 (x5,
2874 : : E_V16HFmode) != 0)
2875 : : return -1;
2876 : : return 13;
2877 : :
2878 : 1507 : case E_V8HFmode:
2879 : 1507 : x4 = XVECEXP (x1, 0, 0);
2880 : 1507 : x5 = XEXP (x4, 1);
2881 : 1507 : if (pattern681 (x5,
2882 : : E_V8HFmode) != 0)
2883 : : return -1;
2884 : : return 14;
2885 : :
2886 : 541 : case E_V16SFmode:
2887 : 541 : x4 = XVECEXP (x1, 0, 0);
2888 : 541 : x5 = XEXP (x4, 1);
2889 : 541 : if (pattern681 (x5,
2890 : : E_V16SFmode) != 0)
2891 : : return -1;
2892 : : return 15;
2893 : :
2894 : 3130 : case E_V8SFmode:
2895 : 3130 : x4 = XVECEXP (x1, 0, 0);
2896 : 3130 : x5 = XEXP (x4, 1);
2897 : 3130 : if (pattern681 (x5,
2898 : : E_V8SFmode) != 0)
2899 : : return -1;
2900 : : return 16;
2901 : :
2902 : 4027 : case E_V4SFmode:
2903 : 4027 : x4 = XVECEXP (x1, 0, 0);
2904 : 4027 : x5 = XEXP (x4, 1);
2905 : 4027 : if (pattern681 (x5,
2906 : : E_V4SFmode) != 0)
2907 : : return -1;
2908 : : return 17;
2909 : :
2910 : 415 : case E_V8DFmode:
2911 : 415 : x4 = XVECEXP (x1, 0, 0);
2912 : 415 : x5 = XEXP (x4, 1);
2913 : 415 : if (pattern681 (x5,
2914 : : E_V8DFmode) != 0)
2915 : : return -1;
2916 : : return 18;
2917 : :
2918 : 6192 : case E_V4DFmode:
2919 : 6192 : x4 = XVECEXP (x1, 0, 0);
2920 : 6192 : x5 = XEXP (x4, 1);
2921 : 6192 : if (pattern681 (x5,
2922 : : E_V4DFmode) != 0)
2923 : : return -1;
2924 : : return 19;
2925 : :
2926 : 3876 : case E_V2DFmode:
2927 : 3876 : x4 = XVECEXP (x1, 0, 0);
2928 : 3876 : x5 = XEXP (x4, 1);
2929 : 3876 : if (pattern681 (x5,
2930 : : E_V2DFmode) != 0)
2931 : : return -1;
2932 : : return 20;
2933 : :
2934 : : default:
2935 : : return -1;
2936 : : }
2937 : : }
2938 : :
2939 : : int
2940 : 5489 : pattern733 (rtx x1, machine_mode i1)
2941 : : {
2942 : 5489 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2943 : 5489 : rtx x2;
2944 : 5489 : int res ATTRIBUTE_UNUSED;
2945 : 5489 : if (!register_operand (operands[0], i1)
2946 : 5489 : || GET_MODE (x1) != i1)
2947 : : return -1;
2948 : 4031 : x2 = XEXP (x1, 0);
2949 : 4031 : if (GET_MODE (x2) != i1
2950 : 4031 : || !register_operand (operands[1], i1))
2951 : 3825 : return -1;
2952 : : return 0;
2953 : : }
2954 : :
2955 : : int
2956 : 10293 : pattern737 (rtx x1, machine_mode i1)
2957 : : {
2958 : 10293 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2959 : 10293 : rtx x2;
2960 : 10293 : int res ATTRIBUTE_UNUSED;
2961 : 10293 : if (!register_operand (operands[0], i1)
2962 : 10293 : || GET_MODE (x1) != i1)
2963 : : return -1;
2964 : 9541 : x2 = XEXP (x1, 0);
2965 : 9541 : if (GET_MODE (x2) != i1
2966 : 9541 : || !nonimmediate_operand (operands[1], i1))
2967 : 3431 : return -1;
2968 : : return 0;
2969 : : }
2970 : :
2971 : : int
2972 : 30 : pattern745 (rtx x1)
2973 : : {
2974 : 30 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2975 : 30 : rtx x2, x3;
2976 : 30 : int res ATTRIBUTE_UNUSED;
2977 : 30 : x2 = XEXP (x1, 0);
2978 : 30 : operands[1] = x2;
2979 : 30 : x3 = XEXP (x1, 1);
2980 : 30 : operands[2] = x3;
2981 : 30 : switch (GET_MODE (x1))
2982 : : {
2983 : 0 : case E_V8SFmode:
2984 : 0 : if (!register_operand (operands[1], E_V8SImode)
2985 : 0 : || !const0_operand (operands[2], E_V8SImode))
2986 : 0 : return -1;
2987 : : return 0;
2988 : :
2989 : 0 : case E_V4SFmode:
2990 : 0 : if (!register_operand (operands[1], E_V4SImode)
2991 : 0 : || !const0_operand (operands[2], E_V4SImode))
2992 : 0 : return -1;
2993 : : return 1;
2994 : :
2995 : 10 : case E_V4DFmode:
2996 : 10 : if (!register_operand (operands[1], E_V4DImode)
2997 : 10 : || !const0_operand (operands[2], E_V4DImode))
2998 : 0 : return -1;
2999 : : return 2;
3000 : :
3001 : 0 : case E_V2DFmode:
3002 : 0 : if (!register_operand (operands[1], E_V2DImode)
3003 : 0 : || !const0_operand (operands[2], E_V2DImode))
3004 : 0 : return -1;
3005 : : return 3;
3006 : :
3007 : 11 : case E_V32QImode:
3008 : 11 : if (!register_operand (operands[1], E_V32QImode)
3009 : 11 : || !const0_operand (operands[2], E_V32QImode))
3010 : 0 : return -1;
3011 : : return 4;
3012 : :
3013 : 9 : case E_V16QImode:
3014 : 9 : if (!register_operand (operands[1], E_V16QImode)
3015 : 9 : || !const0_operand (operands[2], E_V16QImode))
3016 : 0 : return -1;
3017 : : return 5;
3018 : :
3019 : : default:
3020 : : return -1;
3021 : : }
3022 : : }
3023 : :
3024 : : int
3025 : 0 : pattern760 (rtx x1)
3026 : : {
3027 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3028 : 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3029 : 0 : rtx x10;
3030 : 0 : int res ATTRIBUTE_UNUSED;
3031 : 0 : x2 = XVECEXP (x1, 0, 0);
3032 : 0 : x3 = XEXP (x2, 2);
3033 : 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3034 : : return -1;
3035 : 0 : x4 = XEXP (x2, 0);
3036 : 0 : x5 = XEXP (x4, 0);
3037 : 0 : x6 = XEXP (x5, 0);
3038 : 0 : operands[1] = x6;
3039 : 0 : x7 = XEXP (x5, 1);
3040 : 0 : operands[2] = x7;
3041 : 0 : x8 = XEXP (x4, 1);
3042 : 0 : operands[3] = x8;
3043 : 0 : x9 = XEXP (x4, 2);
3044 : 0 : operands[4] = x9;
3045 : 0 : if (!register_operand (operands[4], E_QImode))
3046 : : return -1;
3047 : 0 : x10 = XVECEXP (x1, 0, 1);
3048 : 0 : operands[5] = x10;
3049 : 0 : if (!const48_operand (operands[5], E_SImode))
3050 : : return -1;
3051 : 0 : return pattern758 (x1); /* [-1, 2] */
3052 : : }
3053 : :
3054 : : int
3055 : 188976 : pattern777 (rtx x1, machine_mode i1, machine_mode i2)
3056 : : {
3057 : 188976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3058 : 188976 : int res ATTRIBUTE_UNUSED;
3059 : 188976 : if (!register_operand (operands[0], i2)
3060 : 181287 : || GET_MODE (x1) != i2
3061 : 181287 : || !nonimmediate_operand (operands[1], i1)
3062 : 362169 : || !nonimm_or_0_operand (operands[2], i1))
3063 : 22122 : return -1;
3064 : : return 0;
3065 : : }
3066 : :
3067 : : int
3068 : 41583 : pattern783 (rtx x1, machine_mode i1, machine_mode i2)
3069 : : {
3070 : 41583 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3071 : 41583 : rtx x2;
3072 : 41583 : int res ATTRIBUTE_UNUSED;
3073 : 41583 : if (!register_operand (operands[0], i1)
3074 : 41583 : || GET_MODE (x1) != i1)
3075 : : return -1;
3076 : 41583 : x2 = XEXP (x1, 0);
3077 : 41583 : if (GET_MODE (x2) != i2
3078 : 41583 : || !vector_operand (operands[1], i1)
3079 : 41547 : || !const0_operand (operands[2], i1)
3080 : 83027 : || !pmovzx_parallel (operands[3], E_VOIDmode))
3081 : 20062 : return -1;
3082 : : return 0;
3083 : : }
3084 : :
3085 : : int
3086 : 5835 : pattern793 (rtx x1, rtx_code i1)
3087 : : {
3088 : 5835 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3089 : 5835 : rtx x2, x3, x4, x5, x6, x7;
3090 : 5835 : int res ATTRIBUTE_UNUSED;
3091 : 5835 : x2 = XEXP (x1, 0);
3092 : 5835 : x3 = XEXP (x2, 0);
3093 : 5835 : x4 = XEXP (x3, 1);
3094 : 5835 : if (GET_CODE (x4) != i1)
3095 : : return -1;
3096 : 5443 : x5 = XEXP (x3, 0);
3097 : 5443 : x6 = XEXP (x5, 0);
3098 : 5443 : operands[1] = x6;
3099 : 5443 : x7 = XEXP (x4, 0);
3100 : 5443 : operands[2] = x7;
3101 : 5443 : switch (GET_MODE (operands[0]))
3102 : : {
3103 : 110 : case E_V32HImode:
3104 : 110 : return pattern792 (x1,
3105 : : E_V32HImode,
3106 : 110 : E_V32SImode); /* [-1, 0] */
3107 : :
3108 : 318 : case E_V16HImode:
3109 : 318 : if (pattern792 (x1,
3110 : : E_V16HImode,
3111 : : E_V16SImode) != 0)
3112 : : return -1;
3113 : : return 1;
3114 : :
3115 : 4838 : case E_V8HImode:
3116 : 4838 : if (pattern792 (x1,
3117 : : E_V8HImode,
3118 : : E_V8SImode) != 0)
3119 : : return -1;
3120 : : return 2;
3121 : :
3122 : : default:
3123 : : return -1;
3124 : : }
3125 : : }
3126 : :
3127 : : int
3128 : 940 : pattern800 (rtx x1, machine_mode i1, int i2, int i3, rtx_code i4)
3129 : : {
3130 : 940 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3131 : 940 : int res ATTRIBUTE_UNUSED;
3132 : 940 : if (GET_CODE (x1) != i4
3133 : 940 : || XVECLEN (x1, 0) != i3
3134 : 940 : || XINT (x1, 1) != i2
3135 : 940 : || GET_MODE (x1) != i1)
3136 : 0 : return -1;
3137 : : return 0;
3138 : : }
3139 : :
3140 : : int
3141 : 414108 : pattern802 (rtx x1, machine_mode i1)
3142 : : {
3143 : 414108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3144 : 414108 : rtx x2, x3;
3145 : 414108 : int res ATTRIBUTE_UNUSED;
3146 : 414108 : x2 = XEXP (x1, 0);
3147 : 414108 : if (GET_CODE (x2) != REG
3148 : 414108 : || REGNO (x2) != 17
3149 : 828216 : || GET_MODE (x2) != i1)
3150 : : return -1;
3151 : 414077 : x3 = XEXP (x1, 1);
3152 : 414077 : if (GET_MODE (x3) != i1)
3153 : 0 : return -1;
3154 : : return 0;
3155 : : }
3156 : :
3157 : : int
3158 : 438 : pattern808 (rtx x1)
3159 : : {
3160 : 438 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3161 : 438 : rtx x2, x3, x4, x5, x6, x7;
3162 : 438 : int res ATTRIBUTE_UNUSED;
3163 : 438 : x2 = XVECEXP (x1, 0, 0);
3164 : 438 : x3 = XEXP (x2, 1);
3165 : 438 : if (GET_MODE (x3) != E_XFmode)
3166 : : return -1;
3167 : 438 : x4 = XVECEXP (x1, 0, 1);
3168 : 438 : if (GET_CODE (x4) != USE)
3169 : : return -1;
3170 : 433 : x5 = XVECEXP (x1, 0, 2);
3171 : 433 : if (GET_CODE (x5) != USE
3172 : 433 : || !register_operand (operands[0], E_XFmode)
3173 : 866 : || !register_operand (operands[1], E_XFmode))
3174 : 68 : return -1;
3175 : 365 : x6 = XEXP (x4, 0);
3176 : 365 : operands[2] = x6;
3177 : 365 : if (!memory_operand (operands[2], E_HImode))
3178 : : return -1;
3179 : 365 : x7 = XEXP (x5, 0);
3180 : 365 : operands[3] = x7;
3181 : 365 : if (!memory_operand (operands[3], E_HImode))
3182 : : return -1;
3183 : : return 0;
3184 : : }
3185 : :
3186 : : int
3187 : 7631 : pattern814 (rtx x1, machine_mode i1)
3188 : : {
3189 : 7631 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3190 : 7631 : int res ATTRIBUTE_UNUSED;
3191 : 7631 : if (!register_operand (operands[0], i1)
3192 : 4115 : || GET_MODE (x1) != i1
3193 : 4115 : || !register_operand (operands[1], i1)
3194 : 7654 : || !nonmemory_operand (operands[2], i1))
3195 : 7631 : return -1;
3196 : : return 0;
3197 : : }
3198 : :
3199 : : int
3200 : 7825 : pattern818 (rtx x1)
3201 : : {
3202 : 7825 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3203 : 7825 : rtx x2, x3, x4, x5;
3204 : 7825 : int res ATTRIBUTE_UNUSED;
3205 : 7825 : if (!register_operand (operands[0], E_TFmode))
3206 : : return -1;
3207 : 4648 : x2 = XVECEXP (x1, 0, 0);
3208 : 4648 : x3 = XEXP (x2, 1);
3209 : 4648 : if (GET_MODE (x3) != E_TFmode
3210 : 4648 : || !vector_operand (operands[1], E_TFmode))
3211 : 0 : return -1;
3212 : 4648 : x4 = XVECEXP (x1, 0, 1);
3213 : 4648 : x5 = XEXP (x4, 0);
3214 : 4648 : operands[2] = x5;
3215 : 4648 : if (!vector_operand (operands[2], E_TFmode))
3216 : : return -1;
3217 : : return 0;
3218 : : }
3219 : :
3220 : : int
3221 : 907225 : pattern824 (rtx x1, machine_mode i1)
3222 : : {
3223 : 907225 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3224 : 907225 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3225 : 907225 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3226 : 907225 : rtx x18;
3227 : 907225 : int res ATTRIBUTE_UNUSED;
3228 : 907225 : if (peep2_current_count < 4
3229 : 907225 : || peep2_current_count < 5
3230 : 493117 : || !memory_operand (operands[1], i1)
3231 : 1041110 : || !register_operand (operands[0], i1))
3232 : 773534 : return -1;
3233 : 133691 : x2 = XEXP (x1, 0);
3234 : 133691 : operands[3] = x2;
3235 : 133691 : if (!register_operand (operands[3], i1))
3236 : : return -1;
3237 : 20871 : x3 = XEXP (x1, 1);
3238 : 20871 : if (!rtx_equal_p (x3, operands[0]))
3239 : : return -1;
3240 : 5030 : x4 = PATTERN (peep2_next_insn (2));
3241 : 5030 : if (GET_CODE (x4) != PARALLEL
3242 : 3056 : || XVECLEN (x4, 0) != 2)
3243 : : return -1;
3244 : 3040 : x5 = XVECEXP (x4, 0, 0);
3245 : 3040 : if (GET_CODE (x5) != SET)
3246 : : return -1;
3247 : 3040 : x6 = XEXP (x5, 1);
3248 : 3040 : if (GET_CODE (x6) != XOR)
3249 : : return -1;
3250 : 110 : x7 = XVECEXP (x4, 0, 1);
3251 : 110 : if (GET_CODE (x7) != CLOBBER)
3252 : : return -1;
3253 : 110 : x8 = XEXP (x7, 0);
3254 : 110 : if (GET_CODE (x8) != REG
3255 : 110 : || REGNO (x8) != 17
3256 : 220 : || GET_MODE (x8) != E_CCmode)
3257 : : return -1;
3258 : 110 : x9 = XEXP (x5, 0);
3259 : 110 : operands[4] = x9;
3260 : 110 : x10 = XEXP (x6, 1);
3261 : 110 : operands[2] = x10;
3262 : 110 : x11 = XEXP (x6, 0);
3263 : 110 : if (!rtx_equal_p (x11, operands[4]))
3264 : : return -1;
3265 : 108 : x12 = PATTERN (peep2_next_insn (3));
3266 : 108 : if (GET_CODE (x12) != SET)
3267 : : return -1;
3268 : 101 : x13 = XEXP (x12, 0);
3269 : 101 : if (!rtx_equal_p (x13, operands[1]))
3270 : : return -1;
3271 : 23 : x14 = PATTERN (peep2_next_insn (4));
3272 : 23 : if (GET_CODE (x14) != SET)
3273 : : return -1;
3274 : 21 : x15 = XEXP (x14, 1);
3275 : 21 : if (GET_CODE (x15) != COMPARE
3276 : 17 : || GET_MODE (x15) != E_CCZmode)
3277 : : return -1;
3278 : 17 : x16 = XEXP (x14, 0);
3279 : 17 : if (GET_CODE (x16) != REG
3280 : 17 : || REGNO (x16) != 17
3281 : 34 : || GET_MODE (x16) != E_CCZmode)
3282 : : return -1;
3283 : 17 : x17 = XEXP (x15, 0);
3284 : 17 : if (!register_operand (x17, i1))
3285 : : return -1;
3286 : 17 : x18 = XEXP (x15, 1);
3287 : 17 : if (!nonmemory_operand (x18, i1))
3288 : : return -1;
3289 : : return 0;
3290 : : }
3291 : :
3292 : : int
3293 : 41451 : pattern842 (rtx x1, machine_mode i1)
3294 : : {
3295 : 41451 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3296 : 41451 : int res ATTRIBUTE_UNUSED;
3297 : 41451 : if (!register_operand (operands[0], i1)
3298 : 31724 : || !binary_fp_operator (operands[3], i1)
3299 : 31724 : || !register_operand (operands[1], i1)
3300 : 72946 : || GET_MODE (x1) != i1)
3301 : 9956 : return -1;
3302 : 31495 : switch (GET_MODE (operands[2]))
3303 : : {
3304 : 16 : case E_HImode:
3305 : 16 : if (!nonimmediate_operand (operands[2], E_HImode))
3306 : : return -1;
3307 : : return 0;
3308 : :
3309 : 30517 : case E_SImode:
3310 : 30517 : if (!nonimmediate_operand (operands[2], E_SImode))
3311 : : return -1;
3312 : : return 1;
3313 : :
3314 : : default:
3315 : : return -1;
3316 : : }
3317 : : }
3318 : :
3319 : : int
3320 : 8825 : pattern852 (rtx x1, machine_mode i1)
3321 : : {
3322 : 8825 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3323 : 8825 : rtx x2, x3;
3324 : 8825 : int res ATTRIBUTE_UNUSED;
3325 : 8825 : if (!register_operand (operands[0], i1)
3326 : 8825 : || GET_MODE (x1) != i1)
3327 : : return -1;
3328 : 8801 : x2 = XEXP (x1, 0);
3329 : 8801 : if (GET_MODE (x2) != i1)
3330 : : return -1;
3331 : 8801 : x3 = XEXP (x1, 2);
3332 : 8801 : if (GET_MODE (x3) != i1)
3333 : 0 : return -1;
3334 : : return 0;
3335 : : }
3336 : :
3337 : : int
3338 : 1394 : pattern858 (rtx x1)
3339 : : {
3340 : 1394 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3341 : 1394 : rtx x2;
3342 : 1394 : int res ATTRIBUTE_UNUSED;
3343 : 1394 : switch (GET_MODE (operands[0]))
3344 : : {
3345 : 276 : case E_DImode:
3346 : 276 : return pattern857 (x1,
3347 : : E_DImode,
3348 : 276 : E_V64QImode); /* [-1, 0] */
3349 : :
3350 : 584 : case E_SImode:
3351 : 584 : if (!register_operand (operands[0], E_SImode)
3352 : 584 : || GET_MODE (x1) != E_SImode)
3353 : : return -1;
3354 : 568 : x2 = XEXP (x1, 0);
3355 : 568 : if (GET_MODE (x2) != E_SImode
3356 : 568 : || !register_operand (operands[3], E_SImode))
3357 : 96 : return -1;
3358 : 472 : res = pattern854 ();
3359 : 472 : if (res >= 0)
3360 : 472 : return res + 1; /* [1, 2] */
3361 : : return -1;
3362 : :
3363 : : default:
3364 : : return -1;
3365 : : }
3366 : : }
3367 : :
3368 : : int
3369 : 542 : pattern867 (rtx x1)
3370 : : {
3371 : 542 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3372 : 542 : rtx x2;
3373 : 542 : int res ATTRIBUTE_UNUSED;
3374 : 542 : x2 = XEXP (x1, 2);
3375 : 542 : if (XWINT (x2, 0) != 1L)
3376 : : return -1;
3377 : 434 : switch (GET_MODE (operands[0]))
3378 : : {
3379 : 210 : case E_V4SFmode:
3380 : 210 : return pattern616 (x1,
3381 : 210 : E_V4SFmode); /* [-1, 0] */
3382 : :
3383 : 224 : case E_V8HFmode:
3384 : 224 : if (pattern616 (x1,
3385 : : E_V8HFmode) != 0)
3386 : : return -1;
3387 : : return 1;
3388 : :
3389 : : default:
3390 : : return -1;
3391 : : }
3392 : : }
3393 : :
3394 : : int
3395 : 1930 : pattern875 (rtx x1, machine_mode i1)
3396 : : {
3397 : 1930 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3398 : 1930 : rtx x2, x3;
3399 : 1930 : int res ATTRIBUTE_UNUSED;
3400 : 1930 : if (!register_operand (operands[0], i1)
3401 : 1930 : || GET_MODE (x1) != i1)
3402 : : return -1;
3403 : 1677 : x2 = XEXP (x1, 0);
3404 : 1677 : operands[2] = x2;
3405 : 1677 : if (!register_operand (operands[2], i1))
3406 : : return -1;
3407 : 1458 : x3 = XEXP (x1, 1);
3408 : 1458 : operands[1] = x3;
3409 : 1458 : if (!reg_or_0_operand (operands[1], i1))
3410 : : return -1;
3411 : : return 0;
3412 : : }
3413 : :
3414 : : int
3415 : 412 : pattern885 (rtx x1)
3416 : : {
3417 : 412 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3418 : 412 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3419 : 412 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3420 : 412 : rtx x18, x19, x20, x21, x22;
3421 : 412 : int res ATTRIBUTE_UNUSED;
3422 : 412 : x2 = XEXP (x1, 0);
3423 : 412 : x3 = XEXP (x2, 0);
3424 : 412 : x4 = XEXP (x3, 0);
3425 : 412 : if (maybe_ne (SUBREG_BYTE (x4), 0)
3426 : 412 : || !register_operand (operands[3], E_QImode))
3427 : 188 : return -1;
3428 : 224 : x5 = XEXP (x4, 0);
3429 : 224 : switch (GET_CODE (x5))
3430 : : {
3431 : 36 : case VEC_CONCAT:
3432 : 36 : if (GET_MODE (x5) != E_V2DImode)
3433 : : return -1;
3434 : 36 : x6 = XEXP (x5, 1);
3435 : 36 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3436 : : return -1;
3437 : 0 : x7 = XEXP (x5, 0);
3438 : 0 : operands[1] = x7;
3439 : 0 : if (!memory_operand (operands[1], E_DImode))
3440 : : return -1;
3441 : 0 : x8 = XEXP (x3, 1);
3442 : 0 : switch (XVECLEN (x8, 0))
3443 : : {
3444 : 0 : case 8:
3445 : 0 : x9 = XVECEXP (x8, 0, 0);
3446 : 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3447 : : return -1;
3448 : 0 : x10 = XVECEXP (x8, 0, 1);
3449 : 0 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3450 : : return -1;
3451 : 0 : x11 = XVECEXP (x8, 0, 2);
3452 : 0 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3453 : : return -1;
3454 : 0 : x12 = XVECEXP (x8, 0, 3);
3455 : 0 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3456 : : return -1;
3457 : 0 : x13 = XVECEXP (x8, 0, 4);
3458 : 0 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3459 : : return -1;
3460 : 0 : x14 = XVECEXP (x8, 0, 5);
3461 : 0 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3462 : : return -1;
3463 : 0 : x15 = XVECEXP (x8, 0, 6);
3464 : 0 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3465 : : return -1;
3466 : 0 : x16 = XVECEXP (x8, 0, 7);
3467 : 0 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3468 : 0 : || GET_MODE (x3) != E_V8QImode
3469 : 0 : || GET_MODE (x4) != E_V16QImode)
3470 : : return -1;
3471 : 0 : switch (GET_MODE (operands[0]))
3472 : : {
3473 : 0 : case E_V8HImode:
3474 : 0 : return pattern136 (x1,
3475 : 0 : E_V8HImode); /* [-1, 0] */
3476 : :
3477 : 0 : case E_V8SImode:
3478 : 0 : if (pattern136 (x1,
3479 : : E_V8SImode) != 0)
3480 : : return -1;
3481 : : return 1;
3482 : :
3483 : 0 : case E_V8DImode:
3484 : 0 : if (pattern136 (x1,
3485 : : E_V8DImode) != 0)
3486 : : return -1;
3487 : : return 2;
3488 : :
3489 : : default:
3490 : : return -1;
3491 : : }
3492 : :
3493 : 0 : case 4:
3494 : 0 : res = pattern883 (x1,
3495 : : E_V8HImode,
3496 : : E_V4HImode);
3497 : 0 : if (res >= 0)
3498 : 0 : return res + 3; /* [3, 4] */
3499 : : return -1;
3500 : :
3501 : 0 : case 2:
3502 : 0 : if (pattern884 (x1,
3503 : : E_V4SImode,
3504 : : E_V2SImode) != 0)
3505 : : return -1;
3506 : : return 5;
3507 : :
3508 : : default:
3509 : : return -1;
3510 : : }
3511 : :
3512 : 0 : case VEC_MERGE:
3513 : 0 : if (GET_MODE (x5) != E_V4SImode)
3514 : : return -1;
3515 : 0 : x7 = XEXP (x5, 0);
3516 : 0 : if (GET_CODE (x7) != VEC_DUPLICATE
3517 : 0 : || GET_MODE (x7) != E_V4SImode)
3518 : : return -1;
3519 : 0 : x6 = XEXP (x5, 1);
3520 : 0 : if (GET_CODE (x6) != CONST_VECTOR
3521 : 0 : || XVECLEN (x6, 0) != 4
3522 : 0 : || GET_MODE (x6) != E_V4SImode)
3523 : : return -1;
3524 : 0 : x17 = XVECEXP (x6, 0, 0);
3525 : 0 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3526 : : return -1;
3527 : 0 : x18 = XVECEXP (x6, 0, 1);
3528 : 0 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3529 : : return -1;
3530 : 0 : x19 = XVECEXP (x6, 0, 2);
3531 : 0 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3532 : : return -1;
3533 : 0 : x20 = XVECEXP (x6, 0, 3);
3534 : 0 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3535 : : return -1;
3536 : 0 : x21 = XEXP (x5, 2);
3537 : 0 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3538 : : return -1;
3539 : 0 : x22 = XEXP (x7, 0);
3540 : 0 : operands[1] = x22;
3541 : 0 : if (!memory_operand (operands[1], E_SImode))
3542 : : return -1;
3543 : 0 : x8 = XEXP (x3, 1);
3544 : 0 : switch (XVECLEN (x8, 0))
3545 : : {
3546 : 0 : case 4:
3547 : 0 : res = pattern883 (x1,
3548 : : E_V16QImode,
3549 : : E_V4QImode);
3550 : 0 : if (res >= 0)
3551 : 0 : return res + 6; /* [6, 7] */
3552 : : return -1;
3553 : :
3554 : 0 : case 2:
3555 : 0 : if (pattern884 (x1,
3556 : : E_V8HImode,
3557 : : E_V2HImode) != 0)
3558 : : return -1;
3559 : : return 8;
3560 : :
3561 : : default:
3562 : : return -1;
3563 : : }
3564 : :
3565 : : default:
3566 : : return -1;
3567 : : }
3568 : : }
3569 : :
3570 : : int
3571 : 149020 : pattern932 (rtx x1)
3572 : : {
3573 : 149020 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3574 : 149020 : rtx x2, x3, x4, x5, x6, x7, x8;
3575 : 149020 : int res ATTRIBUTE_UNUSED;
3576 : 149020 : x2 = XVECEXP (x1, 0, 0);
3577 : 149020 : x3 = XEXP (x2, 0);
3578 : 149020 : if (REGNO (x3) != 17)
3579 : : return -1;
3580 : 149020 : x4 = XEXP (x2, 1);
3581 : 149020 : x5 = XEXP (x4, 0);
3582 : 149020 : x6 = XEXP (x5, 0);
3583 : 149020 : operands[1] = x6;
3584 : 149020 : x7 = XVECEXP (x1, 0, 1);
3585 : 149020 : switch (GET_CODE (x7))
3586 : : {
3587 : 116242 : case SET:
3588 : 116242 : x8 = XEXP (x7, 0);
3589 : 116242 : operands[0] = x8;
3590 : 116242 : return 0;
3591 : :
3592 : 32778 : case CLOBBER:
3593 : 32778 : x8 = XEXP (x7, 0);
3594 : 32778 : operands[0] = x8;
3595 : 32778 : res = pattern931 (x5);
3596 : 32778 : if (res >= 0)
3597 : 14878 : return res + 1; /* [1, 4] */
3598 : : return -1;
3599 : :
3600 : : default:
3601 : : return -1;
3602 : : }
3603 : : }
3604 : :
3605 : : int
3606 : 15255 : pattern943 (rtx x1, machine_mode i1)
3607 : : {
3608 : 15255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3609 : 15255 : rtx x2, x3, x4, x5, x6, x7, x8;
3610 : 15255 : int res ATTRIBUTE_UNUSED;
3611 : 15255 : if (GET_CODE (x1) != SET)
3612 : : return -1;
3613 : 13971 : x2 = XEXP (x1, 1);
3614 : 13971 : if (GET_CODE (x2) != IF_THEN_ELSE
3615 : 11639 : || GET_MODE (x2) != i1)
3616 : : return -1;
3617 : 1541 : x3 = XEXP (x2, 0);
3618 : 1541 : if (!ix86_comparison_operator (x3, E_VOIDmode))
3619 : : return -1;
3620 : 1541 : operands[4] = x3;
3621 : 1541 : x4 = XEXP (x3, 0);
3622 : 1541 : if (GET_CODE (x4) != REG
3623 : 1541 : || REGNO (x4) != 17)
3624 : : return -1;
3625 : 1541 : x5 = XEXP (x3, 1);
3626 : 1541 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3627 : : return -1;
3628 : 1541 : x6 = XEXP (x2, 1);
3629 : 1541 : if (!rtx_equal_p (x6, operands[0]))
3630 : : return -1;
3631 : 1426 : x7 = XEXP (x2, 2);
3632 : 1426 : if (!rtx_equal_p (x7, operands[2]))
3633 : : return -1;
3634 : 1371 : x8 = XEXP (x1, 0);
3635 : 1371 : if (!rtx_equal_p (x8, operands[0]))
3636 : : return -1;
3637 : : return 0;
3638 : : }
3639 : :
3640 : : int
3641 : 7360 : pattern949 (rtx x1, machine_mode i1)
3642 : : {
3643 : 7360 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3644 : 7360 : int res ATTRIBUTE_UNUSED;
3645 : 7360 : if (!register_operand (operands[0], i1)
3646 : 7340 : || GET_MODE (x1) != i1
3647 : 7340 : || !register_operand (operands[1], i1)
3648 : 5712 : || !register_operand (operands[2], i1)
3649 : 11822 : || !register_operand (operands[3], i1))
3650 : 3475 : return -1;
3651 : : return 0;
3652 : : }
3653 : :
3654 : : int
3655 : 3806 : pattern953 (rtx x1)
3656 : : {
3657 : 3806 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3658 : 3806 : rtx x2, x3;
3659 : 3806 : int res ATTRIBUTE_UNUSED;
3660 : 3806 : x2 = XEXP (x1, 1);
3661 : 3806 : operands[3] = x2;
3662 : 3806 : switch (GET_MODE (operands[0]))
3663 : : {
3664 : 1382 : case E_HImode:
3665 : 1382 : if (!register_operand (operands[0], E_HImode)
3666 : 1382 : || GET_MODE (x1) != E_HImode)
3667 : : return -1;
3668 : 1355 : x3 = XEXP (x1, 0);
3669 : 1355 : if (GET_MODE (x3) != E_HImode
3670 : 1355 : || !register_operand (operands[3], E_HImode))
3671 : 326 : return -1;
3672 : 1029 : switch (GET_MODE (operands[1]))
3673 : : {
3674 : 75 : case E_V16QImode:
3675 : 75 : if (!nonimm_or_0_operand (operands[1], E_V16QImode)
3676 : 75 : || !nonimm_or_0_operand (operands[2], E_V16QImode))
3677 : 0 : return -1;
3678 : : return 0;
3679 : :
3680 : 91 : case E_V16HImode:
3681 : 91 : if (!nonimm_or_0_operand (operands[1], E_V16HImode)
3682 : 91 : || !nonimm_or_0_operand (operands[2], E_V16HImode))
3683 : 0 : return -1;
3684 : : return 1;
3685 : :
3686 : 859 : case E_V16SImode:
3687 : 859 : if (!nonimm_or_0_operand (operands[1], E_V16SImode)
3688 : 859 : || !nonimm_or_0_operand (operands[2], E_V16SImode))
3689 : 0 : return -1;
3690 : : return 2;
3691 : :
3692 : : default:
3693 : : return -1;
3694 : : }
3695 : :
3696 : 1278 : case E_QImode:
3697 : 1278 : if (!register_operand (operands[0], E_QImode)
3698 : 1278 : || GET_MODE (x1) != E_QImode)
3699 : : return -1;
3700 : 1200 : x3 = XEXP (x1, 0);
3701 : 1200 : if (GET_MODE (x3) != E_QImode
3702 : 1200 : || !register_operand (operands[3], E_QImode))
3703 : 691 : return -1;
3704 : 509 : switch (GET_MODE (operands[1]))
3705 : : {
3706 : 91 : case E_V8HImode:
3707 : 91 : if (!nonimm_or_0_operand (operands[1], E_V8HImode)
3708 : 91 : || !nonimm_or_0_operand (operands[2], E_V8HImode))
3709 : 0 : return -1;
3710 : : return 3;
3711 : :
3712 : 77 : case E_V8SImode:
3713 : 77 : if (!nonimm_or_0_operand (operands[1], E_V8SImode)
3714 : 77 : || !nonimm_or_0_operand (operands[2], E_V8SImode))
3715 : 0 : return -1;
3716 : : return 4;
3717 : :
3718 : 81 : case E_V4SImode:
3719 : 81 : if (!nonimm_or_0_operand (operands[1], E_V4SImode)
3720 : 81 : || !nonimm_or_0_operand (operands[2], E_V4SImode))
3721 : 0 : return -1;
3722 : : return 5;
3723 : :
3724 : 79 : case E_V8DImode:
3725 : 79 : if (!nonimm_or_0_operand (operands[1], E_V8DImode)
3726 : 79 : || !nonimm_or_0_operand (operands[2], E_V8DImode))
3727 : 2 : return -1;
3728 : : return 6;
3729 : :
3730 : 80 : case E_V4DImode:
3731 : 80 : if (!nonimm_or_0_operand (operands[1], E_V4DImode)
3732 : 80 : || !nonimm_or_0_operand (operands[2], E_V4DImode))
3733 : 2 : return -1;
3734 : : return 7;
3735 : :
3736 : 97 : case E_V2DImode:
3737 : 97 : if (!nonimm_or_0_operand (operands[1], E_V2DImode)
3738 : 97 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3739 : 2 : return -1;
3740 : : return 8;
3741 : :
3742 : : default:
3743 : : return -1;
3744 : : }
3745 : :
3746 : : default:
3747 : : return -1;
3748 : : }
3749 : : }
3750 : :
3751 : : int
3752 : 0 : pattern975 (rtx x1)
3753 : : {
3754 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3755 : 0 : rtx x2, x3;
3756 : 0 : int res ATTRIBUTE_UNUSED;
3757 : 0 : x2 = XEXP (x1, 0);
3758 : 0 : operands[1] = x2;
3759 : 0 : x3 = XEXP (x1, 1);
3760 : 0 : operands[2] = x3;
3761 : 0 : switch (GET_MODE (x1))
3762 : : {
3763 : 0 : case E_V8SFmode:
3764 : 0 : if (!register_operand (operands[1], E_V8SImode)
3765 : 0 : || !const0_operand (operands[2], E_V8SImode))
3766 : 0 : return -1;
3767 : : return 0;
3768 : :
3769 : 0 : case E_V4SFmode:
3770 : 0 : if (!register_operand (operands[1], E_V4SImode)
3771 : 0 : || !const0_operand (operands[2], E_V4SImode))
3772 : 0 : return -1;
3773 : : return 1;
3774 : :
3775 : 0 : case E_V4DFmode:
3776 : 0 : if (!register_operand (operands[1], E_V4DImode)
3777 : 0 : || !const0_operand (operands[2], E_V4DImode))
3778 : 0 : return -1;
3779 : : return 2;
3780 : :
3781 : 0 : case E_V2DFmode:
3782 : 0 : if (!register_operand (operands[1], E_V2DImode)
3783 : 0 : || !const0_operand (operands[2], E_V2DImode))
3784 : 0 : return -1;
3785 : : return 3;
3786 : :
3787 : 0 : case E_V16QImode:
3788 : 0 : if (!register_operand (operands[1], E_V16QImode)
3789 : 0 : || !const0_operand (operands[2], E_V16QImode))
3790 : 0 : return -1;
3791 : : return 4;
3792 : :
3793 : : default:
3794 : : return -1;
3795 : : }
3796 : : }
3797 : :
3798 : : int
3799 : 596 : pattern986 (rtx x1, machine_mode i1)
3800 : : {
3801 : 596 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3802 : 596 : rtx x2, x3;
3803 : 596 : int res ATTRIBUTE_UNUSED;
3804 : 596 : if (!register_operand (operands[0], i1)
3805 : 596 : || GET_MODE (x1) != i1)
3806 : : return -1;
3807 : 590 : x2 = XEXP (x1, 0);
3808 : 590 : if (GET_MODE (x2) != i1)
3809 : : return -1;
3810 : 590 : x3 = XEXP (x2, 0);
3811 : 590 : if (GET_MODE (x3) != i1)
3812 : 0 : return -1;
3813 : : return 0;
3814 : : }
3815 : :
3816 : : int
3817 : 2240 : pattern994 (rtx x1, machine_mode i1, machine_mode i2)
3818 : : {
3819 : 2240 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3820 : 2240 : rtx x2;
3821 : 2240 : int res ATTRIBUTE_UNUSED;
3822 : 2240 : if (!register_operand (operands[0], i1)
3823 : 2240 : || GET_MODE (x1) != i1)
3824 : : return -1;
3825 : 2163 : x2 = XEXP (x1, 0);
3826 : 2163 : if (GET_MODE (x2) != i1
3827 : 2163 : || !register_operand (operands[1], i1)
3828 : 1967 : || !bcst_vector_operand (operands[2], i1)
3829 : 1864 : || !nonimm_or_0_operand (operands[3], i1)
3830 : 3996 : || !register_operand (operands[4], i2))
3831 : 330 : return -1;
3832 : : return 0;
3833 : : }
3834 : :
3835 : : int
3836 : 1595 : pattern1001 (rtx x1)
3837 : : {
3838 : 1595 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3839 : 1595 : rtx x2, x3, x4;
3840 : 1595 : int res ATTRIBUTE_UNUSED;
3841 : 1595 : if (!const_0_to_3_operand (operands[2], E_VOIDmode))
3842 : : return -1;
3843 : 1504 : x2 = XVECEXP (x1, 0, 1);
3844 : 1504 : operands[3] = x2;
3845 : 1504 : if (!const_0_to_3_operand (operands[3], E_VOIDmode))
3846 : : return -1;
3847 : 1488 : x3 = XVECEXP (x1, 0, 2);
3848 : 1488 : operands[4] = x3;
3849 : 1488 : if (!const_0_to_3_operand (operands[4], E_VOIDmode))
3850 : : return -1;
3851 : 1480 : x4 = XVECEXP (x1, 0, 3);
3852 : 1480 : operands[5] = x4;
3853 : 1480 : if (!const_0_to_3_operand (operands[5], E_VOIDmode))
3854 : : return -1;
3855 : : return 0;
3856 : : }
3857 : :
3858 : : int
3859 : 122 : pattern1011 (rtx x1)
3860 : : {
3861 : 122 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3862 : 122 : rtx x2;
3863 : 122 : int res ATTRIBUTE_UNUSED;
3864 : 122 : if (!register_operand (operands[0], E_V8HFmode)
3865 : 122 : || GET_MODE (x1) != E_V8HFmode)
3866 : : return -1;
3867 : 118 : x2 = XVECEXP (x1, 0, 0);
3868 : 118 : if (GET_MODE (x2) != E_V8HFmode)
3869 : : return -1;
3870 : 118 : switch (GET_MODE (operands[1]))
3871 : : {
3872 : 0 : case E_V8HImode:
3873 : 0 : if (!register_operand (operands[1], E_V8HImode))
3874 : : return -1;
3875 : : return 0;
3876 : :
3877 : 0 : case E_V8SImode:
3878 : 0 : if (!register_operand (operands[1], E_V8SImode))
3879 : : return -1;
3880 : : return 1;
3881 : :
3882 : 118 : case E_V8DImode:
3883 : 118 : if (!register_operand (operands[1], E_V8DImode))
3884 : : return -1;
3885 : : return 2;
3886 : :
3887 : : default:
3888 : : return -1;
3889 : : }
3890 : : }
3891 : :
3892 : : int
3893 : 14 : pattern1021 (rtx x1)
3894 : : {
3895 : 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3896 : 14 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3897 : 14 : rtx x10;
3898 : 14 : int res ATTRIBUTE_UNUSED;
3899 : 14 : x2 = XEXP (x1, 0);
3900 : 14 : x3 = XEXP (x2, 0);
3901 : 14 : x4 = XEXP (x3, 0);
3902 : 14 : x5 = XEXP (x4, 1);
3903 : 14 : if (GET_CODE (x5) != CONST_VECTOR
3904 : 14 : || XVECLEN (x5, 0) != 4
3905 : 14 : || GET_MODE (x5) != E_V4SImode)
3906 : : return -1;
3907 : 14 : x6 = XVECEXP (x5, 0, 0);
3908 : 14 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3909 : : return -1;
3910 : 14 : x7 = XVECEXP (x5, 0, 1);
3911 : 14 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3912 : : return -1;
3913 : 14 : x8 = XVECEXP (x5, 0, 2);
3914 : 14 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3915 : : return -1;
3916 : 14 : x9 = XVECEXP (x5, 0, 3);
3917 : 14 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3918 : : return -1;
3919 : 14 : x10 = XEXP (x4, 2);
3920 : 14 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
3921 : 14 : || GET_MODE (x4) != E_V4SImode)
3922 : : return -1;
3923 : 14 : return pattern665 (x1); /* [-1, 2] */
3924 : : }
3925 : :
3926 : : int
3927 : 407 : pattern1032 ()
3928 : : {
3929 : 407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3930 : 407 : int res ATTRIBUTE_UNUSED;
3931 : 407 : switch (GET_MODE (operands[3]))
3932 : : {
3933 : 87 : case E_HImode:
3934 : 87 : if (!extract_high_operator (operands[3], E_HImode)
3935 : 87 : || !extract_high_operator (operands[4], E_HImode))
3936 : 2 : return -1;
3937 : : return 0;
3938 : :
3939 : 227 : case E_SImode:
3940 : 227 : if (!extract_high_operator (operands[3], E_SImode)
3941 : 227 : || !extract_high_operator (operands[4], E_SImode))
3942 : 106 : return -1;
3943 : : return 1;
3944 : :
3945 : 93 : case E_DImode:
3946 : 93 : if (!extract_high_operator (operands[3], E_DImode)
3947 : 93 : || !extract_high_operator (operands[4], E_DImode))
3948 : 40 : return -1;
3949 : : return 2;
3950 : :
3951 : : default:
3952 : : return -1;
3953 : : }
3954 : : }
3955 : :
3956 : : int
3957 : 24043 : pattern1036 (rtx x1, machine_mode i1, machine_mode i2)
3958 : : {
3959 : 24043 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3960 : 24043 : rtx x2, x3, x4, x5, x6;
3961 : 24043 : int res ATTRIBUTE_UNUSED;
3962 : 24043 : if (GET_MODE (x1) != i1)
3963 : : return -1;
3964 : 24043 : x2 = XEXP (x1, 0);
3965 : 24043 : if (GET_MODE (x2) != i1)
3966 : : return -1;
3967 : 24043 : x3 = XEXP (x1, 1);
3968 : 24043 : if (GET_MODE (x3) != i1)
3969 : : return -1;
3970 : 24043 : x4 = XEXP (x3, 0);
3971 : 24043 : if (GET_MODE (x4) != i2)
3972 : : return -1;
3973 : 24043 : x5 = XEXP (x4, 0);
3974 : 24043 : if (GET_MODE (x5) != i2)
3975 : : return -1;
3976 : 24043 : x6 = XEXP (x5, 0);
3977 : 24043 : if (!register_operand (x6, i1))
3978 : : return -1;
3979 : : return 0;
3980 : : }
3981 : :
3982 : : int
3983 : 5 : pattern1040 (rtx x1, machine_mode i1)
3984 : : {
3985 : 5 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3986 : 5 : rtx x2;
3987 : 5 : int res ATTRIBUTE_UNUSED;
3988 : 5 : if (!register_operand (operands[0], i1)
3989 : 5 : || GET_MODE (x1) != i1)
3990 : : return -1;
3991 : 5 : x2 = XEXP (x1, 0);
3992 : 5 : if (GET_MODE (x2) != i1
3993 : 5 : || !vector_operand (operands[1], i1)
3994 : 10 : || !vector_operand (operands[2], i1))
3995 : 0 : return -1;
3996 : : return 0;
3997 : : }
3998 : :
3999 : : int
4000 : 705 : pattern1044 (rtx x1)
4001 : : {
4002 : 705 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4003 : 705 : rtx x2, x3, x4, x5, x6, x7, x8;
4004 : 705 : int res ATTRIBUTE_UNUSED;
4005 : 705 : x2 = XVECEXP (x1, 0, 0);
4006 : 705 : x3 = XEXP (x2, 0);
4007 : 705 : if (!register_operand (x3, E_DImode))
4008 : : return -1;
4009 : 705 : x4 = XEXP (x2, 1);
4010 : 705 : x5 = XEXP (x4, 0);
4011 : 705 : if (GET_MODE (x5) != E_SImode)
4012 : : return -1;
4013 : 705 : x6 = XVECEXP (x1, 0, 1);
4014 : 705 : x7 = XEXP (x6, 0);
4015 : 705 : if (!register_operand (x7, E_SImode))
4016 : : return -1;
4017 : 705 : x8 = XEXP (x6, 1);
4018 : 705 : if (GET_MODE (x8) != E_SImode)
4019 : : return -1;
4020 : 705 : switch (GET_CODE (x5))
4021 : : {
4022 : : case DIV:
4023 : : return 0;
4024 : :
4025 : 473 : case UDIV:
4026 : 473 : return 1;
4027 : :
4028 : 52 : case MOD:
4029 : 52 : return 2;
4030 : :
4031 : 142 : case UMOD:
4032 : 142 : return 3;
4033 : :
4034 : : default:
4035 : : return -1;
4036 : : }
4037 : : }
4038 : :
4039 : : int
4040 : 2823997 : pattern1053 (rtx x1)
4041 : : {
4042 : 2823997 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4043 : 2823997 : rtx x2, x3, x4, x5, x6;
4044 : 2823997 : int res ATTRIBUTE_UNUSED;
4045 : 2823997 : if (GET_CODE (x1) != SET)
4046 : : return -1;
4047 : 2192835 : x2 = XEXP (x1, 0);
4048 : 2192835 : if (GET_CODE (x2) != ZERO_EXTRACT)
4049 : : return -1;
4050 : 2 : x3 = XEXP (x2, 1);
4051 : 2 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4052 : : return -1;
4053 : 2 : x4 = XEXP (x2, 2);
4054 : 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4055 : : return -1;
4056 : 2 : x5 = XEXP (x2, 0);
4057 : 2 : operands[2] = x5;
4058 : 2 : if (!int248_register_operand (operands[2], E_VOIDmode))
4059 : : return -1;
4060 : 2 : x6 = XEXP (x1, 1);
4061 : 2 : operands[3] = x6;
4062 : 2 : switch (GET_MODE (x2))
4063 : : {
4064 : 0 : case E_HImode:
4065 : 0 : if (!const_int_operand (operands[3], E_HImode))
4066 : : return -1;
4067 : : return 0;
4068 : :
4069 : 2 : case E_SImode:
4070 : 2 : if (!const_int_operand (operands[3], E_SImode))
4071 : : return -1;
4072 : : return 1;
4073 : :
4074 : 0 : case E_DImode:
4075 : 0 : if (!const_int_operand (operands[3], E_DImode))
4076 : : return -1;
4077 : : return 2;
4078 : :
4079 : : default:
4080 : : return -1;
4081 : : }
4082 : : }
4083 : :
4084 : : int
4085 : 32160 : pattern1064 (rtx x1, machine_mode i1)
4086 : : {
4087 : 32160 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4088 : 32160 : rtx x2;
4089 : 32160 : int res ATTRIBUTE_UNUSED;
4090 : 32160 : if (!register_operand (operands[0], i1)
4091 : 32160 : || GET_MODE (x1) != i1)
4092 : : return -1;
4093 : 31601 : x2 = XEXP (x1, 0);
4094 : 31601 : if (GET_MODE (x2) != i1
4095 : 31601 : || !register_operand (operands[4], i1))
4096 : 3721 : return -1;
4097 : : return 0;
4098 : : }
4099 : :
4100 : : int
4101 : 17 : pattern1070 (rtx x1, machine_mode i1)
4102 : : {
4103 : 17 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4104 : 17 : int res ATTRIBUTE_UNUSED;
4105 : 17 : if (!register_operand (operands[0], i1)
4106 : 17 : || GET_MODE (x1) != i1
4107 : 17 : || !register_operand (operands[1], i1)
4108 : 28 : || !general_operand (operands[2], i1))
4109 : 12 : return -1;
4110 : : return 0;
4111 : : }
4112 : :
4113 : : int
4114 : 9 : pattern1077 (rtx x1)
4115 : : {
4116 : 9 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4117 : 9 : rtx x2, x3, x4, x5, x6, x7, x8;
4118 : 9 : int res ATTRIBUTE_UNUSED;
4119 : 9 : if (maybe_ne (SUBREG_BYTE (x1), 0))
4120 : : return -1;
4121 : 9 : x2 = XEXP (x1, 0);
4122 : 9 : switch (GET_CODE (x2))
4123 : : {
4124 : 0 : case VEC_MERGE:
4125 : 0 : x3 = XEXP (x2, 2);
4126 : 0 : if (GET_CODE (x3) != UNSPEC
4127 : 0 : || XVECLEN (x3, 0) != 3
4128 : 0 : || XINT (x3, 1) != 60
4129 : 0 : || GET_MODE (x3) != E_QImode)
4130 : : return -1;
4131 : 0 : x4 = XVECEXP (x3, 0, 2);
4132 : 0 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
4133 : : return -1;
4134 : 0 : x5 = XEXP (x2, 0);
4135 : 0 : operands[3] = x5;
4136 : 0 : x6 = XEXP (x2, 1);
4137 : 0 : operands[4] = x6;
4138 : 0 : x7 = XVECEXP (x3, 0, 0);
4139 : 0 : operands[1] = x7;
4140 : 0 : x8 = XVECEXP (x3, 0, 1);
4141 : 0 : operands[2] = x8;
4142 : 0 : switch (GET_MODE (x1))
4143 : : {
4144 : 0 : case E_V8SFmode:
4145 : 0 : return pattern1076 (x2,
4146 : 0 : E_V8SImode); /* [-1, 0] */
4147 : :
4148 : 0 : case E_V4SFmode:
4149 : 0 : if (pattern1076 (x2,
4150 : : E_V4SImode) != 0)
4151 : : return -1;
4152 : : return 1;
4153 : :
4154 : 0 : case E_V4DFmode:
4155 : 0 : if (pattern1076 (x2,
4156 : : E_V4DImode) != 0)
4157 : : return -1;
4158 : : return 2;
4159 : :
4160 : 0 : case E_V2DFmode:
4161 : 0 : if (pattern1076 (x2,
4162 : : E_V2DImode) != 0)
4163 : : return -1;
4164 : : return 3;
4165 : :
4166 : : default:
4167 : : return -1;
4168 : : }
4169 : :
4170 : 6 : case ASHIFTRT:
4171 : 6 : x5 = XEXP (x2, 0);
4172 : 6 : operands[1] = x5;
4173 : 6 : x6 = XEXP (x2, 1);
4174 : 6 : operands[2] = x6;
4175 : 6 : if (!const_int_operand (operands[2], E_QImode))
4176 : : return -1;
4177 : 6 : switch (GET_MODE (x1))
4178 : : {
4179 : 3 : case E_V8SFmode:
4180 : 3 : if (GET_MODE (x2) != E_V8SImode
4181 : 3 : || !register_operand (operands[1], E_V8SImode))
4182 : 0 : return -1;
4183 : : return 4;
4184 : :
4185 : 0 : case E_V4SFmode:
4186 : 0 : if (GET_MODE (x2) != E_V4SImode
4187 : 0 : || !register_operand (operands[1], E_V4SImode))
4188 : 0 : return -1;
4189 : : return 5;
4190 : :
4191 : 0 : case E_V4DFmode:
4192 : 0 : if (GET_MODE (x2) != E_V4DImode
4193 : 0 : || !register_operand (operands[1], E_V4DImode))
4194 : 0 : return -1;
4195 : : return 6;
4196 : :
4197 : 3 : case E_V2DFmode:
4198 : 3 : if (GET_MODE (x2) != E_V2DImode
4199 : 3 : || !register_operand (operands[1], E_V2DImode))
4200 : 0 : return -1;
4201 : : return 7;
4202 : :
4203 : : default:
4204 : : return -1;
4205 : : }
4206 : :
4207 : : default:
4208 : : return -1;
4209 : : }
4210 : : }
4211 : :
4212 : : int
4213 : 2640 : pattern1102 (rtx x1)
4214 : : {
4215 : 2640 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4216 : 2640 : rtx x2, x3, x4, x5;
4217 : 2640 : int res ATTRIBUTE_UNUSED;
4218 : 2640 : x2 = XEXP (x1, 0);
4219 : 2640 : x3 = XEXP (x2, 1);
4220 : 2640 : operands[4] = x3;
4221 : 2640 : x4 = XEXP (x2, 2);
4222 : 2640 : operands[5] = x4;
4223 : 2640 : if (!register_operand (operands[5], E_QImode))
4224 : : return -1;
4225 : 2596 : x5 = XEXP (x1, 1);
4226 : 2596 : if (!rtx_equal_p (x5, operands[1]))
4227 : : return -1;
4228 : 2596 : switch (GET_MODE (operands[0]))
4229 : : {
4230 : 792 : case E_V8HFmode:
4231 : 792 : return pattern1101 (x1,
4232 : 792 : E_V8HFmode); /* [-1, 0] */
4233 : :
4234 : 902 : case E_V4SFmode:
4235 : 902 : if (pattern1101 (x1,
4236 : : E_V4SFmode) != 0)
4237 : : return -1;
4238 : : return 1;
4239 : :
4240 : 902 : case E_V2DFmode:
4241 : 902 : if (pattern1101 (x1,
4242 : : E_V2DFmode) != 0)
4243 : : return -1;
4244 : : return 2;
4245 : :
4246 : : default:
4247 : : return -1;
4248 : : }
4249 : : }
4250 : :
4251 : : int
4252 : 942 : pattern1118 (rtx x1, machine_mode i1)
4253 : : {
4254 : 942 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4255 : 942 : rtx x2, x3, x4;
4256 : 942 : int res ATTRIBUTE_UNUSED;
4257 : 942 : if (!register_operand (operands[0], i1)
4258 : 942 : || GET_MODE (x1) != i1)
4259 : : return -1;
4260 : 888 : x2 = XVECEXP (x1, 0, 0);
4261 : 888 : if (GET_MODE (x2) != i1)
4262 : : return -1;
4263 : 888 : x3 = XEXP (x2, 0);
4264 : 888 : if (GET_MODE (x3) != i1)
4265 : : return -1;
4266 : 888 : x4 = XEXP (x3, 0);
4267 : 888 : if (GET_MODE (x4) != i1
4268 : 888 : || !register_operand (operands[1], i1)
4269 : 864 : || !nonimmediate_operand (operands[2], i1)
4270 : 1748 : || !nonimm_or_0_operand (operands[3], i1))
4271 : 62 : return -1;
4272 : : return 0;
4273 : : }
4274 : :
4275 : : int
4276 : 368 : pattern1125 (rtx x1)
4277 : : {
4278 : 368 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4279 : 368 : rtx x2, x3;
4280 : 368 : int res ATTRIBUTE_UNUSED;
4281 : 368 : x2 = XVECEXP (x1, 0, 0);
4282 : 368 : if (GET_MODE (x2) != E_V32HFmode
4283 : 368 : || !register_operand (operands[0], E_V32HFmode)
4284 : 350 : || GET_MODE (x1) != E_V32HFmode
4285 : 350 : || !register_operand (operands[1], E_V32HFmode)
4286 : 716 : || !register_operand (operands[2], E_V32HFmode))
4287 : 32 : return -1;
4288 : 336 : x3 = XVECEXP (x2, 0, 2);
4289 : 336 : operands[3] = x3;
4290 : 336 : if (!register_operand (operands[3], E_V32HFmode)
4291 : 336 : || !const_4_or_8_to_11_operand (operands[4], E_SImode))
4292 : 8 : return -1;
4293 : : return 0;
4294 : : }
4295 : :
4296 : : int
4297 : 7399 : pattern1135 (rtx x1)
4298 : : {
4299 : 7399 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4300 : 7399 : rtx x2, x3, x4, x5;
4301 : 7399 : int res ATTRIBUTE_UNUSED;
4302 : 7399 : x2 = XEXP (x1, 2);
4303 : 7399 : x3 = XEXP (x2, 0);
4304 : 7399 : if (!rtx_equal_p (x3, operands[1]))
4305 : : return -1;
4306 : 7399 : x4 = XEXP (x2, 1);
4307 : 7399 : x5 = XEXP (x4, 0);
4308 : 7399 : if (!rtx_equal_p (x5, operands[2]))
4309 : : return -1;
4310 : 7377 : switch (GET_MODE (operands[0]))
4311 : : {
4312 : 456 : case E_V16QImode:
4313 : 456 : return pattern1134 (x1,
4314 : 456 : E_V16QImode); /* [-1, 0] */
4315 : :
4316 : 398 : case E_V8HImode:
4317 : 398 : if (pattern1134 (x1,
4318 : : E_V8HImode) != 0)
4319 : : return -1;
4320 : : return 1;
4321 : :
4322 : 4299 : case E_V4SImode:
4323 : 4299 : if (pattern1134 (x1,
4324 : : E_V4SImode) != 0)
4325 : : return -1;
4326 : : return 2;
4327 : :
4328 : 2224 : case E_V2DImode:
4329 : 2224 : if (pattern1134 (x1,
4330 : : E_V2DImode) != 0)
4331 : : return -1;
4332 : : return 3;
4333 : :
4334 : : default:
4335 : : return -1;
4336 : : }
4337 : : }
4338 : :
4339 : : int
4340 : 239 : pattern1147 (rtx x1, machine_mode i1)
4341 : : {
4342 : 239 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4343 : 239 : rtx x2, x3;
4344 : 239 : int res ATTRIBUTE_UNUSED;
4345 : 239 : if (!nonimmediate_operand (operands[0], i1)
4346 : 239 : || GET_MODE (x1) != i1)
4347 : : return -1;
4348 : 239 : x2 = XEXP (x1, 0);
4349 : 239 : if (GET_MODE (x2) != i1)
4350 : : return -1;
4351 : 239 : x3 = XEXP (x2, 0);
4352 : 239 : if (GET_MODE (x3) != i1
4353 : 239 : || !nonimmediate_operand (operands[1], i1)
4354 : 429 : || !x86_64_general_operand (operands[2], i1))
4355 : 49 : return -1;
4356 : : return 0;
4357 : : }
4358 : :
4359 : : int
4360 : 26363 : pattern1155 (rtx x1)
4361 : : {
4362 : 26363 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4363 : 26363 : rtx x2, x3, x4, x5;
4364 : 26363 : int res ATTRIBUTE_UNUSED;
4365 : 26363 : x2 = XEXP (x1, 1);
4366 : 26363 : x3 = XEXP (x2, 0);
4367 : 26363 : switch (GET_CODE (x3))
4368 : : {
4369 : 4322 : case AND:
4370 : 4322 : x4 = XEXP (x3, 0);
4371 : 4322 : operands[2] = x4;
4372 : 4322 : if (!int248_register_operand (operands[2], E_VOIDmode))
4373 : : return -1;
4374 : 4265 : return pattern1154 (x1); /* [-1, 3] */
4375 : :
4376 : 0 : case PLUS:
4377 : 0 : x4 = XEXP (x3, 0);
4378 : 0 : operands[2] = x4;
4379 : 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
4380 : : return -1;
4381 : 0 : res = pattern1154 (x1);
4382 : 0 : if (res >= 0)
4383 : 0 : return res + 4; /* [4, 7] */
4384 : : return -1;
4385 : :
4386 : 0 : case MINUS:
4387 : 0 : x4 = XEXP (x3, 0);
4388 : 0 : operands[3] = x4;
4389 : 0 : if (!const_int_operand (operands[3], E_VOIDmode))
4390 : : return -1;
4391 : 0 : x5 = XEXP (x3, 1);
4392 : 0 : operands[2] = x5;
4393 : 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
4394 : : return -1;
4395 : 0 : res = pattern196 (x1);
4396 : 0 : if (res >= 0)
4397 : 0 : return res + 8; /* [8, 11] */
4398 : : return -1;
4399 : :
4400 : : default:
4401 : : return -1;
4402 : : }
4403 : : }
4404 : :
4405 : : int
4406 : 245 : pattern1171 (rtx x1)
4407 : : {
4408 : 245 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4409 : 245 : rtx x2, x3, x4, x5, x6, x7, x8;
4410 : 245 : int res ATTRIBUTE_UNUSED;
4411 : 245 : x2 = XEXP (x1, 1);
4412 : 245 : x3 = XEXP (x2, 1);
4413 : 245 : switch (GET_CODE (x3))
4414 : : {
4415 : 195 : case LABEL_REF:
4416 : 195 : x4 = XEXP (x2, 2);
4417 : 195 : if (GET_CODE (x4) != PC)
4418 : : return -1;
4419 : 195 : x5 = XEXP (x1, 0);
4420 : 195 : if (GET_CODE (x5) != PC)
4421 : : return -1;
4422 : 195 : x6 = XEXP (x2, 0);
4423 : 195 : operands[0] = x6;
4424 : 195 : x7 = XEXP (x6, 0);
4425 : 195 : operands[1] = x7;
4426 : 195 : x8 = XEXP (x3, 0);
4427 : 195 : operands[2] = x8;
4428 : 195 : switch (GET_MODE (operands[1]))
4429 : : {
4430 : 8 : case E_QImode:
4431 : 8 : if (!register_operand (operands[1], E_QImode))
4432 : : return -1;
4433 : : return 0;
4434 : :
4435 : 68 : case E_HImode:
4436 : 68 : if (!register_operand (operands[1], E_HImode))
4437 : : return -1;
4438 : : return 1;
4439 : :
4440 : 94 : case E_SImode:
4441 : 94 : if (!register_operand (operands[1], E_SImode))
4442 : : return -1;
4443 : : return 2;
4444 : :
4445 : 25 : case E_DImode:
4446 : 25 : if (!register_operand (operands[1], E_DImode))
4447 : : return -1;
4448 : : return 3;
4449 : :
4450 : : default:
4451 : : return -1;
4452 : : }
4453 : :
4454 : 49 : case REG:
4455 : 49 : case SUBREG:
4456 : 49 : case MEM:
4457 : 49 : operands[2] = x3;
4458 : 49 : x5 = XEXP (x1, 0);
4459 : 49 : operands[0] = x5;
4460 : 49 : x6 = XEXP (x2, 0);
4461 : 49 : operands[1] = x6;
4462 : 49 : x7 = XEXP (x6, 0);
4463 : 49 : operands[4] = x7;
4464 : 49 : x4 = XEXP (x2, 2);
4465 : 49 : operands[3] = x4;
4466 : 49 : switch (GET_MODE (operands[0]))
4467 : : {
4468 : 7 : case E_QImode:
4469 : 7 : if (!register_operand (operands[0], E_QImode)
4470 : 7 : || GET_MODE (x2) != E_QImode
4471 : 7 : || !register_operand (operands[2], E_QImode)
4472 : 14 : || !register_operand (operands[3], E_QImode))
4473 : 0 : return -1;
4474 : 7 : res = pattern1169 ();
4475 : 7 : if (res >= 0)
4476 : 7 : return res + 4; /* [4, 7] */
4477 : : return -1;
4478 : :
4479 : 7 : case E_HImode:
4480 : 7 : res = pattern1170 (x2,
4481 : : E_HImode);
4482 : 7 : if (res >= 0)
4483 : 7 : return res + 8; /* [8, 11] */
4484 : : return -1;
4485 : :
4486 : 28 : case E_SImode:
4487 : 28 : res = pattern1170 (x2,
4488 : : E_SImode);
4489 : 28 : if (res >= 0)
4490 : 28 : return res + 12; /* [12, 15] */
4491 : : return -1;
4492 : :
4493 : 7 : case E_DImode:
4494 : 7 : res = pattern1170 (x2,
4495 : : E_DImode);
4496 : 7 : if (res >= 0)
4497 : 7 : return res + 16; /* [16, 19] */
4498 : : return -1;
4499 : :
4500 : : default:
4501 : : return -1;
4502 : : }
4503 : :
4504 : : default:
4505 : : return -1;
4506 : : }
4507 : : }
4508 : :
4509 : : int
4510 : 52 : pattern1203 (rtx x1, machine_mode i1, machine_mode i2)
4511 : : {
4512 : 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4513 : 52 : rtx x2, x3;
4514 : 52 : int res ATTRIBUTE_UNUSED;
4515 : 52 : if (!register_operand (operands[0], i1)
4516 : 52 : || GET_MODE (x1) != i1)
4517 : : return -1;
4518 : 52 : x2 = XEXP (x1, 0);
4519 : 52 : if (GET_MODE (x2) != i1)
4520 : : return -1;
4521 : 52 : x3 = XEXP (x2, 0);
4522 : 52 : if (GET_MODE (x3) != i2
4523 : 52 : || !register_operand (operands[1], i1))
4524 : 10 : return -1;
4525 : : return 0;
4526 : : }
4527 : :
4528 : : int
4529 : 240 : pattern1209 (rtx x1, machine_mode i1)
4530 : : {
4531 : 240 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4532 : 240 : rtx x2;
4533 : 240 : int res ATTRIBUTE_UNUSED;
4534 : 240 : if (!register_operand (operands[0], i1)
4535 : 240 : || GET_MODE (x1) != i1)
4536 : : return -1;
4537 : 228 : x2 = XVECEXP (x1, 0, 0);
4538 : 228 : if (GET_MODE (x2) != i1)
4539 : : return -1;
4540 : 228 : switch (GET_MODE (operands[1]))
4541 : : {
4542 : 59 : case E_V8HFmode:
4543 : 59 : if (!register_operand (operands[1], E_V8HFmode))
4544 : : return -1;
4545 : : return 0;
4546 : :
4547 : 52 : case E_V8SFmode:
4548 : 52 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
4549 : : return -1;
4550 : : return 1;
4551 : :
4552 : 117 : case E_V8DFmode:
4553 : 117 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
4554 : : return -1;
4555 : : return 2;
4556 : :
4557 : : default:
4558 : : return -1;
4559 : : }
4560 : : }
4561 : :
4562 : : int
4563 : 13083 : pattern1218 (rtx x1)
4564 : : {
4565 : 13083 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4566 : 13083 : rtx x2, x3, x4;
4567 : 13083 : int res ATTRIBUTE_UNUSED;
4568 : 13083 : x2 = XEXP (x1, 0);
4569 : 13083 : x3 = XEXP (x2, 0);
4570 : 13083 : operands[1] = x3;
4571 : 13083 : x4 = XEXP (x2, 1);
4572 : 13083 : operands[2] = x4;
4573 : 13083 : if (!const_int_operand (operands[2], E_QImode))
4574 : : return -1;
4575 : 13070 : switch (GET_MODE (operands[0]))
4576 : : {
4577 : 10398 : case E_SImode:
4578 : 10398 : return pattern1217 (x1,
4579 : : E_DImode,
4580 : 10398 : E_SImode); /* [-1, 0] */
4581 : :
4582 : 802 : case E_DImode:
4583 : 802 : if (pattern1217 (x1,
4584 : : E_TImode,
4585 : : E_DImode) != 0)
4586 : : return -1;
4587 : : return 1;
4588 : :
4589 : : default:
4590 : : return -1;
4591 : : }
4592 : : }
4593 : :
4594 : : int
4595 : 123 : pattern1223 (rtx x1, machine_mode i1)
4596 : : {
4597 : 123 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4598 : 123 : int res ATTRIBUTE_UNUSED;
4599 : 123 : if (!memory_operand (operands[0], i1)
4600 : 123 : || GET_MODE (x1) != i1
4601 : 246 : || !memory_operand (operands[3], i1))
4602 : 0 : return -1;
4603 : 123 : switch (GET_MODE (operands[1]))
4604 : : {
4605 : 2 : case E_SImode:
4606 : 2 : if (!register_operand (operands[1], E_SImode))
4607 : : return -1;
4608 : : return 0;
4609 : :
4610 : 121 : case E_DImode:
4611 : 121 : if (!register_operand (operands[1], E_DImode))
4612 : : return -1;
4613 : : return 1;
4614 : :
4615 : : default:
4616 : : return -1;
4617 : : }
4618 : : }
4619 : :
4620 : : int
4621 : 0 : pattern1228 (rtx x1, rtx_code i1)
4622 : : {
4623 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4624 : 0 : rtx x2, x3, x4, x5, x6, x7, x8;
4625 : 0 : int res ATTRIBUTE_UNUSED;
4626 : 0 : x2 = XVECEXP (x1, 0, 1);
4627 : 0 : x3 = XEXP (x2, 1);
4628 : 0 : if (GET_MODE (x3) != E_DImode)
4629 : : return -1;
4630 : 0 : x4 = XEXP (x3, 0);
4631 : 0 : if (GET_CODE (x4) != i1
4632 : 0 : || GET_MODE (x4) != E_SImode)
4633 : : return -1;
4634 : 0 : x5 = XVECEXP (x1, 0, 0);
4635 : 0 : x6 = XEXP (x5, 1);
4636 : 0 : x7 = XEXP (x6, 0);
4637 : 0 : if (GET_MODE (x7) != E_SImode
4638 : 0 : || !nonimmediate_operand (operands[1], E_SImode)
4639 : 0 : || !register_operand (operands[0], E_DImode))
4640 : 0 : return -1;
4641 : 0 : x8 = XEXP (x4, 0);
4642 : 0 : if (!rtx_equal_p (x8, operands[1]))
4643 : : return -1;
4644 : : return 0;
4645 : : }
4646 : :
4647 : : int
4648 : 3 : pattern1237 (rtx x1, machine_mode i1)
4649 : : {
4650 : 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4651 : 3 : int res ATTRIBUTE_UNUSED;
4652 : 3 : if (!register_operand (operands[0], i1)
4653 : 3 : || GET_MODE (x1) != i1
4654 : 3 : || !bcst_vector_operand (operands[1], i1)
4655 : 3 : || !vector_all_ones_operand (operands[2], i1)
4656 : 6 : || !register_operand (operands[3], i1))
4657 : 0 : return -1;
4658 : : return 0;
4659 : : }
4660 : :
4661 : : int
4662 : 2 : pattern1241 (rtx x1)
4663 : : {
4664 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4665 : 2 : rtx x2;
4666 : 2 : int res ATTRIBUTE_UNUSED;
4667 : 2 : if (maybe_ne (SUBREG_BYTE (x1), 0)
4668 : 2 : || GET_MODE (x1) != E_V2DImode)
4669 : : return -1;
4670 : 2 : x2 = XEXP (x1, 0);
4671 : 2 : if (GET_CODE (x2) != UNSPEC
4672 : 2 : || XVECLEN (x2, 0) != 1
4673 : 2 : || XINT (x2, 1) != 120
4674 : 2 : || GET_MODE (x2) != E_V16QImode)
4675 : 0 : return -1;
4676 : : return 0;
4677 : : }
4678 : :
4679 : : int
4680 : 2 : pattern1248 (rtx x1, machine_mode i1, machine_mode i2)
4681 : : {
4682 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4683 : 2 : int res ATTRIBUTE_UNUSED;
4684 : 2 : if (!vector_all_ones_operand (operands[3], i1)
4685 : 2 : || !const0_operand (operands[4], i1)
4686 : 2 : || GET_MODE (x1) != i2
4687 : 2 : || !vector_operand (operands[0], i1)
4688 : 4 : || !const0_operand (operands[1], i1))
4689 : 0 : return -1;
4690 : : return 0;
4691 : : }
4692 : :
4693 : : int
4694 : 325 : pattern1253 (rtx x1, machine_mode i1, machine_mode i2)
4695 : : {
4696 : 325 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4697 : 325 : rtx x2, x3;
4698 : 325 : int res ATTRIBUTE_UNUSED;
4699 : 325 : if (GET_CODE (x1) != SIGN_EXTEND
4700 : 325 : || GET_MODE (x1) != i2)
4701 : : return -1;
4702 : 325 : x2 = XEXP (x1, 0);
4703 : 325 : if (GET_CODE (x2) != VEC_SELECT
4704 : 325 : || GET_MODE (x2) != i1)
4705 : : return -1;
4706 : 325 : x3 = XEXP (x2, 1);
4707 : 325 : if (GET_CODE (x3) != PARALLEL)
4708 : 0 : return -1;
4709 : : return 0;
4710 : : }
4711 : :
4712 : : int
4713 : 1452 : pattern1259 (rtx x1, machine_mode i1, machine_mode i2)
4714 : : {
4715 : 1452 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4716 : 1452 : rtx x2, x3;
4717 : 1452 : int res ATTRIBUTE_UNUSED;
4718 : 1452 : if (!register_operand (operands[0], i1)
4719 : 1452 : || GET_MODE (x1) != i1)
4720 : : return -1;
4721 : 1315 : x2 = XEXP (x1, 0);
4722 : 1315 : if (GET_MODE (x2) != i1
4723 : 1315 : || !nonimmediate_operand (operands[1], i1)
4724 : 2594 : || !vector_operand (operands[2], i1))
4725 : 36 : return -1;
4726 : 1279 : x3 = XVECEXP (x2, 0, 2);
4727 : 1279 : if (GET_MODE (x3) != i1
4728 : 1279 : || !register_operand (operands[4], i2))
4729 : 57 : return -1;
4730 : : return 0;
4731 : : }
4732 : :
4733 : : int
4734 : 444 : pattern1268 (rtx x1)
4735 : : {
4736 : 444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4737 : 444 : rtx x2, x3;
4738 : 444 : int res ATTRIBUTE_UNUSED;
4739 : 444 : x2 = XEXP (x1, 0);
4740 : 444 : x3 = XEXP (x2, 0);
4741 : 444 : if (GET_MODE (x3) != E_V8HFmode
4742 : 444 : || !register_operand (operands[0], E_V8HFmode)
4743 : 430 : || GET_MODE (x1) != E_V8HFmode
4744 : 430 : || GET_MODE (x2) != E_V8HFmode
4745 : 430 : || !nonimmediate_operand (operands[1], E_V8HFmode)
4746 : 430 : || !nonimm_or_0_operand (operands[3], E_V8HFmode)
4747 : 872 : || !register_operand (operands[2], E_V8HFmode))
4748 : 16 : return -1;
4749 : : return 0;
4750 : : }
4751 : :
4752 : : int
4753 : 2039 : pattern1276 (rtx x1, machine_mode i1, machine_mode i2)
4754 : : {
4755 : 2039 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4756 : 2039 : rtx x2, x3;
4757 : 2039 : int res ATTRIBUTE_UNUSED;
4758 : 2039 : if (!register_operand (operands[0], i1)
4759 : 2039 : || GET_MODE (x1) != i1)
4760 : : return -1;
4761 : 1899 : x2 = XEXP (x1, 0);
4762 : 1899 : if (GET_MODE (x2) != i1
4763 : 1899 : || !vector_operand (operands[2], i1))
4764 : 4 : return -1;
4765 : 1895 : x3 = XEXP (x2, 2);
4766 : 1895 : if (GET_MODE (x3) != i1
4767 : 1895 : || !register_operand (operands[4], i2))
4768 : 0 : return -1;
4769 : : return 0;
4770 : : }
4771 : :
4772 : : int
4773 : 460 : pattern1285 (rtx x1, int i1, int i2, int i3, int i4)
4774 : : {
4775 : 460 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4776 : 460 : rtx x2, x3, x4, x5;
4777 : 460 : int res ATTRIBUTE_UNUSED;
4778 : 460 : x2 = XVECEXP (x1, 0, 8);
4779 : 460 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4780 : : return -1;
4781 : 460 : x3 = XVECEXP (x1, 0, 9);
4782 : 460 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4783 : : return -1;
4784 : 460 : x4 = XVECEXP (x1, 0, 10);
4785 : 460 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4786 : : return -1;
4787 : 460 : x5 = XVECEXP (x1, 0, 11);
4788 : 460 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4789 : 0 : return -1;
4790 : : return 0;
4791 : : }
4792 : :
4793 : : int
4794 : 972 : pattern1294 (rtx x1)
4795 : : {
4796 : 972 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4797 : 972 : rtx x2, x3;
4798 : 972 : int res ATTRIBUTE_UNUSED;
4799 : 972 : if (!register_operand (operands[0], E_V16HFmode)
4800 : 972 : || GET_MODE (x1) != E_V16HFmode)
4801 : : return -1;
4802 : 942 : x2 = XVECEXP (x1, 0, 0);
4803 : 942 : if (GET_MODE (x2) != E_V16HFmode)
4804 : : return -1;
4805 : 942 : x3 = XEXP (x2, 0);
4806 : 942 : if (GET_MODE (x3) != E_V16HFmode
4807 : 942 : || !nonimm_or_0_operand (operands[2], E_V16HFmode)
4808 : 1882 : || !register_operand (operands[3], E_HImode))
4809 : 20 : return -1;
4810 : 922 : switch (GET_MODE (operands[1]))
4811 : : {
4812 : 0 : case E_V16HImode:
4813 : 0 : if (!register_operand (operands[1], E_V16HImode))
4814 : : return -1;
4815 : : return 0;
4816 : :
4817 : 922 : case E_V16SImode:
4818 : 922 : if (!register_operand (operands[1], E_V16SImode))
4819 : : return -1;
4820 : : return 1;
4821 : :
4822 : : default:
4823 : : return -1;
4824 : : }
4825 : : }
4826 : :
4827 : : int
4828 : 887 : pattern1303 (rtx x1, machine_mode i1)
4829 : : {
4830 : 887 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4831 : 887 : rtx x2, x3;
4832 : 887 : int res ATTRIBUTE_UNUSED;
4833 : 887 : if (!register_operand (operands[0], i1)
4834 : 887 : || GET_MODE (x1) != i1
4835 : 1774 : || !register_operand (operands[1], i1))
4836 : 481 : return -1;
4837 : 406 : x2 = XEXP (x1, 2);
4838 : 406 : x3 = XEXP (x2, 0);
4839 : 406 : if (GET_MODE (x3) != i1
4840 : 406 : || !register_operand (operands[2], i1))
4841 : 100 : return -1;
4842 : : return 0;
4843 : : }
4844 : :
4845 : : int
4846 : 28225 : pattern1307 (rtx x1)
4847 : : {
4848 : 28225 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4849 : 28225 : rtx x2, x3, x4, x5, x6, x7, x8;
4850 : 28225 : int res ATTRIBUTE_UNUSED;
4851 : 28225 : x2 = XVECEXP (x1, 0, 1);
4852 : 28225 : x3 = XEXP (x2, 1);
4853 : 28225 : x4 = XEXP (x3, 0);
4854 : 28225 : if (!rtx_equal_p (x4, operands[1]))
4855 : : return -1;
4856 : 28219 : x5 = XEXP (x3, 1);
4857 : 28219 : if (!rtx_equal_p (x5, operands[2]))
4858 : : return -1;
4859 : 28215 : x6 = XVECEXP (x1, 0, 0);
4860 : 28215 : x7 = XEXP (x6, 1);
4861 : 28215 : x8 = XEXP (x7, 0);
4862 : 28215 : switch (GET_MODE (x8))
4863 : : {
4864 : 461 : case E_QImode:
4865 : 461 : return pattern1306 (x3,
4866 : 461 : E_QImode); /* [-1, 0] */
4867 : :
4868 : 123 : case E_HImode:
4869 : 123 : if (pattern1306 (x3,
4870 : : E_HImode) != 0)
4871 : : return -1;
4872 : : return 1;
4873 : :
4874 : 4706 : case E_SImode:
4875 : 4706 : if (pattern1306 (x3,
4876 : : E_SImode) != 0)
4877 : : return -1;
4878 : : return 2;
4879 : :
4880 : 22646 : case E_DImode:
4881 : 22646 : if (!nonimmediate_operand (operands[1], E_DImode)
4882 : 18533 : || !const_1_to_63_operand (operands[2], E_QImode)
4883 : 17493 : || !nonimmediate_operand (operands[0], E_DImode)
4884 : 40139 : || GET_MODE (x3) != E_DImode)
4885 : 5153 : return -1;
4886 : : return 3;
4887 : :
4888 : : default:
4889 : : return -1;
4890 : : }
4891 : : }
4892 : :
4893 : : int
4894 : 577 : pattern1326 (rtx x1)
4895 : : {
4896 : 577 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4897 : 577 : int res ATTRIBUTE_UNUSED;
4898 : 577 : switch (GET_MODE (operands[0]))
4899 : : {
4900 : 203 : case E_SImode:
4901 : 203 : if (!register_operand (operands[0], E_SImode)
4902 : 203 : || GET_MODE (x1) != E_SImode
4903 : 406 : || !nonimmediate_operand (operands[1], E_SImode))
4904 : 0 : return -1;
4905 : : return 0;
4906 : :
4907 : 201 : case E_DImode:
4908 : 201 : if (!register_operand (operands[0], E_DImode)
4909 : 201 : || GET_MODE (x1) != E_DImode
4910 : 402 : || !nonimmediate_operand (operands[1], E_DImode))
4911 : 0 : return -1;
4912 : : return 1;
4913 : :
4914 : : default:
4915 : : return -1;
4916 : : }
4917 : : }
4918 : :
4919 : : int
4920 : 10087 : pattern1334 (rtx x1, machine_mode i1)
4921 : : {
4922 : 10087 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4923 : 10087 : rtx x2, x3, x4;
4924 : 10087 : int res ATTRIBUTE_UNUSED;
4925 : 10087 : x2 = XEXP (x1, 0);
4926 : 10087 : operands[2] = x2;
4927 : 10087 : if (!general_reg_operand (operands[2], i1))
4928 : : return -1;
4929 : 5772 : x3 = XEXP (x1, 1);
4930 : 5772 : operands[3] = x3;
4931 : 5772 : if (!general_gr_operand (operands[3], i1))
4932 : : return -1;
4933 : 2462 : x4 = PATTERN (peep2_next_insn (3));
4934 : 2462 : return pattern943 (x4,
4935 : 2462 : i1); /* [-1, 0] */
4936 : : }
4937 : :
4938 : : int
4939 : 0 : pattern1342 (rtx x1, machine_mode i1)
4940 : : {
4941 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4942 : 0 : rtx x2, x3, x4, x5, x6, x7;
4943 : 0 : int res ATTRIBUTE_UNUSED;
4944 : 0 : if (!general_reg_operand (operands[0], i1)
4945 : 0 : || GET_CODE (x1) != PARALLEL
4946 : 0 : || XVECLEN (x1, 0) != 2)
4947 : : return -1;
4948 : 0 : x2 = XVECEXP (x1, 0, 0);
4949 : 0 : if (GET_CODE (x2) != SET)
4950 : : return -1;
4951 : 0 : x3 = XVECEXP (x1, 0, 1);
4952 : 0 : if (GET_CODE (x3) != CLOBBER)
4953 : : return -1;
4954 : 0 : x4 = XEXP (x3, 0);
4955 : 0 : if (GET_CODE (x4) != REG
4956 : 0 : || REGNO (x4) != 17
4957 : 0 : || GET_MODE (x4) != E_CCmode)
4958 : : return -1;
4959 : 0 : x5 = XEXP (x2, 1);
4960 : 0 : if (GET_MODE (x5) != i1)
4961 : : return -1;
4962 : 0 : x6 = XEXP (x2, 0);
4963 : 0 : if (!rtx_equal_p (x6, operands[0]))
4964 : : return -1;
4965 : 0 : switch (GET_CODE (x5))
4966 : : {
4967 : 0 : case PLUS:
4968 : 0 : x7 = XEXP (x5, 0);
4969 : 0 : if (!rtx_equal_p (x7, operands[0]))
4970 : : return -1;
4971 : : return 0;
4972 : :
4973 : 0 : case IOR:
4974 : 0 : x7 = XEXP (x5, 0);
4975 : 0 : if (!rtx_equal_p (x7, operands[0]))
4976 : : return -1;
4977 : : return 1;
4978 : :
4979 : 0 : case XOR:
4980 : 0 : x7 = XEXP (x5, 0);
4981 : 0 : if (!rtx_equal_p (x7, operands[0]))
4982 : : return -1;
4983 : : return 2;
4984 : :
4985 : : default:
4986 : : return -1;
4987 : : }
4988 : : }
4989 : :
4990 : : int
4991 : 1208 : pattern1355 (rtx x1, machine_mode i1, machine_mode i2)
4992 : : {
4993 : 1208 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4994 : 1208 : rtx x2;
4995 : 1208 : int res ATTRIBUTE_UNUSED;
4996 : 1208 : if (!register_operand (operands[0], i1)
4997 : 1208 : || GET_MODE (x1) != i1)
4998 : : return -1;
4999 : 1126 : x2 = XEXP (x1, 0);
5000 : 1126 : if (GET_MODE (x2) != i1
5001 : 1126 : || !vector_operand (operands[1], i1)
5002 : 1118 : || !vector_operand (operands[2], i1)
5003 : 1118 : || !vector_operand (operands[3], i1)
5004 : 1118 : || !const0_operand (operands[4], i1)
5005 : 2244 : || !register_operand (operands[5], i2))
5006 : 91 : return -1;
5007 : : return 0;
5008 : : }
5009 : :
5010 : : int
5011 : 279 : pattern1364 (rtx x1, machine_mode i1, machine_mode i2)
5012 : : {
5013 : 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5014 : 279 : rtx x2;
5015 : 279 : int res ATTRIBUTE_UNUSED;
5016 : 279 : if (!register_operand (operands[0], i2)
5017 : 279 : || GET_MODE (x1) != i2)
5018 : : return -1;
5019 : 273 : x2 = XEXP (x1, 0);
5020 : 273 : if (GET_MODE (x2) != i2
5021 : 273 : || !nonimmediate_operand (operands[1], i2)
5022 : 546 : || pattern1363 (
5023 : : i1,
5024 : : i2) != 0)
5025 : 0 : return -1;
5026 : : return 0;
5027 : : }
5028 : :
5029 : : int
5030 : 258 : pattern1373 (rtx x1, machine_mode i1)
5031 : : {
5032 : 258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5033 : 258 : rtx x2, x3;
5034 : 258 : int res ATTRIBUTE_UNUSED;
5035 : 258 : if (!register_operand (operands[0], i1)
5036 : 258 : || GET_MODE (x1) != i1)
5037 : : return -1;
5038 : 244 : x2 = XEXP (x1, 0);
5039 : 244 : if (GET_MODE (x2) != i1
5040 : 244 : || !nonimmediate_operand (operands[1], i1)
5041 : 486 : || !nonimmediate_operand (operands[2], i1))
5042 : 2 : return -1;
5043 : 242 : x3 = XEXP (x2, 2);
5044 : 242 : if (GET_MODE (x3) != i1
5045 : 242 : || !nonimmediate_operand (operands[3], i1))
5046 : 0 : return -1;
5047 : : return 0;
5048 : : }
5049 : :
5050 : : int
5051 : 244 : pattern1382 (rtx x1, machine_mode i1)
5052 : : {
5053 : 244 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5054 : 244 : rtx x2, x3, x4;
5055 : 244 : int res ATTRIBUTE_UNUSED;
5056 : 244 : if (!register_operand (operands[0], i1)
5057 : 244 : || GET_MODE (x1) != i1)
5058 : : return -1;
5059 : 234 : x2 = XEXP (x1, 0);
5060 : 234 : if (GET_MODE (x2) != i1)
5061 : : return -1;
5062 : 234 : x3 = XEXP (x2, 0);
5063 : 234 : if (GET_MODE (x3) != i1
5064 : 234 : || !nonimmediate_operand (operands[1], i1)
5065 : 466 : || !nonimmediate_operand (operands[2], i1))
5066 : 2 : return -1;
5067 : 232 : x4 = XEXP (x2, 2);
5068 : 232 : if (GET_MODE (x4) != i1
5069 : 232 : || !nonimmediate_operand (operands[3], i1))
5070 : 0 : return -1;
5071 : : return 0;
5072 : : }
5073 : :
5074 : : int
5075 : 279 : pattern1393 (rtx x1, machine_mode i1, machine_mode i2)
5076 : : {
5077 : 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5078 : 279 : rtx x2, x3, x4;
5079 : 279 : int res ATTRIBUTE_UNUSED;
5080 : 279 : if (!register_operand (operands[0], i2)
5081 : 279 : || GET_MODE (x1) != i2)
5082 : : return -1;
5083 : 258 : x2 = XVECEXP (x1, 0, 0);
5084 : 258 : if (GET_MODE (x2) != i2)
5085 : : return -1;
5086 : 258 : x3 = XEXP (x2, 0);
5087 : 258 : if (GET_MODE (x3) != i2)
5088 : : return -1;
5089 : 258 : x4 = XEXP (x3, 0);
5090 : 258 : if (GET_MODE (x4) != i1)
5091 : 0 : return -1;
5092 : : return 0;
5093 : : }
5094 : :
5095 : : int
5096 : 333 : pattern1400 (rtx x1, machine_mode i1)
5097 : : {
5098 : 333 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5099 : 333 : rtx x2, x3;
5100 : 333 : int res ATTRIBUTE_UNUSED;
5101 : 333 : if (!register_operand (operands[0], i1)
5102 : 333 : || GET_MODE (x1) != i1)
5103 : : return -1;
5104 : 320 : x2 = XVECEXP (x1, 0, 0);
5105 : 320 : if (GET_MODE (x2) != i1)
5106 : : return -1;
5107 : 320 : x3 = XEXP (x2, 0);
5108 : 320 : if (GET_MODE (x3) != i1
5109 : 320 : || !register_operand (operands[1], i1)
5110 : 312 : || !register_operand (operands[2], i1)
5111 : 627 : || !register_operand (operands[3], i1))
5112 : 13 : return -1;
5113 : : return 0;
5114 : : }
5115 : :
5116 : : int
5117 : 86869 : pattern1407 (rtx x1)
5118 : : {
5119 : 86869 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5120 : 86869 : rtx x2, x3;
5121 : 86869 : int res ATTRIBUTE_UNUSED;
5122 : 86869 : x2 = XEXP (x1, 1);
5123 : 86869 : if (maybe_ne (SUBREG_BYTE (x2), 0)
5124 : 86869 : || GET_MODE (x2) != E_QImode)
5125 : : return -1;
5126 : 86869 : x3 = XEXP (x2, 0);
5127 : 86869 : if (GET_CODE (x3) != AND)
5128 : : return -1;
5129 : 12171 : return pattern795 (x1); /* [-1, 1] */
5130 : : }
5131 : :
5132 : : int
5133 : 160132 : pattern1415 (rtx x1)
5134 : : {
5135 : 160132 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5136 : 160132 : rtx x2, x3, x4, x5, x6, x7, x8;
5137 : 160132 : int res ATTRIBUTE_UNUSED;
5138 : 160132 : x2 = XVECEXP (x1, 0, 1);
5139 : 160132 : x3 = XEXP (x2, 1);
5140 : 160132 : x4 = XEXP (x3, 0);
5141 : 160132 : if (!rtx_equal_p (x4, operands[1]))
5142 : : return -1;
5143 : 157709 : x5 = XEXP (x3, 1);
5144 : 157709 : if (!rtx_equal_p (x5, operands[2]))
5145 : : return -1;
5146 : 157709 : x6 = XVECEXP (x1, 0, 0);
5147 : 157709 : x7 = XEXP (x6, 1);
5148 : 157709 : x8 = XEXP (x7, 0);
5149 : 157709 : switch (GET_MODE (x8))
5150 : : {
5151 : 847 : case E_QImode:
5152 : 847 : return pattern1413 (x3,
5153 : 847 : E_QImode); /* [-1, 0] */
5154 : :
5155 : 5144 : case E_HImode:
5156 : 5144 : if (pattern1413 (x3,
5157 : : E_HImode) != 0)
5158 : : return -1;
5159 : : return 1;
5160 : :
5161 : 42530 : case E_SImode:
5162 : 42530 : if (pattern1414 (x3,
5163 : : E_SImode) != 0)
5164 : : return -1;
5165 : : return 2;
5166 : :
5167 : 109182 : case E_DImode:
5168 : 109182 : if (pattern1414 (x3,
5169 : : E_DImode) != 0)
5170 : : return -1;
5171 : : return 3;
5172 : :
5173 : : default:
5174 : : return -1;
5175 : : }
5176 : : }
5177 : :
5178 : : int
5179 : 126369 : pattern1430 (rtx x1, machine_mode i1)
5180 : : {
5181 : 126369 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5182 : 126369 : rtx x2, x3, x4, x5, x6, x7;
5183 : 126369 : int res ATTRIBUTE_UNUSED;
5184 : 126369 : if (!register_operand (operands[2], i1)
5185 : 126369 : || !register_operand (operands[0], i1))
5186 : 0 : return -1;
5187 : 126369 : x2 = XVECEXP (x1, 0, 1);
5188 : 126369 : x3 = XEXP (x2, 1);
5189 : 126369 : if (GET_MODE (x3) != i1)
5190 : : return -1;
5191 : 126369 : x4 = XEXP (x3, 0);
5192 : 126369 : if (GET_MODE (x4) != i1
5193 : 126369 : || !register_operand (operands[5], i1)
5194 : 126346 : || !register_operand (operands[3], i1)
5195 : 249873 : || !register_operand (operands[1], i1))
5196 : 2865 : return -1;
5197 : 123504 : x5 = XVECEXP (x1, 0, 2);
5198 : 123504 : x6 = XEXP (x5, 1);
5199 : 123504 : if (GET_MODE (x6) != i1)
5200 : : return -1;
5201 : 123504 : x7 = XEXP (x6, 0);
5202 : 123504 : if (GET_MODE (x7) != i1
5203 : 123504 : || !register_operand (operands[4], i1))
5204 : 10029 : return -1;
5205 : : return 0;
5206 : : }
5207 : :
5208 : : int
5209 : 678 : pattern1444 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5210 : : {
5211 : 678 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5212 : 678 : rtx x2, x3;
5213 : 678 : int res ATTRIBUTE_UNUSED;
5214 : 678 : if (!register_operand (operands[0], i1)
5215 : 678 : || GET_MODE (x1) != i1)
5216 : : return -1;
5217 : 647 : x2 = XEXP (x1, 0);
5218 : 647 : if (GET_MODE (x2) != i1
5219 : 647 : || !register_operand (operands[2], i2)
5220 : 647 : || !register_operand (operands[1], i1)
5221 : 1265 : || !nonimmediate_operand (operands[3], i1))
5222 : 29 : return -1;
5223 : 618 : x3 = XEXP (x1, 1);
5224 : 618 : if (GET_MODE (x3) != i1
5225 : 618 : || !register_operand (operands[4], i3))
5226 : 36 : return -1;
5227 : : return 0;
5228 : : }
5229 : :
5230 : : int
5231 : 88 : pattern1453 (rtx x1, machine_mode i1, machine_mode i2)
5232 : : {
5233 : 88 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5234 : 88 : rtx x2;
5235 : 88 : int res ATTRIBUTE_UNUSED;
5236 : 88 : if (!register_operand (operands[0], i2)
5237 : 88 : || GET_MODE (x1) != i2
5238 : 88 : || !vector_operand (operands[1], i2)
5239 : 176 : || !vector_operand (operands[2], i2))
5240 : 0 : return -1;
5241 : 88 : x2 = XEXP (x1, 2);
5242 : 88 : if (GET_MODE (x2) != E_QImode
5243 : 88 : || !register_operand (operands[3], i1)
5244 : 172 : || !const0_operand (operands[4], i1))
5245 : 4 : return -1;
5246 : : return 0;
5247 : : }
5248 : :
5249 : : int
5250 : 2272 : pattern1462 (rtx x1, machine_mode i1, machine_mode i2)
5251 : : {
5252 : 2272 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5253 : 2272 : rtx x2, x3;
5254 : 2272 : int res ATTRIBUTE_UNUSED;
5255 : 2272 : if (!register_operand (operands[0], i1)
5256 : 2272 : || GET_MODE (x1) != i1)
5257 : : return -1;
5258 : 2176 : x2 = XEXP (x1, 0);
5259 : 2176 : if (GET_MODE (x2) != i1)
5260 : : return -1;
5261 : 2176 : x3 = XEXP (x2, 0);
5262 : 2176 : if (GET_MODE (x3) != i2
5263 : 2176 : || !register_operand (operands[1], i1)
5264 : 2134 : || !nonimmediate_operand (operands[2], i2)
5265 : 4220 : || !nonimm_or_0_operand (operands[3], i1))
5266 : 174 : return -1;
5267 : : return 0;
5268 : : }
5269 : :
5270 : : int
5271 : 232 : pattern1469 (rtx x1, int i1, int i2, int i3, int i4, int i5)
5272 : : {
5273 : 232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5274 : 232 : rtx x2, x3, x4, x5, x6;
5275 : 232 : int res ATTRIBUTE_UNUSED;
5276 : 232 : x2 = XVECEXP (x1, 0, 7);
5277 : 232 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
5278 : : return -1;
5279 : 232 : x3 = XVECEXP (x1, 0, 8);
5280 : 232 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5281 : : return -1;
5282 : 232 : x4 = XVECEXP (x1, 0, 9);
5283 : 232 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5284 : : return -1;
5285 : 232 : x5 = XVECEXP (x1, 0, 10);
5286 : 232 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5287 : : return -1;
5288 : 232 : x6 = XVECEXP (x1, 0, 11);
5289 : 232 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1]
5290 : 232 : || pattern1461 (x1) != 0)
5291 : 0 : return -1;
5292 : : return 0;
5293 : : }
5294 : :
5295 : : int
5296 : 1293 : pattern1479 (rtx x1)
5297 : : {
5298 : 1293 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5299 : 1293 : int res ATTRIBUTE_UNUSED;
5300 : 1293 : switch (GET_MODE (operands[1]))
5301 : : {
5302 : 950 : case E_SImode:
5303 : 950 : if (!nonimmediate_operand (operands[1], E_SImode)
5304 : 947 : || !register_operand (operands[0], E_SImode)
5305 : 1897 : || GET_MODE (x1) != E_SImode)
5306 : 3 : return -1;
5307 : : return 0;
5308 : :
5309 : 343 : case E_DImode:
5310 : 343 : if (!nonimmediate_operand (operands[1], E_DImode)
5311 : 343 : || !register_operand (operands[0], E_DImode)
5312 : 686 : || GET_MODE (x1) != E_DImode)
5313 : 0 : return -1;
5314 : : return 1;
5315 : :
5316 : : default:
5317 : : return -1;
5318 : : }
5319 : : }
5320 : :
5321 : : int
5322 : 9 : pattern1490 (rtx x1)
5323 : : {
5324 : 9 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5325 : 9 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5326 : 9 : int res ATTRIBUTE_UNUSED;
5327 : 9 : x2 = XVECEXP (x1, 0, 0);
5328 : 9 : x3 = XEXP (x2, 1);
5329 : 9 : x4 = XEXP (x3, 0);
5330 : 9 : x5 = XEXP (x4, 0);
5331 : 9 : x6 = XEXP (x5, 0);
5332 : 9 : operands[1] = x6;
5333 : 9 : x7 = XVECEXP (x1, 0, 1);
5334 : 9 : x8 = XEXP (x7, 0);
5335 : 9 : operands[0] = x8;
5336 : 9 : x9 = XEXP (x4, 1);
5337 : 9 : if (!rtx_equal_p (x9, operands[1]))
5338 : : return -1;
5339 : 9 : return pattern1481 (x1); /* [-1, 1] */
5340 : : }
5341 : :
5342 : : int
5343 : 2294 : pattern1497 ()
5344 : : {
5345 : 2294 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5346 : 2294 : int res ATTRIBUTE_UNUSED;
5347 : 2294 : switch (GET_MODE (operands[1]))
5348 : : {
5349 : 190 : case E_V8HFmode:
5350 : 190 : if (!register_operand (operands[1], E_V8HFmode)
5351 : 190 : || !nonimmediate_operand (operands[2], E_V8HFmode))
5352 : 14 : return -1;
5353 : : return 0;
5354 : :
5355 : 1052 : case E_V4SFmode:
5356 : 1052 : if (!register_operand (operands[1], E_V4SFmode)
5357 : 1052 : || !nonimmediate_operand (operands[2], E_V4SFmode))
5358 : 3 : return -1;
5359 : : return 1;
5360 : :
5361 : 1052 : case E_V2DFmode:
5362 : 1052 : if (!register_operand (operands[1], E_V2DFmode)
5363 : 1052 : || !nonimmediate_operand (operands[2], E_V2DFmode))
5364 : 3 : return -1;
5365 : : return 2;
5366 : :
5367 : : default:
5368 : : return -1;
5369 : : }
5370 : : }
5371 : :
5372 : : int
5373 : 832483 : pattern1508 (rtx x1, machine_mode i1, machine_mode i2)
5374 : : {
5375 : 832483 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5376 : 832483 : rtx x2;
5377 : 832483 : int res ATTRIBUTE_UNUSED;
5378 : 832483 : if (!register_operand (operands[0], i1)
5379 : 832483 : || GET_MODE (x1) != i1)
5380 : : return -1;
5381 : 777415 : x2 = XEXP (x1, 0);
5382 : 777415 : if (GET_MODE (x2) != i2
5383 : 777268 : || !register_operand (operands[1], i1)
5384 : 688666 : || !vector_operand (operands[2], i1)
5385 : 1436685 : || pattern1507 () != 0)
5386 : 363976 : return -1;
5387 : : return 0;
5388 : : }
5389 : :
5390 : : int
5391 : 173 : pattern1517 (rtx x1, machine_mode i1)
5392 : : {
5393 : 173 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5394 : 173 : rtx x2, x3;
5395 : 173 : int res ATTRIBUTE_UNUSED;
5396 : 173 : if (!register_operand (operands[0], i1)
5397 : 173 : || GET_MODE (x1) != i1
5398 : 173 : || !nonimmediate_operand (operands[3], i1)
5399 : 245 : || !nonimmediate_operand (operands[4], i1))
5400 : 110 : return -1;
5401 : 63 : x2 = XEXP (x1, 0);
5402 : 63 : x3 = XEXP (x2, 0);
5403 : 63 : switch (GET_MODE (x3))
5404 : : {
5405 : 52 : case E_SImode:
5406 : 52 : if (!register_operand (operands[1], E_SImode))
5407 : : return -1;
5408 : : return 0;
5409 : :
5410 : 11 : case E_DImode:
5411 : 11 : if (!register_operand (operands[1], E_DImode))
5412 : : return -1;
5413 : : return 1;
5414 : :
5415 : : default:
5416 : : return -1;
5417 : : }
5418 : : }
5419 : :
5420 : : int
5421 : 3 : pattern1527 (rtx x1, machine_mode i1)
5422 : : {
5423 : 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5424 : 3 : int res ATTRIBUTE_UNUSED;
5425 : 3 : if (GET_MODE (x1) != i1
5426 : 3 : || !nonimmediate_operand (operands[1], i1)
5427 : 3 : || !ix86_carry_flag_operator (operands[3], i1)
5428 : 6 : || !x86_64_general_operand (operands[2], i1))
5429 : 0 : return -1;
5430 : : return 0;
5431 : : }
5432 : :
5433 : : int
5434 : 943 : pattern1533 (rtx x1, machine_mode i1, machine_mode i2)
5435 : : {
5436 : 943 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5437 : 943 : rtx x2;
5438 : 943 : int res ATTRIBUTE_UNUSED;
5439 : 943 : if (!nonimmediate_operand (operands[0], i1)
5440 : 943 : || GET_MODE (x1) != i1)
5441 : : return -1;
5442 : 909 : x2 = XEXP (x1, 0);
5443 : 909 : if (GET_MODE (x2) != i1
5444 : 909 : || !register_operand (operands[1], i2)
5445 : 1284 : || !nonimm_or_0_operand (operands[4], i1))
5446 : 537 : return -1;
5447 : : return 0;
5448 : : }
5449 : :
5450 : : int
5451 : 1206 : pattern1539 (rtx x1, machine_mode i1, machine_mode i2)
5452 : : {
5453 : 1206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5454 : 1206 : rtx x2, x3;
5455 : 1206 : int res ATTRIBUTE_UNUSED;
5456 : 1206 : if (!register_operand (operands[0], i1)
5457 : 1206 : || GET_MODE (x1) != i1)
5458 : : return -1;
5459 : 1184 : x2 = XVECEXP (x1, 0, 0);
5460 : 1184 : if (GET_MODE (x2) != i1)
5461 : : return -1;
5462 : 1184 : x3 = XEXP (x2, 0);
5463 : 1184 : if (GET_MODE (x3) != i1
5464 : 1184 : || !register_operand (operands[1], i1)
5465 : 1184 : || !nonimmediate_operand (operands[2], i1)
5466 : 1184 : || !nonimm_or_0_operand (operands[3], i1)
5467 : 2365 : || !register_operand (operands[4], i2))
5468 : 3 : return -1;
5469 : : return 0;
5470 : : }
5471 : :
5472 : : int
5473 : 24161 : pattern1549 (rtx x1, machine_mode i1, machine_mode i2)
5474 : : {
5475 : 24161 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5476 : 24161 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5477 : 24161 : int res ATTRIBUTE_UNUSED;
5478 : 24161 : x2 = XVECEXP (x1, 0, 0);
5479 : 24161 : x3 = XEXP (x2, 1);
5480 : 24161 : x4 = XEXP (x3, 0);
5481 : 24161 : x5 = XEXP (x4, 0);
5482 : 24161 : if (GET_MODE (x5) != i2
5483 : 24161 : || !nonimmediate_operand (operands[1], i1)
5484 : 48081 : || !const_int_operand (operands[3], i2))
5485 : 241 : return -1;
5486 : 23920 : x6 = XEXP (x3, 1);
5487 : 23920 : if (GET_MODE (x6) != i2)
5488 : : return -1;
5489 : 23920 : x7 = XEXP (x6, 0);
5490 : 23920 : if (GET_MODE (x7) != i1
5491 : 23920 : || !x86_64_immediate_operand (operands[2], i1)
5492 : 47840 : || !nonimmediate_operand (operands[0], i1))
5493 : 0 : return -1;
5494 : 23920 : x8 = XVECEXP (x1, 0, 1);
5495 : 23920 : x9 = XEXP (x8, 1);
5496 : 23920 : if (GET_MODE (x9) != i1)
5497 : : return -1;
5498 : : return 0;
5499 : : }
5500 : :
5501 : : int
5502 : 1374 : pattern1564 (rtx x1)
5503 : : {
5504 : 1374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5505 : 1374 : rtx x2, x3, x4;
5506 : 1374 : int res ATTRIBUTE_UNUSED;
5507 : 1374 : x2 = XEXP (x1, 2);
5508 : 1374 : operands[3] = x2;
5509 : 1374 : x3 = XEXP (x1, 1);
5510 : 1374 : x4 = XEXP (x3, 0);
5511 : 1374 : if (!rtx_equal_p (x4, operands[2]))
5512 : : return -1;
5513 : 1236 : switch (GET_MODE (operands[0]))
5514 : : {
5515 : 17 : case E_HImode:
5516 : 17 : return pattern1563 (x1,
5517 : 17 : E_HImode); /* [-1, 0] */
5518 : :
5519 : 1202 : case E_SImode:
5520 : 1202 : if (pattern1563 (x1,
5521 : : E_SImode) != 0)
5522 : : return -1;
5523 : : return 1;
5524 : :
5525 : 17 : case E_DImode:
5526 : 17 : if (pattern1563 (x1,
5527 : : E_DImode) != 0)
5528 : : return -1;
5529 : : return 2;
5530 : :
5531 : : default:
5532 : : return -1;
5533 : : }
5534 : : }
5535 : :
5536 : : int
5537 : 0 : pattern1572 (rtx x1, machine_mode i1, machine_mode i2)
5538 : : {
5539 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5540 : 0 : rtx x2, x3, x4;
5541 : 0 : int res ATTRIBUTE_UNUSED;
5542 : 0 : if (!register_operand (operands[0], i1)
5543 : 0 : || GET_MODE (x1) != i1)
5544 : : return -1;
5545 : 0 : x2 = XVECEXP (x1, 0, 0);
5546 : 0 : if (GET_MODE (x2) != i1)
5547 : : return -1;
5548 : 0 : x3 = XEXP (x2, 0);
5549 : 0 : if (GET_MODE (x3) != i1)
5550 : : return -1;
5551 : 0 : x4 = XEXP (x3, 0);
5552 : 0 : if (GET_MODE (x4) != i2
5553 : 0 : || !register_operand (operands[2], i2)
5554 : 0 : || !register_operand (operands[1], i1))
5555 : 0 : return -1;
5556 : : return 0;
5557 : : }
5558 : :
5559 : : int
5560 : 976 : pattern1580 (rtx x1, machine_mode i1, machine_mode i2)
5561 : : {
5562 : 976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5563 : 976 : int res ATTRIBUTE_UNUSED;
5564 : 976 : if (!register_operand (operands[2], i2)
5565 : 968 : || GET_MODE (x1) != i2
5566 : 968 : || !register_operand (operands[3], i2)
5567 : 968 : || !const0_operand (operands[4], i2)
5568 : 1944 : || !register_operand (operands[5], i1))
5569 : 24 : return -1;
5570 : : return 0;
5571 : : }
5572 : :
5573 : : int
5574 : 507 : pattern1587 (rtx x1, machine_mode i1, machine_mode i2)
5575 : : {
5576 : 507 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5577 : 507 : rtx x2, x3, x4, x5;
5578 : 507 : int res ATTRIBUTE_UNUSED;
5579 : 507 : if (!register_operand (operands[0], i2)
5580 : 507 : || GET_MODE (x1) != i2)
5581 : : return -1;
5582 : 493 : x2 = XVECEXP (x1, 0, 0);
5583 : 493 : if (GET_MODE (x2) != i2)
5584 : : return -1;
5585 : 493 : x3 = XEXP (x2, 0);
5586 : 493 : if (GET_MODE (x3) != i2)
5587 : : return -1;
5588 : 493 : x4 = XEXP (x3, 0);
5589 : 493 : if (GET_MODE (x4) != i2
5590 : 493 : || !register_operand (operands[1], i2))
5591 : 5 : return -1;
5592 : 488 : x5 = XEXP (x3, 2);
5593 : 488 : return pattern1580 (x5,
5594 : : i1,
5595 : 488 : i2); /* [-1, 0] */
5596 : : }
5597 : :
5598 : : int
5599 : 344 : pattern1595 (machine_mode i1)
5600 : : {
5601 : 344 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5602 : 344 : int res ATTRIBUTE_UNUSED;
5603 : 344 : if (!vsib_address_operand (operands[0], i1))
5604 : : return -1;
5605 : 276 : switch (GET_MODE (operands[2]))
5606 : : {
5607 : 150 : case E_V4SImode:
5608 : 150 : if (!register_operand (operands[2], E_V4SImode))
5609 : : return -1;
5610 : : return 0;
5611 : :
5612 : 126 : case E_V2DImode:
5613 : 126 : if (!register_operand (operands[2], E_V2DImode))
5614 : : return -1;
5615 : : return 1;
5616 : :
5617 : : default:
5618 : : return -1;
5619 : : }
5620 : : }
5621 : :
5622 : : int
5623 : 147 : pattern1604 (rtx x1, machine_mode i1, machine_mode i2)
5624 : : {
5625 : 147 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5626 : 147 : rtx x2, x3;
5627 : 147 : int res ATTRIBUTE_UNUSED;
5628 : 147 : if (!register_operand (operands[0], i2)
5629 : 129 : || GET_MODE (x1) != i2
5630 : 129 : || !register_operand (operands[6], E_QImode)
5631 : 182 : || !vsib_mem_operator (operands[5], i1))
5632 : 112 : return -1;
5633 : 35 : x2 = XVECEXP (x1, 0, 2);
5634 : 35 : x3 = XEXP (x2, 0);
5635 : 35 : switch (GET_MODE (x3))
5636 : : {
5637 : 0 : case E_SImode:
5638 : 0 : return pattern1603 (
5639 : 0 : E_SImode); /* [-1, 1] */
5640 : :
5641 : 35 : case E_DImode:
5642 : 35 : res = pattern1603 (
5643 : : E_DImode);
5644 : 35 : if (res >= 0)
5645 : 17 : return res + 2; /* [2, 3] */
5646 : : return -1;
5647 : :
5648 : : default:
5649 : : return -1;
5650 : : }
5651 : : }
5652 : :
5653 : : int
5654 : 201 : pattern1616 (rtx x1, machine_mode i1)
5655 : : {
5656 : 201 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5657 : 201 : rtx x2;
5658 : 201 : int res ATTRIBUTE_UNUSED;
5659 : 201 : if (!nonimmediate_operand (operands[0], i1)
5660 : 201 : || GET_MODE (x1) != i1)
5661 : : return -1;
5662 : 201 : x2 = XEXP (x1, 0);
5663 : 201 : if (GET_MODE (x2) != i1
5664 : 201 : || !nonimmediate_operand (operands[1], i1)
5665 : 201 : || !ix86_carry_flag_operator (operands[4], i1)
5666 : 402 : || !general_operand (operands[2], i1))
5667 : 0 : return -1;
5668 : : return 0;
5669 : : }
5670 : :
5671 : : int
5672 : 160461 : pattern1625 (rtx x1, machine_mode i1)
5673 : : {
5674 : 160461 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5675 : 160461 : rtx x2, x3, x4;
5676 : 160461 : int res ATTRIBUTE_UNUSED;
5677 : 160461 : if (!memory_operand (operands[1], i1)
5678 : 160461 : || !rtx_equal_p (x1, operands[0]))
5679 : 141792 : return -1;
5680 : 18669 : x2 = PATTERN (peep2_next_insn (1));
5681 : 18669 : x3 = XEXP (x2, 1);
5682 : 18669 : if (!rtx_equal_p (x3, operands[0]))
5683 : : return -1;
5684 : 2538 : x4 = XEXP (x2, 0);
5685 : 2538 : if (!rtx_equal_p (x4, operands[1]))
5686 : : return -1;
5687 : : return 0;
5688 : : }
5689 : :
5690 : : int
5691 : 442 : pattern1633 (rtx x1, machine_mode i1, machine_mode i2)
5692 : : {
5693 : 442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5694 : 442 : rtx x2, x3, x4, x5, x6;
5695 : 442 : int res ATTRIBUTE_UNUSED;
5696 : 442 : if (!register_operand (operands[0], i1)
5697 : 442 : || GET_MODE (x1) != i1)
5698 : : return -1;
5699 : 410 : x2 = XEXP (x1, 0);
5700 : 410 : if (GET_MODE (x2) != i1)
5701 : : return -1;
5702 : 410 : x3 = XEXP (x2, 0);
5703 : 410 : if (GET_MODE (x3) != i2
5704 : 410 : || !register_operand (operands[1], i1))
5705 : 0 : return -1;
5706 : 410 : x4 = XEXP (x3, 1);
5707 : 410 : operands[2] = x4;
5708 : 410 : if (!nonimmediate_operand (operands[2], i1))
5709 : : return -1;
5710 : 410 : x5 = XEXP (x1, 1);
5711 : 410 : operands[3] = x5;
5712 : 410 : if (!nonimm_or_0_operand (operands[3], i1))
5713 : : return -1;
5714 : 394 : x6 = XEXP (x1, 2);
5715 : 394 : operands[4] = x6;
5716 : 394 : return 0;
5717 : : }
5718 : :
5719 : : int
5720 : 1056 : pattern1642 (rtx x1, machine_mode i1)
5721 : : {
5722 : 1056 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5723 : 1056 : rtx x2, x3;
5724 : 1056 : int res ATTRIBUTE_UNUSED;
5725 : 1056 : if (!register_operand (operands[0], i1)
5726 : 1056 : || GET_MODE (x1) != i1)
5727 : : return -1;
5728 : 1021 : x2 = XVECEXP (x1, 0, 0);
5729 : 1021 : if (GET_MODE (x2) != i1)
5730 : : return -1;
5731 : 1021 : x3 = XEXP (x2, 0);
5732 : 1021 : if (GET_MODE (x3) != i1
5733 : 1021 : || !nonimmediate_operand (operands[1], i1)
5734 : 1010 : || !register_operand (operands[2], i1)
5735 : 1997 : || !register_operand (operands[3], i1))
5736 : 64 : return -1;
5737 : : return 0;
5738 : : }
5739 : :
5740 : : int
5741 : 323 : pattern1651 (machine_mode i1)
5742 : : {
5743 : 323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5744 : 323 : int res ATTRIBUTE_UNUSED;
5745 : 323 : if (!vsib_address_operand (operands[4], i1))
5746 : : return -1;
5747 : 323 : switch (GET_MODE (operands[3]))
5748 : : {
5749 : 154 : case E_V4SImode:
5750 : 154 : if (!register_operand (operands[3], E_V4SImode))
5751 : : return -1;
5752 : : return 0;
5753 : :
5754 : 169 : case E_V2DImode:
5755 : 169 : if (!register_operand (operands[3], E_V2DImode))
5756 : : return -1;
5757 : : return 1;
5758 : :
5759 : : default:
5760 : : return -1;
5761 : : }
5762 : : }
5763 : :
5764 : : int
5765 : 0 : pattern1659 (rtx x1, machine_mode i1, machine_mode i2)
5766 : : {
5767 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5768 : 0 : rtx x2, x3;
5769 : 0 : int res ATTRIBUTE_UNUSED;
5770 : 0 : if (!register_operand (operands[0], i1)
5771 : 0 : || !addsub_vs_operator (operands[7], i1)
5772 : 0 : || GET_MODE (x1) != i2)
5773 : 0 : return -1;
5774 : 0 : x2 = XEXP (x1, 0);
5775 : 0 : if (GET_MODE (x2) != i1
5776 : 0 : || !register_operand (operands[1], i1)
5777 : 0 : || !vector_operand (operands[2], i1))
5778 : 0 : return -1;
5779 : 0 : x3 = XEXP (x1, 1);
5780 : 0 : if (GET_MODE (x3) != i1
5781 : 0 : || !vector_operand (operands[3], i1)
5782 : 0 : || !vector_operand (operands[4], i1))
5783 : 0 : return -1;
5784 : : return 0;
5785 : : }
5786 : :
5787 : : int
5788 : 28890 : pattern1669 ()
5789 : : {
5790 : 28890 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5791 : 28890 : int res ATTRIBUTE_UNUSED;
5792 : 28890 : if (!const_0_to_7_operand (operands[4], E_VOIDmode)
5793 : 21147 : || !const_0_to_7_operand (operands[5], E_VOIDmode)
5794 : 14326 : || !const_0_to_7_operand (operands[6], E_VOIDmode)
5795 : 14286 : || !const_8_to_15_operand (operands[7], E_VOIDmode)
5796 : 7502 : || !const_8_to_15_operand (operands[8], E_VOIDmode)
5797 : 7502 : || !const_8_to_15_operand (operands[9], E_VOIDmode)
5798 : 36392 : || !const_8_to_15_operand (operands[10], E_VOIDmode))
5799 : 21388 : return -1;
5800 : : return 0;
5801 : : }
5802 : :
5803 : : int
5804 : 515 : pattern1681 (rtx x1, machine_mode i1)
5805 : : {
5806 : 515 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5807 : 515 : int res ATTRIBUTE_UNUSED;
5808 : 515 : if (!register_operand (operands[1], i1))
5809 : : return -1;
5810 : 243 : switch (GET_MODE (x1))
5811 : : {
5812 : 0 : case E_HImode:
5813 : 0 : if (!register_operand (operands[2], E_HImode))
5814 : : return -1;
5815 : : return 0;
5816 : :
5817 : 221 : case E_SImode:
5818 : 221 : if (!register_operand (operands[2], E_SImode))
5819 : : return -1;
5820 : : return 1;
5821 : :
5822 : 22 : case E_DImode:
5823 : 22 : if (!register_operand (operands[2], E_DImode))
5824 : : return -1;
5825 : : return 2;
5826 : :
5827 : : default:
5828 : : return -1;
5829 : : }
5830 : : }
5831 : :
5832 : : int
5833 : 15 : pattern1691 (rtx x1, machine_mode i1)
5834 : : {
5835 : 15 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5836 : 15 : rtx x2, x3, x4, x5, x6, x7, x8;
5837 : 15 : int res ATTRIBUTE_UNUSED;
5838 : 15 : x2 = XEXP (x1, 0);
5839 : 15 : x3 = XEXP (x2, 0);
5840 : 15 : x4 = XEXP (x3, 0);
5841 : 15 : x5 = XEXP (x4, 0);
5842 : 15 : operands[2] = x5;
5843 : 15 : x6 = XEXP (x3, 2);
5844 : 15 : if (GET_MODE (x6) != i1
5845 : 15 : || !nonimmediate_operand (operands[3], i1))
5846 : 0 : return -1;
5847 : 15 : x7 = XEXP (x2, 1);
5848 : 15 : if (!rtx_equal_p (x7, operands[3]))
5849 : : return -1;
5850 : 15 : x8 = XEXP (x1, 1);
5851 : 15 : if (!rtx_equal_p (x8, operands[3]))
5852 : : return -1;
5853 : : return 0;
5854 : : }
5855 : :
5856 : : int
5857 : 863 : pattern1697 (rtx x1, machine_mode i1, machine_mode i2)
5858 : : {
5859 : 863 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5860 : 863 : rtx x2, x3;
5861 : 863 : int res ATTRIBUTE_UNUSED;
5862 : 863 : if (!register_operand (operands[0], i1)
5863 : 801 : || GET_MODE (x1) != i1
5864 : 801 : || !vsib_mem_operator (operands[6], i2)
5865 : 1664 : || !register_operand (operands[4], i1))
5866 : 648 : return -1;
5867 : 215 : x2 = XVECEXP (x1, 0, 1);
5868 : 215 : x3 = XEXP (x2, 0);
5869 : 215 : switch (GET_MODE (x3))
5870 : : {
5871 : 28 : case E_SImode:
5872 : 28 : return pattern1696 (
5873 : 28 : E_SImode); /* [-1, 1] */
5874 : :
5875 : 187 : case E_DImode:
5876 : 187 : res = pattern1696 (
5877 : : E_DImode);
5878 : 187 : if (res >= 0)
5879 : 65 : return res + 2; /* [2, 3] */
5880 : : return -1;
5881 : :
5882 : : default:
5883 : : return -1;
5884 : : }
5885 : : }
5886 : :
5887 : : int
5888 : 768 : pattern1707 (rtx x1, machine_mode i1)
5889 : : {
5890 : 768 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5891 : 768 : rtx x2, x3, x4;
5892 : 768 : int res ATTRIBUTE_UNUSED;
5893 : 768 : if (!vsib_mem_operator (operands[5], i1)
5894 : 768 : || !register_operand (operands[6], E_QImode))
5895 : 80 : return -1;
5896 : 688 : x2 = XEXP (x1, 1);
5897 : 688 : if (GET_MODE (x2) != i1
5898 : 688 : || !register_operand (operands[3], i1)
5899 : 1376 : || !scratch_operand (operands[1], E_QImode))
5900 : 0 : return -1;
5901 : 688 : x3 = XEXP (x1, 0);
5902 : 688 : x4 = XEXP (x3, 0);
5903 : 688 : switch (GET_MODE (x4))
5904 : : {
5905 : 0 : case E_SImode:
5906 : 0 : return pattern1706 (
5907 : 0 : E_SImode); /* [-1, 1] */
5908 : :
5909 : 688 : case E_DImode:
5910 : 688 : res = pattern1706 (
5911 : : E_DImode);
5912 : 688 : if (res >= 0)
5913 : 636 : return res + 2; /* [2, 3] */
5914 : : return -1;
5915 : :
5916 : : default:
5917 : : return -1;
5918 : : }
5919 : : }
5920 : :
5921 : : int
5922 : 308 : pattern1719 (rtx x1, machine_mode i1, machine_mode i2)
5923 : : {
5924 : 308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5925 : 308 : rtx x2, x3;
5926 : 308 : int res ATTRIBUTE_UNUSED;
5927 : 308 : if (!register_operand (operands[0], i2)
5928 : 304 : || GET_MODE (x1) != i2
5929 : 304 : || !register_operand (operands[6], E_QImode)
5930 : 214 : || !vsib_mem_operator (operands[5], i1)
5931 : 522 : || !scratch_operand (operands[1], E_QImode))
5932 : 94 : return -1;
5933 : 214 : x2 = XVECEXP (x1, 0, 2);
5934 : 214 : x3 = XEXP (x2, 0);
5935 : 214 : switch (GET_MODE (x3))
5936 : : {
5937 : 0 : case E_SImode:
5938 : 0 : return pattern1718 (
5939 : 0 : E_SImode); /* [-1, 1] */
5940 : :
5941 : 214 : case E_DImode:
5942 : 214 : res = pattern1718 (
5943 : : E_DImode);
5944 : 214 : if (res >= 0)
5945 : 208 : return res + 2; /* [2, 3] */
5946 : : return -1;
5947 : :
5948 : : default:
5949 : : return -1;
5950 : : }
5951 : : }
5952 : :
5953 : : int
5954 : 354 : pattern1729 (rtx x1, machine_mode i1)
5955 : : {
5956 : 354 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5957 : 354 : rtx x2, x3, x4, x5;
5958 : 354 : int res ATTRIBUTE_UNUSED;
5959 : 354 : if (!register_operand (operands[0], i1)
5960 : 354 : || GET_MODE (x1) != i1)
5961 : : return -1;
5962 : 346 : x2 = XVECEXP (x1, 0, 0);
5963 : 346 : if (GET_MODE (x2) != i1)
5964 : : return -1;
5965 : 346 : x3 = XEXP (x2, 0);
5966 : 346 : if (GET_MODE (x3) != i1)
5967 : : return -1;
5968 : 346 : x4 = XEXP (x3, 0);
5969 : 346 : if (GET_MODE (x4) != i1)
5970 : : return -1;
5971 : 346 : x5 = XEXP (x4, 0);
5972 : 346 : if (GET_MODE (x5) != i1
5973 : 346 : || !register_operand (operands[2], i1)
5974 : 341 : || !nonimmediate_operand (operands[1], i1)
5975 : 341 : || !register_operand (operands[3], i1)
5976 : 686 : || !const0_operand (operands[4], i1))
5977 : 6 : return -1;
5978 : : return 0;
5979 : : }
5980 : :
5981 : : int
5982 : 614 : pattern1738 (rtx x1, machine_mode i1, machine_mode i2)
5983 : : {
5984 : 614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5985 : 614 : rtx x2, x3;
5986 : 614 : int res ATTRIBUTE_UNUSED;
5987 : 614 : if (!register_operand (operands[0], i2)
5988 : 610 : || GET_MODE (x1) != i2
5989 : 610 : || !register_operand (operands[1], i2)
5990 : 610 : || !register_operand (operands[7], E_QImode)
5991 : 572 : || !vsib_mem_operator (operands[6], i1)
5992 : 1186 : || !scratch_operand (operands[2], E_QImode))
5993 : 42 : return -1;
5994 : 572 : x2 = XVECEXP (x1, 0, 2);
5995 : 572 : x3 = XEXP (x2, 0);
5996 : 572 : switch (GET_MODE (x3))
5997 : : {
5998 : 0 : case E_SImode:
5999 : 0 : return pattern1737 (
6000 : 0 : E_SImode); /* [-1, 1] */
6001 : :
6002 : 572 : case E_DImode:
6003 : 572 : res = pattern1737 (
6004 : : E_DImode);
6005 : 572 : if (res >= 0)
6006 : 541 : return res + 2; /* [2, 3] */
6007 : : return -1;
6008 : :
6009 : : default:
6010 : : return -1;
6011 : : }
6012 : : }
6013 : :
6014 : : int
6015 : 2680 : pattern1753 (rtx x1)
6016 : : {
6017 : 2680 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6018 : 2680 : rtx x2, x3, x4, x5, x6;
6019 : 2680 : int res ATTRIBUTE_UNUSED;
6020 : 2680 : x2 = XVECEXP (x1, 0, 0);
6021 : 2680 : x3 = XEXP (x2, 1);
6022 : 2680 : x4 = XEXP (x3, 0);
6023 : 2680 : switch (GET_MODE (x4))
6024 : : {
6025 : 354 : case E_HImode:
6026 : 354 : if (!memory_operand (operands[0], E_HImode))
6027 : : return -1;
6028 : 320 : x5 = XVECEXP (x1, 0, 1);
6029 : 320 : x6 = XEXP (x5, 0);
6030 : 320 : if (GET_MODE (x6) != E_HImode
6031 : 320 : || !nonmemory_operand (operands[1], E_HImode))
6032 : 0 : return -1;
6033 : : return 0;
6034 : :
6035 : 1775 : case E_SImode:
6036 : 1775 : if (!memory_operand (operands[0], E_SImode))
6037 : : return -1;
6038 : 1520 : x5 = XVECEXP (x1, 0, 1);
6039 : 1520 : x6 = XEXP (x5, 0);
6040 : 1520 : if (GET_MODE (x6) != E_SImode
6041 : 1520 : || !nonmemory_operand (operands[1], E_SImode))
6042 : 0 : return -1;
6043 : : return 1;
6044 : :
6045 : 551 : case E_DImode:
6046 : 551 : if (!memory_operand (operands[0], E_DImode))
6047 : : return -1;
6048 : 462 : x5 = XVECEXP (x1, 0, 1);
6049 : 462 : x6 = XEXP (x5, 0);
6050 : 462 : if (GET_MODE (x6) != E_DImode
6051 : 462 : || !nonmemory_operand (operands[1], E_DImode))
6052 : 0 : return -1;
6053 : : return 2;
6054 : :
6055 : : default:
6056 : : return -1;
6057 : : }
6058 : : }
6059 : :
6060 : : int
6061 : 653 : pattern1770 (rtx x1, machine_mode i1, machine_mode i2)
6062 : : {
6063 : 653 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6064 : 653 : rtx x2, x3;
6065 : 653 : int res ATTRIBUTE_UNUSED;
6066 : 653 : if (!register_operand (operands[0], i1)
6067 : 645 : || GET_MODE (x1) != i1
6068 : 645 : || !vsib_mem_operator (operands[6], i2)
6069 : 645 : || !register_operand (operands[4], i1)
6070 : 1176 : || !scratch_operand (operands[1], i1))
6071 : 130 : return -1;
6072 : 523 : x2 = XVECEXP (x1, 0, 1);
6073 : 523 : x3 = XEXP (x2, 0);
6074 : 523 : switch (GET_MODE (x3))
6075 : : {
6076 : 0 : case E_SImode:
6077 : 0 : return pattern1769 (
6078 : 0 : E_SImode); /* [-1, 1] */
6079 : :
6080 : 523 : case E_DImode:
6081 : 523 : res = pattern1769 (
6082 : : E_DImode);
6083 : 523 : if (res >= 0)
6084 : 435 : return res + 2; /* [2, 3] */
6085 : : return -1;
6086 : :
6087 : : default:
6088 : : return -1;
6089 : : }
6090 : : }
6091 : :
6092 : : int
6093 : 123 : pattern1781 (machine_mode i1)
6094 : : {
6095 : 123 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6096 : 123 : int res ATTRIBUTE_UNUSED;
6097 : 123 : if (!vsib_address_operand (operands[2], i1))
6098 : : return -1;
6099 : 111 : switch (GET_MODE (operands[3]))
6100 : : {
6101 : 73 : case E_V8SImode:
6102 : 73 : if (!register_operand (operands[3], E_V8SImode)
6103 : 73 : || !register_operand (operands[4], E_V8SImode))
6104 : 66 : return -1;
6105 : : return 0;
6106 : :
6107 : 38 : case E_V4DImode:
6108 : 38 : if (!register_operand (operands[3], E_V4DImode)
6109 : 38 : || !register_operand (operands[4], E_V4SImode))
6110 : 37 : return -1;
6111 : : return 1;
6112 : :
6113 : : default:
6114 : : return -1;
6115 : : }
6116 : : }
6117 : :
6118 : : int
6119 : 844 : pattern1788 (rtx x1, machine_mode i1, machine_mode i2)
6120 : : {
6121 : 844 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6122 : 844 : rtx x2, x3;
6123 : 844 : int res ATTRIBUTE_UNUSED;
6124 : 844 : if (!register_operand (operands[0], i1)
6125 : 836 : || GET_MODE (x1) != i1
6126 : 836 : || !register_operand (operands[2], i1)
6127 : 836 : || !vsib_mem_operator (operands[7], i2)
6128 : 836 : || !register_operand (operands[5], i1)
6129 : 1614 : || !scratch_operand (operands[1], i1))
6130 : 74 : return -1;
6131 : 770 : x2 = XVECEXP (x1, 0, 1);
6132 : 770 : x3 = XEXP (x2, 0);
6133 : 770 : switch (GET_MODE (x3))
6134 : : {
6135 : 0 : case E_SImode:
6136 : 0 : return pattern1787 (
6137 : 0 : E_SImode); /* [-1, 1] */
6138 : :
6139 : 770 : case E_DImode:
6140 : 770 : res = pattern1787 (
6141 : : E_DImode);
6142 : 770 : if (res >= 0)
6143 : 694 : return res + 2; /* [2, 3] */
6144 : : return -1;
6145 : :
6146 : : default:
6147 : : return -1;
6148 : : }
6149 : : }
6150 : :
6151 : : int
6152 : 898 : pattern1800 (rtx x1, machine_mode i1, machine_mode i2)
6153 : : {
6154 : 898 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6155 : 898 : rtx x2, x3, x4, x5, x6;
6156 : 898 : int res ATTRIBUTE_UNUSED;
6157 : 898 : if (!register_operand (operands[0], i1)
6158 : 898 : || GET_MODE (x1) != i1)
6159 : : return -1;
6160 : 842 : x2 = XEXP (x1, 0);
6161 : 842 : if (GET_MODE (x2) != i1)
6162 : : return -1;
6163 : 842 : x3 = XEXP (x2, 0);
6164 : 842 : if (GET_MODE (x3) != i2
6165 : 842 : || !nonimmediate_operand (operands[1], i1))
6166 : 0 : return -1;
6167 : 842 : x4 = XEXP (x1, 1);
6168 : 842 : operands[2] = x4;
6169 : 842 : if (!nonimm_or_0_operand (operands[2], i1))
6170 : : return -1;
6171 : 818 : x5 = XEXP (x1, 2);
6172 : 818 : operands[3] = x5;
6173 : 818 : x6 = XEXP (x3, 1);
6174 : 818 : if (!rtx_equal_p (x6, operands[1]))
6175 : : return -1;
6176 : : return 0;
6177 : : }
6178 : :
6179 : : int
6180 : 96 : pattern1809 (rtx x1, rtx_code i1)
6181 : : {
6182 : 96 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6183 : 96 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6184 : 96 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6185 : 96 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
6186 : 96 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
6187 : 96 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
6188 : 96 : rtx x42, x43, x44, x45, x46, x47, x48, x49;
6189 : 96 : rtx x50, x51, x52, x53, x54, x55;
6190 : 96 : int res ATTRIBUTE_UNUSED;
6191 : 96 : x2 = XEXP (x1, 0);
6192 : 96 : x3 = XEXP (x2, 0);
6193 : 96 : x4 = XEXP (x3, 0);
6194 : 96 : x5 = XEXP (x4, 0);
6195 : 96 : if (GET_CODE (x5) != VEC_SELECT
6196 : 96 : || GET_MODE (x5) != E_V2QImode)
6197 : : return -1;
6198 : 96 : x6 = XEXP (x5, 1);
6199 : 96 : if (GET_CODE (x6) != PARALLEL
6200 : 96 : || XVECLEN (x6, 0) != 2)
6201 : : return -1;
6202 : 96 : x7 = XVECEXP (x6, 0, 0);
6203 : 96 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6204 : : return -1;
6205 : 96 : x8 = XVECEXP (x6, 0, 1);
6206 : 96 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6207 : : return -1;
6208 : 96 : x9 = XEXP (x3, 1);
6209 : 96 : if (GET_CODE (x9) != i1)
6210 : : return -1;
6211 : 96 : x10 = XEXP (x9, 0);
6212 : 96 : if (GET_CODE (x10) != VEC_SELECT
6213 : 96 : || GET_MODE (x10) != E_V2QImode)
6214 : : return -1;
6215 : 96 : x11 = XEXP (x10, 1);
6216 : 96 : if (GET_CODE (x11) != PARALLEL
6217 : 96 : || XVECLEN (x11, 0) != 2)
6218 : : return -1;
6219 : 96 : x12 = XVECEXP (x11, 0, 0);
6220 : 96 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6221 : : return -1;
6222 : 96 : x13 = XVECEXP (x11, 0, 1);
6223 : 96 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
6224 : : return -1;
6225 : 96 : x14 = XEXP (x2, 1);
6226 : 96 : x15 = XEXP (x14, 0);
6227 : 96 : if (GET_CODE (x15) != i1)
6228 : : return -1;
6229 : 96 : x16 = XEXP (x15, 0);
6230 : 96 : if (GET_CODE (x16) != VEC_SELECT
6231 : 96 : || GET_MODE (x16) != E_V2QImode)
6232 : : return -1;
6233 : 96 : x17 = XEXP (x16, 1);
6234 : 96 : if (GET_CODE (x17) != PARALLEL
6235 : 96 : || XVECLEN (x17, 0) != 2)
6236 : : return -1;
6237 : 96 : x18 = XVECEXP (x17, 0, 0);
6238 : 96 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6239 : : return -1;
6240 : 96 : x19 = XVECEXP (x17, 0, 1);
6241 : 96 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
6242 : : return -1;
6243 : 96 : x20 = XEXP (x14, 1);
6244 : 96 : if (GET_CODE (x20) != i1)
6245 : : return -1;
6246 : 96 : x21 = XEXP (x20, 0);
6247 : 96 : if (GET_CODE (x21) != VEC_SELECT
6248 : 96 : || GET_MODE (x21) != E_V2QImode)
6249 : : return -1;
6250 : 96 : x22 = XEXP (x21, 1);
6251 : 96 : if (GET_CODE (x22) != PARALLEL
6252 : 96 : || XVECLEN (x22, 0) != 2)
6253 : : return -1;
6254 : 96 : x23 = XVECEXP (x22, 0, 0);
6255 : 96 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6256 : : return -1;
6257 : 96 : x24 = XVECEXP (x22, 0, 1);
6258 : 96 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
6259 : : return -1;
6260 : 96 : x25 = XEXP (x1, 1);
6261 : 96 : x26 = XEXP (x25, 0);
6262 : 96 : x27 = XEXP (x26, 0);
6263 : 96 : if (GET_CODE (x27) != i1)
6264 : : return -1;
6265 : 96 : x28 = XEXP (x27, 0);
6266 : 96 : if (GET_CODE (x28) != VEC_SELECT
6267 : 96 : || GET_MODE (x28) != E_V2QImode)
6268 : : return -1;
6269 : 96 : x29 = XEXP (x28, 1);
6270 : 96 : if (GET_CODE (x29) != PARALLEL
6271 : 96 : || XVECLEN (x29, 0) != 2)
6272 : : return -1;
6273 : 96 : x30 = XVECEXP (x29, 0, 0);
6274 : 96 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6275 : : return -1;
6276 : 96 : x31 = XVECEXP (x29, 0, 1);
6277 : 96 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
6278 : : return -1;
6279 : 96 : x32 = XEXP (x26, 1);
6280 : 96 : if (GET_CODE (x32) != i1)
6281 : : return -1;
6282 : 96 : x33 = XEXP (x32, 0);
6283 : 96 : if (GET_CODE (x33) != VEC_SELECT
6284 : 96 : || GET_MODE (x33) != E_V2QImode)
6285 : : return -1;
6286 : 96 : x34 = XEXP (x33, 1);
6287 : 96 : if (GET_CODE (x34) != PARALLEL
6288 : 96 : || XVECLEN (x34, 0) != 2)
6289 : : return -1;
6290 : 96 : x35 = XVECEXP (x34, 0, 0);
6291 : 96 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6292 : : return -1;
6293 : 96 : x36 = XVECEXP (x34, 0, 1);
6294 : 96 : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
6295 : : return -1;
6296 : 96 : x37 = XEXP (x25, 1);
6297 : 96 : x38 = XEXP (x37, 0);
6298 : 96 : if (GET_CODE (x38) != i1)
6299 : : return -1;
6300 : 96 : x39 = XEXP (x38, 0);
6301 : 96 : if (GET_CODE (x39) != VEC_SELECT
6302 : 96 : || GET_MODE (x39) != E_V2QImode)
6303 : : return -1;
6304 : 96 : x40 = XEXP (x39, 1);
6305 : 96 : if (GET_CODE (x40) != PARALLEL
6306 : 96 : || XVECLEN (x40, 0) != 2)
6307 : : return -1;
6308 : 96 : x41 = XVECEXP (x40, 0, 0);
6309 : 96 : if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6310 : : return -1;
6311 : 96 : x42 = XVECEXP (x40, 0, 1);
6312 : 96 : if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
6313 : : return -1;
6314 : 96 : x43 = XEXP (x37, 1);
6315 : 96 : if (GET_CODE (x43) != i1)
6316 : : return -1;
6317 : 96 : x44 = XEXP (x43, 0);
6318 : 96 : if (GET_CODE (x44) != VEC_SELECT
6319 : 96 : || GET_MODE (x44) != E_V2QImode)
6320 : : return -1;
6321 : 96 : x45 = XEXP (x44, 1);
6322 : 96 : if (GET_CODE (x45) != PARALLEL
6323 : 96 : || XVECLEN (x45, 0) != 2)
6324 : : return -1;
6325 : 96 : x46 = XVECEXP (x45, 0, 0);
6326 : 96 : if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6327 : : return -1;
6328 : 96 : x47 = XVECEXP (x45, 0, 1);
6329 : 96 : if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
6330 : : return -1;
6331 : 96 : x48 = XEXP (x5, 0);
6332 : 96 : operands[1] = x48;
6333 : 96 : if (!nonimmediate_operand (operands[1], E_V16QImode))
6334 : : return -1;
6335 : 96 : x49 = XEXP (x10, 0);
6336 : 96 : if (!rtx_equal_p (x49, operands[1]))
6337 : : return -1;
6338 : 96 : x50 = XEXP (x16, 0);
6339 : 96 : if (!rtx_equal_p (x50, operands[1]))
6340 : : return -1;
6341 : 96 : x51 = XEXP (x21, 0);
6342 : 96 : if (!rtx_equal_p (x51, operands[1]))
6343 : : return -1;
6344 : 96 : x52 = XEXP (x28, 0);
6345 : 96 : if (!rtx_equal_p (x52, operands[1]))
6346 : : return -1;
6347 : 96 : x53 = XEXP (x33, 0);
6348 : 96 : if (!rtx_equal_p (x53, operands[1]))
6349 : : return -1;
6350 : 96 : x54 = XEXP (x39, 0);
6351 : 96 : if (!rtx_equal_p (x54, operands[1]))
6352 : : return -1;
6353 : 96 : x55 = XEXP (x44, 0);
6354 : 96 : if (!rtx_equal_p (x55, operands[1]))
6355 : : return -1;
6356 : : return 0;
6357 : : }
6358 : :
6359 : : int
6360 : 0 : pattern1866 (rtx x1, machine_mode i1, machine_mode i2)
6361 : : {
6362 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6363 : 0 : rtx x2, x3, x4, x5, x6, x7;
6364 : 0 : int res ATTRIBUTE_UNUSED;
6365 : 0 : x2 = XVECEXP (x1, 0, 0);
6366 : 0 : x3 = XEXP (x2, 1);
6367 : 0 : x4 = XEXP (x3, 0);
6368 : 0 : x5 = XEXP (x4, 0);
6369 : 0 : if (GET_MODE (x5) != i2
6370 : 0 : || !ix86_carry_flag_operator (operands[4], i2))
6371 : 0 : return -1;
6372 : 0 : x6 = XEXP (x5, 1);
6373 : 0 : if (GET_MODE (x6) != i2
6374 : 0 : || !nonimmediate_operand (operands[1], i1))
6375 : 0 : return -1;
6376 : 0 : x7 = XEXP (x4, 1);
6377 : 0 : if (GET_MODE (x7) != i2
6378 : 0 : || !sext_operand (operands[2], i1)
6379 : 0 : || pattern1865 (x1,
6380 : : i1,
6381 : : i2) != 0)
6382 : 0 : return -1;
6383 : : return 0;
6384 : : }
6385 : :
6386 : : int
6387 : 178 : pattern1873 (rtx x1, machine_mode i1, machine_mode i2)
6388 : : {
6389 : 178 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6390 : 178 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6391 : 178 : rtx x10, x11;
6392 : 178 : int res ATTRIBUTE_UNUSED;
6393 : 178 : x2 = XVECEXP (x1, 0, 0);
6394 : 178 : x3 = XEXP (x2, 1);
6395 : 178 : x4 = XEXP (x3, 0);
6396 : 178 : x5 = XEXP (x4, 0);
6397 : 178 : if (GET_MODE (x5) != i2)
6398 : : return -1;
6399 : 178 : x6 = XEXP (x5, 0);
6400 : 178 : if (GET_MODE (x6) != i2
6401 : 178 : || !nonimmediate_operand (operands[1], i1)
6402 : 178 : || !ix86_carry_flag_operator (operands[4], i2)
6403 : 356 : || !const_int_operand (operands[6], i2))
6404 : 0 : return -1;
6405 : 178 : x7 = XEXP (x3, 1);
6406 : 178 : if (GET_MODE (x7) != i2)
6407 : : return -1;
6408 : 178 : x8 = XEXP (x7, 0);
6409 : 178 : if (GET_MODE (x8) != i1)
6410 : : return -1;
6411 : 178 : x9 = XEXP (x8, 0);
6412 : 178 : if (GET_MODE (x9) != i1
6413 : 178 : || !ix86_carry_flag_operator (operands[5], i1))
6414 : 0 : return -1;
6415 : 178 : x10 = XVECEXP (x1, 0, 1);
6416 : 178 : x11 = XEXP (x10, 1);
6417 : 178 : return pattern1868 (x11,
6418 : 178 : i1); /* [-1, 0] */
6419 : : }
6420 : :
6421 : : int
6422 : 5626 : pattern1883 (rtx x1)
6423 : : {
6424 : 5626 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6425 : 5626 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6426 : 5626 : int res ATTRIBUTE_UNUSED;
6427 : 5626 : x2 = XVECEXP (x1, 0, 24);
6428 : 5626 : if (XWINT (x2, 0) != 28L)
6429 : : return -1;
6430 : 5626 : x3 = XVECEXP (x1, 0, 25);
6431 : 5626 : if (XWINT (x3, 0) != 60L)
6432 : : return -1;
6433 : 5626 : x4 = XVECEXP (x1, 0, 26);
6434 : 5626 : if (XWINT (x4, 0) != 29L)
6435 : : return -1;
6436 : 5626 : x5 = XVECEXP (x1, 0, 27);
6437 : 5626 : if (XWINT (x5, 0) != 61L)
6438 : : return -1;
6439 : 5626 : x6 = XVECEXP (x1, 0, 28);
6440 : 5626 : if (XWINT (x6, 0) != 30L)
6441 : : return -1;
6442 : 5626 : x7 = XVECEXP (x1, 0, 29);
6443 : 5626 : if (XWINT (x7, 0) != 62L)
6444 : : return -1;
6445 : 5626 : x8 = XVECEXP (x1, 0, 30);
6446 : 5626 : if (XWINT (x8, 0) != 31L)
6447 : : return -1;
6448 : 5626 : x9 = XVECEXP (x1, 0, 31);
6449 : 5626 : if (XWINT (x9, 0) != 63L)
6450 : 0 : return -1;
6451 : : return 0;
6452 : : }
6453 : :
6454 : : int
6455 : 2980 : recog_7 (rtx x1 ATTRIBUTE_UNUSED,
6456 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6457 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6458 : : {
6459 : 2980 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6460 : 2980 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6461 : 2980 : rtx x10;
6462 : 2980 : int res ATTRIBUTE_UNUSED;
6463 : 2980 : x2 = XEXP (x1, 1);
6464 : 2980 : if (GET_MODE (x2) != E_HImode)
6465 : : return -1;
6466 : 2980 : x3 = XEXP (x1, 0);
6467 : 2980 : operands[0] = x3;
6468 : 2980 : if (!register_operand (operands[0], E_HImode))
6469 : : return -1;
6470 : 2980 : x4 = XVECEXP (x2, 0, 0);
6471 : 2980 : if (GET_MODE (x4) != E_CCFPmode)
6472 : : return -1;
6473 : 2980 : switch (GET_CODE (x4))
6474 : : {
6475 : 0 : case COMPARE:
6476 : 0 : x5 = XEXP (x4, 0);
6477 : 0 : operands[1] = x5;
6478 : 0 : x6 = XEXP (x4, 1);
6479 : 0 : switch (GET_CODE (x6))
6480 : : {
6481 : 0 : case CONST_INT:
6482 : 0 : case CONST_DOUBLE:
6483 : 0 : case CONST_VECTOR:
6484 : 0 : case REG:
6485 : 0 : case SUBREG:
6486 : 0 : case MEM:
6487 : 0 : operands[2] = x6;
6488 : 0 : switch (GET_MODE (operands[1]))
6489 : : {
6490 : 0 : case E_XFmode:
6491 : 0 : if (!register_operand (operands[1], E_XFmode)
6492 : 0 : || !reg_or_0_operand (operands[2], E_XFmode)
6493 : 0 : || !
6494 : : #line 1941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6495 : : (TARGET_80387))
6496 : : return -1;
6497 : : return 39; /* *cmpxf_i387 */
6498 : :
6499 : : case E_SFmode:
6500 : : if (!register_operand (operands[1], E_SFmode)
6501 : : || !nonimm_or_0_operand (operands[2], E_SFmode)
6502 : : || !
6503 : : #line 1954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6504 : : (TARGET_80387))
6505 : : return -1;
6506 : : return 40; /* *cmpsf_i387 */
6507 : :
6508 : : case E_DFmode:
6509 : : if (!register_operand (operands[1], E_DFmode)
6510 : : || !nonimm_or_0_operand (operands[2], E_DFmode)
6511 : : || !
6512 : : #line 1954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6513 : : (TARGET_80387))
6514 : : return -1;
6515 : : return 41; /* *cmpdf_i387 */
6516 : :
6517 : : default:
6518 : : return -1;
6519 : : }
6520 : :
6521 : : case FLOAT:
6522 : : x7 = XEXP (x6, 0);
6523 : : operands[2] = x7;
6524 : : switch (GET_MODE (operands[1]))
6525 : : {
6526 : : case E_SFmode:
6527 : : switch (pattern1250 (x6,
6528 : : E_SFmode))
6529 : : {
6530 : : case 0:
6531 : : if (!
6532 : : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6533 : : (TARGET_80387
6534 : : && (TARGET_USE_HIMODE_FIOP
6535 : : || optimize_function_for_size_p (cfun))))
6536 : : return -1;
6537 : : return 42; /* *cmpsf_hi_i387 */
6538 : :
6539 : : case 1:
6540 : : if (!
6541 : : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6542 : : (TARGET_80387
6543 : : && (TARGET_USE_SIMODE_FIOP
6544 : : || optimize_function_for_size_p (cfun))))
6545 : : return -1;
6546 : : return 45; /* *cmpsf_si_i387 */
6547 : :
6548 : : default:
6549 : : return -1;
6550 : : }
6551 : :
6552 : : case E_DFmode:
6553 : : switch (pattern1250 (x6,
6554 : : E_DFmode))
6555 : : {
6556 : : case 0:
6557 : : if (!
6558 : : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6559 : : (TARGET_80387
6560 : : && (TARGET_USE_HIMODE_FIOP
6561 : : || optimize_function_for_size_p (cfun))))
6562 : : return -1;
6563 : : return 43; /* *cmpdf_hi_i387 */
6564 : :
6565 : : case 1:
6566 : : if (!
6567 : : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6568 : : (TARGET_80387
6569 : : && (TARGET_USE_SIMODE_FIOP
6570 : : || optimize_function_for_size_p (cfun))))
6571 : : return -1;
6572 : : return 46; /* *cmpdf_si_i387 */
6573 : :
6574 : : default:
6575 : : return -1;
6576 : : }
6577 : :
6578 : : case E_XFmode:
6579 : : switch (pattern1250 (x6,
6580 : : E_XFmode))
6581 : : {
6582 : : case 0:
6583 : : if (!
6584 : : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6585 : : (TARGET_80387
6586 : : && (TARGET_USE_HIMODE_FIOP
6587 : : || optimize_function_for_size_p (cfun))))
6588 : : return -1;
6589 : : return 44; /* *cmpxf_hi_i387 */
6590 : :
6591 : : case 1:
6592 : : if (!
6593 : : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6594 : : (TARGET_80387
6595 : : && (TARGET_USE_SIMODE_FIOP
6596 : : || optimize_function_for_size_p (cfun))))
6597 : : return -1;
6598 : : return 47; /* *cmpxf_si_i387 */
6599 : :
6600 : : default:
6601 : : return -1;
6602 : : }
6603 : :
6604 : : default:
6605 : : return -1;
6606 : : }
6607 : :
6608 : : default:
6609 : : return -1;
6610 : : }
6611 : :
6612 : : case UNSPEC:
6613 : : if (XVECLEN (x4, 0) != 1
6614 : : || XINT (x4, 1) != 27)
6615 : : return -1;
6616 : : x8 = XVECEXP (x4, 0, 0);
6617 : : if (GET_CODE (x8) != COMPARE
6618 : : || GET_MODE (x8) != E_CCFPmode)
6619 : : return -1;
6620 : : x9 = XEXP (x8, 0);
6621 : : operands[1] = x9;
6622 : : x10 = XEXP (x8, 1);
6623 : : operands[2] = x10;
6624 : : switch (GET_MODE (operands[1]))
6625 : : {
6626 : : case E_SFmode:
6627 : : if (!register_operand (operands[1], E_SFmode)
6628 : : || !register_operand (operands[2], E_SFmode)
6629 : : || !
6630 : : #line 1986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6631 : : (TARGET_80387))
6632 : : return -1;
6633 : : return 48; /* *cmpusf_i387 */
6634 : :
6635 : : case E_DFmode:
6636 : : if (!register_operand (operands[1], E_DFmode)
6637 : : || !register_operand (operands[2], E_DFmode)
6638 : : || !
6639 : : #line 1986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6640 : : (TARGET_80387))
6641 : : return -1;
6642 : : return 49; /* *cmpudf_i387 */
6643 : :
6644 : : case E_XFmode:
6645 : : if (!register_operand (operands[1], E_XFmode)
6646 : : || !register_operand (operands[2], E_XFmode)
6647 : : || !
6648 : : #line 1986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6649 : : (TARGET_80387))
6650 : : return -1;
6651 : : return 50; /* *cmpuxf_i387 */
6652 : :
6653 : : default:
6654 : : return -1;
6655 : : }
6656 : :
6657 : : case REG:
6658 : : if (REGNO (x4) != 18
6659 : : || !
6660 : : #line 24033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6661 : : (TARGET_80387))
6662 : : return -1;
6663 : : return 1720; /* x86_fnstsw_1 */
6664 : :
6665 : : default:
6666 : : return -1;
6667 : : }
6668 : : }
6669 : :
6670 : : int
6671 : : recog_15 (rtx x1 ATTRIBUTE_UNUSED,
6672 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6673 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6674 : : {
6675 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6676 : : int res ATTRIBUTE_UNUSED;
6677 : : if (push_operand (operands[0], E_SImode))
6678 : : {
6679 : : if (nonmemory_no_elim_operand (operands[1], E_SImode)
6680 : : &&
6681 : : #line 2254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6682 : : (TARGET_64BIT))
6683 : : return 74; /* *pushsi2_rex64 */
6684 : : if (general_no_elim_operand (operands[1], E_SImode)
6685 : : &&
6686 : : #line 2264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6687 : : (!TARGET_64BIT))
6688 : : return 75; /* *pushsi2 */
6689 : : }
6690 : : if (nonimmediate_operand (operands[0], E_SImode)
6691 : : && pop_operand (operands[1], E_SImode)
6692 : : &&
6693 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6694 : : (word_mode == SImode))
6695 : : return 80; /* *popsi1 */
6696 : : if (pnum_clobbers != NULL
6697 : : && const0_operand (operands[1], E_SImode))
6698 : : {
6699 : : if (register_operand (operands[0], E_SImode)
6700 : : &&
6701 : : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6702 : : (reload_completed))
6703 : : {
6704 : : *pnum_clobbers = 1;
6705 : : return 88; /* *movsi_xor */
6706 : : }
6707 : : if (memory_operand (operands[0], E_SImode)
6708 : : &&
6709 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6710 : : (reload_completed))
6711 : : {
6712 : : *pnum_clobbers = 1;
6713 : : return 91; /* *movsi_and */
6714 : : }
6715 : : }
6716 : : if (!nonimmediate_operand (operands[0], E_SImode))
6717 : : return -1;
6718 : : if (pnum_clobbers != NULL
6719 : : && constm1_operand (operands[1], E_SImode)
6720 : : &&
6721 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6722 : : (reload_completed))
6723 : : {
6724 : : *pnum_clobbers = 1;
6725 : : return 94; /* *movsi_or */
6726 : : }
6727 : : if (!general_operand (operands[1], E_SImode)
6728 : : || !
6729 : : #line 2839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6730 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6731 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6732 : : return -1;
6733 : : return 100; /* *movsi_internal */
6734 : : }
6735 : :
6736 : : int
6737 : : recog_18 (rtx x1 ATTRIBUTE_UNUSED,
6738 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6739 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6740 : : {
6741 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6742 : : rtx x2, x3, x4, x5, x6;
6743 : : int res ATTRIBUTE_UNUSED;
6744 : : x2 = XEXP (x1, 0);
6745 : : x3 = XEXP (x2, 1);
6746 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6747 : : return -1;
6748 : : x4 = XEXP (x2, 2);
6749 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6750 : : return -1;
6751 : : x5 = XEXP (x2, 0);
6752 : : operands[0] = x5;
6753 : : if (!int248_register_operand (operands[0], E_VOIDmode))
6754 : : return -1;
6755 : : x6 = XEXP (x1, 1);
6756 : : operands[1] = x6;
6757 : : switch (GET_MODE (x2))
6758 : : {
6759 : : case E_HImode:
6760 : : if (!general_operand (operands[1], E_HImode))
6761 : : return -1;
6762 : : return 132; /* insvhi_1 */
6763 : :
6764 : : case E_SImode:
6765 : : if (!general_operand (operands[1], E_SImode))
6766 : : return -1;
6767 : : return 133; /* insvsi_1 */
6768 : :
6769 : : case E_DImode:
6770 : : if (!general_operand (operands[1], E_DImode)
6771 : : || !
6772 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6773 : : (TARGET_64BIT))
6774 : : return -1;
6775 : : return 134; /* insvdi_1 */
6776 : :
6777 : : default:
6778 : : return -1;
6779 : : }
6780 : : }
6781 : :
6782 : : int
6783 : : recog_19 (rtx x1 ATTRIBUTE_UNUSED,
6784 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6785 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6786 : : {
6787 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6788 : : rtx x2, x3, x4, x5, x6;
6789 : : int res ATTRIBUTE_UNUSED;
6790 : : x2 = XEXP (x1, 1);
6791 : : if (GET_MODE (x2) != E_QImode)
6792 : : return -1;
6793 : : x3 = XEXP (x2, 0);
6794 : : x4 = XEXP (x3, 0);
6795 : : operands[1] = x4;
6796 : : if (!int248_register_operand (operands[1], E_VOIDmode))
6797 : : return -1;
6798 : : x5 = XEXP (x1, 0);
6799 : : switch (GET_CODE (x5))
6800 : : {
6801 : : case STRICT_LOW_PART:
6802 : : x6 = XEXP (x5, 0);
6803 : : operands[0] = x6;
6804 : : if (!register_operand (operands[0], E_QImode))
6805 : : return -1;
6806 : : switch (pattern1188 ())
6807 : : {
6808 : : case 0:
6809 : : if (!
6810 : : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6811 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6812 : : return -1;
6813 : : return 119; /* *movstrictqi_exthi_1 */
6814 : :
6815 : : case 1:
6816 : : if (!
6817 : : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6818 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6819 : : return -1;
6820 : : return 120; /* *movstrictqi_extsi_1 */
6821 : :
6822 : : case 2:
6823 : : if (!(
6824 : : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6825 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
6826 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6827 : : (TARGET_64BIT)))
6828 : : return -1;
6829 : : return 121; /* *movstrictqi_extdi_1 */
6830 : :
6831 : : default:
6832 : : return -1;
6833 : : }
6834 : :
6835 : : case REG:
6836 : : case SUBREG:
6837 : : case MEM:
6838 : : operands[0] = x5;
6839 : : if (!nonimmediate_operand (operands[0], E_QImode))
6840 : : return -1;
6841 : : switch (pattern1188 ())
6842 : : {
6843 : : case 0:
6844 : : return 129; /* *extzvqi */
6845 : :
6846 : : case 1:
6847 : : return 130; /* *extzvqi */
6848 : :
6849 : : case 2:
6850 : : if (!
6851 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6852 : : (TARGET_64BIT))
6853 : : return -1;
6854 : : return 131; /* *extzvqi */
6855 : :
6856 : : default:
6857 : : return -1;
6858 : : }
6859 : :
6860 : : default:
6861 : : return -1;
6862 : : }
6863 : : }
6864 : :
6865 : : int
6866 : : recog_21 (rtx x1 ATTRIBUTE_UNUSED,
6867 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6868 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6869 : : {
6870 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6871 : : rtx x2, x3, x4, x5, x6;
6872 : : int res ATTRIBUTE_UNUSED;
6873 : : x2 = XEXP (x1, 1);
6874 : : x3 = XEXP (x2, 1);
6875 : : if (GET_CODE (x3) != CONST_INT)
6876 : : return -1;
6877 : : x4 = XEXP (x2, 2);
6878 : : if (GET_CODE (x4) != CONST_INT)
6879 : : return -1;
6880 : : x5 = XEXP (x1, 0);
6881 : : operands[0] = x5;
6882 : : x6 = XEXP (x2, 0);
6883 : : operands[1] = x6;
6884 : : switch (XWINT (x3, 0))
6885 : : {
6886 : : case 8L:
6887 : : if (XWINT (x4, 0) != 8L
6888 : : || !int248_register_operand (operands[1], E_VOIDmode))
6889 : : return -1;
6890 : : switch (GET_MODE (operands[0]))
6891 : : {
6892 : : case E_HImode:
6893 : : if (!register_operand (operands[0], E_HImode)
6894 : : || GET_MODE (x2) != E_HImode)
6895 : : return -1;
6896 : : return 122; /* *extvhi */
6897 : :
6898 : : case E_SImode:
6899 : : if (!register_operand (operands[0], E_SImode)
6900 : : || GET_MODE (x2) != E_SImode)
6901 : : return -1;
6902 : : return 123; /* *extvsi */
6903 : :
6904 : : default:
6905 : : return -1;
6906 : : }
6907 : :
6908 : : case 1L:
6909 : : if (pnum_clobbers == NULL
6910 : : || XWINT (x4, 0) != 0L)
6911 : : return -1;
6912 : : switch (GET_MODE (operands[0]))
6913 : : {
6914 : : case E_SImode:
6915 : : if (!register_operand (operands[0], E_SImode)
6916 : : || GET_MODE (x2) != E_SImode
6917 : : || !register_operand (operands[1], E_SImode))
6918 : : return -1;
6919 : : *pnum_clobbers = 1;
6920 : : return 124; /* *extvsi_1_0 */
6921 : :
6922 : : case E_DImode:
6923 : : if (!register_operand (operands[0], E_DImode)
6924 : : || GET_MODE (x2) != E_DImode
6925 : : || !register_operand (operands[1], E_DImode)
6926 : : || !
6927 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6928 : : (TARGET_64BIT))
6929 : : return -1;
6930 : : *pnum_clobbers = 1;
6931 : : return 125; /* *extvdi_1_0 */
6932 : :
6933 : : default:
6934 : : return -1;
6935 : : }
6936 : :
6937 : : default:
6938 : : return -1;
6939 : : }
6940 : : }
6941 : :
6942 : : int
6943 : : recog_22 (rtx x1 ATTRIBUTE_UNUSED,
6944 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6945 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6946 : : {
6947 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6948 : : rtx x2, x3, x4, x5, x6;
6949 : : int res ATTRIBUTE_UNUSED;
6950 : : x2 = XEXP (x1, 1);
6951 : : x3 = XEXP (x2, 1);
6952 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6953 : : return -1;
6954 : : x4 = XEXP (x2, 2);
6955 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6956 : : return -1;
6957 : : x5 = XEXP (x1, 0);
6958 : : operands[0] = x5;
6959 : : x6 = XEXP (x2, 0);
6960 : : operands[1] = x6;
6961 : : if (!int248_register_operand (operands[1], E_VOIDmode))
6962 : : return -1;
6963 : : switch (GET_MODE (operands[0]))
6964 : : {
6965 : : case E_HImode:
6966 : : if (!register_operand (operands[0], E_HImode)
6967 : : || GET_MODE (x2) != E_HImode)
6968 : : return -1;
6969 : : return 126; /* *extzvhi */
6970 : :
6971 : : case E_SImode:
6972 : : if (!register_operand (operands[0], E_SImode)
6973 : : || GET_MODE (x2) != E_SImode)
6974 : : return -1;
6975 : : return 127; /* *extzvsi */
6976 : :
6977 : : case E_DImode:
6978 : : if (!register_operand (operands[0], E_DImode)
6979 : : || GET_MODE (x2) != E_DImode
6980 : : || !
6981 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6982 : : (TARGET_64BIT))
6983 : : return -1;
6984 : : return 128; /* *extzvdi */
6985 : :
6986 : : default:
6987 : : return -1;
6988 : : }
6989 : : }
6990 : :
6991 : : int
6992 : : recog_23 (rtx x1 ATTRIBUTE_UNUSED,
6993 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6994 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6995 : : {
6996 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6997 : : rtx x2, x3;
6998 : : int res ATTRIBUTE_UNUSED;
6999 : : switch (pattern35 (x1, pnum_clobbers))
7000 : : {
7001 : : case 0:
7002 : : if (pnum_clobbers != NULL
7003 : : && pattern279 (x1,
7004 : : E_TImode) == 0
7005 : : && (
7006 : : #line 16719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7007 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7008 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7009 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7010 : : && ix86_pre_reload_split ()) &&
7011 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7012 : : (TARGET_64BIT)))
7013 : : {
7014 : : *pnum_clobbers = 1;
7015 : : return 1128; /* *lshrti3_doubleword_mask */
7016 : : }
7017 : : x2 = XEXP (x1, 1);
7018 : : x3 = XEXP (x2, 1);
7019 : : operands[2] = x3;
7020 : : switch (pattern413 (x1, pnum_clobbers))
7021 : : {
7022 : : case 0:
7023 : : switch (GET_MODE (operands[0]))
7024 : : {
7025 : : case E_TImode:
7026 : : if (pnum_clobbers == NULL
7027 : : || pattern833 (x2,
7028 : : E_TImode,
7029 : : E_QImode) != 0
7030 : : || !
7031 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7032 : : (TARGET_64BIT))
7033 : : return -1;
7034 : : *pnum_clobbers = 1;
7035 : : return 1136; /* lshrti3_doubleword */
7036 : :
7037 : : case E_QImode:
7038 : : if (pattern612 (x2,
7039 : : E_QImode) != 0)
7040 : : return -1;
7041 : : if (
7042 : : #line 17698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7043 : : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
7044 : : && TARGET_APX_NF))
7045 : : return 1216; /* *lshrqi3_1_nf */
7046 : : if (pnum_clobbers == NULL
7047 : : || !
7048 : : #line 17698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7049 : : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
7050 : : && true))
7051 : : return -1;
7052 : : *pnum_clobbers = 1;
7053 : : return 1217; /* *lshrqi3_1 */
7054 : :
7055 : : case E_HImode:
7056 : : if (pattern612 (x2,
7057 : : E_HImode) != 0)
7058 : : return -1;
7059 : : if (
7060 : : #line 17736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7061 : : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
7062 : : && TARGET_APX_NF))
7063 : : return 1218; /* *lshrhi3_1_nf */
7064 : : if (pnum_clobbers == NULL
7065 : : || !
7066 : : #line 17736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7067 : : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
7068 : : && true))
7069 : : return -1;
7070 : : *pnum_clobbers = 1;
7071 : : return 1219; /* *lshrhi3_1 */
7072 : :
7073 : : case E_V4HImode:
7074 : : if (pattern833 (x2,
7075 : : E_V4HImode,
7076 : : E_DImode) != 0
7077 : : || !
7078 : : #line 3914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7079 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7080 : : return -1;
7081 : : return 2214; /* mmx_lshrv4hi3 */
7082 : :
7083 : : case E_V2SImode:
7084 : : if (pattern833 (x2,
7085 : : E_V2SImode,
7086 : : E_DImode) != 0
7087 : : || !
7088 : : #line 3914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7089 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7090 : : return -1;
7091 : : return 2216; /* mmx_lshrv2si3 */
7092 : :
7093 : : case E_V1DImode:
7094 : : if (pattern833 (x2,
7095 : : E_V1DImode,
7096 : : E_DImode) != 0
7097 : : || !
7098 : : #line 3914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7099 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7100 : : return -1;
7101 : : return 2218; /* mmx_lshrv1di3 */
7102 : :
7103 : : case E_V1SImode:
7104 : : if (pattern833 (x2,
7105 : : E_V1SImode,
7106 : : E_DImode) != 0
7107 : : || !
7108 : : #line 3951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7109 : : (TARGET_SSE2))
7110 : : return -1;
7111 : : return 2220; /* mmx_lshrv1si3 */
7112 : :
7113 : : case E_V2HImode:
7114 : : if (pattern833 (x2,
7115 : : E_V2HImode,
7116 : : E_DImode) != 0
7117 : : || !
7118 : : #line 3968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7119 : : (TARGET_SSE2))
7120 : : return -1;
7121 : : return 2222; /* lshrv2hi3 */
7122 : :
7123 : : case E_V2QImode:
7124 : : if (pnum_clobbers == NULL
7125 : : || pattern833 (x2,
7126 : : E_V2QImode,
7127 : : E_QImode) != 0
7128 : : || !
7129 : : #line 4030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7130 : : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7131 : : return -1;
7132 : : *pnum_clobbers = 1;
7133 : : return 2226; /* lshrv2qi3 */
7134 : :
7135 : : default:
7136 : : return -1;
7137 : : }
7138 : :
7139 : : case 1:
7140 : : if (!
7141 : : #line 17775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7142 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7143 : : return -1;
7144 : : *pnum_clobbers = 1;
7145 : : return 1220; /* *lshrqi3_1_slp */
7146 : :
7147 : : case 2:
7148 : : if (!
7149 : : #line 17775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7150 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7151 : : return -1;
7152 : : *pnum_clobbers = 1;
7153 : : return 1222; /* *lshrhi3_1_slp */
7154 : :
7155 : : default:
7156 : : return -1;
7157 : : }
7158 : :
7159 : : case 1:
7160 : : if (!(
7161 : : #line 16780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7162 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7163 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7164 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7165 : : && ix86_pre_reload_split ()) &&
7166 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7167 : : (TARGET_64BIT)))
7168 : : return -1;
7169 : : *pnum_clobbers = 1;
7170 : : return 1132; /* *lshrti3_doubleword_mask_1 */
7171 : :
7172 : : default:
7173 : : return -1;
7174 : : }
7175 : : }
7176 : :
7177 : : int
7178 : : recog_25 (rtx x1 ATTRIBUTE_UNUSED,
7179 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7180 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7181 : : {
7182 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7183 : : rtx x2, x3, x4, x5, x6, x7, x8;
7184 : : int res ATTRIBUTE_UNUSED;
7185 : : x2 = XEXP (x1, 1);
7186 : : switch (GET_CODE (x2))
7187 : : {
7188 : : case SIGN_EXTRACT:
7189 : : res = recog_21 (x1, insn, pnum_clobbers);
7190 : : if (res >= 0)
7191 : : return res;
7192 : : break;
7193 : :
7194 : : case ZERO_EXTRACT:
7195 : : res = recog_22 (x1, insn, pnum_clobbers);
7196 : : if (res >= 0)
7197 : : return res;
7198 : : break;
7199 : :
7200 : : case LSHIFTRT:
7201 : : res = recog_23 (x1, insn, pnum_clobbers);
7202 : : if (res >= 0)
7203 : : return res;
7204 : : break;
7205 : :
7206 : : case ASHIFTRT:
7207 : : res = recog_24 (x1, insn, pnum_clobbers);
7208 : : if (res >= 0)
7209 : : return res;
7210 : : break;
7211 : :
7212 : : default:
7213 : : break;
7214 : : }
7215 : : x3 = XEXP (x1, 0);
7216 : : if (GET_CODE (x3) != ZERO_EXTRACT)
7217 : : return -1;
7218 : : x4 = XEXP (x3, 1);
7219 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7220 : : return -1;
7221 : : x5 = XEXP (x3, 2);
7222 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7223 : : return -1;
7224 : : x6 = XEXP (x3, 0);
7225 : : operands[0] = x6;
7226 : : if (!int248_register_operand (operands[0], E_VOIDmode))
7227 : : return -1;
7228 : : x7 = XEXP (x2, 0);
7229 : : switch (GET_CODE (x7))
7230 : : {
7231 : : case REG:
7232 : : case SUBREG:
7233 : : operands[1] = x7;
7234 : : if (int248_register_operand (operands[1], E_VOIDmode))
7235 : : {
7236 : : operands[2] = x2;
7237 : : switch (GET_MODE (x3))
7238 : : {
7239 : : case E_HImode:
7240 : : if (extract_high_operator (operands[2], E_HImode))
7241 : : return 138; /* *insvqi_2 */
7242 : : break;
7243 : :
7244 : : case E_SImode:
7245 : : if (extract_high_operator (operands[2], E_SImode))
7246 : : return 139; /* *insvqi_2 */
7247 : : break;
7248 : :
7249 : : case E_DImode:
7250 : : if (extract_high_operator (operands[2], E_DImode)
7251 : : &&
7252 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7253 : : (TARGET_64BIT))
7254 : : return 140; /* *insvqi_2 */
7255 : : break;
7256 : :
7257 : : default:
7258 : : break;
7259 : : }
7260 : : }
7261 : : break;
7262 : :
7263 : : case AND:
7264 : : switch (pattern719 (x1, pnum_clobbers))
7265 : : {
7266 : : case 0:
7267 : : if (
7268 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7269 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7270 : : {
7271 : : *pnum_clobbers = 1;
7272 : : return 804; /* *andqi_exthi_3 */
7273 : : }
7274 : : break;
7275 : :
7276 : : case 1:
7277 : : if (
7278 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7279 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7280 : : {
7281 : : *pnum_clobbers = 1;
7282 : : return 807; /* *andqi_extsi_3 */
7283 : : }
7284 : : break;
7285 : :
7286 : : case 2:
7287 : : if ((
7288 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7289 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
7290 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7291 : : (TARGET_64BIT)))
7292 : : {
7293 : : *pnum_clobbers = 1;
7294 : : return 810; /* *andqi_extdi_3 */
7295 : : }
7296 : : break;
7297 : :
7298 : : default:
7299 : : break;
7300 : : }
7301 : : break;
7302 : :
7303 : : case IOR:
7304 : : switch (pattern719 (x1, pnum_clobbers))
7305 : : {
7306 : : case 0:
7307 : : if (
7308 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7309 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7310 : : {
7311 : : *pnum_clobbers = 1;
7312 : : return 805; /* *iorqi_exthi_3 */
7313 : : }
7314 : : break;
7315 : :
7316 : : case 1:
7317 : : if (
7318 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7319 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7320 : : {
7321 : : *pnum_clobbers = 1;
7322 : : return 808; /* *iorqi_extsi_3 */
7323 : : }
7324 : : break;
7325 : :
7326 : : case 2:
7327 : : if ((
7328 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7329 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
7330 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7331 : : (TARGET_64BIT)))
7332 : : {
7333 : : *pnum_clobbers = 1;
7334 : : return 811; /* *iorqi_extdi_3 */
7335 : : }
7336 : : break;
7337 : :
7338 : : default:
7339 : : break;
7340 : : }
7341 : : break;
7342 : :
7343 : : case XOR:
7344 : : switch (pattern719 (x1, pnum_clobbers))
7345 : : {
7346 : : case 0:
7347 : : if (
7348 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7349 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7350 : : {
7351 : : *pnum_clobbers = 1;
7352 : : return 806; /* *xorqi_exthi_3 */
7353 : : }
7354 : : break;
7355 : :
7356 : : case 1:
7357 : : if (
7358 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7359 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
7360 : : {
7361 : : *pnum_clobbers = 1;
7362 : : return 809; /* *xorqi_extsi_3 */
7363 : : }
7364 : : break;
7365 : :
7366 : : case 2:
7367 : : if ((
7368 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7369 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
7370 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7371 : : (TARGET_64BIT)))
7372 : : {
7373 : : *pnum_clobbers = 1;
7374 : : return 812; /* *xorqi_extdi_3 */
7375 : : }
7376 : : break;
7377 : :
7378 : : default:
7379 : : break;
7380 : : }
7381 : : break;
7382 : :
7383 : : default:
7384 : : break;
7385 : : }
7386 : : x8 = XEXP (x2, 1);
7387 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7388 : : return -1;
7389 : : operands[1] = x7;
7390 : : switch (GET_CODE (x2))
7391 : : {
7392 : : case LSHIFTRT:
7393 : : switch (pattern952 (x1))
7394 : : {
7395 : : case 0:
7396 : : return 141; /* *insvqi_3 */
7397 : :
7398 : : case 1:
7399 : : return 143; /* *insvqi_3 */
7400 : :
7401 : : case 2:
7402 : : if (!
7403 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7404 : : (TARGET_64BIT))
7405 : : return -1;
7406 : : return 145; /* *insvqi_3 */
7407 : :
7408 : : default:
7409 : : return -1;
7410 : : }
7411 : :
7412 : : case ASHIFTRT:
7413 : : switch (pattern952 (x1))
7414 : : {
7415 : : case 0:
7416 : : return 142; /* *insvqi_3 */
7417 : :
7418 : : case 1:
7419 : : return 144; /* *insvqi_3 */
7420 : :
7421 : : case 2:
7422 : : if (!
7423 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7424 : : (TARGET_64BIT))
7425 : : return -1;
7426 : : return 146; /* *insvqi_3 */
7427 : :
7428 : : default:
7429 : : return -1;
7430 : : }
7431 : :
7432 : : default:
7433 : : return -1;
7434 : : }
7435 : : }
7436 : :
7437 : : int
7438 : : recog_30 (rtx x1 ATTRIBUTE_UNUSED,
7439 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7440 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7441 : : {
7442 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7443 : : rtx x2, x3, x4, x5, x6, x7;
7444 : : int res ATTRIBUTE_UNUSED;
7445 : : x2 = XEXP (x1, 0);
7446 : : operands[0] = x2;
7447 : : x3 = XEXP (x1, 1);
7448 : : x4 = XEXP (x3, 0);
7449 : : switch (GET_CODE (x4))
7450 : : {
7451 : : case REG:
7452 : : case SUBREG:
7453 : : case MEM:
7454 : : operands[1] = x4;
7455 : : switch (GET_MODE (operands[0]))
7456 : : {
7457 : : case E_DImode:
7458 : : if (GET_MODE (x3) == E_DImode)
7459 : : {
7460 : : if (register_operand (operands[0], E_DImode))
7461 : : {
7462 : : switch (GET_MODE (operands[1]))
7463 : : {
7464 : : case E_SImode:
7465 : : if (nonimmediate_operand (operands[1], E_SImode)
7466 : : &&
7467 : : #line 4982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7468 : : (TARGET_64BIT))
7469 : : return 188; /* *extendsidi2_rex64 */
7470 : : break;
7471 : :
7472 : : case E_QImode:
7473 : : if (nonimmediate_operand (operands[1], E_QImode)
7474 : : &&
7475 : : #line 5141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7476 : : (TARGET_64BIT))
7477 : : return 191; /* extendqidi2 */
7478 : : break;
7479 : :
7480 : : case E_HImode:
7481 : : if (nonimmediate_operand (operands[1], E_HImode)
7482 : : &&
7483 : : #line 5141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7484 : : (TARGET_64BIT))
7485 : : return 192; /* extendhidi2 */
7486 : : break;
7487 : :
7488 : : default:
7489 : : break;
7490 : : }
7491 : : }
7492 : : if (pnum_clobbers != NULL
7493 : : && nonimmediate_operand (operands[0], E_DImode)
7494 : : && register_operand (operands[1], E_SImode)
7495 : : &&
7496 : : #line 4996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7497 : : (!TARGET_64BIT))
7498 : : {
7499 : : *pnum_clobbers = 2;
7500 : : return 189; /* extendsidi2_1 */
7501 : : }
7502 : : }
7503 : : break;
7504 : :
7505 : : case E_TImode:
7506 : : if (pattern248 (x3, pnum_clobbers,
7507 : : E_DImode,
7508 : : E_TImode) == 0
7509 : : &&
7510 : : #line 5004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7511 : : (TARGET_64BIT))
7512 : : {
7513 : : *pnum_clobbers = 2;
7514 : : return 190; /* extendditi2 */
7515 : : }
7516 : : break;
7517 : :
7518 : : case E_SImode:
7519 : : if (register_operand (operands[0], E_SImode)
7520 : : && GET_MODE (x3) == E_SImode)
7521 : : {
7522 : : switch (GET_MODE (operands[1]))
7523 : : {
7524 : : case E_HImode:
7525 : : if (nonimmediate_operand (operands[1], E_HImode))
7526 : : return 193; /* extendhisi2 */
7527 : : break;
7528 : :
7529 : : case E_QImode:
7530 : : if (nonimmediate_operand (operands[1], E_QImode))
7531 : : return 195; /* extendqisi2 */
7532 : : break;
7533 : :
7534 : : default:
7535 : : break;
7536 : : }
7537 : : }
7538 : : break;
7539 : :
7540 : : case E_HImode:
7541 : : if (register_operand (operands[0], E_HImode)
7542 : : && GET_MODE (x3) == E_HImode
7543 : : && nonimmediate_operand (operands[1], E_QImode))
7544 : : return 197; /* extendqihi2 */
7545 : : break;
7546 : :
7547 : : default:
7548 : : break;
7549 : : }
7550 : : if (GET_CODE (x4) != SUBREG
7551 : : || maybe_ne (SUBREG_BYTE (x4), 0)
7552 : : || GET_MODE (x4) != E_QImode)
7553 : : return -1;
7554 : : x5 = XEXP (x4, 0);
7555 : : switch (GET_CODE (x5))
7556 : : {
7557 : : case ASHIFTRT:
7558 : : case LSHIFTRT:
7559 : : case SIGN_EXTRACT:
7560 : : case ZERO_EXTRACT:
7561 : : operands[2] = x5;
7562 : : x6 = XEXP (x5, 0);
7563 : : operands[1] = x6;
7564 : : if (!int248_register_operand (operands[1], E_VOIDmode))
7565 : : return -1;
7566 : : switch (GET_MODE (operands[0]))
7567 : : {
7568 : : case E_HImode:
7569 : : switch (pattern1191 (x3,
7570 : : E_HImode))
7571 : : {
7572 : : case 0:
7573 : : return 198; /* *extendqihi_ext_1 */
7574 : :
7575 : : case 1:
7576 : : return 199; /* *extendqihi_ext_1 */
7577 : :
7578 : : case 2:
7579 : : if (!
7580 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7581 : : (TARGET_64BIT))
7582 : : return -1;
7583 : : return 200; /* *extendqihi_ext_1 */
7584 : :
7585 : : default:
7586 : : return -1;
7587 : : }
7588 : :
7589 : : case E_SImode:
7590 : : switch (pattern1191 (x3,
7591 : : E_SImode))
7592 : : {
7593 : : case 0:
7594 : : return 201; /* *extendqisi_ext_1 */
7595 : :
7596 : : case 1:
7597 : : return 202; /* *extendqisi_ext_1 */
7598 : :
7599 : : case 2:
7600 : : if (!
7601 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7602 : : (TARGET_64BIT))
7603 : : return -1;
7604 : : return 203; /* *extendqisi_ext_1 */
7605 : :
7606 : : default:
7607 : : return -1;
7608 : : }
7609 : :
7610 : : default:
7611 : : return -1;
7612 : : }
7613 : :
7614 : : default:
7615 : : return -1;
7616 : : }
7617 : :
7618 : : case SS_TRUNCATE:
7619 : : if (GET_MODE (x4) != E_V2HImode)
7620 : : return -1;
7621 : : x5 = XEXP (x4, 0);
7622 : : if (GET_CODE (x5) != FIX
7623 : : || GET_MODE (x5) != E_V2SImode
7624 : : || !register_operand (operands[0], E_V2SImode)
7625 : : || GET_MODE (x3) != E_V2SImode)
7626 : : return -1;
7627 : : x6 = XEXP (x5, 0);
7628 : : operands[1] = x6;
7629 : : if (!nonimmediate_operand (operands[1], E_V2SFmode)
7630 : : || !
7631 : : #line 1635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7632 : : (TARGET_3DNOW_A))
7633 : : return -1;
7634 : : return 2093; /* mmx_pf2iw */
7635 : :
7636 : : case VEC_SELECT:
7637 : : x7 = XEXP (x4, 1);
7638 : : if (GET_CODE (x7) != PARALLEL)
7639 : : return -1;
7640 : : x5 = XEXP (x4, 0);
7641 : : operands[1] = x5;
7642 : : switch (XVECLEN (x7, 0))
7643 : : {
7644 : : case 4:
7645 : : if (pattern596 (x3) != 0
7646 : : || !
7647 : : #line 5034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7648 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7649 : : return -1;
7650 : : return 2315; /* sse4_1_sign_extendv4qiv4hi2 */
7651 : :
7652 : : case 2:
7653 : : switch (pattern597 (x3))
7654 : : {
7655 : : case 0:
7656 : : if (!
7657 : : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7658 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7659 : : return -1;
7660 : : return 2317; /* sse4_1_sign_extendv2hiv2si2 */
7661 : :
7662 : : case 1:
7663 : : if (!
7664 : : #line 5098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7665 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7666 : : return -1;
7667 : : return 2319; /* sse4_1_sign_extendv2qiv2si2 */
7668 : :
7669 : : case 2:
7670 : : if (!
7671 : : #line 5124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7672 : : (TARGET_SSE4_1))
7673 : : return -1;
7674 : : return 2321; /* sse4_1_sign_extendv2qiv2hi2 */
7675 : :
7676 : : default:
7677 : : return -1;
7678 : : }
7679 : :
7680 : : default:
7681 : : return -1;
7682 : : }
7683 : :
7684 : : default:
7685 : : return -1;
7686 : : }
7687 : : }
7688 : :
7689 : : int
7690 : : recog_38 (rtx x1 ATTRIBUTE_UNUSED,
7691 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7692 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7693 : : {
7694 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7695 : : rtx x2, x3;
7696 : : int res ATTRIBUTE_UNUSED;
7697 : : x2 = XEXP (x1, 1);
7698 : : x3 = XEXP (x2, 1);
7699 : : operands[2] = x3;
7700 : : switch (GET_MODE (operands[0]))
7701 : : {
7702 : : case E_TImode:
7703 : : if (pnum_clobbers == NULL
7704 : : || pattern720 (x2,
7705 : : E_TImode) != 0)
7706 : : return -1;
7707 : : if ((
7708 : : #line 13449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7709 : : (TARGET_BMI) &&
7710 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7711 : : (TARGET_64BIT)))
7712 : : {
7713 : : *pnum_clobbers = 1;
7714 : : return 814; /* *andnti3_doubleword_bmi */
7715 : : }
7716 : : if (!(
7717 : : #line 13467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7718 : : (!TARGET_BMI
7719 : : && ix86_pre_reload_split ()) &&
7720 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7721 : : (TARGET_64BIT)))
7722 : : return -1;
7723 : : *pnum_clobbers = 1;
7724 : : return 816; /* *andnti3_doubleword */
7725 : :
7726 : : case E_QImode:
7727 : : if (pnum_clobbers == NULL
7728 : : || pattern598 (x2,
7729 : : E_QImode) != 0
7730 : : || !
7731 : : #line 13499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7732 : : (TARGET_BMI || TARGET_AVX512BW))
7733 : : return -1;
7734 : : *pnum_clobbers = 1;
7735 : : return 819; /* *andnqi_1 */
7736 : :
7737 : : case E_HImode:
7738 : : if (pnum_clobbers == NULL
7739 : : || pattern598 (x2,
7740 : : E_HImode) != 0
7741 : : || !
7742 : : #line 13499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7743 : : (TARGET_BMI || TARGET_AVX512BW))
7744 : : return -1;
7745 : : *pnum_clobbers = 1;
7746 : : return 820; /* *andnhi_1 */
7747 : :
7748 : : case E_V2SFmode:
7749 : : if (pattern598 (x2,
7750 : : E_V2SFmode) != 0
7751 : : || !
7752 : : #line 1366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7753 : : (TARGET_MMX_WITH_SSE))
7754 : : return -1;
7755 : : return 2087; /* *mmx_andnotv2sf3 */
7756 : :
7757 : : case E_V2BFmode:
7758 : : if (pattern598 (x2,
7759 : : E_V2BFmode) != 0
7760 : : || !
7761 : : #line 2591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7762 : : (TARGET_SSE))
7763 : : return -1;
7764 : : return 2118; /* *mmx_andnotv2bf3 */
7765 : :
7766 : : case E_V4BFmode:
7767 : : if (pattern598 (x2,
7768 : : E_V4BFmode) != 0
7769 : : || !(
7770 : : #line 2591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7771 : : (TARGET_SSE) &&
7772 : : #line 2247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7773 : : (TARGET_MMX_WITH_SSE)))
7774 : : return -1;
7775 : : return 2119; /* *mmx_andnotv4bf3 */
7776 : :
7777 : : case E_V2HFmode:
7778 : : if (pattern598 (x2,
7779 : : E_V2HFmode) != 0
7780 : : || !
7781 : : #line 2591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7782 : : (TARGET_SSE))
7783 : : return -1;
7784 : : return 2120; /* *mmx_andnotv2hf3 */
7785 : :
7786 : : case E_V4HFmode:
7787 : : if (pattern598 (x2,
7788 : : E_V4HFmode) != 0
7789 : : || !(
7790 : : #line 2591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7791 : : (TARGET_SSE) &&
7792 : : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7793 : : (TARGET_MMX_WITH_SSE)))
7794 : : return -1;
7795 : : return 2121; /* *mmx_andnotv4hf3 */
7796 : :
7797 : : case E_V8QImode:
7798 : : if (pattern599 (x2,
7799 : : E_V8QImode) != 0
7800 : : || !
7801 : : #line 4615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7802 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7803 : : return -1;
7804 : : return 2279; /* mmx_andnotv8qi3 */
7805 : :
7806 : : case E_V4HImode:
7807 : : if (pattern599 (x2,
7808 : : E_V4HImode) != 0
7809 : : || !
7810 : : #line 4615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7811 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7812 : : return -1;
7813 : : return 2280; /* mmx_andnotv4hi3 */
7814 : :
7815 : : case E_V2SImode:
7816 : : if (pattern599 (x2,
7817 : : E_V2SImode) != 0
7818 : : || !
7819 : : #line 4615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7820 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7821 : : return -1;
7822 : : return 2281; /* mmx_andnotv2si3 */
7823 : :
7824 : : case E_V4QImode:
7825 : : if (pnum_clobbers == NULL
7826 : : || pattern598 (x2,
7827 : : E_V4QImode) != 0)
7828 : : return -1;
7829 : : *pnum_clobbers = 1;
7830 : : return 2282; /* *andnotv4qi3 */
7831 : :
7832 : : case E_V2QImode:
7833 : : if (pnum_clobbers == NULL
7834 : : || pattern598 (x2,
7835 : : E_V2QImode) != 0)
7836 : : return -1;
7837 : : *pnum_clobbers = 1;
7838 : : return 2283; /* *andnotv2qi3 */
7839 : :
7840 : : case E_V2HImode:
7841 : : if (pnum_clobbers == NULL
7842 : : || pattern598 (x2,
7843 : : E_V2HImode) != 0)
7844 : : return -1;
7845 : : *pnum_clobbers = 1;
7846 : : return 2284; /* *andnotv2hi3 */
7847 : :
7848 : : case E_BFmode:
7849 : : if (pattern598 (x2,
7850 : : E_BFmode) != 0
7851 : : || !
7852 : : #line 5593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7853 : : (TARGET_SSE))
7854 : : return -1;
7855 : : return 3765; /* *andnotbf3 */
7856 : :
7857 : : case E_HFmode:
7858 : : if (pattern598 (x2,
7859 : : E_HFmode) != 0
7860 : : || !
7861 : : #line 5593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7862 : : (TARGET_SSE))
7863 : : return -1;
7864 : : return 3766; /* *andnothf3 */
7865 : :
7866 : : case E_SFmode:
7867 : : if (pattern598 (x2,
7868 : : E_SFmode) != 0
7869 : : || !
7870 : : #line 5593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7871 : : (TARGET_SSE))
7872 : : return -1;
7873 : : return 3767; /* *andnotsf3 */
7874 : :
7875 : : case E_DFmode:
7876 : : if (pattern598 (x2,
7877 : : E_DFmode) != 0
7878 : : || !(
7879 : : #line 5593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7880 : : (TARGET_SSE) &&
7881 : : #line 1353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7882 : : (TARGET_SSE2)))
7883 : : return -1;
7884 : : return 3768; /* *andnotdf3 */
7885 : :
7886 : : case E_TFmode:
7887 : : if (pattern600 (x2,
7888 : : E_TFmode) != 0
7889 : : || !
7890 : : #line 5663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7891 : : (TARGET_SSE))
7892 : : return -1;
7893 : : return 3769; /* *andnottf3 */
7894 : :
7895 : : default:
7896 : : return -1;
7897 : : }
7898 : : }
7899 : :
7900 : : int
7901 : : recog_44 (rtx x1 ATTRIBUTE_UNUSED,
7902 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7903 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7904 : : {
7905 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7906 : : rtx x2, x3, x4;
7907 : : int res ATTRIBUTE_UNUSED;
7908 : : x2 = XEXP (x1, 0);
7909 : : operands[0] = x2;
7910 : : x3 = XEXP (x1, 1);
7911 : : x4 = XEXP (x3, 0);
7912 : : operands[1] = x4;
7913 : : switch (GET_MODE (operands[0]))
7914 : : {
7915 : : case E_TImode:
7916 : : if (pattern253 (x3, pnum_clobbers,
7917 : : E_TImode) != 0
7918 : : || !(
7919 : : #line 14746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7920 : : (TARGET_CMOVE
7921 : : && ix86_pre_reload_split ()) &&
7922 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7923 : : (TARGET_64BIT)))
7924 : : return -1;
7925 : : *pnum_clobbers = 1;
7926 : : return 1000; /* *absti2_doubleword */
7927 : :
7928 : : case E_QImode:
7929 : : if (pattern253 (x3, pnum_clobbers,
7930 : : E_QImode) != 0
7931 : : || !
7932 : : #line 14833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7933 : : (TARGET_CMOVE
7934 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
7935 : : && ix86_pre_reload_split ()))
7936 : : return -1;
7937 : : *pnum_clobbers = 1;
7938 : : return 1003; /* *absqi2_1 */
7939 : :
7940 : : case E_HImode:
7941 : : if (pattern253 (x3, pnum_clobbers,
7942 : : E_HImode) != 0
7943 : : || !
7944 : : #line 14833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7945 : : (TARGET_CMOVE
7946 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
7947 : : && ix86_pre_reload_split ()))
7948 : : return -1;
7949 : : *pnum_clobbers = 1;
7950 : : return 1004; /* *abshi2_1 */
7951 : :
7952 : : case E_SFmode:
7953 : : if (!register_operand (operands[0], E_SFmode)
7954 : : || GET_MODE (x3) != E_SFmode
7955 : : || !register_operand (operands[1], E_SFmode))
7956 : : return -1;
7957 : : if (pnum_clobbers != NULL
7958 : : &&
7959 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7960 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
7961 : : {
7962 : : *pnum_clobbers = 1;
7963 : : return 1014; /* *abssf2_i387_1 */
7964 : : }
7965 : : if (!
7966 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7967 : : (TARGET_80387 && reload_completed))
7968 : : return -1;
7969 : : return 1028; /* *abssf2_i387 */
7970 : :
7971 : : case E_DFmode:
7972 : : if (!register_operand (operands[0], E_DFmode)
7973 : : || GET_MODE (x3) != E_DFmode
7974 : : || !register_operand (operands[1], E_DFmode))
7975 : : return -1;
7976 : : if (pnum_clobbers != NULL
7977 : : &&
7978 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7979 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
7980 : : {
7981 : : *pnum_clobbers = 1;
7982 : : return 1016; /* *absdf2_i387_1 */
7983 : : }
7984 : : if (!
7985 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7986 : : (TARGET_80387 && reload_completed))
7987 : : return -1;
7988 : : return 1030; /* *absdf2_i387 */
7989 : :
7990 : : case E_XFmode:
7991 : : if (!register_operand (operands[0], E_XFmode)
7992 : : || GET_MODE (x3) != E_XFmode
7993 : : || !register_operand (operands[1], E_XFmode))
7994 : : return -1;
7995 : : if (pnum_clobbers != NULL
7996 : : &&
7997 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7998 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
7999 : : {
8000 : : *pnum_clobbers = 1;
8001 : : return 1018; /* *absxf2_i387_1 */
8002 : : }
8003 : : if (!
8004 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8005 : : (TARGET_80387 && reload_completed))
8006 : : return -1;
8007 : : return 1032; /* *absxf2_i387 */
8008 : :
8009 : : case E_V8QImode:
8010 : : if (!register_operand (operands[0], E_V8QImode)
8011 : : || GET_MODE (x3) != E_V8QImode
8012 : : || !register_mmxmem_operand (operands[1], E_V8QImode)
8013 : : || !
8014 : : #line 3837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8015 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8016 : : return -1;
8017 : : return 2203; /* ssse3_absv8qi2 */
8018 : :
8019 : : case E_V4HImode:
8020 : : if (!register_operand (operands[0], E_V4HImode)
8021 : : || GET_MODE (x3) != E_V4HImode
8022 : : || !register_mmxmem_operand (operands[1], E_V4HImode)
8023 : : || !
8024 : : #line 3837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8025 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8026 : : return -1;
8027 : : return 2204; /* ssse3_absv4hi2 */
8028 : :
8029 : : case E_V2SImode:
8030 : : if (!register_operand (operands[0], E_V2SImode)
8031 : : || GET_MODE (x3) != E_V2SImode
8032 : : || !register_mmxmem_operand (operands[1], E_V2SImode)
8033 : : || !
8034 : : #line 3837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8035 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8036 : : return -1;
8037 : : return 2205; /* ssse3_absv2si2 */
8038 : :
8039 : : case E_V4QImode:
8040 : : if (!register_operand (operands[0], E_V4QImode)
8041 : : || GET_MODE (x3) != E_V4QImode
8042 : : || !register_operand (operands[1], E_V4QImode)
8043 : : || !
8044 : : #line 3858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8045 : : (TARGET_SSSE3))
8046 : : return -1;
8047 : : return 2206; /* absv4qi2 */
8048 : :
8049 : : case E_V2QImode:
8050 : : if (!register_operand (operands[0], E_V2QImode)
8051 : : || GET_MODE (x3) != E_V2QImode
8052 : : || !register_operand (operands[1], E_V2QImode)
8053 : : || !
8054 : : #line 3858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8055 : : (TARGET_SSSE3))
8056 : : return -1;
8057 : : return 2207; /* absv2qi2 */
8058 : :
8059 : : case E_V2HImode:
8060 : : if (!register_operand (operands[0], E_V2HImode)
8061 : : || GET_MODE (x3) != E_V2HImode
8062 : : || !register_operand (operands[1], E_V2HImode)
8063 : : || !
8064 : : #line 3858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8065 : : (TARGET_SSSE3))
8066 : : return -1;
8067 : : return 2208; /* absv2hi2 */
8068 : :
8069 : : default:
8070 : : return -1;
8071 : : }
8072 : : }
8073 : :
8074 : : int
8075 : : recog_48 (rtx x1 ATTRIBUTE_UNUSED,
8076 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8077 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8078 : : {
8079 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8080 : : rtx x2, x3, x4, x5, x6, x7;
8081 : : int res ATTRIBUTE_UNUSED;
8082 : : x2 = XEXP (x1, 1);
8083 : : x3 = XEXP (x2, 0);
8084 : : switch (GET_CODE (x3))
8085 : : {
8086 : : case ZERO_EXTRACT:
8087 : : if (pnum_clobbers == NULL)
8088 : : return -1;
8089 : : x4 = XEXP (x3, 1);
8090 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8091 : : return -1;
8092 : : x5 = XEXP (x2, 1);
8093 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8094 : : || !register_operand (operands[0], E_QImode)
8095 : : || GET_MODE (x2) != E_QImode)
8096 : : return -1;
8097 : : x6 = XEXP (x3, 0);
8098 : : operands[1] = x6;
8099 : : x7 = XEXP (x3, 2);
8100 : : operands[2] = x7;
8101 : : if (!register_operand (operands[2], E_QImode))
8102 : : return -1;
8103 : : switch (GET_MODE (x3))
8104 : : {
8105 : : case E_SImode:
8106 : : if (!register_operand (operands[1], E_SImode)
8107 : : || !
8108 : : #line 19537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8109 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
8110 : : return -1;
8111 : : *pnum_clobbers = 1;
8112 : : return 1444; /* *btsi_setncqi_2 */
8113 : :
8114 : : case E_DImode:
8115 : : if (!register_operand (operands[1], E_DImode)
8116 : : || !(
8117 : : #line 19537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8118 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
8119 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8120 : : (TARGET_64BIT)))
8121 : : return -1;
8122 : : *pnum_clobbers = 1;
8123 : : return 1445; /* *btdi_setncqi_2 */
8124 : :
8125 : : default:
8126 : : return -1;
8127 : : }
8128 : :
8129 : : case REG:
8130 : : case SUBREG:
8131 : : case MEM:
8132 : : operands[1] = x3;
8133 : : x5 = XEXP (x2, 1);
8134 : : operands[2] = x5;
8135 : : switch (GET_MODE (operands[0]))
8136 : : {
8137 : : case E_V8QImode:
8138 : : if (pattern6 (x2,
8139 : : E_V8QImode) != 0
8140 : : || !
8141 : : #line 4164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8142 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8143 : : && ix86_binary_operator_ok (EQ, V8QImode, operands)))
8144 : : return -1;
8145 : : return 2228; /* *mmx_eqv8qi3 */
8146 : :
8147 : : case E_V4HImode:
8148 : : if (pattern6 (x2,
8149 : : E_V4HImode) != 0
8150 : : || !
8151 : : #line 4164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8152 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8153 : : && ix86_binary_operator_ok (EQ, V4HImode, operands)))
8154 : : return -1;
8155 : : return 2229; /* *mmx_eqv4hi3 */
8156 : :
8157 : : case E_V2SImode:
8158 : : if (pattern6 (x2,
8159 : : E_V2SImode) != 0
8160 : : || !
8161 : : #line 4164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8162 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8163 : : && ix86_binary_operator_ok (EQ, V2SImode, operands)))
8164 : : return -1;
8165 : : return 2230; /* *mmx_eqv2si3 */
8166 : :
8167 : : case E_V4QImode:
8168 : : if (pattern5 (x2,
8169 : : E_V4QImode) != 0
8170 : : || !
8171 : : #line 4180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8172 : : (TARGET_SSE2))
8173 : : return -1;
8174 : : return 2231; /* *eqv4qi3 */
8175 : :
8176 : : case E_V2QImode:
8177 : : if (pattern5 (x2,
8178 : : E_V2QImode) != 0
8179 : : || !
8180 : : #line 4180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8181 : : (TARGET_SSE2))
8182 : : return -1;
8183 : : return 2232; /* *eqv2qi3 */
8184 : :
8185 : : case E_V2HImode:
8186 : : if (pattern5 (x2,
8187 : : E_V2HImode) != 0
8188 : : || !
8189 : : #line 4180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8190 : : (TARGET_SSE2))
8191 : : return -1;
8192 : : return 2233; /* *eqv2hi3 */
8193 : :
8194 : : default:
8195 : : return -1;
8196 : : }
8197 : :
8198 : : default:
8199 : : return -1;
8200 : : }
8201 : : }
8202 : :
8203 : : int
8204 : : recog_52 (rtx x1 ATTRIBUTE_UNUSED,
8205 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8206 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8207 : : {
8208 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8209 : : rtx x2, x3, x4, x5;
8210 : : int res ATTRIBUTE_UNUSED;
8211 : : x2 = XEXP (x1, 1);
8212 : : x3 = XEXP (x2, 1);
8213 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8214 : : return -1;
8215 : : x4 = XEXP (x1, 0);
8216 : : switch (GET_CODE (x4))
8217 : : {
8218 : : case REG:
8219 : : case SUBREG:
8220 : : case MEM:
8221 : : operands[0] = x4;
8222 : : switch (GET_MODE (operands[0]))
8223 : : {
8224 : : case E_HImode:
8225 : : if (!register_operand (operands[0], E_HImode)
8226 : : || !ix86_comparison_operator (operands[1], E_HImode))
8227 : : return -1;
8228 : : if (
8229 : : #line 19626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8230 : : (TARGET_APX_ZU))
8231 : : return 1448; /* *setcc_hi_zu */
8232 : : if (pnum_clobbers != NULL
8233 : : &&
8234 : : #line 19650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8235 : : (!TARGET_PARTIAL_REG_STALL
8236 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
8237 : : {
8238 : : *pnum_clobbers = 1;
8239 : : return 1452; /* *setcc_hi_1_and */
8240 : : }
8241 : : if (!
8242 : : #line 19667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8243 : : (!TARGET_APX_ZU && !TARGET_PARTIAL_REG_STALL
8244 : : && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))))
8245 : : return -1;
8246 : : return 1454; /* *setcc_hi_1_movzbl */
8247 : :
8248 : : case E_QImode:
8249 : : if (!nonimmediate_operand (operands[0], E_QImode)
8250 : : || !ix86_comparison_operator (operands[1], E_QImode))
8251 : : return -1;
8252 : : return 1456; /* *setcc_qi */
8253 : :
8254 : : default:
8255 : : return -1;
8256 : : }
8257 : :
8258 : : case STRICT_LOW_PART:
8259 : : x5 = XEXP (x4, 0);
8260 : : operands[0] = x5;
8261 : : if (!register_operand (operands[0], E_QImode)
8262 : : || !ix86_comparison_operator (operands[1], E_QImode))
8263 : : return -1;
8264 : : return 1457; /* *setcc_qi_slp */
8265 : :
8266 : : default:
8267 : : return -1;
8268 : : }
8269 : : }
8270 : :
8271 : : int
8272 : : recog_55 (rtx x1 ATTRIBUTE_UNUSED,
8273 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8274 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8275 : : {
8276 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8277 : : rtx x2;
8278 : : int res ATTRIBUTE_UNUSED;
8279 : : switch (pattern81 (x1, pnum_clobbers))
8280 : : {
8281 : : case 0:
8282 : : switch (GET_MODE (operands[0]))
8283 : : {
8284 : : case E_TImode:
8285 : : x2 = XEXP (x1, 1);
8286 : : if (pattern72 (x2, pnum_clobbers) != 0
8287 : : || !(
8288 : : #line 6474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8289 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
8290 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8291 : : (TARGET_64BIT)))
8292 : : return -1;
8293 : : *pnum_clobbers = 1;
8294 : : return 271; /* *addti3_doubleword */
8295 : :
8296 : : case E_HImode:
8297 : : x2 = XEXP (x1, 1);
8298 : : if (pattern73 (x2,
8299 : : E_HImode) != 0)
8300 : : return -1;
8301 : : if (
8302 : : #line 6822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8303 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
8304 : : && TARGET_APX_NF))
8305 : : return 301; /* *addhi_1_nf */
8306 : : if (pnum_clobbers == NULL
8307 : : || !
8308 : : #line 6822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8309 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
8310 : : && true))
8311 : : return -1;
8312 : : *pnum_clobbers = 1;
8313 : : return 302; /* *addhi_1 */
8314 : :
8315 : : case E_QImode:
8316 : : x2 = XEXP (x1, 1);
8317 : : if (pattern73 (x2,
8318 : : E_QImode) != 0)
8319 : : return -1;
8320 : : if (
8321 : : #line 6879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8322 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
8323 : : && TARGET_APX_NF))
8324 : : return 303; /* *addqi_1_nf */
8325 : : if (pnum_clobbers == NULL
8326 : : || !
8327 : : #line 6879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8328 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
8329 : : && true))
8330 : : return -1;
8331 : : *pnum_clobbers = 1;
8332 : : return 304; /* *addqi_1 */
8333 : :
8334 : : case E_HFmode:
8335 : : x2 = XEXP (x1, 1);
8336 : : if (pattern3 (x2,
8337 : : E_HFmode) != 0
8338 : : || !
8339 : : #line 23620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8340 : : (TARGET_AVX512FP16
8341 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8342 : : return -1;
8343 : : return 1682; /* *addhf */
8344 : :
8345 : : case E_V8QImode:
8346 : : x2 = XEXP (x1, 1);
8347 : : if (pattern6 (x2,
8348 : : E_V8QImode) != 0
8349 : : || !
8350 : : #line 3234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8351 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8352 : : && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
8353 : : return -1;
8354 : : return 2135; /* *mmx_addv8qi3 */
8355 : :
8356 : : case E_V4HImode:
8357 : : x2 = XEXP (x1, 1);
8358 : : if (pattern6 (x2,
8359 : : E_V4HImode) != 0
8360 : : || !
8361 : : #line 3234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8362 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8363 : : && ix86_binary_operator_ok (PLUS, V4HImode, operands)))
8364 : : return -1;
8365 : : return 2137; /* *mmx_addv4hi3 */
8366 : :
8367 : : case E_V2SImode:
8368 : : x2 = XEXP (x1, 1);
8369 : : if (pattern6 (x2,
8370 : : E_V2SImode) != 0
8371 : : || !
8372 : : #line 3234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8373 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8374 : : && ix86_binary_operator_ok (PLUS, V2SImode, operands)))
8375 : : return -1;
8376 : : return 2139; /* *mmx_addv2si3 */
8377 : :
8378 : : case E_V1DImode:
8379 : : x2 = XEXP (x1, 1);
8380 : : if (pattern6 (x2,
8381 : : E_V1DImode) != 0
8382 : : || !(
8383 : : #line 3234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8384 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8385 : : && ix86_binary_operator_ok (PLUS, V1DImode, operands)) &&
8386 : : #line 50 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8387 : : (TARGET_SSE2)))
8388 : : return -1;
8389 : : return 2141; /* *mmx_addv1di3 */
8390 : :
8391 : : case E_V4QImode:
8392 : : x2 = XEXP (x1, 1);
8393 : : if (pattern5 (x2,
8394 : : E_V4QImode) != 0
8395 : : || !
8396 : : #line 3250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8397 : : (TARGET_SSE2))
8398 : : return -1;
8399 : : return 2143; /* addv4qi3 */
8400 : :
8401 : : case E_V2HImode:
8402 : : x2 = XEXP (x1, 1);
8403 : : if (pattern5 (x2,
8404 : : E_V2HImode) != 0
8405 : : || !
8406 : : #line 3250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8407 : : (TARGET_SSE2))
8408 : : return -1;
8409 : : return 2145; /* addv2hi3 */
8410 : :
8411 : : case E_V2QImode:
8412 : : if (pnum_clobbers == NULL)
8413 : : return -1;
8414 : : x2 = XEXP (x1, 1);
8415 : : if (pattern5 (x2,
8416 : : E_V2QImode) != 0
8417 : : || !
8418 : : #line 3264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8419 : : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
8420 : : return -1;
8421 : : *pnum_clobbers = 1;
8422 : : return 2147; /* addv2qi3 */
8423 : :
8424 : : default:
8425 : : return -1;
8426 : : }
8427 : :
8428 : : case 1:
8429 : : if (!
8430 : : #line 6955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8431 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8432 : : return -1;
8433 : : *pnum_clobbers = 1;
8434 : : return 305; /* *addqi_1_slp */
8435 : :
8436 : : case 2:
8437 : : if (!
8438 : : #line 6955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8439 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8440 : : return -1;
8441 : : *pnum_clobbers = 1;
8442 : : return 306; /* *addhi_1_slp */
8443 : :
8444 : : default:
8445 : : return -1;
8446 : : }
8447 : : }
8448 : :
8449 : : int
8450 : : recog_63 (rtx x1 ATTRIBUTE_UNUSED,
8451 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8452 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8453 : : {
8454 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8455 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8456 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
8457 : : int res ATTRIBUTE_UNUSED;
8458 : : x2 = XEXP (x1, 0);
8459 : : operands[0] = x2;
8460 : : x3 = XEXP (x1, 1);
8461 : : x4 = XEXP (x3, 0);
8462 : : switch (GET_CODE (x4))
8463 : : {
8464 : : case PLUS:
8465 : : if (pattern95 (x3,
8466 : : E_V2SFmode,
8467 : : E_SFmode) != 0)
8468 : : return -1;
8469 : : x5 = XEXP (x3, 1);
8470 : : x6 = XEXP (x5, 0);
8471 : : x7 = XEXP (x6, 0);
8472 : : operands[2] = x7;
8473 : : if (!nonimmediate_operand (operands[2], E_V2SFmode)
8474 : : || pattern1843 (x3) != 0
8475 : : || !
8476 : : #line 1018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8477 : : (TARGET_3DNOW
8478 : : && INTVAL (operands[3]) != INTVAL (operands[4])
8479 : : && INTVAL (operands[5]) != INTVAL (operands[6])))
8480 : : return -1;
8481 : : return 2075; /* *mmx_haddv2sf3 */
8482 : :
8483 : : case MINUS:
8484 : : if (pattern96 (x4,
8485 : : E_SFmode) != 0
8486 : : || !register_operand (operands[0], E_V2SFmode)
8487 : : || GET_MODE (x3) != E_V2SFmode)
8488 : : return -1;
8489 : : x8 = XEXP (x4, 0);
8490 : : x9 = XEXP (x8, 0);
8491 : : operands[1] = x9;
8492 : : if (!register_operand (operands[1], E_V2SFmode))
8493 : : return -1;
8494 : : x5 = XEXP (x3, 1);
8495 : : if (GET_MODE (x5) != E_SFmode)
8496 : : return -1;
8497 : : x10 = XEXP (x4, 1);
8498 : : x11 = XEXP (x10, 0);
8499 : : if (!rtx_equal_p (x11, operands[1]))
8500 : : return -1;
8501 : : switch (GET_CODE (x5))
8502 : : {
8503 : : case MINUS:
8504 : : if (pattern1542 (x5,
8505 : : E_SFmode) != 0)
8506 : : return -1;
8507 : : x6 = XEXP (x5, 0);
8508 : : x7 = XEXP (x6, 0);
8509 : : operands[2] = x7;
8510 : : if (!nonimmediate_operand (operands[2], E_V2SFmode))
8511 : : return -1;
8512 : : x12 = XEXP (x5, 1);
8513 : : x13 = XEXP (x12, 0);
8514 : : if (!rtx_equal_p (x13, operands[2])
8515 : : || !
8516 : : #line 1066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8517 : : (TARGET_3DNOW_A))
8518 : : return -1;
8519 : : return 2077; /* mmx_hsubv2sf3 */
8520 : :
8521 : : case PLUS:
8522 : : x6 = XEXP (x5, 0);
8523 : : if (GET_CODE (x6) != VEC_SELECT
8524 : : || GET_MODE (x6) != E_SFmode)
8525 : : return -1;
8526 : : x14 = XEXP (x6, 1);
8527 : : if (GET_CODE (x14) != PARALLEL
8528 : : || XVECLEN (x14, 0) != 1)
8529 : : return -1;
8530 : : x12 = XEXP (x5, 1);
8531 : : if (GET_CODE (x12) != VEC_SELECT
8532 : : || GET_MODE (x12) != E_SFmode)
8533 : : return -1;
8534 : : x15 = XEXP (x12, 1);
8535 : : if (GET_CODE (x15) != PARALLEL
8536 : : || XVECLEN (x15, 0) != 1)
8537 : : return -1;
8538 : : x7 = XEXP (x6, 0);
8539 : : operands[2] = x7;
8540 : : if (!nonimmediate_operand (operands[2], E_V2SFmode))
8541 : : return -1;
8542 : : x16 = XVECEXP (x14, 0, 0);
8543 : : operands[3] = x16;
8544 : : if (!const_0_to_1_operand (operands[3], E_SImode))
8545 : : return -1;
8546 : : x17 = XVECEXP (x15, 0, 0);
8547 : : operands[4] = x17;
8548 : : if (!const_0_to_1_operand (operands[4], E_SImode))
8549 : : return -1;
8550 : : x13 = XEXP (x12, 0);
8551 : : if (!rtx_equal_p (x13, operands[2])
8552 : : || !
8553 : : #line 1128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8554 : : (TARGET_3DNOW_A
8555 : : && INTVAL (operands[3]) != INTVAL (operands[4])))
8556 : : return -1;
8557 : : return 2079; /* *mmx_haddsubv2sf3 */
8558 : :
8559 : : default:
8560 : : return -1;
8561 : : }
8562 : :
8563 : : case REG:
8564 : : case SUBREG:
8565 : : case MEM:
8566 : : operands[1] = x4;
8567 : : x5 = XEXP (x3, 1);
8568 : : operands[2] = x5;
8569 : : switch (GET_MODE (operands[0]))
8570 : : {
8571 : : case E_V2SFmode:
8572 : : if (!register_operand (operands[0], E_V2SFmode)
8573 : : || GET_MODE (x3) != E_V2SFmode
8574 : : || !nonimmediate_operand (operands[1], E_SFmode))
8575 : : return -1;
8576 : : if (nonimm_or_0_operand (operands[2], E_SFmode))
8577 : : {
8578 : : if (
8579 : : #line 1778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8580 : : (TARGET_MMX && !TARGET_SSE))
8581 : : return 2103; /* *mmx_concatv2sf */
8582 : : if (
8583 : : #line 11789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8584 : : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8585 : : return 5216; /* *vec_concatv2sf_sse4_1 */
8586 : : }
8587 : : if (!reg_or_0_operand (operands[2], E_SFmode)
8588 : : || !
8589 : : #line 11853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8590 : : (TARGET_SSE))
8591 : : return -1;
8592 : : return 5217; /* *vec_concatv2sf_sse */
8593 : :
8594 : : case E_V2SImode:
8595 : : if (!register_operand (operands[0], E_V2SImode)
8596 : : || GET_MODE (x3) != E_V2SImode
8597 : : || !nonimmediate_operand (operands[1], E_SImode))
8598 : : return -1;
8599 : : if (nonimm_or_0_operand (operands[2], E_SImode))
8600 : : {
8601 : : if (
8602 : : #line 5724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8603 : : (TARGET_MMX && !TARGET_SSE))
8604 : : return 2359; /* *mmx_concatv2si */
8605 : : if (
8606 : : #line 21534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8607 : : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8608 : : return 8432; /* *vec_concatv2si_sse4_1 */
8609 : : }
8610 : : if (!reg_or_0_operand (operands[2], E_SImode)
8611 : : || !
8612 : : #line 21583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8613 : : (TARGET_SSE && !TARGET_SSE4_1))
8614 : : return -1;
8615 : : return 8433; /* *vec_concatv2si */
8616 : :
8617 : : default:
8618 : : return -1;
8619 : : }
8620 : :
8621 : : case SS_TRUNCATE:
8622 : : x5 = XEXP (x3, 1);
8623 : : if (GET_CODE (x5) != SS_TRUNCATE)
8624 : : return -1;
8625 : : switch (pattern258 (x3))
8626 : : {
8627 : : case 0:
8628 : : if (!
8629 : : #line 4794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8630 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8631 : : return -1;
8632 : : return 2303; /* mmx_packsswb */
8633 : :
8634 : : case 1:
8635 : : if (!
8636 : : #line 4835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8637 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8638 : : return -1;
8639 : : return 2305; /* mmx_packssdw */
8640 : :
8641 : : default:
8642 : : return -1;
8643 : : }
8644 : :
8645 : : default:
8646 : : return -1;
8647 : : }
8648 : : }
8649 : :
8650 : : int
8651 : : recog_69 (rtx x1 ATTRIBUTE_UNUSED,
8652 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8653 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8654 : : {
8655 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8656 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8657 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
8658 : : rtx x18, x19;
8659 : : int res ATTRIBUTE_UNUSED;
8660 : : x2 = XEXP (x1, 0);
8661 : : operands[0] = x2;
8662 : : x3 = XEXP (x1, 1);
8663 : : x4 = XEXP (x3, 0);
8664 : : switch (GET_CODE (x4))
8665 : : {
8666 : : case LSHIFTRT:
8667 : : x5 = XEXP (x4, 1);
8668 : : if (GET_CODE (x5) != CONST_INT)
8669 : : return -1;
8670 : : x6 = XEXP (x4, 0);
8671 : : switch (GET_CODE (x6))
8672 : : {
8673 : : case MULT:
8674 : : if (XWINT (x5, 0) != 16L)
8675 : : return -1;
8676 : : x7 = XEXP (x6, 0);
8677 : : switch (GET_CODE (x7))
8678 : : {
8679 : : case SIGN_EXTEND:
8680 : : switch (pattern730 (x3,
8681 : : SIGN_EXTEND))
8682 : : {
8683 : : case 0:
8684 : : if (!
8685 : : #line 3470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8686 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8687 : : && ix86_binary_operator_ok (MULT, V4HImode, operands)))
8688 : : return -1;
8689 : : return 2172; /* *mmx_smulv4hi3_highpart */
8690 : :
8691 : : case 1:
8692 : : if (!
8693 : : #line 3539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8694 : : (TARGET_SSE2))
8695 : : return -1;
8696 : : return 2174; /* smulv2hi3_highpart */
8697 : :
8698 : : default:
8699 : : return -1;
8700 : : }
8701 : :
8702 : : case ZERO_EXTEND:
8703 : : switch (pattern730 (x3,
8704 : : ZERO_EXTEND))
8705 : : {
8706 : : case 0:
8707 : : if (!
8708 : : #line 3505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8709 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8710 : : && (TARGET_SSE || TARGET_3DNOW_A)
8711 : : && ix86_binary_operator_ok (MULT, V4HImode, operands)))
8712 : : return -1;
8713 : : return 2173; /* *mmx_umulv4hi3_highpart */
8714 : :
8715 : : case 1:
8716 : : if (!
8717 : : #line 3539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8718 : : (TARGET_SSE2))
8719 : : return -1;
8720 : : return 2175; /* umulv2hi3_highpart */
8721 : :
8722 : : default:
8723 : : return -1;
8724 : : }
8725 : :
8726 : : default:
8727 : : return -1;
8728 : : }
8729 : :
8730 : : case PLUS:
8731 : : x7 = XEXP (x6, 0);
8732 : : switch (GET_CODE (x7))
8733 : : {
8734 : : case MULT:
8735 : : if (GET_MODE (x7) != E_V4SImode)
8736 : : return -1;
8737 : : x8 = XEXP (x7, 0);
8738 : : if (GET_CODE (x8) != SIGN_EXTEND
8739 : : || GET_MODE (x8) != E_V4SImode)
8740 : : return -1;
8741 : : x9 = XEXP (x7, 1);
8742 : : if (GET_CODE (x9) != SIGN_EXTEND
8743 : : || GET_MODE (x9) != E_V4SImode)
8744 : : return -1;
8745 : : x10 = XEXP (x6, 1);
8746 : : if (GET_CODE (x10) != CONST_VECTOR
8747 : : || XVECLEN (x10, 0) != 4
8748 : : || GET_MODE (x10) != E_V4SImode)
8749 : : return -1;
8750 : : x11 = XVECEXP (x10, 0, 0);
8751 : : if (GET_CODE (x11) != CONST_INT
8752 : : || XWINT (x11, 0) != 32768L)
8753 : : return -1;
8754 : : x12 = XVECEXP (x10, 0, 1);
8755 : : if (GET_CODE (x12) != CONST_INT
8756 : : || XWINT (x12, 0) != 32768L)
8757 : : return -1;
8758 : : x13 = XVECEXP (x10, 0, 2);
8759 : : if (GET_CODE (x13) != CONST_INT
8760 : : || XWINT (x13, 0) != 32768L)
8761 : : return -1;
8762 : : x14 = XVECEXP (x10, 0, 3);
8763 : : if (GET_CODE (x14) != CONST_INT
8764 : : || XWINT (x14, 0) != 32768L
8765 : : || XWINT (x5, 0) != 16L
8766 : : || !register_operand (operands[0], E_V4HImode)
8767 : : || GET_MODE (x3) != E_V4HImode
8768 : : || GET_MODE (x4) != E_V4SImode
8769 : : || GET_MODE (x6) != E_V4SImode)
8770 : : return -1;
8771 : : x15 = XEXP (x8, 0);
8772 : : operands[1] = x15;
8773 : : if (!nonimmediate_operand (operands[1], E_V4HImode))
8774 : : return -1;
8775 : : x16 = XEXP (x9, 0);
8776 : : operands[2] = x16;
8777 : : if (!nonimmediate_operand (operands[2], E_V4HImode)
8778 : : || !
8779 : : #line 3628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8780 : : (TARGET_3DNOW && ix86_binary_operator_ok (MULT, V4HImode, operands)))
8781 : : return -1;
8782 : : return 2177; /* *mmx_pmulhrwv4hi3 */
8783 : :
8784 : : case PLUS:
8785 : : x8 = XEXP (x7, 0);
8786 : : if (GET_CODE (x8) != ZERO_EXTEND)
8787 : : return -1;
8788 : : x9 = XEXP (x7, 1);
8789 : : if (GET_CODE (x9) != ZERO_EXTEND)
8790 : : return -1;
8791 : : x10 = XEXP (x6, 1);
8792 : : if (GET_CODE (x10) != CONST_VECTOR
8793 : : || XWINT (x5, 0) != 1L)
8794 : : return -1;
8795 : : x15 = XEXP (x8, 0);
8796 : : operands[1] = x15;
8797 : : x16 = XEXP (x9, 0);
8798 : : operands[2] = x16;
8799 : : switch (XVECLEN (x10, 0))
8800 : : {
8801 : : case 8:
8802 : : if (pattern1348 (x10,
8803 : : E_V8HImode) != 0
8804 : : || pattern1628 (x3,
8805 : : E_V8QImode,
8806 : : E_V8HImode) != 0
8807 : : || !
8808 : : #line 6355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8809 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8810 : : && (TARGET_SSE || TARGET_3DNOW)
8811 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8812 : : return -1;
8813 : : return 2389; /* *mmx_uavgv8qi3 */
8814 : :
8815 : : case 4:
8816 : : x11 = XVECEXP (x10, 0, 0);
8817 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8818 : : return -1;
8819 : : x12 = XVECEXP (x10, 0, 1);
8820 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8821 : : return -1;
8822 : : x13 = XVECEXP (x10, 0, 2);
8823 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8824 : : return -1;
8825 : : x14 = XVECEXP (x10, 0, 3);
8826 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8827 : : return -1;
8828 : : switch (GET_MODE (operands[0]))
8829 : : {
8830 : : case E_V4HImode:
8831 : : if (pattern1628 (x3,
8832 : : E_V4HImode,
8833 : : E_V4SImode) != 0
8834 : : || GET_MODE (x10) != E_V4SImode
8835 : : || !
8836 : : #line 6399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8837 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8838 : : && (TARGET_SSE || TARGET_3DNOW_A)
8839 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8840 : : return -1;
8841 : : return 2390; /* *mmx_uavgv4hi3 */
8842 : :
8843 : : case E_V4QImode:
8844 : : if (pattern1525 (x3,
8845 : : E_V4HImode,
8846 : : E_V4QImode) != 0
8847 : : || !
8848 : : #line 6439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8849 : : (TARGET_SSE2))
8850 : : return -1;
8851 : : return 2391; /* uavgv4qi3_ceil */
8852 : :
8853 : : default:
8854 : : return -1;
8855 : : }
8856 : :
8857 : : case 2:
8858 : : x11 = XVECEXP (x10, 0, 0);
8859 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8860 : : return -1;
8861 : : x12 = XVECEXP (x10, 0, 1);
8862 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8863 : : return -1;
8864 : : switch (GET_MODE (operands[0]))
8865 : : {
8866 : : case E_V2QImode:
8867 : : if (pattern1525 (x3,
8868 : : E_V2HImode,
8869 : : E_V2QImode) != 0
8870 : : || !
8871 : : #line 6459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8872 : : (TARGET_SSE2))
8873 : : return -1;
8874 : : return 2392; /* uavgv2qi3_ceil */
8875 : :
8876 : : case E_V2HImode:
8877 : : if (pattern1525 (x3,
8878 : : E_V2SImode,
8879 : : E_V2HImode) != 0
8880 : : || !
8881 : : #line 6479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8882 : : (TARGET_SSE2))
8883 : : return -1;
8884 : : return 2393; /* uavgv2hi3_ceil */
8885 : :
8886 : : default:
8887 : : return -1;
8888 : : }
8889 : :
8890 : : default:
8891 : : return -1;
8892 : : }
8893 : :
8894 : : case LSHIFTRT:
8895 : : if (pattern604 (x7) != 0
8896 : : || XWINT (x5, 0) != 1L)
8897 : : return -1;
8898 : : x8 = XEXP (x7, 0);
8899 : : x15 = XEXP (x8, 0);
8900 : : x17 = XEXP (x15, 0);
8901 : : operands[1] = x17;
8902 : : x18 = XEXP (x8, 1);
8903 : : x19 = XEXP (x18, 0);
8904 : : operands[2] = x19;
8905 : : x10 = XEXP (x6, 1);
8906 : : operands[3] = x10;
8907 : : switch (GET_MODE (operands[0]))
8908 : : {
8909 : : case E_V4HImode:
8910 : : if (pattern1500 (x3,
8911 : : E_V4SImode,
8912 : : E_V4HImode) != 0
8913 : : || !register_mmxmem_operand (operands[1], E_V4HImode)
8914 : : || GET_MODE (x18) != E_V4SImode
8915 : : || !register_mmxmem_operand (operands[2], E_V4HImode)
8916 : : || !const1_operand (operands[3], E_V4HImode)
8917 : : || !
8918 : : #line 23099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8919 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8920 : : && TARGET_SSSE3
8921 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8922 : : return -1;
8923 : : return 8575; /* *ssse3_pmulhrswv4hi3 */
8924 : :
8925 : : case E_V2HImode:
8926 : : if (pattern1500 (x3,
8927 : : E_V2SImode,
8928 : : E_V2HImode) != 0
8929 : : || !register_operand (operands[1], E_V2HImode)
8930 : : || GET_MODE (x18) != E_V2SImode
8931 : : || !register_operand (operands[2], E_V2HImode)
8932 : : || !const1_operand (operands[3], E_V2HImode)
8933 : : || !
8934 : : #line 23144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8935 : : (TARGET_SSSE3
8936 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8937 : : return -1;
8938 : : return 8576; /* *smulhrsv2hi3 */
8939 : :
8940 : : default:
8941 : : return -1;
8942 : : }
8943 : :
8944 : : default:
8945 : : return -1;
8946 : : }
8947 : :
8948 : : default:
8949 : : return -1;
8950 : : }
8951 : :
8952 : : case REG:
8953 : : case SUBREG:
8954 : : operands[1] = x4;
8955 : : switch (GET_MODE (operands[0]))
8956 : : {
8957 : : case E_V4QImode:
8958 : : if (GET_MODE (x3) != E_V4QImode)
8959 : : return -1;
8960 : : if (register_operand (operands[0], E_V4QImode)
8961 : : && register_operand (operands[1], E_V4HImode)
8962 : : && (
8963 : : #line 5167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8964 : : (TARGET_AVX512VL && TARGET_AVX512BW) &&
8965 : : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8966 : : (TARGET_MMX_WITH_SSE)))
8967 : : return 2323; /* avx512vl_truncv4hiv4qi2 */
8968 : : if (!memory_operand (operands[0], E_V4QImode))
8969 : : return -1;
8970 : : switch (GET_MODE (operands[1]))
8971 : : {
8972 : : case E_V4SImode:
8973 : : if (!register_operand (operands[1], E_V4SImode)
8974 : : || !
8975 : : #line 15527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8976 : : (TARGET_AVX512VL))
8977 : : return -1;
8978 : : return 7264; /* *avx512vl_truncatev4siv4qi2_store_1 */
8979 : :
8980 : : case E_V4DImode:
8981 : : if (!register_operand (operands[1], E_V4DImode)
8982 : : || !
8983 : : #line 15527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8984 : : (TARGET_AVX512VL))
8985 : : return -1;
8986 : : return 7267; /* *avx512vl_truncatev4div4qi2_store_1 */
8987 : :
8988 : : default:
8989 : : return -1;
8990 : : }
8991 : :
8992 : : case E_V2QImode:
8993 : : if (GET_MODE (x3) != E_V2QImode)
8994 : : return -1;
8995 : : if (register_operand (operands[0], E_V2QImode))
8996 : : {
8997 : : switch (GET_MODE (operands[1]))
8998 : : {
8999 : : case E_V2HImode:
9000 : : if (register_operand (operands[1], E_V2HImode)
9001 : : &&
9002 : : #line 5167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9003 : : (TARGET_AVX512VL && TARGET_AVX512BW))
9004 : : return 2324; /* avx512vl_truncv2hiv2qi2 */
9005 : : break;
9006 : :
9007 : : case E_V2SImode:
9008 : : if (register_operand (operands[1], E_V2SImode)
9009 : : &&
9010 : : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9011 : : (TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
9012 : : return 2325; /* avx512vl_truncv2siv2qi2 */
9013 : : break;
9014 : :
9015 : : default:
9016 : : break;
9017 : : }
9018 : : }
9019 : : if (!memory_operand (operands[0], E_V2QImode)
9020 : : || !register_operand (operands[1], E_V2DImode)
9021 : : || !
9022 : : #line 15432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9023 : : (TARGET_AVX512VL))
9024 : : return -1;
9025 : : return 7249; /* *avx512vl_truncatev2div2qi2_store_1 */
9026 : :
9027 : : case E_V2HImode:
9028 : : if (GET_MODE (x3) != E_V2HImode)
9029 : : return -1;
9030 : : if (register_operand (operands[0], E_V2HImode)
9031 : : && register_operand (operands[1], E_V2SImode)
9032 : : &&
9033 : : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9034 : : (TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
9035 : : return 2326; /* avx512vl_truncv2siv2hi2 */
9036 : : if (!memory_operand (operands[0], E_V2HImode)
9037 : : || !register_operand (operands[1], E_V2DImode)
9038 : : || !
9039 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9040 : : (TARGET_AVX512VL))
9041 : : return -1;
9042 : : return 7364; /* *avx512vl_truncatev2div2hi2_store_1 */
9043 : :
9044 : : case E_V8QImode:
9045 : : switch (pattern10 (x3))
9046 : : {
9047 : : case 0:
9048 : : if (!(
9049 : : #line 15625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9050 : : (TARGET_AVX512VL) &&
9051 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9052 : : (TARGET_AVX512BW)))
9053 : : return -1;
9054 : : return 7294; /* *avx512vl_truncatev8hiv8qi2_store_1 */
9055 : :
9056 : : case 1:
9057 : : if (!
9058 : : #line 15625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9059 : : (TARGET_AVX512VL))
9060 : : return -1;
9061 : : return 7297; /* *avx512vl_truncatev8siv8qi2_store_1 */
9062 : :
9063 : : case 2:
9064 : : if (!
9065 : : #line 16141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9066 : : (TARGET_AVX512F))
9067 : : return -1;
9068 : : return 7401; /* *avx512f_truncatev8div16qi2_store_1 */
9069 : :
9070 : : default:
9071 : : return -1;
9072 : : }
9073 : :
9074 : : case E_V4HImode:
9075 : : switch (pattern9 (x3,
9076 : : E_V4HImode))
9077 : : {
9078 : : case 0:
9079 : : if (!
9080 : : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9081 : : (TARGET_AVX512VL))
9082 : : return -1;
9083 : : return 7334; /* *avx512vl_truncatev4siv4hi2_store_1 */
9084 : :
9085 : : case 1:
9086 : : if (!
9087 : : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9088 : : (TARGET_AVX512VL))
9089 : : return -1;
9090 : : return 7337; /* *avx512vl_truncatev4div4hi2_store_1 */
9091 : :
9092 : : default:
9093 : : return -1;
9094 : : }
9095 : :
9096 : : case E_V2SImode:
9097 : : if (!memory_operand (operands[0], E_V2SImode)
9098 : : || GET_MODE (x3) != E_V2SImode
9099 : : || !register_operand (operands[1], E_V2DImode)
9100 : : || !
9101 : : #line 16028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9102 : : (TARGET_AVX512VL))
9103 : : return -1;
9104 : : return 7383; /* *avx512vl_truncatev2div2si2_store_1 */
9105 : :
9106 : : default:
9107 : : return -1;
9108 : : }
9109 : :
9110 : : default:
9111 : : return -1;
9112 : : }
9113 : : }
9114 : :
9115 : : int
9116 : : recog_79 (rtx x1 ATTRIBUTE_UNUSED,
9117 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9118 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9119 : : {
9120 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9121 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9122 : : rtx x10, x11, x12, x13;
9123 : : int res ATTRIBUTE_UNUSED;
9124 : : x2 = XEXP (x1, 0);
9125 : : operands[0] = x2;
9126 : : x3 = XEXP (x1, 1);
9127 : : x4 = XEXP (x3, 0);
9128 : : switch (GET_CODE (x4))
9129 : : {
9130 : : case PLUS:
9131 : : return recog_74 (x1, insn, pnum_clobbers);
9132 : :
9133 : : case MINUS:
9134 : : return recog_76 (x1, insn, pnum_clobbers);
9135 : :
9136 : : case MULT:
9137 : : x5 = XEXP (x4, 0);
9138 : : operands[1] = x5;
9139 : : x6 = XEXP (x4, 1);
9140 : : operands[2] = x6;
9141 : : switch (GET_MODE (operands[0]))
9142 : : {
9143 : : case E_SImode:
9144 : : if (!register_operand (operands[0], E_SImode)
9145 : : || GET_MODE (x3) != E_SImode
9146 : : || GET_MODE (x4) != E_HImode
9147 : : || !nonimmediate_operand (operands[1], E_HImode)
9148 : : || !immediate_operand (operands[2], E_HImode))
9149 : : return -1;
9150 : : if (
9151 : : #line 10806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9152 : : (TARGET_APX_ZU && TARGET_APX_NF))
9153 : : return 600; /* *imulhisizu_nf */
9154 : : if (pnum_clobbers == NULL
9155 : : || !
9156 : : #line 10806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9157 : : (TARGET_APX_ZU && true))
9158 : : return -1;
9159 : : *pnum_clobbers = 1;
9160 : : return 601; /* *imulhisizu */
9161 : :
9162 : : case E_DImode:
9163 : : if (!register_operand (operands[0], E_DImode)
9164 : : || GET_MODE (x3) != E_DImode)
9165 : : return -1;
9166 : : switch (GET_MODE (x4))
9167 : : {
9168 : : case E_HImode:
9169 : : if (!nonimmediate_operand (operands[1], E_HImode)
9170 : : || !immediate_operand (operands[2], E_HImode))
9171 : : return -1;
9172 : : if (
9173 : : #line 10806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9174 : : (TARGET_APX_ZU && TARGET_APX_NF))
9175 : : return 602; /* *imulhidizu_nf */
9176 : : if (pnum_clobbers == NULL
9177 : : || !
9178 : : #line 10806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9179 : : (TARGET_APX_ZU && true))
9180 : : return -1;
9181 : : *pnum_clobbers = 1;
9182 : : return 603; /* *imulhidizu */
9183 : :
9184 : : case E_SImode:
9185 : : if (!nonimmediate_operand (operands[1], E_SImode)
9186 : : || !x86_64_general_operand (operands[2], E_SImode))
9187 : : return -1;
9188 : : if (
9189 : : #line 10818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9190 : : (TARGET_64BIT
9191 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
9192 : : && TARGET_APX_NF))
9193 : : return 604; /* *mulsi3_1_zext_nf */
9194 : : if (pnum_clobbers == NULL
9195 : : || !
9196 : : #line 10818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9197 : : (TARGET_64BIT
9198 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
9199 : : && true))
9200 : : return -1;
9201 : : *pnum_clobbers = 1;
9202 : : return 605; /* *mulsi3_1_zext */
9203 : :
9204 : : default:
9205 : : return -1;
9206 : : }
9207 : :
9208 : : default:
9209 : : return -1;
9210 : : }
9211 : :
9212 : : case SMUL_HIGHPART:
9213 : : if (pattern106 (x3, pnum_clobbers) != 0
9214 : : || !
9215 : : #line 11313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9216 : : (TARGET_64BIT))
9217 : : return -1;
9218 : : *pnum_clobbers = 2;
9219 : : return 635; /* *smulsi3_highpart_zext */
9220 : :
9221 : : case UMUL_HIGHPART:
9222 : : if (pattern106 (x3, pnum_clobbers) != 0
9223 : : || !
9224 : : #line 11313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9225 : : (TARGET_64BIT))
9226 : : return -1;
9227 : : *pnum_clobbers = 2;
9228 : : return 636; /* *umulsi3_highpart_zext */
9229 : :
9230 : : case TRUNCATE:
9231 : : if (pnum_clobbers == NULL
9232 : : || GET_MODE (x4) != E_SImode)
9233 : : return -1;
9234 : : x5 = XEXP (x4, 0);
9235 : : if (GET_CODE (x5) != LSHIFTRT
9236 : : || GET_MODE (x5) != E_DImode)
9237 : : return -1;
9238 : : x7 = XEXP (x5, 0);
9239 : : if (GET_CODE (x7) != MULT
9240 : : || GET_MODE (x7) != E_DImode)
9241 : : return -1;
9242 : : x8 = XEXP (x5, 1);
9243 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 32]
9244 : : || !register_operand (operands[0], E_DImode)
9245 : : || GET_MODE (x3) != E_DImode)
9246 : : return -1;
9247 : : x9 = XEXP (x7, 0);
9248 : : if (GET_MODE (x9) != E_DImode)
9249 : : return -1;
9250 : : x10 = XEXP (x7, 1);
9251 : : if (GET_MODE (x10) != E_DImode)
9252 : : return -1;
9253 : : switch (GET_CODE (x9))
9254 : : {
9255 : : case SIGN_EXTEND:
9256 : : if (GET_CODE (x10) != SIGN_EXTEND)
9257 : : return -1;
9258 : : x11 = XEXP (x9, 0);
9259 : : operands[1] = x11;
9260 : : if (!nonimmediate_operand (operands[1], E_SImode))
9261 : : return -1;
9262 : : x12 = XEXP (x10, 0);
9263 : : operands[2] = x12;
9264 : : if (!nonimmediate_operand (operands[2], E_SImode)
9265 : : || !
9266 : : #line 11361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9267 : : (TARGET_64BIT
9268 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9269 : : return -1;
9270 : : *pnum_clobbers = 2;
9271 : : return 639; /* *smulsi3_highpart_zext */
9272 : :
9273 : : case ZERO_EXTEND:
9274 : : if (GET_CODE (x10) != ZERO_EXTEND)
9275 : : return -1;
9276 : : x11 = XEXP (x9, 0);
9277 : : operands[1] = x11;
9278 : : if (!nonimmediate_operand (operands[1], E_SImode))
9279 : : return -1;
9280 : : x12 = XEXP (x10, 0);
9281 : : operands[2] = x12;
9282 : : if (!nonimmediate_operand (operands[2], E_SImode)
9283 : : || !
9284 : : #line 11361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9285 : : (TARGET_64BIT
9286 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9287 : : return -1;
9288 : : *pnum_clobbers = 2;
9289 : : return 640; /* *umulsi3_highpart_zext */
9290 : :
9291 : : default:
9292 : : return -1;
9293 : : }
9294 : :
9295 : : case AND:
9296 : : return recog_75 (x1, insn, pnum_clobbers);
9297 : :
9298 : : case IOR:
9299 : : switch (pattern108 (x3, pnum_clobbers))
9300 : : {
9301 : : case 0:
9302 : : if (
9303 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9304 : : (TARGET_APX_NDD && TARGET_APX_NF
9305 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9306 : : return 851; /* *iorqi_1_zextsi_nf */
9307 : : if (pnum_clobbers == NULL
9308 : : || !
9309 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9310 : : (TARGET_APX_NDD && true
9311 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9312 : : return -1;
9313 : : *pnum_clobbers = 1;
9314 : : return 852; /* *iorqi_1_zextsi */
9315 : :
9316 : : case 1:
9317 : : if (
9318 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9319 : : (TARGET_APX_NDD && TARGET_APX_NF
9320 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9321 : : return 859; /* *iorhi_1_zextsi_nf */
9322 : : if (pnum_clobbers == NULL
9323 : : || !
9324 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9325 : : (TARGET_APX_NDD && true
9326 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9327 : : return -1;
9328 : : *pnum_clobbers = 1;
9329 : : return 860; /* *iorhi_1_zextsi */
9330 : :
9331 : : case 2:
9332 : : if (
9333 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9334 : : (TARGET_APX_NDD && TARGET_APX_NF
9335 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9336 : : return 855; /* *iorqi_1_zextdi_nf */
9337 : : if (pnum_clobbers == NULL
9338 : : || !
9339 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9340 : : (TARGET_APX_NDD && true
9341 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9342 : : return -1;
9343 : : *pnum_clobbers = 1;
9344 : : return 856; /* *iorqi_1_zextdi */
9345 : :
9346 : : case 3:
9347 : : if (
9348 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9349 : : (TARGET_APX_NDD && TARGET_APX_NF
9350 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9351 : : return 863; /* *iorhi_1_zextdi_nf */
9352 : : if (pnum_clobbers == NULL
9353 : : || !
9354 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9355 : : (TARGET_APX_NDD && true
9356 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9357 : : return -1;
9358 : : *pnum_clobbers = 1;
9359 : : return 864; /* *iorhi_1_zextdi */
9360 : :
9361 : : case 4:
9362 : : if (!
9363 : : #line 13882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9364 : : (TARGET_64BIT
9365 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
9366 : : return -1;
9367 : : *pnum_clobbers = 1;
9368 : : return 867; /* *iorsi_1_zext */
9369 : :
9370 : : default:
9371 : : return -1;
9372 : : }
9373 : :
9374 : : case XOR:
9375 : : return recog_78 (x1, insn, pnum_clobbers);
9376 : :
9377 : : case NEG:
9378 : : x5 = XEXP (x4, 0);
9379 : : operands[1] = x5;
9380 : : switch (pattern269 (x3, pnum_clobbers))
9381 : : {
9382 : : case 0:
9383 : : if (
9384 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9385 : : (TARGET_APX_NDD && TARGET_APX_NF))
9386 : : return 968; /* *negqi_1_zextsi_nf */
9387 : : if (pnum_clobbers == NULL
9388 : : || !
9389 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9390 : : (TARGET_APX_NDD && true))
9391 : : return -1;
9392 : : *pnum_clobbers = 1;
9393 : : return 969; /* *negqi_1_zextsi */
9394 : :
9395 : : case 1:
9396 : : if (
9397 : : #line 14507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9398 : : (TARGET_APX_NDD && TARGET_APX_NF))
9399 : : return 972; /* *neghi_1_zextsi_nf */
9400 : : if (pnum_clobbers == NULL
9401 : : || !
9402 : : #line 14507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9403 : : (TARGET_APX_NDD && true))
9404 : : return -1;
9405 : : *pnum_clobbers = 1;
9406 : : return 973; /* *neghi_1_zextsi */
9407 : :
9408 : : case 2:
9409 : : if (
9410 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9411 : : (TARGET_APX_NDD && TARGET_APX_NF))
9412 : : return 970; /* *negqi_1_zextdi_nf */
9413 : : if (pnum_clobbers == NULL
9414 : : || !
9415 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9416 : : (TARGET_APX_NDD && true))
9417 : : return -1;
9418 : : *pnum_clobbers = 1;
9419 : : return 971; /* *negqi_1_zextdi */
9420 : :
9421 : : case 3:
9422 : : if (
9423 : : #line 14507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9424 : : (TARGET_APX_NDD && TARGET_APX_NF))
9425 : : return 974; /* *neghi_1_zextdi_nf */
9426 : : if (pnum_clobbers == NULL
9427 : : || !
9428 : : #line 14507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9429 : : (TARGET_APX_NDD && true))
9430 : : return -1;
9431 : : *pnum_clobbers = 1;
9432 : : return 975; /* *neghi_1_zextdi */
9433 : :
9434 : : case 4:
9435 : : if (!
9436 : : #line 14518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9437 : : (TARGET_64BIT
9438 : : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
9439 : : return -1;
9440 : : *pnum_clobbers = 1;
9441 : : return 976; /* *negsi_1_zext */
9442 : :
9443 : : default:
9444 : : return -1;
9445 : : }
9446 : :
9447 : : case NOT:
9448 : : x5 = XEXP (x4, 0);
9449 : : operands[1] = x5;
9450 : : switch (GET_MODE (operands[0]))
9451 : : {
9452 : : case E_SImode:
9453 : : switch (pattern268 (x3))
9454 : : {
9455 : : case 0:
9456 : : if (!
9457 : : #line 15148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9458 : : (TARGET_APX_NDD))
9459 : : return -1;
9460 : : return 1040; /* *one_cmplqi2_1_zextsi */
9461 : :
9462 : : case 1:
9463 : : if (!
9464 : : #line 15157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9465 : : (TARGET_APX_NDD))
9466 : : return -1;
9467 : : return 1042; /* *one_cmplhi2_1_zextsi */
9468 : :
9469 : : default:
9470 : : return -1;
9471 : : }
9472 : :
9473 : : case E_DImode:
9474 : : if (!register_operand (operands[0], E_DImode)
9475 : : || GET_MODE (x3) != E_DImode)
9476 : : return -1;
9477 : : switch (GET_MODE (x4))
9478 : : {
9479 : : case E_QImode:
9480 : : if (!nonimmediate_operand (operands[1], E_QImode)
9481 : : || !
9482 : : #line 15148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9483 : : (TARGET_APX_NDD))
9484 : : return -1;
9485 : : return 1041; /* *one_cmplqi2_1_zextdi */
9486 : :
9487 : : case E_HImode:
9488 : : if (!nonimmediate_operand (operands[1], E_HImode)
9489 : : || !
9490 : : #line 15157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9491 : : (TARGET_APX_NDD))
9492 : : return -1;
9493 : : return 1043; /* *one_cmplhi2_1_zextdi */
9494 : :
9495 : : case E_SImode:
9496 : : if (!nonimmediate_operand (operands[1], E_SImode)
9497 : : || !
9498 : : #line 15166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9499 : : (TARGET_64BIT
9500 : : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
9501 : : return -1;
9502 : : return 1044; /* *one_cmplsi2_1_zext */
9503 : :
9504 : : default:
9505 : : return -1;
9506 : : }
9507 : :
9508 : : default:
9509 : : return -1;
9510 : : }
9511 : :
9512 : : case ASHIFT:
9513 : : switch (pattern109 (x3))
9514 : : {
9515 : : case 0:
9516 : : if (register_operand (operands[2], E_SImode)
9517 : : &&
9518 : : #line 16137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9519 : : (TARGET_64BIT && TARGET_BMI2))
9520 : : return 1096; /* *bmi2_ashlsi3_1_zext */
9521 : : if (pnum_clobbers == NULL
9522 : : || !nonmemory_operand (operands[2], E_QImode)
9523 : : || !
9524 : : #line 16170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9525 : : (TARGET_64BIT
9526 : : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
9527 : : return -1;
9528 : : *pnum_clobbers = 1;
9529 : : return 1107; /* *ashlsi3_1_zext */
9530 : :
9531 : : case 1:
9532 : : if (
9533 : : #line 16147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9534 : : (TARGET_APX_NDD && TARGET_APX_NF))
9535 : : return 1101; /* *ashlqi3_1_zextdi_nf */
9536 : : if (pnum_clobbers == NULL
9537 : : || !
9538 : : #line 16147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9539 : : (TARGET_APX_NDD && true))
9540 : : return -1;
9541 : : *pnum_clobbers = 1;
9542 : : return 1102; /* *ashlqi3_1_zextdi */
9543 : :
9544 : : case 2:
9545 : : if (
9546 : : #line 16158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9547 : : (TARGET_APX_NDD && TARGET_APX_NF))
9548 : : return 1105; /* *ashlhi3_1_zextdi_nf */
9549 : : if (pnum_clobbers == NULL
9550 : : || !
9551 : : #line 16158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9552 : : (TARGET_APX_NDD && true))
9553 : : return -1;
9554 : : *pnum_clobbers = 1;
9555 : : return 1106; /* *ashlhi3_1_zextdi */
9556 : :
9557 : : case 3:
9558 : : if (
9559 : : #line 16147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9560 : : (TARGET_APX_NDD && TARGET_APX_NF))
9561 : : return 1099; /* *ashlqi3_1_zextsi_nf */
9562 : : if (pnum_clobbers == NULL
9563 : : || !
9564 : : #line 16147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9565 : : (TARGET_APX_NDD && true))
9566 : : return -1;
9567 : : *pnum_clobbers = 1;
9568 : : return 1100; /* *ashlqi3_1_zextsi */
9569 : :
9570 : : case 4:
9571 : : if (
9572 : : #line 16158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9573 : : (TARGET_APX_NDD && TARGET_APX_NF))
9574 : : return 1103; /* *ashlhi3_1_zextsi_nf */
9575 : : if (pnum_clobbers == NULL
9576 : : || !
9577 : : #line 16158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9578 : : (TARGET_APX_NDD && true))
9579 : : return -1;
9580 : : *pnum_clobbers = 1;
9581 : : return 1104; /* *ashlhi3_1_zextsi */
9582 : :
9583 : : default:
9584 : : return -1;
9585 : : }
9586 : :
9587 : : case ASHIFTRT:
9588 : : if (GET_MODE (x4) == E_SImode
9589 : : && register_operand (operands[0], E_DImode))
9590 : : {
9591 : : res = recog_72 (x1, insn, pnum_clobbers);
9592 : : if (res >= 0)
9593 : : return res;
9594 : : }
9595 : : x5 = XEXP (x4, 0);
9596 : : operands[1] = x5;
9597 : : switch (pattern270 (x3, pnum_clobbers))
9598 : : {
9599 : : case 0:
9600 : : if (
9601 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9602 : : (TARGET_APX_NDD && TARGET_APX_NF))
9603 : : return 1196; /* *ashrqi3_1_zextsi_nf */
9604 : : if (pnum_clobbers == NULL
9605 : : || !
9606 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9607 : : (TARGET_APX_NDD && true))
9608 : : return -1;
9609 : : *pnum_clobbers = 1;
9610 : : return 1197; /* *ashrqi3_1_zextsi */
9611 : :
9612 : : case 1:
9613 : : if (
9614 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9615 : : (TARGET_APX_NDD && TARGET_APX_NF))
9616 : : return 1204; /* *ashrhi3_1_zextsi_nf */
9617 : : if (pnum_clobbers == NULL
9618 : : || !
9619 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9620 : : (TARGET_APX_NDD && true))
9621 : : return -1;
9622 : : *pnum_clobbers = 1;
9623 : : return 1205; /* *ashrhi3_1_zextsi */
9624 : :
9625 : : case 2:
9626 : : if (
9627 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9628 : : (TARGET_APX_NDD && TARGET_APX_NF))
9629 : : return 1200; /* *ashrqi3_1_zextdi_nf */
9630 : : if (pnum_clobbers == NULL
9631 : : || !
9632 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9633 : : (TARGET_APX_NDD && true))
9634 : : return -1;
9635 : : *pnum_clobbers = 1;
9636 : : return 1201; /* *ashrqi3_1_zextdi */
9637 : :
9638 : : case 3:
9639 : : if (
9640 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9641 : : (TARGET_APX_NDD && TARGET_APX_NF))
9642 : : return 1208; /* *ashrhi3_1_zextdi_nf */
9643 : : if (pnum_clobbers == NULL
9644 : : || !
9645 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9646 : : (TARGET_APX_NDD && true))
9647 : : return -1;
9648 : : *pnum_clobbers = 1;
9649 : : return 1209; /* *ashrhi3_1_zextdi */
9650 : :
9651 : : case 4:
9652 : : if (!
9653 : : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9654 : : (TARGET_64BIT
9655 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
9656 : : return -1;
9657 : : *pnum_clobbers = 1;
9658 : : return 1211; /* *ashrsi3_1_zext */
9659 : :
9660 : : default:
9661 : : return -1;
9662 : : }
9663 : :
9664 : : case LSHIFTRT:
9665 : : switch (pattern109 (x3))
9666 : : {
9667 : : case 0:
9668 : : if (register_operand (operands[2], E_SImode)
9669 : : &&
9670 : : #line 17582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9671 : : (TARGET_64BIT && TARGET_BMI2))
9672 : : return 1188; /* *bmi2_lshrsi3_1_zext */
9673 : : if (pnum_clobbers == NULL
9674 : : || !nonmemory_operand (operands[2], E_QImode)
9675 : : || !
9676 : : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9677 : : (TARGET_64BIT
9678 : : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
9679 : : return -1;
9680 : : *pnum_clobbers = 1;
9681 : : return 1210; /* *lshrsi3_1_zext */
9682 : :
9683 : : case 1:
9684 : : if (
9685 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9686 : : (TARGET_APX_NDD && TARGET_APX_NF))
9687 : : return 1198; /* *lshrqi3_1_zextdi_nf */
9688 : : if (pnum_clobbers == NULL
9689 : : || !
9690 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9691 : : (TARGET_APX_NDD && true))
9692 : : return -1;
9693 : : *pnum_clobbers = 1;
9694 : : return 1199; /* *lshrqi3_1_zextdi */
9695 : :
9696 : : case 2:
9697 : : if (
9698 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9699 : : (TARGET_APX_NDD && TARGET_APX_NF))
9700 : : return 1206; /* *lshrhi3_1_zextdi_nf */
9701 : : if (pnum_clobbers == NULL
9702 : : || !
9703 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9704 : : (TARGET_APX_NDD && true))
9705 : : return -1;
9706 : : *pnum_clobbers = 1;
9707 : : return 1207; /* *lshrhi3_1_zextdi */
9708 : :
9709 : : case 3:
9710 : : if (
9711 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9712 : : (TARGET_APX_NDD && TARGET_APX_NF))
9713 : : return 1194; /* *lshrqi3_1_zextsi_nf */
9714 : : if (pnum_clobbers == NULL
9715 : : || !
9716 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9717 : : (TARGET_APX_NDD && true))
9718 : : return -1;
9719 : : *pnum_clobbers = 1;
9720 : : return 1195; /* *lshrqi3_1_zextsi */
9721 : :
9722 : : case 4:
9723 : : if (
9724 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9725 : : (TARGET_APX_NDD && TARGET_APX_NF))
9726 : : return 1202; /* *lshrhi3_1_zextsi_nf */
9727 : : if (pnum_clobbers == NULL
9728 : : || !
9729 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9730 : : (TARGET_APX_NDD && true))
9731 : : return -1;
9732 : : *pnum_clobbers = 1;
9733 : : return 1203; /* *lshrhi3_1_zextsi */
9734 : :
9735 : : default:
9736 : : return -1;
9737 : : }
9738 : :
9739 : : case ROTATERT:
9740 : : switch (pattern109 (x3))
9741 : : {
9742 : : case 0:
9743 : : if (const_0_to_31_operand (operands[2], E_QImode)
9744 : : &&
9745 : : #line 18713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9746 : : (TARGET_64BIT && TARGET_BMI2 && !optimize_function_for_size_p (cfun)))
9747 : : return 1354; /* *bmi2_rorxsi3_1_zext */
9748 : : if (pnum_clobbers == NULL
9749 : : || !nonmemory_operand (operands[2], E_QImode)
9750 : : || !
9751 : : #line 18746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9752 : : (TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
9753 : : return -1;
9754 : : *pnum_clobbers = 1;
9755 : : return 1376; /* *rotrsi3_1_zext */
9756 : :
9757 : : case 1:
9758 : : if (
9759 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9760 : : (TARGET_APX_NDD && TARGET_APX_NF))
9761 : : return 1365; /* *rotrqi3_1_zextdi_nf */
9762 : : if (pnum_clobbers == NULL
9763 : : || !
9764 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9765 : : (TARGET_APX_NDD && true))
9766 : : return -1;
9767 : : *pnum_clobbers = 1;
9768 : : return 1366; /* *rotrqi3_1_zextdi */
9769 : :
9770 : : case 2:
9771 : : if (
9772 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9773 : : (TARGET_APX_NDD && TARGET_APX_NF))
9774 : : return 1373; /* *rotrhi3_1_zextdi_nf */
9775 : : if (pnum_clobbers == NULL
9776 : : || !
9777 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9778 : : (TARGET_APX_NDD && true))
9779 : : return -1;
9780 : : *pnum_clobbers = 1;
9781 : : return 1374; /* *rotrhi3_1_zextdi */
9782 : :
9783 : : case 3:
9784 : : if (
9785 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9786 : : (TARGET_APX_NDD && TARGET_APX_NF))
9787 : : return 1361; /* *rotrqi3_1_zextsi_nf */
9788 : : if (pnum_clobbers == NULL
9789 : : || !
9790 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9791 : : (TARGET_APX_NDD && true))
9792 : : return -1;
9793 : : *pnum_clobbers = 1;
9794 : : return 1362; /* *rotrqi3_1_zextsi */
9795 : :
9796 : : case 4:
9797 : : if (
9798 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9799 : : (TARGET_APX_NDD && TARGET_APX_NF))
9800 : : return 1369; /* *rotrhi3_1_zextsi_nf */
9801 : : if (pnum_clobbers == NULL
9802 : : || !
9803 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9804 : : (TARGET_APX_NDD && true))
9805 : : return -1;
9806 : : *pnum_clobbers = 1;
9807 : : return 1370; /* *rotrhi3_1_zextsi */
9808 : :
9809 : : default:
9810 : : return -1;
9811 : : }
9812 : :
9813 : : case ROTATE:
9814 : : x5 = XEXP (x4, 0);
9815 : : operands[1] = x5;
9816 : : switch (pattern270 (x3, pnum_clobbers))
9817 : : {
9818 : : case 0:
9819 : : if (
9820 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9821 : : (TARGET_APX_NDD && TARGET_APX_NF))
9822 : : return 1359; /* *rotlqi3_1_zextsi_nf */
9823 : : if (pnum_clobbers == NULL
9824 : : || !
9825 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9826 : : (TARGET_APX_NDD && true))
9827 : : return -1;
9828 : : *pnum_clobbers = 1;
9829 : : return 1360; /* *rotlqi3_1_zextsi */
9830 : :
9831 : : case 1:
9832 : : if (
9833 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9834 : : (TARGET_APX_NDD && TARGET_APX_NF))
9835 : : return 1367; /* *rotlhi3_1_zextsi_nf */
9836 : : if (pnum_clobbers == NULL
9837 : : || !
9838 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9839 : : (TARGET_APX_NDD && true))
9840 : : return -1;
9841 : : *pnum_clobbers = 1;
9842 : : return 1368; /* *rotlhi3_1_zextsi */
9843 : :
9844 : : case 2:
9845 : : if (
9846 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9847 : : (TARGET_APX_NDD && TARGET_APX_NF))
9848 : : return 1363; /* *rotlqi3_1_zextdi_nf */
9849 : : if (pnum_clobbers == NULL
9850 : : || !
9851 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9852 : : (TARGET_APX_NDD && true))
9853 : : return -1;
9854 : : *pnum_clobbers = 1;
9855 : : return 1364; /* *rotlqi3_1_zextdi */
9856 : :
9857 : : case 3:
9858 : : if (
9859 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9860 : : (TARGET_APX_NDD && TARGET_APX_NF))
9861 : : return 1371; /* *rotlhi3_1_zextdi_nf */
9862 : : if (pnum_clobbers == NULL
9863 : : || !
9864 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9865 : : (TARGET_APX_NDD && true))
9866 : : return -1;
9867 : : *pnum_clobbers = 1;
9868 : : return 1372; /* *rotlhi3_1_zextdi */
9869 : :
9870 : : case 4:
9871 : : if (!
9872 : : #line 18746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9873 : : (TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
9874 : : return -1;
9875 : : *pnum_clobbers = 1;
9876 : : return 1375; /* *rotlsi3_1_zext */
9877 : :
9878 : : default:
9879 : : return -1;
9880 : : }
9881 : :
9882 : : case CTZ:
9883 : : if (pattern110 (x3, pnum_clobbers,
9884 : : E_SImode,
9885 : : E_DImode) != 0
9886 : : || !
9887 : : #line 21314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9888 : : (TARGET_64BIT))
9889 : : return -1;
9890 : : *pnum_clobbers = 1;
9891 : : return 1525; /* *ctzsidi2_uext */
9892 : :
9893 : : case CLZ:
9894 : : if (pattern110 (x3, pnum_clobbers,
9895 : : E_SImode,
9896 : : E_DImode) != 0
9897 : : || !
9898 : : #line 21750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9899 : : (TARGET_LZCNT && TARGET_64BIT))
9900 : : return -1;
9901 : : *pnum_clobbers = 1;
9902 : : return 1549; /* *clzsi2_lzcnt_zext_2 */
9903 : :
9904 : : case POPCOUNT:
9905 : : if (pnum_clobbers == NULL)
9906 : : return -1;
9907 : : x5 = XEXP (x4, 0);
9908 : : operands[1] = x5;
9909 : : switch (GET_MODE (operands[0]))
9910 : : {
9911 : : case E_DImode:
9912 : : if (pattern605 (x3,
9913 : : E_DImode,
9914 : : E_SImode) != 0
9915 : : || !
9916 : : #line 22587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9917 : : (TARGET_POPCNT && TARGET_64BIT))
9918 : : return -1;
9919 : : *pnum_clobbers = 1;
9920 : : return 1640; /* *popcountsi2_zext_2 */
9921 : :
9922 : : case E_SImode:
9923 : : if (pattern605 (x3,
9924 : : E_SImode,
9925 : : E_HImode) != 0
9926 : : || !
9927 : : #line 22653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9928 : : (TARGET_POPCNT
9929 : : && ix86_pre_reload_split ()))
9930 : : return -1;
9931 : : *pnum_clobbers = 1;
9932 : : return 1643; /* *popcounthi2_2 */
9933 : :
9934 : : default:
9935 : : return -1;
9936 : : }
9937 : :
9938 : : case UNSPEC:
9939 : : return recog_73 (x1, insn, pnum_clobbers);
9940 : :
9941 : : case IF_THEN_ELSE:
9942 : : if (GET_MODE (x4) != E_SImode)
9943 : : return -1;
9944 : : x5 = XEXP (x4, 0);
9945 : : if (!ix86_comparison_operator (x5, E_VOIDmode))
9946 : : return -1;
9947 : : operands[1] = x5;
9948 : : x7 = XEXP (x5, 0);
9949 : : if (GET_CODE (x7) != REG
9950 : : || REGNO (x7) != 17)
9951 : : return -1;
9952 : : x8 = XEXP (x5, 1);
9953 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
9954 : : || !nonimmediate_operand (operands[0], E_DImode)
9955 : : || GET_MODE (x3) != E_DImode)
9956 : : return -1;
9957 : : x6 = XEXP (x4, 1);
9958 : : operands[2] = x6;
9959 : : if (!nonimmediate_operand (operands[2], E_SImode))
9960 : : return -1;
9961 : : x13 = XEXP (x4, 2);
9962 : : operands[3] = x13;
9963 : : if (!nonimmediate_operand (operands[3], E_SImode)
9964 : : || !
9965 : : #line 26587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9966 : : (TARGET_64BIT
9967 : : && TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9968 : : return -1;
9969 : : return 1813; /* *movsicc_noc_zext_1 */
9970 : :
9971 : : case VEC_SELECT:
9972 : : return recog_77 (x1, insn, pnum_clobbers);
9973 : :
9974 : : case SUBREG:
9975 : : if (pattern111 (x3) != 0
9976 : : || !
9977 : : #line 22180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9978 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
9979 : : return -1;
9980 : : return 8514; /* *sse2_pmovskb_zexthisi */
9981 : :
9982 : : default:
9983 : : return -1;
9984 : : }
9985 : : }
9986 : :
9987 : : int
9988 : : recog_106 (rtx x1 ATTRIBUTE_UNUSED,
9989 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9990 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9991 : : {
9992 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9993 : : rtx x2, x3;
9994 : : int res ATTRIBUTE_UNUSED;
9995 : : switch (pattern18 (x1, pnum_clobbers))
9996 : : {
9997 : : case 0:
9998 : : if (!
9999 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10000 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10001 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
10002 : : == GET_MODE_BITSIZE (SImode)-1
10003 : : && ix86_pre_reload_split ()))
10004 : : return -1;
10005 : : *pnum_clobbers = 1;
10006 : : return 1301; /* *rotrsi3_mask_1 */
10007 : :
10008 : : case 1:
10009 : : if (!(
10010 : : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10011 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10012 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
10013 : : == GET_MODE_BITSIZE (DImode)-1
10014 : : && ix86_pre_reload_split ()) &&
10015 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10016 : : (TARGET_64BIT)))
10017 : : return -1;
10018 : : *pnum_clobbers = 1;
10019 : : return 1303; /* *rotrdi3_mask_1 */
10020 : :
10021 : : case 2:
10022 : : if (!
10023 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10024 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10025 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10026 : : && ix86_pre_reload_split ()))
10027 : : return -1;
10028 : : *pnum_clobbers = 1;
10029 : : return 1317; /* *rotrsi3_add_1 */
10030 : :
10031 : : case 3:
10032 : : if (!(
10033 : : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10034 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10035 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10036 : : && ix86_pre_reload_split ()) &&
10037 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10038 : : (TARGET_64BIT)))
10039 : : return -1;
10040 : : *pnum_clobbers = 1;
10041 : : return 1319; /* *rotrdi3_add_1 */
10042 : :
10043 : : case 4:
10044 : : if (!
10045 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10046 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10047 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10048 : : && ix86_pre_reload_split ()))
10049 : : return -1;
10050 : : *pnum_clobbers = 1;
10051 : : return 1333; /* *rotrsi3_sub_1 */
10052 : :
10053 : : case 5:
10054 : : if (!(
10055 : : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10056 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10057 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10058 : : && ix86_pre_reload_split ()) &&
10059 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10060 : : (TARGET_64BIT)))
10061 : : return -1;
10062 : : *pnum_clobbers = 1;
10063 : : return 1335; /* *rotrdi3_sub_1 */
10064 : :
10065 : : case 6:
10066 : : x2 = XEXP (x1, 1);
10067 : : x3 = XEXP (x2, 1);
10068 : : switch (GET_CODE (x3))
10069 : : {
10070 : : case SUBREG:
10071 : : switch (pattern441 (x2, pnum_clobbers))
10072 : : {
10073 : : case 0:
10074 : : if (
10075 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10076 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10077 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
10078 : : == GET_MODE_BITSIZE (SImode)-1
10079 : : && ix86_pre_reload_split ()))
10080 : : {
10081 : : *pnum_clobbers = 1;
10082 : : return 1293; /* *rotrsi3_mask */
10083 : : }
10084 : : break;
10085 : :
10086 : : case 1:
10087 : : if ((
10088 : : #line 18277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10089 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10090 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
10091 : : == GET_MODE_BITSIZE (DImode)-1
10092 : : && ix86_pre_reload_split ()) &&
10093 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10094 : : (TARGET_64BIT)))
10095 : : {
10096 : : *pnum_clobbers = 1;
10097 : : return 1295; /* *rotrdi3_mask */
10098 : : }
10099 : : break;
10100 : :
10101 : : case 2:
10102 : : if (
10103 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10104 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10105 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10106 : : && ix86_pre_reload_split ()))
10107 : : {
10108 : : *pnum_clobbers = 1;
10109 : : return 1309; /* *rotrsi3_add */
10110 : : }
10111 : : break;
10112 : :
10113 : : case 3:
10114 : : if ((
10115 : : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10116 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10117 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10118 : : && ix86_pre_reload_split ()) &&
10119 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10120 : : (TARGET_64BIT)))
10121 : : {
10122 : : *pnum_clobbers = 1;
10123 : : return 1311; /* *rotrdi3_add */
10124 : : }
10125 : : break;
10126 : :
10127 : : case 4:
10128 : : if (
10129 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10130 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10131 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10132 : : && ix86_pre_reload_split ()))
10133 : : {
10134 : : *pnum_clobbers = 1;
10135 : : return 1325; /* *rotrsi3_sub */
10136 : : }
10137 : : break;
10138 : :
10139 : : case 5:
10140 : : if ((
10141 : : #line 18439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10142 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10143 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10144 : : && ix86_pre_reload_split ()) &&
10145 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10146 : : (TARGET_64BIT)))
10147 : : {
10148 : : *pnum_clobbers = 1;
10149 : : return 1327; /* *rotrdi3_sub */
10150 : : }
10151 : : break;
10152 : :
10153 : : default:
10154 : : break;
10155 : : }
10156 : : break;
10157 : :
10158 : : case CONST_INT:
10159 : : operands[2] = x3;
10160 : : switch (GET_MODE (operands[0]))
10161 : : {
10162 : : case E_DImode:
10163 : : if (pattern601 (x2, pnum_clobbers,
10164 : : E_DImode) == 0
10165 : : && const_1_to_31_operand (operands[2], E_QImode)
10166 : : &&
10167 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10168 : : (!TARGET_64BIT))
10169 : : {
10170 : : *pnum_clobbers = 2;
10171 : : return 1338; /* ix86_rotrdi3_doubleword */
10172 : : }
10173 : : break;
10174 : :
10175 : : case E_SImode:
10176 : : if (register_operand (operands[0], E_SImode)
10177 : : && GET_MODE (x2) == E_SImode
10178 : : && nonimmediate_operand (operands[1], E_SImode)
10179 : : && const_0_to_31_operand (operands[2], E_QImode)
10180 : : &&
10181 : : #line 18621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10182 : : (TARGET_BMI2 && !optimize_function_for_size_p (cfun)))
10183 : : return 1344; /* *bmi2_rorxsi3_1 */
10184 : : break;
10185 : :
10186 : : default:
10187 : : break;
10188 : : }
10189 : : if (register_operand (operands[0], E_DImode)
10190 : : && GET_MODE (x2) == E_DImode)
10191 : : {
10192 : : if (XWINT (x3, 0) == 32L
10193 : : && register_operand (operands[1], E_DImode)
10194 : : &&
10195 : : #line 18580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10196 : : (!TARGET_64BIT))
10197 : : return 1341; /* rotr32di2_doubleword */
10198 : : if (nonimmediate_operand (operands[1], E_DImode))
10199 : : {
10200 : : operands[2] = x3;
10201 : : if (const_0_to_63_operand (operands[2], E_QImode)
10202 : : && (
10203 : : #line 18621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10204 : : (TARGET_BMI2 && !optimize_function_for_size_p (cfun)) &&
10205 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10206 : : (TARGET_64BIT)))
10207 : : return 1345; /* *bmi2_rorxdi3_1 */
10208 : : }
10209 : : }
10210 : : break;
10211 : :
10212 : : default:
10213 : : break;
10214 : : }
10215 : : operands[2] = x3;
10216 : : if (!nonmemory_operand (operands[2], E_QImode))
10217 : : return -1;
10218 : : switch (pattern14 (x2))
10219 : : {
10220 : : case 0:
10221 : : if (
10222 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10223 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
10224 : : && TARGET_APX_NF))
10225 : : return 1348; /* *rotrsi3_1_nf */
10226 : : if (pnum_clobbers == NULL
10227 : : || !
10228 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10229 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
10230 : : && true))
10231 : : return -1;
10232 : : *pnum_clobbers = 1;
10233 : : return 1349; /* *rotrsi3_1 */
10234 : :
10235 : : case 1:
10236 : : if ((
10237 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10238 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
10239 : : && TARGET_APX_NF) &&
10240 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10241 : : (TARGET_64BIT)))
10242 : : return 1352; /* *rotrdi3_1_nf */
10243 : : if (pnum_clobbers == NULL
10244 : : || !(
10245 : : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10246 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
10247 : : && true) &&
10248 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10249 : : (TARGET_64BIT)))
10250 : : return -1;
10251 : : *pnum_clobbers = 1;
10252 : : return 1353; /* *rotrdi3_1 */
10253 : :
10254 : : default:
10255 : : return -1;
10256 : : }
10257 : :
10258 : : default:
10259 : : return -1;
10260 : : }
10261 : : }
10262 : :
10263 : : int
10264 : : recog_118 (rtx x1 ATTRIBUTE_UNUSED,
10265 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10266 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10267 : : {
10268 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10269 : : rtx x2, x3, x4;
10270 : : int res ATTRIBUTE_UNUSED;
10271 : : x2 = XEXP (x1, 0);
10272 : : operands[0] = x2;
10273 : : x3 = XEXP (x1, 1);
10274 : : x4 = XEXP (x3, 0);
10275 : : switch (GET_CODE (x4))
10276 : : {
10277 : : case REG:
10278 : : case SUBREG:
10279 : : case MEM:
10280 : : operands[1] = x4;
10281 : : switch (pattern125 (x3))
10282 : : {
10283 : : case 0:
10284 : : if (
10285 : : #line 22440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10286 : : (TARGET_APX_NF && TARGET_POPCNT))
10287 : : return 1630; /* popcountsi2_nf */
10288 : : if (pnum_clobbers == NULL
10289 : : || !
10290 : : #line 22465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10291 : : (TARGET_POPCNT))
10292 : : return -1;
10293 : : *pnum_clobbers = 1;
10294 : : return 1632; /* popcountsi2 */
10295 : :
10296 : : case 1:
10297 : : if ((
10298 : : #line 22440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10299 : : (TARGET_APX_NF && TARGET_POPCNT) &&
10300 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10301 : : (TARGET_64BIT)))
10302 : : return 1631; /* popcountdi2_nf */
10303 : : if (pnum_clobbers == NULL
10304 : : || !(
10305 : : #line 22465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10306 : : (TARGET_POPCNT) &&
10307 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10308 : : (TARGET_64BIT)))
10309 : : return -1;
10310 : : *pnum_clobbers = 1;
10311 : : return 1633; /* popcountdi2 */
10312 : :
10313 : : default:
10314 : : return -1;
10315 : : }
10316 : :
10317 : : case ZERO_EXTEND:
10318 : : if (pattern110 (x3, pnum_clobbers,
10319 : : E_HImode,
10320 : : E_SImode) != 0
10321 : : || !
10322 : : #line 22635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10323 : : (TARGET_POPCNT
10324 : : && ix86_pre_reload_split ()))
10325 : : return -1;
10326 : : *pnum_clobbers = 1;
10327 : : return 1642; /* *popcounthi2_1 */
10328 : :
10329 : : default:
10330 : : return -1;
10331 : : }
10332 : : }
10333 : :
10334 : : int
10335 : : recog_121 (rtx x1 ATTRIBUTE_UNUSED,
10336 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10337 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10338 : : {
10339 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10340 : : rtx x2, x3, x4;
10341 : : int res ATTRIBUTE_UNUSED;
10342 : : x2 = XEXP (x1, 1);
10343 : : x3 = XEXP (x2, 1);
10344 : : x4 = XVECEXP (x3, 0, 0);
10345 : : switch (XWINT (x4, 0))
10346 : : {
10347 : : case 0L:
10348 : : if (nonimmediate_operand (operands[0], E_SImode)
10349 : : && GET_MODE (x2) == E_SImode)
10350 : : {
10351 : : switch (GET_MODE (operands[1]))
10352 : : {
10353 : : case E_V2SImode:
10354 : : if (nonimmediate_operand (operands[1], E_V2SImode)
10355 : : &&
10356 : : #line 5752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
10357 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
10358 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10359 : : return 2360; /* *vec_extractv2si_0 */
10360 : : break;
10361 : :
10362 : : case E_V4SImode:
10363 : : if (nonimmediate_operand (operands[1], E_V4SImode)
10364 : : &&
10365 : : #line 21186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10366 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10367 : : return 8420; /* *vec_extractv4si_0 */
10368 : : break;
10369 : :
10370 : : default:
10371 : : break;
10372 : : }
10373 : : }
10374 : : break;
10375 : :
10376 : : case 1L:
10377 : : switch (GET_MODE (operands[0]))
10378 : : {
10379 : : case E_SImode:
10380 : : if (nonimmediate_operand (operands[0], E_SImode)
10381 : : && GET_MODE (x2) == E_SImode
10382 : : && nonimmediate_operand (operands[1], E_V2SImode)
10383 : : &&
10384 : : #line 5809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
10385 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
10386 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10387 : : return 2363; /* *vec_extractv2si_1 */
10388 : : break;
10389 : :
10390 : : case E_DImode:
10391 : : if (nonimmediate_operand (operands[0], E_DImode)
10392 : : && GET_MODE (x2) == E_DImode
10393 : : && nonimmediate_operand (operands[1], E_V2DImode)
10394 : : &&
10395 : : #line 21355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10396 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10397 : : return 8429; /* *vec_extractv2di_1 */
10398 : : break;
10399 : :
10400 : : default:
10401 : : break;
10402 : : }
10403 : : break;
10404 : :
10405 : : default:
10406 : : break;
10407 : : }
10408 : : operands[2] = x4;
10409 : : switch (GET_MODE (operands[0]))
10410 : : {
10411 : : case E_SImode:
10412 : : if (GET_MODE (x2) != E_SImode)
10413 : : return -1;
10414 : : if (register_operand (operands[0], E_SImode))
10415 : : {
10416 : : switch (GET_MODE (operands[1]))
10417 : : {
10418 : : case E_V16SImode:
10419 : : if (register_operand (operands[1], E_V16SImode)
10420 : : && const_0_to_15_operand (operands[2], E_VOIDmode)
10421 : : &&
10422 : : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10423 : : (TARGET_AVX512F
10424 : : && INTVAL(operands[2]) * GET_MODE_SIZE (SImode) >= 16))
10425 : : return 7032; /* *vec_extractv16sisi_valign */
10426 : : break;
10427 : :
10428 : : case E_V8SImode:
10429 : : if (register_operand (operands[1], E_V8SImode)
10430 : : && const_0_to_7_operand (operands[2], E_VOIDmode)
10431 : : && (
10432 : : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10433 : : (TARGET_AVX512F
10434 : : && INTVAL(operands[2]) * GET_MODE_SIZE (SImode) >= 16) &&
10435 : : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10436 : : (TARGET_AVX512VL)))
10437 : : return 7033; /* *vec_extractv8sisi_valign */
10438 : : break;
10439 : :
10440 : : default:
10441 : : break;
10442 : : }
10443 : : }
10444 : : if (nonimmediate_operand (operands[0], E_SImode)
10445 : : && register_operand (operands[1], E_V4SImode)
10446 : : && const_0_to_3_operand (operands[2], E_SImode)
10447 : : &&
10448 : : #line 21276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10449 : : (TARGET_SSE4_1))
10450 : : return 8425; /* *vec_extractv4si */
10451 : : if (!register_operand (operands[0], E_SImode)
10452 : : || !memory_operand (operands[1], E_V4SImode)
10453 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
10454 : : || !
10455 : : #line 21333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10456 : : (TARGET_SSE))
10457 : : return -1;
10458 : : return 8427; /* *vec_extractv4si_mem */
10459 : :
10460 : : case E_DImode:
10461 : : if (!register_operand (operands[0], E_DImode)
10462 : : || GET_MODE (x2) != E_DImode)
10463 : : return -1;
10464 : : switch (GET_MODE (operands[1]))
10465 : : {
10466 : : case E_V8DImode:
10467 : : if (!register_operand (operands[1], E_V8DImode)
10468 : : || !const_0_to_7_operand (operands[2], E_VOIDmode)
10469 : : || !
10470 : : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10471 : : (TARGET_AVX512F
10472 : : && INTVAL(operands[2]) * GET_MODE_SIZE (DImode) >= 16))
10473 : : return -1;
10474 : : return 7034; /* *vec_extractv8didi_valign */
10475 : :
10476 : : case E_V4DImode:
10477 : : if (!register_operand (operands[1], E_V4DImode)
10478 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
10479 : : || !(
10480 : : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10481 : : (TARGET_AVX512F
10482 : : && INTVAL(operands[2]) * GET_MODE_SIZE (DImode) >= 16) &&
10483 : : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10484 : : (TARGET_AVX512VL)))
10485 : : return -1;
10486 : : return 7035; /* *vec_extractv4didi_valign */
10487 : :
10488 : : default:
10489 : : return -1;
10490 : : }
10491 : :
10492 : : default:
10493 : : return -1;
10494 : : }
10495 : : }
10496 : :
10497 : : int
10498 : : recog_126 (rtx x1 ATTRIBUTE_UNUSED,
10499 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10500 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10501 : : {
10502 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10503 : : rtx x2, x3, x4, x5;
10504 : : int res ATTRIBUTE_UNUSED;
10505 : : x2 = XEXP (x1, 1);
10506 : : x3 = XEXP (x2, 0);
10507 : : x4 = XVECEXP (x3, 0, 0);
10508 : : operands[1] = x4;
10509 : : x5 = XEXP (x2, 2);
10510 : : operands[3] = x5;
10511 : : switch (GET_MODE (operands[0]))
10512 : : {
10513 : : case E_V8HImode:
10514 : : if (pattern621 (x2,
10515 : : E_V8HImode,
10516 : : E_QImode,
10517 : : E_V8HFmode) != 0
10518 : : || !(
10519 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10520 : : (TARGET_AVX512F) && (
10521 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10522 : : (TARGET_AVX512FP16) &&
10523 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10524 : : (TARGET_AVX512VL))))
10525 : : return -1;
10526 : : return 4526; /* unspec_avx512fp16_fixuns_truncv8hi2_mask */
10527 : :
10528 : : case E_V16HImode:
10529 : : if (pattern621 (x2,
10530 : : E_V16HImode,
10531 : : E_HImode,
10532 : : E_V16HFmode) != 0
10533 : : || !(
10534 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10535 : : (TARGET_AVX512F) && (
10536 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10537 : : (TARGET_AVX512FP16) &&
10538 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10539 : : (TARGET_AVX512VL))))
10540 : : return -1;
10541 : : return 4534; /* unspec_avx512fp16_fixuns_truncv16hi2_mask */
10542 : :
10543 : : case E_V32HImode:
10544 : : if (pattern621 (x2,
10545 : : E_V32HImode,
10546 : : E_SImode,
10547 : : E_V32HFmode) != 0
10548 : : || !(
10549 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10550 : : (TARGET_AVX512F) &&
10551 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10552 : : (TARGET_AVX512FP16)))
10553 : : return -1;
10554 : : return 4542; /* unspec_avx512fp16_fixuns_truncv32hi2_mask */
10555 : :
10556 : : case E_V8SImode:
10557 : : if (pattern135 (x2,
10558 : : E_V8SImode,
10559 : : E_QImode) != 0)
10560 : : return -1;
10561 : : switch (GET_MODE (operands[1]))
10562 : : {
10563 : : case E_V8HFmode:
10564 : : if (!vector_operand (operands[1], E_V8HFmode)
10565 : : || !(
10566 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10567 : : (TARGET_AVX512F) && (
10568 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10569 : : (TARGET_AVX512FP16) &&
10570 : : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10571 : : (TARGET_AVX512VL))))
10572 : : return -1;
10573 : : return 4550; /* unspec_avx512fp16_fixuns_truncv8si2_mask */
10574 : :
10575 : : case E_V8DFmode:
10576 : : if (!vector_operand (operands[1], E_V8DFmode)
10577 : : || !
10578 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10579 : : (TARGET_AVX512F))
10580 : : return -1;
10581 : : return 4981; /* unspec_fixuns_truncv8dfv8si2_mask */
10582 : :
10583 : : case E_V8SFmode:
10584 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
10585 : : || !(
10586 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10587 : : (TARGET_AVX512F) && (
10588 : : #line 9940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10589 : : (TARGET_AVX512VL) &&
10590 : : #line 439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10591 : : (TARGET_AVX))))
10592 : : return -1;
10593 : : return 5085; /* unspec_fixuns_truncv8sfv8si2_mask */
10594 : :
10595 : : default:
10596 : : return -1;
10597 : : }
10598 : :
10599 : : case E_V16SImode:
10600 : : switch (pattern977 (x2))
10601 : : {
10602 : : case 0:
10603 : : if (!(
10604 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10605 : : (TARGET_AVX512F) &&
10606 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10607 : : (TARGET_AVX512FP16)))
10608 : : return -1;
10609 : : return 4558; /* unspec_avx512fp16_fixuns_truncv16si2_mask */
10610 : :
10611 : : case 1:
10612 : : if (!
10613 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10614 : : (TARGET_AVX512F))
10615 : : return -1;
10616 : : return 4832; /* unspec_fixuns_truncv16sfv16si2_mask */
10617 : :
10618 : : default:
10619 : : return -1;
10620 : : }
10621 : :
10622 : : case E_V8DImode:
10623 : : switch (pattern978 (x2))
10624 : : {
10625 : : case 0:
10626 : : if (!(
10627 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10628 : : (TARGET_AVX512F) &&
10629 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10630 : : (TARGET_AVX512FP16)))
10631 : : return -1;
10632 : : return 4566; /* unspec_avx512fp16_fixuns_truncv8di2_mask */
10633 : :
10634 : : case 1:
10635 : : if (!(
10636 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10637 : : (TARGET_AVX512F) &&
10638 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10639 : : (TARGET_AVX512DQ && 1)))
10640 : : return -1;
10641 : : return 5010; /* unspec_fixuns_truncv8dfv8di2_mask */
10642 : :
10643 : : case 2:
10644 : : if (!(
10645 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10646 : : (TARGET_AVX512F) &&
10647 : : #line 9769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10648 : : (TARGET_AVX512DQ && 1)))
10649 : : return -1;
10650 : : return 5058; /* unspec_fixuns_truncv8sfv8di2_mask */
10651 : :
10652 : : default:
10653 : : return -1;
10654 : : }
10655 : :
10656 : : case E_V4SImode:
10657 : : if (pattern135 (x2,
10658 : : E_V4SImode,
10659 : : E_QImode) != 0)
10660 : : return -1;
10661 : : switch (GET_MODE (operands[1]))
10662 : : {
10663 : : case E_V8HFmode:
10664 : : if (!register_operand (operands[1], E_V8HFmode)
10665 : : || !(
10666 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10667 : : (TARGET_AVX512F) &&
10668 : : #line 7947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10669 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10670 : : return -1;
10671 : : return 4619; /* unspec_avx512fp16_fixuns_truncv4si2_mask */
10672 : :
10673 : : case E_V4DFmode:
10674 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
10675 : : || !(
10676 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10677 : : (TARGET_AVX512F) &&
10678 : : #line 9706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10679 : : (TARGET_AVX512VL && TARGET_AVX512F)))
10680 : : return -1;
10681 : : return 5001; /* unspec_fixuns_truncv4dfv4si2_mask */
10682 : :
10683 : : case E_V4SFmode:
10684 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
10685 : : || !(
10686 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10687 : : (TARGET_AVX512F) &&
10688 : : #line 9940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10689 : : (TARGET_AVX512VL)))
10690 : : return -1;
10691 : : return 5087; /* unspec_fixuns_truncv4sfv4si2_mask */
10692 : :
10693 : : default:
10694 : : return -1;
10695 : : }
10696 : :
10697 : : case E_V4DImode:
10698 : : switch (pattern979 (x2))
10699 : : {
10700 : : case 0:
10701 : : if (!(
10702 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10703 : : (TARGET_AVX512F) &&
10704 : : #line 7947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10705 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10706 : : return -1;
10707 : : return 4623; /* unspec_avx512fp16_fixuns_truncv4di2_mask */
10708 : :
10709 : : case 1:
10710 : : if (!(
10711 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10712 : : (TARGET_AVX512F) && (
10713 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10714 : : (TARGET_AVX512DQ && 1) &&
10715 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10716 : : (TARGET_AVX512VL))))
10717 : : return -1;
10718 : : return 5015; /* unspec_fixuns_truncv4dfv4di2_mask */
10719 : :
10720 : : case 2:
10721 : : if (!(
10722 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10723 : : (TARGET_AVX512F) && (
10724 : : #line 9769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10725 : : (TARGET_AVX512DQ && 1) &&
10726 : : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10727 : : (TARGET_AVX512VL))))
10728 : : return -1;
10729 : : return 5063; /* unspec_fixuns_truncv4sfv4di2_mask */
10730 : :
10731 : : default:
10732 : : return -1;
10733 : : }
10734 : :
10735 : : case E_V2DImode:
10736 : : switch (pattern980 (x2))
10737 : : {
10738 : : case 0:
10739 : : if (!(
10740 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10741 : : (TARGET_AVX512F) &&
10742 : : #line 7997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10743 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10744 : : return -1;
10745 : : return 4643; /* unspec_avx512fp16_fixuns_truncv2di2_mask */
10746 : :
10747 : : case 1:
10748 : : if (!(
10749 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10750 : : (TARGET_AVX512F) && (
10751 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10752 : : (TARGET_AVX512DQ && 1) &&
10753 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10754 : : (TARGET_AVX512VL))))
10755 : : return -1;
10756 : : return 5019; /* unspec_fixuns_truncv2dfv2di2_mask */
10757 : :
10758 : : case 2:
10759 : : if (!(
10760 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10761 : : (TARGET_AVX512F) &&
10762 : : #line 9790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10763 : : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10764 : : return -1;
10765 : : return 5079; /* unspec_avx512dq_fixuns_truncv2sfv2di2_mask */
10766 : :
10767 : : default:
10768 : : return -1;
10769 : : }
10770 : :
10771 : : default:
10772 : : return -1;
10773 : : }
10774 : : }
10775 : :
10776 : : int
10777 : : recog_132 (rtx x1 ATTRIBUTE_UNUSED,
10778 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10779 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10780 : : {
10781 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10782 : : rtx x2, x3, x4, x5, x6, x7;
10783 : : int res ATTRIBUTE_UNUSED;
10784 : : x2 = XEXP (x1, 1);
10785 : : x3 = XEXP (x2, 2);
10786 : : switch (GET_CODE (x3))
10787 : : {
10788 : : case REG:
10789 : : case SUBREG:
10790 : : operands[4] = x3;
10791 : : x4 = XEXP (x2, 0);
10792 : : x5 = XVECEXP (x4, 0, 0);
10793 : : operands[1] = x5;
10794 : : x6 = XVECEXP (x4, 0, 1);
10795 : : operands[2] = x6;
10796 : : if (!const_0_to_255_operand (operands[2], E_SImode))
10797 : : return -1;
10798 : : x7 = XEXP (x2, 1);
10799 : : operands[3] = x7;
10800 : : switch (GET_MODE (operands[0]))
10801 : : {
10802 : : case E_V32HFmode:
10803 : : if (pattern459 (x2,
10804 : : E_V32HFmode,
10805 : : E_SImode) != 0
10806 : : || !(
10807 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10808 : : (TARGET_AVX512F) && (
10809 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10810 : : (TARGET_AVX512F) &&
10811 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10812 : : (TARGET_AVX512FP16))))
10813 : : return -1;
10814 : : return 7090; /* avx512bw_rndscalev32hf_mask */
10815 : :
10816 : : case E_V16HFmode:
10817 : : if (pattern459 (x2,
10818 : : E_V16HFmode,
10819 : : E_HImode) != 0
10820 : : || !(
10821 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10822 : : (TARGET_AVX512F) && (
10823 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10824 : : (TARGET_AVX512F) &&
10825 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10826 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10827 : : return -1;
10828 : : return 7094; /* avx512vl_rndscalev16hf_mask */
10829 : :
10830 : : case E_V8HFmode:
10831 : : if (pattern459 (x2,
10832 : : E_V8HFmode,
10833 : : E_QImode) != 0
10834 : : || !(
10835 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10836 : : (TARGET_AVX512F) && (
10837 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10838 : : (TARGET_AVX512F) &&
10839 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10840 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10841 : : return -1;
10842 : : return 7098; /* avx512fp16_rndscalev8hf_mask */
10843 : :
10844 : : case E_V16SFmode:
10845 : : if (pattern459 (x2,
10846 : : E_V16SFmode,
10847 : : E_HImode) != 0
10848 : : || !
10849 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10850 : : (TARGET_AVX512F))
10851 : : return -1;
10852 : : return 7102; /* avx512f_rndscalev16sf_mask */
10853 : :
10854 : : case E_V8SFmode:
10855 : : if (pattern459 (x2,
10856 : : E_V8SFmode,
10857 : : E_QImode) != 0
10858 : : || !(
10859 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10860 : : (TARGET_AVX512F) && (
10861 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10862 : : (TARGET_AVX512F) &&
10863 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10864 : : (TARGET_AVX512VL))))
10865 : : return -1;
10866 : : return 7106; /* avx512vl_rndscalev8sf_mask */
10867 : :
10868 : : case E_V4SFmode:
10869 : : if (pattern459 (x2,
10870 : : E_V4SFmode,
10871 : : E_QImode) != 0
10872 : : || !(
10873 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10874 : : (TARGET_AVX512F) && (
10875 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10876 : : (TARGET_AVX512F) &&
10877 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10878 : : (TARGET_AVX512VL))))
10879 : : return -1;
10880 : : return 7110; /* avx512vl_rndscalev4sf_mask */
10881 : :
10882 : : case E_V8DFmode:
10883 : : if (pattern459 (x2,
10884 : : E_V8DFmode,
10885 : : E_QImode) != 0
10886 : : || !
10887 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10888 : : (TARGET_AVX512F))
10889 : : return -1;
10890 : : return 7114; /* avx512f_rndscalev8df_mask */
10891 : :
10892 : : case E_V4DFmode:
10893 : : if (pattern459 (x2,
10894 : : E_V4DFmode,
10895 : : E_QImode) != 0
10896 : : || !(
10897 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10898 : : (TARGET_AVX512F) && (
10899 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10900 : : (TARGET_AVX512F) &&
10901 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10902 : : (TARGET_AVX512VL))))
10903 : : return -1;
10904 : : return 7118; /* avx512vl_rndscalev4df_mask */
10905 : :
10906 : : case E_V2DFmode:
10907 : : if (pattern459 (x2,
10908 : : E_V2DFmode,
10909 : : E_QImode) != 0
10910 : : || !(
10911 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10912 : : (TARGET_AVX512F) && (
10913 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10914 : : (TARGET_AVX512F) &&
10915 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10916 : : (TARGET_AVX512VL))))
10917 : : return -1;
10918 : : return 7122; /* avx512vl_rndscalev2df_mask */
10919 : :
10920 : : default:
10921 : : return -1;
10922 : : }
10923 : :
10924 : : case CONST_INT:
10925 : : if (XWINT (x3, 0) != 1L)
10926 : : return -1;
10927 : : x4 = XEXP (x2, 0);
10928 : : x5 = XVECEXP (x4, 0, 0);
10929 : : operands[2] = x5;
10930 : : x6 = XVECEXP (x4, 0, 1);
10931 : : operands[3] = x6;
10932 : : x7 = XEXP (x2, 1);
10933 : : operands[1] = x7;
10934 : : switch (GET_MODE (operands[0]))
10935 : : {
10936 : : case E_V8HFmode:
10937 : : if (pattern1200 (x2,
10938 : : E_V8HFmode) != 0)
10939 : : return -1;
10940 : : if (const_0_to_255_operand (operands[3], E_SImode)
10941 : : && (
10942 : : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10943 : : (TARGET_AVX512F) &&
10944 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10945 : : (TARGET_AVX512FP16)))
10946 : : return 7124; /* avx512f_rndscalev8hf */
10947 : : if (!const_0_to_15_operand (operands[3], E_SImode)
10948 : : || !(
10949 : : #line 25613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10950 : : (TARGET_SSE4_1) &&
10951 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10952 : : (TARGET_AVX512FP16)))
10953 : : return -1;
10954 : : return 8924; /* sse4_1_roundsh */
10955 : :
10956 : : case E_V4SFmode:
10957 : : if (pattern1200 (x2,
10958 : : E_V4SFmode) != 0)
10959 : : return -1;
10960 : : if (const_0_to_255_operand (operands[3], E_SImode)
10961 : : &&
10962 : : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10963 : : (TARGET_AVX512F))
10964 : : return 7128; /* avx512f_rndscalev4sf */
10965 : : if (!const_0_to_15_operand (operands[3], E_SImode)
10966 : : || !
10967 : : #line 25613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10968 : : (TARGET_SSE4_1))
10969 : : return -1;
10970 : : return 8925; /* sse4_1_roundss */
10971 : :
10972 : : case E_V2DFmode:
10973 : : if (pattern1200 (x2,
10974 : : E_V2DFmode) != 0)
10975 : : return -1;
10976 : : if (const_0_to_255_operand (operands[3], E_SImode)
10977 : : && (
10978 : : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10979 : : (TARGET_AVX512F) &&
10980 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10981 : : (TARGET_SSE2)))
10982 : : return 7132; /* avx512f_rndscalev2df */
10983 : : if (!const_0_to_15_operand (operands[3], E_SImode)
10984 : : || !(
10985 : : #line 25613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10986 : : (TARGET_SSE4_1) &&
10987 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10988 : : (TARGET_SSE2)))
10989 : : return -1;
10990 : : return 8926; /* sse4_1_roundsd */
10991 : :
10992 : : default:
10993 : : return -1;
10994 : : }
10995 : :
10996 : : default:
10997 : : return -1;
10998 : : }
10999 : : }
11000 : :
11001 : : int
11002 : : recog_141 (rtx x1 ATTRIBUTE_UNUSED,
11003 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11004 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11005 : : {
11006 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11007 : : rtx x2, x3, x4, x5, x6, x7, x8;
11008 : : int res ATTRIBUTE_UNUSED;
11009 : : x2 = XEXP (x1, 1);
11010 : : x3 = XEXP (x2, 0);
11011 : : x4 = XVECEXP (x3, 0, 0);
11012 : : operands[1] = x4;
11013 : : x5 = XVECEXP (x3, 0, 1);
11014 : : operands[2] = x5;
11015 : : x6 = XVECEXP (x3, 0, 2);
11016 : : operands[3] = x6;
11017 : : x7 = XEXP (x2, 2);
11018 : : if (!register_operand (x7, E_QImode))
11019 : : return -1;
11020 : : x8 = XEXP (x2, 1);
11021 : : switch (GET_CODE (x8))
11022 : : {
11023 : : case CONST_INT:
11024 : : case CONST_DOUBLE:
11025 : : case CONST_VECTOR:
11026 : : operands[4] = x8;
11027 : : operands[5] = x7;
11028 : : switch (GET_MODE (operands[0]))
11029 : : {
11030 : : case E_V16SFmode:
11031 : : if (pattern1357 (x2,
11032 : : E_V16SFmode,
11033 : : E_V32BFmode) != 0
11034 : : || !
11035 : : #line 31347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11036 : : (TARGET_AVX512BF16))
11037 : : return -1;
11038 : : return 10324; /* avx512f_dpbf16ps_v16sf_maskz_1 */
11039 : :
11040 : : case E_V8SFmode:
11041 : : if (pattern1357 (x2,
11042 : : E_V8SFmode,
11043 : : E_V16BFmode) != 0
11044 : : || !(
11045 : : #line 31347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11046 : : (TARGET_AVX512BF16) &&
11047 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11048 : : (TARGET_AVX512VL)))
11049 : : return -1;
11050 : : return 10326; /* avx512f_dpbf16ps_v8sf_maskz_1 */
11051 : :
11052 : : case E_V4SFmode:
11053 : : if (pattern1357 (x2,
11054 : : E_V4SFmode,
11055 : : E_V8BFmode) != 0
11056 : : || !(
11057 : : #line 31347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11058 : : (TARGET_AVX512BF16) &&
11059 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11060 : : (TARGET_AVX512VL)))
11061 : : return -1;
11062 : : return 10328; /* avx512f_dpbf16ps_v4sf_maskz_1 */
11063 : :
11064 : : default:
11065 : : return -1;
11066 : : }
11067 : :
11068 : : case REG:
11069 : : case SUBREG:
11070 : : if (!rtx_equal_p (x8, operands[1]))
11071 : : return -1;
11072 : : operands[4] = x7;
11073 : : switch (GET_MODE (operands[0]))
11074 : : {
11075 : : case E_V16SFmode:
11076 : : if (pattern1358 (x2,
11077 : : E_V32BFmode,
11078 : : E_V16SFmode) != 0
11079 : : || !
11080 : : #line 31360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11081 : : (TARGET_AVX512BF16))
11082 : : return -1;
11083 : : return 10329; /* avx512f_dpbf16ps_v16sf_mask */
11084 : :
11085 : : case E_V8SFmode:
11086 : : if (pattern1358 (x2,
11087 : : E_V16BFmode,
11088 : : E_V8SFmode) != 0
11089 : : || !(
11090 : : #line 31360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11091 : : (TARGET_AVX512BF16) &&
11092 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11093 : : (TARGET_AVX512VL)))
11094 : : return -1;
11095 : : return 10330; /* avx512f_dpbf16ps_v8sf_mask */
11096 : :
11097 : : case E_V4SFmode:
11098 : : if (pattern1358 (x2,
11099 : : E_V8BFmode,
11100 : : E_V4SFmode) != 0
11101 : : || !(
11102 : : #line 31360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11103 : : (TARGET_AVX512BF16) &&
11104 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11105 : : (TARGET_AVX512VL)))
11106 : : return -1;
11107 : : return 10331; /* avx512f_dpbf16ps_v4sf_mask */
11108 : :
11109 : : default:
11110 : : return -1;
11111 : : }
11112 : :
11113 : : default:
11114 : : return -1;
11115 : : }
11116 : : }
11117 : :
11118 : : int
11119 : : recog_147 (rtx x1 ATTRIBUTE_UNUSED,
11120 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11121 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11122 : : {
11123 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11124 : : rtx x2, x3, x4, x5, x6, x7;
11125 : : int res ATTRIBUTE_UNUSED;
11126 : : x2 = XEXP (x1, 1);
11127 : : x3 = XEXP (x2, 0);
11128 : : switch (XINT (x3, 1))
11129 : : {
11130 : : case 64:
11131 : : switch (pattern450 (x2))
11132 : : {
11133 : : case 0:
11134 : : if (!(
11135 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11136 : : (TARGET_AVX512F) && (
11137 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11138 : : (TARGET_SSE
11139 : : && (64 == 64 || TARGET_AVX512VL)
11140 : : && 1) &&
11141 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11142 : : (TARGET_AVX512FP16))))
11143 : : return -1;
11144 : : return 3062; /* ieee_maxv32hf3_mask */
11145 : :
11146 : : case 1:
11147 : : if (!(
11148 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11149 : : (TARGET_AVX512F) && (
11150 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11151 : : (TARGET_SSE
11152 : : && (32 == 64 || TARGET_AVX512VL)
11153 : : && 1) &&
11154 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11155 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11156 : : return -1;
11157 : : return 3069; /* ieee_maxv16hf3_mask */
11158 : :
11159 : : case 2:
11160 : : if (!(
11161 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11162 : : (TARGET_AVX512F) && (
11163 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11164 : : (TARGET_SSE
11165 : : && (16 == 64 || TARGET_AVX512VL)
11166 : : && 1) &&
11167 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11168 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11169 : : return -1;
11170 : : return 3073; /* ieee_maxv8hf3_mask */
11171 : :
11172 : : case 3:
11173 : : if (!(
11174 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11175 : : (TARGET_AVX512F) && (
11176 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11177 : : (TARGET_SSE
11178 : : && (64 == 64 || TARGET_AVX512VL)
11179 : : && 1) &&
11180 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11181 : : (TARGET_AVX512F))))
11182 : : return -1;
11183 : : return 3078; /* ieee_maxv16sf3_mask */
11184 : :
11185 : : case 4:
11186 : : if (!(
11187 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11188 : : (TARGET_AVX512F) && (
11189 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11190 : : (TARGET_SSE
11191 : : && (32 == 64 || TARGET_AVX512VL)
11192 : : && 1) &&
11193 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11194 : : (TARGET_AVX))))
11195 : : return -1;
11196 : : return 3085; /* ieee_maxv8sf3_mask */
11197 : :
11198 : : case 5:
11199 : : if (!(
11200 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11201 : : (TARGET_AVX512F) &&
11202 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11203 : : (TARGET_SSE
11204 : : && (16 == 64 || TARGET_AVX512VL)
11205 : : && 1)))
11206 : : return -1;
11207 : : return 3089; /* ieee_maxv4sf3_mask */
11208 : :
11209 : : case 6:
11210 : : if (!(
11211 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11212 : : (TARGET_AVX512F) && (
11213 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11214 : : (TARGET_SSE
11215 : : && (64 == 64 || TARGET_AVX512VL)
11216 : : && 1) &&
11217 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11218 : : (TARGET_AVX512F))))
11219 : : return -1;
11220 : : return 3094; /* ieee_maxv8df3_mask */
11221 : :
11222 : : case 7:
11223 : : if (!(
11224 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11225 : : (TARGET_AVX512F) && (
11226 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11227 : : (TARGET_SSE
11228 : : && (32 == 64 || TARGET_AVX512VL)
11229 : : && 1) &&
11230 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11231 : : (TARGET_AVX))))
11232 : : return -1;
11233 : : return 3101; /* ieee_maxv4df3_mask */
11234 : :
11235 : : case 8:
11236 : : if (!(
11237 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11238 : : (TARGET_AVX512F) && (
11239 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11240 : : (TARGET_SSE
11241 : : && (16 == 64 || TARGET_AVX512VL)
11242 : : && 1) &&
11243 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11244 : : (TARGET_SSE2))))
11245 : : return -1;
11246 : : return 3105; /* ieee_maxv2df3_mask */
11247 : :
11248 : : case 9:
11249 : : if (!(
11250 : : #line 3488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11251 : : (TARGET_SSE) &&
11252 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11253 : : (TARGET_AVX512FP16)))
11254 : : return -1;
11255 : : return 3138; /* avx512fp16_ieee_vmmaxv8hf3 */
11256 : :
11257 : : case 10:
11258 : : if (!
11259 : : #line 3488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11260 : : (TARGET_SSE))
11261 : : return -1;
11262 : : return 3146; /* sse_ieee_vmmaxv4sf3 */
11263 : :
11264 : : case 11:
11265 : : if (!(
11266 : : #line 3488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11267 : : (TARGET_SSE) &&
11268 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11269 : : (TARGET_SSE2)))
11270 : : return -1;
11271 : : return 3154; /* sse2_ieee_vmmaxv2df3 */
11272 : :
11273 : : default:
11274 : : return -1;
11275 : : }
11276 : :
11277 : : case 63:
11278 : : switch (pattern450 (x2))
11279 : : {
11280 : : case 0:
11281 : : if (!(
11282 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11283 : : (TARGET_AVX512F) && (
11284 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11285 : : (TARGET_SSE
11286 : : && (64 == 64 || TARGET_AVX512VL)
11287 : : && 1) &&
11288 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11289 : : (TARGET_AVX512FP16))))
11290 : : return -1;
11291 : : return 3066; /* ieee_minv32hf3_mask */
11292 : :
11293 : : case 1:
11294 : : if (!(
11295 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11296 : : (TARGET_AVX512F) && (
11297 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11298 : : (TARGET_SSE
11299 : : && (32 == 64 || TARGET_AVX512VL)
11300 : : && 1) &&
11301 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11302 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11303 : : return -1;
11304 : : return 3071; /* ieee_minv16hf3_mask */
11305 : :
11306 : : case 2:
11307 : : if (!(
11308 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11309 : : (TARGET_AVX512F) && (
11310 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11311 : : (TARGET_SSE
11312 : : && (16 == 64 || TARGET_AVX512VL)
11313 : : && 1) &&
11314 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11315 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11316 : : return -1;
11317 : : return 3075; /* ieee_minv8hf3_mask */
11318 : :
11319 : : case 3:
11320 : : if (!(
11321 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11322 : : (TARGET_AVX512F) && (
11323 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11324 : : (TARGET_SSE
11325 : : && (64 == 64 || TARGET_AVX512VL)
11326 : : && 1) &&
11327 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11328 : : (TARGET_AVX512F))))
11329 : : return -1;
11330 : : return 3082; /* ieee_minv16sf3_mask */
11331 : :
11332 : : case 4:
11333 : : if (!(
11334 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11335 : : (TARGET_AVX512F) && (
11336 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11337 : : (TARGET_SSE
11338 : : && (32 == 64 || TARGET_AVX512VL)
11339 : : && 1) &&
11340 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11341 : : (TARGET_AVX))))
11342 : : return -1;
11343 : : return 3087; /* ieee_minv8sf3_mask */
11344 : :
11345 : : case 5:
11346 : : if (!(
11347 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11348 : : (TARGET_AVX512F) &&
11349 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11350 : : (TARGET_SSE
11351 : : && (16 == 64 || TARGET_AVX512VL)
11352 : : && 1)))
11353 : : return -1;
11354 : : return 3091; /* ieee_minv4sf3_mask */
11355 : :
11356 : : case 6:
11357 : : if (!(
11358 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11359 : : (TARGET_AVX512F) && (
11360 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11361 : : (TARGET_SSE
11362 : : && (64 == 64 || TARGET_AVX512VL)
11363 : : && 1) &&
11364 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11365 : : (TARGET_AVX512F))))
11366 : : return -1;
11367 : : return 3098; /* ieee_minv8df3_mask */
11368 : :
11369 : : case 7:
11370 : : if (!(
11371 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11372 : : (TARGET_AVX512F) && (
11373 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11374 : : (TARGET_SSE
11375 : : && (32 == 64 || TARGET_AVX512VL)
11376 : : && 1) &&
11377 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11378 : : (TARGET_AVX))))
11379 : : return -1;
11380 : : return 3103; /* ieee_minv4df3_mask */
11381 : :
11382 : : case 8:
11383 : : if (!(
11384 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11385 : : (TARGET_AVX512F) && (
11386 : : #line 3396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11387 : : (TARGET_SSE
11388 : : && (16 == 64 || TARGET_AVX512VL)
11389 : : && 1) &&
11390 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11391 : : (TARGET_SSE2))))
11392 : : return -1;
11393 : : return 3107; /* ieee_minv2df3_mask */
11394 : :
11395 : : case 9:
11396 : : if (!(
11397 : : #line 3488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11398 : : (TARGET_SSE) &&
11399 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11400 : : (TARGET_AVX512FP16)))
11401 : : return -1;
11402 : : return 3142; /* avx512fp16_ieee_vmminv8hf3 */
11403 : :
11404 : : case 10:
11405 : : if (!
11406 : : #line 3488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11407 : : (TARGET_SSE))
11408 : : return -1;
11409 : : return 3150; /* sse_ieee_vmminv4sf3 */
11410 : :
11411 : : case 11:
11412 : : if (!(
11413 : : #line 3488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11414 : : (TARGET_SSE) &&
11415 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11416 : : (TARGET_SSE2)))
11417 : : return -1;
11418 : : return 3158; /* sse2_ieee_vmminv2df3 */
11419 : :
11420 : : default:
11421 : : return -1;
11422 : : }
11423 : :
11424 : : case 193:
11425 : : x4 = XVECEXP (x3, 0, 0);
11426 : : operands[1] = x4;
11427 : : x5 = XVECEXP (x3, 0, 1);
11428 : : operands[2] = x5;
11429 : : if (!const_0_to_255_operand (operands[2], E_SImode))
11430 : : return -1;
11431 : : x6 = XEXP (x2, 1);
11432 : : operands[3] = x6;
11433 : : x7 = XEXP (x2, 2);
11434 : : operands[4] = x7;
11435 : : switch (GET_MODE (operands[0]))
11436 : : {
11437 : : case E_V32HFmode:
11438 : : if (pattern1199 (x2,
11439 : : E_V32HFmode,
11440 : : E_SImode) != 0
11441 : : || !(
11442 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11443 : : (TARGET_AVX512F) && (
11444 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11445 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) &&
11446 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11447 : : (TARGET_AVX512FP16))))
11448 : : return -1;
11449 : : return 3178; /* reducepv32hf_mask */
11450 : :
11451 : : case E_V16HFmode:
11452 : : if (pattern1199 (x2,
11453 : : E_V16HFmode,
11454 : : E_HImode) != 0
11455 : : || !(
11456 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11457 : : (TARGET_AVX512F) && (
11458 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11459 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) &&
11460 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11461 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11462 : : return -1;
11463 : : return 3182; /* reducepv16hf_mask */
11464 : :
11465 : : case E_V8HFmode:
11466 : : if (pattern1199 (x2,
11467 : : E_V8HFmode,
11468 : : E_QImode) != 0
11469 : : || !(
11470 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11471 : : (TARGET_AVX512F) && (
11472 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11473 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
11474 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11475 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11476 : : return -1;
11477 : : return 3186; /* reducepv8hf_mask */
11478 : :
11479 : : case E_V16SFmode:
11480 : : if (pattern1199 (x2,
11481 : : E_V16SFmode,
11482 : : E_HImode) != 0
11483 : : || !(
11484 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11485 : : (TARGET_AVX512F) &&
11486 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11487 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode)))))
11488 : : return -1;
11489 : : return 3190; /* reducepv16sf_mask */
11490 : :
11491 : : case E_V8SFmode:
11492 : : if (pattern1199 (x2,
11493 : : E_V8SFmode,
11494 : : E_QImode) != 0
11495 : : || !(
11496 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11497 : : (TARGET_AVX512F) && (
11498 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11499 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) &&
11500 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11501 : : (TARGET_AVX512VL))))
11502 : : return -1;
11503 : : return 3194; /* reducepv8sf_mask */
11504 : :
11505 : : case E_V4SFmode:
11506 : : if (pattern1199 (x2,
11507 : : E_V4SFmode,
11508 : : E_QImode) != 0
11509 : : || !(
11510 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11511 : : (TARGET_AVX512F) && (
11512 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11513 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) &&
11514 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11515 : : (TARGET_AVX512VL))))
11516 : : return -1;
11517 : : return 3198; /* reducepv4sf_mask */
11518 : :
11519 : : case E_V8DFmode:
11520 : : if (pattern1199 (x2,
11521 : : E_V8DFmode,
11522 : : E_QImode) != 0
11523 : : || !(
11524 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11525 : : (TARGET_AVX512F) &&
11526 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11527 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode)))))
11528 : : return -1;
11529 : : return 3202; /* reducepv8df_mask */
11530 : :
11531 : : case E_V4DFmode:
11532 : : if (pattern1199 (x2,
11533 : : E_V4DFmode,
11534 : : E_QImode) != 0
11535 : : || !(
11536 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11537 : : (TARGET_AVX512F) && (
11538 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11539 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) &&
11540 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11541 : : (TARGET_AVX512VL))))
11542 : : return -1;
11543 : : return 3206; /* reducepv4df_mask */
11544 : :
11545 : : case E_V2DFmode:
11546 : : if (pattern1199 (x2,
11547 : : E_V2DFmode,
11548 : : E_QImode) != 0
11549 : : || !(
11550 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11551 : : (TARGET_AVX512F) && (
11552 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11553 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
11554 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11555 : : (TARGET_AVX512VL))))
11556 : : return -1;
11557 : : return 3210; /* reducepv2df_mask */
11558 : :
11559 : : default:
11560 : : return -1;
11561 : : }
11562 : :
11563 : : case 222:
11564 : : switch (pattern452 (x2))
11565 : : {
11566 : : case 0:
11567 : : if (!(
11568 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11569 : : (TARGET_AVX512F) &&
11570 : : #line 7372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11571 : : (TARGET_AVX512FP16 && 1)))
11572 : : return -1;
11573 : : return 4327; /* avx512bw_fmulc_v32hf_mask */
11574 : :
11575 : : case 1:
11576 : : if (!(
11577 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11578 : : (TARGET_AVX512F) && (
11579 : : #line 7372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11580 : : (TARGET_AVX512FP16 && 1) &&
11581 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11582 : : (TARGET_AVX512VL))))
11583 : : return -1;
11584 : : return 4335; /* avx512vl_fmulc_v16hf_mask */
11585 : :
11586 : : case 2:
11587 : : if (!(
11588 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11589 : : (TARGET_AVX512F) && (
11590 : : #line 7372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11591 : : (TARGET_AVX512FP16 && 1) &&
11592 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11593 : : (TARGET_AVX512VL))))
11594 : : return -1;
11595 : : return 4339; /* avx512fp16_fmulc_v8hf_mask */
11596 : :
11597 : : case 3:
11598 : : if (!
11599 : : #line 7576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11600 : : (TARGET_AVX512FP16))
11601 : : return -1;
11602 : : return 4354; /* avx512fp16_fmulcsh_v8hf */
11603 : :
11604 : : default:
11605 : : return -1;
11606 : : }
11607 : :
11608 : : case 223:
11609 : : switch (pattern452 (x2))
11610 : : {
11611 : : case 0:
11612 : : if (!(
11613 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11614 : : (TARGET_AVX512F) &&
11615 : : #line 7372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11616 : : (TARGET_AVX512FP16 && 1)))
11617 : : return -1;
11618 : : return 4331; /* avx512bw_fcmulc_v32hf_mask */
11619 : :
11620 : : case 1:
11621 : : if (!(
11622 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11623 : : (TARGET_AVX512F) && (
11624 : : #line 7372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11625 : : (TARGET_AVX512FP16 && 1) &&
11626 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11627 : : (TARGET_AVX512VL))))
11628 : : return -1;
11629 : : return 4337; /* avx512vl_fcmulc_v16hf_mask */
11630 : :
11631 : : case 2:
11632 : : if (!(
11633 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11634 : : (TARGET_AVX512F) && (
11635 : : #line 7372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11636 : : (TARGET_AVX512FP16 && 1) &&
11637 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11638 : : (TARGET_AVX512VL))))
11639 : : return -1;
11640 : : return 4341; /* avx512fp16_fcmulc_v8hf_mask */
11641 : :
11642 : : case 3:
11643 : : if (!
11644 : : #line 7576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11645 : : (TARGET_AVX512FP16))
11646 : : return -1;
11647 : : return 4358; /* avx512fp16_fcmulcsh_v8hf */
11648 : :
11649 : : default:
11650 : : return -1;
11651 : : }
11652 : :
11653 : : case 59:
11654 : : return recog_133 (x1, insn, pnum_clobbers);
11655 : :
11656 : : case 166:
11657 : : x7 = XEXP (x2, 2);
11658 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11659 : : return -1;
11660 : : x4 = XVECEXP (x3, 0, 0);
11661 : : operands[1] = x4;
11662 : : x5 = XVECEXP (x3, 0, 1);
11663 : : operands[2] = x5;
11664 : : switch (pattern449 (x2))
11665 : : {
11666 : : case 0:
11667 : : if (!(
11668 : : #line 14077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11669 : : (TARGET_AVX512F) &&
11670 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11671 : : (TARGET_AVX512FP16)))
11672 : : return -1;
11673 : : return 7008; /* avx512f_sgetexpv8hf */
11674 : :
11675 : : case 1:
11676 : : if (!
11677 : : #line 14077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11678 : : (TARGET_AVX512F))
11679 : : return -1;
11680 : : return 7012; /* avx512f_sgetexpv4sf */
11681 : :
11682 : : case 2:
11683 : : if (!(
11684 : : #line 14077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11685 : : (TARGET_AVX512F) &&
11686 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11687 : : (TARGET_SSE2)))
11688 : : return -1;
11689 : : return 7016; /* avx512f_sgetexpv2df */
11690 : :
11691 : : default:
11692 : : return -1;
11693 : : }
11694 : :
11695 : : case 95:
11696 : : return recog_132 (x1, insn, pnum_clobbers);
11697 : :
11698 : : case 189:
11699 : : x4 = XVECEXP (x3, 0, 0);
11700 : : operands[1] = x4;
11701 : : x5 = XVECEXP (x3, 0, 1);
11702 : : operands[2] = x5;
11703 : : x6 = XEXP (x2, 1);
11704 : : operands[3] = x6;
11705 : : x7 = XEXP (x2, 2);
11706 : : operands[4] = x7;
11707 : : switch (GET_MODE (operands[0]))
11708 : : {
11709 : : case E_V16SImode:
11710 : : if (pattern455 (x2,
11711 : : E_HImode,
11712 : : E_V16SImode,
11713 : : E_V32HImode) != 0
11714 : : || !(
11715 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11716 : : (TARGET_AVX512F) && (
11717 : : #line 16703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11718 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
11719 : : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11720 : : (TARGET_AVX512BW))))
11721 : : return -1;
11722 : : return 7542; /* avx512bw_pmaddwd512v32hi_mask */
11723 : :
11724 : : case E_V8SImode:
11725 : : if (pattern455 (x2,
11726 : : E_QImode,
11727 : : E_V8SImode,
11728 : : E_V16HImode) != 0
11729 : : || !(
11730 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11731 : : (TARGET_AVX512F) && (
11732 : : #line 16703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11733 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
11734 : : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11735 : : (TARGET_AVX2))))
11736 : : return -1;
11737 : : return 7544; /* avx512bw_pmaddwd512v16hi_mask */
11738 : :
11739 : : case E_V4SImode:
11740 : : if (pattern455 (x2,
11741 : : E_QImode,
11742 : : E_V4SImode,
11743 : : E_V8HImode) != 0
11744 : : || !(
11745 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11746 : : (TARGET_AVX512F) &&
11747 : : #line 16703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11748 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL))))
11749 : : return -1;
11750 : : return 7546; /* avx512bw_pmaddwd512v8hi_mask */
11751 : :
11752 : : default:
11753 : : return -1;
11754 : : }
11755 : :
11756 : : case 58:
11757 : : x4 = XVECEXP (x3, 0, 0);
11758 : : operands[1] = x4;
11759 : : x5 = XVECEXP (x3, 0, 1);
11760 : : operands[2] = x5;
11761 : : x6 = XEXP (x2, 1);
11762 : : operands[3] = x6;
11763 : : x7 = XEXP (x2, 2);
11764 : : operands[4] = x7;
11765 : : switch (GET_MODE (operands[0]))
11766 : : {
11767 : : case E_V64QImode:
11768 : : if (pattern1095 (x2,
11769 : : E_DImode,
11770 : : E_V64QImode,
11771 : : E_V32HImode) != 0
11772 : : || !(
11773 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11774 : : (TARGET_AVX512F) && (
11775 : : #line 19403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11776 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11777 : : #line 609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11778 : : (TARGET_AVX512BW))))
11779 : : return -1;
11780 : : return 8267; /* avx512bw_packuswb_mask */
11781 : :
11782 : : case E_V32QImode:
11783 : : if (pattern1095 (x2,
11784 : : E_SImode,
11785 : : E_V32QImode,
11786 : : E_V16HImode) != 0
11787 : : || !(
11788 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11789 : : (TARGET_AVX512F) && (
11790 : : #line 19403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11791 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11792 : : #line 609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11793 : : (TARGET_AVX2))))
11794 : : return -1;
11795 : : return 8269; /* avx2_packuswb_mask */
11796 : :
11797 : : case E_V16QImode:
11798 : : if (pattern1095 (x2,
11799 : : E_HImode,
11800 : : E_V16QImode,
11801 : : E_V8HImode) != 0
11802 : : || !(
11803 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11804 : : (TARGET_AVX512F) &&
11805 : : #line 19403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11806 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
11807 : : return -1;
11808 : : return 8271; /* sse2_packuswb_mask */
11809 : :
11810 : : case E_V32HImode:
11811 : : if (pattern1095 (x2,
11812 : : E_SImode,
11813 : : E_V32HImode,
11814 : : E_V16SImode) != 0
11815 : : || !(
11816 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11817 : : (TARGET_AVX512F) && (
11818 : : #line 23881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11819 : : (TARGET_SSE4_1 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11820 : : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11821 : : (TARGET_AVX512BW))))
11822 : : return -1;
11823 : : return 8682; /* avx512bw_packusdw_mask */
11824 : :
11825 : : case E_V16HImode:
11826 : : if (pattern1095 (x2,
11827 : : E_HImode,
11828 : : E_V16HImode,
11829 : : E_V8SImode) != 0
11830 : : || !(
11831 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11832 : : (TARGET_AVX512F) && (
11833 : : #line 23881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11834 : : (TARGET_SSE4_1 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11835 : : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11836 : : (TARGET_AVX2))))
11837 : : return -1;
11838 : : return 8684; /* avx2_packusdw_mask */
11839 : :
11840 : : case E_V8HImode:
11841 : : if (pattern1095 (x2,
11842 : : E_QImode,
11843 : : E_V8HImode,
11844 : : E_V4SImode) != 0
11845 : : || !(
11846 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11847 : : (TARGET_AVX512F) &&
11848 : : #line 23881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11849 : : (TARGET_SSE4_1 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
11850 : : return -1;
11851 : : return 8686; /* sse4_1_packusdw_mask */
11852 : :
11853 : : default:
11854 : : return -1;
11855 : : }
11856 : :
11857 : : case 191:
11858 : : if (pattern453 (x2) != 0
11859 : : || !(
11860 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11861 : : (TARGET_AVX512F) &&
11862 : : #line 20742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11863 : : (TARGET_AVX512BW)))
11864 : : return -1;
11865 : : return 8397; /* avx512bw_pshuflwv32hi_mask */
11866 : :
11867 : : case 190:
11868 : : if (pattern453 (x2) != 0
11869 : : || !(
11870 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11871 : : (TARGET_AVX512F) &&
11872 : : #line 20918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11873 : : (TARGET_AVX512BW)))
11874 : : return -1;
11875 : : return 8403; /* avx512bw_pshufhwv32hi_mask */
11876 : :
11877 : : case 188:
11878 : : x4 = XVECEXP (x3, 0, 0);
11879 : : operands[1] = x4;
11880 : : x5 = XVECEXP (x3, 0, 1);
11881 : : operands[2] = x5;
11882 : : x6 = XEXP (x2, 1);
11883 : : operands[3] = x6;
11884 : : x7 = XEXP (x2, 2);
11885 : : operands[4] = x7;
11886 : : switch (GET_MODE (operands[0]))
11887 : : {
11888 : : case E_V8HImode:
11889 : : if (pattern455 (x2,
11890 : : E_QImode,
11891 : : E_V8HImode,
11892 : : E_V16QImode) != 0
11893 : : || !(
11894 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11895 : : (TARGET_AVX512F) && (
11896 : : #line 22836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11897 : : (TARGET_AVX512BW) &&
11898 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11899 : : (TARGET_AVX512VL))))
11900 : : return -1;
11901 : : return 8560; /* avx512bw_pmaddubsw512v8hi_mask */
11902 : :
11903 : : case E_V16HImode:
11904 : : if (pattern455 (x2,
11905 : : E_HImode,
11906 : : E_V16HImode,
11907 : : E_V32QImode) != 0
11908 : : || !(
11909 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11910 : : (TARGET_AVX512F) && (
11911 : : #line 22836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11912 : : (TARGET_AVX512BW) &&
11913 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11914 : : (TARGET_AVX512VL))))
11915 : : return -1;
11916 : : return 8562; /* avx512bw_pmaddubsw512v16hi_mask */
11917 : :
11918 : : case E_V32HImode:
11919 : : if (pattern455 (x2,
11920 : : E_SImode,
11921 : : E_V32HImode,
11922 : : E_V64QImode) != 0
11923 : : || !(
11924 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11925 : : (TARGET_AVX512F) &&
11926 : : #line 22836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11927 : : (TARGET_AVX512BW)))
11928 : : return -1;
11929 : : return 8564; /* avx512bw_pmaddubsw512v32hi_mask */
11930 : :
11931 : : default:
11932 : : return -1;
11933 : : }
11934 : :
11935 : : case 53:
11936 : : switch (pattern454 (x2))
11937 : : {
11938 : : case 0:
11939 : : if (!(
11940 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11941 : : (TARGET_AVX512F) && (
11942 : : #line 23161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11943 : : (TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11944 : : #line 609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11945 : : (TARGET_AVX512BW))))
11946 : : return -1;
11947 : : return 8578; /* avx512bw_pshufbv64qi3_mask */
11948 : :
11949 : : case 1:
11950 : : if (!(
11951 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11952 : : (TARGET_AVX512F) && (
11953 : : #line 23161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11954 : : (TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11955 : : #line 609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11956 : : (TARGET_AVX2))))
11957 : : return -1;
11958 : : return 8580; /* avx2_pshufbv32qi3_mask */
11959 : :
11960 : : case 2:
11961 : : if (!(
11962 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11963 : : (TARGET_AVX512F) &&
11964 : : #line 23161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11965 : : (TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
11966 : : return -1;
11967 : : return 8582; /* ssse3_pshufbv16qi3_mask */
11968 : :
11969 : : default:
11970 : : return -1;
11971 : : }
11972 : :
11973 : : case 152:
11974 : : return recog_131 (x1, insn, pnum_clobbers);
11975 : :
11976 : : case 145:
11977 : : x4 = XVECEXP (x3, 0, 0);
11978 : : operands[1] = x4;
11979 : : x5 = XVECEXP (x3, 0, 1);
11980 : : operands[2] = x5;
11981 : : x6 = XEXP (x2, 1);
11982 : : operands[3] = x6;
11983 : : x7 = XEXP (x2, 2);
11984 : : operands[4] = x7;
11985 : : switch (GET_MODE (operands[0]))
11986 : : {
11987 : : case E_V16SFmode:
11988 : : if (pattern1098 (x2,
11989 : : E_V16SFmode,
11990 : : E_V16SImode,
11991 : : E_HImode) != 0
11992 : : || !(
11993 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11994 : : (TARGET_AVX512F) && (
11995 : : #line 28266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11996 : : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) &&
11997 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11998 : : (TARGET_AVX512F))))
11999 : : return -1;
12000 : : return 9325; /* avx512f_vpermilvarv16sf3_mask */
12001 : :
12002 : : case E_V8SFmode:
12003 : : if (pattern1098 (x2,
12004 : : E_V8SFmode,
12005 : : E_V8SImode,
12006 : : E_QImode) != 0
12007 : : || !(
12008 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12009 : : (TARGET_AVX512F) && (
12010 : : #line 28266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12011 : : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)) &&
12012 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12013 : : (TARGET_AVX))))
12014 : : return -1;
12015 : : return 9327; /* avx_vpermilvarv8sf3_mask */
12016 : :
12017 : : case E_V4SFmode:
12018 : : if (pattern1098 (x2,
12019 : : E_V4SFmode,
12020 : : E_V4SImode,
12021 : : E_QImode) != 0
12022 : : || !(
12023 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12024 : : (TARGET_AVX512F) &&
12025 : : #line 28266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12026 : : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL))))
12027 : : return -1;
12028 : : return 9329; /* avx_vpermilvarv4sf3_mask */
12029 : :
12030 : : case E_V8DFmode:
12031 : : if (pattern1098 (x2,
12032 : : E_V8DFmode,
12033 : : E_V8DImode,
12034 : : E_QImode) != 0
12035 : : || !(
12036 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12037 : : (TARGET_AVX512F) && (
12038 : : #line 28266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12039 : : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) &&
12040 : : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12041 : : (TARGET_AVX512F))))
12042 : : return -1;
12043 : : return 9331; /* avx512f_vpermilvarv8df3_mask */
12044 : :
12045 : : case E_V4DFmode:
12046 : : if (pattern1098 (x2,
12047 : : E_V4DFmode,
12048 : : E_V4DImode,
12049 : : E_QImode) != 0
12050 : : || !(
12051 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12052 : : (TARGET_AVX512F) && (
12053 : : #line 28266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12054 : : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)) &&
12055 : : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12056 : : (TARGET_AVX))))
12057 : : return -1;
12058 : : return 9333; /* avx_vpermilvarv4df3_mask */
12059 : :
12060 : : case E_V2DFmode:
12061 : : if (pattern1098 (x2,
12062 : : E_V2DFmode,
12063 : : E_V2DImode,
12064 : : E_QImode) != 0
12065 : : || !(
12066 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12067 : : (TARGET_AVX512F) && (
12068 : : #line 28266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12069 : : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL)) &&
12070 : : #line 379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12071 : : (TARGET_SSE2))))
12072 : : return -1;
12073 : : return 9335; /* avx_vpermilvarv2df3_mask */
12074 : :
12075 : : default:
12076 : : return -1;
12077 : : }
12078 : :
12079 : : case 151:
12080 : : x4 = XVECEXP (x3, 0, 0);
12081 : : operands[1] = x4;
12082 : : x5 = XVECEXP (x3, 0, 1);
12083 : : operands[2] = x5;
12084 : : if (!const_0_to_255_operand (operands[2], E_SImode))
12085 : : return -1;
12086 : : switch (GET_MODE (operands[0]))
12087 : : {
12088 : : case E_V8HImode:
12089 : : if (pattern984 (x2,
12090 : : E_QImode,
12091 : : E_V8SFmode,
12092 : : E_V8HImode) != 0)
12093 : : return -1;
12094 : : x7 = XEXP (x2, 2);
12095 : : operands[4] = x7;
12096 : : if (register_operand (operands[0], E_V8HImode))
12097 : : {
12098 : : x6 = XEXP (x2, 1);
12099 : : operands[3] = x6;
12100 : : if (nonimm_or_0_operand (operands[3], E_V8HImode)
12101 : : && (
12102 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12103 : : (TARGET_AVX512F) &&
12104 : : #line 29309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12105 : : (TARGET_F16C || TARGET_AVX512VL)))
12106 : : return 9633; /* vcvtps2ph256_mask */
12107 : : }
12108 : : operands[3] = x7;
12109 : : if (!memory_operand (operands[0], E_V8HImode))
12110 : : return -1;
12111 : : x6 = XEXP (x2, 1);
12112 : : if (!rtx_equal_p (x6, operands[0])
12113 : : || !(
12114 : : #line 96 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12115 : : (TARGET_AVX512F) &&
12116 : : #line 29321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12117 : : (TARGET_F16C || TARGET_AVX512VL)))
12118 : : return -1;
12119 : : return 9635; /* *vcvtps2ph256_merge_mask */
12120 : :
12121 : : case E_V16HImode:
12122 : : if (pattern984 (x2,
12123 : : E_HImode,
12124 : : E_V16SFmode,
12125 : : E_V16HImode) != 0)
12126 : : return -1;
12127 : : x7 = XEXP (x2, 2);
12128 : : operands[4] = x7;
12129 : : if (register_operand (operands[0], E_V16HImode))
12130 : : {
12131 : : x6 = XEXP (x2, 1);
12132 : : operands[3] = x6;
12133 : : if (nonimm_or_0_operand (operands[3], E_V16HImode)
12134 : : &&
12135 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12136 : : (TARGET_AVX512F))
12137 : : return 9638; /* avx512f_vcvtps2ph512_mask */
12138 : : }
12139 : : operands[3] = x7;
12140 : : if (!memory_operand (operands[0], E_V16HImode))
12141 : : return -1;
12142 : : x6 = XEXP (x2, 1);
12143 : : if (!rtx_equal_p (x6, operands[0])
12144 : : || !
12145 : : #line 96 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12146 : : (TARGET_AVX512F))
12147 : : return -1;
12148 : : return 9641; /* *avx512f_vcvtps2ph512_merge_mask */
12149 : :
12150 : : default:
12151 : : return -1;
12152 : : }
12153 : :
12154 : : case 167:
12155 : : return recog_134 (x1, insn, pnum_clobbers);
12156 : :
12157 : : case 198:
12158 : : x4 = XVECEXP (x3, 0, 0);
12159 : : operands[1] = x4;
12160 : : x5 = XVECEXP (x3, 0, 1);
12161 : : operands[2] = x5;
12162 : : x6 = XEXP (x2, 1);
12163 : : operands[3] = x6;
12164 : : x7 = XEXP (x2, 2);
12165 : : operands[4] = x7;
12166 : : switch (GET_MODE (operands[0]))
12167 : : {
12168 : : case E_V64QImode:
12169 : : if (pattern1099 (x2,
12170 : : E_V64QImode,
12171 : : E_DImode) != 0
12172 : : || !(
12173 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12174 : : (TARGET_AVX512F) &&
12175 : : #line 30412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12176 : : (TARGET_AVX512VBMI)))
12177 : : return -1;
12178 : : return 10100; /* vpmultishiftqbv64qi_mask */
12179 : :
12180 : : case E_V16QImode:
12181 : : if (pattern1099 (x2,
12182 : : E_V16QImode,
12183 : : E_HImode) != 0
12184 : : || !(
12185 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12186 : : (TARGET_AVX512F) && (
12187 : : #line 30412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12188 : : (TARGET_AVX512VBMI) &&
12189 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12190 : : (TARGET_AVX512VL))))
12191 : : return -1;
12192 : : return 10102; /* vpmultishiftqbv16qi_mask */
12193 : :
12194 : : case E_V32QImode:
12195 : : if (pattern1099 (x2,
12196 : : E_V32QImode,
12197 : : E_SImode) != 0
12198 : : || !(
12199 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12200 : : (TARGET_AVX512F) && (
12201 : : #line 30412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12202 : : (TARGET_AVX512VBMI) &&
12203 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12204 : : (TARGET_AVX512VL))))
12205 : : return -1;
12206 : : return 10104; /* vpmultishiftqbv32qi_mask */
12207 : :
12208 : : default:
12209 : : return -1;
12210 : : }
12211 : :
12212 : : case 201:
12213 : : switch (pattern454 (x2))
12214 : : {
12215 : : case 0:
12216 : : if (!(
12217 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12218 : : (TARGET_AVX512F) && (
12219 : : #line 30521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12220 : : (TARGET_GFNI) &&
12221 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12222 : : (TARGET_AVX512F))))
12223 : : return -1;
12224 : : return 10150; /* vgf2p8mulb_v64qi_mask */
12225 : :
12226 : : case 1:
12227 : : if (!(
12228 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12229 : : (TARGET_AVX512F) && (
12230 : : #line 30521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12231 : : (TARGET_GFNI) &&
12232 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12233 : : (TARGET_AVX))))
12234 : : return -1;
12235 : : return 10152; /* vgf2p8mulb_v32qi_mask */
12236 : :
12237 : : case 2:
12238 : : if (!(
12239 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12240 : : (TARGET_AVX512F) &&
12241 : : #line 30521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12242 : : (TARGET_GFNI)))
12243 : : return -1;
12244 : : return 10154; /* vgf2p8mulb_v16qi_mask */
12245 : :
12246 : : default:
12247 : : return -1;
12248 : : }
12249 : :
12250 : : case 250:
12251 : : switch (pattern456 (x2))
12252 : : {
12253 : : case 0:
12254 : : if (!(
12255 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12256 : : (TARGET_AVX512F) &&
12257 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12258 : : (TARGET_AVX10_2)))
12259 : : return -1;
12260 : : return 10418; /* vcvt2ph2bf8v32hf_mask */
12261 : :
12262 : : case 1:
12263 : : if (!(
12264 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12265 : : (TARGET_AVX512F) && (
12266 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12267 : : (TARGET_AVX10_2) &&
12268 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12269 : : (TARGET_AVX512VL))))
12270 : : return -1;
12271 : : return 10426; /* vcvt2ph2bf8v16hf_mask */
12272 : :
12273 : : case 2:
12274 : : if (!(
12275 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12276 : : (TARGET_AVX512F) && (
12277 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12278 : : (TARGET_AVX10_2) &&
12279 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12280 : : (TARGET_AVX512VL))))
12281 : : return -1;
12282 : : return 10434; /* vcvt2ph2bf8v8hf_mask */
12283 : :
12284 : : default:
12285 : : return -1;
12286 : : }
12287 : :
12288 : : case 251:
12289 : : switch (pattern456 (x2))
12290 : : {
12291 : : case 0:
12292 : : if (!(
12293 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12294 : : (TARGET_AVX512F) &&
12295 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12296 : : (TARGET_AVX10_2)))
12297 : : return -1;
12298 : : return 10420; /* vcvt2ph2bf8sv32hf_mask */
12299 : :
12300 : : case 1:
12301 : : if (!(
12302 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12303 : : (TARGET_AVX512F) && (
12304 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12305 : : (TARGET_AVX10_2) &&
12306 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12307 : : (TARGET_AVX512VL))))
12308 : : return -1;
12309 : : return 10428; /* vcvt2ph2bf8sv16hf_mask */
12310 : :
12311 : : case 2:
12312 : : if (!(
12313 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12314 : : (TARGET_AVX512F) && (
12315 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12316 : : (TARGET_AVX10_2) &&
12317 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12318 : : (TARGET_AVX512VL))))
12319 : : return -1;
12320 : : return 10436; /* vcvt2ph2bf8sv8hf_mask */
12321 : :
12322 : : default:
12323 : : return -1;
12324 : : }
12325 : :
12326 : : case 252:
12327 : : switch (pattern456 (x2))
12328 : : {
12329 : : case 0:
12330 : : if (!(
12331 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12332 : : (TARGET_AVX512F) &&
12333 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12334 : : (TARGET_AVX10_2)))
12335 : : return -1;
12336 : : return 10422; /* vcvt2ph2hf8v32hf_mask */
12337 : :
12338 : : case 1:
12339 : : if (!(
12340 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12341 : : (TARGET_AVX512F) && (
12342 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12343 : : (TARGET_AVX10_2) &&
12344 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12345 : : (TARGET_AVX512VL))))
12346 : : return -1;
12347 : : return 10430; /* vcvt2ph2hf8v16hf_mask */
12348 : :
12349 : : case 2:
12350 : : if (!(
12351 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12352 : : (TARGET_AVX512F) && (
12353 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12354 : : (TARGET_AVX10_2) &&
12355 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12356 : : (TARGET_AVX512VL))))
12357 : : return -1;
12358 : : return 10438; /* vcvt2ph2hf8v8hf_mask */
12359 : :
12360 : : default:
12361 : : return -1;
12362 : : }
12363 : :
12364 : : case 253:
12365 : : switch (pattern456 (x2))
12366 : : {
12367 : : case 0:
12368 : : if (!(
12369 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12370 : : (TARGET_AVX512F) &&
12371 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12372 : : (TARGET_AVX10_2)))
12373 : : return -1;
12374 : : return 10424; /* vcvt2ph2hf8sv32hf_mask */
12375 : :
12376 : : case 1:
12377 : : if (!(
12378 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12379 : : (TARGET_AVX512F) && (
12380 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12381 : : (TARGET_AVX10_2) &&
12382 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12383 : : (TARGET_AVX512VL))))
12384 : : return -1;
12385 : : return 10432; /* vcvt2ph2hf8sv16hf_mask */
12386 : :
12387 : : case 2:
12388 : : if (!(
12389 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12390 : : (TARGET_AVX512F) && (
12391 : : #line 31887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12392 : : (TARGET_AVX10_2) &&
12393 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12394 : : (TARGET_AVX512VL))))
12395 : : return -1;
12396 : : return 10440; /* vcvt2ph2hf8sv8hf_mask */
12397 : :
12398 : : default:
12399 : : return -1;
12400 : : }
12401 : :
12402 : : case 246:
12403 : : switch (pattern458 (x2))
12404 : : {
12405 : : case 0:
12406 : : if (!(
12407 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12408 : : (TARGET_AVX512F) &&
12409 : : #line 31976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12410 : : (TARGET_AVX10_2)))
12411 : : return -1;
12412 : : return 10450; /* vcvtbiasph2bf8v32hf_mask */
12413 : :
12414 : : case 1:
12415 : : if (!(
12416 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12417 : : (TARGET_AVX512F) &&
12418 : : #line 31976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12419 : : (TARGET_AVX10_2)))
12420 : : return -1;
12421 : : return 10458; /* vcvtbiasph2bf8v16hf_mask */
12422 : :
12423 : : default:
12424 : : return -1;
12425 : : }
12426 : :
12427 : : case 247:
12428 : : switch (pattern458 (x2))
12429 : : {
12430 : : case 0:
12431 : : if (!(
12432 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12433 : : (TARGET_AVX512F) &&
12434 : : #line 31976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12435 : : (TARGET_AVX10_2)))
12436 : : return -1;
12437 : : return 10452; /* vcvtbiasph2bf8sv32hf_mask */
12438 : :
12439 : : case 1:
12440 : : if (!(
12441 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12442 : : (TARGET_AVX512F) &&
12443 : : #line 31976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12444 : : (TARGET_AVX10_2)))
12445 : : return -1;
12446 : : return 10460; /* vcvtbiasph2bf8sv16hf_mask */
12447 : :
12448 : : default:
12449 : : return -1;
12450 : : }
12451 : :
12452 : : case 248:
12453 : : switch (pattern458 (x2))
12454 : : {
12455 : : case 0:
12456 : : if (!(
12457 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12458 : : (TARGET_AVX512F) &&
12459 : : #line 31976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12460 : : (TARGET_AVX10_2)))
12461 : : return -1;
12462 : : return 10454; /* vcvtbiasph2hf8v32hf_mask */
12463 : :
12464 : : case 1:
12465 : : if (!(
12466 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12467 : : (TARGET_AVX512F) &&
12468 : : #line 31976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12469 : : (TARGET_AVX10_2)))
12470 : : return -1;
12471 : : return 10462; /* vcvtbiasph2hf8v16hf_mask */
12472 : :
12473 : : default:
12474 : : return -1;
12475 : : }
12476 : :
12477 : : case 249:
12478 : : switch (pattern458 (x2))
12479 : : {
12480 : : case 0:
12481 : : if (!(
12482 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12483 : : (TARGET_AVX512F) &&
12484 : : #line 31976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12485 : : (TARGET_AVX10_2)))
12486 : : return -1;
12487 : : return 10456; /* vcvtbiasph2hf8sv32hf_mask */
12488 : :
12489 : : case 1:
12490 : : if (!(
12491 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12492 : : (TARGET_AVX512F) &&
12493 : : #line 31976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12494 : : (TARGET_AVX10_2)))
12495 : : return -1;
12496 : : return 10464; /* vcvtbiasph2hf8sv16hf_mask */
12497 : :
12498 : : default:
12499 : : return -1;
12500 : : }
12501 : :
12502 : : case 259:
12503 : : x4 = XVECEXP (x3, 0, 0);
12504 : : operands[1] = x4;
12505 : : x5 = XVECEXP (x3, 0, 1);
12506 : : operands[2] = x5;
12507 : : x6 = XEXP (x2, 1);
12508 : : operands[3] = x6;
12509 : : x7 = XEXP (x2, 2);
12510 : : operands[4] = x7;
12511 : : switch (GET_MODE (operands[0]))
12512 : : {
12513 : : case E_V32BFmode:
12514 : : if (pattern1099 (x2,
12515 : : E_V32BFmode,
12516 : : E_SImode) != 0
12517 : : || !(
12518 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12519 : : (TARGET_AVX512F) &&
12520 : : #line 32243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12521 : : (TARGET_AVX10_2)))
12522 : : return -1;
12523 : : return 10559; /* avx10_2_scalefbf16_v32bf_mask */
12524 : :
12525 : : case E_V16BFmode:
12526 : : if (pattern1099 (x2,
12527 : : E_V16BFmode,
12528 : : E_HImode) != 0
12529 : : || !(
12530 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12531 : : (TARGET_AVX512F) &&
12532 : : #line 32243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12533 : : (TARGET_AVX10_2)))
12534 : : return -1;
12535 : : return 10561; /* avx10_2_scalefbf16_v16bf_mask */
12536 : :
12537 : : case E_V8BFmode:
12538 : : if (pattern1099 (x2,
12539 : : E_V8BFmode,
12540 : : E_QImode) != 0
12541 : : || !(
12542 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12543 : : (TARGET_AVX512F) &&
12544 : : #line 32243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12545 : : (TARGET_AVX10_2)))
12546 : : return -1;
12547 : : return 10563; /* avx10_2_scalefbf16_v8bf_mask */
12548 : :
12549 : : default:
12550 : : return -1;
12551 : : }
12552 : :
12553 : : case 260:
12554 : : switch (pattern460 (x2))
12555 : : {
12556 : : case 0:
12557 : : if (!(
12558 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12559 : : (TARGET_AVX512F) &&
12560 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12561 : : (TARGET_AVX10_2)))
12562 : : return -1;
12563 : : return 10673; /* avx10_2_rndscalebf16_v32bf_mask */
12564 : :
12565 : : case 1:
12566 : : if (!(
12567 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12568 : : (TARGET_AVX512F) &&
12569 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12570 : : (TARGET_AVX10_2)))
12571 : : return -1;
12572 : : return 10679; /* avx10_2_rndscalebf16_v16bf_mask */
12573 : :
12574 : : case 2:
12575 : : if (!(
12576 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12577 : : (TARGET_AVX512F) &&
12578 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12579 : : (TARGET_AVX10_2)))
12580 : : return -1;
12581 : : return 10685; /* avx10_2_rndscalebf16_v8bf_mask */
12582 : :
12583 : : default:
12584 : : return -1;
12585 : : }
12586 : :
12587 : : case 261:
12588 : : switch (pattern460 (x2))
12589 : : {
12590 : : case 0:
12591 : : if (!(
12592 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12593 : : (TARGET_AVX512F) &&
12594 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12595 : : (TARGET_AVX10_2)))
12596 : : return -1;
12597 : : return 10675; /* avx10_2_reducebf16_v32bf_mask */
12598 : :
12599 : : case 1:
12600 : : if (!(
12601 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12602 : : (TARGET_AVX512F) &&
12603 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12604 : : (TARGET_AVX10_2)))
12605 : : return -1;
12606 : : return 10681; /* avx10_2_reducebf16_v16bf_mask */
12607 : :
12608 : : case 2:
12609 : : if (!(
12610 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12611 : : (TARGET_AVX512F) &&
12612 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12613 : : (TARGET_AVX10_2)))
12614 : : return -1;
12615 : : return 10687; /* avx10_2_reducebf16_v8bf_mask */
12616 : :
12617 : : default:
12618 : : return -1;
12619 : : }
12620 : :
12621 : : case 262:
12622 : : switch (pattern460 (x2))
12623 : : {
12624 : : case 0:
12625 : : if (!(
12626 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12627 : : (TARGET_AVX512F) &&
12628 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12629 : : (TARGET_AVX10_2)))
12630 : : return -1;
12631 : : return 10677; /* avx10_2_getmantbf16_v32bf_mask */
12632 : :
12633 : : case 1:
12634 : : if (!(
12635 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12636 : : (TARGET_AVX512F) &&
12637 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12638 : : (TARGET_AVX10_2)))
12639 : : return -1;
12640 : : return 10683; /* avx10_2_getmantbf16_v16bf_mask */
12641 : :
12642 : : case 2:
12643 : : if (!(
12644 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12645 : : (TARGET_AVX512F) &&
12646 : : #line 32584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12647 : : (TARGET_AVX10_2)))
12648 : : return -1;
12649 : : return 10689; /* avx10_2_getmantbf16_v8bf_mask */
12650 : :
12651 : : default:
12652 : : return -1;
12653 : : }
12654 : :
12655 : : default:
12656 : : return -1;
12657 : : }
12658 : : }
12659 : :
12660 : : int
12661 : : recog_184 (rtx x1 ATTRIBUTE_UNUSED,
12662 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12663 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12664 : : {
12665 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12666 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12667 : : rtx x10, x11, x12, x13, x14, x15;
12668 : : int res ATTRIBUTE_UNUSED;
12669 : : x2 = XEXP (x1, 1);
12670 : : x3 = XEXP (x2, 0);
12671 : : x4 = XEXP (x3, 0);
12672 : : switch (GET_CODE (x4))
12673 : : {
12674 : : case REG:
12675 : : case SUBREG:
12676 : : x5 = XEXP (x3, 1);
12677 : : switch (GET_CODE (x5))
12678 : : {
12679 : : case CONST_INT:
12680 : : case CONST_DOUBLE:
12681 : : case CONST_VECTOR:
12682 : : case REG:
12683 : : case SUBREG:
12684 : : case MEM:
12685 : : operands[3] = x5;
12686 : : x6 = XEXP (x2, 2);
12687 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12688 : : return -1;
12689 : : operands[2] = x4;
12690 : : x7 = XEXP (x3, 2);
12691 : : operands[4] = x7;
12692 : : if (!register_operand (operands[4], E_QImode))
12693 : : return -1;
12694 : : x8 = XEXP (x2, 1);
12695 : : operands[1] = x8;
12696 : : switch (GET_MODE (operands[0]))
12697 : : {
12698 : : case E_V8HFmode:
12699 : : if (pattern1264 (x2,
12700 : : E_V8HFmode) != 0
12701 : : || !(
12702 : : #line 1696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12703 : : (TARGET_AVX512F) &&
12704 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12705 : : (TARGET_AVX512FP16)))
12706 : : return -1;
12707 : : return 2514; /* avx512f_movhf_mask */
12708 : :
12709 : : case E_V4SFmode:
12710 : : if (pattern1264 (x2,
12711 : : E_V4SFmode) != 0
12712 : : || !
12713 : : #line 1696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12714 : : (TARGET_AVX512F))
12715 : : return -1;
12716 : : return 2515; /* avx512f_movsf_mask */
12717 : :
12718 : : case E_V2DFmode:
12719 : : if (pattern1264 (x2,
12720 : : E_V2DFmode) != 0
12721 : : || !(
12722 : : #line 1696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12723 : : (TARGET_AVX512F) &&
12724 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12725 : : (TARGET_SSE2)))
12726 : : return -1;
12727 : : return 2516; /* avx512f_movdf_mask */
12728 : :
12729 : : default:
12730 : : return -1;
12731 : : }
12732 : :
12733 : : case VEC_DUPLICATE:
12734 : : operands[1] = x4;
12735 : : x9 = XEXP (x5, 0);
12736 : : operands[2] = x9;
12737 : : x7 = XEXP (x3, 2);
12738 : : operands[3] = x7;
12739 : : if (!const_int_operand (operands[3], E_SImode))
12740 : : return -1;
12741 : : x8 = XEXP (x2, 1);
12742 : : operands[4] = x8;
12743 : : x6 = XEXP (x2, 2);
12744 : : operands[5] = x6;
12745 : : switch (GET_MODE (operands[0]))
12746 : : {
12747 : : case E_V8DFmode:
12748 : : if (pattern1265 (x2,
12749 : : E_V8DFmode,
12750 : : E_V2DFmode,
12751 : : E_QImode) != 0
12752 : : || !(
12753 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12754 : : (TARGET_AVX512F) && (
12755 : : #line 20066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12756 : : (TARGET_AVX512F) &&
12757 : : #line 12429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12758 : : (TARGET_AVX512DQ))))
12759 : : return -1;
12760 : : return 8343; /* avx512dq_vinsertf64x2_1_mask */
12761 : :
12762 : : case E_V8DImode:
12763 : : if (pattern1265 (x2,
12764 : : E_V8DImode,
12765 : : E_V2DImode,
12766 : : E_QImode) != 0
12767 : : || !(
12768 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12769 : : (TARGET_AVX512F) && (
12770 : : #line 20066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12771 : : (TARGET_AVX512F) &&
12772 : : #line 12429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12773 : : (TARGET_AVX512DQ))))
12774 : : return -1;
12775 : : return 8345; /* avx512dq_vinserti64x2_1_mask */
12776 : :
12777 : : case E_V16SFmode:
12778 : : if (pattern1265 (x2,
12779 : : E_V16SFmode,
12780 : : E_V4SFmode,
12781 : : E_HImode) != 0
12782 : : || !
12783 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12784 : : (TARGET_AVX512F))
12785 : : return -1;
12786 : : return 8347; /* avx512f_vinsertf32x4_1_mask */
12787 : :
12788 : : case E_V16SImode:
12789 : : if (pattern1265 (x2,
12790 : : E_V16SImode,
12791 : : E_V4SImode,
12792 : : E_HImode) != 0
12793 : : || !
12794 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12795 : : (TARGET_AVX512F))
12796 : : return -1;
12797 : : return 8349; /* avx512f_vinserti32x4_1_mask */
12798 : :
12799 : : default:
12800 : : return -1;
12801 : : }
12802 : :
12803 : : default:
12804 : : return -1;
12805 : : }
12806 : :
12807 : : case VEC_DUPLICATE:
12808 : : x10 = XEXP (x4, 0);
12809 : : switch (GET_CODE (x10))
12810 : : {
12811 : : case SUBREG:
12812 : : case MEM:
12813 : : operands[1] = x10;
12814 : : x6 = XEXP (x2, 2);
12815 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12816 : : return -1;
12817 : : x5 = XEXP (x3, 1);
12818 : : operands[2] = x5;
12819 : : x7 = XEXP (x3, 2);
12820 : : operands[3] = x7;
12821 : : if (!register_operand (operands[3], E_QImode))
12822 : : return -1;
12823 : : x8 = XEXP (x2, 1);
12824 : : operands[4] = x8;
12825 : : switch (GET_MODE (operands[0]))
12826 : : {
12827 : : case E_V8HFmode:
12828 : : if (pattern1266 (x2,
12829 : : E_V8HFmode,
12830 : : E_HFmode) != 0
12831 : : || !(
12832 : : #line 1725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12833 : : (TARGET_AVX512F) &&
12834 : : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
12835 : : (TARGET_AVX512FP16)))
12836 : : return -1;
12837 : : return 2517; /* *avx512f_loadhf_mask */
12838 : :
12839 : : case E_V4SFmode:
12840 : : if (pattern1266 (x2,
12841 : : E_V4SFmode,
12842 : : E_SFmode) != 0
12843 : : || !
12844 : : #line 1725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12845 : : (TARGET_AVX512F))
12846 : : return -1;
12847 : : return 2518; /* *avx512f_loadsf_mask */
12848 : :
12849 : : case E_V2DFmode:
12850 : : if (pattern1266 (x2,
12851 : : E_V2DFmode,
12852 : : E_DFmode) != 0
12853 : : || !
12854 : : #line 1725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12855 : : (TARGET_AVX512F))
12856 : : return -1;
12857 : : return 2519; /* *avx512f_loaddf_mask */
12858 : :
12859 : : default:
12860 : : return -1;
12861 : : }
12862 : :
12863 : : case SQRT:
12864 : : x6 = XEXP (x2, 2);
12865 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12866 : : return -1;
12867 : : x11 = XEXP (x10, 0);
12868 : : operands[1] = x11;
12869 : : x5 = XEXP (x3, 1);
12870 : : operands[3] = x5;
12871 : : x7 = XEXP (x3, 2);
12872 : : operands[4] = x7;
12873 : : if (!register_operand (operands[4], E_QImode))
12874 : : return -1;
12875 : : x8 = XEXP (x2, 1);
12876 : : operands[2] = x8;
12877 : : switch (GET_MODE (operands[0]))
12878 : : {
12879 : : case E_V8HFmode:
12880 : : if (pattern1267 (x2,
12881 : : E_V8HFmode,
12882 : : E_HFmode) != 0
12883 : : || !(
12884 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12885 : : (TARGET_AVX512F) && (
12886 : : #line 3104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12887 : : (TARGET_SSE) &&
12888 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12889 : : (TARGET_AVX512FP16))))
12890 : : return -1;
12891 : : return 2959; /* *avx512fp16_vmsqrtv8hf2_mask */
12892 : :
12893 : : case E_V4SFmode:
12894 : : if (pattern1267 (x2,
12895 : : E_V4SFmode,
12896 : : E_SFmode) != 0
12897 : : || !(
12898 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12899 : : (TARGET_AVX512F) &&
12900 : : #line 3104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12901 : : (TARGET_SSE)))
12902 : : return -1;
12903 : : return 2963; /* *sse_vmsqrtv4sf2_mask */
12904 : :
12905 : : case E_V2DFmode:
12906 : : if (pattern1267 (x2,
12907 : : E_V2DFmode,
12908 : : E_DFmode) != 0
12909 : : || !(
12910 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12911 : : (TARGET_AVX512F) && (
12912 : : #line 3104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12913 : : (TARGET_SSE) &&
12914 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12915 : : (TARGET_SSE2))))
12916 : : return -1;
12917 : : return 2967; /* *sse2_vmsqrtv2df2_mask */
12918 : :
12919 : : default:
12920 : : return -1;
12921 : : }
12922 : :
12923 : : case UNSPEC:
12924 : : if (XVECLEN (x10, 0) != 1
12925 : : || XINT (x10, 1) != 56
12926 : : || GET_MODE (x10) != E_HFmode)
12927 : : return -1;
12928 : : x6 = XEXP (x2, 2);
12929 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
12930 : : || pattern986 (x2,
12931 : : E_V8HFmode) != 0)
12932 : : return -1;
12933 : : x12 = XVECEXP (x10, 0, 0);
12934 : : operands[1] = x12;
12935 : : if (!nonimmediate_operand (operands[1], E_HFmode))
12936 : : return -1;
12937 : : x5 = XEXP (x3, 1);
12938 : : operands[3] = x5;
12939 : : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
12940 : : return -1;
12941 : : x7 = XEXP (x3, 2);
12942 : : operands[4] = x7;
12943 : : if (!register_operand (operands[4], E_QImode))
12944 : : return -1;
12945 : : x8 = XEXP (x2, 1);
12946 : : operands[2] = x8;
12947 : : if (!register_operand (operands[2], E_V8HFmode)
12948 : : || !(
12949 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12950 : : (TARGET_AVX512F) &&
12951 : : #line 3253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12952 : : (TARGET_AVX512FP16)))
12953 : : return -1;
12954 : : return 2998; /* *avx512fp16_vmrsqrtv8hf2 */
12955 : :
12956 : : case FLOAT_EXTEND:
12957 : : x6 = XEXP (x2, 2);
12958 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12959 : : return -1;
12960 : : x5 = XEXP (x3, 1);
12961 : : operands[3] = x5;
12962 : : x7 = XEXP (x3, 2);
12963 : : operands[4] = x7;
12964 : : if (!register_operand (operands[4], E_QImode))
12965 : : return -1;
12966 : : x8 = XEXP (x2, 1);
12967 : : operands[2] = x8;
12968 : : x11 = XEXP (x10, 0);
12969 : : switch (GET_CODE (x11))
12970 : : {
12971 : : case VEC_SELECT:
12972 : : if (GET_MODE (x11) != E_HFmode)
12973 : : return -1;
12974 : : x13 = XEXP (x11, 1);
12975 : : if (GET_CODE (x13) != PARALLEL
12976 : : || XVECLEN (x13, 0) != 1)
12977 : : return -1;
12978 : : x14 = XVECEXP (x13, 0, 0);
12979 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
12980 : : return -1;
12981 : : x15 = XEXP (x11, 0);
12982 : : operands[1] = x15;
12983 : : if (!register_operand (operands[1], E_V8HFmode))
12984 : : return -1;
12985 : : switch (GET_MODE (operands[0]))
12986 : : {
12987 : : case E_V2DFmode:
12988 : : if (pattern1448 (x2,
12989 : : E_V2DFmode,
12990 : : E_DFmode) != 0
12991 : : || !(
12992 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12993 : : (TARGET_AVX512F) &&
12994 : : #line 8339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12995 : : (TARGET_AVX512FP16)))
12996 : : return -1;
12997 : : return 4718; /* avx512fp16_vcvtsh2sd_mask */
12998 : :
12999 : : case E_V4SFmode:
13000 : : if (pattern1448 (x2,
13001 : : E_V4SFmode,
13002 : : E_SFmode) != 0
13003 : : || !(
13004 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13005 : : (TARGET_AVX512F) &&
13006 : : #line 8339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13007 : : (TARGET_AVX512FP16)))
13008 : : return -1;
13009 : : return 4722; /* avx512fp16_vcvtsh2ss_mask */
13010 : :
13011 : : default:
13012 : : return -1;
13013 : : }
13014 : :
13015 : : case SUBREG:
13016 : : case MEM:
13017 : : operands[1] = x11;
13018 : : if (!memory_operand (operands[1], E_HFmode))
13019 : : return -1;
13020 : : switch (GET_MODE (operands[0]))
13021 : : {
13022 : : case E_V2DFmode:
13023 : : if (pattern1448 (x2,
13024 : : E_V2DFmode,
13025 : : E_DFmode) != 0
13026 : : || !(
13027 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13028 : : (TARGET_AVX512F) &&
13029 : : #line 8353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13030 : : (TARGET_AVX512FP16)))
13031 : : return -1;
13032 : : return 4726; /* avx512fp16_vcvtsh2sd_mask_mem */
13033 : :
13034 : : case E_V4SFmode:
13035 : : if (pattern1448 (x2,
13036 : : E_V4SFmode,
13037 : : E_SFmode) != 0
13038 : : || !(
13039 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13040 : : (TARGET_AVX512F) &&
13041 : : #line 8353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13042 : : (TARGET_AVX512FP16)))
13043 : : return -1;
13044 : : return 4728; /* avx512fp16_vcvtsh2ss_mask_mem */
13045 : :
13046 : : default:
13047 : : return -1;
13048 : : }
13049 : :
13050 : : default:
13051 : : return -1;
13052 : : }
13053 : :
13054 : : case FLOAT_TRUNCATE:
13055 : : x11 = XEXP (x10, 0);
13056 : : switch (GET_CODE (x11))
13057 : : {
13058 : : case VEC_SELECT:
13059 : : x13 = XEXP (x11, 1);
13060 : : if (GET_CODE (x13) != PARALLEL
13061 : : || XVECLEN (x13, 0) != 1)
13062 : : return -1;
13063 : : x14 = XVECEXP (x13, 0, 0);
13064 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
13065 : : return -1;
13066 : : x6 = XEXP (x2, 2);
13067 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
13068 : : || pattern868 (x2,
13069 : : E_HFmode,
13070 : : E_V8HFmode) != 0)
13071 : : return -1;
13072 : : x15 = XEXP (x11, 0);
13073 : : operands[1] = x15;
13074 : : x5 = XEXP (x3, 1);
13075 : : operands[3] = x5;
13076 : : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
13077 : : return -1;
13078 : : x7 = XEXP (x3, 2);
13079 : : operands[4] = x7;
13080 : : if (!register_operand (operands[4], E_QImode))
13081 : : return -1;
13082 : : x8 = XEXP (x2, 1);
13083 : : operands[2] = x8;
13084 : : if (!register_operand (operands[2], E_V8HFmode))
13085 : : return -1;
13086 : : switch (GET_MODE (x11))
13087 : : {
13088 : : case E_DFmode:
13089 : : if (!register_operand (operands[1], E_V2DFmode)
13090 : : || !(
13091 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13092 : : (TARGET_AVX512F) &&
13093 : : #line 8369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13094 : : (TARGET_AVX512FP16)))
13095 : : return -1;
13096 : : return 4731; /* avx512fp16_vcvtsd2sh_mask */
13097 : :
13098 : : case E_SFmode:
13099 : : if (!register_operand (operands[1], E_V4SFmode)
13100 : : || !(
13101 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13102 : : (TARGET_AVX512F) &&
13103 : : #line 8369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13104 : : (TARGET_AVX512FP16)))
13105 : : return -1;
13106 : : return 4735; /* avx512fp16_vcvtss2sh_mask */
13107 : :
13108 : : default:
13109 : : return -1;
13110 : : }
13111 : :
13112 : : case REG:
13113 : : case SUBREG:
13114 : : case MEM:
13115 : : x7 = XEXP (x3, 2);
13116 : : switch (GET_CODE (x7))
13117 : : {
13118 : : case REG:
13119 : : case SUBREG:
13120 : : operands[4] = x7;
13121 : : if (!register_operand (operands[4], E_QImode))
13122 : : return -1;
13123 : : x6 = XEXP (x2, 2);
13124 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
13125 : : || pattern868 (x2,
13126 : : E_HFmode,
13127 : : E_V8HFmode) != 0)
13128 : : return -1;
13129 : : operands[1] = x11;
13130 : : x5 = XEXP (x3, 1);
13131 : : operands[3] = x5;
13132 : : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
13133 : : return -1;
13134 : : x8 = XEXP (x2, 1);
13135 : : operands[2] = x8;
13136 : : if (!register_operand (operands[2], E_V8HFmode))
13137 : : return -1;
13138 : : switch (GET_MODE (operands[1]))
13139 : : {
13140 : : case E_SFmode:
13141 : : if (!memory_operand (operands[1], E_SFmode)
13142 : : || !(
13143 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13144 : : (TARGET_AVX512F) &&
13145 : : #line 8383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13146 : : (TARGET_AVX512FP16)))
13147 : : return -1;
13148 : : return 4738; /* avx512fp16_vcvtss2sh_mask_mem */
13149 : :
13150 : : case E_DFmode:
13151 : : if (!memory_operand (operands[1], E_DFmode)
13152 : : || !(
13153 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13154 : : (TARGET_AVX512F) &&
13155 : : #line 8383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13156 : : (TARGET_AVX512FP16)))
13157 : : return -1;
13158 : : return 4740; /* avx512fp16_vcvtsd2sh_mask_mem */
13159 : :
13160 : : default:
13161 : : return -1;
13162 : : }
13163 : :
13164 : : case CONST_INT:
13165 : : if (XWINT (x7, 0) != 1L
13166 : : || pattern868 (x2,
13167 : : E_V2SFmode,
13168 : : E_V4SFmode) != 0
13169 : : || pattern1359 (x2,
13170 : : E_V4SFmode,
13171 : : E_V2DFmode) != 0
13172 : : || !(
13173 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13174 : : (TARGET_AVX512F) &&
13175 : : #line 10040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13176 : : (TARGET_SSE2)))
13177 : : return -1;
13178 : : return 5099; /* sse2_cvtsd2ss_mask */
13179 : :
13180 : : default:
13181 : : return -1;
13182 : : }
13183 : :
13184 : : default:
13185 : : return -1;
13186 : : }
13187 : :
13188 : : default:
13189 : : return -1;
13190 : : }
13191 : :
13192 : : case PLUS:
13193 : : switch (pattern294 (x2))
13194 : : {
13195 : : case 0:
13196 : : if (!(
13197 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13198 : : (TARGET_AVX512F) && (
13199 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13200 : : (TARGET_SSE) &&
13201 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13202 : : (TARGET_AVX512FP16))))
13203 : : return -1;
13204 : : return 2780; /* avx512fp16_vmaddv8hf3_mask */
13205 : :
13206 : : case 1:
13207 : : if (!(
13208 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13209 : : (TARGET_AVX512F) &&
13210 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13211 : : (TARGET_SSE)))
13212 : : return -1;
13213 : : return 2788; /* sse_vmaddv4sf3_mask */
13214 : :
13215 : : case 2:
13216 : : if (!(
13217 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13218 : : (TARGET_AVX512F) && (
13219 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13220 : : (TARGET_SSE) &&
13221 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13222 : : (TARGET_SSE2))))
13223 : : return -1;
13224 : : return 2796; /* sse2_vmaddv2df3_mask */
13225 : :
13226 : : default:
13227 : : return -1;
13228 : : }
13229 : :
13230 : : case MINUS:
13231 : : switch (pattern294 (x2))
13232 : : {
13233 : : case 0:
13234 : : if (!(
13235 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13236 : : (TARGET_AVX512F) && (
13237 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13238 : : (TARGET_SSE) &&
13239 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13240 : : (TARGET_AVX512FP16))))
13241 : : return -1;
13242 : : return 2784; /* avx512fp16_vmsubv8hf3_mask */
13243 : :
13244 : : case 1:
13245 : : if (!(
13246 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13247 : : (TARGET_AVX512F) &&
13248 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13249 : : (TARGET_SSE)))
13250 : : return -1;
13251 : : return 2792; /* sse_vmsubv4sf3_mask */
13252 : :
13253 : : case 2:
13254 : : if (!(
13255 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13256 : : (TARGET_AVX512F) && (
13257 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13258 : : (TARGET_SSE) &&
13259 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13260 : : (TARGET_SSE2))))
13261 : : return -1;
13262 : : return 2800; /* sse2_vmsubv2df3_mask */
13263 : :
13264 : : default:
13265 : : return -1;
13266 : : }
13267 : :
13268 : : case MULT:
13269 : : switch (pattern294 (x2))
13270 : : {
13271 : : case 0:
13272 : : if (!(
13273 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13274 : : (TARGET_AVX512F) && (
13275 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13276 : : (TARGET_SSE) &&
13277 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13278 : : (TARGET_AVX512FP16))))
13279 : : return -1;
13280 : : return 2846; /* avx512fp16_vmmulv8hf3_mask */
13281 : :
13282 : : case 1:
13283 : : if (!(
13284 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13285 : : (TARGET_AVX512F) &&
13286 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13287 : : (TARGET_SSE)))
13288 : : return -1;
13289 : : return 2854; /* sse_vmmulv4sf3_mask */
13290 : :
13291 : : case 2:
13292 : : if (!(
13293 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13294 : : (TARGET_AVX512F) && (
13295 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13296 : : (TARGET_SSE) &&
13297 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13298 : : (TARGET_SSE2))))
13299 : : return -1;
13300 : : return 2862; /* sse2_vmmulv2df3_mask */
13301 : :
13302 : : default:
13303 : : return -1;
13304 : : }
13305 : :
13306 : : case DIV:
13307 : : switch (pattern294 (x2))
13308 : : {
13309 : : case 0:
13310 : : if (!(
13311 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13312 : : (TARGET_AVX512F) && (
13313 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13314 : : (TARGET_SSE) &&
13315 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13316 : : (TARGET_AVX512FP16))))
13317 : : return -1;
13318 : : return 2850; /* avx512fp16_vmdivv8hf3_mask */
13319 : :
13320 : : case 1:
13321 : : if (!(
13322 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13323 : : (TARGET_AVX512F) &&
13324 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13325 : : (TARGET_SSE)))
13326 : : return -1;
13327 : : return 2858; /* sse_vmdivv4sf3_mask */
13328 : :
13329 : : case 2:
13330 : : if (!(
13331 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13332 : : (TARGET_AVX512F) && (
13333 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13334 : : (TARGET_SSE) &&
13335 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13336 : : (TARGET_SSE2))))
13337 : : return -1;
13338 : : return 2866; /* sse2_vmdivv2df3_mask */
13339 : :
13340 : : default:
13341 : : return -1;
13342 : : }
13343 : :
13344 : : case UNSPEC:
13345 : : return recog_150 (x1, insn, pnum_clobbers);
13346 : :
13347 : : case SQRT:
13348 : : x6 = XEXP (x2, 2);
13349 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13350 : : return -1;
13351 : : x10 = XEXP (x4, 0);
13352 : : operands[1] = x10;
13353 : : x5 = XEXP (x3, 1);
13354 : : operands[3] = x5;
13355 : : x7 = XEXP (x3, 2);
13356 : : operands[4] = x7;
13357 : : if (!register_operand (operands[4], E_QImode))
13358 : : return -1;
13359 : : x8 = XEXP (x2, 1);
13360 : : operands[2] = x8;
13361 : : switch (GET_MODE (operands[0]))
13362 : : {
13363 : : case E_V8HFmode:
13364 : : if (pattern1201 (x2,
13365 : : E_V8HFmode) != 0
13366 : : || !(
13367 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13368 : : (TARGET_AVX512F) && (
13369 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13370 : : (TARGET_SSE) &&
13371 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13372 : : (TARGET_AVX512FP16))))
13373 : : return -1;
13374 : : return 2947; /* avx512fp16_vmsqrtv8hf2_mask */
13375 : :
13376 : : case E_V4SFmode:
13377 : : if (pattern1201 (x2,
13378 : : E_V4SFmode) != 0
13379 : : || !(
13380 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13381 : : (TARGET_AVX512F) &&
13382 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13383 : : (TARGET_SSE)))
13384 : : return -1;
13385 : : return 2951; /* sse_vmsqrtv4sf2_mask */
13386 : :
13387 : : case E_V2DFmode:
13388 : : if (pattern1201 (x2,
13389 : : E_V2DFmode) != 0
13390 : : || !(
13391 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13392 : : (TARGET_AVX512F) && (
13393 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13394 : : (TARGET_SSE) &&
13395 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13396 : : (TARGET_SSE2))))
13397 : : return -1;
13398 : : return 2955; /* sse2_vmsqrtv2df2_mask */
13399 : :
13400 : : default:
13401 : : return -1;
13402 : : }
13403 : :
13404 : : case SMAX:
13405 : : switch (pattern294 (x2))
13406 : : {
13407 : : case 0:
13408 : : if (!(
13409 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13410 : : (TARGET_AVX512F) && (
13411 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13412 : : (TARGET_SSE) &&
13413 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13414 : : (TARGET_AVX512FP16))))
13415 : : return -1;
13416 : : return 3115; /* *avx512fp16_vmsmaxv8hf3_mask */
13417 : :
13418 : : case 1:
13419 : : if (!(
13420 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13421 : : (TARGET_AVX512F) &&
13422 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13423 : : (TARGET_SSE)))
13424 : : return -1;
13425 : : return 3123; /* *sse_vmsmaxv4sf3_mask */
13426 : :
13427 : : case 2:
13428 : : if (!(
13429 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13430 : : (TARGET_AVX512F) && (
13431 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13432 : : (TARGET_SSE) &&
13433 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13434 : : (TARGET_SSE2))))
13435 : : return -1;
13436 : : return 3131; /* *sse2_vmsmaxv2df3_mask */
13437 : :
13438 : : default:
13439 : : return -1;
13440 : : }
13441 : :
13442 : : case SMIN:
13443 : : switch (pattern294 (x2))
13444 : : {
13445 : : case 0:
13446 : : if (!(
13447 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13448 : : (TARGET_AVX512F) && (
13449 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13450 : : (TARGET_SSE) &&
13451 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13452 : : (TARGET_AVX512FP16))))
13453 : : return -1;
13454 : : return 3119; /* *avx512fp16_vmsminv8hf3_mask */
13455 : :
13456 : : case 1:
13457 : : if (!(
13458 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13459 : : (TARGET_AVX512F) &&
13460 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13461 : : (TARGET_SSE)))
13462 : : return -1;
13463 : : return 3127; /* *sse_vmsminv4sf3_mask */
13464 : :
13465 : : case 2:
13466 : : if (!(
13467 : : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13468 : : (TARGET_AVX512F) && (
13469 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13470 : : (TARGET_SSE) &&
13471 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13472 : : (TARGET_SSE2))))
13473 : : return -1;
13474 : : return 3135; /* *sse2_vmsminv2df3_mask */
13475 : :
13476 : : default:
13477 : : return -1;
13478 : : }
13479 : :
13480 : : case FMA:
13481 : : return recog_149 (x1, insn, pnum_clobbers);
13482 : :
13483 : : case FLOAT_EXTEND:
13484 : : if (pattern295 (x4,
13485 : : 1,
13486 : : E_V2SFmode,
13487 : : E_V2DFmode) != 0)
13488 : : return -1;
13489 : : x7 = XEXP (x3, 2);
13490 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
13491 : : || !register_operand (operands[0], E_V2DFmode)
13492 : : || GET_MODE (x2) != E_V2DFmode
13493 : : || GET_MODE (x3) != E_V2DFmode
13494 : : || pattern1359 (x2,
13495 : : E_V2DFmode,
13496 : : E_V4SFmode) != 0
13497 : : || !(
13498 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13499 : : (TARGET_AVX512F) &&
13500 : : #line 10084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13501 : : (TARGET_SSE2)))
13502 : : return -1;
13503 : : return 5104; /* sse2_cvtss2sd_mask */
13504 : :
13505 : : default:
13506 : : return -1;
13507 : : }
13508 : : }
13509 : :
13510 : : int
13511 : : recog_200 (rtx x1 ATTRIBUTE_UNUSED,
13512 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13513 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13514 : : {
13515 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13516 : : rtx x2;
13517 : : int res ATTRIBUTE_UNUSED;
13518 : : x2 = XEXP (x1, 1);
13519 : : switch (pattern132 (x2))
13520 : : {
13521 : : case 0:
13522 : : if (!(
13523 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13524 : : (TARGET_AVX512F) && (
13525 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13526 : : (TARGET_SSE
13527 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13528 : : && (64 == 64 || TARGET_AVX512VL)
13529 : : && 1) &&
13530 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13531 : : (TARGET_AVX512FP16))))
13532 : : return -1;
13533 : : return 3005; /* *sminv32hf3_mask */
13534 : :
13535 : : case 1:
13536 : : if (!(
13537 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13538 : : (TARGET_AVX512F) && (
13539 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13540 : : (TARGET_SSE
13541 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13542 : : && (32 == 64 || TARGET_AVX512VL)
13543 : : && 1) &&
13544 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13545 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13546 : : return -1;
13547 : : return 3010; /* *sminv16hf3_mask */
13548 : :
13549 : : case 2:
13550 : : if (!(
13551 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13552 : : (TARGET_AVX512F) && (
13553 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13554 : : (TARGET_SSE
13555 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13556 : : && (16 == 64 || TARGET_AVX512VL)
13557 : : && 1) &&
13558 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13559 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13560 : : return -1;
13561 : : return 3014; /* *sminv8hf3_mask */
13562 : :
13563 : : case 3:
13564 : : if (!(
13565 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13566 : : (TARGET_AVX512F) && (
13567 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13568 : : (TARGET_SSE
13569 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13570 : : && (64 == 64 || TARGET_AVX512VL)
13571 : : && 1) &&
13572 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13573 : : (TARGET_AVX512F))))
13574 : : return -1;
13575 : : return 3021; /* *sminv16sf3_mask */
13576 : :
13577 : : case 4:
13578 : : if (!(
13579 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13580 : : (TARGET_AVX512F) && (
13581 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13582 : : (TARGET_SSE
13583 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13584 : : && (32 == 64 || TARGET_AVX512VL)
13585 : : && 1) &&
13586 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13587 : : (TARGET_AVX))))
13588 : : return -1;
13589 : : return 3026; /* *sminv8sf3_mask */
13590 : :
13591 : : case 5:
13592 : : if (!(
13593 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13594 : : (TARGET_AVX512F) &&
13595 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13596 : : (TARGET_SSE
13597 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13598 : : && (16 == 64 || TARGET_AVX512VL)
13599 : : && 1)))
13600 : : return -1;
13601 : : return 3030; /* *sminv4sf3_mask */
13602 : :
13603 : : case 6:
13604 : : if (!(
13605 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13606 : : (TARGET_AVX512F) && (
13607 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13608 : : (TARGET_SSE
13609 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13610 : : && (64 == 64 || TARGET_AVX512VL)
13611 : : && 1) &&
13612 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13613 : : (TARGET_AVX512F))))
13614 : : return -1;
13615 : : return 3037; /* *sminv8df3_mask */
13616 : :
13617 : : case 7:
13618 : : if (!(
13619 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13620 : : (TARGET_AVX512F) && (
13621 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13622 : : (TARGET_SSE
13623 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13624 : : && (32 == 64 || TARGET_AVX512VL)
13625 : : && 1) &&
13626 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13627 : : (TARGET_AVX))))
13628 : : return -1;
13629 : : return 3042; /* *sminv4df3_mask */
13630 : :
13631 : : case 8:
13632 : : if (!(
13633 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13634 : : (TARGET_AVX512F) && (
13635 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13636 : : (TARGET_SSE
13637 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13638 : : && (16 == 64 || TARGET_AVX512VL)
13639 : : && 1) &&
13640 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13641 : : (TARGET_SSE2))))
13642 : : return -1;
13643 : : return 3046; /* *sminv2df3_mask */
13644 : :
13645 : : case 9:
13646 : : if (!(
13647 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13648 : : (TARGET_AVX512F) &&
13649 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13650 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13651 : : return -1;
13652 : : return 7726; /* *avx512f_sminv16si3_mask */
13653 : :
13654 : : case 10:
13655 : : if (!(
13656 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13657 : : (TARGET_AVX512F) && (
13658 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13659 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13660 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13661 : : (TARGET_AVX512VL))))
13662 : : return -1;
13663 : : return 7734; /* *avx512f_sminv8si3_mask */
13664 : :
13665 : : case 11:
13666 : : if (nonimmediate_operand (operands[1], E_V4SImode)
13667 : : && nonimmediate_operand (operands[2], E_V4SImode)
13668 : : && (
13669 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13670 : : (TARGET_AVX512F) && (
13671 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13672 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13673 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13674 : : (TARGET_AVX512VL))))
13675 : : return 7742; /* *avx512f_sminv4si3_mask */
13676 : : if (!vector_operand (operands[1], E_V4SImode)
13677 : : || !vector_operand (operands[2], E_V4SImode)
13678 : : || !(
13679 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13680 : : (TARGET_AVX512F) &&
13681 : : #line 17843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13682 : : (TARGET_SSE4_1
13683 : : && (16 == 64 || TARGET_AVX512VL)
13684 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13685 : : return -1;
13686 : : return 7826; /* *sse4_1_sminv4si3_mask */
13687 : :
13688 : : case 12:
13689 : : if (!(
13690 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13691 : : (TARGET_AVX512F) &&
13692 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13693 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13694 : : return -1;
13695 : : return 7750; /* *avx512f_sminv8di3_mask */
13696 : :
13697 : : case 13:
13698 : : if (!(
13699 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13700 : : (TARGET_AVX512F) && (
13701 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13702 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13703 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13704 : : (TARGET_AVX512VL))))
13705 : : return -1;
13706 : : return 7758; /* *avx512f_sminv4di3_mask */
13707 : :
13708 : : case 14:
13709 : : if (!(
13710 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13711 : : (TARGET_AVX512F) && (
13712 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13713 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13714 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13715 : : (TARGET_AVX512VL))))
13716 : : return -1;
13717 : : return 7766; /* *avx512f_sminv2di3_mask */
13718 : :
13719 : : case 15:
13720 : : if (!(
13721 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13722 : : (TARGET_AVX512F) &&
13723 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13724 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13725 : : return -1;
13726 : : return 7774; /* *avx512bw_sminv64qi3_mask */
13727 : :
13728 : : case 16:
13729 : : if (nonimmediate_operand (operands[1], E_V16QImode)
13730 : : && nonimmediate_operand (operands[2], E_V16QImode)
13731 : : && (
13732 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13733 : : (TARGET_AVX512F) && (
13734 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13735 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13736 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13737 : : (TARGET_AVX512VL))))
13738 : : return 7782; /* *avx512bw_sminv16qi3_mask */
13739 : : if (!vector_operand (operands[1], E_V16QImode)
13740 : : || !vector_operand (operands[2], E_V16QImode)
13741 : : || !(
13742 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13743 : : (TARGET_AVX512F) &&
13744 : : #line 17843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13745 : : (TARGET_SSE4_1
13746 : : && (16 == 64 || TARGET_AVX512VL)
13747 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13748 : : return -1;
13749 : : return 7822; /* *sse4_1_sminv16qi3_mask */
13750 : :
13751 : : case 17:
13752 : : if (!(
13753 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13754 : : (TARGET_AVX512F) && (
13755 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13756 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13757 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13758 : : (TARGET_AVX512VL))))
13759 : : return -1;
13760 : : return 7790; /* *avx512bw_sminv32qi3_mask */
13761 : :
13762 : : case 18:
13763 : : if (!(
13764 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13765 : : (TARGET_AVX512F) &&
13766 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13767 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13768 : : return -1;
13769 : : return 7798; /* *avx512bw_sminv32hi3_mask */
13770 : :
13771 : : case 19:
13772 : : if (!(
13773 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13774 : : (TARGET_AVX512F) && (
13775 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13776 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13777 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13778 : : (TARGET_AVX512VL))))
13779 : : return -1;
13780 : : return 7806; /* *avx512bw_sminv16hi3_mask */
13781 : :
13782 : : case 20:
13783 : : if (!(
13784 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13785 : : (TARGET_AVX512F) && (
13786 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13787 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13788 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13789 : : (TARGET_AVX512VL))))
13790 : : return -1;
13791 : : return 7814; /* *avx512bw_sminv8hi3_mask */
13792 : :
13793 : : case 21:
13794 : : if (!(
13795 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13796 : : (TARGET_AVX512F) &&
13797 : : #line 32259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13798 : : (TARGET_AVX10_2)))
13799 : : return -1;
13800 : : return 10567; /* avx10_2_sminbf16_v32bf_mask */
13801 : :
13802 : : case 22:
13803 : : if (!(
13804 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13805 : : (TARGET_AVX512F) &&
13806 : : #line 32259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13807 : : (TARGET_AVX10_2)))
13808 : : return -1;
13809 : : return 10571; /* avx10_2_sminbf16_v16bf_mask */
13810 : :
13811 : : case 23:
13812 : : if (!(
13813 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13814 : : (TARGET_AVX512F) &&
13815 : : #line 32259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13816 : : (TARGET_AVX10_2)))
13817 : : return -1;
13818 : : return 10575; /* avx10_2_sminbf16_v8bf_mask */
13819 : :
13820 : : case 24:
13821 : : if (!(
13822 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13823 : : (TARGET_SSE) &&
13824 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13825 : : (TARGET_AVX512FP16)))
13826 : : return -1;
13827 : : return 3118; /* *avx512fp16_vmsminv8hf3 */
13828 : :
13829 : : case 25:
13830 : : if (!
13831 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13832 : : (TARGET_SSE))
13833 : : return -1;
13834 : : return 3126; /* *sse_vmsminv4sf3 */
13835 : :
13836 : : case 26:
13837 : : if (!(
13838 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13839 : : (TARGET_SSE) &&
13840 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13841 : : (TARGET_SSE2)))
13842 : : return -1;
13843 : : return 3134; /* *sse2_vmsminv2df3 */
13844 : :
13845 : : default:
13846 : : return -1;
13847 : : }
13848 : : }
13849 : :
13850 : : int
13851 : : recog_213 (rtx x1 ATTRIBUTE_UNUSED,
13852 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13853 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13854 : : {
13855 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13856 : : rtx x2;
13857 : : int res ATTRIBUTE_UNUSED;
13858 : : x2 = XEXP (x1, 1);
13859 : : switch (pattern311 (x2))
13860 : : {
13861 : : case 0:
13862 : : if (!register_operand (operands[0], E_V32HImode)
13863 : : || GET_MODE (x2) != E_V32HImode
13864 : : || !vector_operand (operands[1], E_V32HFmode)
13865 : : || !
13866 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13867 : : (TARGET_AVX512FP16))
13868 : : return -1;
13869 : : return 4362; /* avx512fp16_vcvtph2uw_v32hi */
13870 : :
13871 : : case 1:
13872 : : if (!register_operand (operands[0], E_V16SImode)
13873 : : || GET_MODE (x2) != E_V16SImode)
13874 : : return -1;
13875 : : switch (GET_MODE (operands[1]))
13876 : : {
13877 : : case E_V16HFmode:
13878 : : if (!vector_operand (operands[1], E_V16HFmode)
13879 : : || !
13880 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13881 : : (TARGET_AVX512FP16))
13882 : : return -1;
13883 : : return 4370; /* avx512fp16_vcvtph2udq_v16si */
13884 : :
13885 : : case E_V16SFmode:
13886 : : if (!nonimmediate_operand (operands[1], E_V16SFmode)
13887 : : || !
13888 : : #line 8747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13889 : : (TARGET_AVX512F))
13890 : : return -1;
13891 : : return 4798; /* *avx512f_fixuns_notruncv16sfv16si */
13892 : :
13893 : : default:
13894 : : return -1;
13895 : : }
13896 : :
13897 : : case 2:
13898 : : switch (pattern755 (x2,
13899 : : E_V8DImode))
13900 : : {
13901 : : case 0:
13902 : : if (!
13903 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13904 : : (TARGET_AVX512FP16))
13905 : : return -1;
13906 : : return 4378; /* avx512fp16_vcvtph2uqq_v8di */
13907 : :
13908 : : case 1:
13909 : : if (!
13910 : : #line 8780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13911 : : (TARGET_AVX512DQ && 1))
13912 : : return -1;
13913 : : return 4818; /* *avx512dq_cvtps2uqqv8di */
13914 : :
13915 : : case 2:
13916 : : if (!
13917 : : #line 9758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13918 : : (TARGET_AVX512DQ && 1))
13919 : : return -1;
13920 : : return 5044; /* fixuns_notruncv8dfv8di2 */
13921 : :
13922 : : default:
13923 : : return -1;
13924 : : }
13925 : :
13926 : : case 3:
13927 : : if (!register_operand (operands[0], E_V16HImode)
13928 : : || GET_MODE (x2) != E_V16HImode
13929 : : || !vector_operand (operands[1], E_V16HFmode)
13930 : : || !(
13931 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13932 : : (TARGET_AVX512FP16) &&
13933 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13934 : : (TARGET_AVX512VL)))
13935 : : return -1;
13936 : : return 4386; /* avx512fp16_vcvtph2uw_v16hi */
13937 : :
13938 : : case 4:
13939 : : switch (pattern755 (x2,
13940 : : E_V8SImode))
13941 : : {
13942 : : case 0:
13943 : : if (!(
13944 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13945 : : (TARGET_AVX512FP16) &&
13946 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13947 : : (TARGET_AVX512VL)))
13948 : : return -1;
13949 : : return 4394; /* avx512fp16_vcvtph2udq_v8si */
13950 : :
13951 : : case 1:
13952 : : if (!(
13953 : : #line 8747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13954 : : (TARGET_AVX512F) &&
13955 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13956 : : (TARGET_AVX512VL)))
13957 : : return -1;
13958 : : return 4802; /* *avx512vl_fixuns_notruncv8sfv8si */
13959 : :
13960 : : case 2:
13961 : : if (!
13962 : : #line 9539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13963 : : (TARGET_AVX512F))
13964 : : return -1;
13965 : : return 4964; /* fixuns_notruncv8dfv8si2 */
13966 : :
13967 : : default:
13968 : : return -1;
13969 : : }
13970 : :
13971 : : case 5:
13972 : : switch (pattern756 (x2,
13973 : : E_V4DImode))
13974 : : {
13975 : : case 0:
13976 : : if (!(
13977 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13978 : : (TARGET_AVX512FP16) &&
13979 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13980 : : (TARGET_AVX512VL)))
13981 : : return -1;
13982 : : return 4402; /* avx512fp16_vcvtph2uqq_v4di */
13983 : :
13984 : : case 1:
13985 : : if (!(
13986 : : #line 8780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13987 : : (TARGET_AVX512DQ && 1) &&
13988 : : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13989 : : (TARGET_AVX512VL)))
13990 : : return -1;
13991 : : return 4822; /* *avx512dq_cvtps2uqqv4di */
13992 : :
13993 : : case 2:
13994 : : if (!(
13995 : : #line 9758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13996 : : (TARGET_AVX512DQ && 1) &&
13997 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13998 : : (TARGET_AVX512VL)))
13999 : : return -1;
14000 : : return 5048; /* fixuns_notruncv4dfv4di2 */
14001 : :
14002 : : default:
14003 : : return -1;
14004 : : }
14005 : :
14006 : : case 6:
14007 : : if (!register_operand (operands[0], E_V8HImode)
14008 : : || GET_MODE (x2) != E_V8HImode
14009 : : || !vector_operand (operands[1], E_V8HFmode)
14010 : : || !(
14011 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14012 : : (TARGET_AVX512FP16) &&
14013 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14014 : : (TARGET_AVX512VL)))
14015 : : return -1;
14016 : : return 4410; /* avx512fp16_vcvtph2uw_v8hi */
14017 : :
14018 : : case 7:
14019 : : switch (pattern756 (x2,
14020 : : E_V4SImode))
14021 : : {
14022 : : case 0:
14023 : : if (!(
14024 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14025 : : (TARGET_AVX512FP16) &&
14026 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14027 : : (TARGET_AVX512VL)))
14028 : : return -1;
14029 : : return 4418; /* avx512fp16_vcvtph2udq_v4si */
14030 : :
14031 : : case 1:
14032 : : if (!(
14033 : : #line 8747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14034 : : (TARGET_AVX512F) &&
14035 : : #line 648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14036 : : (TARGET_AVX512VL)))
14037 : : return -1;
14038 : : return 4806; /* *avx512vl_fixuns_notruncv4sfv4si */
14039 : :
14040 : : case 2:
14041 : : if (!(
14042 : : #line 9539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14043 : : (TARGET_AVX512F) &&
14044 : : #line 464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14045 : : (TARGET_AVX512VL)))
14046 : : return -1;
14047 : : return 4968; /* fixuns_notruncv4dfv4si2 */
14048 : :
14049 : : default:
14050 : : return -1;
14051 : : }
14052 : :
14053 : : case 8:
14054 : : if (!register_operand (operands[0], E_V2DImode)
14055 : : || GET_MODE (x2) != E_V2DImode)
14056 : : return -1;
14057 : : switch (GET_MODE (operands[1]))
14058 : : {
14059 : : case E_V8HFmode:
14060 : : if (!vector_operand (operands[1], E_V8HFmode)
14061 : : || !(
14062 : : #line 7684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14063 : : (TARGET_AVX512FP16) &&
14064 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14065 : : (TARGET_AVX512VL)))
14066 : : return -1;
14067 : : return 4426; /* avx512fp16_vcvtph2uqq_v2di */
14068 : :
14069 : : case E_V2DFmode:
14070 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
14071 : : || !(
14072 : : #line 9758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14073 : : (TARGET_AVX512DQ && 1) &&
14074 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14075 : : (TARGET_AVX512VL)))
14076 : : return -1;
14077 : : return 5050; /* fixuns_notruncv2dfv2di2 */
14078 : :
14079 : : default:
14080 : : return -1;
14081 : : }
14082 : :
14083 : : case 9:
14084 : : if (!
14085 : : #line 8793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14086 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
14087 : : return -1;
14088 : : return 4824; /* *avx512dq_cvtps2uqqv2di */
14089 : :
14090 : : default:
14091 : : return -1;
14092 : : }
14093 : : }
14094 : :
14095 : : int
14096 : : recog_227 (rtx x1 ATTRIBUTE_UNUSED,
14097 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14098 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14099 : : {
14100 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14101 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14102 : : rtx x10, x11;
14103 : : int res ATTRIBUTE_UNUSED;
14104 : : x2 = XEXP (x1, 1);
14105 : : x3 = XVECEXP (x2, 0, 0);
14106 : : x4 = XEXP (x3, 0);
14107 : : switch (XVECLEN (x4, 0))
14108 : : {
14109 : : case 2:
14110 : : return recog_222 (x1, insn, pnum_clobbers);
14111 : :
14112 : : case 3:
14113 : : x5 = XVECEXP (x4, 0, 0);
14114 : : operands[1] = x5;
14115 : : x6 = XVECEXP (x4, 0, 1);
14116 : : operands[2] = x6;
14117 : : switch (XINT (x4, 1))
14118 : : {
14119 : : case 193:
14120 : : x7 = XEXP (x3, 2);
14121 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14122 : : return -1;
14123 : : x8 = XVECEXP (x4, 0, 2);
14124 : : operands[3] = x8;
14125 : : if (!const_0_to_255_operand (operands[3], E_SImode))
14126 : : return -1;
14127 : : switch (pattern1396 (x2))
14128 : : {
14129 : : case 0:
14130 : : if (!(
14131 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14132 : : (TARGET_AVX512F) && (
14133 : : #line 4038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14134 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
14135 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14136 : : (TARGET_AVX512FP16))))
14137 : : return -1;
14138 : : return 3214; /* reducesv8hf_round */
14139 : :
14140 : : case 1:
14141 : : if (!(
14142 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14143 : : (TARGET_AVX512F) &&
14144 : : #line 4038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14145 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode)))))
14146 : : return -1;
14147 : : return 3218; /* reducesv4sf_round */
14148 : :
14149 : : case 2:
14150 : : if (!(
14151 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14152 : : (TARGET_AVX512F) && (
14153 : : #line 4038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14154 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
14155 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14156 : : (TARGET_SSE2))))
14157 : : return -1;
14158 : : return 3222; /* reducesv2df_round */
14159 : :
14160 : : default:
14161 : : return -1;
14162 : : }
14163 : :
14164 : : case 134:
14165 : : return recog_221 (x1, insn, pnum_clobbers);
14166 : :
14167 : : case 218:
14168 : : switch (pattern1121 (x2))
14169 : : {
14170 : : case 0:
14171 : : if (!(
14172 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14173 : : (TARGET_AVX512F) &&
14174 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14175 : : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14176 : : || V32HFmode == V8DFmode
14177 : : || V32HFmode == V8DImode
14178 : : || V32HFmode == V16SImode
14179 : : || V32HFmode == V32HFmode))))
14180 : : return -1;
14181 : : return 4281; /* fma_fmaddc_v32hf_maskz_1_round */
14182 : :
14183 : : case 1:
14184 : : if (!(
14185 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14186 : : (TARGET_AVX512F) &&
14187 : : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14188 : : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
14189 : : || V32HFmode == V8DFmode
14190 : : || V32HFmode == V8DImode
14191 : : || V32HFmode == V16SImode
14192 : : || V32HFmode == V32HFmode))))
14193 : : return -1;
14194 : : return 4319; /* avx512bw_fmaddc_v32hf_mask_round */
14195 : :
14196 : : case 2:
14197 : : if (!(
14198 : : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14199 : : (TARGET_AVX512F) &&
14200 : : #line 7541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14201 : : (TARGET_AVX512FP16)))
14202 : : return -1;
14203 : : return 4344; /* avx512fp16_fma_fmaddcsh_v8hf_round */
14204 : :
14205 : : default:
14206 : : return -1;
14207 : : }
14208 : :
14209 : : case 220:
14210 : : switch (pattern1121 (x2))
14211 : : {
14212 : : case 0:
14213 : : if (!(
14214 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14215 : : (TARGET_AVX512F) &&
14216 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14217 : : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14218 : : || V32HFmode == V8DFmode
14219 : : || V32HFmode == V8DImode
14220 : : || V32HFmode == V16SImode
14221 : : || V32HFmode == V32HFmode))))
14222 : : return -1;
14223 : : return 4285; /* fma_fcmaddc_v32hf_maskz_1_round */
14224 : :
14225 : : case 1:
14226 : : if (!(
14227 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14228 : : (TARGET_AVX512F) &&
14229 : : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14230 : : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
14231 : : || V32HFmode == V8DFmode
14232 : : || V32HFmode == V8DImode
14233 : : || V32HFmode == V16SImode
14234 : : || V32HFmode == V32HFmode))))
14235 : : return -1;
14236 : : return 4321; /* avx512bw_fcmaddc_v32hf_mask_round */
14237 : :
14238 : : case 2:
14239 : : if (!(
14240 : : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14241 : : (TARGET_AVX512F) &&
14242 : : #line 7541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14243 : : (TARGET_AVX512FP16)))
14244 : : return -1;
14245 : : return 4348; /* avx512fp16_fma_fcmaddcsh_v8hf_round */
14246 : :
14247 : : default:
14248 : : return -1;
14249 : : }
14250 : :
14251 : : case 195:
14252 : : x8 = XVECEXP (x4, 0, 2);
14253 : : operands[3] = x8;
14254 : : if (!const_0_to_15_operand (operands[3], E_SImode))
14255 : : return -1;
14256 : : x9 = XVECEXP (x2, 0, 1);
14257 : : if (!const48_operand (x9, E_SImode))
14258 : : return -1;
14259 : : x7 = XEXP (x3, 2);
14260 : : switch (GET_CODE (x7))
14261 : : {
14262 : : case REG:
14263 : : case SUBREG:
14264 : : operands[5] = x7;
14265 : : x10 = XEXP (x3, 1);
14266 : : operands[4] = x10;
14267 : : operands[6] = x9;
14268 : : switch (GET_MODE (operands[0]))
14269 : : {
14270 : : case E_V16SFmode:
14271 : : if (pattern1641 (x2,
14272 : : E_V16SFmode,
14273 : : E_HImode) != 0
14274 : : || !(
14275 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14276 : : (TARGET_AVX512F) && (
14277 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14278 : : (TARGET_AVX512F) &&
14279 : : #line 29954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14280 : : (TARGET_AVX512DQ && (V16SFmode == V16SFmode
14281 : : || V16SFmode == V8DFmode
14282 : : || V16SFmode == V8DImode
14283 : : || V16SFmode == V16SImode
14284 : : || V16SFmode == V32HFmode)))))
14285 : : return -1;
14286 : : return 9933; /* avx512dq_rangepv16sf_mask_round */
14287 : :
14288 : : case E_V8DFmode:
14289 : : if (pattern1641 (x2,
14290 : : E_V8DFmode,
14291 : : E_QImode) != 0
14292 : : || !(
14293 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14294 : : (TARGET_AVX512F) && (
14295 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14296 : : (TARGET_AVX512F) &&
14297 : : #line 29954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14298 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14299 : : || V8DFmode == V8DFmode
14300 : : || V8DFmode == V8DImode
14301 : : || V8DFmode == V16SImode
14302 : : || V8DFmode == V32HFmode)))))
14303 : : return -1;
14304 : : return 9941; /* avx512dq_rangepv8df_mask_round */
14305 : :
14306 : : default:
14307 : : return -1;
14308 : : }
14309 : :
14310 : : case CONST_INT:
14311 : : if (XWINT (x7, 0) != 1L)
14312 : : return -1;
14313 : : operands[4] = x9;
14314 : : x10 = XEXP (x3, 1);
14315 : : if (!rtx_equal_p (x10, operands[1]))
14316 : : return -1;
14317 : : switch (GET_MODE (operands[0]))
14318 : : {
14319 : : case E_V4SFmode:
14320 : : if (pattern1394 (x2,
14321 : : E_V4SFmode) != 0
14322 : : || !(
14323 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14324 : : (TARGET_AVX512F) &&
14325 : : #line 29977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14326 : : (TARGET_AVX512DQ)))
14327 : : return -1;
14328 : : return 9948; /* avx512dq_rangesv4sf_round */
14329 : :
14330 : : case E_V2DFmode:
14331 : : if (pattern1394 (x2,
14332 : : E_V2DFmode) != 0
14333 : : || !(
14334 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14335 : : (TARGET_AVX512F) && (
14336 : : #line 29977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14337 : : (TARGET_AVX512DQ) &&
14338 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14339 : : (TARGET_SSE2))))
14340 : : return -1;
14341 : : return 9952; /* avx512dq_rangesv2df_round */
14342 : :
14343 : : default:
14344 : : return -1;
14345 : : }
14346 : :
14347 : : default:
14348 : : return -1;
14349 : : }
14350 : :
14351 : : case 167:
14352 : : x7 = XEXP (x3, 2);
14353 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14354 : : return -1;
14355 : : x8 = XVECEXP (x4, 0, 2);
14356 : : operands[3] = x8;
14357 : : if (!const_0_to_15_operand (operands[3], E_SImode))
14358 : : return -1;
14359 : : switch (pattern1396 (x2))
14360 : : {
14361 : : case 0:
14362 : : if (!(
14363 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14364 : : (TARGET_AVX512F) && (
14365 : : #line 30045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14366 : : (TARGET_AVX512F) &&
14367 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14368 : : (TARGET_AVX512FP16))))
14369 : : return -1;
14370 : : return 10016; /* avx512f_vgetmantv8hf_round */
14371 : :
14372 : : case 1:
14373 : : if (!
14374 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14375 : : (TARGET_AVX512F))
14376 : : return -1;
14377 : : return 10020; /* avx512f_vgetmantv4sf_round */
14378 : :
14379 : : case 2:
14380 : : if (!(
14381 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14382 : : (TARGET_AVX512F) && (
14383 : : #line 30045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14384 : : (TARGET_AVX512F) &&
14385 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14386 : : (TARGET_SSE2))))
14387 : : return -1;
14388 : : return 10024; /* avx512f_vgetmantv2df_round */
14389 : :
14390 : : default:
14391 : : return -1;
14392 : : }
14393 : :
14394 : : case 279:
14395 : : x8 = XVECEXP (x4, 0, 2);
14396 : : operands[3] = x8;
14397 : : if (!const_0_to_255_operand (operands[3], E_SImode))
14398 : : return -1;
14399 : : x9 = XVECEXP (x2, 0, 1);
14400 : : if (!const48_operand (x9, E_SImode))
14401 : : return -1;
14402 : : x7 = XEXP (x3, 2);
14403 : : switch (GET_CODE (x7))
14404 : : {
14405 : : case REG:
14406 : : case SUBREG:
14407 : : operands[5] = x7;
14408 : : x10 = XEXP (x3, 1);
14409 : : operands[4] = x10;
14410 : : operands[6] = x9;
14411 : : switch (GET_MODE (operands[0]))
14412 : : {
14413 : : case E_V32HFmode:
14414 : : if (pattern1641 (x2,
14415 : : E_V32HFmode,
14416 : : E_SImode) != 0
14417 : : || !(
14418 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14419 : : (TARGET_AVX512F) && (
14420 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14421 : : (TARGET_AVX512F) && (
14422 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14423 : : (TARGET_AVX10_2) &&
14424 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14425 : : (TARGET_AVX512FP16)))))
14426 : : return -1;
14427 : : return 10879; /* avx10_2_minmaxpv32hf_mask_round */
14428 : :
14429 : : case E_V16HFmode:
14430 : : if (pattern1641 (x2,
14431 : : E_V16HFmode,
14432 : : E_HImode) != 0
14433 : : || !(
14434 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14435 : : (TARGET_AVX512F) && (
14436 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14437 : : (TARGET_AVX512F) && (
14438 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14439 : : (TARGET_AVX10_2) &&
14440 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14441 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14442 : : return -1;
14443 : : return 10883; /* avx10_2_minmaxpv16hf_mask_round */
14444 : :
14445 : : case E_V8HFmode:
14446 : : if (pattern1641 (x2,
14447 : : E_V8HFmode,
14448 : : E_QImode) != 0
14449 : : || !(
14450 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14451 : : (TARGET_AVX512F) && (
14452 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14453 : : (TARGET_AVX512F) && (
14454 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14455 : : (TARGET_AVX10_2) &&
14456 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14457 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14458 : : return -1;
14459 : : return 10887; /* avx10_2_minmaxpv8hf_mask_round */
14460 : :
14461 : : case E_V16SFmode:
14462 : : if (pattern1641 (x2,
14463 : : E_V16SFmode,
14464 : : E_HImode) != 0
14465 : : || !(
14466 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14467 : : (TARGET_AVX512F) && (
14468 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14469 : : (TARGET_AVX512F) &&
14470 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14471 : : (TARGET_AVX10_2))))
14472 : : return -1;
14473 : : return 10891; /* avx10_2_minmaxpv16sf_mask_round */
14474 : :
14475 : : case E_V8SFmode:
14476 : : if (pattern1641 (x2,
14477 : : E_V8SFmode,
14478 : : E_QImode) != 0
14479 : : || !(
14480 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14481 : : (TARGET_AVX512F) && (
14482 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14483 : : (TARGET_AVX512F) && (
14484 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14485 : : (TARGET_AVX10_2) &&
14486 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14487 : : (TARGET_AVX512VL)))))
14488 : : return -1;
14489 : : return 10895; /* avx10_2_minmaxpv8sf_mask_round */
14490 : :
14491 : : case E_V4SFmode:
14492 : : if (pattern1641 (x2,
14493 : : E_V4SFmode,
14494 : : E_QImode) != 0
14495 : : || !(
14496 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14497 : : (TARGET_AVX512F) && (
14498 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14499 : : (TARGET_AVX512F) && (
14500 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14501 : : (TARGET_AVX10_2) &&
14502 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14503 : : (TARGET_AVX512VL)))))
14504 : : return -1;
14505 : : return 10899; /* avx10_2_minmaxpv4sf_mask_round */
14506 : :
14507 : : case E_V8DFmode:
14508 : : if (pattern1641 (x2,
14509 : : E_V8DFmode,
14510 : : E_QImode) != 0
14511 : : || !(
14512 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14513 : : (TARGET_AVX512F) && (
14514 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14515 : : (TARGET_AVX512F) &&
14516 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14517 : : (TARGET_AVX10_2))))
14518 : : return -1;
14519 : : return 10903; /* avx10_2_minmaxpv8df_mask_round */
14520 : :
14521 : : case E_V4DFmode:
14522 : : if (pattern1641 (x2,
14523 : : E_V4DFmode,
14524 : : E_QImode) != 0
14525 : : || !(
14526 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14527 : : (TARGET_AVX512F) && (
14528 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14529 : : (TARGET_AVX512F) && (
14530 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14531 : : (TARGET_AVX10_2) &&
14532 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14533 : : (TARGET_AVX512VL)))))
14534 : : return -1;
14535 : : return 10907; /* avx10_2_minmaxpv4df_mask_round */
14536 : :
14537 : : case E_V2DFmode:
14538 : : if (pattern1641 (x2,
14539 : : E_V2DFmode,
14540 : : E_QImode) != 0
14541 : : || !(
14542 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14543 : : (TARGET_AVX512F) && (
14544 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14545 : : (TARGET_AVX512F) && (
14546 : : #line 32794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14547 : : (TARGET_AVX10_2) &&
14548 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14549 : : (TARGET_AVX512VL)))))
14550 : : return -1;
14551 : : return 10911; /* avx10_2_minmaxpv2df_mask_round */
14552 : :
14553 : : default:
14554 : : return -1;
14555 : : }
14556 : :
14557 : : case CONST_INT:
14558 : : if (XWINT (x7, 0) != 1L)
14559 : : return -1;
14560 : : operands[4] = x9;
14561 : : switch (pattern1395 (x2))
14562 : : {
14563 : : case 0:
14564 : : if (!(
14565 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14566 : : (TARGET_AVX512F) && (
14567 : : #line 32809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14568 : : (TARGET_AVX10_2) &&
14569 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14570 : : (TARGET_AVX512FP16))))
14571 : : return -1;
14572 : : return 10914; /* avx10_2_minmaxsv8hf_round */
14573 : :
14574 : : case 1:
14575 : : if (!(
14576 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14577 : : (TARGET_AVX512F) &&
14578 : : #line 32809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14579 : : (TARGET_AVX10_2)))
14580 : : return -1;
14581 : : return 10918; /* avx10_2_minmaxsv4sf_round */
14582 : :
14583 : : case 2:
14584 : : if (!(
14585 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14586 : : (TARGET_AVX512F) && (
14587 : : #line 32809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14588 : : (TARGET_AVX10_2) &&
14589 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14590 : : (TARGET_SSE2))))
14591 : : return -1;
14592 : : return 10922; /* avx10_2_minmaxsv2df_round */
14593 : :
14594 : : default:
14595 : : return -1;
14596 : : }
14597 : :
14598 : : default:
14599 : : return -1;
14600 : : }
14601 : :
14602 : : default:
14603 : : return -1;
14604 : : }
14605 : :
14606 : : case 1:
14607 : : return recog_223 (x1, insn, pnum_clobbers);
14608 : :
14609 : : case 4:
14610 : : if (XINT (x4, 1) != 164)
14611 : : return -1;
14612 : : x5 = XVECEXP (x4, 0, 0);
14613 : : operands[1] = x5;
14614 : : x6 = XVECEXP (x4, 0, 1);
14615 : : operands[2] = x6;
14616 : : x8 = XVECEXP (x4, 0, 2);
14617 : : operands[3] = x8;
14618 : : x11 = XVECEXP (x4, 0, 3);
14619 : : operands[4] = x11;
14620 : : if (!const_0_to_255_operand (operands[4], E_SImode))
14621 : : return -1;
14622 : : x9 = XVECEXP (x2, 0, 1);
14623 : : if (!const48_operand (x9, E_SImode))
14624 : : return -1;
14625 : : x10 = XEXP (x3, 1);
14626 : : switch (GET_CODE (x10))
14627 : : {
14628 : : case CONST_INT:
14629 : : case CONST_DOUBLE:
14630 : : case CONST_VECTOR:
14631 : : operands[5] = x10;
14632 : : x7 = XEXP (x3, 2);
14633 : : operands[6] = x7;
14634 : : operands[7] = x9;
14635 : : switch (GET_MODE (operands[0]))
14636 : : {
14637 : : case E_V16SFmode:
14638 : : if (pattern1668 (x2,
14639 : : E_V16SFmode,
14640 : : E_V16SImode,
14641 : : E_HImode) != 0
14642 : : || !
14643 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14644 : : (TARGET_AVX512F))
14645 : : return -1;
14646 : : return 7043; /* avx512f_fixupimmv16sf_maskz_1_round */
14647 : :
14648 : : case E_V8SFmode:
14649 : : if (pattern1668 (x2,
14650 : : E_V8SFmode,
14651 : : E_V8SImode,
14652 : : E_QImode) != 0
14653 : : || !(
14654 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14655 : : (TARGET_AVX512F) && (
14656 : : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14657 : : (TARGET_AVX512F) &&
14658 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14659 : : (TARGET_AVX512VL))))
14660 : : return -1;
14661 : : return 7047; /* avx512vl_fixupimmv8sf_maskz_1_round */
14662 : :
14663 : : case E_V4SFmode:
14664 : : if (pattern1668 (x2,
14665 : : E_V4SFmode,
14666 : : E_V4SImode,
14667 : : E_QImode) != 0
14668 : : || !(
14669 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14670 : : (TARGET_AVX512F) && (
14671 : : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14672 : : (TARGET_AVX512F) &&
14673 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14674 : : (TARGET_AVX512VL))))
14675 : : return -1;
14676 : : return 7051; /* avx512vl_fixupimmv4sf_maskz_1_round */
14677 : :
14678 : : case E_V8DFmode:
14679 : : if (pattern1668 (x2,
14680 : : E_V8DFmode,
14681 : : E_V8DImode,
14682 : : E_QImode) != 0
14683 : : || !
14684 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14685 : : (TARGET_AVX512F))
14686 : : return -1;
14687 : : return 7055; /* avx512f_fixupimmv8df_maskz_1_round */
14688 : :
14689 : : case E_V4DFmode:
14690 : : if (pattern1668 (x2,
14691 : : E_V4DFmode,
14692 : : E_V4DImode,
14693 : : E_QImode) != 0
14694 : : || !(
14695 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14696 : : (TARGET_AVX512F) && (
14697 : : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14698 : : (TARGET_AVX512F) &&
14699 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14700 : : (TARGET_AVX512VL))))
14701 : : return -1;
14702 : : return 7059; /* avx512vl_fixupimmv4df_maskz_1_round */
14703 : :
14704 : : case E_V2DFmode:
14705 : : if (pattern1668 (x2,
14706 : : E_V2DFmode,
14707 : : E_V2DImode,
14708 : : E_QImode) != 0
14709 : : || !(
14710 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14711 : : (TARGET_AVX512F) && (
14712 : : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14713 : : (TARGET_AVX512F) &&
14714 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14715 : : (TARGET_AVX512VL))))
14716 : : return -1;
14717 : : return 7063; /* avx512vl_fixupimmv2df_maskz_1_round */
14718 : :
14719 : : default:
14720 : : return -1;
14721 : : }
14722 : :
14723 : : case REG:
14724 : : case SUBREG:
14725 : : x7 = XEXP (x3, 2);
14726 : : switch (GET_CODE (x7))
14727 : : {
14728 : : case REG:
14729 : : case SUBREG:
14730 : : operands[5] = x7;
14731 : : operands[6] = x9;
14732 : : if (!rtx_equal_p (x10, operands[1]))
14733 : : return -1;
14734 : : switch (GET_MODE (operands[0]))
14735 : : {
14736 : : case E_V16SFmode:
14737 : : if (pattern1692 (x2,
14738 : : E_V16SImode,
14739 : : E_V16SFmode,
14740 : : E_HImode) != 0
14741 : : || !
14742 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14743 : : (TARGET_AVX512F))
14744 : : return -1;
14745 : : return 7065; /* avx512f_fixupimmv16sf_mask_round */
14746 : :
14747 : : case E_V8SFmode:
14748 : : if (pattern1692 (x2,
14749 : : E_V8SImode,
14750 : : E_V8SFmode,
14751 : : E_QImode) != 0
14752 : : || !(
14753 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14754 : : (TARGET_AVX512F) && (
14755 : : #line 14194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14756 : : (TARGET_AVX512F) &&
14757 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14758 : : (TARGET_AVX512VL))))
14759 : : return -1;
14760 : : return 7067; /* avx512vl_fixupimmv8sf_mask_round */
14761 : :
14762 : : case E_V4SFmode:
14763 : : if (pattern1692 (x2,
14764 : : E_V4SImode,
14765 : : E_V4SFmode,
14766 : : E_QImode) != 0
14767 : : || !(
14768 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14769 : : (TARGET_AVX512F) && (
14770 : : #line 14194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14771 : : (TARGET_AVX512F) &&
14772 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14773 : : (TARGET_AVX512VL))))
14774 : : return -1;
14775 : : return 7069; /* avx512vl_fixupimmv4sf_mask_round */
14776 : :
14777 : : case E_V8DFmode:
14778 : : if (pattern1692 (x2,
14779 : : E_V8DImode,
14780 : : E_V8DFmode,
14781 : : E_QImode) != 0
14782 : : || !
14783 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14784 : : (TARGET_AVX512F))
14785 : : return -1;
14786 : : return 7071; /* avx512f_fixupimmv8df_mask_round */
14787 : :
14788 : : case E_V4DFmode:
14789 : : if (pattern1692 (x2,
14790 : : E_V4DImode,
14791 : : E_V4DFmode,
14792 : : E_QImode) != 0
14793 : : || !(
14794 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14795 : : (TARGET_AVX512F) && (
14796 : : #line 14194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14797 : : (TARGET_AVX512F) &&
14798 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14799 : : (TARGET_AVX512VL))))
14800 : : return -1;
14801 : : return 7073; /* avx512vl_fixupimmv4df_mask_round */
14802 : :
14803 : : case E_V2DFmode:
14804 : : if (pattern1692 (x2,
14805 : : E_V2DImode,
14806 : : E_V2DFmode,
14807 : : E_QImode) != 0
14808 : : || !(
14809 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14810 : : (TARGET_AVX512F) && (
14811 : : #line 14194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14812 : : (TARGET_AVX512F) &&
14813 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14814 : : (TARGET_AVX512VL))))
14815 : : return -1;
14816 : : return 7075; /* avx512vl_fixupimmv2df_mask_round */
14817 : :
14818 : : default:
14819 : : return -1;
14820 : : }
14821 : :
14822 : : case CONST_INT:
14823 : : if (XWINT (x7, 0) != 1L)
14824 : : return -1;
14825 : : operands[5] = x9;
14826 : : if (!rtx_equal_p (x10, operands[2]))
14827 : : return -1;
14828 : : switch (GET_MODE (operands[0]))
14829 : : {
14830 : : case E_V4SFmode:
14831 : : if (pattern1693 (x2,
14832 : : E_V4SImode,
14833 : : E_V4SFmode) != 0
14834 : : || !
14835 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14836 : : (TARGET_AVX512F))
14837 : : return -1;
14838 : : return 7077; /* avx512f_sfixupimmv4sf_round */
14839 : :
14840 : : case E_V2DFmode:
14841 : : if (pattern1693 (x2,
14842 : : E_V2DImode,
14843 : : E_V2DFmode) != 0
14844 : : || !(
14845 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14846 : : (TARGET_AVX512F) && (
14847 : : #line 14226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14848 : : (TARGET_AVX512F) &&
14849 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14850 : : (TARGET_SSE2))))
14851 : : return -1;
14852 : : return 7081; /* avx512f_sfixupimmv2df_round */
14853 : :
14854 : : default:
14855 : : return -1;
14856 : : }
14857 : :
14858 : : default:
14859 : : return -1;
14860 : : }
14861 : :
14862 : : default:
14863 : : return -1;
14864 : : }
14865 : :
14866 : : default:
14867 : : return -1;
14868 : : }
14869 : : }
14870 : :
14871 : : int
14872 : : recog_235 (rtx x1 ATTRIBUTE_UNUSED,
14873 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14874 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14875 : : {
14876 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14877 : : rtx x2, x3, x4, x5;
14878 : : int res ATTRIBUTE_UNUSED;
14879 : : x2 = XEXP (x1, 0);
14880 : : if (GET_CODE (x2) != REG
14881 : : || REGNO (x2) != 17)
14882 : : return -1;
14883 : : x3 = XEXP (x1, 1);
14884 : : x4 = XVECEXP (x3, 0, 0);
14885 : : operands[0] = x4;
14886 : : x5 = XVECEXP (x3, 0, 1);
14887 : : operands[1] = x5;
14888 : : switch (GET_MODE (operands[0]))
14889 : : {
14890 : : case E_V16QImode:
14891 : : if (!register_operand (operands[0], E_V16QImode)
14892 : : || !vector_operand (operands[1], E_V16QImode)
14893 : : || !
14894 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14895 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14896 : : return -1;
14897 : : return 8891; /* *sse4_1_ptestv16qi */
14898 : :
14899 : : case E_V8HImode:
14900 : : if (!register_operand (operands[0], E_V8HImode)
14901 : : || !vector_operand (operands[1], E_V8HImode)
14902 : : || !
14903 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14904 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14905 : : return -1;
14906 : : return 8892; /* *sse4_1_ptestv8hi */
14907 : :
14908 : : case E_V4SImode:
14909 : : if (!register_operand (operands[0], E_V4SImode)
14910 : : || !vector_operand (operands[1], E_V4SImode)
14911 : : || !
14912 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14913 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14914 : : return -1;
14915 : : return 8893; /* *sse4_1_ptestv4si */
14916 : :
14917 : : case E_V2DImode:
14918 : : if (!register_operand (operands[0], E_V2DImode)
14919 : : || !vector_operand (operands[1], E_V2DImode)
14920 : : || !
14921 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14922 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14923 : : return -1;
14924 : : return 8894; /* *sse4_1_ptestv2di */
14925 : :
14926 : : case E_V1TImode:
14927 : : if (!register_operand (operands[0], E_V1TImode)
14928 : : || !vector_operand (operands[1], E_V1TImode)
14929 : : || !
14930 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14931 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14932 : : return -1;
14933 : : return 8895; /* *sse4_1_ptestv1ti */
14934 : :
14935 : : case E_V4SFmode:
14936 : : if (!register_operand (operands[0], E_V4SFmode)
14937 : : || !vector_operand (operands[1], E_V4SFmode)
14938 : : || !
14939 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14940 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14941 : : return -1;
14942 : : return 8896; /* *sse4_1_ptestv4sf */
14943 : :
14944 : : case E_V2DFmode:
14945 : : if (!register_operand (operands[0], E_V2DFmode)
14946 : : || !vector_operand (operands[1], E_V2DFmode)
14947 : : || !
14948 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14949 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14950 : : return -1;
14951 : : return 8897; /* *sse4_1_ptestv2df */
14952 : :
14953 : : case E_V32QImode:
14954 : : if (!register_operand (operands[0], E_V32QImode)
14955 : : || !vector_operand (operands[1], E_V32QImode)
14956 : : || !(
14957 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14958 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14959 : : #line 585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14960 : : (TARGET_AVX)))
14961 : : return -1;
14962 : : return 8898; /* *avx_ptestv32qi */
14963 : :
14964 : : case E_V16HImode:
14965 : : if (!register_operand (operands[0], E_V16HImode)
14966 : : || !vector_operand (operands[1], E_V16HImode)
14967 : : || !(
14968 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14969 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14970 : : #line 585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14971 : : (TARGET_AVX)))
14972 : : return -1;
14973 : : return 8899; /* *avx_ptestv16hi */
14974 : :
14975 : : case E_V8SImode:
14976 : : if (!register_operand (operands[0], E_V8SImode)
14977 : : || !vector_operand (operands[1], E_V8SImode)
14978 : : || !(
14979 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14980 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14981 : : #line 586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14982 : : (TARGET_AVX)))
14983 : : return -1;
14984 : : return 8900; /* *avx_ptestv8si */
14985 : :
14986 : : case E_V4DImode:
14987 : : if (!register_operand (operands[0], E_V4DImode)
14988 : : || !vector_operand (operands[1], E_V4DImode)
14989 : : || !(
14990 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14991 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14992 : : #line 586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14993 : : (TARGET_AVX)))
14994 : : return -1;
14995 : : return 8901; /* *avx_ptestv4di */
14996 : :
14997 : : case E_V2TImode:
14998 : : if (!register_operand (operands[0], E_V2TImode)
14999 : : || !vector_operand (operands[1], E_V2TImode)
15000 : : || !(
15001 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15002 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
15003 : : #line 586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15004 : : (TARGET_AVX)))
15005 : : return -1;
15006 : : return 8902; /* *avx_ptestv2ti */
15007 : :
15008 : : case E_V8SFmode:
15009 : : if (!register_operand (operands[0], E_V8SFmode)
15010 : : || !vector_operand (operands[1], E_V8SFmode)
15011 : : || !(
15012 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15013 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
15014 : : #line 587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15015 : : (TARGET_AVX)))
15016 : : return -1;
15017 : : return 8903; /* *avx_ptestv8sf */
15018 : :
15019 : : case E_V4DFmode:
15020 : : if (!register_operand (operands[0], E_V4DFmode)
15021 : : || !vector_operand (operands[1], E_V4DFmode)
15022 : : || !(
15023 : : #line 25356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15024 : : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
15025 : : #line 587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15026 : : (TARGET_AVX)))
15027 : : return -1;
15028 : : return 8904; /* *avx_ptestv4df */
15029 : :
15030 : : default:
15031 : : return -1;
15032 : : }
15033 : : }
15034 : :
15035 : : int
15036 : : recog_236 (rtx x1 ATTRIBUTE_UNUSED,
15037 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15038 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15039 : : {
15040 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15041 : : rtx x2, x3, x4, x5;
15042 : : int res ATTRIBUTE_UNUSED;
15043 : : x2 = XEXP (x1, 0);
15044 : : operands[0] = x2;
15045 : : x3 = XEXP (x1, 1);
15046 : : x4 = XVECEXP (x3, 0, 0);
15047 : : operands[1] = x4;
15048 : : x5 = XVECEXP (x3, 0, 1);
15049 : : operands[2] = x5;
15050 : : switch (GET_MODE (operands[0]))
15051 : : {
15052 : : case E_V32HFmode:
15053 : : if (pattern761 (x3,
15054 : : E_V32HFmode) != 0
15055 : : || !(
15056 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15057 : : (TARGET_AVX512F) &&
15058 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15059 : : (TARGET_AVX512FP16)))
15060 : : return -1;
15061 : : return 7088; /* avx512bw_rndscalev32hf */
15062 : :
15063 : : case E_V16HFmode:
15064 : : if (pattern761 (x3,
15065 : : E_V16HFmode) != 0
15066 : : || !(
15067 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15068 : : (TARGET_AVX512F) &&
15069 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15070 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15071 : : return -1;
15072 : : return 7092; /* avx512vl_rndscalev16hf */
15073 : :
15074 : : case E_V8HFmode:
15075 : : if (pattern761 (x3,
15076 : : E_V8HFmode) != 0
15077 : : || !(
15078 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15079 : : (TARGET_AVX512F) &&
15080 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15081 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15082 : : return -1;
15083 : : return 7096; /* avx512fp16_rndscalev8hf */
15084 : :
15085 : : case E_V16SFmode:
15086 : : if (pattern761 (x3,
15087 : : E_V16SFmode) != 0
15088 : : || !
15089 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15090 : : (TARGET_AVX512F))
15091 : : return -1;
15092 : : return 7100; /* avx512f_rndscalev16sf */
15093 : :
15094 : : case E_V8SFmode:
15095 : : if (!register_operand (operands[0], E_V8SFmode)
15096 : : || GET_MODE (x3) != E_V8SFmode)
15097 : : return -1;
15098 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
15099 : : && const_0_to_255_operand (operands[2], E_SImode)
15100 : : && (
15101 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15102 : : (TARGET_AVX512F) &&
15103 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15104 : : (TARGET_AVX512VL)))
15105 : : return 7104; /* avx512vl_rndscalev8sf */
15106 : : if (!vector_operand (operands[1], E_V8SFmode)
15107 : : || !const_0_to_15_operand (operands[2], E_SImode)
15108 : : || !(
15109 : : #line 25517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15110 : : (TARGET_SSE4_1) &&
15111 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15112 : : (TARGET_AVX)))
15113 : : return -1;
15114 : : return 8920; /* avx_roundps256 */
15115 : :
15116 : : case E_V4SFmode:
15117 : : if (!register_operand (operands[0], E_V4SFmode)
15118 : : || GET_MODE (x3) != E_V4SFmode)
15119 : : return -1;
15120 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
15121 : : && const_0_to_255_operand (operands[2], E_SImode)
15122 : : && (
15123 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15124 : : (TARGET_AVX512F) &&
15125 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15126 : : (TARGET_AVX512VL)))
15127 : : return 7108; /* avx512vl_rndscalev4sf */
15128 : : if (!vector_operand (operands[1], E_V4SFmode)
15129 : : || !const_0_to_15_operand (operands[2], E_SImode)
15130 : : || !
15131 : : #line 25517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15132 : : (TARGET_SSE4_1))
15133 : : return -1;
15134 : : return 8921; /* sse4_1_roundps */
15135 : :
15136 : : case E_V8DFmode:
15137 : : if (pattern761 (x3,
15138 : : E_V8DFmode) != 0
15139 : : || !
15140 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15141 : : (TARGET_AVX512F))
15142 : : return -1;
15143 : : return 7112; /* avx512f_rndscalev8df */
15144 : :
15145 : : case E_V4DFmode:
15146 : : if (!register_operand (operands[0], E_V4DFmode)
15147 : : || GET_MODE (x3) != E_V4DFmode)
15148 : : return -1;
15149 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
15150 : : && const_0_to_255_operand (operands[2], E_SImode)
15151 : : && (
15152 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15153 : : (TARGET_AVX512F) &&
15154 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15155 : : (TARGET_AVX512VL)))
15156 : : return 7116; /* avx512vl_rndscalev4df */
15157 : : if (!vector_operand (operands[1], E_V4DFmode)
15158 : : || !const_0_to_15_operand (operands[2], E_SImode)
15159 : : || !(
15160 : : #line 25517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15161 : : (TARGET_SSE4_1) &&
15162 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15163 : : (TARGET_AVX)))
15164 : : return -1;
15165 : : return 8922; /* avx_roundpd256 */
15166 : :
15167 : : case E_V2DFmode:
15168 : : if (!register_operand (operands[0], E_V2DFmode)
15169 : : || GET_MODE (x3) != E_V2DFmode)
15170 : : return -1;
15171 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
15172 : : && const_0_to_255_operand (operands[2], E_SImode)
15173 : : && (
15174 : : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15175 : : (TARGET_AVX512F) &&
15176 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15177 : : (TARGET_AVX512VL)))
15178 : : return 7120; /* avx512vl_rndscalev2df */
15179 : : if (!vector_operand (operands[1], E_V2DFmode)
15180 : : || !const_0_to_15_operand (operands[2], E_SImode)
15181 : : || !(
15182 : : #line 25517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15183 : : (TARGET_SSE4_1) &&
15184 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15185 : : (TARGET_SSE2)))
15186 : : return -1;
15187 : : return 8923; /* sse4_1_roundpd */
15188 : :
15189 : : default:
15190 : : return -1;
15191 : : }
15192 : : }
15193 : :
15194 : : int
15195 : : recog_239 (rtx x1 ATTRIBUTE_UNUSED,
15196 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15197 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15198 : : {
15199 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15200 : : rtx x2, x3, x4, x5;
15201 : : int res ATTRIBUTE_UNUSED;
15202 : : x2 = XEXP (x1, 0);
15203 : : operands[0] = x2;
15204 : : x3 = XEXP (x1, 1);
15205 : : x4 = XVECEXP (x3, 0, 0);
15206 : : operands[1] = x4;
15207 : : x5 = XVECEXP (x3, 0, 1);
15208 : : operands[2] = x5;
15209 : : if (!const_0_to_255_operand (operands[2], E_SImode))
15210 : : return -1;
15211 : : switch (GET_MODE (operands[0]))
15212 : : {
15213 : : case E_V32HFmode:
15214 : : if (!register_operand (operands[0], E_V32HFmode)
15215 : : || GET_MODE (x3) != E_V32HFmode
15216 : : || !vector_operand (operands[1], E_V32HFmode)
15217 : : || !(
15218 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15219 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) &&
15220 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15221 : : (TARGET_AVX512FP16)))
15222 : : return -1;
15223 : : return 3176; /* *reducepv32hf */
15224 : :
15225 : : case E_V16HFmode:
15226 : : if (!register_operand (operands[0], E_V16HFmode)
15227 : : || GET_MODE (x3) != E_V16HFmode
15228 : : || !vector_operand (operands[1], E_V16HFmode)
15229 : : || !(
15230 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15231 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) &&
15232 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15233 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15234 : : return -1;
15235 : : return 3180; /* *reducepv16hf */
15236 : :
15237 : : case E_V8HFmode:
15238 : : if (!register_operand (operands[0], E_V8HFmode)
15239 : : || GET_MODE (x3) != E_V8HFmode
15240 : : || !vector_operand (operands[1], E_V8HFmode)
15241 : : || !(
15242 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15243 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
15244 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15245 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15246 : : return -1;
15247 : : return 3184; /* *reducepv8hf */
15248 : :
15249 : : case E_V16SFmode:
15250 : : if (!register_operand (operands[0], E_V16SFmode)
15251 : : || GET_MODE (x3) != E_V16SFmode
15252 : : || !vector_operand (operands[1], E_V16SFmode)
15253 : : || !
15254 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15255 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode))))
15256 : : return -1;
15257 : : return 3188; /* *reducepv16sf */
15258 : :
15259 : : case E_V8SFmode:
15260 : : if (!register_operand (operands[0], E_V8SFmode)
15261 : : || GET_MODE (x3) != E_V8SFmode
15262 : : || !vector_operand (operands[1], E_V8SFmode)
15263 : : || !(
15264 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15265 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) &&
15266 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15267 : : (TARGET_AVX512VL)))
15268 : : return -1;
15269 : : return 3192; /* *reducepv8sf */
15270 : :
15271 : : case E_V4SFmode:
15272 : : if (!register_operand (operands[0], E_V4SFmode)
15273 : : || GET_MODE (x3) != E_V4SFmode
15274 : : || !vector_operand (operands[1], E_V4SFmode)
15275 : : || !(
15276 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15277 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) &&
15278 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15279 : : (TARGET_AVX512VL)))
15280 : : return -1;
15281 : : return 3196; /* *reducepv4sf */
15282 : :
15283 : : case E_V8DFmode:
15284 : : if (!register_operand (operands[0], E_V8DFmode)
15285 : : || GET_MODE (x3) != E_V8DFmode
15286 : : || !vector_operand (operands[1], E_V8DFmode)
15287 : : || !
15288 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15289 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode))))
15290 : : return -1;
15291 : : return 3200; /* *reducepv8df */
15292 : :
15293 : : case E_V4DFmode:
15294 : : if (!register_operand (operands[0], E_V4DFmode)
15295 : : || GET_MODE (x3) != E_V4DFmode
15296 : : || !vector_operand (operands[1], E_V4DFmode)
15297 : : || !(
15298 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15299 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) &&
15300 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15301 : : (TARGET_AVX512VL)))
15302 : : return -1;
15303 : : return 3204; /* *reducepv4df */
15304 : :
15305 : : case E_V2DFmode:
15306 : : if (!register_operand (operands[0], E_V2DFmode)
15307 : : || GET_MODE (x3) != E_V2DFmode
15308 : : || !vector_operand (operands[1], E_V2DFmode)
15309 : : || !(
15310 : : #line 4022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15311 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
15312 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15313 : : (TARGET_AVX512VL)))
15314 : : return -1;
15315 : : return 3208; /* *reducepv2df */
15316 : :
15317 : : default:
15318 : : return -1;
15319 : : }
15320 : : }
15321 : :
15322 : : int
15323 : : recog_245 (rtx x1 ATTRIBUTE_UNUSED,
15324 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15325 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15326 : : {
15327 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15328 : : rtx x2, x3, x4, x5;
15329 : : int res ATTRIBUTE_UNUSED;
15330 : : x2 = XEXP (x1, 1);
15331 : : x3 = XVECEXP (x2, 0, 2);
15332 : : if (GET_MODE (x3) != E_V16QImode)
15333 : : return -1;
15334 : : x4 = XEXP (x1, 0);
15335 : : if (GET_CODE (x4) != MEM
15336 : : || GET_MODE (x4) != E_V16QImode)
15337 : : return -1;
15338 : : x5 = XEXP (x4, 0);
15339 : : operands[0] = x5;
15340 : : if (GET_MODE (x2) != E_V16QImode)
15341 : : return -1;
15342 : : switch (pattern1057 (x2,
15343 : : E_V16QImode))
15344 : : {
15345 : : case 0:
15346 : : if (!(
15347 : : #line 22505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15348 : : (TARGET_SSE2) &&
15349 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15350 : : (Pmode == SImode)))
15351 : : return -1;
15352 : : return 8532; /* *sse2_maskmovdqu */
15353 : :
15354 : : case 1:
15355 : : if (!(
15356 : : #line 22505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15357 : : (TARGET_SSE2) &&
15358 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15359 : : (Pmode == DImode)))
15360 : : return -1;
15361 : : return 8533; /* *sse2_maskmovdqu */
15362 : :
15363 : : default:
15364 : : return -1;
15365 : : }
15366 : : }
15367 : :
15368 : : int
15369 : : recog_247 (rtx x1 ATTRIBUTE_UNUSED,
15370 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15371 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15372 : : {
15373 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15374 : : rtx x2, x3, x4, x5, x6;
15375 : : int res ATTRIBUTE_UNUSED;
15376 : : x2 = XEXP (x1, 1);
15377 : : x3 = XVECEXP (x2, 0, 0);
15378 : : operands[1] = x3;
15379 : : x4 = XVECEXP (x2, 0, 2);
15380 : : switch (GET_CODE (x4))
15381 : : {
15382 : : case REG:
15383 : : case SUBREG:
15384 : : case MEM:
15385 : : switch (GET_CODE (x4))
15386 : : {
15387 : : case MEM:
15388 : : res = recog_245 (x1, insn, pnum_clobbers);
15389 : : if (res >= 0)
15390 : : return res;
15391 : : break;
15392 : :
15393 : : case REG:
15394 : : case SUBREG:
15395 : : operands[2] = x4;
15396 : : x5 = XEXP (x1, 0);
15397 : : operands[0] = x5;
15398 : : x6 = XVECEXP (x2, 0, 1);
15399 : : if (rtx_equal_p (x6, operands[0]))
15400 : : {
15401 : : switch (GET_MODE (operands[0]))
15402 : : {
15403 : : case E_V16SImode:
15404 : : if (pattern894 (x2,
15405 : : E_HImode,
15406 : : E_V16SImode) == 0
15407 : : &&
15408 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15409 : : (TARGET_AVX512F))
15410 : : return 9474; /* avx512f_storev16si_mask */
15411 : : break;
15412 : :
15413 : : case E_V8DImode:
15414 : : if (pattern894 (x2,
15415 : : E_QImode,
15416 : : E_V8DImode) == 0
15417 : : &&
15418 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15419 : : (TARGET_AVX512F))
15420 : : return 9477; /* avx512f_storev8di_mask */
15421 : : break;
15422 : :
15423 : : case E_V16SFmode:
15424 : : if (pattern894 (x2,
15425 : : E_HImode,
15426 : : E_V16SFmode) == 0
15427 : : &&
15428 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15429 : : (TARGET_AVX512F))
15430 : : return 9480; /* avx512f_storev16sf_mask */
15431 : : break;
15432 : :
15433 : : case E_V8SFmode:
15434 : : if (pattern894 (x2,
15435 : : E_QImode,
15436 : : E_V8SFmode) == 0
15437 : : && (
15438 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15439 : : (TARGET_AVX512F) &&
15440 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15441 : : (TARGET_AVX512VL)))
15442 : : return 9481; /* avx512vl_storev8sf_mask */
15443 : : break;
15444 : :
15445 : : case E_V4SFmode:
15446 : : if (pattern894 (x2,
15447 : : E_QImode,
15448 : : E_V4SFmode) == 0
15449 : : && (
15450 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15451 : : (TARGET_AVX512F) &&
15452 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15453 : : (TARGET_AVX512VL)))
15454 : : return 9482; /* avx512vl_storev4sf_mask */
15455 : : break;
15456 : :
15457 : : case E_V8DFmode:
15458 : : if (pattern894 (x2,
15459 : : E_QImode,
15460 : : E_V8DFmode) == 0
15461 : : &&
15462 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15463 : : (TARGET_AVX512F))
15464 : : return 9483; /* avx512f_storev8df_mask */
15465 : : break;
15466 : :
15467 : : case E_V4DFmode:
15468 : : if (pattern894 (x2,
15469 : : E_QImode,
15470 : : E_V4DFmode) == 0
15471 : : && (
15472 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15473 : : (TARGET_AVX512F) &&
15474 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : : (TARGET_AVX512VL)))
15476 : : return 9484; /* avx512vl_storev4df_mask */
15477 : : break;
15478 : :
15479 : : case E_V2DFmode:
15480 : : if (pattern894 (x2,
15481 : : E_QImode,
15482 : : E_V2DFmode) == 0
15483 : : && (
15484 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15485 : : (TARGET_AVX512F) &&
15486 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15487 : : (TARGET_AVX512VL)))
15488 : : return 9485; /* avx512vl_storev2df_mask */
15489 : : break;
15490 : :
15491 : : case E_V64QImode:
15492 : : if (pattern894 (x2,
15493 : : E_DImode,
15494 : : E_V64QImode) == 0
15495 : : &&
15496 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15497 : : (TARGET_AVX512BW))
15498 : : return 9486; /* avx512bw_storev64qi_mask */
15499 : : break;
15500 : :
15501 : : case E_V16QImode:
15502 : : if (pattern894 (x2,
15503 : : E_HImode,
15504 : : E_V16QImode) == 0
15505 : : && (
15506 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15507 : : (TARGET_AVX512BW) &&
15508 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15509 : : (TARGET_AVX512VL)))
15510 : : return 9487; /* avx512vl_storev16qi_mask */
15511 : : break;
15512 : :
15513 : : case E_V32QImode:
15514 : : if (pattern894 (x2,
15515 : : E_SImode,
15516 : : E_V32QImode) == 0
15517 : : && (
15518 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15519 : : (TARGET_AVX512BW) &&
15520 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15521 : : (TARGET_AVX512VL)))
15522 : : return 9488; /* avx512vl_storev32qi_mask */
15523 : : break;
15524 : :
15525 : : case E_V32HImode:
15526 : : if (pattern894 (x2,
15527 : : E_SImode,
15528 : : E_V32HImode) == 0
15529 : : &&
15530 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15531 : : (TARGET_AVX512BW))
15532 : : return 9489; /* avx512bw_storev32hi_mask */
15533 : : break;
15534 : :
15535 : : case E_V16HImode:
15536 : : if (pattern894 (x2,
15537 : : E_HImode,
15538 : : E_V16HImode) == 0
15539 : : && (
15540 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15541 : : (TARGET_AVX512BW) &&
15542 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15543 : : (TARGET_AVX512VL)))
15544 : : return 9490; /* avx512vl_storev16hi_mask */
15545 : : break;
15546 : :
15547 : : case E_V8HImode:
15548 : : if (pattern894 (x2,
15549 : : E_QImode,
15550 : : E_V8HImode) == 0
15551 : : && (
15552 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15553 : : (TARGET_AVX512BW) &&
15554 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15555 : : (TARGET_AVX512VL)))
15556 : : return 9491; /* avx512vl_storev8hi_mask */
15557 : : break;
15558 : :
15559 : : case E_V32HFmode:
15560 : : if (pattern894 (x2,
15561 : : E_SImode,
15562 : : E_V32HFmode) == 0
15563 : : &&
15564 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15565 : : (TARGET_AVX512BW))
15566 : : return 9492; /* avx512bw_storev32hf_mask */
15567 : : break;
15568 : :
15569 : : case E_V16HFmode:
15570 : : if (pattern894 (x2,
15571 : : E_HImode,
15572 : : E_V16HFmode) == 0
15573 : : && (
15574 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15575 : : (TARGET_AVX512BW) &&
15576 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15577 : : (TARGET_AVX512VL)))
15578 : : return 9493; /* avx512vl_storev16hf_mask */
15579 : : break;
15580 : :
15581 : : case E_V8HFmode:
15582 : : if (pattern894 (x2,
15583 : : E_QImode,
15584 : : E_V8HFmode) == 0
15585 : : && (
15586 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15587 : : (TARGET_AVX512BW) &&
15588 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15589 : : (TARGET_AVX512VL)))
15590 : : return 9494; /* avx512fp16_storev8hf_mask */
15591 : : break;
15592 : :
15593 : : case E_V32BFmode:
15594 : : if (pattern894 (x2,
15595 : : E_SImode,
15596 : : E_V32BFmode) == 0
15597 : : &&
15598 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15599 : : (TARGET_AVX512BW))
15600 : : return 9495; /* avx512bw_storev32bf_mask */
15601 : : break;
15602 : :
15603 : : case E_V16BFmode:
15604 : : if (pattern894 (x2,
15605 : : E_HImode,
15606 : : E_V16BFmode) == 0
15607 : : && (
15608 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15609 : : (TARGET_AVX512BW) &&
15610 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15611 : : (TARGET_AVX512VL)))
15612 : : return 9496; /* avx512vl_storev16bf_mask */
15613 : : break;
15614 : :
15615 : : case E_V8BFmode:
15616 : : if (pattern894 (x2,
15617 : : E_QImode,
15618 : : E_V8BFmode) == 0
15619 : : && (
15620 : : #line 28906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15621 : : (TARGET_AVX512BW) &&
15622 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15623 : : (TARGET_AVX512VL)))
15624 : : return 9497; /* avx512vl_storev8bf_mask */
15625 : : break;
15626 : :
15627 : : default:
15628 : : break;
15629 : : }
15630 : : }
15631 : : break;
15632 : :
15633 : : default:
15634 : : break;
15635 : : }
15636 : : x5 = XEXP (x1, 0);
15637 : : operands[0] = x5;
15638 : : switch (GET_MODE (operands[0]))
15639 : : {
15640 : : case E_V4SFmode:
15641 : : if (pattern768 (x2,
15642 : : E_V4SFmode,
15643 : : E_V4SImode) != 0
15644 : : || !
15645 : : #line 28786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15646 : : (TARGET_AVX))
15647 : : return -1;
15648 : : return 9466; /* avx_maskstoreps */
15649 : :
15650 : : case E_V2DFmode:
15651 : : if (pattern768 (x2,
15652 : : E_V2DFmode,
15653 : : E_V2DImode) != 0
15654 : : || !
15655 : : #line 28786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15656 : : (TARGET_AVX))
15657 : : return -1;
15658 : : return 9467; /* avx_maskstorepd */
15659 : :
15660 : : case E_V4DImode:
15661 : : if (!memory_operand (operands[0], E_V4DImode)
15662 : : || GET_MODE (x2) != E_V4DImode
15663 : : || !register_operand (operands[1], E_V4DImode))
15664 : : return -1;
15665 : : x6 = XVECEXP (x2, 0, 1);
15666 : : operands[2] = x6;
15667 : : if (register_operand (operands[2], E_V4DImode)
15668 : : && rtx_equal_p (x4, operands[0])
15669 : : &&
15670 : : #line 28786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15671 : : (TARGET_AVX))
15672 : : return 9468; /* avx2_maskstoreq256 */
15673 : : operands[2] = x4;
15674 : : if (!register_operand (operands[2], E_QImode)
15675 : : || !rtx_equal_p (x6, operands[0])
15676 : : || !(
15677 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15678 : : (TARGET_AVX512F) &&
15679 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15680 : : (TARGET_AVX512VL)))
15681 : : return -1;
15682 : : return 9478; /* avx512vl_storev4di_mask */
15683 : :
15684 : : case E_V2DImode:
15685 : : if (!memory_operand (operands[0], E_V2DImode)
15686 : : || GET_MODE (x2) != E_V2DImode
15687 : : || !register_operand (operands[1], E_V2DImode))
15688 : : return -1;
15689 : : x6 = XVECEXP (x2, 0, 1);
15690 : : operands[2] = x6;
15691 : : if (register_operand (operands[2], E_V2DImode)
15692 : : && rtx_equal_p (x4, operands[0])
15693 : : &&
15694 : : #line 28786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15695 : : (TARGET_AVX))
15696 : : return 9469; /* avx2_maskstoreq */
15697 : : operands[2] = x4;
15698 : : if (!register_operand (operands[2], E_QImode)
15699 : : || !rtx_equal_p (x6, operands[0])
15700 : : || !(
15701 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15702 : : (TARGET_AVX512F) &&
15703 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15704 : : (TARGET_AVX512VL)))
15705 : : return -1;
15706 : : return 9479; /* avx512vl_storev2di_mask */
15707 : :
15708 : : case E_V8SFmode:
15709 : : if (pattern768 (x2,
15710 : : E_V8SFmode,
15711 : : E_V8SImode) != 0
15712 : : || !
15713 : : #line 28786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15714 : : (TARGET_AVX))
15715 : : return -1;
15716 : : return 9470; /* avx_maskstoreps256 */
15717 : :
15718 : : case E_V4DFmode:
15719 : : if (pattern768 (x2,
15720 : : E_V4DFmode,
15721 : : E_V4DImode) != 0
15722 : : || !
15723 : : #line 28786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15724 : : (TARGET_AVX))
15725 : : return -1;
15726 : : return 9471; /* avx_maskstorepd256 */
15727 : :
15728 : : case E_V8SImode:
15729 : : if (!memory_operand (operands[0], E_V8SImode)
15730 : : || GET_MODE (x2) != E_V8SImode
15731 : : || !register_operand (operands[1], E_V8SImode))
15732 : : return -1;
15733 : : x6 = XVECEXP (x2, 0, 1);
15734 : : operands[2] = x6;
15735 : : if (register_operand (operands[2], E_V8SImode)
15736 : : && rtx_equal_p (x4, operands[0])
15737 : : &&
15738 : : #line 28786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15739 : : (TARGET_AVX))
15740 : : return 9472; /* avx2_maskstored256 */
15741 : : operands[2] = x4;
15742 : : if (!register_operand (operands[2], E_QImode)
15743 : : || !rtx_equal_p (x6, operands[0])
15744 : : || !(
15745 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15746 : : (TARGET_AVX512F) &&
15747 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15748 : : (TARGET_AVX512VL)))
15749 : : return -1;
15750 : : return 9475; /* avx512vl_storev8si_mask */
15751 : :
15752 : : case E_V4SImode:
15753 : : if (!memory_operand (operands[0], E_V4SImode)
15754 : : || GET_MODE (x2) != E_V4SImode
15755 : : || !register_operand (operands[1], E_V4SImode))
15756 : : return -1;
15757 : : x6 = XVECEXP (x2, 0, 1);
15758 : : operands[2] = x6;
15759 : : if (register_operand (operands[2], E_V4SImode)
15760 : : && rtx_equal_p (x4, operands[0])
15761 : : &&
15762 : : #line 28786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15763 : : (TARGET_AVX))
15764 : : return 9473; /* avx2_maskstored */
15765 : : operands[2] = x4;
15766 : : if (!register_operand (operands[2], E_QImode)
15767 : : || !rtx_equal_p (x6, operands[0])
15768 : : || !(
15769 : : #line 28877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15770 : : (TARGET_AVX512F) &&
15771 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15772 : : (TARGET_AVX512VL)))
15773 : : return -1;
15774 : : return 9476; /* avx512vl_storev4si_mask */
15775 : :
15776 : : default:
15777 : : return -1;
15778 : : }
15779 : :
15780 : : case CONST_INT:
15781 : : case CONST_DOUBLE:
15782 : : case CONST_VECTOR:
15783 : : operands[2] = x4;
15784 : : x5 = XEXP (x1, 0);
15785 : : operands[0] = x5;
15786 : : switch (pattern770 (x2))
15787 : : {
15788 : : case 0:
15789 : : if (!(
15790 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15791 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15792 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15793 : : (TARGET_AVX512F)))
15794 : : return -1;
15795 : : return 9498; /* *avx512bw_storev64qi_mask_1 */
15796 : :
15797 : : case 1:
15798 : : if (!(
15799 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15800 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15801 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15802 : : (TARGET_AVX)))
15803 : : return -1;
15804 : : return 9499; /* *avx512vl_storev32qi_mask_1 */
15805 : :
15806 : : case 2:
15807 : : if (!
15808 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15809 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15810 : : return -1;
15811 : : return 9500; /* *avx512vl_storev16qi_mask_1 */
15812 : :
15813 : : case 3:
15814 : : if (!(
15815 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15816 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15817 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15818 : : (TARGET_AVX512F)))
15819 : : return -1;
15820 : : return 9501; /* *avx512bw_storev32hi_mask_1 */
15821 : :
15822 : : case 4:
15823 : : if (!(
15824 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15825 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15826 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15827 : : (TARGET_AVX)))
15828 : : return -1;
15829 : : return 9502; /* *avx512vl_storev16hi_mask_1 */
15830 : :
15831 : : case 5:
15832 : : if (!
15833 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15834 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15835 : : return -1;
15836 : : return 9503; /* *avx512vl_storev8hi_mask_1 */
15837 : :
15838 : : case 6:
15839 : : if (!(
15840 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15841 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15842 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15843 : : (TARGET_AVX512F)))
15844 : : return -1;
15845 : : return 9504; /* *avx512f_storev16si_mask_1 */
15846 : :
15847 : : case 7:
15848 : : if (!(
15849 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15850 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15851 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15852 : : (TARGET_AVX)))
15853 : : return -1;
15854 : : return 9505; /* *avx512vl_storev8si_mask_1 */
15855 : :
15856 : : case 8:
15857 : : if (!
15858 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15859 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15860 : : return -1;
15861 : : return 9506; /* *avx512vl_storev4si_mask_1 */
15862 : :
15863 : : case 9:
15864 : : if (!(
15865 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15866 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15867 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15868 : : (TARGET_AVX512F)))
15869 : : return -1;
15870 : : return 9507; /* *avx512f_storev8di_mask_1 */
15871 : :
15872 : : case 10:
15873 : : if (!(
15874 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15875 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15876 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15877 : : (TARGET_AVX)))
15878 : : return -1;
15879 : : return 9508; /* *avx512vl_storev4di_mask_1 */
15880 : :
15881 : : case 11:
15882 : : if (!
15883 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15884 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15885 : : return -1;
15886 : : return 9509; /* *avx512vl_storev2di_mask_1 */
15887 : :
15888 : : case 12:
15889 : : if (!(
15890 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15891 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15892 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15893 : : (TARGET_AVX512F)))
15894 : : return -1;
15895 : : return 9510; /* *avx512bw_storev32hf_mask_1 */
15896 : :
15897 : : case 13:
15898 : : if (!(
15899 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15900 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15901 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15902 : : (TARGET_AVX)))
15903 : : return -1;
15904 : : return 9511; /* *avx512vl_storev16hf_mask_1 */
15905 : :
15906 : : case 14:
15907 : : if (!
15908 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15909 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15910 : : return -1;
15911 : : return 9512; /* *avx512fp16_storev8hf_mask_1 */
15912 : :
15913 : : case 15:
15914 : : if (!(
15915 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15916 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15917 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15918 : : (TARGET_AVX512F)))
15919 : : return -1;
15920 : : return 9513; /* *avx512bw_storev32bf_mask_1 */
15921 : :
15922 : : case 16:
15923 : : if (!(
15924 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15925 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15926 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15927 : : (TARGET_AVX)))
15928 : : return -1;
15929 : : return 9514; /* *avx512vl_storev16bf_mask_1 */
15930 : :
15931 : : case 17:
15932 : : if (!
15933 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15934 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15935 : : return -1;
15936 : : return 9515; /* *avx512vl_storev8bf_mask_1 */
15937 : :
15938 : : case 18:
15939 : : if (!(
15940 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15941 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15942 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15943 : : (TARGET_AVX512F)))
15944 : : return -1;
15945 : : return 9516; /* *avx512f_storev16sf_mask_1 */
15946 : :
15947 : : case 19:
15948 : : if (!(
15949 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15950 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15951 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15952 : : (TARGET_AVX)))
15953 : : return -1;
15954 : : return 9517; /* *avx512vl_storev8sf_mask_1 */
15955 : :
15956 : : case 20:
15957 : : if (!
15958 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15959 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
15960 : : return -1;
15961 : : return 9518; /* *avx512vl_storev4sf_mask_1 */
15962 : :
15963 : : case 21:
15964 : : if (!(
15965 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15966 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15967 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15968 : : (TARGET_AVX512F)))
15969 : : return -1;
15970 : : return 9519; /* *avx512f_storev8df_mask_1 */
15971 : :
15972 : : case 22:
15973 : : if (!(
15974 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15975 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15976 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15977 : : (TARGET_AVX)))
15978 : : return -1;
15979 : : return 9520; /* *avx512vl_storev4df_mask_1 */
15980 : :
15981 : : case 23:
15982 : : if (!(
15983 : : #line 28920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15984 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
15985 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15986 : : (TARGET_SSE2)))
15987 : : return -1;
15988 : : return 9521; /* *avx512vl_storev2df_mask_1 */
15989 : :
15990 : : default:
15991 : : return -1;
15992 : : }
15993 : :
15994 : : default:
15995 : : return -1;
15996 : : }
15997 : : }
15998 : :
15999 : : int
16000 : : recog_271 (rtx x1 ATTRIBUTE_UNUSED,
16001 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16002 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16003 : : {
16004 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16005 : : rtx x2, x3, x4, x5, x6, x7, x8;
16006 : : int res ATTRIBUTE_UNUSED;
16007 : : x2 = XEXP (x1, 1);
16008 : : x3 = XEXP (x2, 0);
16009 : : x4 = XEXP (x3, 1);
16010 : : if (GET_CODE (x4) != PARALLEL)
16011 : : return -1;
16012 : : x5 = XEXP (x3, 0);
16013 : : operands[1] = x5;
16014 : : x6 = XEXP (x2, 1);
16015 : : operands[2] = x6;
16016 : : switch (XVECLEN (x4, 0))
16017 : : {
16018 : : case 1:
16019 : : x7 = XVECEXP (x4, 0, 0);
16020 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16021 : : return -1;
16022 : : switch (GET_CODE (operands[2]))
16023 : : {
16024 : : case CONST_INT:
16025 : : case CONST_DOUBLE:
16026 : : case CONST_VECTOR:
16027 : : switch (GET_MODE (operands[0]))
16028 : : {
16029 : : case E_V2DImode:
16030 : : if (pattern1129 (x2,
16031 : : E_DImode,
16032 : : E_V2DImode) != 0
16033 : : || !
16034 : : #line 1850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16035 : : (TARGET_SSE2))
16036 : : return -1;
16037 : : return 2571; /* *sse2_movq128_v2di */
16038 : :
16039 : : case E_V2DFmode:
16040 : : if (pattern1129 (x2,
16041 : : E_DFmode,
16042 : : E_V2DFmode) != 0
16043 : : || !
16044 : : #line 1850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16045 : : (TARGET_SSE2))
16046 : : return -1;
16047 : : return 2572; /* *sse2_movq128_v2df */
16048 : :
16049 : : default:
16050 : : return -1;
16051 : : }
16052 : :
16053 : : case REG:
16054 : : case SUBREG:
16055 : : case MEM:
16056 : : if (!nonimmediate_operand (operands[2], E_DFmode)
16057 : : || pattern1130 (x2,
16058 : : E_V2DFmode,
16059 : : E_DFmode) != 0
16060 : : || !
16061 : : #line 14760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16062 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16063 : : return -1;
16064 : : return 7167; /* sse2_loadhpd */
16065 : :
16066 : : default:
16067 : : return -1;
16068 : : }
16069 : :
16070 : : case 2:
16071 : : x7 = XVECEXP (x4, 0, 0);
16072 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16073 : : return -1;
16074 : : x8 = XVECEXP (x4, 0, 1);
16075 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16076 : : return -1;
16077 : : switch (GET_MODE (operands[0]))
16078 : : {
16079 : : case E_V4SFmode:
16080 : : if (pattern1130 (x2,
16081 : : E_V4SFmode,
16082 : : E_V2SFmode) != 0
16083 : : || !nonimmediate_operand (operands[2], E_V2SFmode)
16084 : : || !
16085 : : #line 11658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16086 : : (TARGET_SSE))
16087 : : return -1;
16088 : : return 5206; /* sse_loadhps */
16089 : :
16090 : : case E_V4DImode:
16091 : : if (pattern1131 (x2,
16092 : : E_V2DImode,
16093 : : E_V4DImode) != 0
16094 : : || !
16095 : : #line 28600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16096 : : (TARGET_AVX && 1))
16097 : : return -1;
16098 : : return 9438; /* vec_set_hi_v4di */
16099 : :
16100 : : case E_V4DFmode:
16101 : : if (pattern1131 (x2,
16102 : : E_V2DFmode,
16103 : : E_V4DFmode) != 0
16104 : : || !
16105 : : #line 28600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16106 : : (TARGET_AVX && 1))
16107 : : return -1;
16108 : : return 9440; /* vec_set_hi_v4df */
16109 : :
16110 : : default:
16111 : : return -1;
16112 : : }
16113 : :
16114 : : case 8:
16115 : : if (pattern658 (x4) != 0)
16116 : : return -1;
16117 : : switch (GET_MODE (operands[0]))
16118 : : {
16119 : : case E_V16SFmode:
16120 : : if (pattern1131 (x2,
16121 : : E_V8SFmode,
16122 : : E_V16SFmode) != 0
16123 : : || !
16124 : : #line 20139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16125 : : (TARGET_AVX512DQ))
16126 : : return -1;
16127 : : return 8354; /* vec_set_hi_v16sf */
16128 : :
16129 : : case E_V16SImode:
16130 : : if (pattern1131 (x2,
16131 : : E_V8SImode,
16132 : : E_V16SImode) != 0
16133 : : || !
16134 : : #line 20139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16135 : : (TARGET_AVX512DQ))
16136 : : return -1;
16137 : : return 8356; /* vec_set_hi_v16si */
16138 : :
16139 : : case E_V16HImode:
16140 : : if (pattern1131 (x2,
16141 : : E_V8HImode,
16142 : : E_V16HImode) != 0
16143 : : || !
16144 : : #line 28695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16145 : : (TARGET_AVX))
16146 : : return -1;
16147 : : return 9453; /* vec_set_hi_v16hi */
16148 : :
16149 : : case E_V16HFmode:
16150 : : if (pattern1131 (x2,
16151 : : E_V8HFmode,
16152 : : E_V16HFmode) != 0
16153 : : || !
16154 : : #line 28695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16155 : : (TARGET_AVX))
16156 : : return -1;
16157 : : return 9454; /* vec_set_hi_v16hf */
16158 : :
16159 : : case E_V16BFmode:
16160 : : if (pattern1131 (x2,
16161 : : E_V8BFmode,
16162 : : E_V16BFmode) != 0
16163 : : || !
16164 : : #line 28695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16165 : : (TARGET_AVX))
16166 : : return -1;
16167 : : return 9455; /* vec_set_hi_v16bf */
16168 : :
16169 : : default:
16170 : : return -1;
16171 : : }
16172 : :
16173 : : case 4:
16174 : : if (pattern659 (x4,
16175 : : 3,
16176 : : 2,
16177 : : 1) != 0)
16178 : : return -1;
16179 : : switch (GET_MODE (operands[0]))
16180 : : {
16181 : : case E_V8DFmode:
16182 : : if (pattern1131 (x2,
16183 : : E_V4DFmode,
16184 : : E_V8DFmode) != 0
16185 : : || !
16186 : : #line 20169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16187 : : (TARGET_AVX512F))
16188 : : return -1;
16189 : : return 8362; /* vec_set_hi_v8df */
16190 : :
16191 : : case E_V8DImode:
16192 : : if (pattern1131 (x2,
16193 : : E_V4DImode,
16194 : : E_V8DImode) != 0
16195 : : || !
16196 : : #line 20169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16197 : : (TARGET_AVX512F))
16198 : : return -1;
16199 : : return 8364; /* vec_set_hi_v8di */
16200 : :
16201 : : case E_V8SImode:
16202 : : if (pattern1131 (x2,
16203 : : E_V4SImode,
16204 : : E_V8SImode) != 0
16205 : : || !
16206 : : #line 28648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16207 : : (TARGET_AVX))
16208 : : return -1;
16209 : : return 9446; /* vec_set_hi_v8si */
16210 : :
16211 : : case E_V8SFmode:
16212 : : if (pattern1131 (x2,
16213 : : E_V4SFmode,
16214 : : E_V8SFmode) != 0
16215 : : || !
16216 : : #line 28648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16217 : : (TARGET_AVX))
16218 : : return -1;
16219 : : return 9448; /* vec_set_hi_v8sf */
16220 : :
16221 : : default:
16222 : : return -1;
16223 : : }
16224 : :
16225 : : case 16:
16226 : : if (pattern771 (x4,
16227 : : 6,
16228 : : 5,
16229 : : 4) != 0
16230 : : || pattern1469 (x4,
16231 : : 11,
16232 : : 10,
16233 : : 9,
16234 : : 8,
16235 : : 7) != 0
16236 : : || pattern1131 (x2,
16237 : : E_V16QImode,
16238 : : E_V32QImode) != 0
16239 : : || !
16240 : : #line 28747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16241 : : (TARGET_AVX))
16242 : : return -1;
16243 : : return 9457; /* vec_set_hi_v32qi */
16244 : :
16245 : : default:
16246 : : return -1;
16247 : : }
16248 : : }
16249 : :
16250 : : int
16251 : : recog_272 (rtx x1 ATTRIBUTE_UNUSED,
16252 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16253 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16254 : : {
16255 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16256 : : rtx x2, x3, x4, x5, x6;
16257 : : int res ATTRIBUTE_UNUSED;
16258 : : x2 = XEXP (x1, 1);
16259 : : x3 = XEXP (x2, 0);
16260 : : switch (XVECLEN (x3, 0))
16261 : : {
16262 : : case 1:
16263 : : x4 = XVECEXP (x3, 0, 0);
16264 : : operands[1] = x4;
16265 : : switch (XINT (x3, 1))
16266 : : {
16267 : : case 47:
16268 : : if (GET_MODE (x3) == E_V4SImode
16269 : : && pattern774 (x2,
16270 : : E_V4SImode,
16271 : : E_V4DFmode,
16272 : : E_V8SImode) == 0
16273 : : &&
16274 : : #line 9469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16275 : : (TARGET_AVX))
16276 : : return 4960; /* *avx_cvtpd2dq256_2 */
16277 : : if (GET_MODE (x3) != E_V2SImode)
16278 : : return -1;
16279 : : x5 = XEXP (x2, 1);
16280 : : if (GET_CODE (x5) != CONST_VECTOR
16281 : : || pattern501 (x5,
16282 : : E_V2SImode,
16283 : : 2) != 0
16284 : : || !register_operand (operands[0], E_V4SImode)
16285 : : || GET_MODE (x2) != E_V4SImode
16286 : : || !vector_operand (operands[1], E_V2DFmode)
16287 : : || !
16288 : : #line 9482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16289 : : (TARGET_SSE2))
16290 : : return -1;
16291 : : return 4961; /* sse2_cvtpd2dq */
16292 : :
16293 : : case 157:
16294 : : if (pattern656 (x2) != 0
16295 : : || !
16296 : : #line 9552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16297 : : (TARGET_AVX512VL))
16298 : : return -1;
16299 : : return 4972; /* fixuns_notruncv2dfv2si2 */
16300 : :
16301 : : case 174:
16302 : : if (pattern656 (x2) != 0
16303 : : || !
16304 : : #line 9619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16305 : : (TARGET_AVX512VL))
16306 : : return -1;
16307 : : return 4991; /* *unspec_fixuns_truncv2dfv2si2 */
16308 : :
16309 : : case 254:
16310 : : if (GET_MODE (x3) != E_V8QImode
16311 : : || pattern774 (x2,
16312 : : E_V8QImode,
16313 : : E_V8HFmode,
16314 : : E_V16QImode) != 0
16315 : : || !
16316 : : #line 32013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16317 : : (TARGET_AVX10_2))
16318 : : return -1;
16319 : : return 10465; /* *vcvtph2bf8v8hf */
16320 : :
16321 : : case 255:
16322 : : if (GET_MODE (x3) != E_V8QImode
16323 : : || pattern774 (x2,
16324 : : E_V8QImode,
16325 : : E_V8HFmode,
16326 : : E_V16QImode) != 0
16327 : : || !
16328 : : #line 32013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16329 : : (TARGET_AVX10_2))
16330 : : return -1;
16331 : : return 10466; /* *vcvtph2bf8sv8hf */
16332 : :
16333 : : case 256:
16334 : : if (GET_MODE (x3) != E_V8QImode
16335 : : || pattern774 (x2,
16336 : : E_V8QImode,
16337 : : E_V8HFmode,
16338 : : E_V16QImode) != 0
16339 : : || !
16340 : : #line 32013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16341 : : (TARGET_AVX10_2))
16342 : : return -1;
16343 : : return 10467; /* *vcvtph2hf8v8hf */
16344 : :
16345 : : case 257:
16346 : : if (GET_MODE (x3) != E_V8QImode
16347 : : || pattern774 (x2,
16348 : : E_V8QImode,
16349 : : E_V8HFmode,
16350 : : E_V16QImode) != 0
16351 : : || !
16352 : : #line 32013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16353 : : (TARGET_AVX10_2))
16354 : : return -1;
16355 : : return 10468; /* *vcvtph2hf8sv8hf */
16356 : :
16357 : : default:
16358 : : return -1;
16359 : : }
16360 : :
16361 : : case 2:
16362 : : x4 = XVECEXP (x3, 0, 0);
16363 : : operands[1] = x4;
16364 : : x6 = XVECEXP (x3, 0, 1);
16365 : : operands[2] = x6;
16366 : : x5 = XEXP (x2, 1);
16367 : : operands[3] = x5;
16368 : : switch (XINT (x3, 1))
16369 : : {
16370 : : case 151:
16371 : : if (GET_MODE (x3) != E_V4HImode
16372 : : || !register_operand (operands[0], E_V8HImode)
16373 : : || GET_MODE (x2) != E_V8HImode
16374 : : || !register_operand (operands[1], E_V4SFmode)
16375 : : || !const_0_to_255_operand (operands[2], E_SImode)
16376 : : || !const0_operand (operands[3], E_V4HImode)
16377 : : || !
16378 : : #line 29287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16379 : : ((TARGET_F16C || TARGET_AVX512VL) && 1))
16380 : : return -1;
16381 : : return 9629; /* *vcvtps2ph */
16382 : :
16383 : : case 246:
16384 : : if (pattern900 (x2) != 0
16385 : : || !
16386 : : #line 31923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16387 : : (TARGET_AVX10_2))
16388 : : return -1;
16389 : : return 10441; /* *vcvtbiasph2bf8v8hf */
16390 : :
16391 : : case 247:
16392 : : if (pattern900 (x2) != 0
16393 : : || !
16394 : : #line 31923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16395 : : (TARGET_AVX10_2))
16396 : : return -1;
16397 : : return 10442; /* *vcvtbiasph2bf8sv8hf */
16398 : :
16399 : : case 248:
16400 : : if (pattern900 (x2) != 0
16401 : : || !
16402 : : #line 31923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16403 : : (TARGET_AVX10_2))
16404 : : return -1;
16405 : : return 10443; /* *vcvtbiasph2hf8v8hf */
16406 : :
16407 : : case 249:
16408 : : if (pattern900 (x2) != 0
16409 : : || !
16410 : : #line 31923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16411 : : (TARGET_AVX10_2))
16412 : : return -1;
16413 : : return 10444; /* *vcvtbiasph2hf8sv8hf */
16414 : :
16415 : : default:
16416 : : return -1;
16417 : : }
16418 : :
16419 : : default:
16420 : : return -1;
16421 : : }
16422 : : }
16423 : :
16424 : : int
16425 : : recog_275 (rtx x1 ATTRIBUTE_UNUSED,
16426 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16427 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16428 : : {
16429 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16430 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16431 : : int res ATTRIBUTE_UNUSED;
16432 : : x2 = XEXP (x1, 1);
16433 : : x3 = XEXP (x2, 1);
16434 : : x4 = XVECEXP (x3, 0, 2);
16435 : : if (GET_CODE (x4) != CONST_INT)
16436 : : return -1;
16437 : : x5 = XVECEXP (x3, 0, 3);
16438 : : if (GET_CODE (x5) != CONST_INT)
16439 : : return -1;
16440 : : x6 = XVECEXP (x3, 0, 0);
16441 : : switch (XWINT (x6, 0))
16442 : : {
16443 : : case 6L:
16444 : : x7 = XVECEXP (x3, 0, 1);
16445 : : if (XWINT (x7, 0) != 7L
16446 : : || XWINT (x4, 0) != 2L
16447 : : || XWINT (x5, 0) != 3L
16448 : : || pattern1545 (x2) != 0
16449 : : || !
16450 : : #line 11096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16451 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16452 : : return -1;
16453 : : return 5171; /* sse_movhlps */
16454 : :
16455 : : case 0L:
16456 : : x7 = XVECEXP (x3, 0, 1);
16457 : : switch (XWINT (x7, 0))
16458 : : {
16459 : : case 1L:
16460 : : if (XWINT (x4, 0) != 4L
16461 : : || XWINT (x5, 0) != 5L
16462 : : || pattern1545 (x2) != 0
16463 : : || !
16464 : : #line 11141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16465 : : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V4SFmode, operands)))
16466 : : return -1;
16467 : : return 5172; /* sse_movlhps */
16468 : :
16469 : : case 4L:
16470 : : switch (XWINT (x4, 0))
16471 : : {
16472 : : case 1L:
16473 : : if (XWINT (x5, 0) != 5L
16474 : : || pattern1301 (x2,
16475 : : E_V4SFmode,
16476 : : E_V8SFmode) != 0
16477 : : || !
16478 : : #line 11358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16479 : : (TARGET_SSE))
16480 : : return -1;
16481 : : return 5187; /* vec_interleave_lowv4sf */
16482 : :
16483 : : case 2L:
16484 : : if (XWINT (x5, 0) != 6L)
16485 : : return -1;
16486 : : switch (GET_MODE (operands[0]))
16487 : : {
16488 : : case E_V4DFmode:
16489 : : if (!register_operand (operands[0], E_V4DFmode)
16490 : : || GET_MODE (x2) != E_V4DFmode)
16491 : : return -1;
16492 : : x8 = XEXP (x2, 0);
16493 : : if (GET_MODE (x8) != E_V8DFmode)
16494 : : return -1;
16495 : : if (nonimmediate_operand (operands[1], E_V4DFmode))
16496 : : {
16497 : : x9 = XEXP (x8, 1);
16498 : : if (rtx_equal_p (x9, operands[1])
16499 : : &&
16500 : : #line 13501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16501 : : (TARGET_AVX && 1))
16502 : : return 5340; /* avx_movddup256 */
16503 : : }
16504 : : if (!register_operand (operands[1], E_V4DFmode))
16505 : : return -1;
16506 : : x9 = XEXP (x8, 1);
16507 : : operands[2] = x9;
16508 : : if (!nonimmediate_operand (operands[2], E_V4DFmode)
16509 : : || !
16510 : : #line 13515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16511 : : (TARGET_AVX && 1))
16512 : : return -1;
16513 : : return 5342; /* avx_unpcklpd256 */
16514 : :
16515 : : case E_V4DImode:
16516 : : if (pattern1607 (x2,
16517 : : E_V4DImode,
16518 : : E_V8DImode) != 0
16519 : : || !
16520 : : #line 14547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16521 : : (TARGET_AVX2 && 1))
16522 : : return -1;
16523 : : return 7155; /* avx2_interleave_lowv4di */
16524 : :
16525 : : default:
16526 : : return -1;
16527 : : }
16528 : :
16529 : : default:
16530 : : return -1;
16531 : : }
16532 : :
16533 : : case 0L:
16534 : : if (XWINT (x4, 0) != 6L
16535 : : || XWINT (x5, 0) != 6L
16536 : : || pattern1546 (x2) != 0
16537 : : || !
16538 : : #line 11448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16539 : : (TARGET_SSE3 && 1))
16540 : : return -1;
16541 : : return 5196; /* sse3_movsldup */
16542 : :
16543 : : default:
16544 : : return -1;
16545 : : }
16546 : :
16547 : : case 2L:
16548 : : x7 = XVECEXP (x3, 0, 1);
16549 : : if (XWINT (x7, 0) != 6L
16550 : : || XWINT (x4, 0) != 3L
16551 : : || XWINT (x5, 0) != 7L
16552 : : || pattern1301 (x2,
16553 : : E_V4SFmode,
16554 : : E_V8SFmode) != 0
16555 : : || !
16556 : : #line 11253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16557 : : (TARGET_SSE && 1))
16558 : : return -1;
16559 : : return 5180; /* vec_interleave_highv4sf */
16560 : :
16561 : : case 1L:
16562 : : if (XWINT (x5, 0) != 7L)
16563 : : return -1;
16564 : : x7 = XVECEXP (x3, 0, 1);
16565 : : switch (XWINT (x7, 0))
16566 : : {
16567 : : case 1L:
16568 : : if (XWINT (x4, 0) != 7L
16569 : : || pattern1546 (x2) != 0
16570 : : || !
16571 : : #line 11395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16572 : : (TARGET_SSE3 && 1))
16573 : : return -1;
16574 : : return 5190; /* sse3_movshdup */
16575 : :
16576 : : case 5L:
16577 : : if (XWINT (x4, 0) != 3L)
16578 : : return -1;
16579 : : x8 = XEXP (x2, 0);
16580 : : x9 = XEXP (x8, 1);
16581 : : operands[2] = x9;
16582 : : switch (GET_MODE (operands[0]))
16583 : : {
16584 : : case E_V4DFmode:
16585 : : if (pattern1403 (x2,
16586 : : E_V4DFmode,
16587 : : E_V8DFmode) != 0
16588 : : || !
16589 : : #line 13371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16590 : : (TARGET_AVX && 1))
16591 : : return -1;
16592 : : return 5332; /* avx_unpckhpd256 */
16593 : :
16594 : : case E_V4DImode:
16595 : : if (pattern1403 (x2,
16596 : : E_V4DImode,
16597 : : E_V8DImode) != 0
16598 : : || !
16599 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16600 : : (TARGET_AVX2 && 1))
16601 : : return -1;
16602 : : return 7149; /* avx2_interleave_highv4di */
16603 : :
16604 : : default:
16605 : : return -1;
16606 : : }
16607 : :
16608 : : default:
16609 : : return -1;
16610 : : }
16611 : :
16612 : : default:
16613 : : return -1;
16614 : : }
16615 : : }
16616 : :
16617 : : int
16618 : : recog_279 (rtx x1 ATTRIBUTE_UNUSED,
16619 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16620 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16621 : : {
16622 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16623 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16624 : : rtx x10, x11, x12, x13;
16625 : : int res ATTRIBUTE_UNUSED;
16626 : : x2 = XEXP (x1, 1);
16627 : : x3 = XEXP (x2, 1);
16628 : : x4 = XVECEXP (x3, 0, 0);
16629 : : if (GET_CODE (x4) != CONST_INT)
16630 : : return -1;
16631 : : x5 = XVECEXP (x3, 0, 1);
16632 : : if (GET_CODE (x5) == CONST_INT)
16633 : : {
16634 : : res = recog_278 (x1, insn, pnum_clobbers);
16635 : : if (res >= 0)
16636 : : return res;
16637 : : }
16638 : : operands[3] = x4;
16639 : : x6 = XEXP (x2, 0);
16640 : : x7 = XEXP (x6, 1);
16641 : : operands[2] = x7;
16642 : : operands[4] = x5;
16643 : : x8 = XVECEXP (x3, 0, 2);
16644 : : operands[5] = x8;
16645 : : x9 = XVECEXP (x3, 0, 3);
16646 : : operands[6] = x9;
16647 : : x10 = XVECEXP (x3, 0, 4);
16648 : : operands[7] = x10;
16649 : : x11 = XVECEXP (x3, 0, 5);
16650 : : operands[8] = x11;
16651 : : x12 = XVECEXP (x3, 0, 6);
16652 : : operands[9] = x12;
16653 : : x13 = XVECEXP (x3, 0, 7);
16654 : : operands[10] = x13;
16655 : : switch (GET_MODE (operands[0]))
16656 : : {
16657 : : case E_V8SFmode:
16658 : : if (pattern1403 (x2,
16659 : : E_V8SFmode,
16660 : : E_V16SFmode) != 0)
16661 : : return -1;
16662 : : if (const_0_to_3_operand (operands[3], E_VOIDmode)
16663 : : && const_0_to_3_operand (operands[4], E_VOIDmode)
16664 : : && const_8_to_11_operand (operands[5], E_VOIDmode)
16665 : : && const_8_to_11_operand (operands[6], E_VOIDmode)
16666 : : && const_4_to_7_operand (operands[7], E_VOIDmode)
16667 : : && const_4_to_7_operand (operands[8], E_VOIDmode)
16668 : : && const_12_to_15_operand (operands[9], E_VOIDmode)
16669 : : && const_12_to_15_operand (operands[10], E_VOIDmode)
16670 : : &&
16671 : : #line 11513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16672 : : (TARGET_AVX
16673 : : && 1
16674 : : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
16675 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
16676 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
16677 : : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4))))
16678 : : return 5200; /* avx_shufps256_1 */
16679 : : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
16680 : : || pattern1669 () != 0
16681 : : || !
16682 : : #line 20362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16683 : : (TARGET_AVX512VL
16684 : : && (INTVAL (operands[3]) & 3) == 0
16685 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16686 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16687 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16688 : : && (INTVAL (operands[7]) & 3) == 0
16689 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16690 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16691 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3))
16692 : : return -1;
16693 : : return 8380; /* avx512vl_shuf_f32x4_1 */
16694 : :
16695 : : case E_V8DFmode:
16696 : : if (pattern1403 (x2,
16697 : : E_V8DFmode,
16698 : : E_V16DFmode) != 0)
16699 : : return -1;
16700 : : if (const_0_to_1_operand (operands[3], E_VOIDmode)
16701 : : && const_8_to_9_operand (operands[4], E_VOIDmode)
16702 : : && const_2_to_3_operand (operands[5], E_VOIDmode)
16703 : : && const_10_to_11_operand (operands[6], E_VOIDmode)
16704 : : && const_4_to_5_operand (operands[7], E_VOIDmode)
16705 : : && const_12_to_13_operand (operands[8], E_VOIDmode)
16706 : : && const_6_to_7_operand (operands[9], E_VOIDmode)
16707 : : && const_14_to_15_operand (operands[10], E_VOIDmode)
16708 : : &&
16709 : : #line 14381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16710 : : (TARGET_AVX512F))
16711 : : return 7144; /* avx512f_shufpd512_1 */
16712 : : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
16713 : : || pattern1669 () != 0
16714 : : || !
16715 : : #line 20264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16716 : : (TARGET_AVX512F
16717 : : && (INTVAL (operands[3]) & 1) == 0
16718 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16719 : : && (INTVAL (operands[5]) & 1) == 0
16720 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
16721 : : && (INTVAL (operands[7]) & 1) == 0
16722 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16723 : : && (INTVAL (operands[9]) & 1) == 0
16724 : : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1))
16725 : : return -1;
16726 : : return 8370; /* avx512f_shuf_f64x2_1 */
16727 : :
16728 : : case E_V8DImode:
16729 : : if (pattern1670 (x2,
16730 : : E_V8DImode,
16731 : : E_V16DImode) != 0
16732 : : || !
16733 : : #line 20264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16734 : : (TARGET_AVX512F
16735 : : && (INTVAL (operands[3]) & 1) == 0
16736 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16737 : : && (INTVAL (operands[5]) & 1) == 0
16738 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
16739 : : && (INTVAL (operands[7]) & 1) == 0
16740 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16741 : : && (INTVAL (operands[9]) & 1) == 0
16742 : : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1))
16743 : : return -1;
16744 : : return 8372; /* avx512f_shuf_i64x2_1 */
16745 : :
16746 : : case E_V8SImode:
16747 : : if (pattern1670 (x2,
16748 : : E_V8SImode,
16749 : : E_V16SImode) != 0
16750 : : || !
16751 : : #line 20362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16752 : : (TARGET_AVX512VL
16753 : : && (INTVAL (operands[3]) & 3) == 0
16754 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16755 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16756 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16757 : : && (INTVAL (operands[7]) & 3) == 0
16758 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16759 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16760 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3))
16761 : : return -1;
16762 : : return 8378; /* avx512vl_shuf_i32x4_1 */
16763 : :
16764 : : default:
16765 : : return -1;
16766 : : }
16767 : : }
16768 : :
16769 : : int
16770 : : recog_282 (rtx x1 ATTRIBUTE_UNUSED,
16771 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16772 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16773 : : {
16774 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16775 : : rtx x2, x3, x4, x5, x6, x7;
16776 : : int res ATTRIBUTE_UNUSED;
16777 : : x2 = XEXP (x1, 1);
16778 : : x3 = XEXP (x2, 1);
16779 : : x4 = XVECEXP (x3, 0, 0);
16780 : : if (GET_CODE (x4) != CONST_INT)
16781 : : return -1;
16782 : : x5 = XVECEXP (x3, 0, 1);
16783 : : if (GET_CODE (x5) == CONST_INT)
16784 : : {
16785 : : x6 = XEXP (x2, 0);
16786 : : x7 = XEXP (x6, 1);
16787 : : operands[2] = x7;
16788 : : switch (XWINT (x4, 0))
16789 : : {
16790 : : case 1L:
16791 : : if (XWINT (x5, 0) == 3L)
16792 : : {
16793 : : switch (GET_MODE (operands[0]))
16794 : : {
16795 : : case E_V2DFmode:
16796 : : if (pattern1472 (x2,
16797 : : E_V2DFmode,
16798 : : E_V4DFmode) == 0
16799 : : &&
16800 : : #line 13444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16801 : : (TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 1)))
16802 : : return 5335; /* *vec_interleave_highv2df */
16803 : : break;
16804 : :
16805 : : case E_V2DImode:
16806 : : if (pattern1473 (x2,
16807 : : E_V2DImode,
16808 : : E_V4DImode) == 0
16809 : : &&
16810 : : #line 14527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16811 : : (TARGET_SSE2 && 1))
16812 : : return 7153; /* vec_interleave_highv2di */
16813 : : break;
16814 : :
16815 : : default:
16816 : : break;
16817 : : }
16818 : : }
16819 : : break;
16820 : :
16821 : : case 0L:
16822 : : if (XWINT (x5, 0) == 2L)
16823 : : {
16824 : : switch (GET_MODE (operands[0]))
16825 : : {
16826 : : case E_V2DFmode:
16827 : : if (pattern1472 (x2,
16828 : : E_V2DFmode,
16829 : : E_V4DFmode) == 0
16830 : : &&
16831 : : #line 13587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16832 : : (TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 0)))
16833 : : return 5345; /* *vec_interleave_lowv2df */
16834 : : break;
16835 : :
16836 : : case E_V2DImode:
16837 : : if (pattern1473 (x2,
16838 : : E_V2DImode,
16839 : : E_V4DImode) == 0
16840 : : &&
16841 : : #line 14577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16842 : : (TARGET_SSE2 && 1))
16843 : : return 7159; /* vec_interleave_lowv2di */
16844 : : break;
16845 : :
16846 : : default:
16847 : : break;
16848 : : }
16849 : : }
16850 : : break;
16851 : :
16852 : : default:
16853 : : break;
16854 : : }
16855 : : }
16856 : : operands[3] = x4;
16857 : : if (!const_0_to_1_operand (operands[3], E_VOIDmode))
16858 : : return -1;
16859 : : x6 = XEXP (x2, 0);
16860 : : x7 = XEXP (x6, 1);
16861 : : operands[2] = x7;
16862 : : operands[4] = x5;
16863 : : if (!const_2_to_3_operand (operands[4], E_VOIDmode))
16864 : : return -1;
16865 : : switch (GET_MODE (operands[0]))
16866 : : {
16867 : : case E_V2DImode:
16868 : : if (pattern1473 (x2,
16869 : : E_V2DImode,
16870 : : E_V4DImode) != 0
16871 : : || !
16872 : : #line 14595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16873 : : (TARGET_SSE2))
16874 : : return -1;
16875 : : return 7161; /* sse2_shufpd_v2di */
16876 : :
16877 : : case E_V2DFmode:
16878 : : if (pattern1473 (x2,
16879 : : E_V2DFmode,
16880 : : E_V4DFmode) != 0
16881 : : || !
16882 : : #line 14595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16883 : : (TARGET_SSE2))
16884 : : return -1;
16885 : : return 7162; /* sse2_shufpd_v2df */
16886 : :
16887 : : default:
16888 : : return -1;
16889 : : }
16890 : : }
16891 : :
16892 : : int
16893 : : recog_284 (rtx x1 ATTRIBUTE_UNUSED,
16894 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16895 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16896 : : {
16897 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16898 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16899 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16900 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
16901 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
16902 : : rtx x34, x35, x36, x37;
16903 : : int res ATTRIBUTE_UNUSED;
16904 : : x2 = XEXP (x1, 1);
16905 : : x3 = XEXP (x2, 1);
16906 : : if (pattern660 (x3) != 0)
16907 : : return -1;
16908 : : x4 = XEXP (x2, 0);
16909 : : x5 = XEXP (x4, 1);
16910 : : operands[2] = x5;
16911 : : x6 = XVECEXP (x3, 0, 0);
16912 : : switch (XWINT (x6, 0))
16913 : : {
16914 : : case 8L:
16915 : : x7 = XVECEXP (x3, 0, 1);
16916 : : if (XWINT (x7, 0) != 40L)
16917 : : return -1;
16918 : : x8 = XVECEXP (x3, 0, 2);
16919 : : if (XWINT (x8, 0) != 9L)
16920 : : return -1;
16921 : : x9 = XVECEXP (x3, 0, 3);
16922 : : if (XWINT (x9, 0) != 41L)
16923 : : return -1;
16924 : : x10 = XVECEXP (x3, 0, 4);
16925 : : if (XWINT (x10, 0) != 10L)
16926 : : return -1;
16927 : : x11 = XVECEXP (x3, 0, 5);
16928 : : if (XWINT (x11, 0) != 42L)
16929 : : return -1;
16930 : : x12 = XVECEXP (x3, 0, 6);
16931 : : if (XWINT (x12, 0) != 11L)
16932 : : return -1;
16933 : : x13 = XVECEXP (x3, 0, 7);
16934 : : if (XWINT (x13, 0) != 43L
16935 : : || pattern1877 (x3) != 0)
16936 : : return -1;
16937 : : x14 = XVECEXP (x3, 0, 16);
16938 : : if (XWINT (x14, 0) != 24L)
16939 : : return -1;
16940 : : x15 = XVECEXP (x3, 0, 17);
16941 : : if (XWINT (x15, 0) != 56L)
16942 : : return -1;
16943 : : x16 = XVECEXP (x3, 0, 18);
16944 : : if (XWINT (x16, 0) != 25L)
16945 : : return -1;
16946 : : x17 = XVECEXP (x3, 0, 19);
16947 : : if (XWINT (x17, 0) != 57L)
16948 : : return -1;
16949 : : x18 = XVECEXP (x3, 0, 20);
16950 : : if (XWINT (x18, 0) != 26L)
16951 : : return -1;
16952 : : x19 = XVECEXP (x3, 0, 21);
16953 : : if (XWINT (x19, 0) != 58L)
16954 : : return -1;
16955 : : x20 = XVECEXP (x3, 0, 22);
16956 : : if (XWINT (x20, 0) != 27L)
16957 : : return -1;
16958 : : x21 = XVECEXP (x3, 0, 23);
16959 : : if (XWINT (x21, 0) != 59L
16960 : : || pattern1883 (x3) != 0
16961 : : || pattern1403 (x2,
16962 : : E_V32QImode,
16963 : : E_V64QImode) != 0
16964 : : || !
16965 : : #line 19479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16966 : : (TARGET_AVX2 && 1 && 1))
16967 : : return -1;
16968 : : return 8274; /* avx2_interleave_highv32qi */
16969 : :
16970 : : case 0L:
16971 : : x7 = XVECEXP (x3, 0, 1);
16972 : : if (XWINT (x7, 0) != 32L)
16973 : : return -1;
16974 : : x8 = XVECEXP (x3, 0, 2);
16975 : : if (XWINT (x8, 0) != 1L)
16976 : : return -1;
16977 : : x9 = XVECEXP (x3, 0, 3);
16978 : : if (XWINT (x9, 0) != 33L)
16979 : : return -1;
16980 : : x10 = XVECEXP (x3, 0, 4);
16981 : : if (XWINT (x10, 0) != 2L)
16982 : : return -1;
16983 : : x11 = XVECEXP (x3, 0, 5);
16984 : : if (XWINT (x11, 0) != 34L)
16985 : : return -1;
16986 : : x12 = XVECEXP (x3, 0, 6);
16987 : : if (XWINT (x12, 0) != 3L)
16988 : : return -1;
16989 : : x13 = XVECEXP (x3, 0, 7);
16990 : : if (XWINT (x13, 0) != 35L)
16991 : : return -1;
16992 : : x14 = XVECEXP (x3, 0, 16);
16993 : : if (XWINT (x14, 0) != 16L)
16994 : : return -1;
16995 : : x15 = XVECEXP (x3, 0, 17);
16996 : : if (XWINT (x15, 0) != 48L)
16997 : : return -1;
16998 : : x16 = XVECEXP (x3, 0, 18);
16999 : : if (XWINT (x16, 0) != 17L)
17000 : : return -1;
17001 : : x17 = XVECEXP (x3, 0, 19);
17002 : : if (XWINT (x17, 0) != 49L)
17003 : : return -1;
17004 : : x18 = XVECEXP (x3, 0, 20);
17005 : : if (XWINT (x18, 0) != 18L)
17006 : : return -1;
17007 : : x19 = XVECEXP (x3, 0, 21);
17008 : : if (XWINT (x19, 0) != 50L)
17009 : : return -1;
17010 : : x20 = XVECEXP (x3, 0, 22);
17011 : : if (XWINT (x20, 0) != 19L)
17012 : : return -1;
17013 : : x21 = XVECEXP (x3, 0, 23);
17014 : : if (XWINT (x21, 0) != 51L)
17015 : : return -1;
17016 : : x22 = XVECEXP (x3, 0, 8);
17017 : : switch (XWINT (x22, 0))
17018 : : {
17019 : : case 4L:
17020 : : x23 = XVECEXP (x3, 0, 9);
17021 : : if (XWINT (x23, 0) != 36L)
17022 : : return -1;
17023 : : x24 = XVECEXP (x3, 0, 10);
17024 : : if (XWINT (x24, 0) != 5L)
17025 : : return -1;
17026 : : x25 = XVECEXP (x3, 0, 11);
17027 : : if (XWINT (x25, 0) != 37L)
17028 : : return -1;
17029 : : x26 = XVECEXP (x3, 0, 12);
17030 : : if (XWINT (x26, 0) != 6L)
17031 : : return -1;
17032 : : x27 = XVECEXP (x3, 0, 13);
17033 : : if (XWINT (x27, 0) != 38L)
17034 : : return -1;
17035 : : x28 = XVECEXP (x3, 0, 14);
17036 : : if (XWINT (x28, 0) != 7L)
17037 : : return -1;
17038 : : x29 = XVECEXP (x3, 0, 15);
17039 : : if (XWINT (x29, 0) != 39L)
17040 : : return -1;
17041 : : x30 = XVECEXP (x3, 0, 24);
17042 : : if (XWINT (x30, 0) != 20L)
17043 : : return -1;
17044 : : x31 = XVECEXP (x3, 0, 25);
17045 : : if (XWINT (x31, 0) != 52L)
17046 : : return -1;
17047 : : x32 = XVECEXP (x3, 0, 26);
17048 : : if (XWINT (x32, 0) != 21L)
17049 : : return -1;
17050 : : x33 = XVECEXP (x3, 0, 27);
17051 : : if (XWINT (x33, 0) != 53L)
17052 : : return -1;
17053 : : x34 = XVECEXP (x3, 0, 28);
17054 : : if (XWINT (x34, 0) != 22L)
17055 : : return -1;
17056 : : x35 = XVECEXP (x3, 0, 29);
17057 : : if (XWINT (x35, 0) != 54L)
17058 : : return -1;
17059 : : x36 = XVECEXP (x3, 0, 30);
17060 : : if (XWINT (x36, 0) != 23L)
17061 : : return -1;
17062 : : x37 = XVECEXP (x3, 0, 31);
17063 : : if (XWINT (x37, 0) != 55L
17064 : : || pattern1403 (x2,
17065 : : E_V32QImode,
17066 : : E_V64QImode) != 0
17067 : : || !
17068 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17069 : : (TARGET_AVX2 && 1 && 1))
17070 : : return -1;
17071 : : return 8280; /* avx2_interleave_lowv32qi */
17072 : :
17073 : : case 8L:
17074 : : x23 = XVECEXP (x3, 0, 9);
17075 : : if (XWINT (x23, 0) != 40L)
17076 : : return -1;
17077 : : x24 = XVECEXP (x3, 0, 10);
17078 : : if (XWINT (x24, 0) != 9L)
17079 : : return -1;
17080 : : x25 = XVECEXP (x3, 0, 11);
17081 : : if (XWINT (x25, 0) != 41L)
17082 : : return -1;
17083 : : x26 = XVECEXP (x3, 0, 12);
17084 : : if (XWINT (x26, 0) != 10L)
17085 : : return -1;
17086 : : x27 = XVECEXP (x3, 0, 13);
17087 : : if (XWINT (x27, 0) != 42L)
17088 : : return -1;
17089 : : x28 = XVECEXP (x3, 0, 14);
17090 : : if (XWINT (x28, 0) != 11L)
17091 : : return -1;
17092 : : x29 = XVECEXP (x3, 0, 15);
17093 : : if (XWINT (x29, 0) != 43L)
17094 : : return -1;
17095 : : x30 = XVECEXP (x3, 0, 24);
17096 : : if (XWINT (x30, 0) != 24L)
17097 : : return -1;
17098 : : x31 = XVECEXP (x3, 0, 25);
17099 : : if (XWINT (x31, 0) != 56L)
17100 : : return -1;
17101 : : x32 = XVECEXP (x3, 0, 26);
17102 : : if (XWINT (x32, 0) != 25L)
17103 : : return -1;
17104 : : x33 = XVECEXP (x3, 0, 27);
17105 : : if (XWINT (x33, 0) != 57L)
17106 : : return -1;
17107 : : x34 = XVECEXP (x3, 0, 28);
17108 : : if (XWINT (x34, 0) != 26L)
17109 : : return -1;
17110 : : x35 = XVECEXP (x3, 0, 29);
17111 : : if (XWINT (x35, 0) != 58L)
17112 : : return -1;
17113 : : x36 = XVECEXP (x3, 0, 30);
17114 : : if (XWINT (x36, 0) != 27L)
17115 : : return -1;
17116 : : x37 = XVECEXP (x3, 0, 31);
17117 : : if (XWINT (x37, 0) != 59L)
17118 : : return -1;
17119 : : switch (GET_MODE (operands[0]))
17120 : : {
17121 : : case E_V32HImode:
17122 : : if (pattern1403 (x2,
17123 : : E_V32HImode,
17124 : : E_V64HImode) != 0
17125 : : || !
17126 : : #line 19695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17127 : : (TARGET_AVX512BW))
17128 : : return -1;
17129 : : return 8302; /* *avx512bw_interleave_lowv32hi */
17130 : :
17131 : : case E_V32HFmode:
17132 : : if (pattern1403 (x2,
17133 : : E_V32HFmode,
17134 : : E_V64HFmode) != 0
17135 : : || !
17136 : : #line 19695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17137 : : (TARGET_AVX512BW))
17138 : : return -1;
17139 : : return 8304; /* *avx512bw_interleave_lowv32hf */
17140 : :
17141 : : case E_V32BFmode:
17142 : : if (pattern1403 (x2,
17143 : : E_V32BFmode,
17144 : : E_V64BFmode) != 0
17145 : : || !
17146 : : #line 19695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17147 : : (TARGET_AVX512BW))
17148 : : return -1;
17149 : : return 8306; /* *avx512bw_interleave_lowv32bf */
17150 : :
17151 : : default:
17152 : : return -1;
17153 : : }
17154 : :
17155 : : default:
17156 : : return -1;
17157 : : }
17158 : :
17159 : : case 4L:
17160 : : x7 = XVECEXP (x3, 0, 1);
17161 : : if (XWINT (x7, 0) != 36L)
17162 : : return -1;
17163 : : x8 = XVECEXP (x3, 0, 2);
17164 : : if (XWINT (x8, 0) != 5L)
17165 : : return -1;
17166 : : x9 = XVECEXP (x3, 0, 3);
17167 : : if (XWINT (x9, 0) != 37L)
17168 : : return -1;
17169 : : x10 = XVECEXP (x3, 0, 4);
17170 : : if (XWINT (x10, 0) != 6L)
17171 : : return -1;
17172 : : x11 = XVECEXP (x3, 0, 5);
17173 : : if (XWINT (x11, 0) != 38L)
17174 : : return -1;
17175 : : x12 = XVECEXP (x3, 0, 6);
17176 : : if (XWINT (x12, 0) != 7L)
17177 : : return -1;
17178 : : x13 = XVECEXP (x3, 0, 7);
17179 : : if (XWINT (x13, 0) != 39L
17180 : : || pattern1877 (x3) != 0)
17181 : : return -1;
17182 : : x14 = XVECEXP (x3, 0, 16);
17183 : : if (XWINT (x14, 0) != 20L)
17184 : : return -1;
17185 : : x15 = XVECEXP (x3, 0, 17);
17186 : : if (XWINT (x15, 0) != 52L)
17187 : : return -1;
17188 : : x16 = XVECEXP (x3, 0, 18);
17189 : : if (XWINT (x16, 0) != 21L)
17190 : : return -1;
17191 : : x17 = XVECEXP (x3, 0, 19);
17192 : : if (XWINT (x17, 0) != 53L)
17193 : : return -1;
17194 : : x18 = XVECEXP (x3, 0, 20);
17195 : : if (XWINT (x18, 0) != 22L)
17196 : : return -1;
17197 : : x19 = XVECEXP (x3, 0, 21);
17198 : : if (XWINT (x19, 0) != 54L)
17199 : : return -1;
17200 : : x20 = XVECEXP (x3, 0, 22);
17201 : : if (XWINT (x20, 0) != 23L)
17202 : : return -1;
17203 : : x21 = XVECEXP (x3, 0, 23);
17204 : : if (XWINT (x21, 0) != 55L
17205 : : || pattern1883 (x3) != 0)
17206 : : return -1;
17207 : : switch (GET_MODE (operands[0]))
17208 : : {
17209 : : case E_V32HImode:
17210 : : if (pattern1403 (x2,
17211 : : E_V32HImode,
17212 : : E_V64HImode) != 0
17213 : : || !
17214 : : #line 19627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17215 : : (TARGET_AVX512BW))
17216 : : return -1;
17217 : : return 8284; /* avx512bw_interleave_highv32hi */
17218 : :
17219 : : case E_V32HFmode:
17220 : : if (pattern1403 (x2,
17221 : : E_V32HFmode,
17222 : : E_V64HFmode) != 0
17223 : : || !
17224 : : #line 19627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17225 : : (TARGET_AVX512BW))
17226 : : return -1;
17227 : : return 8286; /* avx512bw_interleave_highv32hf */
17228 : :
17229 : : case E_V32BFmode:
17230 : : if (pattern1403 (x2,
17231 : : E_V32BFmode,
17232 : : E_V64BFmode) != 0
17233 : : || !
17234 : : #line 19627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17235 : : (TARGET_AVX512BW))
17236 : : return -1;
17237 : : return 8288; /* avx512bw_interleave_highv32bf */
17238 : :
17239 : : default:
17240 : : return -1;
17241 : : }
17242 : :
17243 : : default:
17244 : : return -1;
17245 : : }
17246 : : }
17247 : :
17248 : : int
17249 : : recog_295 (rtx x1 ATTRIBUTE_UNUSED,
17250 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17251 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17252 : : {
17253 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17254 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
17255 : : rtx x10, x11;
17256 : : int res ATTRIBUTE_UNUSED;
17257 : : x2 = XEXP (x1, 1);
17258 : : x3 = XEXP (x2, 1);
17259 : : x4 = XVECEXP (x3, 0, 4);
17260 : : if (GET_CODE (x4) != CONST_INT)
17261 : : return -1;
17262 : : operands[6] = x4;
17263 : : res = recog_294 (x1, insn, pnum_clobbers);
17264 : : if (res >= 0)
17265 : : return res;
17266 : : if (XWINT (x4, 0) != 4L)
17267 : : return -1;
17268 : : x5 = XVECEXP (x3, 0, 5);
17269 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
17270 : : return -1;
17271 : : x6 = XVECEXP (x3, 0, 6);
17272 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
17273 : : return -1;
17274 : : x7 = XVECEXP (x3, 0, 7);
17275 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
17276 : : || pattern1404 (x3) != 0
17277 : : || !register_operand (operands[0], E_V16HImode)
17278 : : || GET_MODE (x2) != E_V16HImode
17279 : : || !nonimmediate_operand (operands[1], E_V16HImode)
17280 : : || pattern729 (x3) != 0)
17281 : : return -1;
17282 : : x8 = XVECEXP (x3, 0, 8);
17283 : : operands[6] = x8;
17284 : : if (!const_8_to_11_operand (operands[6], E_VOIDmode))
17285 : : return -1;
17286 : : x9 = XVECEXP (x3, 0, 9);
17287 : : operands[7] = x9;
17288 : : if (!const_8_to_11_operand (operands[7], E_VOIDmode))
17289 : : return -1;
17290 : : x10 = XVECEXP (x3, 0, 10);
17291 : : operands[8] = x10;
17292 : : if (!const_8_to_11_operand (operands[8], E_VOIDmode))
17293 : : return -1;
17294 : : x11 = XVECEXP (x3, 0, 11);
17295 : : operands[9] = x11;
17296 : : if (!const_8_to_11_operand (operands[9], E_VOIDmode)
17297 : : || !
17298 : : #line 20809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17299 : : (TARGET_AVX2
17300 : : && 1 && 1
17301 : : && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
17302 : : && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
17303 : : && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
17304 : : && INTVAL (operands[5]) + 8 == INTVAL (operands[9])))
17305 : : return -1;
17306 : : return 8398; /* avx2_pshuflw_1 */
17307 : : }
17308 : :
17309 : : int
17310 : : recog_301 (rtx x1 ATTRIBUTE_UNUSED,
17311 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17312 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17313 : : {
17314 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17315 : : rtx x2, x3, x4;
17316 : : int res ATTRIBUTE_UNUSED;
17317 : : x2 = XEXP (x1, 1);
17318 : : x3 = XEXP (x2, 0);
17319 : : operands[1] = x3;
17320 : : x4 = XEXP (x2, 1);
17321 : : operands[2] = x4;
17322 : : switch (GET_MODE (operands[0]))
17323 : : {
17324 : : case E_V16BFmode:
17325 : : if (GET_MODE (x2) != E_V16BFmode)
17326 : : return -1;
17327 : : if (register_operand (operands[0], E_V16BFmode)
17328 : : && vector_operand (operands[1], E_V16BFmode)
17329 : : && vector_operand (operands[2], E_V16BFmode)
17330 : : && (
17331 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17332 : : (TARGET_SSE && 1
17333 : : && (!false || 16 != 16)
17334 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17335 : : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17336 : : (TARGET_AVX)))
17337 : : return 3699; /* *andv16bf3 */
17338 : : if (!nonimmediate_operand (operands[0], E_V16BFmode)
17339 : : || !nonimmediate_operand (operands[1], E_V16BFmode)
17340 : : || !float_vector_all_ones_operand (operands[2], E_V16BFmode)
17341 : : || !(
17342 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17343 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17344 : : #line 411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17345 : : (TARGET_AVX)))
17346 : : return -1;
17347 : : return 3754; /* *bit_and_float_vector_all_ones */
17348 : :
17349 : : case E_V8BFmode:
17350 : : if (GET_MODE (x2) != E_V8BFmode)
17351 : : return -1;
17352 : : if (register_operand (operands[0], E_V8BFmode)
17353 : : && vector_operand (operands[1], E_V8BFmode)
17354 : : && vector_operand (operands[2], E_V8BFmode)
17355 : : && (
17356 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17357 : : (TARGET_SSE && 1
17358 : : && (!false || 16 != 16)
17359 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17360 : : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17361 : : (TARGET_SSE2)))
17362 : : return 3702; /* *andv8bf3 */
17363 : : if (!nonimmediate_operand (operands[0], E_V8BFmode)
17364 : : || !nonimmediate_operand (operands[1], E_V8BFmode)
17365 : : || !float_vector_all_ones_operand (operands[2], E_V8BFmode)
17366 : : || !(
17367 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17368 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17369 : : #line 411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17370 : : (TARGET_SSE2)))
17371 : : return -1;
17372 : : return 3755; /* *bit_and_float_vector_all_ones */
17373 : :
17374 : : case E_V16HFmode:
17375 : : if (GET_MODE (x2) != E_V16HFmode)
17376 : : return -1;
17377 : : if (register_operand (operands[0], E_V16HFmode)
17378 : : && vector_operand (operands[1], E_V16HFmode)
17379 : : && vector_operand (operands[2], E_V16HFmode)
17380 : : && (
17381 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17382 : : (TARGET_SSE && 1
17383 : : && (!false || 16 != 16)
17384 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17385 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17386 : : (TARGET_AVX)))
17387 : : return 3705; /* *andv16hf3 */
17388 : : if (!nonimmediate_operand (operands[0], E_V16HFmode)
17389 : : || !nonimmediate_operand (operands[1], E_V16HFmode)
17390 : : || !float_vector_all_ones_operand (operands[2], E_V16HFmode)
17391 : : || !(
17392 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17393 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17394 : : #line 413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17395 : : (TARGET_AVX)))
17396 : : return -1;
17397 : : return 3757; /* *bit_and_float_vector_all_ones */
17398 : :
17399 : : case E_V8HFmode:
17400 : : if (GET_MODE (x2) != E_V8HFmode)
17401 : : return -1;
17402 : : if (register_operand (operands[0], E_V8HFmode)
17403 : : && vector_operand (operands[1], E_V8HFmode)
17404 : : && vector_operand (operands[2], E_V8HFmode)
17405 : : && (
17406 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17407 : : (TARGET_SSE && 1
17408 : : && (!false || 16 != 16)
17409 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17410 : : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17411 : : (TARGET_SSE2)))
17412 : : return 3708; /* *andv8hf3 */
17413 : : if (!nonimmediate_operand (operands[0], E_V8HFmode)
17414 : : || !nonimmediate_operand (operands[1], E_V8HFmode)
17415 : : || !float_vector_all_ones_operand (operands[2], E_V8HFmode)
17416 : : || !(
17417 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17418 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17419 : : #line 413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17420 : : (TARGET_SSE2)))
17421 : : return -1;
17422 : : return 3758; /* *bit_and_float_vector_all_ones */
17423 : :
17424 : : case E_V8SFmode:
17425 : : if (GET_MODE (x2) != E_V8SFmode)
17426 : : return -1;
17427 : : if (register_operand (operands[0], E_V8SFmode)
17428 : : && vector_operand (operands[1], E_V8SFmode)
17429 : : && vector_operand (operands[2], E_V8SFmode)
17430 : : && (
17431 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17432 : : (TARGET_SSE && 1
17433 : : && (!false || 32 != 16)
17434 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17435 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17436 : : (TARGET_AVX)))
17437 : : return 3711; /* *andv8sf3 */
17438 : : if (!nonimmediate_operand (operands[0], E_V8SFmode)
17439 : : || !nonimmediate_operand (operands[1], E_V8SFmode)
17440 : : || !float_vector_all_ones_operand (operands[2], E_V8SFmode)
17441 : : || !(
17442 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17443 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17444 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17445 : : (TARGET_AVX)))
17446 : : return -1;
17447 : : return 3760; /* *bit_and_float_vector_all_ones */
17448 : :
17449 : : case E_V4SFmode:
17450 : : if (GET_MODE (x2) != E_V4SFmode)
17451 : : return -1;
17452 : : if (register_operand (operands[0], E_V4SFmode)
17453 : : && vector_operand (operands[1], E_V4SFmode)
17454 : : && vector_operand (operands[2], E_V4SFmode)
17455 : : &&
17456 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17457 : : (TARGET_SSE && 1
17458 : : && (!false || 32 != 16)
17459 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17460 : : return 3717; /* *andv4sf3 */
17461 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
17462 : : || !nonimmediate_operand (operands[1], E_V4SFmode)
17463 : : || !float_vector_all_ones_operand (operands[2], E_V4SFmode)
17464 : : || !
17465 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17466 : : (TARGET_SSE && ix86_pre_reload_split ()))
17467 : : return -1;
17468 : : return 3761; /* *bit_and_float_vector_all_ones */
17469 : :
17470 : : case E_V4DFmode:
17471 : : if (GET_MODE (x2) != E_V4DFmode)
17472 : : return -1;
17473 : : if (register_operand (operands[0], E_V4DFmode)
17474 : : && vector_operand (operands[1], E_V4DFmode)
17475 : : && vector_operand (operands[2], E_V4DFmode)
17476 : : && (
17477 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17478 : : (TARGET_SSE && 1
17479 : : && (!false || 64 != 16)
17480 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17481 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17482 : : (TARGET_AVX)))
17483 : : return 3723; /* *andv4df3 */
17484 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
17485 : : || !nonimmediate_operand (operands[1], E_V4DFmode)
17486 : : || !float_vector_all_ones_operand (operands[2], E_V4DFmode)
17487 : : || !(
17488 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17489 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17490 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17491 : : (TARGET_AVX)))
17492 : : return -1;
17493 : : return 3763; /* *bit_and_float_vector_all_ones */
17494 : :
17495 : : case E_V2DFmode:
17496 : : if (GET_MODE (x2) != E_V2DFmode)
17497 : : return -1;
17498 : : if (register_operand (operands[0], E_V2DFmode)
17499 : : && vector_operand (operands[1], E_V2DFmode)
17500 : : && vector_operand (operands[2], E_V2DFmode)
17501 : : && (
17502 : : #line 5424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17503 : : (TARGET_SSE && 1
17504 : : && (!false || 64 != 16)
17505 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17506 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17507 : : (TARGET_SSE2)))
17508 : : return 3729; /* *andv2df3 */
17509 : : if (!nonimmediate_operand (operands[0], E_V2DFmode)
17510 : : || !nonimmediate_operand (operands[1], E_V2DFmode)
17511 : : || !float_vector_all_ones_operand (operands[2], E_V2DFmode)
17512 : : || !(
17513 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17514 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17515 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17516 : : (TARGET_SSE2)))
17517 : : return -1;
17518 : : return 3764; /* *bit_and_float_vector_all_ones */
17519 : :
17520 : : case E_V32BFmode:
17521 : : if (GET_MODE (x2) != E_V32BFmode
17522 : : || !nonimmediate_operand (operands[1], E_V32BFmode))
17523 : : return -1;
17524 : : if (register_operand (operands[0], E_V32BFmode)
17525 : : && nonimmediate_operand (operands[2], E_V32BFmode)
17526 : : &&
17527 : : #line 5494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17528 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17529 : : && (!false || 16 != 16)))
17530 : : return 3735; /* *andv32bf3 */
17531 : : if (!nonimmediate_operand (operands[0], E_V32BFmode)
17532 : : || !float_vector_all_ones_operand (operands[2], E_V32BFmode)
17533 : : || !(
17534 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17535 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17536 : : #line 410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17537 : : (TARGET_AVX512F)))
17538 : : return -1;
17539 : : return 3753; /* *bit_and_float_vector_all_ones */
17540 : :
17541 : : case E_V32HFmode:
17542 : : if (GET_MODE (x2) != E_V32HFmode
17543 : : || !nonimmediate_operand (operands[1], E_V32HFmode))
17544 : : return -1;
17545 : : if (register_operand (operands[0], E_V32HFmode)
17546 : : && nonimmediate_operand (operands[2], E_V32HFmode)
17547 : : &&
17548 : : #line 5494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17549 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17550 : : && (!false || 16 != 16)))
17551 : : return 3738; /* *andv32hf3 */
17552 : : if (!nonimmediate_operand (operands[0], E_V32HFmode)
17553 : : || !float_vector_all_ones_operand (operands[2], E_V32HFmode)
17554 : : || !(
17555 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17556 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17557 : : #line 412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17558 : : (TARGET_AVX512F)))
17559 : : return -1;
17560 : : return 3756; /* *bit_and_float_vector_all_ones */
17561 : :
17562 : : case E_V16SFmode:
17563 : : if (GET_MODE (x2) != E_V16SFmode
17564 : : || !nonimmediate_operand (operands[1], E_V16SFmode))
17565 : : return -1;
17566 : : if (register_operand (operands[0], E_V16SFmode)
17567 : : && nonimmediate_operand (operands[2], E_V16SFmode)
17568 : : &&
17569 : : #line 5494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17570 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17571 : : && (!false || 32 != 16)))
17572 : : return 3741; /* *andv16sf3 */
17573 : : if (!nonimmediate_operand (operands[0], E_V16SFmode)
17574 : : || !float_vector_all_ones_operand (operands[2], E_V16SFmode)
17575 : : || !(
17576 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17577 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17578 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17579 : : (TARGET_AVX512F)))
17580 : : return -1;
17581 : : return 3759; /* *bit_and_float_vector_all_ones */
17582 : :
17583 : : case E_V8DFmode:
17584 : : if (GET_MODE (x2) != E_V8DFmode
17585 : : || !nonimmediate_operand (operands[1], E_V8DFmode))
17586 : : return -1;
17587 : : if (register_operand (operands[0], E_V8DFmode)
17588 : : && nonimmediate_operand (operands[2], E_V8DFmode)
17589 : : &&
17590 : : #line 5494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17591 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17592 : : && (!false || 64 != 16)))
17593 : : return 3747; /* *andv8df3 */
17594 : : if (!nonimmediate_operand (operands[0], E_V8DFmode)
17595 : : || !float_vector_all_ones_operand (operands[2], E_V8DFmode)
17596 : : || !(
17597 : : #line 5532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17598 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
17599 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17600 : : (TARGET_AVX512F)))
17601 : : return -1;
17602 : : return 3762; /* *bit_and_float_vector_all_ones */
17603 : :
17604 : : case E_V16SImode:
17605 : : if (pattern181 (x2,
17606 : : E_V16SImode) != 0
17607 : : || !(
17608 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17609 : : (TARGET_SSE && 1
17610 : : && ix86_binary_operator_ok (AND, V16SImode, operands)) &&
17611 : : #line 779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17612 : : (TARGET_AVX512F)))
17613 : : return -1;
17614 : : return 7957; /* *andv16si3 */
17615 : :
17616 : : case E_V8SImode:
17617 : : if (pattern181 (x2,
17618 : : E_V8SImode) != 0
17619 : : || !(
17620 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17621 : : (TARGET_SSE && 1
17622 : : && ix86_binary_operator_ok (AND, V8SImode, operands)) &&
17623 : : #line 779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17624 : : (TARGET_AVX)))
17625 : : return -1;
17626 : : return 7963; /* *andv8si3 */
17627 : :
17628 : : case E_V4SImode:
17629 : : if (pattern181 (x2,
17630 : : E_V4SImode) != 0
17631 : : || !
17632 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17633 : : (TARGET_SSE && 1
17634 : : && ix86_binary_operator_ok (AND, V4SImode, operands)))
17635 : : return -1;
17636 : : return 7969; /* *andv4si3 */
17637 : :
17638 : : case E_V8DImode:
17639 : : if (pattern181 (x2,
17640 : : E_V8DImode) != 0
17641 : : || !(
17642 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17643 : : (TARGET_SSE && 1
17644 : : && ix86_binary_operator_ok (AND, V8DImode, operands)) &&
17645 : : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17646 : : (TARGET_AVX512F)))
17647 : : return -1;
17648 : : return 7975; /* *andv8di3 */
17649 : :
17650 : : case E_V4DImode:
17651 : : if (pattern181 (x2,
17652 : : E_V4DImode) != 0
17653 : : || !(
17654 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17655 : : (TARGET_SSE && 1
17656 : : && ix86_binary_operator_ok (AND, V4DImode, operands)) &&
17657 : : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17658 : : (TARGET_AVX)))
17659 : : return -1;
17660 : : return 7981; /* *andv4di3 */
17661 : :
17662 : : case E_V2DImode:
17663 : : if (pattern181 (x2,
17664 : : E_V2DImode) != 0
17665 : : || !
17666 : : #line 18758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17667 : : (TARGET_SSE && 1
17668 : : && ix86_binary_operator_ok (AND, V2DImode, operands)))
17669 : : return -1;
17670 : : return 7987; /* *andv2di3 */
17671 : :
17672 : : case E_V64QImode:
17673 : : if (pattern23 (x2,
17674 : : E_V64QImode) != 0
17675 : : || !(
17676 : : #line 18860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17677 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17678 : : #line 783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17679 : : (TARGET_AVX512F)))
17680 : : return -1;
17681 : : return 7993; /* *andv64qi3 */
17682 : :
17683 : : case E_V32QImode:
17684 : : if (pattern23 (x2,
17685 : : E_V32QImode) != 0
17686 : : || !(
17687 : : #line 18860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17688 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17689 : : #line 783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17690 : : (TARGET_AVX)))
17691 : : return -1;
17692 : : return 7996; /* *andv32qi3 */
17693 : :
17694 : : case E_V16QImode:
17695 : : if (pattern23 (x2,
17696 : : E_V16QImode) != 0
17697 : : || !
17698 : : #line 18860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17699 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17700 : : return -1;
17701 : : return 7999; /* *andv16qi3 */
17702 : :
17703 : : case E_V32HImode:
17704 : : if (pattern23 (x2,
17705 : : E_V32HImode) != 0
17706 : : || !(
17707 : : #line 18860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17708 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17709 : : #line 784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17710 : : (TARGET_AVX512F)))
17711 : : return -1;
17712 : : return 8002; /* *andv32hi3 */
17713 : :
17714 : : case E_V16HImode:
17715 : : if (pattern23 (x2,
17716 : : E_V16HImode) != 0
17717 : : || !(
17718 : : #line 18860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17719 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17720 : : #line 784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17721 : : (TARGET_AVX)))
17722 : : return -1;
17723 : : return 8005; /* *andv16hi3 */
17724 : :
17725 : : case E_V8HImode:
17726 : : if (pattern23 (x2,
17727 : : E_V8HImode) != 0
17728 : : || !
17729 : : #line 18860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17730 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17731 : : return -1;
17732 : : return 8008; /* *andv8hi3 */
17733 : :
17734 : : case E_V1TImode:
17735 : : if (pattern657 (x2,
17736 : : E_V1TImode) != 0
17737 : : || !
17738 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17739 : : (TARGET_SSE2))
17740 : : return -1;
17741 : : return 8011; /* andv1ti3 */
17742 : :
17743 : : default:
17744 : : return -1;
17745 : : }
17746 : : }
17747 : :
17748 : : int
17749 : : recog_310 (rtx x1 ATTRIBUTE_UNUSED,
17750 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17751 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17752 : : {
17753 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17754 : : rtx x2, x3, x4;
17755 : : int res ATTRIBUTE_UNUSED;
17756 : : x2 = XEXP (x1, 1);
17757 : : x3 = XEXP (x2, 0);
17758 : : x4 = XEXP (x3, 0);
17759 : : switch (GET_CODE (x4))
17760 : : {
17761 : : case REG:
17762 : : case SUBREG:
17763 : : case MEM:
17764 : : case NOT:
17765 : : switch (pattern524 (x2))
17766 : : {
17767 : : case 0:
17768 : : if (!(
17769 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17770 : : ((64 == 64 || TARGET_AVX512VL
17771 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17772 : : && ix86_pre_reload_split ()
17773 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17774 : : STRIP_UNARY (operands[4]))
17775 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17776 : : STRIP_UNARY (operands[4]))
17777 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17778 : : STRIP_UNARY (operands[3]))
17779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17780 : : STRIP_UNARY (operands[3])))) &&
17781 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17782 : : (TARGET_AVX512F)))
17783 : : return -1;
17784 : : return 5796; /* *avx512bw_vpternlogv32hf_1 */
17785 : :
17786 : : case 1:
17787 : : if (!(
17788 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17789 : : ((32 == 64 || TARGET_AVX512VL
17790 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17791 : : && ix86_pre_reload_split ()
17792 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17793 : : STRIP_UNARY (operands[4]))
17794 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17795 : : STRIP_UNARY (operands[4]))
17796 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17797 : : STRIP_UNARY (operands[3]))
17798 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17799 : : STRIP_UNARY (operands[3])))) &&
17800 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17801 : : (TARGET_AVX)))
17802 : : return -1;
17803 : : return 5823; /* *avx512vl_vpternlogv16hf_1 */
17804 : :
17805 : : case 2:
17806 : : if (!
17807 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17808 : : ((16 == 64 || TARGET_AVX512VL
17809 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17810 : : && ix86_pre_reload_split ()
17811 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17812 : : STRIP_UNARY (operands[4]))
17813 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17814 : : STRIP_UNARY (operands[4]))
17815 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17816 : : STRIP_UNARY (operands[3]))
17817 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17818 : : STRIP_UNARY (operands[3])))))
17819 : : return -1;
17820 : : return 5850; /* *avx512fp16_vpternlogv8hf_1 */
17821 : :
17822 : : case 3:
17823 : : if (!(
17824 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17825 : : ((64 == 64 || TARGET_AVX512VL
17826 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17827 : : && ix86_pre_reload_split ()
17828 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17829 : : STRIP_UNARY (operands[4]))
17830 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17831 : : STRIP_UNARY (operands[4]))
17832 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17833 : : STRIP_UNARY (operands[3]))
17834 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17835 : : STRIP_UNARY (operands[3])))) &&
17836 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17837 : : (TARGET_AVX512F)))
17838 : : return -1;
17839 : : return 5877; /* *avx512bw_vpternlogv32bf_1 */
17840 : :
17841 : : case 4:
17842 : : if (!(
17843 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17844 : : ((32 == 64 || TARGET_AVX512VL
17845 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17846 : : && ix86_pre_reload_split ()
17847 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17848 : : STRIP_UNARY (operands[4]))
17849 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17850 : : STRIP_UNARY (operands[4]))
17851 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17852 : : STRIP_UNARY (operands[3]))
17853 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17854 : : STRIP_UNARY (operands[3])))) &&
17855 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17856 : : (TARGET_AVX)))
17857 : : return -1;
17858 : : return 5904; /* *avx512vl_vpternlogv16bf_1 */
17859 : :
17860 : : case 5:
17861 : : if (!
17862 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17863 : : ((16 == 64 || TARGET_AVX512VL
17864 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17865 : : && ix86_pre_reload_split ()
17866 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17867 : : STRIP_UNARY (operands[4]))
17868 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17869 : : STRIP_UNARY (operands[4]))
17870 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17871 : : STRIP_UNARY (operands[3]))
17872 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17873 : : STRIP_UNARY (operands[3])))))
17874 : : return -1;
17875 : : return 5931; /* *avx512vl_vpternlogv8bf_1 */
17876 : :
17877 : : case 6:
17878 : : if (!(
17879 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17880 : : ((64 == 64 || TARGET_AVX512VL
17881 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17882 : : && ix86_pre_reload_split ()
17883 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17884 : : STRIP_UNARY (operands[4]))
17885 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17886 : : STRIP_UNARY (operands[4]))
17887 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17888 : : STRIP_UNARY (operands[3]))
17889 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17890 : : STRIP_UNARY (operands[3])))) &&
17891 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17892 : : (TARGET_AVX512F)))
17893 : : return -1;
17894 : : return 5958; /* *avx512f_vpternlogv16sf_1 */
17895 : :
17896 : : case 7:
17897 : : if (!(
17898 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17899 : : ((32 == 64 || TARGET_AVX512VL
17900 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17901 : : && ix86_pre_reload_split ()
17902 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17903 : : STRIP_UNARY (operands[4]))
17904 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17905 : : STRIP_UNARY (operands[4]))
17906 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17907 : : STRIP_UNARY (operands[3]))
17908 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17909 : : STRIP_UNARY (operands[3])))) &&
17910 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17911 : : (TARGET_AVX)))
17912 : : return -1;
17913 : : return 5985; /* *avx512vl_vpternlogv8sf_1 */
17914 : :
17915 : : case 8:
17916 : : if (!
17917 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17918 : : ((16 == 64 || TARGET_AVX512VL
17919 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17920 : : && ix86_pre_reload_split ()
17921 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17922 : : STRIP_UNARY (operands[4]))
17923 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17924 : : STRIP_UNARY (operands[4]))
17925 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17926 : : STRIP_UNARY (operands[3]))
17927 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17928 : : STRIP_UNARY (operands[3])))))
17929 : : return -1;
17930 : : return 6012; /* *avx512vl_vpternlogv4sf_1 */
17931 : :
17932 : : case 9:
17933 : : if (!(
17934 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17935 : : ((64 == 64 || TARGET_AVX512VL
17936 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17937 : : && ix86_pre_reload_split ()
17938 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17939 : : STRIP_UNARY (operands[4]))
17940 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17941 : : STRIP_UNARY (operands[4]))
17942 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17943 : : STRIP_UNARY (operands[3]))
17944 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17945 : : STRIP_UNARY (operands[3])))) &&
17946 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17947 : : (TARGET_AVX512F)))
17948 : : return -1;
17949 : : return 6039; /* *avx512f_vpternlogv8df_1 */
17950 : :
17951 : : case 10:
17952 : : if (!(
17953 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17954 : : ((32 == 64 || TARGET_AVX512VL
17955 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17956 : : && ix86_pre_reload_split ()
17957 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17958 : : STRIP_UNARY (operands[4]))
17959 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17960 : : STRIP_UNARY (operands[4]))
17961 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17962 : : STRIP_UNARY (operands[3]))
17963 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17964 : : STRIP_UNARY (operands[3])))) &&
17965 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17966 : : (TARGET_AVX)))
17967 : : return -1;
17968 : : return 6066; /* *avx512vl_vpternlogv4df_1 */
17969 : :
17970 : : case 11:
17971 : : if (!(
17972 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17973 : : ((16 == 64 || TARGET_AVX512VL
17974 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17975 : : && ix86_pre_reload_split ()
17976 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17977 : : STRIP_UNARY (operands[4]))
17978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17979 : : STRIP_UNARY (operands[4]))
17980 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17981 : : STRIP_UNARY (operands[3]))
17982 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17983 : : STRIP_UNARY (operands[3])))) &&
17984 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17985 : : (TARGET_SSE2)))
17986 : : return -1;
17987 : : return 6093; /* *avx512vl_vpternlogv2df_1 */
17988 : :
17989 : : case 12:
17990 : : if (!(
17991 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17992 : : ((64 == 64 || TARGET_AVX512VL
17993 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17994 : : && ix86_pre_reload_split ()
17995 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17996 : : STRIP_UNARY (operands[4]))
17997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17998 : : STRIP_UNARY (operands[4]))
17999 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18000 : : STRIP_UNARY (operands[3]))
18001 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18002 : : STRIP_UNARY (operands[3])))) &&
18003 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18004 : : (TARGET_AVX512F)))
18005 : : return -1;
18006 : : return 5799; /* *avx512bw_vpternlogv32hf_1 */
18007 : :
18008 : : case 13:
18009 : : if (!(
18010 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18011 : : ((32 == 64 || TARGET_AVX512VL
18012 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18013 : : && ix86_pre_reload_split ()
18014 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18015 : : STRIP_UNARY (operands[4]))
18016 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18017 : : STRIP_UNARY (operands[4]))
18018 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18019 : : STRIP_UNARY (operands[3]))
18020 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18021 : : STRIP_UNARY (operands[3])))) &&
18022 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18023 : : (TARGET_AVX)))
18024 : : return -1;
18025 : : return 5826; /* *avx512vl_vpternlogv16hf_1 */
18026 : :
18027 : : case 14:
18028 : : if (!
18029 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18030 : : ((16 == 64 || TARGET_AVX512VL
18031 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18032 : : && ix86_pre_reload_split ()
18033 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18034 : : STRIP_UNARY (operands[4]))
18035 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18036 : : STRIP_UNARY (operands[4]))
18037 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18038 : : STRIP_UNARY (operands[3]))
18039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18040 : : STRIP_UNARY (operands[3])))))
18041 : : return -1;
18042 : : return 5853; /* *avx512fp16_vpternlogv8hf_1 */
18043 : :
18044 : : case 15:
18045 : : if (!(
18046 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18047 : : ((64 == 64 || TARGET_AVX512VL
18048 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18049 : : && ix86_pre_reload_split ()
18050 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18051 : : STRIP_UNARY (operands[4]))
18052 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18053 : : STRIP_UNARY (operands[4]))
18054 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18055 : : STRIP_UNARY (operands[3]))
18056 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18057 : : STRIP_UNARY (operands[3])))) &&
18058 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18059 : : (TARGET_AVX512F)))
18060 : : return -1;
18061 : : return 5880; /* *avx512bw_vpternlogv32bf_1 */
18062 : :
18063 : : case 16:
18064 : : if (!(
18065 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18066 : : ((32 == 64 || TARGET_AVX512VL
18067 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18068 : : && ix86_pre_reload_split ()
18069 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18070 : : STRIP_UNARY (operands[4]))
18071 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18072 : : STRIP_UNARY (operands[4]))
18073 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18074 : : STRIP_UNARY (operands[3]))
18075 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18076 : : STRIP_UNARY (operands[3])))) &&
18077 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18078 : : (TARGET_AVX)))
18079 : : return -1;
18080 : : return 5907; /* *avx512vl_vpternlogv16bf_1 */
18081 : :
18082 : : case 17:
18083 : : if (!
18084 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18085 : : ((16 == 64 || TARGET_AVX512VL
18086 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18087 : : && ix86_pre_reload_split ()
18088 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18089 : : STRIP_UNARY (operands[4]))
18090 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18091 : : STRIP_UNARY (operands[4]))
18092 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18093 : : STRIP_UNARY (operands[3]))
18094 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18095 : : STRIP_UNARY (operands[3])))))
18096 : : return -1;
18097 : : return 5934; /* *avx512vl_vpternlogv8bf_1 */
18098 : :
18099 : : case 18:
18100 : : if (!(
18101 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18102 : : ((64 == 64 || TARGET_AVX512VL
18103 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18104 : : && ix86_pre_reload_split ()
18105 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18106 : : STRIP_UNARY (operands[4]))
18107 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18108 : : STRIP_UNARY (operands[4]))
18109 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18110 : : STRIP_UNARY (operands[3]))
18111 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18112 : : STRIP_UNARY (operands[3])))) &&
18113 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18114 : : (TARGET_AVX512F)))
18115 : : return -1;
18116 : : return 5961; /* *avx512f_vpternlogv16sf_1 */
18117 : :
18118 : : case 19:
18119 : : if (!(
18120 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18121 : : ((32 == 64 || TARGET_AVX512VL
18122 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18123 : : && ix86_pre_reload_split ()
18124 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18125 : : STRIP_UNARY (operands[4]))
18126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18127 : : STRIP_UNARY (operands[4]))
18128 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18129 : : STRIP_UNARY (operands[3]))
18130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18131 : : STRIP_UNARY (operands[3])))) &&
18132 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18133 : : (TARGET_AVX)))
18134 : : return -1;
18135 : : return 5988; /* *avx512vl_vpternlogv8sf_1 */
18136 : :
18137 : : case 20:
18138 : : if (!
18139 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18140 : : ((16 == 64 || TARGET_AVX512VL
18141 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18142 : : && ix86_pre_reload_split ()
18143 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18144 : : STRIP_UNARY (operands[4]))
18145 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18146 : : STRIP_UNARY (operands[4]))
18147 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18148 : : STRIP_UNARY (operands[3]))
18149 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18150 : : STRIP_UNARY (operands[3])))))
18151 : : return -1;
18152 : : return 6015; /* *avx512vl_vpternlogv4sf_1 */
18153 : :
18154 : : case 21:
18155 : : if (!(
18156 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18157 : : ((64 == 64 || TARGET_AVX512VL
18158 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18159 : : && ix86_pre_reload_split ()
18160 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18161 : : STRIP_UNARY (operands[4]))
18162 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18163 : : STRIP_UNARY (operands[4]))
18164 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18165 : : STRIP_UNARY (operands[3]))
18166 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18167 : : STRIP_UNARY (operands[3])))) &&
18168 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18169 : : (TARGET_AVX512F)))
18170 : : return -1;
18171 : : return 6042; /* *avx512f_vpternlogv8df_1 */
18172 : :
18173 : : case 22:
18174 : : if (!(
18175 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18176 : : ((32 == 64 || TARGET_AVX512VL
18177 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18178 : : && ix86_pre_reload_split ()
18179 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18180 : : STRIP_UNARY (operands[4]))
18181 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18182 : : STRIP_UNARY (operands[4]))
18183 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18184 : : STRIP_UNARY (operands[3]))
18185 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18186 : : STRIP_UNARY (operands[3])))) &&
18187 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18188 : : (TARGET_AVX)))
18189 : : return -1;
18190 : : return 6069; /* *avx512vl_vpternlogv4df_1 */
18191 : :
18192 : : case 23:
18193 : : if (!(
18194 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18195 : : ((16 == 64 || TARGET_AVX512VL
18196 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18197 : : && ix86_pre_reload_split ()
18198 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18199 : : STRIP_UNARY (operands[4]))
18200 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18201 : : STRIP_UNARY (operands[4]))
18202 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18203 : : STRIP_UNARY (operands[3]))
18204 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18205 : : STRIP_UNARY (operands[3])))) &&
18206 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18207 : : (TARGET_SSE2)))
18208 : : return -1;
18209 : : return 6096; /* *avx512vl_vpternlogv2df_1 */
18210 : :
18211 : : case 24:
18212 : : if (!(
18213 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18214 : : ((64 == 64 || TARGET_AVX512VL
18215 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18216 : : && ix86_pre_reload_split ()
18217 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18218 : : STRIP_UNARY (operands[4]))
18219 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18220 : : STRIP_UNARY (operands[4]))
18221 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18222 : : STRIP_UNARY (operands[3]))
18223 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18224 : : STRIP_UNARY (operands[3])))) &&
18225 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18226 : : (TARGET_AVX512F)))
18227 : : return -1;
18228 : : return 5802; /* *avx512bw_vpternlogv32hf_1 */
18229 : :
18230 : : case 25:
18231 : : if (!(
18232 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18233 : : ((32 == 64 || TARGET_AVX512VL
18234 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18235 : : && ix86_pre_reload_split ()
18236 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18237 : : STRIP_UNARY (operands[4]))
18238 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18239 : : STRIP_UNARY (operands[4]))
18240 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18241 : : STRIP_UNARY (operands[3]))
18242 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18243 : : STRIP_UNARY (operands[3])))) &&
18244 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18245 : : (TARGET_AVX)))
18246 : : return -1;
18247 : : return 5829; /* *avx512vl_vpternlogv16hf_1 */
18248 : :
18249 : : case 26:
18250 : : if (!
18251 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18252 : : ((16 == 64 || TARGET_AVX512VL
18253 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18254 : : && ix86_pre_reload_split ()
18255 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18256 : : STRIP_UNARY (operands[4]))
18257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18258 : : STRIP_UNARY (operands[4]))
18259 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18260 : : STRIP_UNARY (operands[3]))
18261 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18262 : : STRIP_UNARY (operands[3])))))
18263 : : return -1;
18264 : : return 5856; /* *avx512fp16_vpternlogv8hf_1 */
18265 : :
18266 : : case 27:
18267 : : if (!(
18268 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18269 : : ((64 == 64 || TARGET_AVX512VL
18270 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18271 : : && ix86_pre_reload_split ()
18272 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18273 : : STRIP_UNARY (operands[4]))
18274 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18275 : : STRIP_UNARY (operands[4]))
18276 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18277 : : STRIP_UNARY (operands[3]))
18278 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18279 : : STRIP_UNARY (operands[3])))) &&
18280 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18281 : : (TARGET_AVX512F)))
18282 : : return -1;
18283 : : return 5883; /* *avx512bw_vpternlogv32bf_1 */
18284 : :
18285 : : case 28:
18286 : : if (!(
18287 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18288 : : ((32 == 64 || TARGET_AVX512VL
18289 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18290 : : && ix86_pre_reload_split ()
18291 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18292 : : STRIP_UNARY (operands[4]))
18293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18294 : : STRIP_UNARY (operands[4]))
18295 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18296 : : STRIP_UNARY (operands[3]))
18297 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18298 : : STRIP_UNARY (operands[3])))) &&
18299 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18300 : : (TARGET_AVX)))
18301 : : return -1;
18302 : : return 5910; /* *avx512vl_vpternlogv16bf_1 */
18303 : :
18304 : : case 29:
18305 : : if (!
18306 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18307 : : ((16 == 64 || TARGET_AVX512VL
18308 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18309 : : && ix86_pre_reload_split ()
18310 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18311 : : STRIP_UNARY (operands[4]))
18312 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18313 : : STRIP_UNARY (operands[4]))
18314 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18315 : : STRIP_UNARY (operands[3]))
18316 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18317 : : STRIP_UNARY (operands[3])))))
18318 : : return -1;
18319 : : return 5937; /* *avx512vl_vpternlogv8bf_1 */
18320 : :
18321 : : case 30:
18322 : : if (!(
18323 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18324 : : ((64 == 64 || TARGET_AVX512VL
18325 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18326 : : && ix86_pre_reload_split ()
18327 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18328 : : STRIP_UNARY (operands[4]))
18329 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18330 : : STRIP_UNARY (operands[4]))
18331 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18332 : : STRIP_UNARY (operands[3]))
18333 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18334 : : STRIP_UNARY (operands[3])))) &&
18335 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18336 : : (TARGET_AVX512F)))
18337 : : return -1;
18338 : : return 5964; /* *avx512f_vpternlogv16sf_1 */
18339 : :
18340 : : case 31:
18341 : : if (!(
18342 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18343 : : ((32 == 64 || TARGET_AVX512VL
18344 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18345 : : && ix86_pre_reload_split ()
18346 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18347 : : STRIP_UNARY (operands[4]))
18348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18349 : : STRIP_UNARY (operands[4]))
18350 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18351 : : STRIP_UNARY (operands[3]))
18352 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18353 : : STRIP_UNARY (operands[3])))) &&
18354 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18355 : : (TARGET_AVX)))
18356 : : return -1;
18357 : : return 5991; /* *avx512vl_vpternlogv8sf_1 */
18358 : :
18359 : : case 32:
18360 : : if (!
18361 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18362 : : ((16 == 64 || TARGET_AVX512VL
18363 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18364 : : && ix86_pre_reload_split ()
18365 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18366 : : STRIP_UNARY (operands[4]))
18367 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18368 : : STRIP_UNARY (operands[4]))
18369 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18370 : : STRIP_UNARY (operands[3]))
18371 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18372 : : STRIP_UNARY (operands[3])))))
18373 : : return -1;
18374 : : return 6018; /* *avx512vl_vpternlogv4sf_1 */
18375 : :
18376 : : case 33:
18377 : : if (!(
18378 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18379 : : ((64 == 64 || TARGET_AVX512VL
18380 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18381 : : && ix86_pre_reload_split ()
18382 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18383 : : STRIP_UNARY (operands[4]))
18384 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18385 : : STRIP_UNARY (operands[4]))
18386 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18387 : : STRIP_UNARY (operands[3]))
18388 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18389 : : STRIP_UNARY (operands[3])))) &&
18390 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18391 : : (TARGET_AVX512F)))
18392 : : return -1;
18393 : : return 6045; /* *avx512f_vpternlogv8df_1 */
18394 : :
18395 : : case 34:
18396 : : if (!(
18397 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18398 : : ((32 == 64 || TARGET_AVX512VL
18399 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18400 : : && ix86_pre_reload_split ()
18401 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18402 : : STRIP_UNARY (operands[4]))
18403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18404 : : STRIP_UNARY (operands[4]))
18405 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18406 : : STRIP_UNARY (operands[3]))
18407 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18408 : : STRIP_UNARY (operands[3])))) &&
18409 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18410 : : (TARGET_AVX)))
18411 : : return -1;
18412 : : return 6072; /* *avx512vl_vpternlogv4df_1 */
18413 : :
18414 : : case 35:
18415 : : if (!(
18416 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18417 : : ((16 == 64 || TARGET_AVX512VL
18418 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18419 : : && ix86_pre_reload_split ()
18420 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18421 : : STRIP_UNARY (operands[4]))
18422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18423 : : STRIP_UNARY (operands[4]))
18424 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18425 : : STRIP_UNARY (operands[3]))
18426 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18427 : : STRIP_UNARY (operands[3])))) &&
18428 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18429 : : (TARGET_SSE2)))
18430 : : return -1;
18431 : : return 6099; /* *avx512vl_vpternlogv2df_1 */
18432 : :
18433 : : case 36:
18434 : : if (!(
18435 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18436 : : ((64 == 64 || TARGET_AVX512VL
18437 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18438 : : && ix86_pre_reload_split ()) &&
18439 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18440 : : (TARGET_AVX512F)))
18441 : : return -1;
18442 : : return 6864; /* *avx512bw_vpternlogv32hf_3 */
18443 : :
18444 : : case 37:
18445 : : if (!(
18446 : : #line 13978 "/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 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18451 : : (TARGET_AVX)))
18452 : : return -1;
18453 : : return 6873; /* *avx512vl_vpternlogv16hf_3 */
18454 : :
18455 : : case 38:
18456 : : if (!
18457 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18458 : : ((16 == 64 || TARGET_AVX512VL
18459 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18460 : : && ix86_pre_reload_split ()))
18461 : : return -1;
18462 : : return 6882; /* *avx512fp16_vpternlogv8hf_3 */
18463 : :
18464 : : case 39:
18465 : : if (!(
18466 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18467 : : ((64 == 64 || TARGET_AVX512VL
18468 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18469 : : && ix86_pre_reload_split ()) &&
18470 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18471 : : (TARGET_AVX512F)))
18472 : : return -1;
18473 : : return 6891; /* *avx512bw_vpternlogv32bf_3 */
18474 : :
18475 : : case 40:
18476 : : if (!(
18477 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18478 : : ((32 == 64 || TARGET_AVX512VL
18479 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18480 : : && ix86_pre_reload_split ()) &&
18481 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18482 : : (TARGET_AVX)))
18483 : : return -1;
18484 : : return 6900; /* *avx512vl_vpternlogv16bf_3 */
18485 : :
18486 : : case 41:
18487 : : if (!
18488 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18489 : : ((16 == 64 || TARGET_AVX512VL
18490 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18491 : : && ix86_pre_reload_split ()))
18492 : : return -1;
18493 : : return 6909; /* *avx512vl_vpternlogv8bf_3 */
18494 : :
18495 : : case 42:
18496 : : if (!(
18497 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18498 : : ((64 == 64 || TARGET_AVX512VL
18499 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18500 : : && ix86_pre_reload_split ()) &&
18501 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18502 : : (TARGET_AVX512F)))
18503 : : return -1;
18504 : : return 6918; /* *avx512f_vpternlogv16sf_3 */
18505 : :
18506 : : case 43:
18507 : : if (!(
18508 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18509 : : ((32 == 64 || TARGET_AVX512VL
18510 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18511 : : && ix86_pre_reload_split ()) &&
18512 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18513 : : (TARGET_AVX)))
18514 : : return -1;
18515 : : return 6927; /* *avx512vl_vpternlogv8sf_3 */
18516 : :
18517 : : case 44:
18518 : : if (!
18519 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18520 : : ((16 == 64 || TARGET_AVX512VL
18521 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18522 : : && ix86_pre_reload_split ()))
18523 : : return -1;
18524 : : return 6936; /* *avx512vl_vpternlogv4sf_3 */
18525 : :
18526 : : case 45:
18527 : : if (!(
18528 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18529 : : ((64 == 64 || TARGET_AVX512VL
18530 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18531 : : && ix86_pre_reload_split ()) &&
18532 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18533 : : (TARGET_AVX512F)))
18534 : : return -1;
18535 : : return 6945; /* *avx512f_vpternlogv8df_3 */
18536 : :
18537 : : case 46:
18538 : : if (!(
18539 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18540 : : ((32 == 64 || TARGET_AVX512VL
18541 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18542 : : && ix86_pre_reload_split ()) &&
18543 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18544 : : (TARGET_AVX)))
18545 : : return -1;
18546 : : return 6954; /* *avx512vl_vpternlogv4df_3 */
18547 : :
18548 : : case 47:
18549 : : if (!(
18550 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18551 : : ((16 == 64 || TARGET_AVX512VL
18552 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18553 : : && ix86_pre_reload_split ()) &&
18554 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18555 : : (TARGET_SSE2)))
18556 : : return -1;
18557 : : return 6963; /* *avx512vl_vpternlogv2df_3 */
18558 : :
18559 : : default:
18560 : : return -1;
18561 : : }
18562 : :
18563 : : case AND:
18564 : : switch (pattern525 (x2))
18565 : : {
18566 : : case 0:
18567 : : if (!(
18568 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18569 : : ((64 == 64 || TARGET_AVX512VL
18570 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18571 : : && ix86_pre_reload_split ()
18572 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18573 : : STRIP_UNARY (operands[4]))
18574 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18575 : : STRIP_UNARY (operands[4]))
18576 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18577 : : STRIP_UNARY (operands[3]))
18578 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18579 : : STRIP_UNARY (operands[3])))) &&
18580 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18581 : : (TARGET_AVX512F)))
18582 : : return -1;
18583 : : return 6444; /* *avx512bw_vpternlogv32hf_2 */
18584 : :
18585 : : case 1:
18586 : : if (!(
18587 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18588 : : ((32 == 64 || TARGET_AVX512VL
18589 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18590 : : && ix86_pre_reload_split ()
18591 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18592 : : STRIP_UNARY (operands[4]))
18593 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18594 : : STRIP_UNARY (operands[4]))
18595 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18596 : : STRIP_UNARY (operands[3]))
18597 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18598 : : STRIP_UNARY (operands[3])))) &&
18599 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18600 : : (TARGET_AVX)))
18601 : : return -1;
18602 : : return 6471; /* *avx512vl_vpternlogv16hf_2 */
18603 : :
18604 : : case 2:
18605 : : if (!
18606 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18607 : : ((16 == 64 || TARGET_AVX512VL
18608 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18609 : : && ix86_pre_reload_split ()
18610 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18611 : : STRIP_UNARY (operands[4]))
18612 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18613 : : STRIP_UNARY (operands[4]))
18614 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18615 : : STRIP_UNARY (operands[3]))
18616 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18617 : : STRIP_UNARY (operands[3])))))
18618 : : return -1;
18619 : : return 6498; /* *avx512fp16_vpternlogv8hf_2 */
18620 : :
18621 : : case 3:
18622 : : if (!(
18623 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18624 : : ((64 == 64 || TARGET_AVX512VL
18625 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18626 : : && ix86_pre_reload_split ()
18627 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18628 : : STRIP_UNARY (operands[4]))
18629 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18630 : : STRIP_UNARY (operands[4]))
18631 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18632 : : STRIP_UNARY (operands[3]))
18633 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18634 : : STRIP_UNARY (operands[3])))) &&
18635 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18636 : : (TARGET_AVX512F)))
18637 : : return -1;
18638 : : return 6525; /* *avx512bw_vpternlogv32bf_2 */
18639 : :
18640 : : case 4:
18641 : : if (!(
18642 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18643 : : ((32 == 64 || TARGET_AVX512VL
18644 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18645 : : && ix86_pre_reload_split ()
18646 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18647 : : STRIP_UNARY (operands[4]))
18648 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18649 : : STRIP_UNARY (operands[4]))
18650 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18651 : : STRIP_UNARY (operands[3]))
18652 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18653 : : STRIP_UNARY (operands[3])))) &&
18654 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18655 : : (TARGET_AVX)))
18656 : : return -1;
18657 : : return 6552; /* *avx512vl_vpternlogv16bf_2 */
18658 : :
18659 : : case 5:
18660 : : if (!
18661 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18662 : : ((16 == 64 || TARGET_AVX512VL
18663 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18664 : : && ix86_pre_reload_split ()
18665 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18666 : : STRIP_UNARY (operands[4]))
18667 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18668 : : STRIP_UNARY (operands[4]))
18669 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18670 : : STRIP_UNARY (operands[3]))
18671 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18672 : : STRIP_UNARY (operands[3])))))
18673 : : return -1;
18674 : : return 6579; /* *avx512vl_vpternlogv8bf_2 */
18675 : :
18676 : : case 6:
18677 : : if (!(
18678 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18679 : : ((64 == 64 || TARGET_AVX512VL
18680 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18681 : : && ix86_pre_reload_split ()
18682 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18683 : : STRIP_UNARY (operands[4]))
18684 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18685 : : STRIP_UNARY (operands[4]))
18686 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18687 : : STRIP_UNARY (operands[3]))
18688 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18689 : : STRIP_UNARY (operands[3])))) &&
18690 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18691 : : (TARGET_AVX512F)))
18692 : : return -1;
18693 : : return 6606; /* *avx512f_vpternlogv16sf_2 */
18694 : :
18695 : : case 7:
18696 : : if (!(
18697 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18698 : : ((32 == 64 || TARGET_AVX512VL
18699 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18700 : : && ix86_pre_reload_split ()
18701 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18702 : : STRIP_UNARY (operands[4]))
18703 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18704 : : STRIP_UNARY (operands[4]))
18705 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18706 : : STRIP_UNARY (operands[3]))
18707 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18708 : : STRIP_UNARY (operands[3])))) &&
18709 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18710 : : (TARGET_AVX)))
18711 : : return -1;
18712 : : return 6633; /* *avx512vl_vpternlogv8sf_2 */
18713 : :
18714 : : case 8:
18715 : : if (!
18716 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18717 : : ((16 == 64 || TARGET_AVX512VL
18718 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18719 : : && ix86_pre_reload_split ()
18720 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18721 : : STRIP_UNARY (operands[4]))
18722 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18723 : : STRIP_UNARY (operands[4]))
18724 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18725 : : STRIP_UNARY (operands[3]))
18726 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18727 : : STRIP_UNARY (operands[3])))))
18728 : : return -1;
18729 : : return 6660; /* *avx512vl_vpternlogv4sf_2 */
18730 : :
18731 : : case 9:
18732 : : if (!(
18733 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18734 : : ((64 == 64 || TARGET_AVX512VL
18735 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18736 : : && ix86_pre_reload_split ()
18737 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18738 : : STRIP_UNARY (operands[4]))
18739 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18740 : : STRIP_UNARY (operands[4]))
18741 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18742 : : STRIP_UNARY (operands[3]))
18743 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18744 : : STRIP_UNARY (operands[3])))) &&
18745 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18746 : : (TARGET_AVX512F)))
18747 : : return -1;
18748 : : return 6687; /* *avx512f_vpternlogv8df_2 */
18749 : :
18750 : : case 10:
18751 : : if (!(
18752 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18753 : : ((32 == 64 || TARGET_AVX512VL
18754 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18755 : : && ix86_pre_reload_split ()
18756 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18757 : : STRIP_UNARY (operands[4]))
18758 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18759 : : STRIP_UNARY (operands[4]))
18760 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18761 : : STRIP_UNARY (operands[3]))
18762 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18763 : : STRIP_UNARY (operands[3])))) &&
18764 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18765 : : (TARGET_AVX)))
18766 : : return -1;
18767 : : return 6714; /* *avx512vl_vpternlogv4df_2 */
18768 : :
18769 : : case 11:
18770 : : if (!(
18771 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18772 : : ((16 == 64 || TARGET_AVX512VL
18773 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18774 : : && ix86_pre_reload_split ()
18775 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18776 : : STRIP_UNARY (operands[4]))
18777 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18778 : : STRIP_UNARY (operands[4]))
18779 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18780 : : STRIP_UNARY (operands[3]))
18781 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18782 : : STRIP_UNARY (operands[3])))) &&
18783 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18784 : : (TARGET_SSE2)))
18785 : : return -1;
18786 : : return 6741; /* *avx512vl_vpternlogv2df_2 */
18787 : :
18788 : : default:
18789 : : return -1;
18790 : : }
18791 : :
18792 : : case IOR:
18793 : : switch (pattern525 (x2))
18794 : : {
18795 : : case 0:
18796 : : if (!(
18797 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18798 : : ((64 == 64 || TARGET_AVX512VL
18799 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18800 : : && ix86_pre_reload_split ()
18801 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18802 : : STRIP_UNARY (operands[4]))
18803 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18804 : : STRIP_UNARY (operands[4]))
18805 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18806 : : STRIP_UNARY (operands[3]))
18807 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18808 : : STRIP_UNARY (operands[3])))) &&
18809 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18810 : : (TARGET_AVX512F)))
18811 : : return -1;
18812 : : return 6447; /* *avx512bw_vpternlogv32hf_2 */
18813 : :
18814 : : case 1:
18815 : : if (!(
18816 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18817 : : ((32 == 64 || TARGET_AVX512VL
18818 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18819 : : && ix86_pre_reload_split ()
18820 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18821 : : STRIP_UNARY (operands[4]))
18822 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18823 : : STRIP_UNARY (operands[4]))
18824 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18825 : : STRIP_UNARY (operands[3]))
18826 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18827 : : STRIP_UNARY (operands[3])))) &&
18828 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18829 : : (TARGET_AVX)))
18830 : : return -1;
18831 : : return 6474; /* *avx512vl_vpternlogv16hf_2 */
18832 : :
18833 : : case 2:
18834 : : if (!
18835 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18836 : : ((16 == 64 || TARGET_AVX512VL
18837 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18838 : : && ix86_pre_reload_split ()
18839 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18840 : : STRIP_UNARY (operands[4]))
18841 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18842 : : STRIP_UNARY (operands[4]))
18843 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18844 : : STRIP_UNARY (operands[3]))
18845 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18846 : : STRIP_UNARY (operands[3])))))
18847 : : return -1;
18848 : : return 6501; /* *avx512fp16_vpternlogv8hf_2 */
18849 : :
18850 : : case 3:
18851 : : if (!(
18852 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18853 : : ((64 == 64 || TARGET_AVX512VL
18854 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18855 : : && ix86_pre_reload_split ()
18856 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18857 : : STRIP_UNARY (operands[4]))
18858 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18859 : : STRIP_UNARY (operands[4]))
18860 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18861 : : STRIP_UNARY (operands[3]))
18862 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18863 : : STRIP_UNARY (operands[3])))) &&
18864 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18865 : : (TARGET_AVX512F)))
18866 : : return -1;
18867 : : return 6528; /* *avx512bw_vpternlogv32bf_2 */
18868 : :
18869 : : case 4:
18870 : : if (!(
18871 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18872 : : ((32 == 64 || TARGET_AVX512VL
18873 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18874 : : && ix86_pre_reload_split ()
18875 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18876 : : STRIP_UNARY (operands[4]))
18877 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18878 : : STRIP_UNARY (operands[4]))
18879 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18880 : : STRIP_UNARY (operands[3]))
18881 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18882 : : STRIP_UNARY (operands[3])))) &&
18883 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18884 : : (TARGET_AVX)))
18885 : : return -1;
18886 : : return 6555; /* *avx512vl_vpternlogv16bf_2 */
18887 : :
18888 : : case 5:
18889 : : if (!
18890 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18891 : : ((16 == 64 || TARGET_AVX512VL
18892 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18893 : : && ix86_pre_reload_split ()
18894 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18895 : : STRIP_UNARY (operands[4]))
18896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18897 : : STRIP_UNARY (operands[4]))
18898 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18899 : : STRIP_UNARY (operands[3]))
18900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18901 : : STRIP_UNARY (operands[3])))))
18902 : : return -1;
18903 : : return 6582; /* *avx512vl_vpternlogv8bf_2 */
18904 : :
18905 : : case 6:
18906 : : if (!(
18907 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18908 : : ((64 == 64 || TARGET_AVX512VL
18909 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18910 : : && ix86_pre_reload_split ()
18911 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18912 : : STRIP_UNARY (operands[4]))
18913 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18914 : : STRIP_UNARY (operands[4]))
18915 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18916 : : STRIP_UNARY (operands[3]))
18917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18918 : : STRIP_UNARY (operands[3])))) &&
18919 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18920 : : (TARGET_AVX512F)))
18921 : : return -1;
18922 : : return 6609; /* *avx512f_vpternlogv16sf_2 */
18923 : :
18924 : : case 7:
18925 : : if (!(
18926 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18927 : : ((32 == 64 || TARGET_AVX512VL
18928 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18929 : : && ix86_pre_reload_split ()
18930 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18931 : : STRIP_UNARY (operands[4]))
18932 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18933 : : STRIP_UNARY (operands[4]))
18934 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18935 : : STRIP_UNARY (operands[3]))
18936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18937 : : STRIP_UNARY (operands[3])))) &&
18938 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18939 : : (TARGET_AVX)))
18940 : : return -1;
18941 : : return 6636; /* *avx512vl_vpternlogv8sf_2 */
18942 : :
18943 : : case 8:
18944 : : if (!
18945 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18946 : : ((16 == 64 || TARGET_AVX512VL
18947 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18948 : : && ix86_pre_reload_split ()
18949 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18950 : : STRIP_UNARY (operands[4]))
18951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18952 : : STRIP_UNARY (operands[4]))
18953 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18954 : : STRIP_UNARY (operands[3]))
18955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18956 : : STRIP_UNARY (operands[3])))))
18957 : : return -1;
18958 : : return 6663; /* *avx512vl_vpternlogv4sf_2 */
18959 : :
18960 : : case 9:
18961 : : if (!(
18962 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18963 : : ((64 == 64 || TARGET_AVX512VL
18964 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18965 : : && ix86_pre_reload_split ()
18966 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18967 : : STRIP_UNARY (operands[4]))
18968 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18969 : : STRIP_UNARY (operands[4]))
18970 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18971 : : STRIP_UNARY (operands[3]))
18972 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18973 : : STRIP_UNARY (operands[3])))) &&
18974 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18975 : : (TARGET_AVX512F)))
18976 : : return -1;
18977 : : return 6690; /* *avx512f_vpternlogv8df_2 */
18978 : :
18979 : : case 10:
18980 : : if (!(
18981 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18982 : : ((32 == 64 || TARGET_AVX512VL
18983 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18984 : : && ix86_pre_reload_split ()
18985 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18986 : : STRIP_UNARY (operands[4]))
18987 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18988 : : STRIP_UNARY (operands[4]))
18989 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18990 : : STRIP_UNARY (operands[3]))
18991 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18992 : : STRIP_UNARY (operands[3])))) &&
18993 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18994 : : (TARGET_AVX)))
18995 : : return -1;
18996 : : return 6717; /* *avx512vl_vpternlogv4df_2 */
18997 : :
18998 : : case 11:
18999 : : if (!(
19000 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19001 : : ((16 == 64 || TARGET_AVX512VL
19002 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19003 : : && ix86_pre_reload_split ()
19004 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19005 : : STRIP_UNARY (operands[4]))
19006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19007 : : STRIP_UNARY (operands[4]))
19008 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19009 : : STRIP_UNARY (operands[3]))
19010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19011 : : STRIP_UNARY (operands[3])))) &&
19012 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19013 : : (TARGET_SSE2)))
19014 : : return -1;
19015 : : return 6744; /* *avx512vl_vpternlogv2df_2 */
19016 : :
19017 : : default:
19018 : : return -1;
19019 : : }
19020 : :
19021 : : case XOR:
19022 : : switch (pattern525 (x2))
19023 : : {
19024 : : case 0:
19025 : : if (!(
19026 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19027 : : ((64 == 64 || TARGET_AVX512VL
19028 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19029 : : && ix86_pre_reload_split ()
19030 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19031 : : STRIP_UNARY (operands[4]))
19032 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19033 : : STRIP_UNARY (operands[4]))
19034 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19035 : : STRIP_UNARY (operands[3]))
19036 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19037 : : STRIP_UNARY (operands[3])))) &&
19038 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19039 : : (TARGET_AVX512F)))
19040 : : return -1;
19041 : : return 6450; /* *avx512bw_vpternlogv32hf_2 */
19042 : :
19043 : : case 1:
19044 : : if (!(
19045 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19046 : : ((32 == 64 || TARGET_AVX512VL
19047 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19048 : : && ix86_pre_reload_split ()
19049 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19050 : : STRIP_UNARY (operands[4]))
19051 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19052 : : STRIP_UNARY (operands[4]))
19053 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19054 : : STRIP_UNARY (operands[3]))
19055 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19056 : : STRIP_UNARY (operands[3])))) &&
19057 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19058 : : (TARGET_AVX)))
19059 : : return -1;
19060 : : return 6477; /* *avx512vl_vpternlogv16hf_2 */
19061 : :
19062 : : case 2:
19063 : : if (!
19064 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19065 : : ((16 == 64 || TARGET_AVX512VL
19066 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19067 : : && ix86_pre_reload_split ()
19068 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19069 : : STRIP_UNARY (operands[4]))
19070 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19071 : : STRIP_UNARY (operands[4]))
19072 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19073 : : STRIP_UNARY (operands[3]))
19074 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19075 : : STRIP_UNARY (operands[3])))))
19076 : : return -1;
19077 : : return 6504; /* *avx512fp16_vpternlogv8hf_2 */
19078 : :
19079 : : case 3:
19080 : : if (!(
19081 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19082 : : ((64 == 64 || TARGET_AVX512VL
19083 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19084 : : && ix86_pre_reload_split ()
19085 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19086 : : STRIP_UNARY (operands[4]))
19087 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19088 : : STRIP_UNARY (operands[4]))
19089 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19090 : : STRIP_UNARY (operands[3]))
19091 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19092 : : STRIP_UNARY (operands[3])))) &&
19093 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19094 : : (TARGET_AVX512F)))
19095 : : return -1;
19096 : : return 6531; /* *avx512bw_vpternlogv32bf_2 */
19097 : :
19098 : : case 4:
19099 : : if (!(
19100 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19101 : : ((32 == 64 || TARGET_AVX512VL
19102 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19103 : : && ix86_pre_reload_split ()
19104 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19105 : : STRIP_UNARY (operands[4]))
19106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19107 : : STRIP_UNARY (operands[4]))
19108 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19109 : : STRIP_UNARY (operands[3]))
19110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19111 : : STRIP_UNARY (operands[3])))) &&
19112 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19113 : : (TARGET_AVX)))
19114 : : return -1;
19115 : : return 6558; /* *avx512vl_vpternlogv16bf_2 */
19116 : :
19117 : : case 5:
19118 : : if (!
19119 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19120 : : ((16 == 64 || TARGET_AVX512VL
19121 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19122 : : && ix86_pre_reload_split ()
19123 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19124 : : STRIP_UNARY (operands[4]))
19125 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19126 : : STRIP_UNARY (operands[4]))
19127 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19128 : : STRIP_UNARY (operands[3]))
19129 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19130 : : STRIP_UNARY (operands[3])))))
19131 : : return -1;
19132 : : return 6585; /* *avx512vl_vpternlogv8bf_2 */
19133 : :
19134 : : case 6:
19135 : : if (!(
19136 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19137 : : ((64 == 64 || TARGET_AVX512VL
19138 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19139 : : && ix86_pre_reload_split ()
19140 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19141 : : STRIP_UNARY (operands[4]))
19142 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19143 : : STRIP_UNARY (operands[4]))
19144 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19145 : : STRIP_UNARY (operands[3]))
19146 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19147 : : STRIP_UNARY (operands[3])))) &&
19148 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19149 : : (TARGET_AVX512F)))
19150 : : return -1;
19151 : : return 6612; /* *avx512f_vpternlogv16sf_2 */
19152 : :
19153 : : case 7:
19154 : : if (!(
19155 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19156 : : ((32 == 64 || TARGET_AVX512VL
19157 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19158 : : && ix86_pre_reload_split ()
19159 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19160 : : STRIP_UNARY (operands[4]))
19161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19162 : : STRIP_UNARY (operands[4]))
19163 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19164 : : STRIP_UNARY (operands[3]))
19165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19166 : : STRIP_UNARY (operands[3])))) &&
19167 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19168 : : (TARGET_AVX)))
19169 : : return -1;
19170 : : return 6639; /* *avx512vl_vpternlogv8sf_2 */
19171 : :
19172 : : case 8:
19173 : : if (!
19174 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19175 : : ((16 == 64 || TARGET_AVX512VL
19176 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19177 : : && ix86_pre_reload_split ()
19178 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19179 : : STRIP_UNARY (operands[4]))
19180 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19181 : : STRIP_UNARY (operands[4]))
19182 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19183 : : STRIP_UNARY (operands[3]))
19184 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19185 : : STRIP_UNARY (operands[3])))))
19186 : : return -1;
19187 : : return 6666; /* *avx512vl_vpternlogv4sf_2 */
19188 : :
19189 : : case 9:
19190 : : if (!(
19191 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19192 : : ((64 == 64 || TARGET_AVX512VL
19193 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19194 : : && ix86_pre_reload_split ()
19195 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19196 : : STRIP_UNARY (operands[4]))
19197 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19198 : : STRIP_UNARY (operands[4]))
19199 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19200 : : STRIP_UNARY (operands[3]))
19201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19202 : : STRIP_UNARY (operands[3])))) &&
19203 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19204 : : (TARGET_AVX512F)))
19205 : : return -1;
19206 : : return 6693; /* *avx512f_vpternlogv8df_2 */
19207 : :
19208 : : case 10:
19209 : : if (!(
19210 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19211 : : ((32 == 64 || TARGET_AVX512VL
19212 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19213 : : && ix86_pre_reload_split ()
19214 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19215 : : STRIP_UNARY (operands[4]))
19216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19217 : : STRIP_UNARY (operands[4]))
19218 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19219 : : STRIP_UNARY (operands[3]))
19220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19221 : : STRIP_UNARY (operands[3])))) &&
19222 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19223 : : (TARGET_AVX)))
19224 : : return -1;
19225 : : return 6720; /* *avx512vl_vpternlogv4df_2 */
19226 : :
19227 : : case 11:
19228 : : if (!(
19229 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19230 : : ((16 == 64 || TARGET_AVX512VL
19231 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19232 : : && ix86_pre_reload_split ()
19233 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19234 : : STRIP_UNARY (operands[4]))
19235 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19236 : : STRIP_UNARY (operands[4]))
19237 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19238 : : STRIP_UNARY (operands[3]))
19239 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19240 : : STRIP_UNARY (operands[3])))) &&
19241 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19242 : : (TARGET_SSE2)))
19243 : : return -1;
19244 : : return 6747; /* *avx512vl_vpternlogv2df_2 */
19245 : :
19246 : : default:
19247 : : return -1;
19248 : : }
19249 : :
19250 : : default:
19251 : : return -1;
19252 : : }
19253 : : }
19254 : :
19255 : : int
19256 : : recog_319 (rtx x1 ATTRIBUTE_UNUSED,
19257 : : rtx_insn *insn ATTRIBUTE_UNUSED,
19258 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
19259 : : {
19260 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19261 : : rtx x2, x3, x4, x5, x6;
19262 : : int res ATTRIBUTE_UNUSED;
19263 : : x2 = XEXP (x1, 1);
19264 : : switch (XVECLEN (x2, 0))
19265 : : {
19266 : : case 1:
19267 : : x3 = XEXP (x1, 0);
19268 : : operands[0] = x3;
19269 : : switch (XINT (x2, 1))
19270 : : {
19271 : : case 178:
19272 : : return recog_219 (x1, insn, pnum_clobbers);
19273 : :
19274 : : case 119:
19275 : : if (pnum_clobbers == NULL
19276 : : || GET_MODE (x2) != E_V4SImode
19277 : : || !register_operand (operands[0], E_V4SImode))
19278 : : return -1;
19279 : : x4 = XVECEXP (x2, 0, 0);
19280 : : operands[1] = x4;
19281 : : if (!nonimmediate_operand (operands[1], E_DImode)
19282 : : || !
19283 : : #line 1882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19284 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
19285 : : return -1;
19286 : : *pnum_clobbers = 1;
19287 : : return 2575; /* movdi_to_sse */
19288 : :
19289 : : case 120:
19290 : : x4 = XVECEXP (x2, 0, 0);
19291 : : operands[1] = x4;
19292 : : switch (GET_MODE (operands[0]))
19293 : : {
19294 : : case E_V32QImode:
19295 : : if (!register_operand (operands[0], E_V32QImode)
19296 : : || GET_MODE (x2) != E_V32QImode
19297 : : || !memory_operand (operands[1], E_V32QImode)
19298 : : || !(
19299 : : #line 1990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19300 : : (TARGET_SSE3) &&
19301 : : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19302 : : (TARGET_AVX)))
19303 : : return -1;
19304 : : return 2576; /* avx_lddqu256 */
19305 : :
19306 : : case E_V16QImode:
19307 : : if (!register_operand (operands[0], E_V16QImode)
19308 : : || GET_MODE (x2) != E_V16QImode
19309 : : || !memory_operand (operands[1], E_V16QImode)
19310 : : || !
19311 : : #line 1990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19312 : : (TARGET_SSE3))
19313 : : return -1;
19314 : : return 2577; /* sse3_lddqu */
19315 : :
19316 : : default:
19317 : : return -1;
19318 : : }
19319 : :
19320 : : case 118:
19321 : : return recog_215 (x1, insn, pnum_clobbers);
19322 : :
19323 : : case 55:
19324 : : return recog_217 (x1, insn, pnum_clobbers);
19325 : :
19326 : : case 162:
19327 : : switch (pattern310 (x2))
19328 : : {
19329 : : case 0:
19330 : : if (!
19331 : : #line 3006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19332 : : (TARGET_AVX512F))
19333 : : return -1;
19334 : : return 2905; /* *rcp14v16sf */
19335 : :
19336 : : case 1:
19337 : : if (!(
19338 : : #line 3006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19339 : : (TARGET_AVX512F) &&
19340 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19341 : : (TARGET_AVX512VL)))
19342 : : return -1;
19343 : : return 2907; /* *rcp14v8sf */
19344 : :
19345 : : case 2:
19346 : : if (!(
19347 : : #line 3006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19348 : : (TARGET_AVX512F) &&
19349 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19350 : : (TARGET_AVX512VL)))
19351 : : return -1;
19352 : : return 2909; /* *rcp14v4sf */
19353 : :
19354 : : case 3:
19355 : : if (!
19356 : : #line 3006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19357 : : (TARGET_AVX512F))
19358 : : return -1;
19359 : : return 2911; /* *rcp14v8df */
19360 : :
19361 : : case 4:
19362 : : if (!(
19363 : : #line 3006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19364 : : (TARGET_AVX512F) &&
19365 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19366 : : (TARGET_AVX512VL)))
19367 : : return -1;
19368 : : return 2913; /* *rcp14v4df */
19369 : :
19370 : : case 5:
19371 : : if (!(
19372 : : #line 3006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19373 : : (TARGET_AVX512F) &&
19374 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19375 : : (TARGET_AVX512VL)))
19376 : : return -1;
19377 : : return 2915; /* *rcp14v2df */
19378 : :
19379 : : default:
19380 : : return -1;
19381 : : }
19382 : :
19383 : : case 56:
19384 : : return recog_216 (x1, insn, pnum_clobbers);
19385 : :
19386 : : case 163:
19387 : : switch (pattern310 (x2))
19388 : : {
19389 : : case 0:
19390 : : if (!
19391 : : #line 3160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19392 : : (TARGET_AVX512F))
19393 : : return -1;
19394 : : return 2977; /* *rsqrt14v16sf */
19395 : :
19396 : : case 1:
19397 : : if (!(
19398 : : #line 3160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19399 : : (TARGET_AVX512F) &&
19400 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19401 : : (TARGET_AVX512VL)))
19402 : : return -1;
19403 : : return 2979; /* *rsqrt14v8sf */
19404 : :
19405 : : case 2:
19406 : : if (!(
19407 : : #line 3160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19408 : : (TARGET_AVX512F) &&
19409 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19410 : : (TARGET_AVX512VL)))
19411 : : return -1;
19412 : : return 2981; /* *rsqrt14v4sf */
19413 : :
19414 : : case 3:
19415 : : if (!
19416 : : #line 3160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19417 : : (TARGET_AVX512F))
19418 : : return -1;
19419 : : return 2983; /* *rsqrt14v8df */
19420 : :
19421 : : case 4:
19422 : : if (!(
19423 : : #line 3160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19424 : : (TARGET_AVX512F) &&
19425 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19426 : : (TARGET_AVX512VL)))
19427 : : return -1;
19428 : : return 2985; /* *rsqrt14v4df */
19429 : :
19430 : : case 5:
19431 : : if (!(
19432 : : #line 3160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19433 : : (TARGET_AVX512F) &&
19434 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19435 : : (TARGET_AVX512VL)))
19436 : : return -1;
19437 : : return 2987; /* *rsqrt14v2df */
19438 : :
19439 : : default:
19440 : : return -1;
19441 : : }
19442 : :
19443 : : case 157:
19444 : : return recog_213 (x1, insn, pnum_clobbers);
19445 : :
19446 : : case 47:
19447 : : return recog_209 (x1, insn, pnum_clobbers);
19448 : :
19449 : : case 173:
19450 : : return recog_214 (x1, insn, pnum_clobbers);
19451 : :
19452 : : case 174:
19453 : : return recog_212 (x1, insn, pnum_clobbers);
19454 : :
19455 : : case 166:
19456 : : return recog_211 (x1, insn, pnum_clobbers);
19457 : :
19458 : : case 128:
19459 : : x4 = XVECEXP (x2, 0, 0);
19460 : : operands[1] = x4;
19461 : : switch (GET_MODE (operands[0]))
19462 : : {
19463 : : case E_V8DImode:
19464 : : if (!register_operand (operands[0], E_V8DImode)
19465 : : || GET_MODE (x2) != E_V8DImode
19466 : : || !memory_operand (operands[1], E_V8DImode)
19467 : : || !(
19468 : : #line 23819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19469 : : (TARGET_SSE4_1) &&
19470 : : #line 680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19471 : : (TARGET_AVX512F)))
19472 : : return -1;
19473 : : return 8670; /* avx512f_movntdqa */
19474 : :
19475 : : case E_V4DImode:
19476 : : if (!register_operand (operands[0], E_V4DImode)
19477 : : || GET_MODE (x2) != E_V4DImode
19478 : : || !memory_operand (operands[1], E_V4DImode)
19479 : : || !(
19480 : : #line 23819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19481 : : (TARGET_SSE4_1) &&
19482 : : #line 680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19483 : : (TARGET_AVX2)))
19484 : : return -1;
19485 : : return 8671; /* avx2_movntdqa */
19486 : :
19487 : : case E_V2DImode:
19488 : : if (!register_operand (operands[0], E_V2DImode)
19489 : : || GET_MODE (x2) != E_V2DImode
19490 : : || !memory_operand (operands[1], E_V2DImode)
19491 : : || !
19492 : : #line 23819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19493 : : (TARGET_SSE4_1))
19494 : : return -1;
19495 : : return 8672; /* sse4_1_movntdqa */
19496 : :
19497 : : default:
19498 : : return -1;
19499 : : }
19500 : :
19501 : : case 130:
19502 : : if (GET_MODE (x2) != E_V8HImode
19503 : : || !register_operand (operands[0], E_V8HImode))
19504 : : return -1;
19505 : : x4 = XVECEXP (x2, 0, 0);
19506 : : operands[1] = x4;
19507 : : if (!vector_operand (operands[1], E_V8HImode)
19508 : : || !
19509 : : #line 24145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19510 : : (TARGET_SSE4_1))
19511 : : return -1;
19512 : : return 8705; /* sse4_1_phminposuw */
19513 : :
19514 : : case 137:
19515 : : x4 = XVECEXP (x2, 0, 0);
19516 : : operands[1] = x4;
19517 : : switch (GET_MODE (operands[0]))
19518 : : {
19519 : : case E_V4SFmode:
19520 : : if (!register_operand (operands[0], E_V4SFmode)
19521 : : || GET_MODE (x2) != E_V4SFmode
19522 : : || !nonimmediate_operand (operands[1], E_V4SFmode)
19523 : : || !
19524 : : #line 27123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19525 : : (TARGET_XOP))
19526 : : return -1;
19527 : : return 9008; /* xop_frczv4sf2 */
19528 : :
19529 : : case E_V2DFmode:
19530 : : if (!register_operand (operands[0], E_V2DFmode)
19531 : : || GET_MODE (x2) != E_V2DFmode
19532 : : || !nonimmediate_operand (operands[1], E_V2DFmode)
19533 : : || !
19534 : : #line 27123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19535 : : (TARGET_XOP))
19536 : : return -1;
19537 : : return 9009; /* xop_frczv2df2 */
19538 : :
19539 : : case E_V8SFmode:
19540 : : if (!register_operand (operands[0], E_V8SFmode)
19541 : : || GET_MODE (x2) != E_V8SFmode
19542 : : || !nonimmediate_operand (operands[1], E_V8SFmode)
19543 : : || !
19544 : : #line 27123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19545 : : (TARGET_XOP))
19546 : : return -1;
19547 : : return 9010; /* xop_frczv8sf2 */
19548 : :
19549 : : case E_V4DFmode:
19550 : : if (!register_operand (operands[0], E_V4DFmode)
19551 : : || GET_MODE (x2) != E_V4DFmode
19552 : : || !nonimmediate_operand (operands[1], E_V4DFmode)
19553 : : || !
19554 : : #line 27123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19555 : : (TARGET_XOP))
19556 : : return -1;
19557 : : return 9011; /* xop_frczv4df2 */
19558 : :
19559 : : default:
19560 : : return -1;
19561 : : }
19562 : :
19563 : : case 135:
19564 : : x4 = XVECEXP (x2, 0, 0);
19565 : : switch (GET_CODE (x4))
19566 : : {
19567 : : case NE:
19568 : : case EQ:
19569 : : case GEU:
19570 : : case GTU:
19571 : : case LEU:
19572 : : case LTU:
19573 : : operands[1] = x4;
19574 : : x5 = XEXP (x4, 0);
19575 : : operands[2] = x5;
19576 : : x6 = XEXP (x4, 1);
19577 : : operands[3] = x6;
19578 : : switch (GET_MODE (operands[0]))
19579 : : {
19580 : : case E_V16QImode:
19581 : : if (pattern1002 (x2,
19582 : : E_V16QImode) != 0
19583 : : || !
19584 : : #line 27186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19585 : : (TARGET_XOP))
19586 : : return -1;
19587 : : return 9022; /* xop_maskcmp_uns2v16qi3 */
19588 : :
19589 : : case E_V8HImode:
19590 : : if (pattern1002 (x2,
19591 : : E_V8HImode) != 0
19592 : : || !
19593 : : #line 27186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19594 : : (TARGET_XOP))
19595 : : return -1;
19596 : : return 9023; /* xop_maskcmp_uns2v8hi3 */
19597 : :
19598 : : case E_V4SImode:
19599 : : if (pattern1002 (x2,
19600 : : E_V4SImode) != 0
19601 : : || !
19602 : : #line 27186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19603 : : (TARGET_XOP))
19604 : : return -1;
19605 : : return 9024; /* xop_maskcmp_uns2v4si3 */
19606 : :
19607 : : case E_V2DImode:
19608 : : if (pattern1002 (x2,
19609 : : E_V2DImode) != 0
19610 : : || !
19611 : : #line 27186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19612 : : (TARGET_XOP))
19613 : : return -1;
19614 : : return 9025; /* xop_maskcmp_uns2v2di3 */
19615 : :
19616 : : default:
19617 : : return -1;
19618 : : }
19619 : :
19620 : : default:
19621 : : return -1;
19622 : : }
19623 : :
19624 : : case 142:
19625 : : if (GET_MODE (x2) != E_V2DImode
19626 : : || !register_operand (operands[0], E_V2DImode))
19627 : : return -1;
19628 : : x4 = XVECEXP (x2, 0, 0);
19629 : : operands[1] = x4;
19630 : : if (!vector_operand (operands[1], E_V2DImode)
19631 : : || !
19632 : : #line 27300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19633 : : (TARGET_AES))
19634 : : return -1;
19635 : : return 9038; /* aesimc */
19636 : :
19637 : : case 150:
19638 : : x4 = XVECEXP (x2, 0, 0);
19639 : : operands[1] = x4;
19640 : : switch (GET_MODE (operands[0]))
19641 : : {
19642 : : case E_V4SFmode:
19643 : : if (!register_operand (operands[0], E_V4SFmode)
19644 : : || GET_MODE (x2) != E_V4SFmode
19645 : : || !memory_operand (operands[1], E_V4HImode)
19646 : : || !
19647 : : #line 29229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19648 : : (TARGET_F16C || TARGET_AVX512VL))
19649 : : return -1;
19650 : : return 9621; /* *vcvtph2ps_load */
19651 : :
19652 : : case E_V8SFmode:
19653 : : if (!register_operand (operands[0], E_V8SFmode)
19654 : : || GET_MODE (x2) != E_V8SFmode
19655 : : || !nonimmediate_operand (operands[1], E_V8HImode)
19656 : : || !
19657 : : #line 29239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19658 : : (TARGET_F16C || TARGET_AVX512VL))
19659 : : return -1;
19660 : : return 9623; /* vcvtph2ps256 */
19661 : :
19662 : : case E_V16SFmode:
19663 : : if (!register_operand (operands[0], E_V16SFmode)
19664 : : || GET_MODE (x2) != E_V16SFmode
19665 : : || !vector_operand (operands[1], E_V16HImode)
19666 : : || !
19667 : : #line 29251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19668 : : (TARGET_AVX512F))
19669 : : return -1;
19670 : : return 9625; /* *avx512f_vcvtph2ps512 */
19671 : :
19672 : : default:
19673 : : return -1;
19674 : : }
19675 : :
19676 : : case 169:
19677 : : return recog_218 (x1, insn, pnum_clobbers);
19678 : :
19679 : : case 254:
19680 : : switch (pattern312 (x2))
19681 : : {
19682 : : case 0:
19683 : : if (!
19684 : : #line 32060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19685 : : (TARGET_AVX10_2))
19686 : : return -1;
19687 : : return 10473; /* vcvtph2bf8v16hf */
19688 : :
19689 : : case 1:
19690 : : if (!
19691 : : #line 32060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19692 : : (TARGET_AVX10_2))
19693 : : return -1;
19694 : : return 10481; /* vcvtph2bf8v32hf */
19695 : :
19696 : : default:
19697 : : return -1;
19698 : : }
19699 : :
19700 : : case 255:
19701 : : switch (pattern312 (x2))
19702 : : {
19703 : : case 0:
19704 : : if (!
19705 : : #line 32060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19706 : : (TARGET_AVX10_2))
19707 : : return -1;
19708 : : return 10475; /* vcvtph2bf8sv16hf */
19709 : :
19710 : : case 1:
19711 : : if (!
19712 : : #line 32060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19713 : : (TARGET_AVX10_2))
19714 : : return -1;
19715 : : return 10483; /* vcvtph2bf8sv32hf */
19716 : :
19717 : : default:
19718 : : return -1;
19719 : : }
19720 : :
19721 : : case 256:
19722 : : switch (pattern312 (x2))
19723 : : {
19724 : : case 0:
19725 : : if (!
19726 : : #line 32060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19727 : : (TARGET_AVX10_2))
19728 : : return -1;
19729 : : return 10477; /* vcvtph2hf8v16hf */
19730 : :
19731 : : case 1:
19732 : : if (!
19733 : : #line 32060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19734 : : (TARGET_AVX10_2))
19735 : : return -1;
19736 : : return 10485; /* vcvtph2hf8v32hf */
19737 : :
19738 : : default:
19739 : : return -1;
19740 : : }
19741 : :
19742 : : case 257:
19743 : : switch (pattern312 (x2))
19744 : : {
19745 : : case 0:
19746 : : if (!
19747 : : #line 32060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19748 : : (TARGET_AVX10_2))
19749 : : return -1;
19750 : : return 10479; /* vcvtph2hf8sv16hf */
19751 : :
19752 : : case 1:
19753 : : if (!
19754 : : #line 32060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19755 : : (TARGET_AVX10_2))
19756 : : return -1;
19757 : : return 10487; /* vcvtph2hf8sv32hf */
19758 : :
19759 : : default:
19760 : : return -1;
19761 : : }
19762 : :
19763 : : case 258:
19764 : : x4 = XVECEXP (x2, 0, 0);
19765 : : operands[1] = x4;
19766 : : switch (GET_MODE (operands[0]))
19767 : : {
19768 : : case E_V32HFmode:
19769 : : if (!register_operand (operands[0], E_V32HFmode)
19770 : : || GET_MODE (x2) != E_V32HFmode
19771 : : || !nonimmediate_operand (operands[1], E_V32QImode)
19772 : : || !
19773 : : #line 32069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19774 : : (TARGET_AVX10_2))
19775 : : return -1;
19776 : : return 10489; /* vcvthf82phv32hf */
19777 : :
19778 : : case E_V16HFmode:
19779 : : if (!register_operand (operands[0], E_V16HFmode)
19780 : : || GET_MODE (x2) != E_V16HFmode
19781 : : || !nonimmediate_operand (operands[1], E_V16QImode)
19782 : : || !(
19783 : : #line 32069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19784 : : (TARGET_AVX10_2) &&
19785 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19786 : : (TARGET_AVX512VL)))
19787 : : return -1;
19788 : : return 10491; /* vcvthf82phv16hf */
19789 : :
19790 : : case E_V8HFmode:
19791 : : if (!register_operand (operands[0], E_V8HFmode)
19792 : : || GET_MODE (x2) != E_V8HFmode
19793 : : || !nonimmediate_operand (operands[1], E_V16QImode)
19794 : : || !(
19795 : : #line 32069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19796 : : (TARGET_AVX10_2) &&
19797 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19798 : : (TARGET_AVX512VL)))
19799 : : return -1;
19800 : : return 10493; /* vcvthf82phv8hf */
19801 : :
19802 : : default:
19803 : : return -1;
19804 : : }
19805 : :
19806 : : case 264:
19807 : : switch (pattern313 (x2,
19808 : : E_V32BFmode,
19809 : : E_V16BFmode,
19810 : : E_V8BFmode))
19811 : : {
19812 : : case 0:
19813 : : if (!
19814 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19815 : : (TARGET_AVX10_2))
19816 : : return -1;
19817 : : return 10702; /* avx10_2_cvtbf162ibsv32bf */
19818 : :
19819 : : case 1:
19820 : : if (!
19821 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19822 : : (TARGET_AVX10_2))
19823 : : return -1;
19824 : : return 10710; /* avx10_2_cvtbf162ibsv16bf */
19825 : :
19826 : : case 2:
19827 : : if (!
19828 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19829 : : (TARGET_AVX10_2))
19830 : : return -1;
19831 : : return 10718; /* avx10_2_cvtbf162ibsv8bf */
19832 : :
19833 : : default:
19834 : : return -1;
19835 : : }
19836 : :
19837 : : case 265:
19838 : : switch (pattern313 (x2,
19839 : : E_V32BFmode,
19840 : : E_V16BFmode,
19841 : : E_V8BFmode))
19842 : : {
19843 : : case 0:
19844 : : if (!
19845 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19846 : : (TARGET_AVX10_2))
19847 : : return -1;
19848 : : return 10704; /* avx10_2_cvtbf162iubsv32bf */
19849 : :
19850 : : case 1:
19851 : : if (!
19852 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19853 : : (TARGET_AVX10_2))
19854 : : return -1;
19855 : : return 10712; /* avx10_2_cvtbf162iubsv16bf */
19856 : :
19857 : : case 2:
19858 : : if (!
19859 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19860 : : (TARGET_AVX10_2))
19861 : : return -1;
19862 : : return 10720; /* avx10_2_cvtbf162iubsv8bf */
19863 : :
19864 : : default:
19865 : : return -1;
19866 : : }
19867 : :
19868 : : case 270:
19869 : : switch (pattern313 (x2,
19870 : : E_V32BFmode,
19871 : : E_V16BFmode,
19872 : : E_V8BFmode))
19873 : : {
19874 : : case 0:
19875 : : if (!
19876 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19877 : : (TARGET_AVX10_2))
19878 : : return -1;
19879 : : return 10706; /* avx10_2_cvttbf162ibsv32bf */
19880 : :
19881 : : case 1:
19882 : : if (!
19883 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19884 : : (TARGET_AVX10_2))
19885 : : return -1;
19886 : : return 10714; /* avx10_2_cvttbf162ibsv16bf */
19887 : :
19888 : : case 2:
19889 : : if (!
19890 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19891 : : (TARGET_AVX10_2))
19892 : : return -1;
19893 : : return 10722; /* avx10_2_cvttbf162ibsv8bf */
19894 : :
19895 : : default:
19896 : : return -1;
19897 : : }
19898 : :
19899 : : case 271:
19900 : : switch (pattern313 (x2,
19901 : : E_V32BFmode,
19902 : : E_V16BFmode,
19903 : : E_V8BFmode))
19904 : : {
19905 : : case 0:
19906 : : if (!
19907 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19908 : : (TARGET_AVX10_2))
19909 : : return -1;
19910 : : return 10708; /* avx10_2_cvttbf162iubsv32bf */
19911 : :
19912 : : case 1:
19913 : : if (!
19914 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19915 : : (TARGET_AVX10_2))
19916 : : return -1;
19917 : : return 10716; /* avx10_2_cvttbf162iubsv16bf */
19918 : :
19919 : : case 2:
19920 : : if (!
19921 : : #line 32642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19922 : : (TARGET_AVX10_2))
19923 : : return -1;
19924 : : return 10724; /* avx10_2_cvttbf162iubsv8bf */
19925 : :
19926 : : default:
19927 : : return -1;
19928 : : }
19929 : :
19930 : : case 266:
19931 : : switch (pattern313 (x2,
19932 : : E_V32HFmode,
19933 : : E_V16HFmode,
19934 : : E_V8HFmode))
19935 : : {
19936 : : case 0:
19937 : : if (!
19938 : : #line 32657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19939 : : (TARGET_AVX10_2 && 1))
19940 : : return -1;
19941 : : return 10726; /* avx10_2_cvtph2ibsv32hf */
19942 : :
19943 : : case 1:
19944 : : if (!(
19945 : : #line 32657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19946 : : (TARGET_AVX10_2 && 1) &&
19947 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19948 : : (TARGET_AVX512VL)))
19949 : : return -1;
19950 : : return 10734; /* avx10_2_cvtph2ibsv16hf */
19951 : :
19952 : : case 2:
19953 : : if (!(
19954 : : #line 32657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19955 : : (TARGET_AVX10_2 && 1) &&
19956 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19957 : : (TARGET_AVX512VL)))
19958 : : return -1;
19959 : : return 10738; /* avx10_2_cvtph2ibsv8hf */
19960 : :
19961 : : default:
19962 : : return -1;
19963 : : }
19964 : :
19965 : : case 267:
19966 : : switch (pattern313 (x2,
19967 : : E_V32HFmode,
19968 : : E_V16HFmode,
19969 : : E_V8HFmode))
19970 : : {
19971 : : case 0:
19972 : : if (!
19973 : : #line 32657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19974 : : (TARGET_AVX10_2 && 1))
19975 : : return -1;
19976 : : return 10730; /* avx10_2_cvtph2iubsv32hf */
19977 : :
19978 : : case 1:
19979 : : if (!(
19980 : : #line 32657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19981 : : (TARGET_AVX10_2 && 1) &&
19982 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19983 : : (TARGET_AVX512VL)))
19984 : : return -1;
19985 : : return 10736; /* avx10_2_cvtph2iubsv16hf */
19986 : :
19987 : : case 2:
19988 : : if (!(
19989 : : #line 32657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19990 : : (TARGET_AVX10_2 && 1) &&
19991 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19992 : : (TARGET_AVX512VL)))
19993 : : return -1;
19994 : : return 10740; /* avx10_2_cvtph2iubsv8hf */
19995 : :
19996 : : default:
19997 : : return -1;
19998 : : }
19999 : :
20000 : : case 272:
20001 : : switch (pattern313 (x2,
20002 : : E_V32HFmode,
20003 : : E_V16HFmode,
20004 : : E_V8HFmode))
20005 : : {
20006 : : case 0:
20007 : : if (!
20008 : : #line 32672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20009 : : (TARGET_AVX10_2 && 1))
20010 : : return -1;
20011 : : return 10742; /* avx10_2_cvttph2ibsv32hf */
20012 : :
20013 : : case 1:
20014 : : if (!(
20015 : : #line 32672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20016 : : (TARGET_AVX10_2 && 1) &&
20017 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20018 : : (TARGET_AVX512VL)))
20019 : : return -1;
20020 : : return 10750; /* avx10_2_cvttph2ibsv16hf */
20021 : :
20022 : : case 2:
20023 : : if (!(
20024 : : #line 32672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20025 : : (TARGET_AVX10_2 && 1) &&
20026 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20027 : : (TARGET_AVX512VL)))
20028 : : return -1;
20029 : : return 10754; /* avx10_2_cvttph2ibsv8hf */
20030 : :
20031 : : default:
20032 : : return -1;
20033 : : }
20034 : :
20035 : : case 273:
20036 : : switch (pattern313 (x2,
20037 : : E_V32HFmode,
20038 : : E_V16HFmode,
20039 : : E_V8HFmode))
20040 : : {
20041 : : case 0:
20042 : : if (!
20043 : : #line 32672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20044 : : (TARGET_AVX10_2 && 1))
20045 : : return -1;
20046 : : return 10746; /* avx10_2_cvttph2iubsv32hf */
20047 : :
20048 : : case 1:
20049 : : if (!(
20050 : : #line 32672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20051 : : (TARGET_AVX10_2 && 1) &&
20052 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20053 : : (TARGET_AVX512VL)))
20054 : : return -1;
20055 : : return 10752; /* avx10_2_cvttph2iubsv16hf */
20056 : :
20057 : : case 2:
20058 : : if (!(
20059 : : #line 32672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20060 : : (TARGET_AVX10_2 && 1) &&
20061 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20062 : : (TARGET_AVX512VL)))
20063 : : return -1;
20064 : : return 10756; /* avx10_2_cvttph2iubsv8hf */
20065 : :
20066 : : default:
20067 : : return -1;
20068 : : }
20069 : :
20070 : : case 268:
20071 : : switch (pattern314 (x2))
20072 : : {
20073 : : case 0:
20074 : : if (!
20075 : : #line 32687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20076 : : (TARGET_AVX10_2 && 1))
20077 : : return -1;
20078 : : return 10758; /* avx10_2_cvtps2ibsv16sf */
20079 : :
20080 : : case 1:
20081 : : if (!(
20082 : : #line 32687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20083 : : (TARGET_AVX10_2 && 1) &&
20084 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20085 : : (TARGET_AVX512VL)))
20086 : : return -1;
20087 : : return 10766; /* avx10_2_cvtps2ibsv8sf */
20088 : :
20089 : : case 2:
20090 : : if (!(
20091 : : #line 32687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20092 : : (TARGET_AVX10_2 && 1) &&
20093 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20094 : : (TARGET_AVX512VL)))
20095 : : return -1;
20096 : : return 10770; /* avx10_2_cvtps2ibsv4sf */
20097 : :
20098 : : default:
20099 : : return -1;
20100 : : }
20101 : :
20102 : : case 269:
20103 : : switch (pattern314 (x2))
20104 : : {
20105 : : case 0:
20106 : : if (!
20107 : : #line 32687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20108 : : (TARGET_AVX10_2 && 1))
20109 : : return -1;
20110 : : return 10762; /* avx10_2_cvtps2iubsv16sf */
20111 : :
20112 : : case 1:
20113 : : if (!(
20114 : : #line 32687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20115 : : (TARGET_AVX10_2 && 1) &&
20116 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20117 : : (TARGET_AVX512VL)))
20118 : : return -1;
20119 : : return 10768; /* avx10_2_cvtps2iubsv8sf */
20120 : :
20121 : : case 2:
20122 : : if (!(
20123 : : #line 32687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20124 : : (TARGET_AVX10_2 && 1) &&
20125 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20126 : : (TARGET_AVX512VL)))
20127 : : return -1;
20128 : : return 10772; /* avx10_2_cvtps2iubsv4sf */
20129 : :
20130 : : default:
20131 : : return -1;
20132 : : }
20133 : :
20134 : : case 274:
20135 : : switch (pattern314 (x2))
20136 : : {
20137 : : case 0:
20138 : : if (!
20139 : : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20140 : : (TARGET_AVX10_2 && 1))
20141 : : return -1;
20142 : : return 10774; /* avx10_2_cvttps2ibsv16sf */
20143 : :
20144 : : case 1:
20145 : : if (!(
20146 : : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20147 : : (TARGET_AVX10_2 && 1) &&
20148 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20149 : : (TARGET_AVX512VL)))
20150 : : return -1;
20151 : : return 10782; /* avx10_2_cvttps2ibsv8sf */
20152 : :
20153 : : case 2:
20154 : : if (!(
20155 : : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20156 : : (TARGET_AVX10_2 && 1) &&
20157 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20158 : : (TARGET_AVX512VL)))
20159 : : return -1;
20160 : : return 10786; /* avx10_2_cvttps2ibsv4sf */
20161 : :
20162 : : default:
20163 : : return -1;
20164 : : }
20165 : :
20166 : : case 275:
20167 : : switch (pattern314 (x2))
20168 : : {
20169 : : case 0:
20170 : : if (!
20171 : : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20172 : : (TARGET_AVX10_2 && 1))
20173 : : return -1;
20174 : : return 10778; /* avx10_2_cvttps2iubsv16sf */
20175 : :
20176 : : case 1:
20177 : : if (!(
20178 : : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20179 : : (TARGET_AVX10_2 && 1) &&
20180 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20181 : : (TARGET_AVX512VL)))
20182 : : return -1;
20183 : : return 10784; /* avx10_2_cvttps2iubsv8sf */
20184 : :
20185 : : case 2:
20186 : : if (!(
20187 : : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20188 : : (TARGET_AVX10_2 && 1) &&
20189 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20190 : : (TARGET_AVX512VL)))
20191 : : return -1;
20192 : : return 10788; /* avx10_2_cvttps2iubsv4sf */
20193 : :
20194 : : default:
20195 : : return -1;
20196 : : }
20197 : :
20198 : : case 276:
20199 : : switch (pattern315 (x2))
20200 : : {
20201 : : case 0:
20202 : : if (!(
20203 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20204 : : (TARGET_AVX10_2 && 1) &&
20205 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20206 : : (TARGET_AVX512F)))
20207 : : return -1;
20208 : : return 10790; /* avx10_2_vcvttps2dqsv16sf */
20209 : :
20210 : : case 1:
20211 : : if (!(
20212 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20213 : : (TARGET_AVX10_2 && 1) &&
20214 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20215 : : (TARGET_AVX)))
20216 : : return -1;
20217 : : return 10798; /* avx10_2_vcvttps2dqsv8sf */
20218 : :
20219 : : case 2:
20220 : : if (!(
20221 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20222 : : (TARGET_AVX10_2 && 1) &&
20223 : : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20224 : : (TARGET_AVX512F)))
20225 : : return -1;
20226 : : return 10806; /* avx10_2_vcvttpd2dqsv8df */
20227 : :
20228 : : case 3:
20229 : : if (!
20230 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20231 : : (TARGET_AVX10_2 && 1))
20232 : : return -1;
20233 : : return 10802; /* avx10_2_vcvttps2dqsv4sf */
20234 : :
20235 : : case 4:
20236 : : if (!(
20237 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20238 : : (TARGET_AVX10_2 && 1) &&
20239 : : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20240 : : (TARGET_AVX)))
20241 : : return -1;
20242 : : return 10814; /* avx10_2_vcvttpd2dqsv4df */
20243 : :
20244 : : case 5:
20245 : : if (!(
20246 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20247 : : (TARGET_AVX10_2 && 1) &&
20248 : : #line 379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20249 : : (TARGET_SSE2)))
20250 : : return -1;
20251 : : return 10818; /* avx10_2_vcvttpd2dqsv2df */
20252 : :
20253 : : case 6:
20254 : : if (!(
20255 : : #line 32732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20256 : : (TARGET_AVX10_2 && 1) &&
20257 : : #line 446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20258 : : (TARGET_AVX512F)))
20259 : : return -1;
20260 : : return 10822; /* avx10_2_vcvttpd2qqsv8df */
20261 : :
20262 : : case 7:
20263 : : if (!(
20264 : : #line 32743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20265 : : (TARGET_AVX10_2 && 1) &&
20266 : : #line 594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20267 : : (TARGET_AVX512F)))
20268 : : return -1;
20269 : : return 10838; /* avx10_2_vcvttps2qqsv8di */
20270 : :
20271 : : case 8:
20272 : : if (!(
20273 : : #line 32732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20274 : : (TARGET_AVX10_2 && 1) &&
20275 : : #line 446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20276 : : (TARGET_AVX)))
20277 : : return -1;
20278 : : return 10830; /* avx10_2_vcvttpd2qqsv4df */
20279 : :
20280 : : case 9:
20281 : : if (!(
20282 : : #line 32743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20283 : : (TARGET_AVX10_2 && 1) &&
20284 : : #line 594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20285 : : (TARGET_AVX)))
20286 : : return -1;
20287 : : return 10846; /* avx10_2_vcvttps2qqsv4di */
20288 : :
20289 : : case 10:
20290 : : if (!
20291 : : #line 32732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20292 : : (TARGET_AVX10_2 && 1))
20293 : : return -1;
20294 : : return 10834; /* avx10_2_vcvttpd2qqsv2df */
20295 : :
20296 : : case 11:
20297 : : if (!
20298 : : #line 32743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20299 : : (TARGET_AVX10_2 && 1))
20300 : : return -1;
20301 : : return 10850; /* avx10_2_vcvttps2qqsv2di */
20302 : :
20303 : : default:
20304 : : return -1;
20305 : : }
20306 : :
20307 : : case 277:
20308 : : switch (pattern315 (x2))
20309 : : {
20310 : : case 0:
20311 : : if (!(
20312 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20313 : : (TARGET_AVX10_2 && 1) &&
20314 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20315 : : (TARGET_AVX512F)))
20316 : : return -1;
20317 : : return 10794; /* avx10_2_vcvttps2udqsv16sf */
20318 : :
20319 : : case 1:
20320 : : if (!(
20321 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20322 : : (TARGET_AVX10_2 && 1) &&
20323 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20324 : : (TARGET_AVX)))
20325 : : return -1;
20326 : : return 10800; /* avx10_2_vcvttps2udqsv8sf */
20327 : :
20328 : : case 2:
20329 : : if (!(
20330 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20331 : : (TARGET_AVX10_2 && 1) &&
20332 : : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20333 : : (TARGET_AVX512F)))
20334 : : return -1;
20335 : : return 10810; /* avx10_2_vcvttpd2udqsv8df */
20336 : :
20337 : : case 3:
20338 : : if (!
20339 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20340 : : (TARGET_AVX10_2 && 1))
20341 : : return -1;
20342 : : return 10804; /* avx10_2_vcvttps2udqsv4sf */
20343 : :
20344 : : case 4:
20345 : : if (!(
20346 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20347 : : (TARGET_AVX10_2 && 1) &&
20348 : : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20349 : : (TARGET_AVX)))
20350 : : return -1;
20351 : : return 10816; /* avx10_2_vcvttpd2udqsv4df */
20352 : :
20353 : : case 5:
20354 : : if (!(
20355 : : #line 32721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20356 : : (TARGET_AVX10_2 && 1) &&
20357 : : #line 379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20358 : : (TARGET_SSE2)))
20359 : : return -1;
20360 : : return 10820; /* avx10_2_vcvttpd2udqsv2df */
20361 : :
20362 : : case 6:
20363 : : if (!(
20364 : : #line 32732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20365 : : (TARGET_AVX10_2 && 1) &&
20366 : : #line 446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20367 : : (TARGET_AVX512F)))
20368 : : return -1;
20369 : : return 10826; /* avx10_2_vcvttpd2uqqsv8df */
20370 : :
20371 : : case 7:
20372 : : if (!(
20373 : : #line 32743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20374 : : (TARGET_AVX10_2 && 1) &&
20375 : : #line 594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20376 : : (TARGET_AVX512F)))
20377 : : return -1;
20378 : : return 10842; /* avx10_2_vcvttps2uqqsv8di */
20379 : :
20380 : : case 8:
20381 : : if (!(
20382 : : #line 32732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20383 : : (TARGET_AVX10_2 && 1) &&
20384 : : #line 446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20385 : : (TARGET_AVX)))
20386 : : return -1;
20387 : : return 10832; /* avx10_2_vcvttpd2uqqsv4df */
20388 : :
20389 : : case 9:
20390 : : if (!(
20391 : : #line 32743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20392 : : (TARGET_AVX10_2 && 1) &&
20393 : : #line 594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20394 : : (TARGET_AVX)))
20395 : : return -1;
20396 : : return 10848; /* avx10_2_vcvttps2uqqsv4di */
20397 : :
20398 : : case 10:
20399 : : if (!
20400 : : #line 32732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20401 : : (TARGET_AVX10_2 && 1))
20402 : : return -1;
20403 : : return 10836; /* avx10_2_vcvttpd2uqqsv2df */
20404 : :
20405 : : case 11:
20406 : : if (!
20407 : : #line 32743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20408 : : (TARGET_AVX10_2 && 1))
20409 : : return -1;
20410 : : return 10852; /* avx10_2_vcvttps2uqqsv2di */
20411 : :
20412 : : default:
20413 : : return -1;
20414 : : }
20415 : :
20416 : : case 280:
20417 : : return recog_210 (x1, insn, pnum_clobbers);
20418 : :
20419 : : default:
20420 : : return -1;
20421 : : }
20422 : :
20423 : : case 2:
20424 : : return recog_267 (x1, insn, pnum_clobbers);
20425 : :
20426 : : case 3:
20427 : : return recog_266 (x1, insn, pnum_clobbers);
20428 : :
20429 : : case 4:
20430 : : return recog_265 (x1, insn, pnum_clobbers);
20431 : :
20432 : : default:
20433 : : return -1;
20434 : : }
20435 : : }
20436 : :
20437 : : int
20438 : : recog_325 (rtx x1 ATTRIBUTE_UNUSED,
20439 : : rtx_insn *insn ATTRIBUTE_UNUSED,
20440 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
20441 : : {
20442 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20443 : : rtx x2;
20444 : : int res ATTRIBUTE_UNUSED;
20445 : : x2 = XEXP (x1, 1);
20446 : : operands[1] = x2;
20447 : : switch (GET_MODE (operands[0]))
20448 : : {
20449 : : case E_V64QImode:
20450 : : if (nonimmediate_operand (operands[0], E_V64QImode)
20451 : : && nonimmediate_or_sse_const_operand (operands[1], E_V64QImode)
20452 : : && (
20453 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20454 : : (TARGET_SSE
20455 : : && (register_operand (operands[0], V64QImode)
20456 : : || register_operand (operands[1], V64QImode))
20457 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20458 : : #line 282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20459 : : (TARGET_AVX512F)))
20460 : : return 2406; /* movv64qi_internal */
20461 : : if (!register_operand (operands[0], E_V64QImode)
20462 : : || !ternlog_operand (operands[1], E_V64QImode)
20463 : : || !(
20464 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20465 : : ((64 == 64 || TARGET_AVX512VL
20466 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20467 : : && ix86_pre_reload_split ()) &&
20468 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20469 : : (TARGET_AVX512F)))
20470 : : return -1;
20471 : : return 5430; /* *avx512bw_vpternlogv64qi_0 */
20472 : :
20473 : : case E_V32QImode:
20474 : : if (nonimmediate_operand (operands[0], E_V32QImode)
20475 : : && nonimmediate_or_sse_const_operand (operands[1], E_V32QImode)
20476 : : && (
20477 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20478 : : (TARGET_SSE
20479 : : && (register_operand (operands[0], V32QImode)
20480 : : || register_operand (operands[1], V32QImode))
20481 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20482 : : #line 282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20483 : : (TARGET_AVX)))
20484 : : return 2407; /* movv32qi_internal */
20485 : : if (!register_operand (operands[0], E_V32QImode)
20486 : : || !ternlog_operand (operands[1], E_V32QImode)
20487 : : || !(
20488 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20489 : : ((32 == 64 || TARGET_AVX512VL
20490 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20491 : : && ix86_pre_reload_split ()) &&
20492 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20493 : : (TARGET_AVX)))
20494 : : return -1;
20495 : : return 5431; /* *avx512vl_vpternlogv32qi_0 */
20496 : :
20497 : : case E_V16QImode:
20498 : : if (nonimmediate_operand (operands[0], E_V16QImode)
20499 : : && nonimmediate_or_sse_const_operand (operands[1], E_V16QImode)
20500 : : &&
20501 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20502 : : (TARGET_SSE
20503 : : && (register_operand (operands[0], V16QImode)
20504 : : || register_operand (operands[1], V16QImode))
20505 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20506 : : return 2408; /* movv16qi_internal */
20507 : : if (!register_operand (operands[0], E_V16QImode)
20508 : : || !ternlog_operand (operands[1], E_V16QImode)
20509 : : || !
20510 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20511 : : ((16 == 64 || TARGET_AVX512VL
20512 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20513 : : && ix86_pre_reload_split ()))
20514 : : return -1;
20515 : : return 5432; /* *avx512vl_vpternlogv16qi_0 */
20516 : :
20517 : : case E_V32HImode:
20518 : : if (nonimmediate_operand (operands[0], E_V32HImode)
20519 : : && nonimmediate_or_sse_const_operand (operands[1], E_V32HImode)
20520 : : && (
20521 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20522 : : (TARGET_SSE
20523 : : && (register_operand (operands[0], V32HImode)
20524 : : || register_operand (operands[1], V32HImode))
20525 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20526 : : #line 283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20527 : : (TARGET_AVX512F)))
20528 : : return 2409; /* movv32hi_internal */
20529 : : if (!register_operand (operands[0], E_V32HImode)
20530 : : || !ternlog_operand (operands[1], E_V32HImode)
20531 : : || !(
20532 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20533 : : ((64 == 64 || TARGET_AVX512VL
20534 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20535 : : && ix86_pre_reload_split ()) &&
20536 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20537 : : (TARGET_AVX512F)))
20538 : : return -1;
20539 : : return 5433; /* *avx512bw_vpternlogv32hi_0 */
20540 : :
20541 : : case E_V16HImode:
20542 : : if (nonimmediate_operand (operands[0], E_V16HImode)
20543 : : && nonimmediate_or_sse_const_operand (operands[1], E_V16HImode)
20544 : : && (
20545 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20546 : : (TARGET_SSE
20547 : : && (register_operand (operands[0], V16HImode)
20548 : : || register_operand (operands[1], V16HImode))
20549 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20550 : : #line 283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20551 : : (TARGET_AVX)))
20552 : : return 2410; /* movv16hi_internal */
20553 : : if (!register_operand (operands[0], E_V16HImode)
20554 : : || !ternlog_operand (operands[1], E_V16HImode)
20555 : : || !(
20556 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20557 : : ((32 == 64 || TARGET_AVX512VL
20558 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20559 : : && ix86_pre_reload_split ()) &&
20560 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20561 : : (TARGET_AVX)))
20562 : : return -1;
20563 : : return 5434; /* *avx512vl_vpternlogv16hi_0 */
20564 : :
20565 : : case E_V8HImode:
20566 : : if (nonimmediate_operand (operands[0], E_V8HImode)
20567 : : && nonimmediate_or_sse_const_operand (operands[1], E_V8HImode)
20568 : : &&
20569 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20570 : : (TARGET_SSE
20571 : : && (register_operand (operands[0], V8HImode)
20572 : : || register_operand (operands[1], V8HImode))
20573 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20574 : : return 2411; /* movv8hi_internal */
20575 : : if (!register_operand (operands[0], E_V8HImode)
20576 : : || !ternlog_operand (operands[1], E_V8HImode)
20577 : : || !
20578 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20579 : : ((16 == 64 || TARGET_AVX512VL
20580 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20581 : : && ix86_pre_reload_split ()))
20582 : : return -1;
20583 : : return 5435; /* *avx512vl_vpternlogv8hi_0 */
20584 : :
20585 : : case E_V16SImode:
20586 : : if (nonimmediate_operand (operands[0], E_V16SImode)
20587 : : && nonimmediate_or_sse_const_operand (operands[1], E_V16SImode)
20588 : : && (
20589 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20590 : : (TARGET_SSE
20591 : : && (register_operand (operands[0], V16SImode)
20592 : : || register_operand (operands[1], V16SImode))
20593 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20594 : : #line 284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20595 : : (TARGET_AVX512F)))
20596 : : return 2412; /* movv16si_internal */
20597 : : if (!register_operand (operands[0], E_V16SImode)
20598 : : || !ternlog_operand (operands[1], E_V16SImode)
20599 : : || !(
20600 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20601 : : ((64 == 64 || TARGET_AVX512VL
20602 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20603 : : && ix86_pre_reload_split ()) &&
20604 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20605 : : (TARGET_AVX512F)))
20606 : : return -1;
20607 : : return 5436; /* *avx512f_vpternlogv16si_0 */
20608 : :
20609 : : case E_V8SImode:
20610 : : if (nonimmediate_operand (operands[0], E_V8SImode)
20611 : : && nonimmediate_or_sse_const_operand (operands[1], E_V8SImode)
20612 : : && (
20613 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20614 : : (TARGET_SSE
20615 : : && (register_operand (operands[0], V8SImode)
20616 : : || register_operand (operands[1], V8SImode))
20617 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20618 : : #line 284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20619 : : (TARGET_AVX)))
20620 : : return 2413; /* movv8si_internal */
20621 : : if (!register_operand (operands[0], E_V8SImode)
20622 : : || !ternlog_operand (operands[1], E_V8SImode)
20623 : : || !(
20624 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20625 : : ((32 == 64 || TARGET_AVX512VL
20626 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20627 : : && ix86_pre_reload_split ()) &&
20628 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20629 : : (TARGET_AVX)))
20630 : : return -1;
20631 : : return 5437; /* *avx512vl_vpternlogv8si_0 */
20632 : :
20633 : : case E_V4SImode:
20634 : : if (nonimmediate_operand (operands[0], E_V4SImode)
20635 : : && nonimmediate_or_sse_const_operand (operands[1], E_V4SImode)
20636 : : &&
20637 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20638 : : (TARGET_SSE
20639 : : && (register_operand (operands[0], V4SImode)
20640 : : || register_operand (operands[1], V4SImode))
20641 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20642 : : return 2414; /* movv4si_internal */
20643 : : if (!register_operand (operands[0], E_V4SImode)
20644 : : || !ternlog_operand (operands[1], E_V4SImode)
20645 : : || !
20646 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20647 : : ((16 == 64 || TARGET_AVX512VL
20648 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20649 : : && ix86_pre_reload_split ()))
20650 : : return -1;
20651 : : return 5438; /* *avx512vl_vpternlogv4si_0 */
20652 : :
20653 : : case E_V8DImode:
20654 : : if (nonimmediate_operand (operands[0], E_V8DImode)
20655 : : && nonimmediate_or_sse_const_operand (operands[1], E_V8DImode)
20656 : : && (
20657 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20658 : : (TARGET_SSE
20659 : : && (register_operand (operands[0], V8DImode)
20660 : : || register_operand (operands[1], V8DImode))
20661 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20662 : : #line 285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20663 : : (TARGET_AVX512F)))
20664 : : return 2415; /* movv8di_internal */
20665 : : if (!register_operand (operands[0], E_V8DImode)
20666 : : || !ternlog_operand (operands[1], E_V8DImode)
20667 : : || !(
20668 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20669 : : ((64 == 64 || TARGET_AVX512VL
20670 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20671 : : && ix86_pre_reload_split ()) &&
20672 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20673 : : (TARGET_AVX512F)))
20674 : : return -1;
20675 : : return 5439; /* *avx512f_vpternlogv8di_0 */
20676 : :
20677 : : case E_V4DImode:
20678 : : if (nonimmediate_operand (operands[0], E_V4DImode)
20679 : : && nonimmediate_or_sse_const_operand (operands[1], E_V4DImode)
20680 : : && (
20681 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20682 : : (TARGET_SSE
20683 : : && (register_operand (operands[0], V4DImode)
20684 : : || register_operand (operands[1], V4DImode))
20685 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20686 : : #line 285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20687 : : (TARGET_AVX)))
20688 : : return 2416; /* movv4di_internal */
20689 : : if (!register_operand (operands[0], E_V4DImode)
20690 : : || !ternlog_operand (operands[1], E_V4DImode)
20691 : : || !(
20692 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20693 : : ((32 == 64 || TARGET_AVX512VL
20694 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20695 : : && ix86_pre_reload_split ()) &&
20696 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20697 : : (TARGET_AVX)))
20698 : : return -1;
20699 : : return 5440; /* *avx512vl_vpternlogv4di_0 */
20700 : :
20701 : : case E_V2DImode:
20702 : : if (nonimmediate_operand (operands[0], E_V2DImode)
20703 : : && nonimmediate_or_sse_const_operand (operands[1], E_V2DImode)
20704 : : &&
20705 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20706 : : (TARGET_SSE
20707 : : && (register_operand (operands[0], V2DImode)
20708 : : || register_operand (operands[1], V2DImode))
20709 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20710 : : return 2417; /* movv2di_internal */
20711 : : if (!register_operand (operands[0], E_V2DImode)
20712 : : || !ternlog_operand (operands[1], E_V2DImode)
20713 : : || !
20714 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20715 : : ((16 == 64 || TARGET_AVX512VL
20716 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20717 : : && ix86_pre_reload_split ()))
20718 : : return -1;
20719 : : return 5441; /* *avx512vl_vpternlogv2di_0 */
20720 : :
20721 : : case E_V4TImode:
20722 : : if (!nonimmediate_operand (operands[0], E_V4TImode)
20723 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V4TImode)
20724 : : || !(
20725 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20726 : : (TARGET_SSE
20727 : : && (register_operand (operands[0], V4TImode)
20728 : : || register_operand (operands[1], V4TImode))
20729 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20730 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20731 : : (TARGET_AVX512F)))
20732 : : return -1;
20733 : : return 2418; /* movv4ti_internal */
20734 : :
20735 : : case E_V2TImode:
20736 : : if (!nonimmediate_operand (operands[0], E_V2TImode)
20737 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V2TImode)
20738 : : || !(
20739 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20740 : : (TARGET_SSE
20741 : : && (register_operand (operands[0], V2TImode)
20742 : : || register_operand (operands[1], V2TImode))
20743 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20744 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20745 : : (TARGET_AVX)))
20746 : : return -1;
20747 : : return 2419; /* movv2ti_internal */
20748 : :
20749 : : case E_V1TImode:
20750 : : if (!nonimmediate_operand (operands[0], E_V1TImode)
20751 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V1TImode)
20752 : : || !
20753 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20754 : : (TARGET_SSE
20755 : : && (register_operand (operands[0], V1TImode)
20756 : : || register_operand (operands[1], V1TImode))
20757 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20758 : : return -1;
20759 : : return 2420; /* movv1ti_internal */
20760 : :
20761 : : case E_V32HFmode:
20762 : : if (!nonimmediate_operand (operands[0], E_V32HFmode)
20763 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V32HFmode)
20764 : : || !(
20765 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20766 : : (TARGET_SSE
20767 : : && (register_operand (operands[0], V32HFmode)
20768 : : || register_operand (operands[1], V32HFmode))
20769 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20770 : : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20771 : : (TARGET_AVX512F)))
20772 : : return -1;
20773 : : return 2421; /* movv32hf_internal */
20774 : :
20775 : : case E_V16HFmode:
20776 : : if (!nonimmediate_operand (operands[0], E_V16HFmode)
20777 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V16HFmode)
20778 : : || !(
20779 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20780 : : (TARGET_SSE
20781 : : && (register_operand (operands[0], V16HFmode)
20782 : : || register_operand (operands[1], V16HFmode))
20783 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20784 : : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20785 : : (TARGET_AVX)))
20786 : : return -1;
20787 : : return 2422; /* movv16hf_internal */
20788 : :
20789 : : case E_V8HFmode:
20790 : : if (!nonimmediate_operand (operands[0], E_V8HFmode)
20791 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V8HFmode)
20792 : : || !
20793 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20794 : : (TARGET_SSE
20795 : : && (register_operand (operands[0], V8HFmode)
20796 : : || register_operand (operands[1], V8HFmode))
20797 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20798 : : return -1;
20799 : : return 2423; /* movv8hf_internal */
20800 : :
20801 : : case E_V32BFmode:
20802 : : if (!nonimmediate_operand (operands[0], E_V32BFmode)
20803 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V32BFmode)
20804 : : || !(
20805 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20806 : : (TARGET_SSE
20807 : : && (register_operand (operands[0], V32BFmode)
20808 : : || register_operand (operands[1], V32BFmode))
20809 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20810 : : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20811 : : (TARGET_AVX512F)))
20812 : : return -1;
20813 : : return 2424; /* movv32bf_internal */
20814 : :
20815 : : case E_V16BFmode:
20816 : : if (!nonimmediate_operand (operands[0], E_V16BFmode)
20817 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V16BFmode)
20818 : : || !(
20819 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20820 : : (TARGET_SSE
20821 : : && (register_operand (operands[0], V16BFmode)
20822 : : || register_operand (operands[1], V16BFmode))
20823 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20824 : : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20825 : : (TARGET_AVX)))
20826 : : return -1;
20827 : : return 2425; /* movv16bf_internal */
20828 : :
20829 : : case E_V8BFmode:
20830 : : if (!nonimmediate_operand (operands[0], E_V8BFmode)
20831 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V8BFmode)
20832 : : || !
20833 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20834 : : (TARGET_SSE
20835 : : && (register_operand (operands[0], V8BFmode)
20836 : : || register_operand (operands[1], V8BFmode))
20837 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20838 : : return -1;
20839 : : return 2426; /* movv8bf_internal */
20840 : :
20841 : : case E_V16SFmode:
20842 : : if (!nonimmediate_operand (operands[0], E_V16SFmode)
20843 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V16SFmode)
20844 : : || !(
20845 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20846 : : (TARGET_SSE
20847 : : && (register_operand (operands[0], V16SFmode)
20848 : : || register_operand (operands[1], V16SFmode))
20849 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20850 : : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20851 : : (TARGET_AVX512F)))
20852 : : return -1;
20853 : : return 2427; /* movv16sf_internal */
20854 : :
20855 : : case E_V8SFmode:
20856 : : if (!nonimmediate_operand (operands[0], E_V8SFmode)
20857 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V8SFmode)
20858 : : || !(
20859 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20860 : : (TARGET_SSE
20861 : : && (register_operand (operands[0], V8SFmode)
20862 : : || register_operand (operands[1], V8SFmode))
20863 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20864 : : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20865 : : (TARGET_AVX)))
20866 : : return -1;
20867 : : return 2428; /* movv8sf_internal */
20868 : :
20869 : : case E_V4SFmode:
20870 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
20871 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V4SFmode)
20872 : : || !
20873 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20874 : : (TARGET_SSE
20875 : : && (register_operand (operands[0], V4SFmode)
20876 : : || register_operand (operands[1], V4SFmode))
20877 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20878 : : return -1;
20879 : : return 2429; /* movv4sf_internal */
20880 : :
20881 : : case E_V8DFmode:
20882 : : if (!nonimmediate_operand (operands[0], E_V8DFmode)
20883 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V8DFmode)
20884 : : || !(
20885 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20886 : : (TARGET_SSE
20887 : : && (register_operand (operands[0], V8DFmode)
20888 : : || register_operand (operands[1], V8DFmode))
20889 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20890 : : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20891 : : (TARGET_AVX512F)))
20892 : : return -1;
20893 : : return 2430; /* movv8df_internal */
20894 : :
20895 : : case E_V4DFmode:
20896 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
20897 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V4DFmode)
20898 : : || !(
20899 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20900 : : (TARGET_SSE
20901 : : && (register_operand (operands[0], V4DFmode)
20902 : : || register_operand (operands[1], V4DFmode))
20903 : : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20904 : : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20905 : : (TARGET_AVX)))
20906 : : return -1;
20907 : : return 2431; /* movv4df_internal */
20908 : :
20909 : : case E_V2DFmode:
20910 : : if (!nonimmediate_operand (operands[0], E_V2DFmode)
20911 : : || !nonimmediate_or_sse_const_operand (operands[1], E_V2DFmode)
20912 : : || !
20913 : : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20914 : : (TARGET_SSE
20915 : : && (register_operand (operands[0], V2DFmode)
20916 : : || register_operand (operands[1], V2DFmode))
20917 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20918 : : return -1;
20919 : : return 2432; /* movv2df_internal */
20920 : :
20921 : : default:
20922 : : return -1;
20923 : : }
20924 : : }
20925 : :
20926 : : int
20927 : : recog_333 (rtx x1 ATTRIBUTE_UNUSED,
20928 : : rtx_insn *insn ATTRIBUTE_UNUSED,
20929 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
20930 : : {
20931 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20932 : : rtx x2, x3, x4, x5;
20933 : : int res ATTRIBUTE_UNUSED;
20934 : : x2 = XEXP (x1, 0);
20935 : : operands[0] = x2;
20936 : : x3 = XEXP (x1, 1);
20937 : : x4 = XEXP (x3, 0);
20938 : : switch (GET_CODE (x4))
20939 : : {
20940 : : case REG:
20941 : : case SUBREG:
20942 : : case MEM:
20943 : : case VEC_DUPLICATE:
20944 : : operands[1] = x4;
20945 : : x5 = XEXP (x3, 1);
20946 : : operands[2] = x5;
20947 : : switch (GET_MODE (operands[0]))
20948 : : {
20949 : : case E_V32HFmode:
20950 : : if (pattern181 (x3,
20951 : : E_V32HFmode) != 0
20952 : : || !(
20953 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20954 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
20955 : : && 1 && 1) &&
20956 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20957 : : (TARGET_AVX512FP16)))
20958 : : return -1;
20959 : : return 2802; /* *mulv32hf3 */
20960 : :
20961 : : case E_V16HFmode:
20962 : : if (pattern181 (x3,
20963 : : E_V16HFmode) != 0
20964 : : || !(
20965 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20966 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
20967 : : && 1 && 1) &&
20968 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20969 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20970 : : return -1;
20971 : : return 2806; /* *mulv16hf3 */
20972 : :
20973 : : case E_V8HFmode:
20974 : : if (pattern181 (x3,
20975 : : E_V8HFmode) != 0
20976 : : || !(
20977 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20978 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
20979 : : && 1 && 1) &&
20980 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20981 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20982 : : return -1;
20983 : : return 2810; /* *mulv8hf3 */
20984 : :
20985 : : case E_V16SFmode:
20986 : : if (pattern181 (x3,
20987 : : E_V16SFmode) != 0
20988 : : || !(
20989 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20990 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
20991 : : && 1 && 1) &&
20992 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20993 : : (TARGET_AVX512F)))
20994 : : return -1;
20995 : : return 2814; /* *mulv16sf3 */
20996 : :
20997 : : case E_V8SFmode:
20998 : : if (pattern181 (x3,
20999 : : E_V8SFmode) != 0
21000 : : || !(
21001 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21002 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
21003 : : && 1 && 1) &&
21004 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21005 : : (TARGET_AVX)))
21006 : : return -1;
21007 : : return 2818; /* *mulv8sf3 */
21008 : :
21009 : : case E_V4SFmode:
21010 : : if (pattern181 (x3,
21011 : : E_V4SFmode) != 0
21012 : : || !
21013 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21014 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
21015 : : && 1 && 1))
21016 : : return -1;
21017 : : return 2822; /* *mulv4sf3 */
21018 : :
21019 : : case E_V8DFmode:
21020 : : if (pattern181 (x3,
21021 : : E_V8DFmode) != 0
21022 : : || !(
21023 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21024 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
21025 : : && 1 && 1) &&
21026 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21027 : : (TARGET_AVX512F)))
21028 : : return -1;
21029 : : return 2826; /* *mulv8df3 */
21030 : :
21031 : : case E_V4DFmode:
21032 : : if (pattern181 (x3,
21033 : : E_V4DFmode) != 0
21034 : : || !(
21035 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21036 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
21037 : : && 1 && 1) &&
21038 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21039 : : (TARGET_AVX)))
21040 : : return -1;
21041 : : return 2830; /* *mulv4df3 */
21042 : :
21043 : : case E_V2DFmode:
21044 : : if (pattern181 (x3,
21045 : : E_V2DFmode) != 0
21046 : : || !(
21047 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21048 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
21049 : : && 1 && 1) &&
21050 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21051 : : (TARGET_SSE2)))
21052 : : return -1;
21053 : : return 2834; /* *mulv2df3 */
21054 : :
21055 : : case E_V32HImode:
21056 : : if (pattern23 (x3,
21057 : : E_V32HImode) != 0
21058 : : || !(
21059 : : #line 16417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21060 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21061 : : && 1 && 1) &&
21062 : : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21063 : : (TARGET_AVX512BW)))
21064 : : return -1;
21065 : : return 7511; /* *mulv32hi3 */
21066 : :
21067 : : case E_V16HImode:
21068 : : if (pattern23 (x3,
21069 : : E_V16HImode) != 0
21070 : : || !(
21071 : : #line 16417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21072 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21073 : : && 1 && 1) &&
21074 : : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21075 : : (TARGET_AVX2)))
21076 : : return -1;
21077 : : return 7513; /* *mulv16hi3 */
21078 : :
21079 : : case E_V8HImode:
21080 : : if (pattern23 (x3,
21081 : : E_V8HImode) != 0
21082 : : || !
21083 : : #line 16417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21084 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21085 : : && 1 && 1))
21086 : : return -1;
21087 : : return 7515; /* *mulv8hi3 */
21088 : :
21089 : : case E_V8DImode:
21090 : : if (pattern181 (x3,
21091 : : E_V8DImode) != 0
21092 : : || !
21093 : : #line 16871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21094 : : (TARGET_AVX512DQ && 1
21095 : : && ix86_binary_operator_ok (MULT, V8DImode, operands)))
21096 : : return -1;
21097 : : return 7549; /* *avx512dq_mulv8di3 */
21098 : :
21099 : : case E_V4DImode:
21100 : : if (pattern181 (x3,
21101 : : E_V4DImode) != 0
21102 : : || !(
21103 : : #line 16871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21104 : : (TARGET_AVX512DQ && 1
21105 : : && ix86_binary_operator_ok (MULT, V4DImode, operands)) &&
21106 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21107 : : (TARGET_AVX512VL)))
21108 : : return -1;
21109 : : return 7551; /* *avx512dq_mulv4di3 */
21110 : :
21111 : : case E_V2DImode:
21112 : : if (pattern181 (x3,
21113 : : E_V2DImode) != 0
21114 : : || !(
21115 : : #line 16871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21116 : : (TARGET_AVX512DQ && 1
21117 : : && ix86_binary_operator_ok (MULT, V2DImode, operands)) &&
21118 : : #line 600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21119 : : (TARGET_AVX512VL)))
21120 : : return -1;
21121 : : return 7553; /* *avx512dq_mulv2di3 */
21122 : :
21123 : : case E_V16SImode:
21124 : : if (pattern181 (x3,
21125 : : E_V16SImode) != 0
21126 : : || !(
21127 : : #line 16930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21128 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V16SImode, operands)
21129 : : && 1) &&
21130 : : #line 645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21131 : : (TARGET_AVX512F)))
21132 : : return -1;
21133 : : return 7555; /* *avx512f_mulv16si3 */
21134 : :
21135 : : case E_V8SImode:
21136 : : if (pattern181 (x3,
21137 : : E_V8SImode) != 0
21138 : : || !(
21139 : : #line 16930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21140 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V8SImode, operands)
21141 : : && 1) &&
21142 : : #line 645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21143 : : (TARGET_AVX2)))
21144 : : return -1;
21145 : : return 7557; /* *avx2_mulv8si3 */
21146 : :
21147 : : case E_V4SImode:
21148 : : if (pattern181 (x3,
21149 : : E_V4SImode) != 0
21150 : : || !
21151 : : #line 16930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21152 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands)
21153 : : && 1))
21154 : : return -1;
21155 : : return 7559; /* *sse4_1_mulv4si3 */
21156 : :
21157 : : case E_V32BFmode:
21158 : : if (pattern12 (x3,
21159 : : E_V32BFmode) != 0
21160 : : || !
21161 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21162 : : (TARGET_AVX10_2))
21163 : : return -1;
21164 : : return 10580; /* avx10_2_mulbf16_v32bf */
21165 : :
21166 : : case E_V16BFmode:
21167 : : if (pattern12 (x3,
21168 : : E_V16BFmode) != 0
21169 : : || !
21170 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21171 : : (TARGET_AVX10_2))
21172 : : return -1;
21173 : : return 10588; /* avx10_2_mulbf16_v16bf */
21174 : :
21175 : : case E_V8BFmode:
21176 : : if (pattern12 (x3,
21177 : : E_V8BFmode) != 0
21178 : : || !
21179 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21180 : : (TARGET_AVX10_2))
21181 : : return -1;
21182 : : return 10596; /* avx10_2_mulbf16_v8bf */
21183 : :
21184 : : default:
21185 : : return -1;
21186 : : }
21187 : :
21188 : : case ZERO_EXTEND:
21189 : : switch (pattern193 (x3,
21190 : : ZERO_EXTEND))
21191 : : {
21192 : : case 0:
21193 : : if (!
21194 : : #line 16500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21195 : : (TARGET_AVX512F
21196 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21197 : : return -1;
21198 : : return 7529; /* *vec_widen_umult_even_v16si */
21199 : :
21200 : : case 1:
21201 : : if (!
21202 : : #line 16536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21203 : : (TARGET_AVX2 && 1
21204 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21205 : : return -1;
21206 : : return 7531; /* *vec_widen_umult_even_v8si */
21207 : :
21208 : : case 2:
21209 : : if (!
21210 : : #line 16568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21211 : : (TARGET_SSE2 && 1
21212 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21213 : : return -1;
21214 : : return 7533; /* *vec_widen_umult_even_v4si */
21215 : :
21216 : : default:
21217 : : return -1;
21218 : : }
21219 : :
21220 : : case SIGN_EXTEND:
21221 : : switch (pattern193 (x3,
21222 : : SIGN_EXTEND))
21223 : : {
21224 : : case 0:
21225 : : if (!
21226 : : #line 16616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21227 : : (TARGET_AVX512F
21228 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21229 : : return -1;
21230 : : return 7535; /* *vec_widen_smult_even_v16si */
21231 : :
21232 : : case 1:
21233 : : if (!
21234 : : #line 16652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21235 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21236 : : return -1;
21237 : : return 7537; /* *vec_widen_smult_even_v8si */
21238 : :
21239 : : case 2:
21240 : : if (!
21241 : : #line 16684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21242 : : (TARGET_SSE4_1 && 1
21243 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21244 : : return -1;
21245 : : return 7539; /* *sse4_1_mulv2siv2di3 */
21246 : :
21247 : : default:
21248 : : return -1;
21249 : : }
21250 : :
21251 : : default:
21252 : : return -1;
21253 : : }
21254 : : }
21255 : :
21256 : : int
21257 : : recog_341 (rtx x1 ATTRIBUTE_UNUSED,
21258 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21259 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21260 : : {
21261 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21262 : : int res ATTRIBUTE_UNUSED;
21263 : : switch (pattern24 (x1))
21264 : : {
21265 : : case 0:
21266 : : if (!(
21267 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21268 : : (TARGET_SSE
21269 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21270 : : && 1
21271 : : && 1) &&
21272 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21273 : : (TARGET_AVX512FP16)))
21274 : : return -1;
21275 : : return 3003; /* *sminv32hf3 */
21276 : :
21277 : : case 1:
21278 : : if (!(
21279 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21280 : : (TARGET_SSE
21281 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21282 : : && 1
21283 : : && 1) &&
21284 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21285 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21286 : : return -1;
21287 : : return 3009; /* *sminv16hf3 */
21288 : :
21289 : : case 2:
21290 : : if (!(
21291 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21292 : : (TARGET_SSE
21293 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21294 : : && 1
21295 : : && 1) &&
21296 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21297 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21298 : : return -1;
21299 : : return 3013; /* *sminv8hf3 */
21300 : :
21301 : : case 3:
21302 : : if (!(
21303 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21304 : : (TARGET_SSE
21305 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21306 : : && 1
21307 : : && 1) &&
21308 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21309 : : (TARGET_AVX512F)))
21310 : : return -1;
21311 : : return 3019; /* *sminv16sf3 */
21312 : :
21313 : : case 4:
21314 : : if (!(
21315 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21316 : : (TARGET_SSE
21317 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21318 : : && 1
21319 : : && 1) &&
21320 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21321 : : (TARGET_AVX)))
21322 : : return -1;
21323 : : return 3025; /* *sminv8sf3 */
21324 : :
21325 : : case 5:
21326 : : if (!
21327 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21328 : : (TARGET_SSE
21329 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21330 : : && 1
21331 : : && 1))
21332 : : return -1;
21333 : : return 3029; /* *sminv4sf3 */
21334 : :
21335 : : case 6:
21336 : : if (!(
21337 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21338 : : (TARGET_SSE
21339 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21340 : : && 1
21341 : : && 1) &&
21342 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21343 : : (TARGET_AVX512F)))
21344 : : return -1;
21345 : : return 3035; /* *sminv8df3 */
21346 : :
21347 : : case 7:
21348 : : if (!(
21349 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21350 : : (TARGET_SSE
21351 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21352 : : && 1
21353 : : && 1) &&
21354 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21355 : : (TARGET_AVX)))
21356 : : return -1;
21357 : : return 3041; /* *sminv4df3 */
21358 : :
21359 : : case 8:
21360 : : if (!(
21361 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21362 : : (TARGET_SSE
21363 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21364 : : && 1
21365 : : && 1) &&
21366 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21367 : : (TARGET_SSE2)))
21368 : : return -1;
21369 : : return 3045; /* *sminv2df3 */
21370 : :
21371 : : case 9:
21372 : : if (
21373 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21374 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21375 : : return 7712; /* *avx2_sminv32qi3 */
21376 : : if (!(
21377 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21378 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21379 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21380 : : (TARGET_AVX512VL)))
21381 : : return -1;
21382 : : return 7789; /* *avx512bw_sminv32qi3 */
21383 : :
21384 : : case 10:
21385 : : if (
21386 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21387 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21388 : : return 7716; /* *avx2_sminv16hi3 */
21389 : : if (!(
21390 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21391 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21392 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21393 : : (TARGET_AVX512VL)))
21394 : : return -1;
21395 : : return 7805; /* *avx512bw_sminv16hi3 */
21396 : :
21397 : : case 11:
21398 : : if (
21399 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21400 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21401 : : return 7720; /* *avx2_sminv8si3 */
21402 : : if (!(
21403 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21404 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21405 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21406 : : (TARGET_AVX512VL)))
21407 : : return -1;
21408 : : return 7733; /* *avx512f_sminv8si3 */
21409 : :
21410 : : case 12:
21411 : : if (!
21412 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21413 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21414 : : return -1;
21415 : : return 7725; /* *avx512f_sminv16si3 */
21416 : :
21417 : : case 13:
21418 : : if (nonimmediate_operand (operands[1], E_V4SImode)
21419 : : && nonimmediate_operand (operands[2], E_V4SImode)
21420 : : && (
21421 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21422 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21423 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21424 : : (TARGET_AVX512VL)))
21425 : : return 7741; /* *avx512f_sminv4si3 */
21426 : : if (!vector_operand (operands[1], E_V4SImode)
21427 : : || !vector_operand (operands[2], E_V4SImode)
21428 : : || !
21429 : : #line 17843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21430 : : (TARGET_SSE4_1
21431 : : && 1
21432 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21433 : : return -1;
21434 : : return 7825; /* *sse4_1_sminv4si3 */
21435 : :
21436 : : case 14:
21437 : : if (!
21438 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21439 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21440 : : return -1;
21441 : : return 7749; /* *avx512f_sminv8di3 */
21442 : :
21443 : : case 15:
21444 : : if (!(
21445 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21446 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21447 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21448 : : (TARGET_AVX512VL)))
21449 : : return -1;
21450 : : return 7757; /* *avx512f_sminv4di3 */
21451 : :
21452 : : case 16:
21453 : : if (!(
21454 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21455 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21456 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21457 : : (TARGET_AVX512VL)))
21458 : : return -1;
21459 : : return 7765; /* *avx512f_sminv2di3 */
21460 : :
21461 : : case 17:
21462 : : if (!
21463 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21464 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21465 : : return -1;
21466 : : return 7773; /* *avx512bw_sminv64qi3 */
21467 : :
21468 : : case 18:
21469 : : if (nonimmediate_operand (operands[1], E_V16QImode)
21470 : : && nonimmediate_operand (operands[2], E_V16QImode)
21471 : : && (
21472 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21473 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21474 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21475 : : (TARGET_AVX512VL)))
21476 : : return 7781; /* *avx512bw_sminv16qi3 */
21477 : : if (!vector_operand (operands[1], E_V16QImode)
21478 : : || !vector_operand (operands[2], E_V16QImode)
21479 : : || !
21480 : : #line 17843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21481 : : (TARGET_SSE4_1
21482 : : && 1
21483 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21484 : : return -1;
21485 : : return 7821; /* *sse4_1_sminv16qi3 */
21486 : :
21487 : : case 19:
21488 : : if (!
21489 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21490 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21491 : : return -1;
21492 : : return 7797; /* *avx512bw_sminv32hi3 */
21493 : :
21494 : : case 20:
21495 : : if (nonimmediate_operand (operands[1], E_V8HImode)
21496 : : && nonimmediate_operand (operands[2], E_V8HImode)
21497 : : && (
21498 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21499 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21500 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21501 : : (TARGET_AVX512VL)))
21502 : : return 7813; /* *avx512bw_sminv8hi3 */
21503 : : if (!vector_operand (operands[1], E_V8HImode)
21504 : : || !vector_operand (operands[2], E_V8HImode)
21505 : : || !
21506 : : #line 17862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21507 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21508 : : return -1;
21509 : : return 7828; /* *sminv8hi3 */
21510 : :
21511 : : case 21:
21512 : : if (!
21513 : : #line 32259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21514 : : (TARGET_AVX10_2))
21515 : : return -1;
21516 : : return 10566; /* avx10_2_sminbf16_v32bf */
21517 : :
21518 : : case 22:
21519 : : if (!
21520 : : #line 32259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21521 : : (TARGET_AVX10_2))
21522 : : return -1;
21523 : : return 10570; /* avx10_2_sminbf16_v16bf */
21524 : :
21525 : : case 23:
21526 : : if (!
21527 : : #line 32259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21528 : : (TARGET_AVX10_2))
21529 : : return -1;
21530 : : return 10574; /* avx10_2_sminbf16_v8bf */
21531 : :
21532 : : default:
21533 : : return -1;
21534 : : }
21535 : : }
21536 : :
21537 : : int
21538 : : recog_348 (rtx x1 ATTRIBUTE_UNUSED,
21539 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21540 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21541 : : {
21542 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21543 : : int res ATTRIBUTE_UNUSED;
21544 : : switch (pattern31 (x1))
21545 : : {
21546 : : case 0:
21547 : : if (
21548 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21549 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21550 : : return 7713; /* *avx2_umaxv32qi3 */
21551 : : if (!(
21552 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21553 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21554 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21555 : : (TARGET_AVX512VL)))
21556 : : return -1;
21557 : : return 7791; /* *avx512bw_umaxv32qi3 */
21558 : :
21559 : : case 1:
21560 : : if (
21561 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21562 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21563 : : return 7717; /* *avx2_umaxv16hi3 */
21564 : : if (!(
21565 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21566 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21567 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21568 : : (TARGET_AVX512VL)))
21569 : : return -1;
21570 : : return 7807; /* *avx512bw_umaxv16hi3 */
21571 : :
21572 : : case 2:
21573 : : if (
21574 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21575 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21576 : : return 7721; /* *avx2_umaxv8si3 */
21577 : : if (!(
21578 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21579 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21580 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21581 : : (TARGET_AVX512VL)))
21582 : : return -1;
21583 : : return 7735; /* *avx512f_umaxv8si3 */
21584 : :
21585 : : case 3:
21586 : : if (!
21587 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21588 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21589 : : return -1;
21590 : : return 7727; /* *avx512f_umaxv16si3 */
21591 : :
21592 : : case 4:
21593 : : if (nonimmediate_operand (operands[1], E_V4SImode)
21594 : : && nonimmediate_operand (operands[2], E_V4SImode)
21595 : : && (
21596 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21597 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21598 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21599 : : (TARGET_AVX512VL)))
21600 : : return 7743; /* *avx512f_umaxv4si3 */
21601 : : if (!vector_operand (operands[1], E_V4SImode)
21602 : : || !vector_operand (operands[2], E_V4SImode)
21603 : : || !
21604 : : #line 17927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21605 : : (TARGET_SSE4_1
21606 : : && 1
21607 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21608 : : return -1;
21609 : : return 7833; /* *sse4_1_umaxv4si3 */
21610 : :
21611 : : case 5:
21612 : : if (!
21613 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21614 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21615 : : return -1;
21616 : : return 7751; /* *avx512f_umaxv8di3 */
21617 : :
21618 : : case 6:
21619 : : if (!(
21620 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21621 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21622 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21623 : : (TARGET_AVX512VL)))
21624 : : return -1;
21625 : : return 7759; /* *avx512f_umaxv4di3 */
21626 : :
21627 : : case 7:
21628 : : if (!(
21629 : : #line 17740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21630 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21631 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21632 : : (TARGET_AVX512VL)))
21633 : : return -1;
21634 : : return 7767; /* *avx512f_umaxv2di3 */
21635 : :
21636 : : case 8:
21637 : : if (!
21638 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21639 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21640 : : return -1;
21641 : : return 7775; /* *avx512bw_umaxv64qi3 */
21642 : :
21643 : : case 9:
21644 : : if (nonimmediate_operand (operands[1], E_V16QImode)
21645 : : && nonimmediate_operand (operands[2], E_V16QImode)
21646 : : && (
21647 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21648 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21649 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21650 : : (TARGET_AVX512VL)))
21651 : : return 7783; /* *avx512bw_umaxv16qi3 */
21652 : : if (!vector_operand (operands[1], E_V16QImode)
21653 : : || !vector_operand (operands[2], E_V16QImode)
21654 : : || !
21655 : : #line 17946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21656 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21657 : : return -1;
21658 : : return 7837; /* *umaxv16qi3 */
21659 : :
21660 : : case 10:
21661 : : if (!
21662 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21663 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21664 : : return -1;
21665 : : return 7799; /* *avx512bw_umaxv32hi3 */
21666 : :
21667 : : case 11:
21668 : : if (nonimmediate_operand (operands[1], E_V8HImode)
21669 : : && nonimmediate_operand (operands[2], E_V8HImode)
21670 : : && (
21671 : : #line 17751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21672 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21673 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21674 : : (TARGET_AVX512VL)))
21675 : : return 7815; /* *avx512bw_umaxv8hi3 */
21676 : : if (!vector_operand (operands[1], E_V8HImode)
21677 : : || !vector_operand (operands[2], E_V8HImode)
21678 : : || !
21679 : : #line 17927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21680 : : (TARGET_SSE4_1
21681 : : && 1
21682 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21683 : : return -1;
21684 : : return 7829; /* *sse4_1_umaxv8hi3 */
21685 : :
21686 : : default:
21687 : : return -1;
21688 : : }
21689 : : }
21690 : :
21691 : : int
21692 : : recog_357 (rtx x1 ATTRIBUTE_UNUSED,
21693 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21694 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21695 : : {
21696 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21697 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21698 : : rtx x10;
21699 : : int res ATTRIBUTE_UNUSED;
21700 : : x2 = XVECEXP (x1, 0, 0);
21701 : : x3 = XEXP (x2, 0);
21702 : : operands[0] = x3;
21703 : : x4 = XVECEXP (x1, 0, 1);
21704 : : switch (GET_CODE (x4))
21705 : : {
21706 : : case CLOBBER:
21707 : : x5 = XEXP (x2, 1);
21708 : : operands[1] = x5;
21709 : : x6 = XEXP (x4, 0);
21710 : : switch (GET_CODE (x6))
21711 : : {
21712 : : case MEM:
21713 : : if (GET_MODE (x6) != E_BLKmode)
21714 : : return -1;
21715 : : x7 = XEXP (x6, 0);
21716 : : if (GET_CODE (x7) != SCRATCH)
21717 : : return -1;
21718 : : switch (GET_MODE (operands[0]))
21719 : : {
21720 : : case E_SImode:
21721 : : if (push_operand (operands[0], E_SImode)
21722 : : && general_no_elim_operand (operands[1], E_SImode)
21723 : : &&
21724 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21725 : : (word_mode == SImode))
21726 : : return 78; /* *pushsi2_prologue */
21727 : : if (!nonimmediate_operand (operands[0], E_SImode)
21728 : : || !pop_operand (operands[1], E_SImode)
21729 : : || !
21730 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21731 : : (word_mode == SImode))
21732 : : return -1;
21733 : : return 82; /* *popsi1_epilogue */
21734 : :
21735 : : case E_DImode:
21736 : : if (push_operand (operands[0], E_DImode)
21737 : : && general_no_elim_operand (operands[1], E_DImode)
21738 : : &&
21739 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21740 : : (word_mode == DImode))
21741 : : return 79; /* *pushdi2_prologue */
21742 : : if (!nonimmediate_operand (operands[0], E_DImode)
21743 : : || !pop_operand (operands[1], E_DImode)
21744 : : || !
21745 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21746 : : (word_mode == DImode))
21747 : : return -1;
21748 : : return 83; /* *popdi1_epilogue */
21749 : :
21750 : : default:
21751 : : return -1;
21752 : : }
21753 : :
21754 : : case REG:
21755 : : if (REGNO (x6) != 17
21756 : : || GET_MODE (x6) != E_CCmode)
21757 : : return -1;
21758 : : switch (GET_MODE (operands[0]))
21759 : : {
21760 : : case E_SImode:
21761 : : if (const0_operand (operands[1], E_SImode))
21762 : : {
21763 : : if (register_operand (operands[0], E_SImode)
21764 : : &&
21765 : : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21766 : : (reload_completed))
21767 : : return 88; /* *movsi_xor */
21768 : : if (memory_operand (operands[0], E_SImode)
21769 : : &&
21770 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21771 : : (reload_completed))
21772 : : return 91; /* *movsi_and */
21773 : : }
21774 : : if (!nonimmediate_operand (operands[0], E_SImode)
21775 : : || !constm1_operand (operands[1], E_SImode)
21776 : : || !
21777 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21778 : : (reload_completed))
21779 : : return -1;
21780 : : return 94; /* *movsi_or */
21781 : :
21782 : : case E_DImode:
21783 : : if (const0_operand (operands[1], E_DImode))
21784 : : {
21785 : : if (register_operand (operands[0], E_DImode)
21786 : : && (
21787 : : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21788 : : (reload_completed) &&
21789 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21790 : : (TARGET_64BIT)))
21791 : : return 89; /* *movdi_xor */
21792 : : if (memory_operand (operands[0], E_DImode)
21793 : : && (
21794 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21795 : : (reload_completed) &&
21796 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21797 : : (TARGET_64BIT)))
21798 : : return 92; /* *movdi_and */
21799 : : }
21800 : : if (!nonimmediate_operand (operands[0], E_DImode)
21801 : : || !constm1_operand (operands[1], E_DImode)
21802 : : || !(
21803 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21804 : : (reload_completed) &&
21805 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21806 : : (TARGET_64BIT)))
21807 : : return -1;
21808 : : return 95; /* *movdi_or */
21809 : :
21810 : : case E_HImode:
21811 : : if (memory_operand (operands[0], E_HImode)
21812 : : && const0_operand (operands[1], E_HImode)
21813 : : &&
21814 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21815 : : (reload_completed))
21816 : : return 90; /* *movhi_and */
21817 : : if (!nonimmediate_operand (operands[0], E_HImode)
21818 : : || !constm1_operand (operands[1], E_HImode)
21819 : : || !
21820 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21821 : : (reload_completed))
21822 : : return -1;
21823 : : return 93; /* *movhi_or */
21824 : :
21825 : : default:
21826 : : return -1;
21827 : : }
21828 : :
21829 : : default:
21830 : : return -1;
21831 : : }
21832 : :
21833 : : case SET:
21834 : : x8 = XEXP (x4, 1);
21835 : : switch (GET_CODE (x8))
21836 : : {
21837 : : case REG:
21838 : : case SUBREG:
21839 : : if (!rtx_equal_p (x8, operands[0]))
21840 : : return -1;
21841 : : x5 = XEXP (x2, 1);
21842 : : operands[1] = x5;
21843 : : x6 = XEXP (x4, 0);
21844 : : if (!rtx_equal_p (x6, operands[1]))
21845 : : return -1;
21846 : : switch (GET_MODE (operands[0]))
21847 : : {
21848 : : case E_SImode:
21849 : : if (!register_operand (operands[0], E_SImode)
21850 : : || !register_operand (operands[1], E_SImode))
21851 : : return -1;
21852 : : return 111; /* swapsi */
21853 : :
21854 : : case E_DImode:
21855 : : if (!register_operand (operands[0], E_DImode)
21856 : : || !register_operand (operands[1], E_DImode)
21857 : : || !
21858 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21859 : : (TARGET_64BIT))
21860 : : return -1;
21861 : : return 112; /* swapdi */
21862 : :
21863 : : case E_QImode:
21864 : : if (!register_operand (operands[0], E_QImode)
21865 : : || !register_operand (operands[1], E_QImode))
21866 : : return -1;
21867 : : return 113; /* *swapqi */
21868 : :
21869 : : case E_HImode:
21870 : : if (!register_operand (operands[0], E_HImode)
21871 : : || !register_operand (operands[1], E_HImode))
21872 : : return -1;
21873 : : return 114; /* *swaphi */
21874 : :
21875 : : case E_XFmode:
21876 : : if (!register_operand (operands[0], E_XFmode)
21877 : : || !register_operand (operands[1], E_XFmode)
21878 : : || !
21879 : : #line 4655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21880 : : (TARGET_80387))
21881 : : return -1;
21882 : : return 177; /* *swapxf */
21883 : :
21884 : : default:
21885 : : return -1;
21886 : : }
21887 : :
21888 : : case UNSPEC:
21889 : : if (XVECLEN (x8, 0) != 1
21890 : : || XINT (x8, 1) != 73
21891 : : || GET_MODE (x8) != E_XFmode
21892 : : || !register_operand (operands[0], E_SFmode))
21893 : : return -1;
21894 : : x5 = XEXP (x2, 1);
21895 : : operands[3] = x5;
21896 : : if (!const1_operand (operands[3], E_SFmode))
21897 : : return -1;
21898 : : x6 = XEXP (x4, 0);
21899 : : operands[1] = x6;
21900 : : if (!register_operand (operands[1], E_XFmode))
21901 : : return -1;
21902 : : x9 = XVECEXP (x8, 0, 0);
21903 : : operands[2] = x9;
21904 : : if (!register_operand (operands[2], E_XFmode)
21905 : : || !
21906 : : #line 24260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21907 : : (TARGET_USE_FANCY_MATH_387
21908 : : && flag_unsafe_math_optimizations))
21909 : : return -1;
21910 : : return 1726; /* fptanxf4_i387 */
21911 : :
21912 : : default:
21913 : : return -1;
21914 : : }
21915 : :
21916 : : case UNSPEC:
21917 : : if (XVECLEN (x4, 0) != 1
21918 : : || XINT (x4, 1) != 109
21919 : : || GET_MODE (x4) != E_DImode)
21920 : : return -1;
21921 : : x10 = XVECEXP (x4, 0, 0);
21922 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21923 : : return -1;
21924 : : x5 = XEXP (x2, 1);
21925 : : operands[1] = x5;
21926 : : if (register_operand (operands[1], E_DImode)
21927 : : && push_operand (operands[0], E_DImode)
21928 : : &&
21929 : : #line 3921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21930 : : (TARGET_64BIT))
21931 : : return 165; /* pushp_di */
21932 : : if (!pop_operand (operands[1], E_DImode)
21933 : : || !register_operand (operands[0], E_DImode)
21934 : : || !
21935 : : #line 3929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21936 : : (TARGET_APX_PPX))
21937 : : return -1;
21938 : : return 166; /* popp_di */
21939 : :
21940 : : default:
21941 : : return -1;
21942 : : }
21943 : : }
21944 : :
21945 : : int
21946 : : recog_370 (rtx x1 ATTRIBUTE_UNUSED,
21947 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21948 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21949 : : {
21950 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21951 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21952 : : int res ATTRIBUTE_UNUSED;
21953 : : x2 = XVECEXP (x1, 0, 0);
21954 : : x3 = XEXP (x2, 1);
21955 : : switch (XINT (x3, 1))
21956 : : {
21957 : : case 107:
21958 : : if (pattern529 (x1) != 0)
21959 : : return -1;
21960 : : x4 = XEXP (x2, 0);
21961 : : operands[0] = x4;
21962 : : if (!register_operand (operands[0], E_DImode))
21963 : : return -1;
21964 : : x5 = XVECEXP (x3, 0, 0);
21965 : : operands[1] = x5;
21966 : : if (!pop_operand (operands[1], E_TImode))
21967 : : return -1;
21968 : : x6 = XVECEXP (x1, 0, 1);
21969 : : x7 = XEXP (x6, 0);
21970 : : operands[2] = x7;
21971 : : if (!register_operand (operands[2], E_DImode)
21972 : : || !
21973 : : #line 3912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21974 : : (TARGET_APX_PUSH2POP2))
21975 : : return -1;
21976 : : return 164; /* pop2_di */
21977 : :
21978 : : case 15:
21979 : : if (GET_MODE (x3) != E_SImode)
21980 : : return -1;
21981 : : x6 = XVECEXP (x1, 0, 1);
21982 : : if (GET_CODE (x6) != CLOBBER
21983 : : || pattern799 (x1,
21984 : : E_SImode) != 0)
21985 : : return -1;
21986 : : x5 = XVECEXP (x3, 0, 0);
21987 : : switch (GET_CODE (x5))
21988 : : {
21989 : : case CONST_INT:
21990 : : if (XWINT (x5, 0) != 0L
21991 : : || !
21992 : : #line 20906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21993 : : (!TARGET_64BIT))
21994 : : return -1;
21995 : : return 1502; /* *set_got */
21996 : :
21997 : : case LABEL_REF:
21998 : : x8 = XEXP (x5, 0);
21999 : : operands[1] = x8;
22000 : : if (!
22001 : : #line 20928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22002 : : (!TARGET_64BIT))
22003 : : return -1;
22004 : : return 1503; /* *set_got_labelled */
22005 : :
22006 : : default:
22007 : : return -1;
22008 : : }
22009 : :
22010 : : case 98:
22011 : : switch (pattern532 (x1))
22012 : : {
22013 : : case 0:
22014 : : if (!
22015 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22016 : : (TARGET_BMI))
22017 : : return -1;
22018 : : return 1556; /* tzcnt_si */
22019 : :
22020 : : case 1:
22021 : : if (!(((
22022 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22023 : : (TARGET_64BIT) &&
22024 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22025 : : (TARGET_BMI)) &&
22026 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22027 : : (TARGET_64BIT)) &&
22028 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22029 : : (TARGET_BMI)))
22030 : : return -1;
22031 : : return 1558; /* tzcnt_di */
22032 : :
22033 : : case 2:
22034 : : if (!(
22035 : : #line 21872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22036 : : (true) &&
22037 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22038 : : (TARGET_BMI)))
22039 : : return -1;
22040 : : return 1569; /* tzcnt_hi */
22041 : :
22042 : : case 3:
22043 : : if ((
22044 : : #line 21846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22045 : : (TARGET_APX_NF) &&
22046 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22047 : : (TARGET_BMI)))
22048 : : return 1560; /* *tzcnt_si_falsedep_nf */
22049 : : if (pnum_clobbers == NULL
22050 : : || !
22051 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22052 : : (TARGET_BMI))
22053 : : return -1;
22054 : : *pnum_clobbers = 1;
22055 : : return 1564; /* *tzcnt_si_falsedep */
22056 : :
22057 : : case 4:
22058 : : if ((
22059 : : #line 21846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22060 : : (TARGET_APX_NF) && ((
22061 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22062 : : (TARGET_64BIT) &&
22063 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22064 : : (TARGET_BMI)) &&
22065 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22066 : : (TARGET_64BIT))))
22067 : : return 1562; /* *tzcnt_di_falsedep_nf */
22068 : : if (pnum_clobbers == NULL
22069 : : || !((
22070 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22071 : : (TARGET_64BIT) &&
22072 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22073 : : (TARGET_BMI)) &&
22074 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22075 : : (TARGET_64BIT)))
22076 : : return -1;
22077 : : *pnum_clobbers = 1;
22078 : : return 1566; /* *tzcnt_di_falsedep */
22079 : :
22080 : : default:
22081 : : return -1;
22082 : : }
22083 : :
22084 : : case 97:
22085 : : switch (pattern532 (x1))
22086 : : {
22087 : : case 0:
22088 : : if (!
22089 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22090 : : (TARGET_LZCNT))
22091 : : return -1;
22092 : : return 1557; /* lzcnt_si */
22093 : :
22094 : : case 1:
22095 : : if (!(((
22096 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22097 : : (TARGET_64BIT) &&
22098 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22099 : : (TARGET_LZCNT)) &&
22100 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22101 : : (TARGET_64BIT)) &&
22102 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22103 : : (TARGET_LZCNT)))
22104 : : return -1;
22105 : : return 1559; /* lzcnt_di */
22106 : :
22107 : : case 2:
22108 : : if (!(
22109 : : #line 21872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22110 : : (true) &&
22111 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22112 : : (TARGET_LZCNT)))
22113 : : return -1;
22114 : : return 1571; /* lzcnt_hi */
22115 : :
22116 : : case 3:
22117 : : if ((
22118 : : #line 21846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22119 : : (TARGET_APX_NF) &&
22120 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22121 : : (TARGET_LZCNT)))
22122 : : return 1561; /* *lzcnt_si_falsedep_nf */
22123 : : if (pnum_clobbers == NULL
22124 : : || !
22125 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22126 : : (TARGET_LZCNT))
22127 : : return -1;
22128 : : *pnum_clobbers = 1;
22129 : : return 1565; /* *lzcnt_si_falsedep */
22130 : :
22131 : : case 4:
22132 : : if ((
22133 : : #line 21846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22134 : : (TARGET_APX_NF) && ((
22135 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22136 : : (TARGET_64BIT) &&
22137 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22138 : : (TARGET_LZCNT)) &&
22139 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22140 : : (TARGET_64BIT))))
22141 : : return 1563; /* *lzcnt_di_falsedep_nf */
22142 : : if (pnum_clobbers == NULL
22143 : : || !((
22144 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22145 : : (TARGET_64BIT) &&
22146 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22147 : : (TARGET_LZCNT)) &&
22148 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22149 : : (TARGET_64BIT)))
22150 : : return -1;
22151 : : *pnum_clobbers = 1;
22152 : : return 1567; /* *lzcnt_di_falsedep */
22153 : :
22154 : : default:
22155 : : return -1;
22156 : : }
22157 : :
22158 : : case 28:
22159 : : if (GET_MODE (x3) != E_CCmode
22160 : : || pattern667 (x1,
22161 : : CLOBBER,
22162 : : E_CCmode) != 0)
22163 : : return -1;
22164 : : x5 = XVECEXP (x3, 0, 0);
22165 : : operands[0] = x5;
22166 : : if (!register_operand (operands[0], E_HImode))
22167 : : return -1;
22168 : : x6 = XVECEXP (x1, 0, 1);
22169 : : x7 = XEXP (x6, 0);
22170 : : if (!rtx_equal_p (x7, operands[0]))
22171 : : return -1;
22172 : : return 1653; /* parityhi2_cmp */
22173 : :
22174 : : case 81:
22175 : : if (pattern533 (x1,
22176 : : 82) != 0
22177 : : || !
22178 : : #line 24227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22179 : : (TARGET_USE_FANCY_MATH_387
22180 : : && flag_unsafe_math_optimizations))
22181 : : return -1;
22182 : : return 1725; /* sincosxf3 */
22183 : :
22184 : : case 83:
22185 : : if (pattern533 (x1,
22186 : : 84) != 0
22187 : : || !
22188 : : #line 24742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22189 : : (TARGET_USE_FANCY_MATH_387
22190 : : && flag_unsafe_math_optimizations))
22191 : : return -1;
22192 : : return 1730; /* fxtractxf3_i387 */
22193 : :
22194 : : case 71:
22195 : : if (GET_MODE (x3) != E_DImode)
22196 : : return -1;
22197 : : x6 = XVECEXP (x1, 0, 1);
22198 : : if (GET_CODE (x6) != CLOBBER)
22199 : : return -1;
22200 : : x4 = XEXP (x2, 0);
22201 : : operands[0] = x4;
22202 : : if (!nonimmediate_operand (operands[0], E_DImode))
22203 : : return -1;
22204 : : x5 = XVECEXP (x3, 0, 0);
22205 : : operands[1] = x5;
22206 : : if (!register_operand (operands[1], E_XFmode))
22207 : : return -1;
22208 : : x7 = XEXP (x6, 0);
22209 : : operands[2] = x7;
22210 : : if (!scratch_operand (operands[2], E_XFmode)
22211 : : || !
22212 : : #line 25288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22213 : : (TARGET_USE_FANCY_MATH_387))
22214 : : return -1;
22215 : : return 1739; /* lrintxfdi2 */
22216 : :
22217 : : case 75:
22218 : : if (pattern534 (x1) != 0
22219 : : || !
22220 : : #line 25387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22221 : : (TARGET_USE_FANCY_MATH_387
22222 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22223 : : && ix86_pre_reload_split ()))
22224 : : return -1;
22225 : : return 1742; /* frndintxf2_roundeven */
22226 : :
22227 : : case 76:
22228 : : if (pattern534 (x1) != 0
22229 : : || !
22230 : : #line 25387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22231 : : (TARGET_USE_FANCY_MATH_387
22232 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22233 : : && ix86_pre_reload_split ()))
22234 : : return -1;
22235 : : return 1743; /* frndintxf2_floor */
22236 : :
22237 : : case 77:
22238 : : if (pattern534 (x1) != 0
22239 : : || !
22240 : : #line 25387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22241 : : (TARGET_USE_FANCY_MATH_387
22242 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22243 : : && ix86_pre_reload_split ()))
22244 : : return -1;
22245 : : return 1744; /* frndintxf2_ceil */
22246 : :
22247 : : case 78:
22248 : : if (pattern534 (x1) != 0
22249 : : || !
22250 : : #line 25387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22251 : : (TARGET_USE_FANCY_MATH_387
22252 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22253 : : && ix86_pre_reload_split ()))
22254 : : return -1;
22255 : : return 1745; /* frndintxf2_trunc */
22256 : :
22257 : : case 79:
22258 : : switch (pattern536 (x1))
22259 : : {
22260 : : case 0:
22261 : : if (!
22262 : : #line 25504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22263 : : (TARGET_USE_FANCY_MATH_387
22264 : : && flag_unsafe_math_optimizations
22265 : : && ix86_pre_reload_split ()))
22266 : : return -1;
22267 : : return 1750; /* *fisthi2_floor_1 */
22268 : :
22269 : : case 1:
22270 : : if (!
22271 : : #line 25504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22272 : : (TARGET_USE_FANCY_MATH_387
22273 : : && flag_unsafe_math_optimizations
22274 : : && ix86_pre_reload_split ()))
22275 : : return -1;
22276 : : return 1752; /* *fistsi2_floor_1 */
22277 : :
22278 : : case 2:
22279 : : if (!
22280 : : #line 25504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22281 : : (TARGET_USE_FANCY_MATH_387
22282 : : && flag_unsafe_math_optimizations
22283 : : && ix86_pre_reload_split ()))
22284 : : return -1;
22285 : : return 1754; /* *fistdi2_floor_1 */
22286 : :
22287 : : default:
22288 : : return -1;
22289 : : }
22290 : :
22291 : : case 80:
22292 : : switch (pattern536 (x1))
22293 : : {
22294 : : case 0:
22295 : : if (!
22296 : : #line 25504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22297 : : (TARGET_USE_FANCY_MATH_387
22298 : : && flag_unsafe_math_optimizations
22299 : : && ix86_pre_reload_split ()))
22300 : : return -1;
22301 : : return 1751; /* *fisthi2_ceil_1 */
22302 : :
22303 : : case 1:
22304 : : if (!
22305 : : #line 25504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22306 : : (TARGET_USE_FANCY_MATH_387
22307 : : && flag_unsafe_math_optimizations
22308 : : && ix86_pre_reload_split ()))
22309 : : return -1;
22310 : : return 1753; /* *fistsi2_ceil_1 */
22311 : :
22312 : : case 2:
22313 : : if (!
22314 : : #line 25504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22315 : : (TARGET_USE_FANCY_MATH_387
22316 : : && flag_unsafe_math_optimizations
22317 : : && ix86_pre_reload_split ()))
22318 : : return -1;
22319 : : return 1755; /* *fistdi2_ceil_1 */
22320 : :
22321 : : default:
22322 : : return -1;
22323 : : }
22324 : :
22325 : : case 19:
22326 : : if (pattern337 (x1) != 0)
22327 : : return -1;
22328 : : x5 = XVECEXP (x3, 0, 0);
22329 : : operands[1] = x5;
22330 : : switch (GET_MODE (operands[0]))
22331 : : {
22332 : : case E_SImode:
22333 : : if (!memory_operand (operands[0], E_SImode)
22334 : : || GET_MODE (x3) != E_SImode
22335 : : || !const0_operand (operands[1], E_SImode)
22336 : : || !
22337 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22338 : : (word_mode == SImode))
22339 : : return -1;
22340 : : return 1869; /* probe_stack_1_si */
22341 : :
22342 : : case E_DImode:
22343 : : if (!memory_operand (operands[0], E_DImode)
22344 : : || GET_MODE (x3) != E_DImode
22345 : : || !const0_operand (operands[1], E_DImode)
22346 : : || !
22347 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22348 : : (word_mode == DImode))
22349 : : return -1;
22350 : : return 1870; /* probe_stack_1_di */
22351 : :
22352 : : default:
22353 : : return -1;
22354 : : }
22355 : :
22356 : : case 93:
22357 : : x6 = XVECEXP (x1, 0, 1);
22358 : : if (GET_CODE (x6) != SET)
22359 : : return -1;
22360 : : if (pnum_clobbers != NULL)
22361 : : {
22362 : : res = recog_366 (x1, insn, pnum_clobbers);
22363 : : if (res >= 0)
22364 : : return res;
22365 : : }
22366 : : x4 = XEXP (x2, 0);
22367 : : operands[0] = x4;
22368 : : x5 = XVECEXP (x3, 0, 0);
22369 : : operands[3] = x5;
22370 : : x7 = XEXP (x6, 0);
22371 : : operands[1] = x7;
22372 : : x9 = XEXP (x6, 1);
22373 : : operands[2] = x9;
22374 : : switch (GET_MODE (operands[0]))
22375 : : {
22376 : : case E_SImode:
22377 : : switch (pattern1223 (x3,
22378 : : E_SImode))
22379 : : {
22380 : : case 0:
22381 : : if (general_operand (operands[2], E_SImode)
22382 : : && (
22383 : : #line 27727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22384 : : (reload_completed) &&
22385 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22386 : : (ptr_mode == SImode)))
22387 : : return 1879; /* *stack_protect_set_2_si_si */
22388 : : if (address_no_seg_operand (operands[2], E_SImode)
22389 : : &&
22390 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22391 : : (ptr_mode == SImode))
22392 : : return 1883; /* *stack_protect_set_3_si_si */
22393 : : break;
22394 : :
22395 : : case 1:
22396 : : if (general_operand (operands[2], E_DImode)
22397 : : && (
22398 : : #line 27746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22399 : : (TARGET_64BIT && reload_completed) &&
22400 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22401 : : (ptr_mode == SImode)))
22402 : : return 1881; /* *stack_protect_set_2_si_di */
22403 : : if (address_no_seg_operand (operands[2], E_DImode)
22404 : : && ((
22405 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22406 : : (ptr_mode == SImode) &&
22407 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22408 : : (TARGET_64BIT)) &&
22409 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22410 : : (TARGET_64BIT)))
22411 : : return 1884; /* *stack_protect_set_3_si_di */
22412 : : break;
22413 : :
22414 : : default:
22415 : : break;
22416 : : }
22417 : : break;
22418 : :
22419 : : case E_DImode:
22420 : : switch (pattern1223 (x3,
22421 : : E_DImode))
22422 : : {
22423 : : case 0:
22424 : : if (general_operand (operands[2], E_SImode)
22425 : : && (
22426 : : #line 27727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22427 : : (reload_completed) &&
22428 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22429 : : (ptr_mode == DImode)))
22430 : : return 1880; /* *stack_protect_set_2_di_si */
22431 : : if (address_no_seg_operand (operands[2], E_SImode)
22432 : : &&
22433 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22434 : : (ptr_mode == DImode))
22435 : : return 1885; /* *stack_protect_set_3_di_si */
22436 : : break;
22437 : :
22438 : : case 1:
22439 : : if (general_operand (operands[2], E_DImode)
22440 : : && (
22441 : : #line 27746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22442 : : (TARGET_64BIT && reload_completed) &&
22443 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22444 : : (ptr_mode == DImode)))
22445 : : return 1882; /* *stack_protect_set_2_di_di */
22446 : : if (address_no_seg_operand (operands[2], E_DImode)
22447 : : && ((
22448 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22449 : : (ptr_mode == DImode) &&
22450 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22451 : : (TARGET_64BIT)) &&
22452 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22453 : : (TARGET_64BIT)))
22454 : : return 1886; /* *stack_protect_set_3_di_di */
22455 : : break;
22456 : :
22457 : : default:
22458 : : break;
22459 : : }
22460 : : break;
22461 : :
22462 : : default:
22463 : : break;
22464 : : }
22465 : : if (!register_operand (operands[1], E_DImode)
22466 : : || GET_MODE (x9) != E_DImode)
22467 : : return -1;
22468 : : switch (GET_CODE (x9))
22469 : : {
22470 : : case ZERO_EXTEND:
22471 : : switch (pattern1305 (x1))
22472 : : {
22473 : : case 0:
22474 : : if (!(
22475 : : #line 27840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22476 : : (TARGET_64BIT && reload_completed) &&
22477 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22478 : : (ptr_mode == SImode)))
22479 : : return -1;
22480 : : return 1887; /* *stack_protect_set_4z_si_di */
22481 : :
22482 : : case 1:
22483 : : if (!(
22484 : : #line 27840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22485 : : (TARGET_64BIT && reload_completed) &&
22486 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22487 : : (ptr_mode == DImode)))
22488 : : return -1;
22489 : : return 1888; /* *stack_protect_set_4z_di_di */
22490 : :
22491 : : default:
22492 : : return -1;
22493 : : }
22494 : :
22495 : : case SIGN_EXTEND:
22496 : : switch (pattern1305 (x1))
22497 : : {
22498 : : case 0:
22499 : : if (!(
22500 : : #line 27858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22501 : : (TARGET_64BIT && reload_completed) &&
22502 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22503 : : (ptr_mode == SImode)))
22504 : : return -1;
22505 : : return 1889; /* *stack_protect_set_4s_si_di */
22506 : :
22507 : : case 1:
22508 : : if (!(
22509 : : #line 27858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22510 : : (TARGET_64BIT && reload_completed) &&
22511 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22512 : : (ptr_mode == DImode)))
22513 : : return -1;
22514 : : return 1890; /* *stack_protect_set_4s_di_di */
22515 : :
22516 : : default:
22517 : : return -1;
22518 : : }
22519 : :
22520 : : default:
22521 : : return -1;
22522 : : }
22523 : :
22524 : : case 119:
22525 : : if (GET_MODE (x3) != E_V4SImode)
22526 : : return -1;
22527 : : x6 = XVECEXP (x1, 0, 1);
22528 : : if (GET_CODE (x6) != CLOBBER)
22529 : : return -1;
22530 : : x4 = XEXP (x2, 0);
22531 : : operands[0] = x4;
22532 : : if (!register_operand (operands[0], E_V4SImode))
22533 : : return -1;
22534 : : x5 = XVECEXP (x3, 0, 0);
22535 : : operands[1] = x5;
22536 : : if (!nonimmediate_operand (operands[1], E_DImode))
22537 : : return -1;
22538 : : x7 = XEXP (x6, 0);
22539 : : operands[2] = x7;
22540 : : if (!scratch_operand (operands[2], E_V4SImode)
22541 : : || !
22542 : : #line 1882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22543 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
22544 : : return -1;
22545 : : return 2575; /* movdi_to_sse */
22546 : :
22547 : : case 283:
22548 : : if (GET_MODE (x3) != E_BLKmode
22549 : : || pattern333 (x1) != 0)
22550 : : return -1;
22551 : : x5 = XVECEXP (x3, 0, 0);
22552 : : if (!rtx_equal_p (x5, operands[0]))
22553 : : return -1;
22554 : : return 10951; /* mfence_nosse */
22555 : :
22556 : : case 288:
22557 : : if (pnum_clobbers == NULL
22558 : : || GET_MODE (x3) != E_DImode)
22559 : : return -1;
22560 : : x6 = XVECEXP (x1, 0, 1);
22561 : : if (GET_CODE (x6) != CLOBBER)
22562 : : return -1;
22563 : : x4 = XEXP (x2, 0);
22564 : : operands[0] = x4;
22565 : : if (!nonimmediate_operand (operands[0], E_DImode))
22566 : : return -1;
22567 : : x5 = XVECEXP (x3, 0, 0);
22568 : : operands[1] = x5;
22569 : : if (!memory_operand (operands[1], E_DImode))
22570 : : return -1;
22571 : : x7 = XEXP (x6, 0);
22572 : : operands[2] = x7;
22573 : : if (!memory_operand (operands[2], E_DImode)
22574 : : || !
22575 : : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
22576 : : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
22577 : : return -1;
22578 : : *pnum_clobbers = 1;
22579 : : return 10952; /* atomic_loaddi_fpu */
22580 : :
22581 : : case 289:
22582 : : if (pnum_clobbers == NULL
22583 : : || GET_MODE (x3) != E_DImode)
22584 : : return -1;
22585 : : x6 = XVECEXP (x1, 0, 1);
22586 : : if (GET_CODE (x6) != CLOBBER)
22587 : : return -1;
22588 : : x4 = XEXP (x2, 0);
22589 : : operands[0] = x4;
22590 : : if (!memory_operand (operands[0], E_DImode))
22591 : : return -1;
22592 : : x5 = XVECEXP (x3, 0, 0);
22593 : : operands[1] = x5;
22594 : : if (!nonimmediate_operand (operands[1], E_DImode))
22595 : : return -1;
22596 : : x7 = XEXP (x6, 0);
22597 : : operands[2] = x7;
22598 : : if (!memory_operand (operands[2], E_DImode)
22599 : : || !
22600 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
22601 : : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
22602 : : return -1;
22603 : : *pnum_clobbers = 1;
22604 : : return 10957; /* atomic_storedi_fpu */
22605 : :
22606 : : default:
22607 : : return -1;
22608 : : }
22609 : : }
22610 : :
22611 : : int
22612 : : recog_384 (rtx x1 ATTRIBUTE_UNUSED,
22613 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22614 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22615 : : {
22616 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22617 : : rtx x2, x3, x4, x5, x6, x7, x8;
22618 : : int res ATTRIBUTE_UNUSED;
22619 : : x2 = XVECEXP (x1, 0, 1);
22620 : : switch (GET_CODE (x2))
22621 : : {
22622 : : case CLOBBER:
22623 : : x3 = XEXP (x2, 0);
22624 : : operands[0] = x3;
22625 : : switch (GET_MODE (operands[1]))
22626 : : {
22627 : : case E_DImode:
22628 : : if (!nonimmediate_operand (operands[1], E_DImode)
22629 : : || !x86_64_immediate_operand (operands[2], E_DImode)
22630 : : || !scratch_operand (operands[0], E_DImode)
22631 : : || !
22632 : : #line 7329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22633 : : (TARGET_64BIT
22634 : : && ix86_match_ccmode (insn, CCGCmode)))
22635 : : return -1;
22636 : : return 323; /* *adddi_4 */
22637 : :
22638 : : case E_QImode:
22639 : : if (!nonimmediate_operand (operands[1], E_QImode)
22640 : : || !const_int_operand (operands[2], E_QImode)
22641 : : || !scratch_operand (operands[0], E_QImode)
22642 : : || !
22643 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22644 : : (ix86_match_ccmode (insn, CCGCmode)))
22645 : : return -1;
22646 : : return 324; /* *addqi_4 */
22647 : :
22648 : : case E_HImode:
22649 : : if (!nonimmediate_operand (operands[1], E_HImode)
22650 : : || !const_int_operand (operands[2], E_HImode)
22651 : : || !scratch_operand (operands[0], E_HImode)
22652 : : || !
22653 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22654 : : (ix86_match_ccmode (insn, CCGCmode)))
22655 : : return -1;
22656 : : return 325; /* *addhi_4 */
22657 : :
22658 : : case E_SImode:
22659 : : if (!nonimmediate_operand (operands[1], E_SImode)
22660 : : || !const_int_operand (operands[2], E_SImode)
22661 : : || !scratch_operand (operands[0], E_SImode)
22662 : : || !
22663 : : #line 7374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22664 : : (ix86_match_ccmode (insn, CCGCmode)))
22665 : : return -1;
22666 : : return 326; /* *addsi_4 */
22667 : :
22668 : : default:
22669 : : return -1;
22670 : : }
22671 : :
22672 : : case SET:
22673 : : x3 = XEXP (x2, 0);
22674 : : operands[0] = x3;
22675 : : x4 = XEXP (x2, 1);
22676 : : switch (GET_CODE (x4))
22677 : : {
22678 : : case MINUS:
22679 : : x5 = XEXP (x4, 0);
22680 : : if (!rtx_equal_p (x5, operands[1]))
22681 : : return -1;
22682 : : x6 = XEXP (x4, 1);
22683 : : if (!rtx_equal_p (x6, operands[2]))
22684 : : return -1;
22685 : : switch (GET_MODE (operands[1]))
22686 : : {
22687 : : case E_QImode:
22688 : : if (pattern1477 (x4,
22689 : : E_QImode) != 0
22690 : : || !
22691 : : #line 8647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22692 : : (ix86_match_ccmode (insn, CCmode)
22693 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
22694 : : return -1;
22695 : : return 449; /* *subqi_3 */
22696 : :
22697 : : case E_HImode:
22698 : : if (pattern1477 (x4,
22699 : : E_HImode) != 0
22700 : : || !
22701 : : #line 8647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22702 : : (ix86_match_ccmode (insn, CCmode)
22703 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
22704 : : return -1;
22705 : : return 450; /* *subhi_3 */
22706 : :
22707 : : case E_SImode:
22708 : : if (pattern1478 (x4,
22709 : : E_SImode) != 0
22710 : : || !
22711 : : #line 8647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22712 : : (ix86_match_ccmode (insn, CCmode)
22713 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22714 : : return -1;
22715 : : return 451; /* *subsi_3 */
22716 : :
22717 : : case E_DImode:
22718 : : if (pattern1478 (x4,
22719 : : E_DImode) != 0
22720 : : || !(
22721 : : #line 8647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22722 : : (ix86_match_ccmode (insn, CCmode)
22723 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22724 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22725 : : (TARGET_64BIT)))
22726 : : return -1;
22727 : : return 452; /* *subdi_3 */
22728 : :
22729 : : default:
22730 : : return -1;
22731 : : }
22732 : :
22733 : : case ZERO_EXTEND:
22734 : : if (GET_MODE (x4) != E_DImode)
22735 : : return -1;
22736 : : x5 = XEXP (x4, 0);
22737 : : if (GET_CODE (x5) != MINUS
22738 : : || GET_MODE (x5) != E_SImode
22739 : : || !nonimmediate_operand (operands[1], E_SImode)
22740 : : || !x86_64_general_operand (operands[2], E_SImode)
22741 : : || !register_operand (operands[0], E_DImode))
22742 : : return -1;
22743 : : x7 = XEXP (x5, 0);
22744 : : if (!rtx_equal_p (x7, operands[1]))
22745 : : return -1;
22746 : : x8 = XEXP (x5, 1);
22747 : : if (!rtx_equal_p (x8, operands[2])
22748 : : || !
22749 : : #line 8777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22750 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCmode)
22751 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22752 : : return -1;
22753 : : return 456; /* *subsi_3_zext */
22754 : :
22755 : : default:
22756 : : return -1;
22757 : : }
22758 : :
22759 : : default:
22760 : : return -1;
22761 : : }
22762 : : }
22763 : :
22764 : : int
22765 : : recog_390 (rtx x1 ATTRIBUTE_UNUSED,
22766 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22767 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22768 : : {
22769 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22770 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22771 : : rtx x10, x11, x12, x13, x14, x15;
22772 : : int res ATTRIBUTE_UNUSED;
22773 : : x2 = XVECEXP (x1, 0, 0);
22774 : : x3 = XEXP (x2, 1);
22775 : : x4 = XEXP (x3, 1);
22776 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22777 : : return -1;
22778 : : x5 = XEXP (x3, 0);
22779 : : x6 = XEXP (x5, 0);
22780 : : switch (GET_CODE (x6))
22781 : : {
22782 : : case REG:
22783 : : case SUBREG:
22784 : : case MEM:
22785 : : operands[1] = x6;
22786 : : res = recog_386 (x1, insn, pnum_clobbers);
22787 : : if (res >= 0)
22788 : : return res;
22789 : : if (GET_CODE (x6) != SUBREG)
22790 : : return -1;
22791 : : switch (pattern803 (x1))
22792 : : {
22793 : : case 0:
22794 : : if (!
22795 : : #line 13280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22796 : : (ix86_match_ccmode (insn, CCNOmode)))
22797 : : return -1;
22798 : : return 786; /* *andqi_exthi_1_cc */
22799 : :
22800 : : case 1:
22801 : : if (!
22802 : : #line 13280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22803 : : (ix86_match_ccmode (insn, CCNOmode)))
22804 : : return -1;
22805 : : return 789; /* *andqi_extsi_1_cc */
22806 : :
22807 : : case 2:
22808 : : if (!(
22809 : : #line 13280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22810 : : (ix86_match_ccmode (insn, CCNOmode)) &&
22811 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22812 : : (TARGET_64BIT)))
22813 : : return -1;
22814 : : return 792; /* *andqi_extdi_1_cc */
22815 : :
22816 : : default:
22817 : : return -1;
22818 : : }
22819 : :
22820 : : case NOT:
22821 : : x7 = XEXP (x2, 0);
22822 : : if (GET_CODE (x7) != REG
22823 : : || REGNO (x7) != 17)
22824 : : return -1;
22825 : : x8 = XVECEXP (x1, 0, 1);
22826 : : if (GET_CODE (x8) != CLOBBER)
22827 : : return -1;
22828 : : x9 = XEXP (x6, 0);
22829 : : operands[1] = x9;
22830 : : x10 = XEXP (x5, 1);
22831 : : operands[2] = x10;
22832 : : x11 = XEXP (x8, 0);
22833 : : operands[0] = x11;
22834 : : switch (GET_MODE (x5))
22835 : : {
22836 : : case E_SImode:
22837 : : if (pattern1417 (x6,
22838 : : E_SImode) != 0
22839 : : || !
22840 : : #line 13523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22841 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22842 : : return -1;
22843 : : return 821; /* *andn_si_ccno */
22844 : :
22845 : : case E_DImode:
22846 : : if (pattern1417 (x6,
22847 : : E_DImode) != 0
22848 : : || !(
22849 : : #line 13523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22850 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22851 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22852 : : (TARGET_64BIT)))
22853 : : return -1;
22854 : : return 822; /* *andn_di_ccno */
22855 : :
22856 : : default:
22857 : : return -1;
22858 : : }
22859 : :
22860 : : case NEG:
22861 : : x7 = XEXP (x2, 0);
22862 : : if (GET_CODE (x7) != REG
22863 : : || REGNO (x7) != 17)
22864 : : return -1;
22865 : : x9 = XEXP (x6, 0);
22866 : : operands[1] = x9;
22867 : : x10 = XEXP (x5, 1);
22868 : : if (!rtx_equal_p (x10, operands[1]))
22869 : : return -1;
22870 : : x8 = XVECEXP (x1, 0, 1);
22871 : : switch (GET_CODE (x8))
22872 : : {
22873 : : case SET:
22874 : : x12 = XEXP (x8, 1);
22875 : : if (GET_CODE (x12) != AND)
22876 : : return -1;
22877 : : x13 = XEXP (x12, 0);
22878 : : if (GET_CODE (x13) != NEG)
22879 : : return -1;
22880 : : x11 = XEXP (x8, 0);
22881 : : operands[0] = x11;
22882 : : switch (pattern1481 (x1))
22883 : : {
22884 : : case 0:
22885 : : if (!
22886 : : #line 21944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22887 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22888 : : return -1;
22889 : : return 1578; /* *bmi_blsi_si_cmp */
22890 : :
22891 : : case 1:
22892 : : if (!(
22893 : : #line 21944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22894 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22895 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22896 : : (TARGET_64BIT)))
22897 : : return -1;
22898 : : return 1579; /* *bmi_blsi_di_cmp */
22899 : :
22900 : : default:
22901 : : return -1;
22902 : : }
22903 : :
22904 : : case CLOBBER:
22905 : : switch (pattern1226 (x1))
22906 : : {
22907 : : case 0:
22908 : : if (!
22909 : : #line 22003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22910 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22911 : : return -1;
22912 : : return 1582; /* *bmi_blsi_si_ccno */
22913 : :
22914 : : case 1:
22915 : : if (!(
22916 : : #line 22003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22917 : : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22918 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22919 : : (TARGET_64BIT)))
22920 : : return -1;
22921 : : return 1583; /* *bmi_blsi_di_ccno */
22922 : :
22923 : : default:
22924 : : return -1;
22925 : : }
22926 : :
22927 : : default:
22928 : : return -1;
22929 : : }
22930 : :
22931 : : case PLUS:
22932 : : x14 = XEXP (x6, 1);
22933 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
22934 : : || pattern802 (x2,
22935 : : E_CCZmode) != 0)
22936 : : return -1;
22937 : : x9 = XEXP (x6, 0);
22938 : : operands[1] = x9;
22939 : : x10 = XEXP (x5, 1);
22940 : : if (!rtx_equal_p (x10, operands[1]))
22941 : : return -1;
22942 : : x8 = XVECEXP (x1, 0, 1);
22943 : : switch (GET_CODE (x8))
22944 : : {
22945 : : case SET:
22946 : : x12 = XEXP (x8, 1);
22947 : : if (GET_CODE (x12) != AND)
22948 : : return -1;
22949 : : x13 = XEXP (x12, 0);
22950 : : if (GET_CODE (x13) != PLUS)
22951 : : return -1;
22952 : : x15 = XEXP (x13, 1);
22953 : : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
22954 : : return -1;
22955 : : x11 = XEXP (x8, 0);
22956 : : operands[0] = x11;
22957 : : switch (pattern1481 (x1))
22958 : : {
22959 : : case 0:
22960 : : if (!
22961 : : #line 22096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22962 : : (TARGET_BMI))
22963 : : return -1;
22964 : : return 1590; /* *bmi_blsr_si_cmp */
22965 : :
22966 : : case 1:
22967 : : if (!(
22968 : : #line 22096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22969 : : (TARGET_BMI) &&
22970 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22971 : : (TARGET_64BIT)))
22972 : : return -1;
22973 : : return 1591; /* *bmi_blsr_di_cmp */
22974 : :
22975 : : default:
22976 : : return -1;
22977 : : }
22978 : :
22979 : : case CLOBBER:
22980 : : switch (pattern1226 (x1))
22981 : : {
22982 : : case 0:
22983 : : if (!
22984 : : #line 22153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22985 : : (TARGET_BMI))
22986 : : return -1;
22987 : : return 1594; /* *bmi_blsr_si_ccz */
22988 : :
22989 : : case 1:
22990 : : if (!(
22991 : : #line 22153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22992 : : (TARGET_BMI) &&
22993 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22994 : : (TARGET_64BIT)))
22995 : : return -1;
22996 : : return 1595; /* *bmi_blsr_di_ccz */
22997 : :
22998 : : default:
22999 : : return -1;
23000 : : }
23001 : :
23002 : : default:
23003 : : return -1;
23004 : : }
23005 : :
23006 : : case UNSPEC_VOLATILE:
23007 : : switch (pattern356 (x1,
23008 : : AND))
23009 : : {
23010 : : case 0:
23011 : : return 11025; /* atomic_and_fetch_cmp_0qi_1 */
23012 : :
23013 : : case 1:
23014 : : return 11028; /* atomic_and_fetch_cmp_0hi_1 */
23015 : :
23016 : : case 2:
23017 : : return 11031; /* atomic_and_fetch_cmp_0si_1 */
23018 : :
23019 : : case 3:
23020 : : if (!
23021 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23022 : : (TARGET_64BIT))
23023 : : return -1;
23024 : : return 11034; /* atomic_and_fetch_cmp_0di_1 */
23025 : :
23026 : : default:
23027 : : return -1;
23028 : : }
23029 : :
23030 : : default:
23031 : : return -1;
23032 : : }
23033 : : }
23034 : :
23035 : : int
23036 : : recog_394 (rtx x1 ATTRIBUTE_UNUSED,
23037 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23038 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23039 : : {
23040 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23041 : : rtx x2, x3, x4, x5, x6;
23042 : : int res ATTRIBUTE_UNUSED;
23043 : : x2 = XVECEXP (x1, 0, 0);
23044 : : x3 = XEXP (x2, 0);
23045 : : switch (GET_CODE (x3))
23046 : : {
23047 : : case REG:
23048 : : case SUBREG:
23049 : : case MEM:
23050 : : operands[0] = x3;
23051 : : x4 = XVECEXP (x1, 0, 1);
23052 : : switch (GET_CODE (x4))
23053 : : {
23054 : : case CLOBBER:
23055 : : x5 = XEXP (x4, 0);
23056 : : if (GET_CODE (x5) != REG
23057 : : || REGNO (x5) != 17
23058 : : || GET_MODE (x5) != E_CCmode)
23059 : : return -1;
23060 : : switch (GET_MODE (operands[0]))
23061 : : {
23062 : : case E_DImode:
23063 : : if (!nonimmediate_operand (operands[0], E_DImode))
23064 : : return -1;
23065 : : x6 = XEXP (x2, 1);
23066 : : if (GET_MODE (x6) != E_DImode
23067 : : || !nonimmediate_operand (operands[1], E_DImode))
23068 : : return -1;
23069 : : if (x86_64_hilo_general_operand (operands[2], E_DImode)
23070 : : && (
23071 : : #line 8060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23072 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
23073 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23074 : : (!TARGET_64BIT)))
23075 : : return 384; /* *subdi3_doubleword */
23076 : : if (!x86_64_general_operand (operands[2], E_DImode)
23077 : : || !(
23078 : : #line 8116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23079 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
23080 : : && true) &&
23081 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23082 : : (TARGET_64BIT)))
23083 : : return -1;
23084 : : return 395; /* *subdi_1 */
23085 : :
23086 : : case E_TImode:
23087 : : x6 = XEXP (x2, 1);
23088 : : if (pattern549 (x6,
23089 : : E_TImode) != 0
23090 : : || !(
23091 : : #line 8060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23092 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
23093 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23094 : : (TARGET_64BIT)))
23095 : : return -1;
23096 : : return 385; /* *subti3_doubleword */
23097 : :
23098 : : case E_QImode:
23099 : : x6 = XEXP (x2, 1);
23100 : : if (pattern550 (x6,
23101 : : E_QImode) != 0
23102 : : || !
23103 : : #line 8116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23104 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
23105 : : && true))
23106 : : return -1;
23107 : : return 389; /* *subqi_1 */
23108 : :
23109 : : case E_HImode:
23110 : : x6 = XEXP (x2, 1);
23111 : : if (pattern550 (x6,
23112 : : E_HImode) != 0
23113 : : || !
23114 : : #line 8116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23115 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
23116 : : && true))
23117 : : return -1;
23118 : : return 391; /* *subhi_1 */
23119 : :
23120 : : case E_SImode:
23121 : : x6 = XEXP (x2, 1);
23122 : : if (pattern551 (x6) != 0
23123 : : || !
23124 : : #line 8116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23125 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
23126 : : && true))
23127 : : return -1;
23128 : : return 393; /* *subsi_1 */
23129 : :
23130 : : case E_V2QImode:
23131 : : x6 = XEXP (x2, 1);
23132 : : if (pattern553 (x6,
23133 : : E_V2QImode) != 0
23134 : : || !
23135 : : #line 3264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23136 : : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
23137 : : return -1;
23138 : : return 2148; /* subv2qi3 */
23139 : :
23140 : : default:
23141 : : return -1;
23142 : : }
23143 : :
23144 : : case UNSPEC:
23145 : : if (pattern204 (x1) != 0
23146 : : || !
23147 : : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23148 : : (TARGET_3DNOW && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
23149 : : return -1;
23150 : : return 2064; /* *mmx_subv2sf3 */
23151 : :
23152 : : default:
23153 : : return -1;
23154 : : }
23155 : :
23156 : : case STRICT_LOW_PART:
23157 : : x4 = XVECEXP (x1, 0, 1);
23158 : : if (pattern222 (x4,
23159 : : E_CCmode,
23160 : : 17) != 0)
23161 : : return -1;
23162 : : switch (pattern1310 (x2))
23163 : : {
23164 : : case 0:
23165 : : if (!
23166 : : #line 8180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23167 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23168 : : return -1;
23169 : : return 407; /* *subqi_1_slp */
23170 : :
23171 : : case 1:
23172 : : if (!
23173 : : #line 8180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23174 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23175 : : return -1;
23176 : : return 408; /* *subhi_1_slp */
23177 : :
23178 : : default:
23179 : : return -1;
23180 : : }
23181 : :
23182 : : default:
23183 : : return -1;
23184 : : }
23185 : : }
23186 : :
23187 : : int
23188 : : recog_397 (rtx x1 ATTRIBUTE_UNUSED,
23189 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23190 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23191 : : {
23192 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23193 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23194 : : rtx x10, x11;
23195 : : int res ATTRIBUTE_UNUSED;
23196 : : x2 = XVECEXP (x1, 0, 0);
23197 : : x3 = XEXP (x2, 1);
23198 : : x4 = XEXP (x3, 0);
23199 : : x5 = XEXP (x4, 1);
23200 : : if (GET_CODE (x5) != CONST_INT)
23201 : : return -1;
23202 : : switch (pattern678 (x1))
23203 : : {
23204 : : case 0:
23205 : : switch (XWINT (x5, 0))
23206 : : {
23207 : : case 0L:
23208 : : x6 = XEXP (x3, 1);
23209 : : if (GET_CODE (x6) != PLUS)
23210 : : return -1;
23211 : : x7 = XEXP (x6, 1);
23212 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23213 : : return -1;
23214 : : x8 = XEXP (x2, 0);
23215 : : operands[0] = x8;
23216 : : operands[1] = x4;
23217 : : x9 = XEXP (x4, 0);
23218 : : operands[2] = x9;
23219 : : switch (pattern1564 (x3))
23220 : : {
23221 : : case 0:
23222 : : if (!
23223 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23224 : : (TARGET_CMOVE))
23225 : : return -1;
23226 : : return 453; /* *dec_cmovhi */
23227 : :
23228 : : case 1:
23229 : : if (!
23230 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23231 : : (TARGET_CMOVE))
23232 : : return -1;
23233 : : return 454; /* *dec_cmovsi */
23234 : :
23235 : : case 2:
23236 : : if (!(
23237 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23238 : : (TARGET_CMOVE) &&
23239 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23240 : : (TARGET_64BIT)))
23241 : : return -1;
23242 : : return 455; /* *dec_cmovdi */
23243 : :
23244 : : default:
23245 : : return -1;
23246 : : }
23247 : :
23248 : : case -1L:
23249 : : switch (pattern1171 (x2))
23250 : : {
23251 : : case 0:
23252 : : if (!(
23253 : : #line 2421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23254 : : (TARGET_AVX512BW) &&
23255 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23256 : : (TARGET_AVX512DQ)))
23257 : : return -1;
23258 : : return 2647; /* *kortest_cmpqi_jcc */
23259 : :
23260 : : case 1:
23261 : : if (!
23262 : : #line 2421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23263 : : (TARGET_AVX512BW))
23264 : : return -1;
23265 : : return 2648; /* *kortest_cmphi_jcc */
23266 : :
23267 : : case 2:
23268 : : if (!
23269 : : #line 2421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23270 : : (TARGET_AVX512BW))
23271 : : return -1;
23272 : : return 2649; /* *kortest_cmpsi_jcc */
23273 : :
23274 : : case 3:
23275 : : if (!(
23276 : : #line 2421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23277 : : (TARGET_AVX512BW) &&
23278 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23279 : : (TARGET_AVX512BW && TARGET_64BIT)))
23280 : : return -1;
23281 : : return 2650; /* *kortest_cmpdi_jcc */
23282 : :
23283 : : case 4:
23284 : : if (!(
23285 : : #line 2457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23286 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23287 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23288 : : (TARGET_AVX512DQ)))
23289 : : return -1;
23290 : : return 2651; /* *kortest_cmpqi_movqicc */
23291 : :
23292 : : case 5:
23293 : : if (!
23294 : : #line 2457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23295 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
23296 : : return -1;
23297 : : return 2652; /* *kortest_cmphi_movqicc */
23298 : :
23299 : : case 6:
23300 : : if (!(
23301 : : #line 2457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23302 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23303 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23304 : : (TARGET_AVX512BW)))
23305 : : return -1;
23306 : : return 2653; /* *kortest_cmpsi_movqicc */
23307 : :
23308 : : case 7:
23309 : : if (!(
23310 : : #line 2457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23311 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23312 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23313 : : (TARGET_AVX512BW && TARGET_64BIT)))
23314 : : return -1;
23315 : : return 2654; /* *kortest_cmpdi_movqicc */
23316 : :
23317 : : case 8:
23318 : : if (!(
23319 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23320 : : (TARGET_AVX512BW && TARGET_CMOVE
23321 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23322 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23323 : : (TARGET_AVX512DQ)))
23324 : : return -1;
23325 : : return 2655; /* *kortest_cmpqi_movhicc */
23326 : :
23327 : : case 9:
23328 : : if (!
23329 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23330 : : (TARGET_AVX512BW && TARGET_CMOVE
23331 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23332 : : return -1;
23333 : : return 2658; /* *kortest_cmphi_movhicc */
23334 : :
23335 : : case 10:
23336 : : if (!(
23337 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23338 : : (TARGET_AVX512BW && TARGET_CMOVE
23339 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23340 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23341 : : (TARGET_AVX512BW)))
23342 : : return -1;
23343 : : return 2661; /* *kortest_cmpsi_movhicc */
23344 : :
23345 : : case 11:
23346 : : if (!(
23347 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23348 : : (TARGET_AVX512BW && TARGET_CMOVE
23349 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23350 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23351 : : (TARGET_AVX512BW && TARGET_64BIT)))
23352 : : return -1;
23353 : : return 2664; /* *kortest_cmpdi_movhicc */
23354 : :
23355 : : case 12:
23356 : : if (!(
23357 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23358 : : (TARGET_AVX512BW && TARGET_CMOVE
23359 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23360 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23361 : : (TARGET_AVX512DQ)))
23362 : : return -1;
23363 : : return 2656; /* *kortest_cmpqi_movsicc */
23364 : :
23365 : : case 13:
23366 : : if (!
23367 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23368 : : (TARGET_AVX512BW && TARGET_CMOVE
23369 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23370 : : return -1;
23371 : : return 2659; /* *kortest_cmphi_movsicc */
23372 : :
23373 : : case 14:
23374 : : if (!(
23375 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23376 : : (TARGET_AVX512BW && TARGET_CMOVE
23377 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23378 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23379 : : (TARGET_AVX512BW)))
23380 : : return -1;
23381 : : return 2662; /* *kortest_cmpsi_movsicc */
23382 : :
23383 : : case 15:
23384 : : if (!(
23385 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23386 : : (TARGET_AVX512BW && TARGET_CMOVE
23387 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23388 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23389 : : (TARGET_AVX512BW && TARGET_64BIT)))
23390 : : return -1;
23391 : : return 2665; /* *kortest_cmpdi_movsicc */
23392 : :
23393 : : case 16:
23394 : : if (!(
23395 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23396 : : (TARGET_AVX512BW && TARGET_CMOVE
23397 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23398 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23399 : : (TARGET_64BIT) &&
23400 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23401 : : (TARGET_AVX512DQ)) &&
23402 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23403 : : (TARGET_64BIT)) &&
23404 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23405 : : (TARGET_64BIT)) &&
23406 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23407 : : (TARGET_64BIT))))
23408 : : return -1;
23409 : : return 2657; /* *kortest_cmpqi_movdicc */
23410 : :
23411 : : case 17:
23412 : : if (!(
23413 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23414 : : (TARGET_AVX512BW && TARGET_CMOVE
23415 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23416 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23417 : : (TARGET_64BIT)))
23418 : : return -1;
23419 : : return 2660; /* *kortest_cmphi_movdicc */
23420 : :
23421 : : case 18:
23422 : : if (!(
23423 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23424 : : (TARGET_AVX512BW && TARGET_CMOVE
23425 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23426 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23427 : : (TARGET_64BIT) &&
23428 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23429 : : (TARGET_AVX512BW)) &&
23430 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23431 : : (TARGET_64BIT)) &&
23432 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23433 : : (TARGET_64BIT)) &&
23434 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23435 : : (TARGET_64BIT))))
23436 : : return -1;
23437 : : return 2663; /* *kortest_cmpsi_movdicc */
23438 : :
23439 : : case 19:
23440 : : if (!(
23441 : : #line 2500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23442 : : (TARGET_AVX512BW && TARGET_CMOVE
23443 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23444 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23445 : : (TARGET_64BIT) &&
23446 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23447 : : (TARGET_AVX512BW && TARGET_64BIT)) &&
23448 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23449 : : (TARGET_64BIT)) &&
23450 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23451 : : (TARGET_64BIT)) &&
23452 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23453 : : (TARGET_64BIT))))
23454 : : return -1;
23455 : : return 2666; /* *kortest_cmpdi_movdicc */
23456 : :
23457 : : default:
23458 : : return -1;
23459 : : }
23460 : :
23461 : : default:
23462 : : return -1;
23463 : : }
23464 : :
23465 : : case 1:
23466 : : x9 = XEXP (x4, 0);
23467 : : x10 = XEXP (x9, 1);
23468 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
23469 : : || XWINT (x5, 0) != 0L)
23470 : : return -1;
23471 : : switch (pattern1324 (x2))
23472 : : {
23473 : : case 0:
23474 : : x11 = XEXP (x9, 2);
23475 : : operands[2] = x11;
23476 : : switch (pattern1680 (x3))
23477 : : {
23478 : : case 0:
23479 : : if (
23480 : : #line 19342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23481 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23482 : : && (CONST_INT_P (operands[2])
23483 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
23484 : : && INTVAL (operands[2])
23485 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
23486 : : : !memory_operand (operands[1], SImode))
23487 : : && ix86_pre_reload_split ()))
23488 : : return 1428; /* *jcc_btsi */
23489 : : break;
23490 : :
23491 : : case 1:
23492 : : if ((
23493 : : #line 19342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23494 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23495 : : && (CONST_INT_P (operands[2])
23496 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
23497 : : && INTVAL (operands[2])
23498 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
23499 : : : !memory_operand (operands[1], DImode))
23500 : : && ix86_pre_reload_split ()) &&
23501 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23502 : : (TARGET_64BIT)))
23503 : : return 1429; /* *jcc_btdi */
23504 : : break;
23505 : :
23506 : : default:
23507 : : break;
23508 : : }
23509 : : if (GET_CODE (x11) != SUBREG)
23510 : : return -1;
23511 : : switch (pattern1682 (x3))
23512 : : {
23513 : : case 0:
23514 : : if (!
23515 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23516 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23517 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23518 : : == GET_MODE_BITSIZE (SImode)-1
23519 : : && ix86_pre_reload_split ()))
23520 : : return -1;
23521 : : return 1432; /* *jcc_btsi_mask_1 */
23522 : :
23523 : : case 1:
23524 : : if (!
23525 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23526 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23527 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23528 : : == GET_MODE_BITSIZE (SImode)-1
23529 : : && ix86_pre_reload_split ()))
23530 : : return -1;
23531 : : return 1434; /* *jcc_btsi_mask_1 */
23532 : :
23533 : : case 2:
23534 : : if (!(
23535 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23536 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23537 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23538 : : == GET_MODE_BITSIZE (SImode)-1
23539 : : && ix86_pre_reload_split ()) &&
23540 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23541 : : (TARGET_64BIT)))
23542 : : return -1;
23543 : : return 1436; /* *jcc_btsi_mask_1 */
23544 : :
23545 : : case 3:
23546 : : if (!(
23547 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23548 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23549 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23550 : : == GET_MODE_BITSIZE (DImode)-1
23551 : : && ix86_pre_reload_split ()) &&
23552 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23553 : : (TARGET_64BIT)))
23554 : : return -1;
23555 : : return 1433; /* *jcc_btdi_mask_1 */
23556 : :
23557 : : case 4:
23558 : : if (!(
23559 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23560 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23561 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23562 : : == GET_MODE_BITSIZE (DImode)-1
23563 : : && ix86_pre_reload_split ()) &&
23564 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23565 : : (TARGET_64BIT)))
23566 : : return -1;
23567 : : return 1435; /* *jcc_btdi_mask_1 */
23568 : :
23569 : : case 5:
23570 : : if (!(
23571 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23572 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23573 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23574 : : == GET_MODE_BITSIZE (DImode)-1
23575 : : && ix86_pre_reload_split ()) &&
23576 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23577 : : (TARGET_64BIT)))
23578 : : return -1;
23579 : : return 1437; /* *jcc_btdi_mask_1 */
23580 : :
23581 : : default:
23582 : : return -1;
23583 : : }
23584 : :
23585 : : case 1:
23586 : : if (!
23587 : : #line 19381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23588 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23589 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23590 : : == GET_MODE_BITSIZE (SImode)-1
23591 : : && ix86_pre_reload_split ()))
23592 : : return -1;
23593 : : return 1430; /* *jcc_btsi_mask */
23594 : :
23595 : : case 2:
23596 : : if (!(
23597 : : #line 19381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23598 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23599 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23600 : : == GET_MODE_BITSIZE (DImode)-1
23601 : : && ix86_pre_reload_split ()) &&
23602 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23603 : : (TARGET_64BIT)))
23604 : : return -1;
23605 : : return 1431; /* *jcc_btdi_mask */
23606 : :
23607 : : default:
23608 : : return -1;
23609 : : }
23610 : :
23611 : : default:
23612 : : return -1;
23613 : : }
23614 : : }
23615 : :
23616 : : int
23617 : : recog_410 (rtx x1 ATTRIBUTE_UNUSED,
23618 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23619 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23620 : : {
23621 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23622 : : rtx x2, x3, x4, x5, x6, x7;
23623 : : int res ATTRIBUTE_UNUSED;
23624 : : x2 = XVECEXP (x1, 0, 0);
23625 : : x3 = XEXP (x2, 0);
23626 : : operands[0] = x3;
23627 : : x4 = XEXP (x2, 1);
23628 : : x5 = XEXP (x4, 0);
23629 : : operands[1] = x5;
23630 : : x6 = XVECEXP (x1, 0, 1);
23631 : : switch (GET_CODE (x6))
23632 : : {
23633 : : case CLOBBER:
23634 : : x7 = XEXP (x6, 0);
23635 : : switch (pattern680 (x7))
23636 : : {
23637 : : case 0:
23638 : : if (!register_operand (operands[0], E_DImode)
23639 : : || GET_MODE (x4) != E_DImode
23640 : : || !general_operand (operands[1], E_DImode))
23641 : : return -1;
23642 : : if ((
23643 : : #line 14746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23644 : : (TARGET_CMOVE
23645 : : && ix86_pre_reload_split ()) &&
23646 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23647 : : (!TARGET_64BIT)))
23648 : : return 999; /* *absdi2_doubleword */
23649 : : if (!(
23650 : : #line 14833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23651 : : (TARGET_CMOVE
23652 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
23653 : : && ix86_pre_reload_split ()) &&
23654 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23655 : : (TARGET_64BIT)))
23656 : : return -1;
23657 : : return 1006; /* *absdi2_1 */
23658 : :
23659 : : case 1:
23660 : : if (!register_operand (operands[0], E_TImode)
23661 : : || GET_MODE (x4) != E_TImode
23662 : : || !general_operand (operands[1], E_TImode)
23663 : : || !(
23664 : : #line 14746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23665 : : (TARGET_CMOVE
23666 : : && ix86_pre_reload_split ()) &&
23667 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23668 : : (TARGET_64BIT)))
23669 : : return -1;
23670 : : return 1000; /* *absti2_doubleword */
23671 : :
23672 : : case 2:
23673 : : if (!register_operand (operands[0], E_QImode)
23674 : : || GET_MODE (x4) != E_QImode
23675 : : || !general_operand (operands[1], E_QImode)
23676 : : || !
23677 : : #line 14833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23678 : : (TARGET_CMOVE
23679 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
23680 : : && ix86_pre_reload_split ()))
23681 : : return -1;
23682 : : return 1003; /* *absqi2_1 */
23683 : :
23684 : : case 3:
23685 : : if (!register_operand (operands[0], E_HImode)
23686 : : || GET_MODE (x4) != E_HImode
23687 : : || !general_operand (operands[1], E_HImode)
23688 : : || !
23689 : : #line 14833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23690 : : (TARGET_CMOVE
23691 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
23692 : : && ix86_pre_reload_split ()))
23693 : : return -1;
23694 : : return 1004; /* *abshi2_1 */
23695 : :
23696 : : case 4:
23697 : : if (!register_operand (operands[0], E_SImode)
23698 : : || GET_MODE (x4) != E_SImode
23699 : : || !general_operand (operands[1], E_SImode)
23700 : : || !
23701 : : #line 14833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23702 : : (TARGET_CMOVE
23703 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
23704 : : && ix86_pre_reload_split ()))
23705 : : return -1;
23706 : : return 1005; /* *abssi2_1 */
23707 : :
23708 : : case 5:
23709 : : if (!register_operand (operands[0], E_SFmode)
23710 : : || GET_MODE (x4) != E_SFmode
23711 : : || !register_operand (operands[1], E_SFmode)
23712 : : || !
23713 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23714 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
23715 : : return -1;
23716 : : return 1014; /* *abssf2_i387_1 */
23717 : :
23718 : : case 6:
23719 : : if (!register_operand (operands[0], E_DFmode)
23720 : : || GET_MODE (x4) != E_DFmode
23721 : : || !register_operand (operands[1], E_DFmode)
23722 : : || !
23723 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23724 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
23725 : : return -1;
23726 : : return 1016; /* *absdf2_i387_1 */
23727 : :
23728 : : case 7:
23729 : : if (!register_operand (operands[0], E_XFmode)
23730 : : || GET_MODE (x4) != E_XFmode
23731 : : || !register_operand (operands[1], E_XFmode)
23732 : : || !
23733 : : #line 14956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23734 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
23735 : : return -1;
23736 : : return 1018; /* *absxf2_i387_1 */
23737 : :
23738 : : default:
23739 : : return -1;
23740 : : }
23741 : :
23742 : : case USE:
23743 : : switch (pattern684 (x1, pnum_clobbers))
23744 : : {
23745 : : case 0:
23746 : : if (!
23747 : : #line 14894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23748 : : (TARGET_SSE))
23749 : : return -1;
23750 : : return 1011; /* *abstf2_1 */
23751 : :
23752 : : case 1:
23753 : : if (!
23754 : : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23755 : : (TARGET_AVX512FP16))
23756 : : return -1;
23757 : : *pnum_clobbers = 1;
23758 : : return 1020; /* *abshf2_1 */
23759 : :
23760 : : case 2:
23761 : : if (!
23762 : : #line 14996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23763 : : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
23764 : : return -1;
23765 : : *pnum_clobbers = 1;
23766 : : return 1022; /* *abssf2_1 */
23767 : :
23768 : : case 3:
23769 : : if (!
23770 : : #line 14996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23771 : : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
23772 : : return -1;
23773 : : *pnum_clobbers = 1;
23774 : : return 1024; /* *absdf2_1 */
23775 : :
23776 : : case 4:
23777 : : if (!
23778 : : #line 706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23779 : : (TARGET_MMX_WITH_SSE))
23780 : : return -1;
23781 : : return 2060; /* *mmx_absv2sf2 */
23782 : :
23783 : : case 5:
23784 : : if (!
23785 : : #line 2262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23786 : : (TARGET_SSE))
23787 : : return -1;
23788 : : return 2106; /* *mmx_absv2bf */
23789 : :
23790 : : case 6:
23791 : : if (!(
23792 : : #line 2262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23793 : : (TARGET_SSE) &&
23794 : : #line 2247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23795 : : (TARGET_MMX_WITH_SSE)))
23796 : : return -1;
23797 : : return 2108; /* *mmx_absv4bf */
23798 : :
23799 : : case 7:
23800 : : if (!
23801 : : #line 2262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23802 : : (TARGET_SSE))
23803 : : return -1;
23804 : : return 2110; /* *mmx_absv2hf */
23805 : :
23806 : : case 8:
23807 : : if (!(
23808 : : #line 2262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23809 : : (TARGET_SSE) &&
23810 : : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23811 : : (TARGET_MMX_WITH_SSE)))
23812 : : return -1;
23813 : : return 2112; /* *mmx_absv4hf */
23814 : :
23815 : : case 9:
23816 : : if (!(
23817 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23818 : : (TARGET_SSE) &&
23819 : : #line 410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23820 : : (TARGET_AVX512F)))
23821 : : return -1;
23822 : : return 2670; /* *absv32bf2 */
23823 : :
23824 : : case 10:
23825 : : if (!(
23826 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23827 : : (TARGET_SSE) &&
23828 : : #line 411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23829 : : (TARGET_AVX)))
23830 : : return -1;
23831 : : return 2672; /* *absv16bf2 */
23832 : :
23833 : : case 11:
23834 : : if (!(
23835 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23836 : : (TARGET_SSE) &&
23837 : : #line 411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23838 : : (TARGET_SSE2)))
23839 : : return -1;
23840 : : return 2674; /* *absv8bf2 */
23841 : :
23842 : : case 12:
23843 : : if (!(
23844 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23845 : : (TARGET_SSE) &&
23846 : : #line 412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23847 : : (TARGET_AVX512F)))
23848 : : return -1;
23849 : : return 2676; /* *absv32hf2 */
23850 : :
23851 : : case 13:
23852 : : if (!(
23853 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23854 : : (TARGET_SSE) &&
23855 : : #line 413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23856 : : (TARGET_AVX)))
23857 : : return -1;
23858 : : return 2678; /* *absv16hf2 */
23859 : :
23860 : : case 14:
23861 : : if (!(
23862 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23863 : : (TARGET_SSE) &&
23864 : : #line 413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23865 : : (TARGET_SSE2)))
23866 : : return -1;
23867 : : return 2680; /* *absv8hf2 */
23868 : :
23869 : : case 15:
23870 : : if (!(
23871 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23872 : : (TARGET_SSE) &&
23873 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23874 : : (TARGET_AVX512F)))
23875 : : return -1;
23876 : : return 2682; /* *absv16sf2 */
23877 : :
23878 : : case 16:
23879 : : if (!(
23880 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23881 : : (TARGET_SSE) &&
23882 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23883 : : (TARGET_AVX)))
23884 : : return -1;
23885 : : return 2684; /* *absv8sf2 */
23886 : :
23887 : : case 17:
23888 : : if (!
23889 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23890 : : (TARGET_SSE))
23891 : : return -1;
23892 : : return 2686; /* *absv4sf2 */
23893 : :
23894 : : case 18:
23895 : : if (!(
23896 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23897 : : (TARGET_SSE) &&
23898 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23899 : : (TARGET_AVX512F)))
23900 : : return -1;
23901 : : return 2688; /* *absv8df2 */
23902 : :
23903 : : case 19:
23904 : : if (!(
23905 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23906 : : (TARGET_SSE) &&
23907 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23908 : : (TARGET_AVX)))
23909 : : return -1;
23910 : : return 2690; /* *absv4df2 */
23911 : :
23912 : : case 20:
23913 : : if (!(
23914 : : #line 2588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23915 : : (TARGET_SSE) &&
23916 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23917 : : (TARGET_SSE2)))
23918 : : return -1;
23919 : : return 2692; /* *absv2df2 */
23920 : :
23921 : : default:
23922 : : return -1;
23923 : : }
23924 : :
23925 : : default:
23926 : : return -1;
23927 : : }
23928 : : }
23929 : :
23930 : : int
23931 : : recog_421 (rtx x1 ATTRIBUTE_UNUSED,
23932 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23933 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23934 : : {
23935 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23936 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23937 : : int res ATTRIBUTE_UNUSED;
23938 : : x2 = XVECEXP (x1, 0, 0);
23939 : : x3 = XEXP (x2, 0);
23940 : : operands[0] = x3;
23941 : : x4 = XEXP (x2, 1);
23942 : : operands[1] = x4;
23943 : : x5 = XVECEXP (x1, 0, 1);
23944 : : x6 = XVECEXP (x5, 0, 0);
23945 : : operands[2] = x6;
23946 : : switch (GET_MODE (operands[0]))
23947 : : {
23948 : : case E_V64QImode:
23949 : : if (register_operand (operands[0], E_V64QImode)
23950 : : && int_float_vector_all_ones_operand (operands[1], E_V64QImode)
23951 : : && register_operand (operands[2], E_V64QImode)
23952 : : && (
23953 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23954 : : (TARGET_AVX512VL || 64 == 64) &&
23955 : : #line 282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23956 : : (TARGET_AVX512F)))
23957 : : return 2433; /* *vmovv64qi_constm1_pternlog_false_dep */
23958 : : break;
23959 : :
23960 : : case E_V32QImode:
23961 : : if (register_operand (operands[0], E_V32QImode)
23962 : : && int_float_vector_all_ones_operand (operands[1], E_V32QImode)
23963 : : && register_operand (operands[2], E_V32QImode)
23964 : : && (
23965 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23966 : : (TARGET_AVX512VL || 32 == 64) &&
23967 : : #line 282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23968 : : (TARGET_AVX)))
23969 : : return 2434; /* *vmovv32qi_constm1_pternlog_false_dep */
23970 : : break;
23971 : :
23972 : : case E_V16QImode:
23973 : : if (register_operand (operands[0], E_V16QImode)
23974 : : && int_float_vector_all_ones_operand (operands[1], E_V16QImode)
23975 : : && register_operand (operands[2], E_V16QImode)
23976 : : &&
23977 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23978 : : (TARGET_AVX512VL || 16 == 64))
23979 : : return 2435; /* *vmovv16qi_constm1_pternlog_false_dep */
23980 : : break;
23981 : :
23982 : : case E_V32HImode:
23983 : : if (register_operand (operands[0], E_V32HImode)
23984 : : && int_float_vector_all_ones_operand (operands[1], E_V32HImode)
23985 : : && register_operand (operands[2], E_V32HImode)
23986 : : && (
23987 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23988 : : (TARGET_AVX512VL || 64 == 64) &&
23989 : : #line 283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23990 : : (TARGET_AVX512F)))
23991 : : return 2436; /* *vmovv32hi_constm1_pternlog_false_dep */
23992 : : break;
23993 : :
23994 : : case E_V16HImode:
23995 : : if (register_operand (operands[0], E_V16HImode)
23996 : : && int_float_vector_all_ones_operand (operands[1], E_V16HImode)
23997 : : && register_operand (operands[2], E_V16HImode)
23998 : : && (
23999 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24000 : : (TARGET_AVX512VL || 32 == 64) &&
24001 : : #line 283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24002 : : (TARGET_AVX)))
24003 : : return 2437; /* *vmovv16hi_constm1_pternlog_false_dep */
24004 : : break;
24005 : :
24006 : : case E_V8HImode:
24007 : : if (register_operand (operands[0], E_V8HImode)
24008 : : && int_float_vector_all_ones_operand (operands[1], E_V8HImode)
24009 : : && register_operand (operands[2], E_V8HImode)
24010 : : &&
24011 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24012 : : (TARGET_AVX512VL || 16 == 64))
24013 : : return 2438; /* *vmovv8hi_constm1_pternlog_false_dep */
24014 : : break;
24015 : :
24016 : : case E_V16SImode:
24017 : : if (register_operand (operands[0], E_V16SImode)
24018 : : && int_float_vector_all_ones_operand (operands[1], E_V16SImode)
24019 : : && register_operand (operands[2], E_V16SImode)
24020 : : && (
24021 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24022 : : (TARGET_AVX512VL || 64 == 64) &&
24023 : : #line 284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24024 : : (TARGET_AVX512F)))
24025 : : return 2439; /* *vmovv16si_constm1_pternlog_false_dep */
24026 : : break;
24027 : :
24028 : : case E_V8SImode:
24029 : : if (register_operand (operands[0], E_V8SImode)
24030 : : && int_float_vector_all_ones_operand (operands[1], E_V8SImode)
24031 : : && register_operand (operands[2], E_V8SImode)
24032 : : && (
24033 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24034 : : (TARGET_AVX512VL || 32 == 64) &&
24035 : : #line 284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24036 : : (TARGET_AVX)))
24037 : : return 2440; /* *vmovv8si_constm1_pternlog_false_dep */
24038 : : break;
24039 : :
24040 : : case E_V4SImode:
24041 : : if (register_operand (operands[0], E_V4SImode)
24042 : : && int_float_vector_all_ones_operand (operands[1], E_V4SImode)
24043 : : && register_operand (operands[2], E_V4SImode)
24044 : : &&
24045 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24046 : : (TARGET_AVX512VL || 16 == 64))
24047 : : return 2441; /* *vmovv4si_constm1_pternlog_false_dep */
24048 : : break;
24049 : :
24050 : : case E_V8DImode:
24051 : : if (register_operand (operands[0], E_V8DImode)
24052 : : && int_float_vector_all_ones_operand (operands[1], E_V8DImode)
24053 : : && register_operand (operands[2], E_V8DImode)
24054 : : && (
24055 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24056 : : (TARGET_AVX512VL || 64 == 64) &&
24057 : : #line 285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24058 : : (TARGET_AVX512F)))
24059 : : return 2442; /* *vmovv8di_constm1_pternlog_false_dep */
24060 : : break;
24061 : :
24062 : : case E_V4DImode:
24063 : : if (register_operand (operands[0], E_V4DImode)
24064 : : && int_float_vector_all_ones_operand (operands[1], E_V4DImode)
24065 : : && register_operand (operands[2], E_V4DImode)
24066 : : && (
24067 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24068 : : (TARGET_AVX512VL || 32 == 64) &&
24069 : : #line 285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24070 : : (TARGET_AVX)))
24071 : : return 2443; /* *vmovv4di_constm1_pternlog_false_dep */
24072 : : break;
24073 : :
24074 : : case E_V2DImode:
24075 : : if (register_operand (operands[0], E_V2DImode)
24076 : : && int_float_vector_all_ones_operand (operands[1], E_V2DImode)
24077 : : && register_operand (operands[2], E_V2DImode)
24078 : : &&
24079 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24080 : : (TARGET_AVX512VL || 16 == 64))
24081 : : return 2444; /* *vmovv2di_constm1_pternlog_false_dep */
24082 : : break;
24083 : :
24084 : : case E_V4TImode:
24085 : : if (register_operand (operands[0], E_V4TImode)
24086 : : && int_float_vector_all_ones_operand (operands[1], E_V4TImode)
24087 : : && register_operand (operands[2], E_V4TImode)
24088 : : && (
24089 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24090 : : (TARGET_AVX512VL || 64 == 64) &&
24091 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24092 : : (TARGET_AVX512F)))
24093 : : return 2445; /* *vmovv4ti_constm1_pternlog_false_dep */
24094 : : break;
24095 : :
24096 : : case E_V2TImode:
24097 : : if (register_operand (operands[0], E_V2TImode)
24098 : : && int_float_vector_all_ones_operand (operands[1], E_V2TImode)
24099 : : && register_operand (operands[2], E_V2TImode)
24100 : : && (
24101 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24102 : : (TARGET_AVX512VL || 32 == 64) &&
24103 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24104 : : (TARGET_AVX)))
24105 : : return 2446; /* *vmovv2ti_constm1_pternlog_false_dep */
24106 : : break;
24107 : :
24108 : : case E_V1TImode:
24109 : : if (register_operand (operands[0], E_V1TImode)
24110 : : && int_float_vector_all_ones_operand (operands[1], E_V1TImode)
24111 : : && register_operand (operands[2], E_V1TImode)
24112 : : &&
24113 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24114 : : (TARGET_AVX512VL || 16 == 64))
24115 : : return 2447; /* *vmovv1ti_constm1_pternlog_false_dep */
24116 : : break;
24117 : :
24118 : : case E_V32HFmode:
24119 : : if (register_operand (operands[0], E_V32HFmode)
24120 : : && int_float_vector_all_ones_operand (operands[1], E_V32HFmode)
24121 : : && register_operand (operands[2], E_V32HFmode)
24122 : : && (
24123 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24124 : : (TARGET_AVX512VL || 64 == 64) &&
24125 : : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24126 : : (TARGET_AVX512F)))
24127 : : return 2448; /* *vmovv32hf_constm1_pternlog_false_dep */
24128 : : break;
24129 : :
24130 : : case E_V16HFmode:
24131 : : if (register_operand (operands[0], E_V16HFmode)
24132 : : && int_float_vector_all_ones_operand (operands[1], E_V16HFmode)
24133 : : && register_operand (operands[2], E_V16HFmode)
24134 : : && (
24135 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24136 : : (TARGET_AVX512VL || 32 == 64) &&
24137 : : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24138 : : (TARGET_AVX)))
24139 : : return 2449; /* *vmovv16hf_constm1_pternlog_false_dep */
24140 : : break;
24141 : :
24142 : : case E_V8HFmode:
24143 : : if (register_operand (operands[0], E_V8HFmode)
24144 : : && int_float_vector_all_ones_operand (operands[1], E_V8HFmode)
24145 : : && register_operand (operands[2], E_V8HFmode)
24146 : : &&
24147 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24148 : : (TARGET_AVX512VL || 16 == 64))
24149 : : return 2450; /* *vmovv8hf_constm1_pternlog_false_dep */
24150 : : break;
24151 : :
24152 : : case E_V32BFmode:
24153 : : if (register_operand (operands[0], E_V32BFmode)
24154 : : && int_float_vector_all_ones_operand (operands[1], E_V32BFmode)
24155 : : && register_operand (operands[2], E_V32BFmode)
24156 : : && (
24157 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24158 : : (TARGET_AVX512VL || 64 == 64) &&
24159 : : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24160 : : (TARGET_AVX512F)))
24161 : : return 2451; /* *vmovv32bf_constm1_pternlog_false_dep */
24162 : : break;
24163 : :
24164 : : case E_V16BFmode:
24165 : : if (register_operand (operands[0], E_V16BFmode)
24166 : : && int_float_vector_all_ones_operand (operands[1], E_V16BFmode)
24167 : : && register_operand (operands[2], E_V16BFmode)
24168 : : && (
24169 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24170 : : (TARGET_AVX512VL || 32 == 64) &&
24171 : : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24172 : : (TARGET_AVX)))
24173 : : return 2452; /* *vmovv16bf_constm1_pternlog_false_dep */
24174 : : break;
24175 : :
24176 : : case E_V8BFmode:
24177 : : if (register_operand (operands[0], E_V8BFmode)
24178 : : && int_float_vector_all_ones_operand (operands[1], E_V8BFmode)
24179 : : && register_operand (operands[2], E_V8BFmode)
24180 : : &&
24181 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24182 : : (TARGET_AVX512VL || 16 == 64))
24183 : : return 2453; /* *vmovv8bf_constm1_pternlog_false_dep */
24184 : : break;
24185 : :
24186 : : case E_V16SFmode:
24187 : : if (register_operand (operands[0], E_V16SFmode)
24188 : : && int_float_vector_all_ones_operand (operands[1], E_V16SFmode)
24189 : : && register_operand (operands[2], E_V16SFmode)
24190 : : && (
24191 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24192 : : (TARGET_AVX512VL || 64 == 64) &&
24193 : : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24194 : : (TARGET_AVX512F)))
24195 : : return 2454; /* *vmovv16sf_constm1_pternlog_false_dep */
24196 : : break;
24197 : :
24198 : : case E_V8SFmode:
24199 : : if (register_operand (operands[0], E_V8SFmode)
24200 : : && int_float_vector_all_ones_operand (operands[1], E_V8SFmode)
24201 : : && register_operand (operands[2], E_V8SFmode)
24202 : : && (
24203 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24204 : : (TARGET_AVX512VL || 32 == 64) &&
24205 : : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24206 : : (TARGET_AVX)))
24207 : : return 2455; /* *vmovv8sf_constm1_pternlog_false_dep */
24208 : : break;
24209 : :
24210 : : case E_V4SFmode:
24211 : : if (register_operand (operands[0], E_V4SFmode)
24212 : : && int_float_vector_all_ones_operand (operands[1], E_V4SFmode)
24213 : : && register_operand (operands[2], E_V4SFmode)
24214 : : &&
24215 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24216 : : (TARGET_AVX512VL || 16 == 64))
24217 : : return 2456; /* *vmovv4sf_constm1_pternlog_false_dep */
24218 : : break;
24219 : :
24220 : : case E_V8DFmode:
24221 : : if (register_operand (operands[0], E_V8DFmode)
24222 : : && int_float_vector_all_ones_operand (operands[1], E_V8DFmode)
24223 : : && register_operand (operands[2], E_V8DFmode)
24224 : : && (
24225 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24226 : : (TARGET_AVX512VL || 64 == 64) &&
24227 : : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24228 : : (TARGET_AVX512F)))
24229 : : return 2457; /* *vmovv8df_constm1_pternlog_false_dep */
24230 : : break;
24231 : :
24232 : : case E_V4DFmode:
24233 : : if (register_operand (operands[0], E_V4DFmode)
24234 : : && int_float_vector_all_ones_operand (operands[1], E_V4DFmode)
24235 : : && register_operand (operands[2], E_V4DFmode)
24236 : : && (
24237 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24238 : : (TARGET_AVX512VL || 32 == 64) &&
24239 : : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24240 : : (TARGET_AVX)))
24241 : : return 2458; /* *vmovv4df_constm1_pternlog_false_dep */
24242 : : break;
24243 : :
24244 : : case E_V2DFmode:
24245 : : if (register_operand (operands[0], E_V2DFmode)
24246 : : && int_float_vector_all_ones_operand (operands[1], E_V2DFmode)
24247 : : && register_operand (operands[2], E_V2DFmode)
24248 : : &&
24249 : : #line 1534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24250 : : (TARGET_AVX512VL || 16 == 64))
24251 : : return 2459; /* *vmovv2df_constm1_pternlog_false_dep */
24252 : : break;
24253 : :
24254 : : default:
24255 : : break;
24256 : : }
24257 : : switch (GET_CODE (x4))
24258 : : {
24259 : : case VEC_MERGE:
24260 : : x7 = XEXP (x4, 0);
24261 : : operands[2] = x7;
24262 : : x8 = XEXP (x4, 1);
24263 : : operands[3] = x8;
24264 : : x9 = XEXP (x4, 2);
24265 : : operands[1] = x9;
24266 : : operands[4] = x6;
24267 : : switch (GET_MODE (operands[0]))
24268 : : {
24269 : : case E_V16SImode:
24270 : : if (pattern1319 (x4,
24271 : : E_V16SImode,
24272 : : E_HImode) != 0
24273 : : || !
24274 : : #line 10397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24275 : : (TARGET_AVX512F && !TARGET_AVX512DQ))
24276 : : return -1;
24277 : : return 5161; /* *avx512f_cvtmask2dv16si_pternlog_false_dep */
24278 : :
24279 : : case E_V8SImode:
24280 : : if (pattern1319 (x4,
24281 : : E_V8SImode,
24282 : : E_QImode) != 0
24283 : : || !(
24284 : : #line 10397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24285 : : (TARGET_AVX512F && !TARGET_AVX512DQ) &&
24286 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24287 : : (TARGET_AVX512VL)))
24288 : : return -1;
24289 : : return 5162; /* *avx512vl_cvtmask2dv8si_pternlog_false_dep */
24290 : :
24291 : : case E_V4SImode:
24292 : : if (pattern1319 (x4,
24293 : : E_V4SImode,
24294 : : E_QImode) != 0
24295 : : || !(
24296 : : #line 10397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24297 : : (TARGET_AVX512F && !TARGET_AVX512DQ) &&
24298 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24299 : : (TARGET_AVX512VL)))
24300 : : return -1;
24301 : : return 5163; /* *avx512vl_cvtmask2dv4si_pternlog_false_dep */
24302 : :
24303 : : case E_V8DImode:
24304 : : if (pattern1319 (x4,
24305 : : E_V8DImode,
24306 : : E_QImode) != 0
24307 : : || !
24308 : : #line 10397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24309 : : (TARGET_AVX512F && !TARGET_AVX512DQ))
24310 : : return -1;
24311 : : return 5164; /* *avx512f_cvtmask2qv8di_pternlog_false_dep */
24312 : :
24313 : : case E_V4DImode:
24314 : : if (pattern1319 (x4,
24315 : : E_V4DImode,
24316 : : E_QImode) != 0
24317 : : || !(
24318 : : #line 10397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24319 : : (TARGET_AVX512F && !TARGET_AVX512DQ) &&
24320 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24321 : : (TARGET_AVX512VL)))
24322 : : return -1;
24323 : : return 5165; /* *avx512vl_cvtmask2qv4di_pternlog_false_dep */
24324 : :
24325 : : case E_V2DImode:
24326 : : if (pattern1319 (x4,
24327 : : E_V2DImode,
24328 : : E_QImode) != 0
24329 : : || !(
24330 : : #line 10397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24331 : : (TARGET_AVX512F && !TARGET_AVX512DQ) &&
24332 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24333 : : (TARGET_AVX512VL)))
24334 : : return -1;
24335 : : return 5166; /* *avx512vl_cvtmask2qv2di_pternlog_false_dep */
24336 : :
24337 : : default:
24338 : : return -1;
24339 : : }
24340 : :
24341 : : case XOR:
24342 : : x7 = XEXP (x4, 0);
24343 : : operands[1] = x7;
24344 : : x8 = XEXP (x4, 1);
24345 : : operands[2] = x8;
24346 : : operands[3] = x6;
24347 : : switch (GET_MODE (operands[0]))
24348 : : {
24349 : : case E_V16SImode:
24350 : : if (pattern1237 (x4,
24351 : : E_V16SImode) != 0
24352 : : || !
24353 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24354 : : (TARGET_AVX512F))
24355 : : return -1;
24356 : : return 7927; /* *one_cmplv16si2_pternlog_false_dep */
24357 : :
24358 : : case E_V8DImode:
24359 : : if (pattern1237 (x4,
24360 : : E_V8DImode) != 0
24361 : : || !
24362 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24363 : : (TARGET_AVX512F))
24364 : : return -1;
24365 : : return 7928; /* *one_cmplv8di2_pternlog_false_dep */
24366 : :
24367 : : case E_V64QImode:
24368 : : if (pattern1237 (x4,
24369 : : E_V64QImode) != 0
24370 : : || !(
24371 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24372 : : (TARGET_AVX512F) &&
24373 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24374 : : (TARGET_AVX512BW)))
24375 : : return -1;
24376 : : return 7929; /* *one_cmplv64qi2_pternlog_false_dep */
24377 : :
24378 : : case E_V32QImode:
24379 : : if (pattern1237 (x4,
24380 : : E_V32QImode) != 0
24381 : : || !(
24382 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24383 : : (TARGET_AVX512F) &&
24384 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24385 : : (TARGET_AVX)))
24386 : : return -1;
24387 : : return 7930; /* *one_cmplv32qi2_pternlog_false_dep */
24388 : :
24389 : : case E_V16QImode:
24390 : : if (pattern1237 (x4,
24391 : : E_V16QImode) != 0
24392 : : || !
24393 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24394 : : (TARGET_AVX512F))
24395 : : return -1;
24396 : : return 7931; /* *one_cmplv16qi2_pternlog_false_dep */
24397 : :
24398 : : case E_V32HImode:
24399 : : if (pattern1237 (x4,
24400 : : E_V32HImode) != 0
24401 : : || !(
24402 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24403 : : (TARGET_AVX512F) &&
24404 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24405 : : (TARGET_AVX512BW)))
24406 : : return -1;
24407 : : return 7932; /* *one_cmplv32hi2_pternlog_false_dep */
24408 : :
24409 : : case E_V16HImode:
24410 : : if (pattern1237 (x4,
24411 : : E_V16HImode) != 0
24412 : : || !(
24413 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24414 : : (TARGET_AVX512F) &&
24415 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24416 : : (TARGET_AVX)))
24417 : : return -1;
24418 : : return 7933; /* *one_cmplv16hi2_pternlog_false_dep */
24419 : :
24420 : : case E_V8HImode:
24421 : : if (pattern1237 (x4,
24422 : : E_V8HImode) != 0
24423 : : || !
24424 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24425 : : (TARGET_AVX512F))
24426 : : return -1;
24427 : : return 7934; /* *one_cmplv8hi2_pternlog_false_dep */
24428 : :
24429 : : case E_V8SImode:
24430 : : if (pattern1237 (x4,
24431 : : E_V8SImode) != 0
24432 : : || !(
24433 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24434 : : (TARGET_AVX512F) &&
24435 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24436 : : (TARGET_AVX)))
24437 : : return -1;
24438 : : return 7935; /* *one_cmplv8si2_pternlog_false_dep */
24439 : :
24440 : : case E_V4SImode:
24441 : : if (pattern1237 (x4,
24442 : : E_V4SImode) != 0
24443 : : || !
24444 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24445 : : (TARGET_AVX512F))
24446 : : return -1;
24447 : : return 7936; /* *one_cmplv4si2_pternlog_false_dep */
24448 : :
24449 : : case E_V4DImode:
24450 : : if (pattern1237 (x4,
24451 : : E_V4DImode) != 0
24452 : : || !(
24453 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24454 : : (TARGET_AVX512F) &&
24455 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24456 : : (TARGET_AVX)))
24457 : : return -1;
24458 : : return 7937; /* *one_cmplv4di2_pternlog_false_dep */
24459 : :
24460 : : case E_V2DImode:
24461 : : if (pattern1237 (x4,
24462 : : E_V2DImode) != 0
24463 : : || !
24464 : : #line 18454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24465 : : (TARGET_AVX512F))
24466 : : return -1;
24467 : : return 7938; /* *one_cmplv2di2_pternlog_false_dep */
24468 : :
24469 : : default:
24470 : : return -1;
24471 : : }
24472 : :
24473 : : default:
24474 : : return -1;
24475 : : }
24476 : : }
24477 : :
24478 : : rtx_insn *
24479 : : split_3 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24480 : : {
24481 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24482 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24483 : : rtx x10, x11;
24484 : : rtx_insn *res ATTRIBUTE_UNUSED;
24485 : : x2 = XEXP (x1, 1);
24486 : : x3 = XEXP (x2, 0);
24487 : : x4 = XEXP (x3, 0);
24488 : : if (GET_CODE (x4) != ZERO_EXTRACT)
24489 : : return NULL;
24490 : : x5 = XEXP (x4, 1);
24491 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24492 : : return NULL;
24493 : : x6 = XEXP (x3, 1);
24494 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24495 : : return NULL;
24496 : : x7 = XEXP (x1, 0);
24497 : : operands[0] = x7;
24498 : : x8 = XEXP (x4, 0);
24499 : : operands[1] = x8;
24500 : : x9 = XEXP (x4, 2);
24501 : : operands[2] = x9;
24502 : : if (!register_operand (operands[2], E_QImode))
24503 : : return NULL;
24504 : : x10 = XEXP (x2, 1);
24505 : : operands[3] = x10;
24506 : : x11 = XEXP (x2, 2);
24507 : : operands[4] = x11;
24508 : : switch (GET_MODE (operands[0]))
24509 : : {
24510 : : case E_HImode:
24511 : : switch (pattern1517 (x2,
24512 : : E_HImode))
24513 : : {
24514 : : case 0:
24515 : : if (!
24516 : : #line 19453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24517 : : (TARGET_USE_BT && TARGET_CMOVE
24518 : : && !(MEM_P (operands[3]) && MEM_P (operands[4]))
24519 : : && ix86_pre_reload_split ()))
24520 : : return NULL;
24521 : : return gen_split_836 (insn, operands);
24522 : :
24523 : : case 1:
24524 : : if (!(
24525 : : #line 19453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24526 : : (TARGET_USE_BT && TARGET_CMOVE
24527 : : && !(MEM_P (operands[3]) && MEM_P (operands[4]))
24528 : : && ix86_pre_reload_split ()) &&
24529 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24530 : : (TARGET_64BIT)))
24531 : : return NULL;
24532 : : return gen_split_837 (insn, operands);
24533 : :
24534 : : default:
24535 : : return NULL;
24536 : : }
24537 : :
24538 : : case E_SImode:
24539 : : switch (pattern1517 (x2,
24540 : : E_SImode))
24541 : : {
24542 : : case 0:
24543 : : if (!
24544 : : #line 19453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24545 : : (TARGET_USE_BT && TARGET_CMOVE
24546 : : && !(MEM_P (operands[3]) && MEM_P (operands[4]))
24547 : : && ix86_pre_reload_split ()))
24548 : : return NULL;
24549 : : return gen_split_838 (insn, operands);
24550 : :
24551 : : case 1:
24552 : : if (!(
24553 : : #line 19453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24554 : : (TARGET_USE_BT && TARGET_CMOVE
24555 : : && !(MEM_P (operands[3]) && MEM_P (operands[4]))
24556 : : && ix86_pre_reload_split ()) &&
24557 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24558 : : (TARGET_64BIT)))
24559 : : return NULL;
24560 : : return gen_split_839 (insn, operands);
24561 : :
24562 : : default:
24563 : : return NULL;
24564 : : }
24565 : :
24566 : : case E_DImode:
24567 : : switch (pattern1517 (x2,
24568 : : E_DImode))
24569 : : {
24570 : : case 0:
24571 : : if (!(
24572 : : #line 19453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24573 : : (TARGET_USE_BT && TARGET_CMOVE
24574 : : && !(MEM_P (operands[3]) && MEM_P (operands[4]))
24575 : : && ix86_pre_reload_split ()) &&
24576 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24577 : : (TARGET_64BIT)))
24578 : : return NULL;
24579 : : return gen_split_840 (insn, operands);
24580 : :
24581 : : case 1:
24582 : : if (!(
24583 : : #line 19453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24584 : : (TARGET_USE_BT && TARGET_CMOVE
24585 : : && !(MEM_P (operands[3]) && MEM_P (operands[4]))
24586 : : && ix86_pre_reload_split ()) &&
24587 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24588 : : (TARGET_64BIT)))
24589 : : return NULL;
24590 : : return gen_split_841 (insn, operands);
24591 : :
24592 : : default:
24593 : : return NULL;
24594 : : }
24595 : :
24596 : : default:
24597 : : return NULL;
24598 : : }
24599 : : }
24600 : :
24601 : : rtx_insn *
24602 : : split_6 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24603 : : {
24604 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24605 : : rtx x2, x3, x4, x5, x6, x7;
24606 : : rtx_insn *res ATTRIBUTE_UNUSED;
24607 : : x2 = XEXP (x1, 0);
24608 : : operands[0] = x2;
24609 : : x3 = XEXP (x1, 1);
24610 : : x4 = XEXP (x3, 0);
24611 : : switch (GET_CODE (x4))
24612 : : {
24613 : : case AND:
24614 : : switch (pattern69 (x3))
24615 : : {
24616 : : case 0:
24617 : : if (!(
24618 : : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24619 : : (TARGET_64BIT
24620 : : && CONST_WIDE_INT_P (operands[3])
24621 : : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
24622 : : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
24623 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0) &&
24624 : : #line 3721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24625 : : ( reload_completed)))
24626 : : return NULL;
24627 : : return gen_split_28 (insn, operands);
24628 : :
24629 : : case 1:
24630 : : if (!(
24631 : : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24632 : : (TARGET_64BIT
24633 : : && CONST_WIDE_INT_P (operands[3])
24634 : : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
24635 : : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
24636 : : && CONST_WIDE_INT_ELT (operands[3], 1) == -1) &&
24637 : : #line 3743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24638 : : ( reload_completed)))
24639 : : return NULL;
24640 : : return gen_split_31 (insn, operands);
24641 : :
24642 : : case 2:
24643 : : if (!(
24644 : : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24645 : : (!TARGET_64BIT
24646 : : && CONST_INT_P (operands[3])
24647 : : && UINTVAL (operands[3]) == 0xffffffff00000000ll) &&
24648 : : #line 3763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24649 : : ( reload_completed)))
24650 : : return NULL;
24651 : : return gen_split_34 (insn, operands);
24652 : :
24653 : : default:
24654 : : return NULL;
24655 : : }
24656 : :
24657 : : case REG:
24658 : : case SUBREG:
24659 : : operands[1] = x4;
24660 : : x5 = XEXP (x3, 1);
24661 : : operands[2] = x5;
24662 : : switch (GET_MODE (operands[0]))
24663 : : {
24664 : : case E_QImode:
24665 : : if (pattern814 (x3,
24666 : : E_QImode) != 0
24667 : : || !
24668 : : #line 7098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24669 : : (TARGET_APX_NF && reload_completed
24670 : : && ix86_lea_for_add_ok (insn, operands)))
24671 : : return NULL;
24672 : : return gen_split_135 (insn, operands);
24673 : :
24674 : : case E_HImode:
24675 : : if (pattern814 (x3,
24676 : : E_HImode) != 0
24677 : : || !
24678 : : #line 7098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24679 : : (TARGET_APX_NF && reload_completed
24680 : : && ix86_lea_for_add_ok (insn, operands)))
24681 : : return NULL;
24682 : : return gen_split_136 (insn, operands);
24683 : :
24684 : : case E_SImode:
24685 : : if (pattern815 (x3,
24686 : : E_SImode) != 0
24687 : : || !
24688 : : #line 7098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24689 : : (TARGET_APX_NF && reload_completed
24690 : : && ix86_lea_for_add_ok (insn, operands)))
24691 : : return NULL;
24692 : : return gen_split_137 (insn, operands);
24693 : :
24694 : : case E_DImode:
24695 : : if (pattern815 (x3,
24696 : : E_DImode) != 0
24697 : : || !(
24698 : : #line 7098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24699 : : (TARGET_APX_NF && reload_completed
24700 : : && ix86_lea_for_add_ok (insn, operands)) &&
24701 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24702 : : (TARGET_64BIT)))
24703 : : return NULL;
24704 : : return gen_split_138 (insn, operands);
24705 : :
24706 : : default:
24707 : : return NULL;
24708 : : }
24709 : :
24710 : : case PLUS:
24711 : : x6 = XEXP (x4, 0);
24712 : : switch (GET_CODE (x6))
24713 : : {
24714 : : case REG:
24715 : : case SUBREG:
24716 : : switch (pattern418 (x3))
24717 : : {
24718 : : case 0:
24719 : : if (!(
24720 : : #line 7889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24721 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24722 : : #line 7891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24723 : : ( reload_completed)))
24724 : : return NULL;
24725 : : return gen_split_156 (insn, operands);
24726 : :
24727 : : case 1:
24728 : : if (!(
24729 : : #line 7889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24730 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24731 : : #line 7891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24732 : : ( reload_completed)))
24733 : : return NULL;
24734 : : return gen_split_157 (insn, operands);
24735 : :
24736 : : default:
24737 : : return NULL;
24738 : : }
24739 : :
24740 : : case MULT:
24741 : : switch (pattern421 (x3))
24742 : : {
24743 : : case 0:
24744 : : if (!(
24745 : : #line 7955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24746 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24747 : : #line 7957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24748 : : ( reload_completed)))
24749 : : return NULL;
24750 : : return gen_split_162 (insn, operands);
24751 : :
24752 : : case 1:
24753 : : if (!(
24754 : : #line 7955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24755 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24756 : : #line 7957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24757 : : ( reload_completed)))
24758 : : return NULL;
24759 : : return gen_split_163 (insn, operands);
24760 : :
24761 : : default:
24762 : : return NULL;
24763 : : }
24764 : :
24765 : : case ASHIFT:
24766 : : switch (pattern563 (x3))
24767 : : {
24768 : : case 0:
24769 : : if (!(
24770 : : #line 7981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24771 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24772 : : #line 7983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24773 : : ( reload_completed)))
24774 : : return NULL;
24775 : : return gen_split_164 (insn, operands);
24776 : :
24777 : : case 1:
24778 : : if (!(
24779 : : #line 7981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24780 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24781 : : #line 7983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24782 : : ( reload_completed)))
24783 : : return NULL;
24784 : : return gen_split_165 (insn, operands);
24785 : :
24786 : : default:
24787 : : return NULL;
24788 : : }
24789 : :
24790 : : default:
24791 : : return NULL;
24792 : : }
24793 : :
24794 : : case MULT:
24795 : : switch (pattern389 (x3))
24796 : : {
24797 : : case 0:
24798 : : if (!(
24799 : : #line 7911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24800 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24801 : : #line 7913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24802 : : ( reload_completed)))
24803 : : return NULL;
24804 : : return gen_split_158 (insn, operands);
24805 : :
24806 : : case 1:
24807 : : if (!(
24808 : : #line 7911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24809 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24810 : : #line 7913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24811 : : ( reload_completed)))
24812 : : return NULL;
24813 : : return gen_split_159 (insn, operands);
24814 : :
24815 : : default:
24816 : : return NULL;
24817 : : }
24818 : :
24819 : : case ASHIFT:
24820 : : x7 = XEXP (x4, 1);
24821 : : operands[2] = x7;
24822 : : x6 = XEXP (x4, 0);
24823 : : switch (GET_CODE (x6))
24824 : : {
24825 : : case REG:
24826 : : case SUBREG:
24827 : : operands[1] = x6;
24828 : : x5 = XEXP (x3, 1);
24829 : : switch (GET_CODE (x5))
24830 : : {
24831 : : case CONST_INT:
24832 : : case CONST_WIDE_INT:
24833 : : case CONST_POLY_INT:
24834 : : case CONST_FIXED:
24835 : : case CONST_DOUBLE:
24836 : : case CONST_VECTOR:
24837 : : case CONST:
24838 : : case REG:
24839 : : case SUBREG:
24840 : : case LABEL_REF:
24841 : : case SYMBOL_REF:
24842 : : case HIGH:
24843 : : operands[3] = x5;
24844 : : switch (GET_MODE (operands[0]))
24845 : : {
24846 : : case E_QImode:
24847 : : if (pattern1069 (x3,
24848 : : E_QImode) != 0
24849 : : || !(
24850 : : #line 7932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24851 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24852 : : #line 7934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24853 : : ( reload_completed)))
24854 : : return NULL;
24855 : : return gen_split_160 (insn, operands);
24856 : :
24857 : : case E_HImode:
24858 : : if (pattern1069 (x3,
24859 : : E_HImode) != 0
24860 : : || !(
24861 : : #line 7932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24862 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24863 : : #line 7934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24864 : : ( reload_completed)))
24865 : : return NULL;
24866 : : return gen_split_161 (insn, operands);
24867 : :
24868 : : case E_DImode:
24869 : : if (pattern592 (x3,
24870 : : E_DImode) != 0
24871 : : || !((
24872 : : #line 14274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24873 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
24874 : : && (DImode == DImode
24875 : : ? CONST_INT_P (operands[3])
24876 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24877 : : : CONST_INT_P (operands[3])
24878 : : ? INTVAL (operands[3]) >= 0
24879 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24880 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24881 : : && !(CONST_INT_P (operands[3])
24882 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24883 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24884 : : 0)),
24885 : : VOIDmode))) &&
24886 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24887 : : (!TARGET_64BIT)) &&
24888 : : #line 14288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24889 : : ( reload_completed)))
24890 : : return NULL;
24891 : : return gen_split_472 (insn, operands);
24892 : :
24893 : : case E_TImode:
24894 : : if (pattern592 (x3,
24895 : : E_TImode) != 0
24896 : : || !((
24897 : : #line 14274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24898 : : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
24899 : : && (TImode == DImode
24900 : : ? CONST_INT_P (operands[3])
24901 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24902 : : : CONST_INT_P (operands[3])
24903 : : ? INTVAL (operands[3]) >= 0
24904 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24905 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24906 : : && !(CONST_INT_P (operands[3])
24907 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24908 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24909 : : 0)),
24910 : : VOIDmode))) &&
24911 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24912 : : (TARGET_64BIT)) &&
24913 : : #line 14288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24914 : : ( reload_completed)))
24915 : : return NULL;
24916 : : return gen_split_475 (insn, operands);
24917 : :
24918 : : default:
24919 : : return NULL;
24920 : : }
24921 : :
24922 : : case ZERO_EXTEND:
24923 : : switch (pattern936 (x3))
24924 : : {
24925 : : case 0:
24926 : : if (!((
24927 : : #line 14197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24928 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24929 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24930 : : (!TARGET_64BIT)) &&
24931 : : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24932 : : ( reload_completed)))
24933 : : return NULL;
24934 : : return gen_split_436 (insn, operands);
24935 : :
24936 : : case 1:
24937 : : if (!((
24938 : : #line 14197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24939 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24940 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24941 : : (TARGET_64BIT)) &&
24942 : : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24943 : : ( reload_completed)))
24944 : : return NULL;
24945 : : return gen_split_439 (insn, operands);
24946 : :
24947 : : default:
24948 : : return NULL;
24949 : : }
24950 : :
24951 : : default:
24952 : : return NULL;
24953 : : }
24954 : :
24955 : : case SIGN_EXTEND:
24956 : : switch (pattern698 (x3))
24957 : : {
24958 : : case 0:
24959 : : if (!((
24960 : : #line 14233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24961 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24962 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24963 : : (!TARGET_64BIT)) &&
24964 : : #line 14235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24965 : : ( reload_completed)))
24966 : : return NULL;
24967 : : return gen_split_448 (insn, operands);
24968 : :
24969 : : case 1:
24970 : : if (!((
24971 : : #line 14233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24972 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24973 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24974 : : (TARGET_64BIT)) &&
24975 : : #line 14235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24976 : : ( reload_completed)))
24977 : : return NULL;
24978 : : return gen_split_454 (insn, operands);
24979 : :
24980 : : case 2:
24981 : : if (!((
24982 : : #line 14306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24983 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
24984 : : && (DImode == DImode
24985 : : ? CONST_INT_P (operands[3])
24986 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24987 : : : CONST_INT_P (operands[3])
24988 : : ? INTVAL (operands[3]) >= 0
24989 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24990 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24991 : : && !(CONST_INT_P (operands[3])
24992 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24993 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24994 : : 0)),
24995 : : VOIDmode))) &&
24996 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24997 : : (!TARGET_64BIT)) &&
24998 : : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24999 : : ( reload_completed)))
25000 : : return NULL;
25001 : : return gen_split_478 (insn, operands);
25002 : :
25003 : : case 3:
25004 : : if (!((
25005 : : #line 14306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25006 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
25007 : : && (TImode == DImode
25008 : : ? CONST_INT_P (operands[3])
25009 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
25010 : : : CONST_INT_P (operands[3])
25011 : : ? INTVAL (operands[3]) >= 0
25012 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
25013 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
25014 : : && !(CONST_INT_P (operands[3])
25015 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
25016 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
25017 : : 0)),
25018 : : VOIDmode))) &&
25019 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25020 : : (TARGET_64BIT)) &&
25021 : : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25022 : : ( reload_completed)))
25023 : : return NULL;
25024 : : return gen_split_484 (insn, operands);
25025 : :
25026 : : default:
25027 : : return NULL;
25028 : : }
25029 : :
25030 : : case ZERO_EXTEND:
25031 : : switch (pattern698 (x3))
25032 : : {
25033 : : case 0:
25034 : : if (!((
25035 : : #line 14233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25036 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
25037 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25038 : : (!TARGET_64BIT)) &&
25039 : : #line 14235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25040 : : ( reload_completed)))
25041 : : return NULL;
25042 : : return gen_split_451 (insn, operands);
25043 : :
25044 : : case 1:
25045 : : if (!((
25046 : : #line 14233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25047 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
25048 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25049 : : (TARGET_64BIT)) &&
25050 : : #line 14235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25051 : : ( reload_completed)))
25052 : : return NULL;
25053 : : return gen_split_457 (insn, operands);
25054 : :
25055 : : case 2:
25056 : : if (!((
25057 : : #line 14306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25058 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
25059 : : && (DImode == DImode
25060 : : ? CONST_INT_P (operands[3])
25061 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
25062 : : : CONST_INT_P (operands[3])
25063 : : ? INTVAL (operands[3]) >= 0
25064 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
25065 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
25066 : : && !(CONST_INT_P (operands[3])
25067 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
25068 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
25069 : : 0)),
25070 : : VOIDmode))) &&
25071 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25072 : : (!TARGET_64BIT)) &&
25073 : : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25074 : : ( reload_completed)))
25075 : : return NULL;
25076 : : return gen_split_481 (insn, operands);
25077 : :
25078 : : case 3:
25079 : : if (!((
25080 : : #line 14306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25081 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
25082 : : && (TImode == DImode
25083 : : ? CONST_INT_P (operands[3])
25084 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
25085 : : : CONST_INT_P (operands[3])
25086 : : ? INTVAL (operands[3]) >= 0
25087 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
25088 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
25089 : : && !(CONST_INT_P (operands[3])
25090 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
25091 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
25092 : : 0)),
25093 : : VOIDmode))) &&
25094 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25095 : : (TARGET_64BIT)) &&
25096 : : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25097 : : ( reload_completed)))
25098 : : return NULL;
25099 : : return gen_split_487 (insn, operands);
25100 : :
25101 : : default:
25102 : : return NULL;
25103 : : }
25104 : :
25105 : : default:
25106 : : return NULL;
25107 : : }
25108 : :
25109 : : case ZERO_EXTEND:
25110 : : switch (pattern394 (x3))
25111 : : {
25112 : : case 0:
25113 : : if (!((
25114 : : #line 14214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25115 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25116 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25117 : : (!TARGET_64BIT)) &&
25118 : : #line 14216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25119 : : ( reload_completed)))
25120 : : return NULL;
25121 : : return gen_split_442 (insn, operands);
25122 : :
25123 : : case 1:
25124 : : if (!((
25125 : : #line 14214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25126 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25127 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25128 : : (TARGET_64BIT)) &&
25129 : : #line 14216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25130 : : ( reload_completed)))
25131 : : return NULL;
25132 : : return gen_split_445 (insn, operands);
25133 : :
25134 : : case 2:
25135 : : if (!((
25136 : : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25137 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25138 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25139 : : (!TARGET_64BIT)) &&
25140 : : #line 14260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25141 : : ( reload_completed)))
25142 : : return NULL;
25143 : : return gen_split_460 (insn, operands);
25144 : :
25145 : : case 3:
25146 : : if (!((
25147 : : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25148 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25149 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25150 : : (TARGET_64BIT)) &&
25151 : : #line 14260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25152 : : ( reload_completed)))
25153 : : return NULL;
25154 : : return gen_split_466 (insn, operands);
25155 : :
25156 : : case 4:
25157 : : if (!((
25158 : : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25159 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25160 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25161 : : (!TARGET_64BIT)) &&
25162 : : #line 14260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25163 : : ( reload_completed)))
25164 : : return NULL;
25165 : : return gen_split_463 (insn, operands);
25166 : :
25167 : : case 5:
25168 : : if (!((
25169 : : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25170 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25171 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25172 : : (TARGET_64BIT)) &&
25173 : : #line 14260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25174 : : ( reload_completed)))
25175 : : return NULL;
25176 : : return gen_split_469 (insn, operands);
25177 : :
25178 : : case 6:
25179 : : if (!((
25180 : : #line 14335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25181 : : (DImode == DImode
25182 : : ? CONST_INT_P (operands[2])
25183 : : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
25184 : : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
25185 : : : CONST_WIDE_INT_P (operands[2])
25186 : : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
25187 : : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
25188 : : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
25189 : : 1)),
25190 : : VOIDmode)) &&
25191 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25192 : : (!TARGET_64BIT)) &&
25193 : : #line 14346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25194 : : ( reload_completed)))
25195 : : return NULL;
25196 : : return gen_split_490 (insn, operands);
25197 : :
25198 : : case 7:
25199 : : if (!((
25200 : : #line 14335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25201 : : (TImode == DImode
25202 : : ? CONST_INT_P (operands[2])
25203 : : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
25204 : : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
25205 : : : CONST_WIDE_INT_P (operands[2])
25206 : : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
25207 : : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
25208 : : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
25209 : : 1)),
25210 : : VOIDmode)) &&
25211 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25212 : : (TARGET_64BIT)) &&
25213 : : #line 14346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25214 : : ( reload_completed)))
25215 : : return NULL;
25216 : : return gen_split_493 (insn, operands);
25217 : :
25218 : : default:
25219 : : return NULL;
25220 : : }
25221 : :
25222 : : default:
25223 : : return NULL;
25224 : : }
25225 : : }
25226 : :
25227 : : rtx_insn *
25228 : : split_21 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25229 : : {
25230 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25231 : : rtx x2, x3, x4, x5, x6;
25232 : : rtx_insn *res ATTRIBUTE_UNUSED;
25233 : : x2 = XVECEXP (x1, 0, 0);
25234 : : x3 = XEXP (x2, 0);
25235 : : operands[0] = x3;
25236 : : x4 = XEXP (x2, 1);
25237 : : x5 = XEXP (x4, 0);
25238 : : if (rtx_equal_p (x5, operands[0]))
25239 : : {
25240 : : x6 = XEXP (x4, 1);
25241 : : switch (XWINT (x6, 0))
25242 : : {
25243 : : case -65536L:
25244 : : if (register_operand (operands[0], E_SImode)
25245 : : && GET_MODE (x4) == E_SImode
25246 : : &&
25247 : : #line 13013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25248 : : ((TARGET_FAST_PREFIX && !TARGET_PARTIAL_REG_STALL)
25249 : : || optimize_function_for_size_p (cfun)))
25250 : : return gen_split_320 (insn, operands);
25251 : : break;
25252 : :
25253 : : case -256L:
25254 : : switch (GET_MODE (operands[0]))
25255 : : {
25256 : : case E_HImode:
25257 : : if (any_QIreg_operand (operands[0], E_HImode)
25258 : : && GET_MODE (x4) == E_HImode
25259 : : &&
25260 : : #line 13023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25261 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25262 : : && reload_completed))
25263 : : return gen_split_322 (insn, operands);
25264 : : break;
25265 : :
25266 : : case E_SImode:
25267 : : if (any_QIreg_operand (operands[0], E_SImode)
25268 : : && GET_MODE (x4) == E_SImode
25269 : : &&
25270 : : #line 13023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25271 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25272 : : && reload_completed))
25273 : : return gen_split_323 (insn, operands);
25274 : : break;
25275 : :
25276 : : default:
25277 : : break;
25278 : : }
25279 : : break;
25280 : :
25281 : : case -65281L:
25282 : : switch (GET_MODE (operands[0]))
25283 : : {
25284 : : case E_HImode:
25285 : : if (QIreg_operand (operands[0], E_HImode)
25286 : : && GET_MODE (x4) == E_HImode
25287 : : &&
25288 : : #line 13033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25289 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25290 : : && reload_completed))
25291 : : return gen_split_325 (insn, operands);
25292 : : break;
25293 : :
25294 : : case E_SImode:
25295 : : if (QIreg_operand (operands[0], E_SImode)
25296 : : && GET_MODE (x4) == E_SImode
25297 : : &&
25298 : : #line 13033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25299 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25300 : : && reload_completed))
25301 : : return gen_split_326 (insn, operands);
25302 : : break;
25303 : :
25304 : : default:
25305 : : break;
25306 : : }
25307 : : break;
25308 : :
25309 : : default:
25310 : : break;
25311 : : }
25312 : : }
25313 : : operands[1] = x5;
25314 : : x6 = XEXP (x4, 1);
25315 : : operands[2] = x6;
25316 : : switch (GET_MODE (operands[0]))
25317 : : {
25318 : : case E_HImode:
25319 : : if (GET_MODE (x4) != E_HImode
25320 : : || !const_int_operand (operands[2], E_HImode))
25321 : : return NULL;
25322 : : if (QIreg_operand (operands[0], E_HImode)
25323 : : && register_operand (operands[1], E_HImode)
25324 : : &&
25325 : : #line 13398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25326 : : (reload_completed
25327 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25328 : : && !(~INTVAL (operands[2]) & ~(255 << 8))
25329 : : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
25330 : : return gen_split_373 (insn, operands);
25331 : : if (!any_QIreg_operand (operands[0], E_HImode)
25332 : : || !general_operand (operands[1], E_HImode)
25333 : : || !
25334 : : #line 13427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25335 : : (reload_completed
25336 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25337 : : && !(~INTVAL (operands[2]) & ~255)
25338 : : && !(INTVAL (operands[2]) & 128)
25339 : : && !(TARGET_APX_NDD
25340 : : && !rtx_equal_p (operands[0], operands[1]))))
25341 : : return NULL;
25342 : : return gen_split_376 (insn, operands);
25343 : :
25344 : : case E_SImode:
25345 : : if (GET_MODE (x4) != E_SImode
25346 : : || !const_int_operand (operands[2], E_SImode))
25347 : : return NULL;
25348 : : if (QIreg_operand (operands[0], E_SImode)
25349 : : && register_operand (operands[1], E_SImode)
25350 : : &&
25351 : : #line 13398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25352 : : (reload_completed
25353 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25354 : : && !(~INTVAL (operands[2]) & ~(255 << 8))
25355 : : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
25356 : : return gen_split_374 (insn, operands);
25357 : : if (!any_QIreg_operand (operands[0], E_SImode)
25358 : : || !general_operand (operands[1], E_SImode)
25359 : : || !
25360 : : #line 13427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25361 : : (reload_completed
25362 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25363 : : && !(~INTVAL (operands[2]) & ~255)
25364 : : && !(INTVAL (operands[2]) & 128)
25365 : : && !(TARGET_APX_NDD
25366 : : && !rtx_equal_p (operands[0], operands[1]))))
25367 : : return NULL;
25368 : : return gen_split_377 (insn, operands);
25369 : :
25370 : : default:
25371 : : return NULL;
25372 : : }
25373 : : }
25374 : :
25375 : : rtx_insn *
25376 : : split_26 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25377 : : {
25378 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25379 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25380 : : rtx x10, x11, x12, x13;
25381 : : rtx_insn *res ATTRIBUTE_UNUSED;
25382 : : x2 = XVECEXP (x1, 0, 1);
25383 : : if (pattern222 (x2,
25384 : : E_CCmode,
25385 : : 17) != 0)
25386 : : return NULL;
25387 : : x3 = XVECEXP (x1, 0, 0);
25388 : : x4 = XEXP (x3, 1);
25389 : : x5 = XEXP (x4, 0);
25390 : : switch (GET_CODE (x5))
25391 : : {
25392 : : case CONST_INT:
25393 : : case CONST_WIDE_INT:
25394 : : case CONST_POLY_INT:
25395 : : case CONST_FIXED:
25396 : : case CONST_DOUBLE:
25397 : : case CONST_VECTOR:
25398 : : case CONST:
25399 : : case REG:
25400 : : case SUBREG:
25401 : : case MEM:
25402 : : case LABEL_REF:
25403 : : case SYMBOL_REF:
25404 : : case HIGH:
25405 : : operands[1] = x5;
25406 : : switch (pattern1166 (x3))
25407 : : {
25408 : : case 0:
25409 : : if ((
25410 : : #line 12900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25411 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25412 : : #line 12904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25413 : : ( reload_completed
25414 : : && !(rtx_equal_p (operands[0], operands[1])
25415 : : || rtx_equal_p (operands[0], operands[2])))))
25416 : : return gen_split_294 (insn, operands);
25417 : : break;
25418 : :
25419 : : case 1:
25420 : : if ((
25421 : : #line 12900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25422 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25423 : : #line 12904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25424 : : ( reload_completed
25425 : : && !(rtx_equal_p (operands[0], operands[1])
25426 : : || rtx_equal_p (operands[0], operands[2])))))
25427 : : return gen_split_297 (insn, operands);
25428 : : break;
25429 : :
25430 : : case 2:
25431 : : if (nonimmediate_operand (operands[0], E_DImode)
25432 : : && nonimmediate_operand (operands[1], E_DImode))
25433 : : {
25434 : : if (x86_64_hilo_general_operand (operands[2], E_DImode)
25435 : : && ((
25436 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25437 : : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
25438 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25439 : : (!TARGET_64BIT)) &&
25440 : : #line 13666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25441 : : ( reload_completed)))
25442 : : return gen_split_393 (insn, operands);
25443 : : if (const_int_operand (operands[2], E_DImode)
25444 : : && (
25445 : : #line 13770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25446 : : (TARGET_64BIT && TARGET_USE_BT
25447 : : && ix86_binary_operator_ok (IOR, DImode, operands)
25448 : : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)) &&
25449 : : #line 13774 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25450 : : ( reload_completed)))
25451 : : return gen_split_400 (insn, operands);
25452 : : }
25453 : : if (const_int_operand (operands[2], E_DImode))
25454 : : {
25455 : : if (QIreg_operand (operands[0], E_DImode)
25456 : : && register_operand (operands[1], E_DImode)
25457 : : && (
25458 : : #line 14089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25459 : : (reload_completed
25460 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25461 : : && !(INTVAL (operands[2]) & ~(255 << 8))
25462 : : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))) &&
25463 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25464 : : (TARGET_64BIT)))
25465 : : return gen_split_428 (insn, operands);
25466 : : if (any_QIreg_operand (operands[0], E_DImode)
25467 : : && general_operand (operands[1], E_DImode)
25468 : : && (
25469 : : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25470 : : (reload_completed
25471 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25472 : : && !(INTVAL (operands[2]) & ~255)
25473 : : && (INTVAL (operands[2]) & 128)
25474 : : && !(TARGET_APX_NDD
25475 : : && !rtx_equal_p (operands[0], operands[1]))) &&
25476 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25477 : : (TARGET_64BIT)))
25478 : : return gen_split_434 (insn, operands);
25479 : : }
25480 : : break;
25481 : :
25482 : : case 3:
25483 : : if (((
25484 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25485 : : (ix86_binary_operator_ok (IOR, TImode, operands, TARGET_APX_NDD)) &&
25486 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25487 : : (TARGET_64BIT)) &&
25488 : : #line 13666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25489 : : ( reload_completed)))
25490 : : return gen_split_395 (insn, operands);
25491 : : break;
25492 : :
25493 : : case 4:
25494 : : if (QIreg_operand (operands[0], E_HImode)
25495 : : && register_operand (operands[1], E_HImode)
25496 : : &&
25497 : : #line 14089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25498 : : (reload_completed
25499 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25500 : : && !(INTVAL (operands[2]) & ~(255 << 8))
25501 : : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
25502 : : return gen_split_424 (insn, operands);
25503 : : if (any_QIreg_operand (operands[0], E_HImode)
25504 : : && general_operand (operands[1], E_HImode)
25505 : : &&
25506 : : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25507 : : (reload_completed
25508 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25509 : : && !(INTVAL (operands[2]) & ~255)
25510 : : && (INTVAL (operands[2]) & 128)
25511 : : && !(TARGET_APX_NDD
25512 : : && !rtx_equal_p (operands[0], operands[1]))))
25513 : : return gen_split_430 (insn, operands);
25514 : : break;
25515 : :
25516 : : case 5:
25517 : : if (QIreg_operand (operands[0], E_SImode)
25518 : : && register_operand (operands[1], E_SImode)
25519 : : &&
25520 : : #line 14089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25521 : : (reload_completed
25522 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25523 : : && !(INTVAL (operands[2]) & ~(255 << 8))
25524 : : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
25525 : : return gen_split_426 (insn, operands);
25526 : : if (any_QIreg_operand (operands[0], E_SImode)
25527 : : && general_operand (operands[1], E_SImode)
25528 : : &&
25529 : : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25530 : : (reload_completed
25531 : : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25532 : : && !(INTVAL (operands[2]) & ~255)
25533 : : && (INTVAL (operands[2]) & 128)
25534 : : && !(TARGET_APX_NDD
25535 : : && !rtx_equal_p (operands[0], operands[1]))))
25536 : : return gen_split_432 (insn, operands);
25537 : : break;
25538 : :
25539 : : default:
25540 : : break;
25541 : : }
25542 : : if (GET_CODE (x5) != SUBREG
25543 : : || pattern1165 (x4) != 0)
25544 : : return NULL;
25545 : : x6 = XEXP (x5, 0);
25546 : : x7 = XEXP (x6, 0);
25547 : : operands[2] = x7;
25548 : : switch (pattern1620 (x3))
25549 : : {
25550 : : case 0:
25551 : : if ((
25552 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25553 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25554 : : #line 12929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25555 : : ( reload_completed
25556 : : && !rtx_equal_p (operands[0], operands[1]))))
25557 : : return gen_split_300 (insn, operands);
25558 : : break;
25559 : :
25560 : : case 1:
25561 : : if ((
25562 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25563 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25564 : : #line 12929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25565 : : ( reload_completed
25566 : : && !rtx_equal_p (operands[0], operands[1]))))
25567 : : return gen_split_303 (insn, operands);
25568 : : break;
25569 : :
25570 : : case 2:
25571 : : if (((
25572 : : #line 12925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25573 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25574 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25575 : : (TARGET_64BIT)) &&
25576 : : #line 12929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25577 : : ( reload_completed
25578 : : && !rtx_equal_p (operands[0], operands[1]))))
25579 : : return gen_split_306 (insn, operands);
25580 : : break;
25581 : :
25582 : : default:
25583 : : break;
25584 : : }
25585 : : operands[1] = x7;
25586 : : switch (pattern1621 (x3))
25587 : : {
25588 : : case 0:
25589 : : if (!(
25590 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25591 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25592 : : #line 12956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25593 : : ( reload_completed)))
25594 : : return NULL;
25595 : : return gen_split_309 (insn, operands);
25596 : :
25597 : : case 1:
25598 : : if (!(
25599 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25600 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25601 : : #line 12956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25602 : : ( reload_completed)))
25603 : : return NULL;
25604 : : return gen_split_312 (insn, operands);
25605 : :
25606 : : case 2:
25607 : : if (!((
25608 : : #line 12954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25609 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25610 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25611 : : (TARGET_64BIT)) &&
25612 : : #line 12956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25613 : : ( reload_completed)))
25614 : : return NULL;
25615 : : return gen_split_315 (insn, operands);
25616 : :
25617 : : case 3:
25618 : : if (!
25619 : : #line 13191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25620 : : ( reload_completed))
25621 : : return NULL;
25622 : : return gen_split_329 (insn, operands);
25623 : :
25624 : : case 4:
25625 : : if (!
25626 : : #line 13191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25627 : : ( reload_completed))
25628 : : return NULL;
25629 : : return gen_split_332 (insn, operands);
25630 : :
25631 : : case 5:
25632 : : if (!(
25633 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25634 : : (TARGET_64BIT) &&
25635 : : #line 13191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25636 : : ( reload_completed)))
25637 : : return NULL;
25638 : : return gen_split_335 (insn, operands);
25639 : :
25640 : : default:
25641 : : return NULL;
25642 : : }
25643 : :
25644 : : case ASHIFT:
25645 : : x8 = XEXP (x3, 0);
25646 : : operands[0] = x8;
25647 : : x6 = XEXP (x5, 0);
25648 : : switch (GET_CODE (x6))
25649 : : {
25650 : : case REG:
25651 : : case SUBREG:
25652 : : case MEM:
25653 : : x9 = XEXP (x4, 1);
25654 : : if (GET_CODE (x9) != LSHIFTRT)
25655 : : return NULL;
25656 : : switch (pattern1231 (x4))
25657 : : {
25658 : : case 0:
25659 : : if (!(
25660 : : #line 15670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25661 : : (TARGET_64BIT
25662 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
25663 : : && ix86_pre_reload_split ()) &&
25664 : : #line 15674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25665 : : ( 1)))
25666 : : return NULL;
25667 : : return gen_split_569 (insn, operands);
25668 : :
25669 : : case 1:
25670 : : if (!(
25671 : : #line 15902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25672 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
25673 : : && ix86_pre_reload_split ()) &&
25674 : : #line 15905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25675 : : ( 1)))
25676 : : return NULL;
25677 : : return gen_split_573 (insn, operands);
25678 : :
25679 : : case 2:
25680 : : x10 = XEXP (x9, 0);
25681 : : operands[1] = x10;
25682 : : if (nonimmediate_operand (operands[0], E_DImode))
25683 : : {
25684 : : x11 = XEXP (x5, 1);
25685 : : operands[2] = x11;
25686 : : if (rtx_equal_p (x6, operands[0]))
25687 : : {
25688 : : x12 = XEXP (x9, 1);
25689 : : x13 = XEXP (x12, 1);
25690 : : if (rtx_equal_p (x13, operands[2])
25691 : : && (
25692 : : #line 15723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25693 : : (TARGET_64BIT && ix86_pre_reload_split ()) &&
25694 : : #line 15725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25695 : : ( 1)))
25696 : : return gen_split_570 (insn, operands);
25697 : : }
25698 : : }
25699 : : operands[2] = x10;
25700 : : if (!register_operand (operands[0], E_DImode))
25701 : : return NULL;
25702 : : operands[1] = x6;
25703 : : if (!nonimmediate_operand (operands[1], E_DImode))
25704 : : return NULL;
25705 : : x11 = XEXP (x5, 1);
25706 : : operands[3] = x11;
25707 : : x12 = XEXP (x9, 1);
25708 : : x13 = XEXP (x12, 1);
25709 : : if (!rtx_equal_p (x13, operands[3])
25710 : : || !(
25711 : : #line 15744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25712 : : (TARGET_APX_NDD
25713 : : && ix86_pre_reload_split ()) &&
25714 : : #line 15747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25715 : : ( 1)))
25716 : : return NULL;
25717 : : return gen_split_571 (insn, operands);
25718 : :
25719 : : case 3:
25720 : : x10 = XEXP (x9, 0);
25721 : : operands[1] = x10;
25722 : : if (nonimmediate_operand (operands[0], E_SImode))
25723 : : {
25724 : : x11 = XEXP (x5, 1);
25725 : : operands[2] = x11;
25726 : : if (rtx_equal_p (x6, operands[0]))
25727 : : {
25728 : : x12 = XEXP (x9, 1);
25729 : : x13 = XEXP (x12, 1);
25730 : : if (rtx_equal_p (x13, operands[2])
25731 : : && (
25732 : : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25733 : : (TARGET_64BIT && ix86_pre_reload_split ()) &&
25734 : : #line 15956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25735 : : ( 1)))
25736 : : return gen_split_574 (insn, operands);
25737 : : }
25738 : : }
25739 : : operands[2] = x10;
25740 : : if (!register_operand (operands[0], E_SImode))
25741 : : return NULL;
25742 : : operands[1] = x6;
25743 : : if (!nonimmediate_operand (operands[1], E_SImode))
25744 : : return NULL;
25745 : : x11 = XEXP (x5, 1);
25746 : : operands[3] = x11;
25747 : : x12 = XEXP (x9, 1);
25748 : : x13 = XEXP (x12, 1);
25749 : : if (!rtx_equal_p (x13, operands[3])
25750 : : || !(
25751 : : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25752 : : (TARGET_APX_NDD
25753 : : && ix86_pre_reload_split ()) &&
25754 : : #line 15978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25755 : : ( 1)))
25756 : : return NULL;
25757 : : return gen_split_575 (insn, operands);
25758 : :
25759 : : default:
25760 : : return NULL;
25761 : : }
25762 : :
25763 : : case CONST_INT:
25764 : : if (XWINT (x6, 0) != 1L)
25765 : : return NULL;
25766 : : switch (pattern1046 (x4))
25767 : : {
25768 : : case 0:
25769 : : if (!(
25770 : : #line 18977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25771 : : (TARGET_USE_BT
25772 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
25773 : : == GET_MODE_BITSIZE (SImode)-1
25774 : : && ix86_pre_reload_split ()) &&
25775 : : #line 18982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25776 : : ( 1)))
25777 : : return NULL;
25778 : : return gen_split_802 (insn, operands);
25779 : :
25780 : : case 1:
25781 : : if (!((
25782 : : #line 18977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25783 : : (TARGET_USE_BT
25784 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
25785 : : == GET_MODE_BITSIZE (DImode)-1
25786 : : && ix86_pre_reload_split ()) &&
25787 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25788 : : (TARGET_64BIT)) &&
25789 : : #line 18982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25790 : : ( 1)))
25791 : : return NULL;
25792 : : return gen_split_804 (insn, operands);
25793 : :
25794 : : case 2:
25795 : : if (!(
25796 : : #line 19005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25797 : : (TARGET_USE_BT
25798 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
25799 : : == GET_MODE_BITSIZE (SImode)-1
25800 : : && ix86_pre_reload_split ()) &&
25801 : : #line 19010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25802 : : ( 1)))
25803 : : return NULL;
25804 : : return gen_split_806 (insn, operands);
25805 : :
25806 : : case 3:
25807 : : if (!((
25808 : : #line 19005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25809 : : (TARGET_USE_BT
25810 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
25811 : : == GET_MODE_BITSIZE (DImode)-1
25812 : : && ix86_pre_reload_split ()) &&
25813 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25814 : : (TARGET_64BIT)) &&
25815 : : #line 19010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25816 : : ( 1)))
25817 : : return NULL;
25818 : : return gen_split_808 (insn, operands);
25819 : :
25820 : : default:
25821 : : return NULL;
25822 : : }
25823 : :
25824 : : default:
25825 : : return NULL;
25826 : : }
25827 : :
25828 : : case LSHIFTRT:
25829 : : x9 = XEXP (x4, 1);
25830 : : if (GET_CODE (x9) != ASHIFT)
25831 : : return NULL;
25832 : : x8 = XEXP (x3, 0);
25833 : : operands[0] = x8;
25834 : : switch (pattern1231 (x4))
25835 : : {
25836 : : case 0:
25837 : : if (!(
25838 : : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25839 : : (TARGET_64BIT
25840 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
25841 : : && ix86_pre_reload_split ()) &&
25842 : : #line 17057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25843 : : ( 1)))
25844 : : return NULL;
25845 : : return gen_split_616 (insn, operands);
25846 : :
25847 : : case 1:
25848 : : if (!(
25849 : : #line 17284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25850 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
25851 : : && ix86_pre_reload_split ()) &&
25852 : : #line 17287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25853 : : ( 1)))
25854 : : return NULL;
25855 : : return gen_split_620 (insn, operands);
25856 : :
25857 : : case 2:
25858 : : x10 = XEXP (x9, 0);
25859 : : operands[1] = x10;
25860 : : if (nonimmediate_operand (operands[0], E_DImode))
25861 : : {
25862 : : x11 = XEXP (x5, 1);
25863 : : operands[2] = x11;
25864 : : x6 = XEXP (x5, 0);
25865 : : if (rtx_equal_p (x6, operands[0]))
25866 : : {
25867 : : x12 = XEXP (x9, 1);
25868 : : x13 = XEXP (x12, 1);
25869 : : if (rtx_equal_p (x13, operands[2])
25870 : : && (
25871 : : #line 17106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25872 : : (TARGET_64BIT && ix86_pre_reload_split ()) &&
25873 : : #line 17108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25874 : : ( 1)))
25875 : : return gen_split_617 (insn, operands);
25876 : : }
25877 : : }
25878 : : operands[2] = x10;
25879 : : if (!register_operand (operands[0], E_DImode))
25880 : : return NULL;
25881 : : x6 = XEXP (x5, 0);
25882 : : operands[1] = x6;
25883 : : if (!nonimmediate_operand (operands[1], E_DImode))
25884 : : return NULL;
25885 : : x11 = XEXP (x5, 1);
25886 : : operands[3] = x11;
25887 : : x12 = XEXP (x9, 1);
25888 : : x13 = XEXP (x12, 1);
25889 : : if (!rtx_equal_p (x13, operands[2])
25890 : : || !(
25891 : : #line 17127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25892 : : (TARGET_APX_NDD
25893 : : && ix86_pre_reload_split ()) &&
25894 : : #line 17130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25895 : : ( 1)))
25896 : : return NULL;
25897 : : return gen_split_618 (insn, operands);
25898 : :
25899 : : case 3:
25900 : : x10 = XEXP (x9, 0);
25901 : : operands[1] = x10;
25902 : : if (nonimmediate_operand (operands[0], E_SImode))
25903 : : {
25904 : : x11 = XEXP (x5, 1);
25905 : : operands[2] = x11;
25906 : : x6 = XEXP (x5, 0);
25907 : : if (rtx_equal_p (x6, operands[0]))
25908 : : {
25909 : : x12 = XEXP (x9, 1);
25910 : : x13 = XEXP (x12, 1);
25911 : : if (rtx_equal_p (x13, operands[2])
25912 : : && (
25913 : : #line 17336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25914 : : (TARGET_64BIT && ix86_pre_reload_split ()) &&
25915 : : #line 17338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25916 : : ( 1)))
25917 : : return gen_split_621 (insn, operands);
25918 : : }
25919 : : }
25920 : : operands[2] = x10;
25921 : : if (!register_operand (operands[0], E_SImode))
25922 : : return NULL;
25923 : : x6 = XEXP (x5, 0);
25924 : : operands[1] = x6;
25925 : : if (!nonimmediate_operand (operands[1], E_SImode))
25926 : : return NULL;
25927 : : x11 = XEXP (x5, 1);
25928 : : operands[3] = x11;
25929 : : x12 = XEXP (x9, 1);
25930 : : x13 = XEXP (x12, 1);
25931 : : if (!rtx_equal_p (x13, operands[3])
25932 : : || !(
25933 : : #line 17357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25934 : : (TARGET_APX_NDD
25935 : : && ix86_pre_reload_split ()) &&
25936 : : #line 17360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25937 : : ( 1)))
25938 : : return NULL;
25939 : : return gen_split_622 (insn, operands);
25940 : :
25941 : : default:
25942 : : return NULL;
25943 : : }
25944 : :
25945 : : default:
25946 : : return NULL;
25947 : : }
25948 : : }
25949 : :
25950 : : rtx_insn *
25951 : : split_39 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25952 : : {
25953 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25954 : : rtx x2, x3, x4, x5, x6, x7, x8;
25955 : : rtx_insn *res ATTRIBUTE_UNUSED;
25956 : : x2 = XVECEXP (x1, 0, 0);
25957 : : x3 = XEXP (x2, 0);
25958 : : operands[0] = x3;
25959 : : x4 = XEXP (x2, 1);
25960 : : x5 = XEXP (x4, 0);
25961 : : switch (GET_CODE (x5))
25962 : : {
25963 : : case LSHIFTRT:
25964 : : if (GET_MODE (x5) != E_SImode)
25965 : : return NULL;
25966 : : x6 = XVECEXP (x1, 0, 1);
25967 : : if (pattern222 (x6,
25968 : : E_CCmode,
25969 : : 17) != 0
25970 : : || !mask_reg_operand (operands[0], E_DImode)
25971 : : || GET_MODE (x4) != E_DImode)
25972 : : return NULL;
25973 : : x7 = XEXP (x5, 0);
25974 : : operands[1] = x7;
25975 : : if (!mask_reg_operand (operands[1], E_SImode))
25976 : : return NULL;
25977 : : x8 = XEXP (x5, 1);
25978 : : operands[2] = x8;
25979 : : if (!const_0_to_31_operand (operands[2], E_VOIDmode)
25980 : : || !
25981 : : #line 2322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25982 : : (TARGET_AVX512BW && reload_completed))
25983 : : return NULL;
25984 : : return gen_split_1264 (insn, operands);
25985 : :
25986 : : case UNSPEC:
25987 : : if (pattern343 (x1) != 0)
25988 : : return NULL;
25989 : : switch (pattern1031 (x1))
25990 : : {
25991 : : case 0:
25992 : : if (!(
25993 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25994 : : (TARGET_AVX512F
25995 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
25996 : : && (GET_MODE_NUNITS (V16SImode)
25997 : : < GET_MODE_PRECISION (HImode))
25998 : : && ix86_pre_reload_split ()) &&
25999 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26000 : : ( 1)))
26001 : : return NULL;
26002 : : return gen_split_1376 (insn, operands);
26003 : :
26004 : : case 1:
26005 : : if (!((
26006 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26007 : : (TARGET_AVX512F
26008 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26009 : : && (GET_MODE_NUNITS (V16HFmode)
26010 : : < GET_MODE_PRECISION (HImode))
26011 : : && ix86_pre_reload_split ()) &&
26012 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26013 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
26014 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26015 : : ( 1)))
26016 : : return NULL;
26017 : : return gen_split_1397 (insn, operands);
26018 : :
26019 : : case 2:
26020 : : if (!(
26021 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26022 : : (TARGET_AVX512F
26023 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26024 : : && (GET_MODE_NUNITS (V16SFmode)
26025 : : < GET_MODE_PRECISION (HImode))
26026 : : && ix86_pre_reload_split ()) &&
26027 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26028 : : ( 1)))
26029 : : return NULL;
26030 : : return gen_split_1403 (insn, operands);
26031 : :
26032 : : case 3:
26033 : : if (!((
26034 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26035 : : (TARGET_AVX512BW
26036 : : && (GET_MODE_NUNITS (V16QImode)
26037 : : < GET_MODE_PRECISION (HImode))
26038 : : && ix86_pre_reload_split ()) &&
26039 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26040 : : (TARGET_AVX512VL)) &&
26041 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26042 : : ( 1)))
26043 : : return NULL;
26044 : : return gen_split_1439 (insn, operands);
26045 : :
26046 : : case 4:
26047 : : if (!((
26048 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26049 : : (TARGET_AVX512BW
26050 : : && (GET_MODE_NUNITS (V16HImode)
26051 : : < GET_MODE_PRECISION (HImode))
26052 : : && ix86_pre_reload_split ()) &&
26053 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26054 : : (TARGET_AVX512VL)) &&
26055 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26056 : : ( 1)))
26057 : : return NULL;
26058 : : return gen_split_1448 (insn, operands);
26059 : :
26060 : : case 5:
26061 : : if (!((
26062 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26063 : : (TARGET_AVX512F
26064 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26065 : : && (GET_MODE_NUNITS (V8SImode)
26066 : : < GET_MODE_PRECISION (HImode))
26067 : : && ix86_pre_reload_split ()) &&
26068 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26069 : : (TARGET_AVX512VL)) &&
26070 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26071 : : ( 1)))
26072 : : return NULL;
26073 : : return gen_split_1379 (insn, operands);
26074 : :
26075 : : case 6:
26076 : : if (!((
26077 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26078 : : (TARGET_AVX512F
26079 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26080 : : && (GET_MODE_NUNITS (V4SImode)
26081 : : < GET_MODE_PRECISION (HImode))
26082 : : && ix86_pre_reload_split ()) &&
26083 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26084 : : (TARGET_AVX512VL)) &&
26085 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26086 : : ( 1)))
26087 : : return NULL;
26088 : : return gen_split_1382 (insn, operands);
26089 : :
26090 : : case 7:
26091 : : if (!(
26092 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26093 : : (TARGET_AVX512F
26094 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26095 : : && (GET_MODE_NUNITS (V8DImode)
26096 : : < GET_MODE_PRECISION (HImode))
26097 : : && ix86_pre_reload_split ()) &&
26098 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26099 : : ( 1)))
26100 : : return NULL;
26101 : : return gen_split_1385 (insn, operands);
26102 : :
26103 : : case 8:
26104 : : if (!((
26105 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26106 : : (TARGET_AVX512F
26107 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26108 : : && (GET_MODE_NUNITS (V4DImode)
26109 : : < GET_MODE_PRECISION (HImode))
26110 : : && ix86_pre_reload_split ()) &&
26111 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26112 : : (TARGET_AVX512VL)) &&
26113 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26114 : : ( 1)))
26115 : : return NULL;
26116 : : return gen_split_1388 (insn, operands);
26117 : :
26118 : : case 9:
26119 : : if (!((
26120 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26121 : : (TARGET_AVX512F
26122 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26123 : : && (GET_MODE_NUNITS (V2DImode)
26124 : : < GET_MODE_PRECISION (HImode))
26125 : : && ix86_pre_reload_split ()) &&
26126 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26127 : : (TARGET_AVX512VL)) &&
26128 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26129 : : ( 1)))
26130 : : return NULL;
26131 : : return gen_split_1391 (insn, operands);
26132 : :
26133 : : case 10:
26134 : : if (!((
26135 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26136 : : (TARGET_AVX512F
26137 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26138 : : && (GET_MODE_NUNITS (V8HFmode)
26139 : : < GET_MODE_PRECISION (HImode))
26140 : : && ix86_pre_reload_split ()) &&
26141 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26142 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
26143 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26144 : : ( 1)))
26145 : : return NULL;
26146 : : return gen_split_1400 (insn, operands);
26147 : :
26148 : : case 11:
26149 : : if (!((
26150 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26151 : : (TARGET_AVX512F
26152 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26153 : : && (GET_MODE_NUNITS (V8SFmode)
26154 : : < GET_MODE_PRECISION (HImode))
26155 : : && ix86_pre_reload_split ()) &&
26156 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26157 : : (TARGET_AVX512VL)) &&
26158 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26159 : : ( 1)))
26160 : : return NULL;
26161 : : return gen_split_1406 (insn, operands);
26162 : :
26163 : : case 12:
26164 : : if (!((
26165 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26166 : : (TARGET_AVX512F
26167 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26168 : : && (GET_MODE_NUNITS (V4SFmode)
26169 : : < GET_MODE_PRECISION (HImode))
26170 : : && ix86_pre_reload_split ()) &&
26171 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26172 : : (TARGET_AVX512VL)) &&
26173 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26174 : : ( 1)))
26175 : : return NULL;
26176 : : return gen_split_1409 (insn, operands);
26177 : :
26178 : : case 13:
26179 : : if (!(
26180 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26181 : : (TARGET_AVX512F
26182 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26183 : : && (GET_MODE_NUNITS (V8DFmode)
26184 : : < GET_MODE_PRECISION (HImode))
26185 : : && ix86_pre_reload_split ()) &&
26186 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26187 : : ( 1)))
26188 : : return NULL;
26189 : : return gen_split_1412 (insn, operands);
26190 : :
26191 : : case 14:
26192 : : if (!((
26193 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26194 : : (TARGET_AVX512F
26195 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26196 : : && (GET_MODE_NUNITS (V4DFmode)
26197 : : < GET_MODE_PRECISION (HImode))
26198 : : && ix86_pre_reload_split ()) &&
26199 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26200 : : (TARGET_AVX512VL)) &&
26201 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26202 : : ( 1)))
26203 : : return NULL;
26204 : : return gen_split_1415 (insn, operands);
26205 : :
26206 : : case 15:
26207 : : if (!((
26208 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26209 : : (TARGET_AVX512F
26210 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26211 : : && (GET_MODE_NUNITS (V2DFmode)
26212 : : < GET_MODE_PRECISION (HImode))
26213 : : && ix86_pre_reload_split ()) &&
26214 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26215 : : (TARGET_AVX512VL)) &&
26216 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26217 : : ( 1)))
26218 : : return NULL;
26219 : : return gen_split_1418 (insn, operands);
26220 : :
26221 : : case 16:
26222 : : if (!((
26223 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26224 : : (TARGET_AVX512BW
26225 : : && (GET_MODE_NUNITS (V8HImode)
26226 : : < GET_MODE_PRECISION (HImode))
26227 : : && ix86_pre_reload_split ()) &&
26228 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26229 : : (TARGET_AVX512VL)) &&
26230 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26231 : : ( 1)))
26232 : : return NULL;
26233 : : return gen_split_1451 (insn, operands);
26234 : :
26235 : : case 17:
26236 : : if (!((
26237 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26238 : : (TARGET_AVX512F
26239 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26240 : : && (GET_MODE_NUNITS (V32HFmode)
26241 : : < GET_MODE_PRECISION (HImode))
26242 : : && ix86_pre_reload_split ()) &&
26243 : : #line 315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26244 : : (TARGET_AVX512FP16)) &&
26245 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26246 : : ( 1)))
26247 : : return NULL;
26248 : : return gen_split_1394 (insn, operands);
26249 : :
26250 : : case 18:
26251 : : if (!((
26252 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26253 : : (TARGET_AVX512BW
26254 : : && (GET_MODE_NUNITS (V32QImode)
26255 : : < GET_MODE_PRECISION (HImode))
26256 : : && ix86_pre_reload_split ()) &&
26257 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26258 : : (TARGET_AVX512VL)) &&
26259 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26260 : : ( 1)))
26261 : : return NULL;
26262 : : return gen_split_1442 (insn, operands);
26263 : :
26264 : : case 19:
26265 : : if (!(
26266 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26267 : : (TARGET_AVX512BW
26268 : : && (GET_MODE_NUNITS (V32HImode)
26269 : : < GET_MODE_PRECISION (HImode))
26270 : : && ix86_pre_reload_split ()) &&
26271 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26272 : : ( 1)))
26273 : : return NULL;
26274 : : return gen_split_1445 (insn, operands);
26275 : :
26276 : : case 20:
26277 : : if (!(
26278 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26279 : : (TARGET_AVX512BW
26280 : : && (GET_MODE_NUNITS (V64QImode)
26281 : : < GET_MODE_PRECISION (HImode))
26282 : : && ix86_pre_reload_split ()) &&
26283 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26284 : : ( 1)))
26285 : : return NULL;
26286 : : return gen_split_1436 (insn, operands);
26287 : :
26288 : : case 21:
26289 : : if (!(
26290 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26291 : : (TARGET_AVX512F
26292 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26293 : : && (GET_MODE_NUNITS (V16SImode)
26294 : : < GET_MODE_PRECISION (SImode))
26295 : : && ix86_pre_reload_split ()) &&
26296 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26297 : : ( 1)))
26298 : : return NULL;
26299 : : return gen_split_1377 (insn, operands);
26300 : :
26301 : : case 22:
26302 : : if (!((
26303 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26304 : : (TARGET_AVX512F
26305 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26306 : : && (GET_MODE_NUNITS (V16HFmode)
26307 : : < GET_MODE_PRECISION (SImode))
26308 : : && ix86_pre_reload_split ()) &&
26309 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26310 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
26311 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26312 : : ( 1)))
26313 : : return NULL;
26314 : : return gen_split_1398 (insn, operands);
26315 : :
26316 : : case 23:
26317 : : if (!(
26318 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26319 : : (TARGET_AVX512F
26320 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26321 : : && (GET_MODE_NUNITS (V16SFmode)
26322 : : < GET_MODE_PRECISION (SImode))
26323 : : && ix86_pre_reload_split ()) &&
26324 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26325 : : ( 1)))
26326 : : return NULL;
26327 : : return gen_split_1404 (insn, operands);
26328 : :
26329 : : case 24:
26330 : : if (!((
26331 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26332 : : (TARGET_AVX512BW
26333 : : && (GET_MODE_NUNITS (V16QImode)
26334 : : < GET_MODE_PRECISION (SImode))
26335 : : && ix86_pre_reload_split ()) &&
26336 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26337 : : (TARGET_AVX512VL)) &&
26338 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26339 : : ( 1)))
26340 : : return NULL;
26341 : : return gen_split_1440 (insn, operands);
26342 : :
26343 : : case 25:
26344 : : if (!((
26345 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26346 : : (TARGET_AVX512BW
26347 : : && (GET_MODE_NUNITS (V16HImode)
26348 : : < GET_MODE_PRECISION (SImode))
26349 : : && ix86_pre_reload_split ()) &&
26350 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26351 : : (TARGET_AVX512VL)) &&
26352 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26353 : : ( 1)))
26354 : : return NULL;
26355 : : return gen_split_1449 (insn, operands);
26356 : :
26357 : : case 26:
26358 : : if (!((
26359 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26360 : : (TARGET_AVX512F
26361 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26362 : : && (GET_MODE_NUNITS (V8SImode)
26363 : : < GET_MODE_PRECISION (SImode))
26364 : : && ix86_pre_reload_split ()) &&
26365 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26366 : : (TARGET_AVX512VL)) &&
26367 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26368 : : ( 1)))
26369 : : return NULL;
26370 : : return gen_split_1380 (insn, operands);
26371 : :
26372 : : case 27:
26373 : : if (!((
26374 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26375 : : (TARGET_AVX512F
26376 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26377 : : && (GET_MODE_NUNITS (V4SImode)
26378 : : < GET_MODE_PRECISION (SImode))
26379 : : && ix86_pre_reload_split ()) &&
26380 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26381 : : (TARGET_AVX512VL)) &&
26382 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26383 : : ( 1)))
26384 : : return NULL;
26385 : : return gen_split_1383 (insn, operands);
26386 : :
26387 : : case 28:
26388 : : if (!(
26389 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26390 : : (TARGET_AVX512F
26391 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26392 : : && (GET_MODE_NUNITS (V8DImode)
26393 : : < GET_MODE_PRECISION (SImode))
26394 : : && ix86_pre_reload_split ()) &&
26395 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26396 : : ( 1)))
26397 : : return NULL;
26398 : : return gen_split_1386 (insn, operands);
26399 : :
26400 : : case 29:
26401 : : if (!((
26402 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26403 : : (TARGET_AVX512F
26404 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26405 : : && (GET_MODE_NUNITS (V4DImode)
26406 : : < GET_MODE_PRECISION (SImode))
26407 : : && ix86_pre_reload_split ()) &&
26408 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26409 : : (TARGET_AVX512VL)) &&
26410 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26411 : : ( 1)))
26412 : : return NULL;
26413 : : return gen_split_1389 (insn, operands);
26414 : :
26415 : : case 30:
26416 : : if (!((
26417 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26418 : : (TARGET_AVX512F
26419 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26420 : : && (GET_MODE_NUNITS (V2DImode)
26421 : : < GET_MODE_PRECISION (SImode))
26422 : : && ix86_pre_reload_split ()) &&
26423 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26424 : : (TARGET_AVX512VL)) &&
26425 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26426 : : ( 1)))
26427 : : return NULL;
26428 : : return gen_split_1392 (insn, operands);
26429 : :
26430 : : case 31:
26431 : : if (!((
26432 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26433 : : (TARGET_AVX512F
26434 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26435 : : && (GET_MODE_NUNITS (V8HFmode)
26436 : : < GET_MODE_PRECISION (SImode))
26437 : : && ix86_pre_reload_split ()) &&
26438 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26439 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
26440 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26441 : : ( 1)))
26442 : : return NULL;
26443 : : return gen_split_1401 (insn, operands);
26444 : :
26445 : : case 32:
26446 : : if (!((
26447 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26448 : : (TARGET_AVX512F
26449 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26450 : : && (GET_MODE_NUNITS (V8SFmode)
26451 : : < GET_MODE_PRECISION (SImode))
26452 : : && ix86_pre_reload_split ()) &&
26453 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26454 : : (TARGET_AVX512VL)) &&
26455 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26456 : : ( 1)))
26457 : : return NULL;
26458 : : return gen_split_1407 (insn, operands);
26459 : :
26460 : : case 33:
26461 : : if (!((
26462 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26463 : : (TARGET_AVX512F
26464 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26465 : : && (GET_MODE_NUNITS (V4SFmode)
26466 : : < GET_MODE_PRECISION (SImode))
26467 : : && ix86_pre_reload_split ()) &&
26468 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26469 : : (TARGET_AVX512VL)) &&
26470 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26471 : : ( 1)))
26472 : : return NULL;
26473 : : return gen_split_1410 (insn, operands);
26474 : :
26475 : : case 34:
26476 : : if (!(
26477 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26478 : : (TARGET_AVX512F
26479 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26480 : : && (GET_MODE_NUNITS (V8DFmode)
26481 : : < GET_MODE_PRECISION (SImode))
26482 : : && ix86_pre_reload_split ()) &&
26483 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26484 : : ( 1)))
26485 : : return NULL;
26486 : : return gen_split_1413 (insn, operands);
26487 : :
26488 : : case 35:
26489 : : if (!((
26490 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26491 : : (TARGET_AVX512F
26492 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26493 : : && (GET_MODE_NUNITS (V4DFmode)
26494 : : < GET_MODE_PRECISION (SImode))
26495 : : && ix86_pre_reload_split ()) &&
26496 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26497 : : (TARGET_AVX512VL)) &&
26498 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26499 : : ( 1)))
26500 : : return NULL;
26501 : : return gen_split_1416 (insn, operands);
26502 : :
26503 : : case 36:
26504 : : if (!((
26505 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26506 : : (TARGET_AVX512F
26507 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26508 : : && (GET_MODE_NUNITS (V2DFmode)
26509 : : < GET_MODE_PRECISION (SImode))
26510 : : && ix86_pre_reload_split ()) &&
26511 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26512 : : (TARGET_AVX512VL)) &&
26513 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26514 : : ( 1)))
26515 : : return NULL;
26516 : : return gen_split_1419 (insn, operands);
26517 : :
26518 : : case 37:
26519 : : if (!((
26520 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26521 : : (TARGET_AVX512BW
26522 : : && (GET_MODE_NUNITS (V8HImode)
26523 : : < GET_MODE_PRECISION (SImode))
26524 : : && ix86_pre_reload_split ()) &&
26525 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26526 : : (TARGET_AVX512VL)) &&
26527 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26528 : : ( 1)))
26529 : : return NULL;
26530 : : return gen_split_1452 (insn, operands);
26531 : :
26532 : : case 38:
26533 : : if (!((
26534 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26535 : : (TARGET_AVX512F
26536 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
26537 : : && (GET_MODE_NUNITS (V32HFmode)
26538 : : < GET_MODE_PRECISION (SImode))
26539 : : && ix86_pre_reload_split ()) &&
26540 : : #line 315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26541 : : (TARGET_AVX512FP16)) &&
26542 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26543 : : ( 1)))
26544 : : return NULL;
26545 : : return gen_split_1395 (insn, operands);
26546 : :
26547 : : case 39:
26548 : : if (!((
26549 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26550 : : (TARGET_AVX512BW
26551 : : && (GET_MODE_NUNITS (V32QImode)
26552 : : < GET_MODE_PRECISION (SImode))
26553 : : && ix86_pre_reload_split ()) &&
26554 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26555 : : (TARGET_AVX512VL)) &&
26556 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26557 : : ( 1)))
26558 : : return NULL;
26559 : : return gen_split_1443 (insn, operands);
26560 : :
26561 : : case 40:
26562 : : if (!(
26563 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26564 : : (TARGET_AVX512BW
26565 : : && (GET_MODE_NUNITS (V32HImode)
26566 : : < GET_MODE_PRECISION (SImode))
26567 : : && ix86_pre_reload_split ()) &&
26568 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26569 : : ( 1)))
26570 : : return NULL;
26571 : : return gen_split_1446 (insn, operands);
26572 : :
26573 : : case 41:
26574 : : if (!(
26575 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26576 : : (TARGET_AVX512BW
26577 : : && (GET_MODE_NUNITS (V64QImode)
26578 : : < GET_MODE_PRECISION (SImode))
26579 : : && ix86_pre_reload_split ()) &&
26580 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26581 : : ( 1)))
26582 : : return NULL;
26583 : : return gen_split_1437 (insn, operands);
26584 : :
26585 : : case 42:
26586 : : if (!(
26587 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26588 : : (TARGET_AVX512F
26589 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26590 : : && (GET_MODE_NUNITS (V16SImode)
26591 : : < GET_MODE_PRECISION (DImode))
26592 : : && ix86_pre_reload_split ()) &&
26593 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26594 : : ( 1)))
26595 : : return NULL;
26596 : : return gen_split_1378 (insn, operands);
26597 : :
26598 : : case 43:
26599 : : if (!((
26600 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26601 : : (TARGET_AVX512F
26602 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26603 : : && (GET_MODE_NUNITS (V16HFmode)
26604 : : < GET_MODE_PRECISION (DImode))
26605 : : && ix86_pre_reload_split ()) &&
26606 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26607 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
26608 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26609 : : ( 1)))
26610 : : return NULL;
26611 : : return gen_split_1399 (insn, operands);
26612 : :
26613 : : case 44:
26614 : : if (!(
26615 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26616 : : (TARGET_AVX512F
26617 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26618 : : && (GET_MODE_NUNITS (V16SFmode)
26619 : : < GET_MODE_PRECISION (DImode))
26620 : : && ix86_pre_reload_split ()) &&
26621 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26622 : : ( 1)))
26623 : : return NULL;
26624 : : return gen_split_1405 (insn, operands);
26625 : :
26626 : : case 45:
26627 : : if (!((
26628 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26629 : : (TARGET_AVX512BW
26630 : : && (GET_MODE_NUNITS (V16QImode)
26631 : : < GET_MODE_PRECISION (DImode))
26632 : : && ix86_pre_reload_split ()) &&
26633 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26634 : : (TARGET_AVX512VL)) &&
26635 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26636 : : ( 1)))
26637 : : return NULL;
26638 : : return gen_split_1441 (insn, operands);
26639 : :
26640 : : case 46:
26641 : : if (!((
26642 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26643 : : (TARGET_AVX512BW
26644 : : && (GET_MODE_NUNITS (V16HImode)
26645 : : < GET_MODE_PRECISION (DImode))
26646 : : && ix86_pre_reload_split ()) &&
26647 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26648 : : (TARGET_AVX512VL)) &&
26649 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26650 : : ( 1)))
26651 : : return NULL;
26652 : : return gen_split_1450 (insn, operands);
26653 : :
26654 : : case 47:
26655 : : if (!((
26656 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26657 : : (TARGET_AVX512F
26658 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26659 : : && (GET_MODE_NUNITS (V8SImode)
26660 : : < GET_MODE_PRECISION (DImode))
26661 : : && ix86_pre_reload_split ()) &&
26662 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26663 : : (TARGET_AVX512VL)) &&
26664 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26665 : : ( 1)))
26666 : : return NULL;
26667 : : return gen_split_1381 (insn, operands);
26668 : :
26669 : : case 48:
26670 : : if (!((
26671 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26672 : : (TARGET_AVX512F
26673 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26674 : : && (GET_MODE_NUNITS (V4SImode)
26675 : : < GET_MODE_PRECISION (DImode))
26676 : : && ix86_pre_reload_split ()) &&
26677 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26678 : : (TARGET_AVX512VL)) &&
26679 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26680 : : ( 1)))
26681 : : return NULL;
26682 : : return gen_split_1384 (insn, operands);
26683 : :
26684 : : case 49:
26685 : : if (!(
26686 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26687 : : (TARGET_AVX512F
26688 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26689 : : && (GET_MODE_NUNITS (V8DImode)
26690 : : < GET_MODE_PRECISION (DImode))
26691 : : && ix86_pre_reload_split ()) &&
26692 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26693 : : ( 1)))
26694 : : return NULL;
26695 : : return gen_split_1387 (insn, operands);
26696 : :
26697 : : case 50:
26698 : : if (!((
26699 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26700 : : (TARGET_AVX512F
26701 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26702 : : && (GET_MODE_NUNITS (V4DImode)
26703 : : < GET_MODE_PRECISION (DImode))
26704 : : && ix86_pre_reload_split ()) &&
26705 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26706 : : (TARGET_AVX512VL)) &&
26707 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26708 : : ( 1)))
26709 : : return NULL;
26710 : : return gen_split_1390 (insn, operands);
26711 : :
26712 : : case 51:
26713 : : if (!((
26714 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26715 : : (TARGET_AVX512F
26716 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26717 : : && (GET_MODE_NUNITS (V2DImode)
26718 : : < GET_MODE_PRECISION (DImode))
26719 : : && ix86_pre_reload_split ()) &&
26720 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26721 : : (TARGET_AVX512VL)) &&
26722 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26723 : : ( 1)))
26724 : : return NULL;
26725 : : return gen_split_1393 (insn, operands);
26726 : :
26727 : : case 52:
26728 : : if (!((
26729 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26730 : : (TARGET_AVX512F
26731 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26732 : : && (GET_MODE_NUNITS (V8HFmode)
26733 : : < GET_MODE_PRECISION (DImode))
26734 : : && ix86_pre_reload_split ()) &&
26735 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26736 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
26737 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26738 : : ( 1)))
26739 : : return NULL;
26740 : : return gen_split_1402 (insn, operands);
26741 : :
26742 : : case 53:
26743 : : if (!((
26744 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26745 : : (TARGET_AVX512F
26746 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26747 : : && (GET_MODE_NUNITS (V8SFmode)
26748 : : < GET_MODE_PRECISION (DImode))
26749 : : && ix86_pre_reload_split ()) &&
26750 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26751 : : (TARGET_AVX512VL)) &&
26752 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26753 : : ( 1)))
26754 : : return NULL;
26755 : : return gen_split_1408 (insn, operands);
26756 : :
26757 : : case 54:
26758 : : if (!((
26759 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26760 : : (TARGET_AVX512F
26761 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26762 : : && (GET_MODE_NUNITS (V4SFmode)
26763 : : < GET_MODE_PRECISION (DImode))
26764 : : && ix86_pre_reload_split ()) &&
26765 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26766 : : (TARGET_AVX512VL)) &&
26767 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26768 : : ( 1)))
26769 : : return NULL;
26770 : : return gen_split_1411 (insn, operands);
26771 : :
26772 : : case 55:
26773 : : if (!(
26774 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26775 : : (TARGET_AVX512F
26776 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26777 : : && (GET_MODE_NUNITS (V8DFmode)
26778 : : < GET_MODE_PRECISION (DImode))
26779 : : && ix86_pre_reload_split ()) &&
26780 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26781 : : ( 1)))
26782 : : return NULL;
26783 : : return gen_split_1414 (insn, operands);
26784 : :
26785 : : case 56:
26786 : : if (!((
26787 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26788 : : (TARGET_AVX512F
26789 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26790 : : && (GET_MODE_NUNITS (V4DFmode)
26791 : : < GET_MODE_PRECISION (DImode))
26792 : : && ix86_pre_reload_split ()) &&
26793 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26794 : : (TARGET_AVX512VL)) &&
26795 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26796 : : ( 1)))
26797 : : return NULL;
26798 : : return gen_split_1417 (insn, operands);
26799 : :
26800 : : case 57:
26801 : : if (!((
26802 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26803 : : (TARGET_AVX512F
26804 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26805 : : && (GET_MODE_NUNITS (V2DFmode)
26806 : : < GET_MODE_PRECISION (DImode))
26807 : : && ix86_pre_reload_split ()) &&
26808 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26809 : : (TARGET_AVX512VL)) &&
26810 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26811 : : ( 1)))
26812 : : return NULL;
26813 : : return gen_split_1420 (insn, operands);
26814 : :
26815 : : case 58:
26816 : : if (!((
26817 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26818 : : (TARGET_AVX512BW
26819 : : && (GET_MODE_NUNITS (V8HImode)
26820 : : < GET_MODE_PRECISION (DImode))
26821 : : && ix86_pre_reload_split ()) &&
26822 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26823 : : (TARGET_AVX512VL)) &&
26824 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26825 : : ( 1)))
26826 : : return NULL;
26827 : : return gen_split_1453 (insn, operands);
26828 : :
26829 : : case 59:
26830 : : if (!((
26831 : : #line 4431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26832 : : (TARGET_AVX512F
26833 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
26834 : : && (GET_MODE_NUNITS (V32HFmode)
26835 : : < GET_MODE_PRECISION (DImode))
26836 : : && ix86_pre_reload_split ()) &&
26837 : : #line 315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26838 : : (TARGET_AVX512FP16)) &&
26839 : : #line 4437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26840 : : ( 1)))
26841 : : return NULL;
26842 : : return gen_split_1396 (insn, operands);
26843 : :
26844 : : case 60:
26845 : : if (!((
26846 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26847 : : (TARGET_AVX512BW
26848 : : && (GET_MODE_NUNITS (V32QImode)
26849 : : < GET_MODE_PRECISION (DImode))
26850 : : && ix86_pre_reload_split ()) &&
26851 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26852 : : (TARGET_AVX512VL)) &&
26853 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26854 : : ( 1)))
26855 : : return NULL;
26856 : : return gen_split_1444 (insn, operands);
26857 : :
26858 : : case 61:
26859 : : if (!(
26860 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26861 : : (TARGET_AVX512BW
26862 : : && (GET_MODE_NUNITS (V32HImode)
26863 : : < GET_MODE_PRECISION (DImode))
26864 : : && ix86_pre_reload_split ()) &&
26865 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26866 : : ( 1)))
26867 : : return NULL;
26868 : : return gen_split_1447 (insn, operands);
26869 : :
26870 : : case 62:
26871 : : if (!(
26872 : : #line 4585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26873 : : (TARGET_AVX512BW
26874 : : && (GET_MODE_NUNITS (V64QImode)
26875 : : < GET_MODE_PRECISION (DImode))
26876 : : && ix86_pre_reload_split ()) &&
26877 : : #line 4590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26878 : : ( 1)))
26879 : : return NULL;
26880 : : return gen_split_1438 (insn, operands);
26881 : :
26882 : : case 63:
26883 : : if (!(
26884 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26885 : : (TARGET_AVX512BW
26886 : : && ix86_pre_reload_split ()
26887 : : && (GET_MODE_NUNITS (V64QImode)
26888 : : < GET_MODE_PRECISION (HImode))
26889 : : && ix86_pre_reload_split ()) &&
26890 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26891 : : ( 1)))
26892 : : return NULL;
26893 : : return gen_split_1466 (insn, operands);
26894 : :
26895 : : case 64:
26896 : : if (!((
26897 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26898 : : (TARGET_AVX512BW
26899 : : && ix86_pre_reload_split ()
26900 : : && (GET_MODE_NUNITS (V16QImode)
26901 : : < GET_MODE_PRECISION (HImode))
26902 : : && ix86_pre_reload_split ()) &&
26903 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26904 : : (TARGET_AVX512VL)) &&
26905 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26906 : : ( 1)))
26907 : : return NULL;
26908 : : return gen_split_1469 (insn, operands);
26909 : :
26910 : : case 65:
26911 : : if (!((
26912 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26913 : : (TARGET_AVX512BW
26914 : : && ix86_pre_reload_split ()
26915 : : && (GET_MODE_NUNITS (V16HImode)
26916 : : < GET_MODE_PRECISION (HImode))
26917 : : && ix86_pre_reload_split ()) &&
26918 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26919 : : (TARGET_AVX512VL)) &&
26920 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26921 : : ( 1)))
26922 : : return NULL;
26923 : : return gen_split_1478 (insn, operands);
26924 : :
26925 : : case 66:
26926 : : if (!(
26927 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26928 : : (TARGET_AVX512F
26929 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26930 : : && (GET_MODE_NUNITS (V16SImode)
26931 : : < GET_MODE_PRECISION (HImode))
26932 : : && ix86_pre_reload_split ()) &&
26933 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26934 : : ( 1)))
26935 : : return NULL;
26936 : : return gen_split_1484 (insn, operands);
26937 : :
26938 : : case 67:
26939 : : if (!((
26940 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26941 : : (TARGET_AVX512BW
26942 : : && ix86_pre_reload_split ()
26943 : : && (GET_MODE_NUNITS (V32QImode)
26944 : : < GET_MODE_PRECISION (HImode))
26945 : : && ix86_pre_reload_split ()) &&
26946 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26947 : : (TARGET_AVX512VL)) &&
26948 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26949 : : ( 1)))
26950 : : return NULL;
26951 : : return gen_split_1472 (insn, operands);
26952 : :
26953 : : case 68:
26954 : : if (!(
26955 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26956 : : (TARGET_AVX512BW
26957 : : && ix86_pre_reload_split ()
26958 : : && (GET_MODE_NUNITS (V32HImode)
26959 : : < GET_MODE_PRECISION (HImode))
26960 : : && ix86_pre_reload_split ()) &&
26961 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26962 : : ( 1)))
26963 : : return NULL;
26964 : : return gen_split_1475 (insn, operands);
26965 : :
26966 : : case 69:
26967 : : if (!((
26968 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26969 : : (TARGET_AVX512BW
26970 : : && ix86_pre_reload_split ()
26971 : : && (GET_MODE_NUNITS (V8HImode)
26972 : : < GET_MODE_PRECISION (HImode))
26973 : : && ix86_pre_reload_split ()) &&
26974 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26975 : : (TARGET_AVX512VL)) &&
26976 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26977 : : ( 1)))
26978 : : return NULL;
26979 : : return gen_split_1481 (insn, operands);
26980 : :
26981 : : case 70:
26982 : : if (!((
26983 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26984 : : (TARGET_AVX512F
26985 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26986 : : && (GET_MODE_NUNITS (V8SImode)
26987 : : < GET_MODE_PRECISION (HImode))
26988 : : && ix86_pre_reload_split ()) &&
26989 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26990 : : (TARGET_AVX512VL)) &&
26991 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26992 : : ( 1)))
26993 : : return NULL;
26994 : : return gen_split_1485 (insn, operands);
26995 : :
26996 : : case 71:
26997 : : if (!((
26998 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26999 : : (TARGET_AVX512F
27000 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27001 : : && (GET_MODE_NUNITS (V4SImode)
27002 : : < GET_MODE_PRECISION (HImode))
27003 : : && ix86_pre_reload_split ()) &&
27004 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27005 : : (TARGET_AVX512VL)) &&
27006 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27007 : : ( 1)))
27008 : : return NULL;
27009 : : return gen_split_1486 (insn, operands);
27010 : :
27011 : : case 72:
27012 : : if (!(
27013 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27014 : : (TARGET_AVX512F
27015 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27016 : : && (GET_MODE_NUNITS (V8DImode)
27017 : : < GET_MODE_PRECISION (HImode))
27018 : : && ix86_pre_reload_split ()) &&
27019 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27020 : : ( 1)))
27021 : : return NULL;
27022 : : return gen_split_1487 (insn, operands);
27023 : :
27024 : : case 73:
27025 : : if (!((
27026 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27027 : : (TARGET_AVX512F
27028 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27029 : : && (GET_MODE_NUNITS (V4DImode)
27030 : : < GET_MODE_PRECISION (HImode))
27031 : : && ix86_pre_reload_split ()) &&
27032 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27033 : : (TARGET_AVX512VL)) &&
27034 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27035 : : ( 1)))
27036 : : return NULL;
27037 : : return gen_split_1488 (insn, operands);
27038 : :
27039 : : case 74:
27040 : : if (!((
27041 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27042 : : (TARGET_AVX512F
27043 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27044 : : && (GET_MODE_NUNITS (V2DImode)
27045 : : < GET_MODE_PRECISION (HImode))
27046 : : && ix86_pre_reload_split ()) &&
27047 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27048 : : (TARGET_AVX512VL)) &&
27049 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27050 : : ( 1)))
27051 : : return NULL;
27052 : : return gen_split_1489 (insn, operands);
27053 : :
27054 : : case 75:
27055 : : if (!(
27056 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27057 : : (TARGET_AVX512BW
27058 : : && ix86_pre_reload_split ()
27059 : : && (GET_MODE_NUNITS (V64QImode)
27060 : : < GET_MODE_PRECISION (SImode))
27061 : : && ix86_pre_reload_split ()) &&
27062 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27063 : : ( 1)))
27064 : : return NULL;
27065 : : return gen_split_1467 (insn, operands);
27066 : :
27067 : : case 76:
27068 : : if (!((
27069 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27070 : : (TARGET_AVX512BW
27071 : : && ix86_pre_reload_split ()
27072 : : && (GET_MODE_NUNITS (V16QImode)
27073 : : < GET_MODE_PRECISION (SImode))
27074 : : && ix86_pre_reload_split ()) &&
27075 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27076 : : (TARGET_AVX512VL)) &&
27077 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27078 : : ( 1)))
27079 : : return NULL;
27080 : : return gen_split_1470 (insn, operands);
27081 : :
27082 : : case 77:
27083 : : if (!((
27084 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27085 : : (TARGET_AVX512BW
27086 : : && ix86_pre_reload_split ()
27087 : : && (GET_MODE_NUNITS (V16HImode)
27088 : : < GET_MODE_PRECISION (SImode))
27089 : : && ix86_pre_reload_split ()) &&
27090 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27091 : : (TARGET_AVX512VL)) &&
27092 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27093 : : ( 1)))
27094 : : return NULL;
27095 : : return gen_split_1479 (insn, operands);
27096 : :
27097 : : case 78:
27098 : : if (!(
27099 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27100 : : (TARGET_AVX512F
27101 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27102 : : && (GET_MODE_NUNITS (V16SImode)
27103 : : < GET_MODE_PRECISION (SImode))
27104 : : && ix86_pre_reload_split ()) &&
27105 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27106 : : ( 1)))
27107 : : return NULL;
27108 : : return gen_split_1490 (insn, operands);
27109 : :
27110 : : case 79:
27111 : : if (!((
27112 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27113 : : (TARGET_AVX512BW
27114 : : && ix86_pre_reload_split ()
27115 : : && (GET_MODE_NUNITS (V32QImode)
27116 : : < GET_MODE_PRECISION (SImode))
27117 : : && ix86_pre_reload_split ()) &&
27118 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27119 : : (TARGET_AVX512VL)) &&
27120 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27121 : : ( 1)))
27122 : : return NULL;
27123 : : return gen_split_1473 (insn, operands);
27124 : :
27125 : : case 80:
27126 : : if (!(
27127 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27128 : : (TARGET_AVX512BW
27129 : : && ix86_pre_reload_split ()
27130 : : && (GET_MODE_NUNITS (V32HImode)
27131 : : < GET_MODE_PRECISION (SImode))
27132 : : && ix86_pre_reload_split ()) &&
27133 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27134 : : ( 1)))
27135 : : return NULL;
27136 : : return gen_split_1476 (insn, operands);
27137 : :
27138 : : case 81:
27139 : : if (!((
27140 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27141 : : (TARGET_AVX512BW
27142 : : && ix86_pre_reload_split ()
27143 : : && (GET_MODE_NUNITS (V8HImode)
27144 : : < GET_MODE_PRECISION (SImode))
27145 : : && ix86_pre_reload_split ()) &&
27146 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27147 : : (TARGET_AVX512VL)) &&
27148 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27149 : : ( 1)))
27150 : : return NULL;
27151 : : return gen_split_1482 (insn, operands);
27152 : :
27153 : : case 82:
27154 : : if (!((
27155 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27156 : : (TARGET_AVX512F
27157 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27158 : : && (GET_MODE_NUNITS (V8SImode)
27159 : : < GET_MODE_PRECISION (SImode))
27160 : : && ix86_pre_reload_split ()) &&
27161 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27162 : : (TARGET_AVX512VL)) &&
27163 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27164 : : ( 1)))
27165 : : return NULL;
27166 : : return gen_split_1491 (insn, operands);
27167 : :
27168 : : case 83:
27169 : : if (!((
27170 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27171 : : (TARGET_AVX512F
27172 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27173 : : && (GET_MODE_NUNITS (V4SImode)
27174 : : < GET_MODE_PRECISION (SImode))
27175 : : && ix86_pre_reload_split ()) &&
27176 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27177 : : (TARGET_AVX512VL)) &&
27178 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27179 : : ( 1)))
27180 : : return NULL;
27181 : : return gen_split_1492 (insn, operands);
27182 : :
27183 : : case 84:
27184 : : if (!(
27185 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27186 : : (TARGET_AVX512F
27187 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27188 : : && (GET_MODE_NUNITS (V8DImode)
27189 : : < GET_MODE_PRECISION (SImode))
27190 : : && ix86_pre_reload_split ()) &&
27191 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27192 : : ( 1)))
27193 : : return NULL;
27194 : : return gen_split_1493 (insn, operands);
27195 : :
27196 : : case 85:
27197 : : if (!((
27198 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27199 : : (TARGET_AVX512F
27200 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27201 : : && (GET_MODE_NUNITS (V4DImode)
27202 : : < GET_MODE_PRECISION (SImode))
27203 : : && ix86_pre_reload_split ()) &&
27204 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27205 : : (TARGET_AVX512VL)) &&
27206 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27207 : : ( 1)))
27208 : : return NULL;
27209 : : return gen_split_1494 (insn, operands);
27210 : :
27211 : : case 86:
27212 : : if (!((
27213 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27214 : : (TARGET_AVX512F
27215 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27216 : : && (GET_MODE_NUNITS (V2DImode)
27217 : : < GET_MODE_PRECISION (SImode))
27218 : : && ix86_pre_reload_split ()) &&
27219 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27220 : : (TARGET_AVX512VL)) &&
27221 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27222 : : ( 1)))
27223 : : return NULL;
27224 : : return gen_split_1495 (insn, operands);
27225 : :
27226 : : case 87:
27227 : : if (!(
27228 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27229 : : (TARGET_AVX512BW
27230 : : && ix86_pre_reload_split ()
27231 : : && (GET_MODE_NUNITS (V64QImode)
27232 : : < GET_MODE_PRECISION (DImode))
27233 : : && ix86_pre_reload_split ()) &&
27234 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27235 : : ( 1)))
27236 : : return NULL;
27237 : : return gen_split_1468 (insn, operands);
27238 : :
27239 : : case 88:
27240 : : if (!((
27241 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27242 : : (TARGET_AVX512BW
27243 : : && ix86_pre_reload_split ()
27244 : : && (GET_MODE_NUNITS (V16QImode)
27245 : : < GET_MODE_PRECISION (DImode))
27246 : : && ix86_pre_reload_split ()) &&
27247 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27248 : : (TARGET_AVX512VL)) &&
27249 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27250 : : ( 1)))
27251 : : return NULL;
27252 : : return gen_split_1471 (insn, operands);
27253 : :
27254 : : case 89:
27255 : : if (!((
27256 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27257 : : (TARGET_AVX512BW
27258 : : && ix86_pre_reload_split ()
27259 : : && (GET_MODE_NUNITS (V16HImode)
27260 : : < GET_MODE_PRECISION (DImode))
27261 : : && ix86_pre_reload_split ()) &&
27262 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27263 : : (TARGET_AVX512VL)) &&
27264 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27265 : : ( 1)))
27266 : : return NULL;
27267 : : return gen_split_1480 (insn, operands);
27268 : :
27269 : : case 90:
27270 : : if (!(
27271 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27272 : : (TARGET_AVX512F
27273 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27274 : : && (GET_MODE_NUNITS (V16SImode)
27275 : : < GET_MODE_PRECISION (DImode))
27276 : : && ix86_pre_reload_split ()) &&
27277 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27278 : : ( 1)))
27279 : : return NULL;
27280 : : return gen_split_1496 (insn, operands);
27281 : :
27282 : : case 91:
27283 : : if (!((
27284 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27285 : : (TARGET_AVX512BW
27286 : : && ix86_pre_reload_split ()
27287 : : && (GET_MODE_NUNITS (V32QImode)
27288 : : < GET_MODE_PRECISION (DImode))
27289 : : && ix86_pre_reload_split ()) &&
27290 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27291 : : (TARGET_AVX512VL)) &&
27292 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27293 : : ( 1)))
27294 : : return NULL;
27295 : : return gen_split_1474 (insn, operands);
27296 : :
27297 : : case 92:
27298 : : if (!(
27299 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27300 : : (TARGET_AVX512BW
27301 : : && ix86_pre_reload_split ()
27302 : : && (GET_MODE_NUNITS (V32HImode)
27303 : : < GET_MODE_PRECISION (DImode))
27304 : : && ix86_pre_reload_split ()) &&
27305 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27306 : : ( 1)))
27307 : : return NULL;
27308 : : return gen_split_1477 (insn, operands);
27309 : :
27310 : : case 93:
27311 : : if (!((
27312 : : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27313 : : (TARGET_AVX512BW
27314 : : && ix86_pre_reload_split ()
27315 : : && (GET_MODE_NUNITS (V8HImode)
27316 : : < GET_MODE_PRECISION (DImode))
27317 : : && ix86_pre_reload_split ()) &&
27318 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27319 : : (TARGET_AVX512VL)) &&
27320 : : #line 4701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27321 : : ( 1)))
27322 : : return NULL;
27323 : : return gen_split_1483 (insn, operands);
27324 : :
27325 : : case 94:
27326 : : if (!((
27327 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27328 : : (TARGET_AVX512F
27329 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27330 : : && (GET_MODE_NUNITS (V8SImode)
27331 : : < GET_MODE_PRECISION (DImode))
27332 : : && ix86_pre_reload_split ()) &&
27333 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27334 : : (TARGET_AVX512VL)) &&
27335 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27336 : : ( 1)))
27337 : : return NULL;
27338 : : return gen_split_1497 (insn, operands);
27339 : :
27340 : : case 95:
27341 : : if (!((
27342 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27343 : : (TARGET_AVX512F
27344 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27345 : : && (GET_MODE_NUNITS (V4SImode)
27346 : : < GET_MODE_PRECISION (DImode))
27347 : : && ix86_pre_reload_split ()) &&
27348 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27349 : : (TARGET_AVX512VL)) &&
27350 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27351 : : ( 1)))
27352 : : return NULL;
27353 : : return gen_split_1498 (insn, operands);
27354 : :
27355 : : case 96:
27356 : : if (!(
27357 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27358 : : (TARGET_AVX512F
27359 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27360 : : && (GET_MODE_NUNITS (V8DImode)
27361 : : < GET_MODE_PRECISION (DImode))
27362 : : && ix86_pre_reload_split ()) &&
27363 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27364 : : ( 1)))
27365 : : return NULL;
27366 : : return gen_split_1499 (insn, operands);
27367 : :
27368 : : case 97:
27369 : : if (!((
27370 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27371 : : (TARGET_AVX512F
27372 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27373 : : && (GET_MODE_NUNITS (V4DImode)
27374 : : < GET_MODE_PRECISION (DImode))
27375 : : && ix86_pre_reload_split ()) &&
27376 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27377 : : (TARGET_AVX512VL)) &&
27378 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27379 : : ( 1)))
27380 : : return NULL;
27381 : : return gen_split_1500 (insn, operands);
27382 : :
27383 : : case 98:
27384 : : if (!((
27385 : : #line 4785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27386 : : (TARGET_AVX512F
27387 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27388 : : && (GET_MODE_NUNITS (V2DImode)
27389 : : < GET_MODE_PRECISION (DImode))
27390 : : && ix86_pre_reload_split ()) &&
27391 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27392 : : (TARGET_AVX512VL)) &&
27393 : : #line 4791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27394 : : ( 1)))
27395 : : return NULL;
27396 : : return gen_split_1501 (insn, operands);
27397 : :
27398 : : default:
27399 : : return NULL;
27400 : : }
27401 : :
27402 : : default:
27403 : : return NULL;
27404 : : }
27405 : : }
27406 : :
27407 : : rtx_insn *
27408 : : split_74 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27409 : : {
27410 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27411 : : rtx x2, x3, x4;
27412 : : rtx_insn *res ATTRIBUTE_UNUSED;
27413 : : x2 = XEXP (x1, 1);
27414 : : x3 = XEXP (x2, 0);
27415 : : x4 = XEXP (x3, 0);
27416 : : switch (GET_CODE (x4))
27417 : : {
27418 : : case REG:
27419 : : case SUBREG:
27420 : : case MEM:
27421 : : case NOT:
27422 : : switch (pattern524 (x2))
27423 : : {
27424 : : case 0:
27425 : : if (!((
27426 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27427 : : ((64 == 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 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27439 : : (TARGET_AVX512F)) &&
27440 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27441 : : ( 1)))
27442 : : return NULL;
27443 : : return gen_split_2034 (insn, operands);
27444 : :
27445 : : case 1:
27446 : : if (!((
27447 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27448 : : ((32 == 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 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27460 : : (TARGET_AVX)) &&
27461 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27462 : : ( 1)))
27463 : : return NULL;
27464 : : return gen_split_2061 (insn, operands);
27465 : :
27466 : : case 2:
27467 : : if (!(
27468 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27469 : : ((16 == 64 || TARGET_AVX512VL
27470 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27471 : : && ix86_pre_reload_split ()
27472 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27473 : : STRIP_UNARY (operands[4]))
27474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27475 : : STRIP_UNARY (operands[4]))
27476 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27477 : : STRIP_UNARY (operands[3]))
27478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27479 : : STRIP_UNARY (operands[3])))) &&
27480 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27481 : : ( 1)))
27482 : : return NULL;
27483 : : return gen_split_2088 (insn, operands);
27484 : :
27485 : : case 3:
27486 : : if (!((
27487 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27488 : : ((64 == 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 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27500 : : (TARGET_AVX512F)) &&
27501 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27502 : : ( 1)))
27503 : : return NULL;
27504 : : return gen_split_2115 (insn, operands);
27505 : :
27506 : : case 4:
27507 : : if (!((
27508 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27509 : : ((32 == 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 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27521 : : (TARGET_AVX)) &&
27522 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27523 : : ( 1)))
27524 : : return NULL;
27525 : : return gen_split_2142 (insn, operands);
27526 : :
27527 : : case 5:
27528 : : if (!(
27529 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27530 : : ((16 == 64 || TARGET_AVX512VL
27531 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27532 : : && ix86_pre_reload_split ()
27533 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27534 : : STRIP_UNARY (operands[4]))
27535 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27536 : : STRIP_UNARY (operands[4]))
27537 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27538 : : STRIP_UNARY (operands[3]))
27539 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27540 : : STRIP_UNARY (operands[3])))) &&
27541 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27542 : : ( 1)))
27543 : : return NULL;
27544 : : return gen_split_2169 (insn, operands);
27545 : :
27546 : : case 6:
27547 : : if (!((
27548 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27549 : : ((64 == 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 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27561 : : (TARGET_AVX512F)) &&
27562 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27563 : : ( 1)))
27564 : : return NULL;
27565 : : return gen_split_2196 (insn, operands);
27566 : :
27567 : : case 7:
27568 : : if (!((
27569 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27570 : : ((32 == 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 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27582 : : (TARGET_AVX)) &&
27583 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27584 : : ( 1)))
27585 : : return NULL;
27586 : : return gen_split_2223 (insn, operands);
27587 : :
27588 : : case 8:
27589 : : if (!(
27590 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27591 : : ((16 == 64 || TARGET_AVX512VL
27592 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27593 : : && ix86_pre_reload_split ()
27594 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27595 : : STRIP_UNARY (operands[4]))
27596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27597 : : STRIP_UNARY (operands[4]))
27598 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27599 : : STRIP_UNARY (operands[3]))
27600 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27601 : : STRIP_UNARY (operands[3])))) &&
27602 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27603 : : ( 1)))
27604 : : return NULL;
27605 : : return gen_split_2250 (insn, operands);
27606 : :
27607 : : case 9:
27608 : : if (!((
27609 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27610 : : ((64 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27622 : : (TARGET_AVX512F)) &&
27623 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27624 : : ( 1)))
27625 : : return NULL;
27626 : : return gen_split_2277 (insn, operands);
27627 : :
27628 : : case 10:
27629 : : if (!((
27630 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27631 : : ((32 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27643 : : (TARGET_AVX)) &&
27644 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27645 : : ( 1)))
27646 : : return NULL;
27647 : : return gen_split_2304 (insn, operands);
27648 : :
27649 : : case 11:
27650 : : if (!((
27651 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27652 : : ((16 == 64 || TARGET_AVX512VL
27653 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27654 : : && ix86_pre_reload_split ()
27655 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27656 : : STRIP_UNARY (operands[4]))
27657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27658 : : STRIP_UNARY (operands[4]))
27659 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27660 : : STRIP_UNARY (operands[3]))
27661 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27662 : : STRIP_UNARY (operands[3])))) &&
27663 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27664 : : (TARGET_SSE2)) &&
27665 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27666 : : ( 1)))
27667 : : return NULL;
27668 : : return gen_split_2331 (insn, operands);
27669 : :
27670 : : case 12:
27671 : : if (!((
27672 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27673 : : ((64 == 64 || TARGET_AVX512VL
27674 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27675 : : && ix86_pre_reload_split ()
27676 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27677 : : STRIP_UNARY (operands[4]))
27678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27679 : : STRIP_UNARY (operands[4]))
27680 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27681 : : STRIP_UNARY (operands[3]))
27682 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27683 : : STRIP_UNARY (operands[3])))) &&
27684 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27685 : : (TARGET_AVX512F)) &&
27686 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27687 : : ( 1)))
27688 : : return NULL;
27689 : : return gen_split_2037 (insn, operands);
27690 : :
27691 : : case 13:
27692 : : if (!((
27693 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27694 : : ((32 == 64 || TARGET_AVX512VL
27695 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27696 : : && ix86_pre_reload_split ()
27697 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27698 : : STRIP_UNARY (operands[4]))
27699 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27700 : : STRIP_UNARY (operands[4]))
27701 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27702 : : STRIP_UNARY (operands[3]))
27703 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27704 : : STRIP_UNARY (operands[3])))) &&
27705 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27706 : : (TARGET_AVX)) &&
27707 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27708 : : ( 1)))
27709 : : return NULL;
27710 : : return gen_split_2064 (insn, operands);
27711 : :
27712 : : case 14:
27713 : : if (!(
27714 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27715 : : ((16 == 64 || TARGET_AVX512VL
27716 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27717 : : && ix86_pre_reload_split ()
27718 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27719 : : STRIP_UNARY (operands[4]))
27720 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27721 : : STRIP_UNARY (operands[4]))
27722 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27723 : : STRIP_UNARY (operands[3]))
27724 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27725 : : STRIP_UNARY (operands[3])))) &&
27726 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27727 : : ( 1)))
27728 : : return NULL;
27729 : : return gen_split_2091 (insn, operands);
27730 : :
27731 : : case 15:
27732 : : if (!((
27733 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27734 : : ((64 == 64 || TARGET_AVX512VL
27735 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27736 : : && ix86_pre_reload_split ()
27737 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27738 : : STRIP_UNARY (operands[4]))
27739 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27740 : : STRIP_UNARY (operands[4]))
27741 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27742 : : STRIP_UNARY (operands[3]))
27743 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27744 : : STRIP_UNARY (operands[3])))) &&
27745 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27746 : : (TARGET_AVX512F)) &&
27747 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27748 : : ( 1)))
27749 : : return NULL;
27750 : : return gen_split_2118 (insn, operands);
27751 : :
27752 : : case 16:
27753 : : if (!((
27754 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27755 : : ((32 == 64 || TARGET_AVX512VL
27756 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27757 : : && ix86_pre_reload_split ()
27758 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27759 : : STRIP_UNARY (operands[4]))
27760 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27761 : : STRIP_UNARY (operands[4]))
27762 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27763 : : STRIP_UNARY (operands[3]))
27764 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27765 : : STRIP_UNARY (operands[3])))) &&
27766 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27767 : : (TARGET_AVX)) &&
27768 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27769 : : ( 1)))
27770 : : return NULL;
27771 : : return gen_split_2145 (insn, operands);
27772 : :
27773 : : case 17:
27774 : : if (!(
27775 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27776 : : ((16 == 64 || TARGET_AVX512VL
27777 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27778 : : && ix86_pre_reload_split ()
27779 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27780 : : STRIP_UNARY (operands[4]))
27781 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27782 : : STRIP_UNARY (operands[4]))
27783 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27784 : : STRIP_UNARY (operands[3]))
27785 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27786 : : STRIP_UNARY (operands[3])))) &&
27787 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27788 : : ( 1)))
27789 : : return NULL;
27790 : : return gen_split_2172 (insn, operands);
27791 : :
27792 : : case 18:
27793 : : if (!((
27794 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27795 : : ((64 == 64 || TARGET_AVX512VL
27796 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27797 : : && ix86_pre_reload_split ()
27798 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27799 : : STRIP_UNARY (operands[4]))
27800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27801 : : STRIP_UNARY (operands[4]))
27802 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27803 : : STRIP_UNARY (operands[3]))
27804 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27805 : : STRIP_UNARY (operands[3])))) &&
27806 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27807 : : (TARGET_AVX512F)) &&
27808 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27809 : : ( 1)))
27810 : : return NULL;
27811 : : return gen_split_2199 (insn, operands);
27812 : :
27813 : : case 19:
27814 : : if (!((
27815 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27816 : : ((32 == 64 || TARGET_AVX512VL
27817 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27818 : : && ix86_pre_reload_split ()
27819 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27820 : : STRIP_UNARY (operands[4]))
27821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27822 : : STRIP_UNARY (operands[4]))
27823 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27824 : : STRIP_UNARY (operands[3]))
27825 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27826 : : STRIP_UNARY (operands[3])))) &&
27827 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27828 : : (TARGET_AVX)) &&
27829 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27830 : : ( 1)))
27831 : : return NULL;
27832 : : return gen_split_2226 (insn, operands);
27833 : :
27834 : : case 20:
27835 : : if (!(
27836 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27837 : : ((16 == 64 || TARGET_AVX512VL
27838 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27839 : : && ix86_pre_reload_split ()
27840 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27841 : : STRIP_UNARY (operands[4]))
27842 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27843 : : STRIP_UNARY (operands[4]))
27844 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27845 : : STRIP_UNARY (operands[3]))
27846 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27847 : : STRIP_UNARY (operands[3])))) &&
27848 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27849 : : ( 1)))
27850 : : return NULL;
27851 : : return gen_split_2253 (insn, operands);
27852 : :
27853 : : case 21:
27854 : : if (!((
27855 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27856 : : ((64 == 64 || TARGET_AVX512VL
27857 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27858 : : && ix86_pre_reload_split ()
27859 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27860 : : STRIP_UNARY (operands[4]))
27861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27862 : : STRIP_UNARY (operands[4]))
27863 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27864 : : STRIP_UNARY (operands[3]))
27865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27866 : : STRIP_UNARY (operands[3])))) &&
27867 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27868 : : (TARGET_AVX512F)) &&
27869 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27870 : : ( 1)))
27871 : : return NULL;
27872 : : return gen_split_2280 (insn, operands);
27873 : :
27874 : : case 22:
27875 : : if (!((
27876 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27877 : : ((32 == 64 || TARGET_AVX512VL
27878 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27879 : : && ix86_pre_reload_split ()
27880 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27881 : : STRIP_UNARY (operands[4]))
27882 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27883 : : STRIP_UNARY (operands[4]))
27884 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27885 : : STRIP_UNARY (operands[3]))
27886 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27887 : : STRIP_UNARY (operands[3])))) &&
27888 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27889 : : (TARGET_AVX)) &&
27890 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27891 : : ( 1)))
27892 : : return NULL;
27893 : : return gen_split_2307 (insn, operands);
27894 : :
27895 : : case 23:
27896 : : if (!((
27897 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27898 : : ((16 == 64 || TARGET_AVX512VL
27899 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27900 : : && ix86_pre_reload_split ()
27901 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27902 : : STRIP_UNARY (operands[4]))
27903 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27904 : : STRIP_UNARY (operands[4]))
27905 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27906 : : STRIP_UNARY (operands[3]))
27907 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27908 : : STRIP_UNARY (operands[3])))) &&
27909 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27910 : : (TARGET_SSE2)) &&
27911 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27912 : : ( 1)))
27913 : : return NULL;
27914 : : return gen_split_2334 (insn, operands);
27915 : :
27916 : : case 24:
27917 : : if (!((
27918 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27919 : : ((64 == 64 || TARGET_AVX512VL
27920 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27921 : : && ix86_pre_reload_split ()
27922 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27923 : : STRIP_UNARY (operands[4]))
27924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27925 : : STRIP_UNARY (operands[4]))
27926 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27927 : : STRIP_UNARY (operands[3]))
27928 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27929 : : STRIP_UNARY (operands[3])))) &&
27930 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27931 : : (TARGET_AVX512F)) &&
27932 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27933 : : ( 1)))
27934 : : return NULL;
27935 : : return gen_split_2040 (insn, operands);
27936 : :
27937 : : case 25:
27938 : : if (!((
27939 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27940 : : ((32 == 64 || TARGET_AVX512VL
27941 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27942 : : && ix86_pre_reload_split ()
27943 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27944 : : STRIP_UNARY (operands[4]))
27945 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27946 : : STRIP_UNARY (operands[4]))
27947 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27948 : : STRIP_UNARY (operands[3]))
27949 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27950 : : STRIP_UNARY (operands[3])))) &&
27951 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27952 : : (TARGET_AVX)) &&
27953 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27954 : : ( 1)))
27955 : : return NULL;
27956 : : return gen_split_2067 (insn, operands);
27957 : :
27958 : : case 26:
27959 : : if (!(
27960 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27961 : : ((16 == 64 || TARGET_AVX512VL
27962 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27963 : : && ix86_pre_reload_split ()
27964 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27965 : : STRIP_UNARY (operands[4]))
27966 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27967 : : STRIP_UNARY (operands[4]))
27968 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27969 : : STRIP_UNARY (operands[3]))
27970 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27971 : : STRIP_UNARY (operands[3])))) &&
27972 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27973 : : ( 1)))
27974 : : return NULL;
27975 : : return gen_split_2094 (insn, operands);
27976 : :
27977 : : case 27:
27978 : : if (!((
27979 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27980 : : ((64 == 64 || TARGET_AVX512VL
27981 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27982 : : && ix86_pre_reload_split ()
27983 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27984 : : STRIP_UNARY (operands[4]))
27985 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27986 : : STRIP_UNARY (operands[4]))
27987 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27988 : : STRIP_UNARY (operands[3]))
27989 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27990 : : STRIP_UNARY (operands[3])))) &&
27991 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27992 : : (TARGET_AVX512F)) &&
27993 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27994 : : ( 1)))
27995 : : return NULL;
27996 : : return gen_split_2121 (insn, operands);
27997 : :
27998 : : case 28:
27999 : : if (!((
28000 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28001 : : ((32 == 64 || TARGET_AVX512VL
28002 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28003 : : && ix86_pre_reload_split ()
28004 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28005 : : STRIP_UNARY (operands[4]))
28006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28007 : : STRIP_UNARY (operands[4]))
28008 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28009 : : STRIP_UNARY (operands[3]))
28010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28011 : : STRIP_UNARY (operands[3])))) &&
28012 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28013 : : (TARGET_AVX)) &&
28014 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28015 : : ( 1)))
28016 : : return NULL;
28017 : : return gen_split_2148 (insn, operands);
28018 : :
28019 : : case 29:
28020 : : if (!(
28021 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28022 : : ((16 == 64 || TARGET_AVX512VL
28023 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28024 : : && ix86_pre_reload_split ()
28025 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28026 : : STRIP_UNARY (operands[4]))
28027 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28028 : : STRIP_UNARY (operands[4]))
28029 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28030 : : STRIP_UNARY (operands[3]))
28031 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28032 : : STRIP_UNARY (operands[3])))) &&
28033 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28034 : : ( 1)))
28035 : : return NULL;
28036 : : return gen_split_2175 (insn, operands);
28037 : :
28038 : : case 30:
28039 : : if (!((
28040 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28041 : : ((64 == 64 || TARGET_AVX512VL
28042 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28043 : : && ix86_pre_reload_split ()
28044 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28045 : : STRIP_UNARY (operands[4]))
28046 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28047 : : STRIP_UNARY (operands[4]))
28048 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28049 : : STRIP_UNARY (operands[3]))
28050 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28051 : : STRIP_UNARY (operands[3])))) &&
28052 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28053 : : (TARGET_AVX512F)) &&
28054 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28055 : : ( 1)))
28056 : : return NULL;
28057 : : return gen_split_2202 (insn, operands);
28058 : :
28059 : : case 31:
28060 : : if (!((
28061 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28062 : : ((32 == 64 || TARGET_AVX512VL
28063 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28064 : : && ix86_pre_reload_split ()
28065 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28066 : : STRIP_UNARY (operands[4]))
28067 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28068 : : STRIP_UNARY (operands[4]))
28069 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28070 : : STRIP_UNARY (operands[3]))
28071 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28072 : : STRIP_UNARY (operands[3])))) &&
28073 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28074 : : (TARGET_AVX)) &&
28075 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28076 : : ( 1)))
28077 : : return NULL;
28078 : : return gen_split_2229 (insn, operands);
28079 : :
28080 : : case 32:
28081 : : if (!(
28082 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28083 : : ((16 == 64 || TARGET_AVX512VL
28084 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28085 : : && ix86_pre_reload_split ()
28086 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28087 : : STRIP_UNARY (operands[4]))
28088 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28089 : : STRIP_UNARY (operands[4]))
28090 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28091 : : STRIP_UNARY (operands[3]))
28092 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28093 : : STRIP_UNARY (operands[3])))) &&
28094 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28095 : : ( 1)))
28096 : : return NULL;
28097 : : return gen_split_2256 (insn, operands);
28098 : :
28099 : : case 33:
28100 : : if (!((
28101 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28102 : : ((64 == 64 || TARGET_AVX512VL
28103 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28104 : : && ix86_pre_reload_split ()
28105 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28106 : : STRIP_UNARY (operands[4]))
28107 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28108 : : STRIP_UNARY (operands[4]))
28109 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28110 : : STRIP_UNARY (operands[3]))
28111 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28112 : : STRIP_UNARY (operands[3])))) &&
28113 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28114 : : (TARGET_AVX512F)) &&
28115 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28116 : : ( 1)))
28117 : : return NULL;
28118 : : return gen_split_2283 (insn, operands);
28119 : :
28120 : : case 34:
28121 : : if (!((
28122 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28123 : : ((32 == 64 || TARGET_AVX512VL
28124 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28125 : : && ix86_pre_reload_split ()
28126 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28127 : : STRIP_UNARY (operands[4]))
28128 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28129 : : STRIP_UNARY (operands[4]))
28130 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28131 : : STRIP_UNARY (operands[3]))
28132 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28133 : : STRIP_UNARY (operands[3])))) &&
28134 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28135 : : (TARGET_AVX)) &&
28136 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28137 : : ( 1)))
28138 : : return NULL;
28139 : : return gen_split_2310 (insn, operands);
28140 : :
28141 : : case 35:
28142 : : if (!((
28143 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28144 : : ((16 == 64 || TARGET_AVX512VL
28145 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28146 : : && ix86_pre_reload_split ()
28147 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28148 : : STRIP_UNARY (operands[4]))
28149 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28150 : : STRIP_UNARY (operands[4]))
28151 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28152 : : STRIP_UNARY (operands[3]))
28153 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28154 : : STRIP_UNARY (operands[3])))) &&
28155 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28156 : : (TARGET_SSE2)) &&
28157 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28158 : : ( 1)))
28159 : : return NULL;
28160 : : return gen_split_2337 (insn, operands);
28161 : :
28162 : : case 36:
28163 : : if (!((
28164 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28165 : : ((64 == 64 || TARGET_AVX512VL
28166 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28167 : : && ix86_pre_reload_split ()) &&
28168 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28169 : : (TARGET_AVX512F)) &&
28170 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28171 : : ( 1)))
28172 : : return NULL;
28173 : : return gen_split_3102 (insn, operands);
28174 : :
28175 : : case 37:
28176 : : if (!((
28177 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28178 : : ((32 == 64 || TARGET_AVX512VL
28179 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28180 : : && ix86_pre_reload_split ()) &&
28181 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28182 : : (TARGET_AVX)) &&
28183 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28184 : : ( 1)))
28185 : : return NULL;
28186 : : return gen_split_3111 (insn, operands);
28187 : :
28188 : : case 38:
28189 : : if (!(
28190 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28191 : : ((16 == 64 || TARGET_AVX512VL
28192 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28193 : : && ix86_pre_reload_split ()) &&
28194 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28195 : : ( 1)))
28196 : : return NULL;
28197 : : return gen_split_3120 (insn, operands);
28198 : :
28199 : : case 39:
28200 : : if (!((
28201 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28202 : : ((64 == 64 || TARGET_AVX512VL
28203 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28204 : : && ix86_pre_reload_split ()) &&
28205 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28206 : : (TARGET_AVX512F)) &&
28207 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28208 : : ( 1)))
28209 : : return NULL;
28210 : : return gen_split_3129 (insn, operands);
28211 : :
28212 : : case 40:
28213 : : if (!((
28214 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28215 : : ((32 == 64 || TARGET_AVX512VL
28216 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28217 : : && ix86_pre_reload_split ()) &&
28218 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28219 : : (TARGET_AVX)) &&
28220 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28221 : : ( 1)))
28222 : : return NULL;
28223 : : return gen_split_3138 (insn, operands);
28224 : :
28225 : : case 41:
28226 : : if (!(
28227 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28228 : : ((16 == 64 || TARGET_AVX512VL
28229 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28230 : : && ix86_pre_reload_split ()) &&
28231 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28232 : : ( 1)))
28233 : : return NULL;
28234 : : return gen_split_3147 (insn, operands);
28235 : :
28236 : : case 42:
28237 : : if (!((
28238 : : #line 13978 "/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 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28243 : : (TARGET_AVX512F)) &&
28244 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28245 : : ( 1)))
28246 : : return NULL;
28247 : : return gen_split_3156 (insn, operands);
28248 : :
28249 : : case 43:
28250 : : if (!((
28251 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28252 : : ((32 == 64 || TARGET_AVX512VL
28253 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28254 : : && ix86_pre_reload_split ()) &&
28255 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28256 : : (TARGET_AVX)) &&
28257 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28258 : : ( 1)))
28259 : : return NULL;
28260 : : return gen_split_3165 (insn, operands);
28261 : :
28262 : : case 44:
28263 : : if (!(
28264 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28265 : : ((16 == 64 || TARGET_AVX512VL
28266 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28267 : : && ix86_pre_reload_split ()) &&
28268 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28269 : : ( 1)))
28270 : : return NULL;
28271 : : return gen_split_3174 (insn, operands);
28272 : :
28273 : : case 45:
28274 : : if (!((
28275 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28276 : : ((64 == 64 || TARGET_AVX512VL
28277 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28278 : : && ix86_pre_reload_split ()) &&
28279 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28280 : : (TARGET_AVX512F)) &&
28281 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28282 : : ( 1)))
28283 : : return NULL;
28284 : : return gen_split_3183 (insn, operands);
28285 : :
28286 : : case 46:
28287 : : if (!((
28288 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28289 : : ((32 == 64 || TARGET_AVX512VL
28290 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28291 : : && ix86_pre_reload_split ()) &&
28292 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28293 : : (TARGET_AVX)) &&
28294 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28295 : : ( 1)))
28296 : : return NULL;
28297 : : return gen_split_3192 (insn, operands);
28298 : :
28299 : : case 47:
28300 : : if (!((
28301 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28302 : : ((16 == 64 || TARGET_AVX512VL
28303 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28304 : : && ix86_pre_reload_split ()) &&
28305 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28306 : : (TARGET_SSE2)) &&
28307 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28308 : : ( 1)))
28309 : : return NULL;
28310 : : return gen_split_3201 (insn, operands);
28311 : :
28312 : : default:
28313 : : return NULL;
28314 : : }
28315 : :
28316 : : case AND:
28317 : : switch (pattern525 (x2))
28318 : : {
28319 : : case 0:
28320 : : if (!((
28321 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28322 : : ((64 == 64 || TARGET_AVX512VL
28323 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28324 : : && ix86_pre_reload_split ()
28325 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28326 : : STRIP_UNARY (operands[4]))
28327 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28328 : : STRIP_UNARY (operands[4]))
28329 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28330 : : STRIP_UNARY (operands[3]))
28331 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28332 : : STRIP_UNARY (operands[3])))) &&
28333 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28334 : : (TARGET_AVX512F)) &&
28335 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28336 : : ( 1)))
28337 : : return NULL;
28338 : : return gen_split_2682 (insn, operands);
28339 : :
28340 : : case 1:
28341 : : if (!((
28342 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28343 : : ((32 == 64 || TARGET_AVX512VL
28344 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28345 : : && ix86_pre_reload_split ()
28346 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28347 : : STRIP_UNARY (operands[4]))
28348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28349 : : STRIP_UNARY (operands[4]))
28350 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28351 : : STRIP_UNARY (operands[3]))
28352 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28353 : : STRIP_UNARY (operands[3])))) &&
28354 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28355 : : (TARGET_AVX)) &&
28356 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28357 : : ( 1)))
28358 : : return NULL;
28359 : : return gen_split_2709 (insn, operands);
28360 : :
28361 : : case 2:
28362 : : if (!(
28363 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28364 : : ((16 == 64 || TARGET_AVX512VL
28365 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28366 : : && ix86_pre_reload_split ()
28367 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28368 : : STRIP_UNARY (operands[4]))
28369 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28370 : : STRIP_UNARY (operands[4]))
28371 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28372 : : STRIP_UNARY (operands[3]))
28373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28374 : : STRIP_UNARY (operands[3])))) &&
28375 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28376 : : ( 1)))
28377 : : return NULL;
28378 : : return gen_split_2736 (insn, operands);
28379 : :
28380 : : case 3:
28381 : : if (!((
28382 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28383 : : ((64 == 64 || TARGET_AVX512VL
28384 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28385 : : && ix86_pre_reload_split ()
28386 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28387 : : STRIP_UNARY (operands[4]))
28388 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28389 : : STRIP_UNARY (operands[4]))
28390 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28391 : : STRIP_UNARY (operands[3]))
28392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28393 : : STRIP_UNARY (operands[3])))) &&
28394 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28395 : : (TARGET_AVX512F)) &&
28396 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28397 : : ( 1)))
28398 : : return NULL;
28399 : : return gen_split_2763 (insn, operands);
28400 : :
28401 : : case 4:
28402 : : if (!((
28403 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28404 : : ((32 == 64 || TARGET_AVX512VL
28405 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28406 : : && ix86_pre_reload_split ()
28407 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28408 : : STRIP_UNARY (operands[4]))
28409 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28410 : : STRIP_UNARY (operands[4]))
28411 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28412 : : STRIP_UNARY (operands[3]))
28413 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28414 : : STRIP_UNARY (operands[3])))) &&
28415 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28416 : : (TARGET_AVX)) &&
28417 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28418 : : ( 1)))
28419 : : return NULL;
28420 : : return gen_split_2790 (insn, operands);
28421 : :
28422 : : case 5:
28423 : : if (!(
28424 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28425 : : ((16 == 64 || TARGET_AVX512VL
28426 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28427 : : && ix86_pre_reload_split ()
28428 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28429 : : STRIP_UNARY (operands[4]))
28430 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28431 : : STRIP_UNARY (operands[4]))
28432 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28433 : : STRIP_UNARY (operands[3]))
28434 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28435 : : STRIP_UNARY (operands[3])))) &&
28436 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28437 : : ( 1)))
28438 : : return NULL;
28439 : : return gen_split_2817 (insn, operands);
28440 : :
28441 : : case 6:
28442 : : if (!((
28443 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28444 : : ((64 == 64 || TARGET_AVX512VL
28445 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28446 : : && ix86_pre_reload_split ()
28447 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28448 : : STRIP_UNARY (operands[4]))
28449 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28450 : : STRIP_UNARY (operands[4]))
28451 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28452 : : STRIP_UNARY (operands[3]))
28453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28454 : : STRIP_UNARY (operands[3])))) &&
28455 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28456 : : (TARGET_AVX512F)) &&
28457 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28458 : : ( 1)))
28459 : : return NULL;
28460 : : return gen_split_2844 (insn, operands);
28461 : :
28462 : : case 7:
28463 : : if (!((
28464 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28465 : : ((32 == 64 || TARGET_AVX512VL
28466 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28467 : : && ix86_pre_reload_split ()
28468 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28469 : : STRIP_UNARY (operands[4]))
28470 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28471 : : STRIP_UNARY (operands[4]))
28472 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28473 : : STRIP_UNARY (operands[3]))
28474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28475 : : STRIP_UNARY (operands[3])))) &&
28476 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28477 : : (TARGET_AVX)) &&
28478 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28479 : : ( 1)))
28480 : : return NULL;
28481 : : return gen_split_2871 (insn, operands);
28482 : :
28483 : : case 8:
28484 : : if (!(
28485 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28486 : : ((16 == 64 || TARGET_AVX512VL
28487 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28488 : : && ix86_pre_reload_split ()
28489 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28490 : : STRIP_UNARY (operands[4]))
28491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28492 : : STRIP_UNARY (operands[4]))
28493 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28494 : : STRIP_UNARY (operands[3]))
28495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28496 : : STRIP_UNARY (operands[3])))) &&
28497 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28498 : : ( 1)))
28499 : : return NULL;
28500 : : return gen_split_2898 (insn, operands);
28501 : :
28502 : : case 9:
28503 : : if (!((
28504 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28505 : : ((64 == 64 || TARGET_AVX512VL
28506 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28507 : : && ix86_pre_reload_split ()
28508 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28509 : : STRIP_UNARY (operands[4]))
28510 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28511 : : STRIP_UNARY (operands[4]))
28512 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28513 : : STRIP_UNARY (operands[3]))
28514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28515 : : STRIP_UNARY (operands[3])))) &&
28516 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28517 : : (TARGET_AVX512F)) &&
28518 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28519 : : ( 1)))
28520 : : return NULL;
28521 : : return gen_split_2925 (insn, operands);
28522 : :
28523 : : case 10:
28524 : : if (!((
28525 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28526 : : ((32 == 64 || TARGET_AVX512VL
28527 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28528 : : && ix86_pre_reload_split ()
28529 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28530 : : STRIP_UNARY (operands[4]))
28531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28532 : : STRIP_UNARY (operands[4]))
28533 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28534 : : STRIP_UNARY (operands[3]))
28535 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28536 : : STRIP_UNARY (operands[3])))) &&
28537 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28538 : : (TARGET_AVX)) &&
28539 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28540 : : ( 1)))
28541 : : return NULL;
28542 : : return gen_split_2952 (insn, operands);
28543 : :
28544 : : case 11:
28545 : : if (!((
28546 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28547 : : ((16 == 64 || TARGET_AVX512VL
28548 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28549 : : && ix86_pre_reload_split ()
28550 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28551 : : STRIP_UNARY (operands[4]))
28552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28553 : : STRIP_UNARY (operands[4]))
28554 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28555 : : STRIP_UNARY (operands[3]))
28556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28557 : : STRIP_UNARY (operands[3])))) &&
28558 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28559 : : (TARGET_SSE2)) &&
28560 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28561 : : ( 1)))
28562 : : return NULL;
28563 : : return gen_split_2979 (insn, operands);
28564 : :
28565 : : default:
28566 : : return NULL;
28567 : : }
28568 : :
28569 : : case IOR:
28570 : : switch (pattern525 (x2))
28571 : : {
28572 : : case 0:
28573 : : if (!((
28574 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28575 : : ((64 == 64 || TARGET_AVX512VL
28576 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28577 : : && ix86_pre_reload_split ()
28578 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28579 : : STRIP_UNARY (operands[4]))
28580 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28581 : : STRIP_UNARY (operands[4]))
28582 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28583 : : STRIP_UNARY (operands[3]))
28584 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28585 : : STRIP_UNARY (operands[3])))) &&
28586 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28587 : : (TARGET_AVX512F)) &&
28588 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28589 : : ( 1)))
28590 : : return NULL;
28591 : : return gen_split_2685 (insn, operands);
28592 : :
28593 : : case 1:
28594 : : if (!((
28595 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28596 : : ((32 == 64 || TARGET_AVX512VL
28597 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28598 : : && ix86_pre_reload_split ()
28599 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28600 : : STRIP_UNARY (operands[4]))
28601 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28602 : : STRIP_UNARY (operands[4]))
28603 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28604 : : STRIP_UNARY (operands[3]))
28605 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28606 : : STRIP_UNARY (operands[3])))) &&
28607 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28608 : : (TARGET_AVX)) &&
28609 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28610 : : ( 1)))
28611 : : return NULL;
28612 : : return gen_split_2712 (insn, operands);
28613 : :
28614 : : case 2:
28615 : : if (!(
28616 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28617 : : ((16 == 64 || TARGET_AVX512VL
28618 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28619 : : && ix86_pre_reload_split ()
28620 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28621 : : STRIP_UNARY (operands[4]))
28622 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28623 : : STRIP_UNARY (operands[4]))
28624 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28625 : : STRIP_UNARY (operands[3]))
28626 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28627 : : STRIP_UNARY (operands[3])))) &&
28628 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28629 : : ( 1)))
28630 : : return NULL;
28631 : : return gen_split_2739 (insn, operands);
28632 : :
28633 : : case 3:
28634 : : if (!((
28635 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28636 : : ((64 == 64 || TARGET_AVX512VL
28637 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28638 : : && ix86_pre_reload_split ()
28639 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28640 : : STRIP_UNARY (operands[4]))
28641 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28642 : : STRIP_UNARY (operands[4]))
28643 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28644 : : STRIP_UNARY (operands[3]))
28645 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28646 : : STRIP_UNARY (operands[3])))) &&
28647 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28648 : : (TARGET_AVX512F)) &&
28649 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28650 : : ( 1)))
28651 : : return NULL;
28652 : : return gen_split_2766 (insn, operands);
28653 : :
28654 : : case 4:
28655 : : if (!((
28656 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28657 : : ((32 == 64 || TARGET_AVX512VL
28658 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28659 : : && ix86_pre_reload_split ()
28660 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28661 : : STRIP_UNARY (operands[4]))
28662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28663 : : STRIP_UNARY (operands[4]))
28664 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28665 : : STRIP_UNARY (operands[3]))
28666 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28667 : : STRIP_UNARY (operands[3])))) &&
28668 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28669 : : (TARGET_AVX)) &&
28670 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28671 : : ( 1)))
28672 : : return NULL;
28673 : : return gen_split_2793 (insn, operands);
28674 : :
28675 : : case 5:
28676 : : if (!(
28677 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28678 : : ((16 == 64 || TARGET_AVX512VL
28679 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28680 : : && ix86_pre_reload_split ()
28681 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28682 : : STRIP_UNARY (operands[4]))
28683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28684 : : STRIP_UNARY (operands[4]))
28685 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28686 : : STRIP_UNARY (operands[3]))
28687 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28688 : : STRIP_UNARY (operands[3])))) &&
28689 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28690 : : ( 1)))
28691 : : return NULL;
28692 : : return gen_split_2820 (insn, operands);
28693 : :
28694 : : case 6:
28695 : : if (!((
28696 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28697 : : ((64 == 64 || TARGET_AVX512VL
28698 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28699 : : && ix86_pre_reload_split ()
28700 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28701 : : STRIP_UNARY (operands[4]))
28702 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28703 : : STRIP_UNARY (operands[4]))
28704 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28705 : : STRIP_UNARY (operands[3]))
28706 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28707 : : STRIP_UNARY (operands[3])))) &&
28708 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28709 : : (TARGET_AVX512F)) &&
28710 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28711 : : ( 1)))
28712 : : return NULL;
28713 : : return gen_split_2847 (insn, operands);
28714 : :
28715 : : case 7:
28716 : : if (!((
28717 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28718 : : ((32 == 64 || TARGET_AVX512VL
28719 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28720 : : && ix86_pre_reload_split ()
28721 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28722 : : STRIP_UNARY (operands[4]))
28723 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28724 : : STRIP_UNARY (operands[4]))
28725 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28726 : : STRIP_UNARY (operands[3]))
28727 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28728 : : STRIP_UNARY (operands[3])))) &&
28729 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28730 : : (TARGET_AVX)) &&
28731 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28732 : : ( 1)))
28733 : : return NULL;
28734 : : return gen_split_2874 (insn, operands);
28735 : :
28736 : : case 8:
28737 : : if (!(
28738 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28739 : : ((16 == 64 || TARGET_AVX512VL
28740 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28741 : : && ix86_pre_reload_split ()
28742 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28743 : : STRIP_UNARY (operands[4]))
28744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28745 : : STRIP_UNARY (operands[4]))
28746 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28747 : : STRIP_UNARY (operands[3]))
28748 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28749 : : STRIP_UNARY (operands[3])))) &&
28750 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28751 : : ( 1)))
28752 : : return NULL;
28753 : : return gen_split_2901 (insn, operands);
28754 : :
28755 : : case 9:
28756 : : if (!((
28757 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28758 : : ((64 == 64 || TARGET_AVX512VL
28759 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28760 : : && ix86_pre_reload_split ()
28761 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28762 : : STRIP_UNARY (operands[4]))
28763 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28764 : : STRIP_UNARY (operands[4]))
28765 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28766 : : STRIP_UNARY (operands[3]))
28767 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28768 : : STRIP_UNARY (operands[3])))) &&
28769 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28770 : : (TARGET_AVX512F)) &&
28771 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28772 : : ( 1)))
28773 : : return NULL;
28774 : : return gen_split_2928 (insn, operands);
28775 : :
28776 : : case 10:
28777 : : if (!((
28778 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28779 : : ((32 == 64 || TARGET_AVX512VL
28780 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28781 : : && ix86_pre_reload_split ()
28782 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28783 : : STRIP_UNARY (operands[4]))
28784 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28785 : : STRIP_UNARY (operands[4]))
28786 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28787 : : STRIP_UNARY (operands[3]))
28788 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28789 : : STRIP_UNARY (operands[3])))) &&
28790 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28791 : : (TARGET_AVX)) &&
28792 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28793 : : ( 1)))
28794 : : return NULL;
28795 : : return gen_split_2955 (insn, operands);
28796 : :
28797 : : case 11:
28798 : : if (!((
28799 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28800 : : ((16 == 64 || TARGET_AVX512VL
28801 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28802 : : && ix86_pre_reload_split ()
28803 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28804 : : STRIP_UNARY (operands[4]))
28805 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28806 : : STRIP_UNARY (operands[4]))
28807 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28808 : : STRIP_UNARY (operands[3]))
28809 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28810 : : STRIP_UNARY (operands[3])))) &&
28811 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28812 : : (TARGET_SSE2)) &&
28813 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28814 : : ( 1)))
28815 : : return NULL;
28816 : : return gen_split_2982 (insn, operands);
28817 : :
28818 : : default:
28819 : : return NULL;
28820 : : }
28821 : :
28822 : : case XOR:
28823 : : switch (pattern525 (x2))
28824 : : {
28825 : : case 0:
28826 : : if (!((
28827 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28828 : : ((64 == 64 || TARGET_AVX512VL
28829 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28830 : : && ix86_pre_reload_split ()
28831 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28832 : : STRIP_UNARY (operands[4]))
28833 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28834 : : STRIP_UNARY (operands[4]))
28835 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28836 : : STRIP_UNARY (operands[3]))
28837 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28838 : : STRIP_UNARY (operands[3])))) &&
28839 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28840 : : (TARGET_AVX512F)) &&
28841 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28842 : : ( 1)))
28843 : : return NULL;
28844 : : return gen_split_2688 (insn, operands);
28845 : :
28846 : : case 1:
28847 : : if (!((
28848 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28849 : : ((32 == 64 || TARGET_AVX512VL
28850 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28851 : : && ix86_pre_reload_split ()
28852 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28853 : : STRIP_UNARY (operands[4]))
28854 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28855 : : STRIP_UNARY (operands[4]))
28856 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28857 : : STRIP_UNARY (operands[3]))
28858 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28859 : : STRIP_UNARY (operands[3])))) &&
28860 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28861 : : (TARGET_AVX)) &&
28862 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28863 : : ( 1)))
28864 : : return NULL;
28865 : : return gen_split_2715 (insn, operands);
28866 : :
28867 : : case 2:
28868 : : if (!(
28869 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28870 : : ((16 == 64 || TARGET_AVX512VL
28871 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28872 : : && ix86_pre_reload_split ()
28873 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28874 : : STRIP_UNARY (operands[4]))
28875 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28876 : : STRIP_UNARY (operands[4]))
28877 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28878 : : STRIP_UNARY (operands[3]))
28879 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28880 : : STRIP_UNARY (operands[3])))) &&
28881 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28882 : : ( 1)))
28883 : : return NULL;
28884 : : return gen_split_2742 (insn, operands);
28885 : :
28886 : : case 3:
28887 : : if (!((
28888 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28889 : : ((64 == 64 || TARGET_AVX512VL
28890 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28891 : : && ix86_pre_reload_split ()
28892 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28893 : : STRIP_UNARY (operands[4]))
28894 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28895 : : STRIP_UNARY (operands[4]))
28896 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28897 : : STRIP_UNARY (operands[3]))
28898 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28899 : : STRIP_UNARY (operands[3])))) &&
28900 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28901 : : (TARGET_AVX512F)) &&
28902 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28903 : : ( 1)))
28904 : : return NULL;
28905 : : return gen_split_2769 (insn, operands);
28906 : :
28907 : : case 4:
28908 : : if (!((
28909 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28910 : : ((32 == 64 || TARGET_AVX512VL
28911 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28912 : : && ix86_pre_reload_split ()
28913 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28914 : : STRIP_UNARY (operands[4]))
28915 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28916 : : STRIP_UNARY (operands[4]))
28917 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28918 : : STRIP_UNARY (operands[3]))
28919 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28920 : : STRIP_UNARY (operands[3])))) &&
28921 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28922 : : (TARGET_AVX)) &&
28923 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28924 : : ( 1)))
28925 : : return NULL;
28926 : : return gen_split_2796 (insn, operands);
28927 : :
28928 : : case 5:
28929 : : if (!(
28930 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28931 : : ((16 == 64 || TARGET_AVX512VL
28932 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28933 : : && ix86_pre_reload_split ()
28934 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28935 : : STRIP_UNARY (operands[4]))
28936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28937 : : STRIP_UNARY (operands[4]))
28938 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28939 : : STRIP_UNARY (operands[3]))
28940 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28941 : : STRIP_UNARY (operands[3])))) &&
28942 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28943 : : ( 1)))
28944 : : return NULL;
28945 : : return gen_split_2823 (insn, operands);
28946 : :
28947 : : case 6:
28948 : : if (!((
28949 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28950 : : ((64 == 64 || TARGET_AVX512VL
28951 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28952 : : && ix86_pre_reload_split ()
28953 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28954 : : STRIP_UNARY (operands[4]))
28955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28956 : : STRIP_UNARY (operands[4]))
28957 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28958 : : STRIP_UNARY (operands[3]))
28959 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28960 : : STRIP_UNARY (operands[3])))) &&
28961 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28962 : : (TARGET_AVX512F)) &&
28963 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28964 : : ( 1)))
28965 : : return NULL;
28966 : : return gen_split_2850 (insn, operands);
28967 : :
28968 : : case 7:
28969 : : if (!((
28970 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28971 : : ((32 == 64 || TARGET_AVX512VL
28972 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28973 : : && ix86_pre_reload_split ()
28974 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28975 : : STRIP_UNARY (operands[4]))
28976 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28977 : : STRIP_UNARY (operands[4]))
28978 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28979 : : STRIP_UNARY (operands[3]))
28980 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28981 : : STRIP_UNARY (operands[3])))) &&
28982 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28983 : : (TARGET_AVX)) &&
28984 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28985 : : ( 1)))
28986 : : return NULL;
28987 : : return gen_split_2877 (insn, operands);
28988 : :
28989 : : case 8:
28990 : : if (!(
28991 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28992 : : ((16 == 64 || TARGET_AVX512VL
28993 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28994 : : && ix86_pre_reload_split ()
28995 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28996 : : STRIP_UNARY (operands[4]))
28997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28998 : : STRIP_UNARY (operands[4]))
28999 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29000 : : STRIP_UNARY (operands[3]))
29001 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29002 : : STRIP_UNARY (operands[3])))) &&
29003 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29004 : : ( 1)))
29005 : : return NULL;
29006 : : return gen_split_2904 (insn, operands);
29007 : :
29008 : : case 9:
29009 : : if (!((
29010 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29011 : : ((64 == 64 || TARGET_AVX512VL
29012 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29013 : : && ix86_pre_reload_split ()
29014 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29015 : : STRIP_UNARY (operands[4]))
29016 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29017 : : STRIP_UNARY (operands[4]))
29018 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29019 : : STRIP_UNARY (operands[3]))
29020 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29021 : : STRIP_UNARY (operands[3])))) &&
29022 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29023 : : (TARGET_AVX512F)) &&
29024 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29025 : : ( 1)))
29026 : : return NULL;
29027 : : return gen_split_2931 (insn, operands);
29028 : :
29029 : : case 10:
29030 : : if (!((
29031 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29032 : : ((32 == 64 || TARGET_AVX512VL
29033 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29034 : : && ix86_pre_reload_split ()
29035 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29036 : : STRIP_UNARY (operands[4]))
29037 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29038 : : STRIP_UNARY (operands[4]))
29039 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29040 : : STRIP_UNARY (operands[3]))
29041 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29042 : : STRIP_UNARY (operands[3])))) &&
29043 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29044 : : (TARGET_AVX)) &&
29045 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29046 : : ( 1)))
29047 : : return NULL;
29048 : : return gen_split_2958 (insn, operands);
29049 : :
29050 : : case 11:
29051 : : if (!((
29052 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29053 : : ((16 == 64 || TARGET_AVX512VL
29054 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29055 : : && ix86_pre_reload_split ()
29056 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29057 : : STRIP_UNARY (operands[4]))
29058 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29059 : : STRIP_UNARY (operands[4]))
29060 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29061 : : STRIP_UNARY (operands[3]))
29062 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29063 : : STRIP_UNARY (operands[3])))) &&
29064 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29065 : : (TARGET_SSE2)) &&
29066 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29067 : : ( 1)))
29068 : : return NULL;
29069 : : return gen_split_2985 (insn, operands);
29070 : :
29071 : : default:
29072 : : return NULL;
29073 : : }
29074 : :
29075 : : default:
29076 : : return NULL;
29077 : : }
29078 : : }
29079 : :
29080 : : rtx_insn *
29081 : : split_82 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
29082 : : {
29083 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
29084 : : rtx x2, x3, x4, x5;
29085 : : rtx_insn *res ATTRIBUTE_UNUSED;
29086 : : x2 = XEXP (x1, 1);
29087 : : switch (GET_CODE (x2))
29088 : : {
29089 : : case AND:
29090 : : res = split_69 (x1, insn);
29091 : : if (res != NULL_RTX)
29092 : : return res;
29093 : : break;
29094 : :
29095 : : case IOR:
29096 : : res = split_76 (x1, insn);
29097 : : if (res != NULL_RTX)
29098 : : return res;
29099 : : break;
29100 : :
29101 : : case XOR:
29102 : : x3 = XEXP (x2, 0);
29103 : : switch (GET_CODE (x3))
29104 : : {
29105 : : case AND:
29106 : : res = split_71 (x1, insn);
29107 : : if (res != NULL_RTX)
29108 : : return res;
29109 : : break;
29110 : :
29111 : : case IOR:
29112 : : res = split_72 (x1, insn);
29113 : : if (res != NULL_RTX)
29114 : : return res;
29115 : : break;
29116 : :
29117 : : case XOR:
29118 : : x4 = XEXP (x3, 0);
29119 : : switch (GET_CODE (x4))
29120 : : {
29121 : : case REG:
29122 : : case SUBREG:
29123 : : case MEM:
29124 : : case NOT:
29125 : : switch (pattern520 (x2))
29126 : : {
29127 : : case 0:
29128 : : if (((
29129 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29130 : : ((64 == 64 || TARGET_AVX512VL
29131 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29132 : : && ix86_pre_reload_split ()
29133 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29134 : : STRIP_UNARY (operands[4]))
29135 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29136 : : STRIP_UNARY (operands[4]))
29137 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29138 : : STRIP_UNARY (operands[3]))
29139 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29140 : : STRIP_UNARY (operands[3])))) &&
29141 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29142 : : (TARGET_AVX512F)) &&
29143 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29144 : : ( 1)))
29145 : : return gen_split_1711 (insn, operands);
29146 : : break;
29147 : :
29148 : : case 1:
29149 : : if (((
29150 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29151 : : ((32 == 64 || TARGET_AVX512VL
29152 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29153 : : && ix86_pre_reload_split ()
29154 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29155 : : STRIP_UNARY (operands[4]))
29156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29157 : : STRIP_UNARY (operands[4]))
29158 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29159 : : STRIP_UNARY (operands[3]))
29160 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29161 : : STRIP_UNARY (operands[3])))) &&
29162 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29163 : : (TARGET_AVX)) &&
29164 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29165 : : ( 1)))
29166 : : return gen_split_1738 (insn, operands);
29167 : : break;
29168 : :
29169 : : case 2:
29170 : : if ((
29171 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29172 : : ((16 == 64 || TARGET_AVX512VL
29173 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29174 : : && ix86_pre_reload_split ()
29175 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29176 : : STRIP_UNARY (operands[4]))
29177 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29178 : : STRIP_UNARY (operands[4]))
29179 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29180 : : STRIP_UNARY (operands[3]))
29181 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29182 : : STRIP_UNARY (operands[3])))) &&
29183 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29184 : : ( 1)))
29185 : : return gen_split_1765 (insn, operands);
29186 : : break;
29187 : :
29188 : : case 3:
29189 : : if (((
29190 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29191 : : ((64 == 64 || TARGET_AVX512VL
29192 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29193 : : && ix86_pre_reload_split ()
29194 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29195 : : STRIP_UNARY (operands[4]))
29196 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29197 : : STRIP_UNARY (operands[4]))
29198 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29199 : : STRIP_UNARY (operands[3]))
29200 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29201 : : STRIP_UNARY (operands[3])))) &&
29202 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29203 : : (TARGET_AVX512F)) &&
29204 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29205 : : ( 1)))
29206 : : return gen_split_1792 (insn, operands);
29207 : : break;
29208 : :
29209 : : case 4:
29210 : : if (((
29211 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29212 : : ((32 == 64 || TARGET_AVX512VL
29213 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29214 : : && ix86_pre_reload_split ()
29215 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29216 : : STRIP_UNARY (operands[4]))
29217 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29218 : : STRIP_UNARY (operands[4]))
29219 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29220 : : STRIP_UNARY (operands[3]))
29221 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29222 : : STRIP_UNARY (operands[3])))) &&
29223 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29224 : : (TARGET_AVX)) &&
29225 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29226 : : ( 1)))
29227 : : return gen_split_1819 (insn, operands);
29228 : : break;
29229 : :
29230 : : case 5:
29231 : : if ((
29232 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29233 : : ((16 == 64 || TARGET_AVX512VL
29234 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29235 : : && ix86_pre_reload_split ()
29236 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29237 : : STRIP_UNARY (operands[4]))
29238 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29239 : : STRIP_UNARY (operands[4]))
29240 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29241 : : STRIP_UNARY (operands[3]))
29242 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29243 : : STRIP_UNARY (operands[3])))) &&
29244 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29245 : : ( 1)))
29246 : : return gen_split_1846 (insn, operands);
29247 : : break;
29248 : :
29249 : : case 6:
29250 : : if (((
29251 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29252 : : ((64 == 64 || TARGET_AVX512VL
29253 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29254 : : && ix86_pre_reload_split ()
29255 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29256 : : STRIP_UNARY (operands[4]))
29257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29258 : : STRIP_UNARY (operands[4]))
29259 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29260 : : STRIP_UNARY (operands[3]))
29261 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29262 : : STRIP_UNARY (operands[3])))) &&
29263 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29264 : : (TARGET_AVX512F)) &&
29265 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29266 : : ( 1)))
29267 : : return gen_split_1873 (insn, operands);
29268 : : break;
29269 : :
29270 : : case 7:
29271 : : if (((
29272 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29273 : : ((32 == 64 || TARGET_AVX512VL
29274 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29275 : : && ix86_pre_reload_split ()
29276 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29277 : : STRIP_UNARY (operands[4]))
29278 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29279 : : STRIP_UNARY (operands[4]))
29280 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29281 : : STRIP_UNARY (operands[3]))
29282 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29283 : : STRIP_UNARY (operands[3])))) &&
29284 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29285 : : (TARGET_AVX)) &&
29286 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29287 : : ( 1)))
29288 : : return gen_split_1900 (insn, operands);
29289 : : break;
29290 : :
29291 : : case 8:
29292 : : if ((
29293 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29294 : : ((16 == 64 || TARGET_AVX512VL
29295 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29296 : : && ix86_pre_reload_split ()
29297 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29298 : : STRIP_UNARY (operands[4]))
29299 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29300 : : STRIP_UNARY (operands[4]))
29301 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29302 : : STRIP_UNARY (operands[3]))
29303 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29304 : : STRIP_UNARY (operands[3])))) &&
29305 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29306 : : ( 1)))
29307 : : return gen_split_1927 (insn, operands);
29308 : : break;
29309 : :
29310 : : case 9:
29311 : : if (((
29312 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29313 : : ((64 == 64 || TARGET_AVX512VL
29314 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29315 : : && ix86_pre_reload_split ()
29316 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29317 : : STRIP_UNARY (operands[4]))
29318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29319 : : STRIP_UNARY (operands[4]))
29320 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29321 : : STRIP_UNARY (operands[3]))
29322 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29323 : : STRIP_UNARY (operands[3])))) &&
29324 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29325 : : (TARGET_AVX512F)) &&
29326 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29327 : : ( 1)))
29328 : : return gen_split_1954 (insn, operands);
29329 : : break;
29330 : :
29331 : : case 10:
29332 : : if (((
29333 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29334 : : ((32 == 64 || TARGET_AVX512VL
29335 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29336 : : && ix86_pre_reload_split ()
29337 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29338 : : STRIP_UNARY (operands[4]))
29339 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29340 : : STRIP_UNARY (operands[4]))
29341 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29342 : : STRIP_UNARY (operands[3]))
29343 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29344 : : STRIP_UNARY (operands[3])))) &&
29345 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29346 : : (TARGET_AVX)) &&
29347 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29348 : : ( 1)))
29349 : : return gen_split_1981 (insn, operands);
29350 : : break;
29351 : :
29352 : : case 11:
29353 : : if ((
29354 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29355 : : ((16 == 64 || TARGET_AVX512VL
29356 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29357 : : && ix86_pre_reload_split ()
29358 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29359 : : STRIP_UNARY (operands[4]))
29360 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29361 : : STRIP_UNARY (operands[4]))
29362 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29363 : : STRIP_UNARY (operands[3]))
29364 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29365 : : STRIP_UNARY (operands[3])))) &&
29366 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29367 : : ( 1)))
29368 : : return gen_split_2008 (insn, operands);
29369 : : break;
29370 : :
29371 : : case 12:
29372 : : if (((
29373 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29374 : : ((64 == 64 || TARGET_AVX512VL
29375 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29376 : : && ix86_pre_reload_split ()
29377 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29378 : : STRIP_UNARY (operands[4]))
29379 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29380 : : STRIP_UNARY (operands[4]))
29381 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29382 : : STRIP_UNARY (operands[3]))
29383 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29384 : : STRIP_UNARY (operands[3])))) &&
29385 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29386 : : (TARGET_AVX512F)) &&
29387 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29388 : : ( 1)))
29389 : : return gen_split_1714 (insn, operands);
29390 : : break;
29391 : :
29392 : : case 13:
29393 : : if (((
29394 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29395 : : ((32 == 64 || TARGET_AVX512VL
29396 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29397 : : && ix86_pre_reload_split ()
29398 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29399 : : STRIP_UNARY (operands[4]))
29400 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29401 : : STRIP_UNARY (operands[4]))
29402 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29403 : : STRIP_UNARY (operands[3]))
29404 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29405 : : STRIP_UNARY (operands[3])))) &&
29406 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29407 : : (TARGET_AVX)) &&
29408 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29409 : : ( 1)))
29410 : : return gen_split_1741 (insn, operands);
29411 : : break;
29412 : :
29413 : : case 14:
29414 : : if ((
29415 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29416 : : ((16 == 64 || TARGET_AVX512VL
29417 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29418 : : && ix86_pre_reload_split ()
29419 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29420 : : STRIP_UNARY (operands[4]))
29421 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29422 : : STRIP_UNARY (operands[4]))
29423 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29424 : : STRIP_UNARY (operands[3]))
29425 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29426 : : STRIP_UNARY (operands[3])))) &&
29427 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29428 : : ( 1)))
29429 : : return gen_split_1768 (insn, operands);
29430 : : break;
29431 : :
29432 : : case 15:
29433 : : if (((
29434 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29435 : : ((64 == 64 || TARGET_AVX512VL
29436 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29437 : : && ix86_pre_reload_split ()
29438 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29439 : : STRIP_UNARY (operands[4]))
29440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29441 : : STRIP_UNARY (operands[4]))
29442 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29443 : : STRIP_UNARY (operands[3]))
29444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29445 : : STRIP_UNARY (operands[3])))) &&
29446 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29447 : : (TARGET_AVX512F)) &&
29448 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29449 : : ( 1)))
29450 : : return gen_split_1795 (insn, operands);
29451 : : break;
29452 : :
29453 : : case 16:
29454 : : if (((
29455 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29456 : : ((32 == 64 || TARGET_AVX512VL
29457 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29458 : : && ix86_pre_reload_split ()
29459 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29460 : : STRIP_UNARY (operands[4]))
29461 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29462 : : STRIP_UNARY (operands[4]))
29463 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29464 : : STRIP_UNARY (operands[3]))
29465 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29466 : : STRIP_UNARY (operands[3])))) &&
29467 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29468 : : (TARGET_AVX)) &&
29469 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29470 : : ( 1)))
29471 : : return gen_split_1822 (insn, operands);
29472 : : break;
29473 : :
29474 : : case 17:
29475 : : if ((
29476 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29477 : : ((16 == 64 || TARGET_AVX512VL
29478 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29479 : : && ix86_pre_reload_split ()
29480 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29481 : : STRIP_UNARY (operands[4]))
29482 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29483 : : STRIP_UNARY (operands[4]))
29484 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29485 : : STRIP_UNARY (operands[3]))
29486 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29487 : : STRIP_UNARY (operands[3])))) &&
29488 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29489 : : ( 1)))
29490 : : return gen_split_1849 (insn, operands);
29491 : : break;
29492 : :
29493 : : case 18:
29494 : : if (((
29495 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29496 : : ((64 == 64 || TARGET_AVX512VL
29497 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29498 : : && ix86_pre_reload_split ()
29499 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29500 : : STRIP_UNARY (operands[4]))
29501 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29502 : : STRIP_UNARY (operands[4]))
29503 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29504 : : STRIP_UNARY (operands[3]))
29505 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29506 : : STRIP_UNARY (operands[3])))) &&
29507 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29508 : : (TARGET_AVX512F)) &&
29509 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29510 : : ( 1)))
29511 : : return gen_split_1876 (insn, operands);
29512 : : break;
29513 : :
29514 : : case 19:
29515 : : if (((
29516 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29517 : : ((32 == 64 || TARGET_AVX512VL
29518 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29519 : : && ix86_pre_reload_split ()
29520 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29521 : : STRIP_UNARY (operands[4]))
29522 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29523 : : STRIP_UNARY (operands[4]))
29524 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29525 : : STRIP_UNARY (operands[3]))
29526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29527 : : STRIP_UNARY (operands[3])))) &&
29528 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29529 : : (TARGET_AVX)) &&
29530 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29531 : : ( 1)))
29532 : : return gen_split_1903 (insn, operands);
29533 : : break;
29534 : :
29535 : : case 20:
29536 : : if ((
29537 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29538 : : ((16 == 64 || TARGET_AVX512VL
29539 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29540 : : && ix86_pre_reload_split ()
29541 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29542 : : STRIP_UNARY (operands[4]))
29543 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29544 : : STRIP_UNARY (operands[4]))
29545 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29546 : : STRIP_UNARY (operands[3]))
29547 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29548 : : STRIP_UNARY (operands[3])))) &&
29549 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29550 : : ( 1)))
29551 : : return gen_split_1930 (insn, operands);
29552 : : break;
29553 : :
29554 : : case 21:
29555 : : if (((
29556 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29557 : : ((64 == 64 || TARGET_AVX512VL
29558 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29559 : : && ix86_pre_reload_split ()
29560 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29561 : : STRIP_UNARY (operands[4]))
29562 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29563 : : STRIP_UNARY (operands[4]))
29564 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29565 : : STRIP_UNARY (operands[3]))
29566 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29567 : : STRIP_UNARY (operands[3])))) &&
29568 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29569 : : (TARGET_AVX512F)) &&
29570 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29571 : : ( 1)))
29572 : : return gen_split_1957 (insn, operands);
29573 : : break;
29574 : :
29575 : : case 22:
29576 : : if (((
29577 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29578 : : ((32 == 64 || TARGET_AVX512VL
29579 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29580 : : && ix86_pre_reload_split ()
29581 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29582 : : STRIP_UNARY (operands[4]))
29583 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29584 : : STRIP_UNARY (operands[4]))
29585 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29586 : : STRIP_UNARY (operands[3]))
29587 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29588 : : STRIP_UNARY (operands[3])))) &&
29589 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29590 : : (TARGET_AVX)) &&
29591 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29592 : : ( 1)))
29593 : : return gen_split_1984 (insn, operands);
29594 : : break;
29595 : :
29596 : : case 23:
29597 : : if ((
29598 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29599 : : ((16 == 64 || TARGET_AVX512VL
29600 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29601 : : && ix86_pre_reload_split ()
29602 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29603 : : STRIP_UNARY (operands[4]))
29604 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29605 : : STRIP_UNARY (operands[4]))
29606 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29607 : : STRIP_UNARY (operands[3]))
29608 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29609 : : STRIP_UNARY (operands[3])))) &&
29610 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29611 : : ( 1)))
29612 : : return gen_split_2011 (insn, operands);
29613 : : break;
29614 : :
29615 : : case 24:
29616 : : if (((
29617 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29618 : : ((64 == 64 || TARGET_AVX512VL
29619 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29620 : : && ix86_pre_reload_split ()
29621 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29622 : : STRIP_UNARY (operands[4]))
29623 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29624 : : STRIP_UNARY (operands[4]))
29625 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29626 : : STRIP_UNARY (operands[3]))
29627 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29628 : : STRIP_UNARY (operands[3])))) &&
29629 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29630 : : (TARGET_AVX512F)) &&
29631 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29632 : : ( 1)))
29633 : : return gen_split_1717 (insn, operands);
29634 : : break;
29635 : :
29636 : : case 25:
29637 : : if (((
29638 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29639 : : ((32 == 64 || TARGET_AVX512VL
29640 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29641 : : && ix86_pre_reload_split ()
29642 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29643 : : STRIP_UNARY (operands[4]))
29644 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29645 : : STRIP_UNARY (operands[4]))
29646 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29647 : : STRIP_UNARY (operands[3]))
29648 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29649 : : STRIP_UNARY (operands[3])))) &&
29650 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29651 : : (TARGET_AVX)) &&
29652 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29653 : : ( 1)))
29654 : : return gen_split_1744 (insn, operands);
29655 : : break;
29656 : :
29657 : : case 26:
29658 : : if ((
29659 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29660 : : ((16 == 64 || TARGET_AVX512VL
29661 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29662 : : && ix86_pre_reload_split ()
29663 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29664 : : STRIP_UNARY (operands[4]))
29665 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29666 : : STRIP_UNARY (operands[4]))
29667 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29668 : : STRIP_UNARY (operands[3]))
29669 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29670 : : STRIP_UNARY (operands[3])))) &&
29671 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29672 : : ( 1)))
29673 : : return gen_split_1771 (insn, operands);
29674 : : break;
29675 : :
29676 : : case 27:
29677 : : if (((
29678 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29679 : : ((64 == 64 || TARGET_AVX512VL
29680 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29681 : : && ix86_pre_reload_split ()
29682 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29683 : : STRIP_UNARY (operands[4]))
29684 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29685 : : STRIP_UNARY (operands[4]))
29686 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29687 : : STRIP_UNARY (operands[3]))
29688 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29689 : : STRIP_UNARY (operands[3])))) &&
29690 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29691 : : (TARGET_AVX512F)) &&
29692 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29693 : : ( 1)))
29694 : : return gen_split_1798 (insn, operands);
29695 : : break;
29696 : :
29697 : : case 28:
29698 : : if (((
29699 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29700 : : ((32 == 64 || TARGET_AVX512VL
29701 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29702 : : && ix86_pre_reload_split ()
29703 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29704 : : STRIP_UNARY (operands[4]))
29705 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29706 : : STRIP_UNARY (operands[4]))
29707 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29708 : : STRIP_UNARY (operands[3]))
29709 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29710 : : STRIP_UNARY (operands[3])))) &&
29711 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29712 : : (TARGET_AVX)) &&
29713 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29714 : : ( 1)))
29715 : : return gen_split_1825 (insn, operands);
29716 : : break;
29717 : :
29718 : : case 29:
29719 : : if ((
29720 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29721 : : ((16 == 64 || TARGET_AVX512VL
29722 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29723 : : && ix86_pre_reload_split ()
29724 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29725 : : STRIP_UNARY (operands[4]))
29726 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29727 : : STRIP_UNARY (operands[4]))
29728 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29729 : : STRIP_UNARY (operands[3]))
29730 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29731 : : STRIP_UNARY (operands[3])))) &&
29732 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29733 : : ( 1)))
29734 : : return gen_split_1852 (insn, operands);
29735 : : break;
29736 : :
29737 : : case 30:
29738 : : if (((
29739 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29740 : : ((64 == 64 || TARGET_AVX512VL
29741 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29742 : : && ix86_pre_reload_split ()
29743 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29744 : : STRIP_UNARY (operands[4]))
29745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29746 : : STRIP_UNARY (operands[4]))
29747 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29748 : : STRIP_UNARY (operands[3]))
29749 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29750 : : STRIP_UNARY (operands[3])))) &&
29751 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29752 : : (TARGET_AVX512F)) &&
29753 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29754 : : ( 1)))
29755 : : return gen_split_1879 (insn, operands);
29756 : : break;
29757 : :
29758 : : case 31:
29759 : : if (((
29760 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29761 : : ((32 == 64 || TARGET_AVX512VL
29762 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29763 : : && ix86_pre_reload_split ()
29764 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29765 : : STRIP_UNARY (operands[4]))
29766 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29767 : : STRIP_UNARY (operands[4]))
29768 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29769 : : STRIP_UNARY (operands[3]))
29770 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29771 : : STRIP_UNARY (operands[3])))) &&
29772 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29773 : : (TARGET_AVX)) &&
29774 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29775 : : ( 1)))
29776 : : return gen_split_1906 (insn, operands);
29777 : : break;
29778 : :
29779 : : case 32:
29780 : : if ((
29781 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29782 : : ((16 == 64 || TARGET_AVX512VL
29783 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29784 : : && ix86_pre_reload_split ()
29785 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29786 : : STRIP_UNARY (operands[4]))
29787 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29788 : : STRIP_UNARY (operands[4]))
29789 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29790 : : STRIP_UNARY (operands[3]))
29791 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29792 : : STRIP_UNARY (operands[3])))) &&
29793 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29794 : : ( 1)))
29795 : : return gen_split_1933 (insn, operands);
29796 : : break;
29797 : :
29798 : : case 33:
29799 : : if (((
29800 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29801 : : ((64 == 64 || TARGET_AVX512VL
29802 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29803 : : && ix86_pre_reload_split ()
29804 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29805 : : STRIP_UNARY (operands[4]))
29806 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29807 : : STRIP_UNARY (operands[4]))
29808 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29809 : : STRIP_UNARY (operands[3]))
29810 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29811 : : STRIP_UNARY (operands[3])))) &&
29812 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29813 : : (TARGET_AVX512F)) &&
29814 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29815 : : ( 1)))
29816 : : return gen_split_1960 (insn, operands);
29817 : : break;
29818 : :
29819 : : case 34:
29820 : : if (((
29821 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29822 : : ((32 == 64 || TARGET_AVX512VL
29823 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29824 : : && ix86_pre_reload_split ()
29825 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29826 : : STRIP_UNARY (operands[4]))
29827 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29828 : : STRIP_UNARY (operands[4]))
29829 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29830 : : STRIP_UNARY (operands[3]))
29831 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29832 : : STRIP_UNARY (operands[3])))) &&
29833 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29834 : : (TARGET_AVX)) &&
29835 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29836 : : ( 1)))
29837 : : return gen_split_1987 (insn, operands);
29838 : : break;
29839 : :
29840 : : case 35:
29841 : : if ((
29842 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29843 : : ((16 == 64 || TARGET_AVX512VL
29844 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29845 : : && ix86_pre_reload_split ()
29846 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29847 : : STRIP_UNARY (operands[4]))
29848 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29849 : : STRIP_UNARY (operands[4]))
29850 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29851 : : STRIP_UNARY (operands[3]))
29852 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29853 : : STRIP_UNARY (operands[3])))) &&
29854 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29855 : : ( 1)))
29856 : : return gen_split_2014 (insn, operands);
29857 : : break;
29858 : :
29859 : : case 36:
29860 : : if (((
29861 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29862 : : ((64 == 64 || TARGET_AVX512VL
29863 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29864 : : && ix86_pre_reload_split ()) &&
29865 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29866 : : (TARGET_AVX512F)) &&
29867 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29868 : : ( 1)))
29869 : : return gen_split_2995 (insn, operands);
29870 : : break;
29871 : :
29872 : : case 37:
29873 : : if (((
29874 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29875 : : ((32 == 64 || TARGET_AVX512VL
29876 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29877 : : && ix86_pre_reload_split ()) &&
29878 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29879 : : (TARGET_AVX)) &&
29880 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29881 : : ( 1)))
29882 : : return gen_split_3004 (insn, operands);
29883 : : break;
29884 : :
29885 : : case 38:
29886 : : if ((
29887 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29888 : : ((16 == 64 || TARGET_AVX512VL
29889 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29890 : : && ix86_pre_reload_split ()) &&
29891 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29892 : : ( 1)))
29893 : : return gen_split_3013 (insn, operands);
29894 : : break;
29895 : :
29896 : : case 39:
29897 : : if (((
29898 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29899 : : ((64 == 64 || TARGET_AVX512VL
29900 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29901 : : && ix86_pre_reload_split ()) &&
29902 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29903 : : (TARGET_AVX512F)) &&
29904 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29905 : : ( 1)))
29906 : : return gen_split_3022 (insn, operands);
29907 : : break;
29908 : :
29909 : : case 40:
29910 : : if (((
29911 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29912 : : ((32 == 64 || TARGET_AVX512VL
29913 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29914 : : && ix86_pre_reload_split ()) &&
29915 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29916 : : (TARGET_AVX)) &&
29917 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29918 : : ( 1)))
29919 : : return gen_split_3031 (insn, operands);
29920 : : break;
29921 : :
29922 : : case 41:
29923 : : if ((
29924 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29925 : : ((16 == 64 || TARGET_AVX512VL
29926 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29927 : : && ix86_pre_reload_split ()) &&
29928 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29929 : : ( 1)))
29930 : : return gen_split_3040 (insn, operands);
29931 : : break;
29932 : :
29933 : : case 42:
29934 : : if (((
29935 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29936 : : ((64 == 64 || TARGET_AVX512VL
29937 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29938 : : && ix86_pre_reload_split ()) &&
29939 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29940 : : (TARGET_AVX512F)) &&
29941 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29942 : : ( 1)))
29943 : : return gen_split_3049 (insn, operands);
29944 : : break;
29945 : :
29946 : : case 43:
29947 : : if (((
29948 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29949 : : ((32 == 64 || TARGET_AVX512VL
29950 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29951 : : && ix86_pre_reload_split ()) &&
29952 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29953 : : (TARGET_AVX)) &&
29954 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29955 : : ( 1)))
29956 : : return gen_split_3058 (insn, operands);
29957 : : break;
29958 : :
29959 : : case 44:
29960 : : if ((
29961 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29962 : : ((16 == 64 || TARGET_AVX512VL
29963 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29964 : : && ix86_pre_reload_split ()) &&
29965 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29966 : : ( 1)))
29967 : : return gen_split_3067 (insn, operands);
29968 : : break;
29969 : :
29970 : : case 45:
29971 : : if (((
29972 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29973 : : ((64 == 64 || TARGET_AVX512VL
29974 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29975 : : && ix86_pre_reload_split ()) &&
29976 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29977 : : (TARGET_AVX512F)) &&
29978 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29979 : : ( 1)))
29980 : : return gen_split_3076 (insn, operands);
29981 : : break;
29982 : :
29983 : : case 46:
29984 : : if (((
29985 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29986 : : ((32 == 64 || TARGET_AVX512VL
29987 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29988 : : && ix86_pre_reload_split ()) &&
29989 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29990 : : (TARGET_AVX)) &&
29991 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29992 : : ( 1)))
29993 : : return gen_split_3085 (insn, operands);
29994 : : break;
29995 : :
29996 : : case 47:
29997 : : if ((
29998 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29999 : : ((16 == 64 || TARGET_AVX512VL
30000 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30001 : : && ix86_pre_reload_split ()) &&
30002 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30003 : : ( 1)))
30004 : : return gen_split_3094 (insn, operands);
30005 : : break;
30006 : :
30007 : : default:
30008 : : break;
30009 : : }
30010 : : break;
30011 : :
30012 : : case AND:
30013 : : switch (pattern522 (x2))
30014 : : {
30015 : : case 0:
30016 : : if (((
30017 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30018 : : ((64 == 64 || TARGET_AVX512VL
30019 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30020 : : && ix86_pre_reload_split ()
30021 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30022 : : STRIP_UNARY (operands[4]))
30023 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30024 : : STRIP_UNARY (operands[4]))
30025 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30026 : : STRIP_UNARY (operands[3]))
30027 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30028 : : STRIP_UNARY (operands[3])))) &&
30029 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30030 : : (TARGET_AVX512F)) &&
30031 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30032 : : ( 1)))
30033 : : return gen_split_2359 (insn, operands);
30034 : : break;
30035 : :
30036 : : case 1:
30037 : : if (((
30038 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30039 : : ((32 == 64 || TARGET_AVX512VL
30040 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30041 : : && ix86_pre_reload_split ()
30042 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30043 : : STRIP_UNARY (operands[4]))
30044 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30045 : : STRIP_UNARY (operands[4]))
30046 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30047 : : STRIP_UNARY (operands[3]))
30048 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30049 : : STRIP_UNARY (operands[3])))) &&
30050 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30051 : : (TARGET_AVX)) &&
30052 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30053 : : ( 1)))
30054 : : return gen_split_2386 (insn, operands);
30055 : : break;
30056 : :
30057 : : case 2:
30058 : : if ((
30059 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30060 : : ((16 == 64 || TARGET_AVX512VL
30061 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30062 : : && ix86_pre_reload_split ()
30063 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30064 : : STRIP_UNARY (operands[4]))
30065 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30066 : : STRIP_UNARY (operands[4]))
30067 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30068 : : STRIP_UNARY (operands[3]))
30069 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30070 : : STRIP_UNARY (operands[3])))) &&
30071 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30072 : : ( 1)))
30073 : : return gen_split_2413 (insn, operands);
30074 : : break;
30075 : :
30076 : : case 3:
30077 : : if (((
30078 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30079 : : ((64 == 64 || TARGET_AVX512VL
30080 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30081 : : && ix86_pre_reload_split ()
30082 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30083 : : STRIP_UNARY (operands[4]))
30084 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30085 : : STRIP_UNARY (operands[4]))
30086 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30087 : : STRIP_UNARY (operands[3]))
30088 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30089 : : STRIP_UNARY (operands[3])))) &&
30090 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30091 : : (TARGET_AVX512F)) &&
30092 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30093 : : ( 1)))
30094 : : return gen_split_2440 (insn, operands);
30095 : : break;
30096 : :
30097 : : case 4:
30098 : : if (((
30099 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30100 : : ((32 == 64 || TARGET_AVX512VL
30101 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30102 : : && ix86_pre_reload_split ()
30103 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30104 : : STRIP_UNARY (operands[4]))
30105 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30106 : : STRIP_UNARY (operands[4]))
30107 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30108 : : STRIP_UNARY (operands[3]))
30109 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30110 : : STRIP_UNARY (operands[3])))) &&
30111 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30112 : : (TARGET_AVX)) &&
30113 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30114 : : ( 1)))
30115 : : return gen_split_2467 (insn, operands);
30116 : : break;
30117 : :
30118 : : case 5:
30119 : : if ((
30120 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30121 : : ((16 == 64 || TARGET_AVX512VL
30122 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30123 : : && ix86_pre_reload_split ()
30124 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30125 : : STRIP_UNARY (operands[4]))
30126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30127 : : STRIP_UNARY (operands[4]))
30128 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30129 : : STRIP_UNARY (operands[3]))
30130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30131 : : STRIP_UNARY (operands[3])))) &&
30132 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30133 : : ( 1)))
30134 : : return gen_split_2494 (insn, operands);
30135 : : break;
30136 : :
30137 : : case 6:
30138 : : if (((
30139 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30140 : : ((64 == 64 || TARGET_AVX512VL
30141 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30142 : : && ix86_pre_reload_split ()
30143 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30144 : : STRIP_UNARY (operands[4]))
30145 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30146 : : STRIP_UNARY (operands[4]))
30147 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30148 : : STRIP_UNARY (operands[3]))
30149 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30150 : : STRIP_UNARY (operands[3])))) &&
30151 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30152 : : (TARGET_AVX512F)) &&
30153 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30154 : : ( 1)))
30155 : : return gen_split_2521 (insn, operands);
30156 : : break;
30157 : :
30158 : : case 7:
30159 : : if (((
30160 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30161 : : ((32 == 64 || TARGET_AVX512VL
30162 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30163 : : && ix86_pre_reload_split ()
30164 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30165 : : STRIP_UNARY (operands[4]))
30166 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30167 : : STRIP_UNARY (operands[4]))
30168 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30169 : : STRIP_UNARY (operands[3]))
30170 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30171 : : STRIP_UNARY (operands[3])))) &&
30172 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30173 : : (TARGET_AVX)) &&
30174 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30175 : : ( 1)))
30176 : : return gen_split_2548 (insn, operands);
30177 : : break;
30178 : :
30179 : : case 8:
30180 : : if ((
30181 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30182 : : ((16 == 64 || TARGET_AVX512VL
30183 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30184 : : && ix86_pre_reload_split ()
30185 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30186 : : STRIP_UNARY (operands[4]))
30187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30188 : : STRIP_UNARY (operands[4]))
30189 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30190 : : STRIP_UNARY (operands[3]))
30191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30192 : : STRIP_UNARY (operands[3])))) &&
30193 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30194 : : ( 1)))
30195 : : return gen_split_2575 (insn, operands);
30196 : : break;
30197 : :
30198 : : case 9:
30199 : : if (((
30200 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30201 : : ((64 == 64 || TARGET_AVX512VL
30202 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30203 : : && ix86_pre_reload_split ()
30204 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30205 : : STRIP_UNARY (operands[4]))
30206 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30207 : : STRIP_UNARY (operands[4]))
30208 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30209 : : STRIP_UNARY (operands[3]))
30210 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30211 : : STRIP_UNARY (operands[3])))) &&
30212 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30213 : : (TARGET_AVX512F)) &&
30214 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30215 : : ( 1)))
30216 : : return gen_split_2602 (insn, operands);
30217 : : break;
30218 : :
30219 : : case 10:
30220 : : if (((
30221 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30222 : : ((32 == 64 || TARGET_AVX512VL
30223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30224 : : && ix86_pre_reload_split ()
30225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30226 : : STRIP_UNARY (operands[4]))
30227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30228 : : STRIP_UNARY (operands[4]))
30229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30230 : : STRIP_UNARY (operands[3]))
30231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30232 : : STRIP_UNARY (operands[3])))) &&
30233 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30234 : : (TARGET_AVX)) &&
30235 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30236 : : ( 1)))
30237 : : return gen_split_2629 (insn, operands);
30238 : : break;
30239 : :
30240 : : case 11:
30241 : : if ((
30242 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30243 : : ((16 == 64 || TARGET_AVX512VL
30244 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30245 : : && ix86_pre_reload_split ()
30246 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30247 : : STRIP_UNARY (operands[4]))
30248 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30249 : : STRIP_UNARY (operands[4]))
30250 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30251 : : STRIP_UNARY (operands[3]))
30252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30253 : : STRIP_UNARY (operands[3])))) &&
30254 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30255 : : ( 1)))
30256 : : return gen_split_2656 (insn, operands);
30257 : : break;
30258 : :
30259 : : default:
30260 : : break;
30261 : : }
30262 : : break;
30263 : :
30264 : : case IOR:
30265 : : switch (pattern522 (x2))
30266 : : {
30267 : : case 0:
30268 : : if (((
30269 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30270 : : ((64 == 64 || TARGET_AVX512VL
30271 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30272 : : && ix86_pre_reload_split ()
30273 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30274 : : STRIP_UNARY (operands[4]))
30275 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30276 : : STRIP_UNARY (operands[4]))
30277 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30278 : : STRIP_UNARY (operands[3]))
30279 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30280 : : STRIP_UNARY (operands[3])))) &&
30281 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30282 : : (TARGET_AVX512F)) &&
30283 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30284 : : ( 1)))
30285 : : return gen_split_2362 (insn, operands);
30286 : : break;
30287 : :
30288 : : case 1:
30289 : : if (((
30290 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30291 : : ((32 == 64 || TARGET_AVX512VL
30292 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30293 : : && ix86_pre_reload_split ()
30294 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30295 : : STRIP_UNARY (operands[4]))
30296 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30297 : : STRIP_UNARY (operands[4]))
30298 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30299 : : STRIP_UNARY (operands[3]))
30300 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30301 : : STRIP_UNARY (operands[3])))) &&
30302 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30303 : : (TARGET_AVX)) &&
30304 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30305 : : ( 1)))
30306 : : return gen_split_2389 (insn, operands);
30307 : : break;
30308 : :
30309 : : case 2:
30310 : : if ((
30311 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30312 : : ((16 == 64 || TARGET_AVX512VL
30313 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30314 : : && ix86_pre_reload_split ()
30315 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30316 : : STRIP_UNARY (operands[4]))
30317 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30318 : : STRIP_UNARY (operands[4]))
30319 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30320 : : STRIP_UNARY (operands[3]))
30321 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30322 : : STRIP_UNARY (operands[3])))) &&
30323 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30324 : : ( 1)))
30325 : : return gen_split_2416 (insn, operands);
30326 : : break;
30327 : :
30328 : : case 3:
30329 : : if (((
30330 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30331 : : ((64 == 64 || TARGET_AVX512VL
30332 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30333 : : && ix86_pre_reload_split ()
30334 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30335 : : STRIP_UNARY (operands[4]))
30336 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30337 : : STRIP_UNARY (operands[4]))
30338 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30339 : : STRIP_UNARY (operands[3]))
30340 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30341 : : STRIP_UNARY (operands[3])))) &&
30342 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30343 : : (TARGET_AVX512F)) &&
30344 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30345 : : ( 1)))
30346 : : return gen_split_2443 (insn, operands);
30347 : : break;
30348 : :
30349 : : case 4:
30350 : : if (((
30351 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30352 : : ((32 == 64 || TARGET_AVX512VL
30353 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30354 : : && ix86_pre_reload_split ()
30355 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30356 : : STRIP_UNARY (operands[4]))
30357 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30358 : : STRIP_UNARY (operands[4]))
30359 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30360 : : STRIP_UNARY (operands[3]))
30361 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30362 : : STRIP_UNARY (operands[3])))) &&
30363 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30364 : : (TARGET_AVX)) &&
30365 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30366 : : ( 1)))
30367 : : return gen_split_2470 (insn, operands);
30368 : : break;
30369 : :
30370 : : case 5:
30371 : : if ((
30372 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30373 : : ((16 == 64 || TARGET_AVX512VL
30374 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30375 : : && ix86_pre_reload_split ()
30376 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30377 : : STRIP_UNARY (operands[4]))
30378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30379 : : STRIP_UNARY (operands[4]))
30380 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30381 : : STRIP_UNARY (operands[3]))
30382 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30383 : : STRIP_UNARY (operands[3])))) &&
30384 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30385 : : ( 1)))
30386 : : return gen_split_2497 (insn, operands);
30387 : : break;
30388 : :
30389 : : case 6:
30390 : : if (((
30391 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30392 : : ((64 == 64 || TARGET_AVX512VL
30393 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30394 : : && ix86_pre_reload_split ()
30395 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30396 : : STRIP_UNARY (operands[4]))
30397 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30398 : : STRIP_UNARY (operands[4]))
30399 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30400 : : STRIP_UNARY (operands[3]))
30401 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30402 : : STRIP_UNARY (operands[3])))) &&
30403 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30404 : : (TARGET_AVX512F)) &&
30405 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30406 : : ( 1)))
30407 : : return gen_split_2524 (insn, operands);
30408 : : break;
30409 : :
30410 : : case 7:
30411 : : if (((
30412 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30413 : : ((32 == 64 || TARGET_AVX512VL
30414 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30415 : : && ix86_pre_reload_split ()
30416 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30417 : : STRIP_UNARY (operands[4]))
30418 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30419 : : STRIP_UNARY (operands[4]))
30420 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30421 : : STRIP_UNARY (operands[3]))
30422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30423 : : STRIP_UNARY (operands[3])))) &&
30424 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30425 : : (TARGET_AVX)) &&
30426 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30427 : : ( 1)))
30428 : : return gen_split_2551 (insn, operands);
30429 : : break;
30430 : :
30431 : : case 8:
30432 : : if ((
30433 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30434 : : ((16 == 64 || TARGET_AVX512VL
30435 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30436 : : && ix86_pre_reload_split ()
30437 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30438 : : STRIP_UNARY (operands[4]))
30439 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30440 : : STRIP_UNARY (operands[4]))
30441 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30442 : : STRIP_UNARY (operands[3]))
30443 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30444 : : STRIP_UNARY (operands[3])))) &&
30445 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30446 : : ( 1)))
30447 : : return gen_split_2578 (insn, operands);
30448 : : break;
30449 : :
30450 : : case 9:
30451 : : if (((
30452 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30453 : : ((64 == 64 || TARGET_AVX512VL
30454 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30455 : : && ix86_pre_reload_split ()
30456 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30457 : : STRIP_UNARY (operands[4]))
30458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30459 : : STRIP_UNARY (operands[4]))
30460 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30461 : : STRIP_UNARY (operands[3]))
30462 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30463 : : STRIP_UNARY (operands[3])))) &&
30464 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30465 : : (TARGET_AVX512F)) &&
30466 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30467 : : ( 1)))
30468 : : return gen_split_2605 (insn, operands);
30469 : : break;
30470 : :
30471 : : case 10:
30472 : : if (((
30473 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30474 : : ((32 == 64 || TARGET_AVX512VL
30475 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30476 : : && ix86_pre_reload_split ()
30477 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30478 : : STRIP_UNARY (operands[4]))
30479 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30480 : : STRIP_UNARY (operands[4]))
30481 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30482 : : STRIP_UNARY (operands[3]))
30483 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30484 : : STRIP_UNARY (operands[3])))) &&
30485 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30486 : : (TARGET_AVX)) &&
30487 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30488 : : ( 1)))
30489 : : return gen_split_2632 (insn, operands);
30490 : : break;
30491 : :
30492 : : case 11:
30493 : : if ((
30494 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30495 : : ((16 == 64 || TARGET_AVX512VL
30496 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30497 : : && ix86_pre_reload_split ()
30498 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30499 : : STRIP_UNARY (operands[4]))
30500 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30501 : : STRIP_UNARY (operands[4]))
30502 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30503 : : STRIP_UNARY (operands[3]))
30504 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30505 : : STRIP_UNARY (operands[3])))) &&
30506 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30507 : : ( 1)))
30508 : : return gen_split_2659 (insn, operands);
30509 : : break;
30510 : :
30511 : : default:
30512 : : break;
30513 : : }
30514 : : break;
30515 : :
30516 : : case XOR:
30517 : : switch (pattern522 (x2))
30518 : : {
30519 : : case 0:
30520 : : if (((
30521 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30522 : : ((64 == 64 || TARGET_AVX512VL
30523 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30524 : : && ix86_pre_reload_split ()
30525 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30526 : : STRIP_UNARY (operands[4]))
30527 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30528 : : STRIP_UNARY (operands[4]))
30529 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30530 : : STRIP_UNARY (operands[3]))
30531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30532 : : STRIP_UNARY (operands[3])))) &&
30533 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30534 : : (TARGET_AVX512F)) &&
30535 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30536 : : ( 1)))
30537 : : return gen_split_2365 (insn, operands);
30538 : : break;
30539 : :
30540 : : case 1:
30541 : : if (((
30542 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30543 : : ((32 == 64 || TARGET_AVX512VL
30544 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30545 : : && ix86_pre_reload_split ()
30546 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30547 : : STRIP_UNARY (operands[4]))
30548 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30549 : : STRIP_UNARY (operands[4]))
30550 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30551 : : STRIP_UNARY (operands[3]))
30552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30553 : : STRIP_UNARY (operands[3])))) &&
30554 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30555 : : (TARGET_AVX)) &&
30556 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30557 : : ( 1)))
30558 : : return gen_split_2392 (insn, operands);
30559 : : break;
30560 : :
30561 : : case 2:
30562 : : if ((
30563 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30564 : : ((16 == 64 || TARGET_AVX512VL
30565 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30566 : : && ix86_pre_reload_split ()
30567 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30568 : : STRIP_UNARY (operands[4]))
30569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30570 : : STRIP_UNARY (operands[4]))
30571 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30572 : : STRIP_UNARY (operands[3]))
30573 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30574 : : STRIP_UNARY (operands[3])))) &&
30575 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30576 : : ( 1)))
30577 : : return gen_split_2419 (insn, operands);
30578 : : break;
30579 : :
30580 : : case 3:
30581 : : if (((
30582 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30583 : : ((64 == 64 || TARGET_AVX512VL
30584 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30585 : : && ix86_pre_reload_split ()
30586 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30587 : : STRIP_UNARY (operands[4]))
30588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30589 : : STRIP_UNARY (operands[4]))
30590 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30591 : : STRIP_UNARY (operands[3]))
30592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30593 : : STRIP_UNARY (operands[3])))) &&
30594 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30595 : : (TARGET_AVX512F)) &&
30596 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30597 : : ( 1)))
30598 : : return gen_split_2446 (insn, operands);
30599 : : break;
30600 : :
30601 : : case 4:
30602 : : if (((
30603 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30604 : : ((32 == 64 || TARGET_AVX512VL
30605 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30606 : : && ix86_pre_reload_split ()
30607 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30608 : : STRIP_UNARY (operands[4]))
30609 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30610 : : STRIP_UNARY (operands[4]))
30611 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30612 : : STRIP_UNARY (operands[3]))
30613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30614 : : STRIP_UNARY (operands[3])))) &&
30615 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30616 : : (TARGET_AVX)) &&
30617 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30618 : : ( 1)))
30619 : : return gen_split_2473 (insn, operands);
30620 : : break;
30621 : :
30622 : : case 5:
30623 : : if ((
30624 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30625 : : ((16 == 64 || TARGET_AVX512VL
30626 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30627 : : && ix86_pre_reload_split ()
30628 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30629 : : STRIP_UNARY (operands[4]))
30630 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30631 : : STRIP_UNARY (operands[4]))
30632 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30633 : : STRIP_UNARY (operands[3]))
30634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30635 : : STRIP_UNARY (operands[3])))) &&
30636 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30637 : : ( 1)))
30638 : : return gen_split_2500 (insn, operands);
30639 : : break;
30640 : :
30641 : : case 6:
30642 : : if (((
30643 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30644 : : ((64 == 64 || TARGET_AVX512VL
30645 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30646 : : && ix86_pre_reload_split ()
30647 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30648 : : STRIP_UNARY (operands[4]))
30649 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30650 : : STRIP_UNARY (operands[4]))
30651 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30652 : : STRIP_UNARY (operands[3]))
30653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30654 : : STRIP_UNARY (operands[3])))) &&
30655 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30656 : : (TARGET_AVX512F)) &&
30657 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30658 : : ( 1)))
30659 : : return gen_split_2527 (insn, operands);
30660 : : break;
30661 : :
30662 : : case 7:
30663 : : if (((
30664 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30665 : : ((32 == 64 || TARGET_AVX512VL
30666 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30667 : : && ix86_pre_reload_split ()
30668 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30669 : : STRIP_UNARY (operands[4]))
30670 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30671 : : STRIP_UNARY (operands[4]))
30672 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30673 : : STRIP_UNARY (operands[3]))
30674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30675 : : STRIP_UNARY (operands[3])))) &&
30676 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30677 : : (TARGET_AVX)) &&
30678 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30679 : : ( 1)))
30680 : : return gen_split_2554 (insn, operands);
30681 : : break;
30682 : :
30683 : : case 8:
30684 : : if ((
30685 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30686 : : ((16 == 64 || TARGET_AVX512VL
30687 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30688 : : && ix86_pre_reload_split ()
30689 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30690 : : STRIP_UNARY (operands[4]))
30691 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30692 : : STRIP_UNARY (operands[4]))
30693 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30694 : : STRIP_UNARY (operands[3]))
30695 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30696 : : STRIP_UNARY (operands[3])))) &&
30697 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30698 : : ( 1)))
30699 : : return gen_split_2581 (insn, operands);
30700 : : break;
30701 : :
30702 : : case 9:
30703 : : if (((
30704 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30705 : : ((64 == 64 || TARGET_AVX512VL
30706 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30707 : : && ix86_pre_reload_split ()
30708 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30709 : : STRIP_UNARY (operands[4]))
30710 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30711 : : STRIP_UNARY (operands[4]))
30712 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30713 : : STRIP_UNARY (operands[3]))
30714 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30715 : : STRIP_UNARY (operands[3])))) &&
30716 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30717 : : (TARGET_AVX512F)) &&
30718 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30719 : : ( 1)))
30720 : : return gen_split_2608 (insn, operands);
30721 : : break;
30722 : :
30723 : : case 10:
30724 : : if (((
30725 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30726 : : ((32 == 64 || TARGET_AVX512VL
30727 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30728 : : && ix86_pre_reload_split ()
30729 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30730 : : STRIP_UNARY (operands[4]))
30731 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30732 : : STRIP_UNARY (operands[4]))
30733 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30734 : : STRIP_UNARY (operands[3]))
30735 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30736 : : STRIP_UNARY (operands[3])))) &&
30737 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30738 : : (TARGET_AVX)) &&
30739 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30740 : : ( 1)))
30741 : : return gen_split_2635 (insn, operands);
30742 : : break;
30743 : :
30744 : : case 11:
30745 : : if ((
30746 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30747 : : ((16 == 64 || TARGET_AVX512VL
30748 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30749 : : && ix86_pre_reload_split ()
30750 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30751 : : STRIP_UNARY (operands[4]))
30752 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30753 : : STRIP_UNARY (operands[4]))
30754 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30755 : : STRIP_UNARY (operands[3]))
30756 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30757 : : STRIP_UNARY (operands[3])))) &&
30758 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30759 : : ( 1)))
30760 : : return gen_split_2662 (insn, operands);
30761 : : break;
30762 : :
30763 : : default:
30764 : : break;
30765 : : }
30766 : : break;
30767 : :
30768 : : default:
30769 : : break;
30770 : : }
30771 : : break;
30772 : :
30773 : : case REG:
30774 : : case SUBREG:
30775 : : case MEM:
30776 : : case VEC_DUPLICATE:
30777 : : operands[1] = x3;
30778 : : x5 = XEXP (x2, 1);
30779 : : operands[2] = x5;
30780 : : switch (GET_MODE (operands[0]))
30781 : : {
30782 : : case E_V16SImode:
30783 : : if (pattern913 (x2,
30784 : : E_V16SImode) == 0
30785 : : && ((
30786 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30787 : : (TARGET_AVX512F
30788 : : && (!false
30789 : : || SImode == SImode
30790 : : || SImode == DImode)) &&
30791 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30792 : : (TARGET_AVX512F)) &&
30793 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30794 : : ( reload_completed && !REG_P (operands[1]) && !false
30795 : : && optimize_insn_for_speed_p ())))
30796 : : return gen_split_3360 (insn, operands);
30797 : : break;
30798 : :
30799 : : case E_V8DImode:
30800 : : if (pattern913 (x2,
30801 : : E_V8DImode) == 0
30802 : : && ((
30803 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30804 : : (TARGET_AVX512F
30805 : : && (!false
30806 : : || DImode == SImode
30807 : : || DImode == DImode)) &&
30808 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30809 : : (TARGET_AVX512F)) &&
30810 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30811 : : ( reload_completed && !REG_P (operands[1]) && !false
30812 : : && optimize_insn_for_speed_p ())))
30813 : : return gen_split_3361 (insn, operands);
30814 : : break;
30815 : :
30816 : : case E_V64QImode:
30817 : : if (pattern913 (x2,
30818 : : E_V64QImode) == 0
30819 : : && ((
30820 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30821 : : (TARGET_AVX512F
30822 : : && (!false
30823 : : || QImode == SImode
30824 : : || QImode == DImode)) &&
30825 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30826 : : (TARGET_AVX512BW)) &&
30827 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30828 : : ( reload_completed && !REG_P (operands[1]) && !false
30829 : : && optimize_insn_for_speed_p ())))
30830 : : return gen_split_3362 (insn, operands);
30831 : : break;
30832 : :
30833 : : case E_V32QImode:
30834 : : if (pattern913 (x2,
30835 : : E_V32QImode) == 0
30836 : : && ((
30837 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30838 : : (TARGET_AVX512F
30839 : : && (!false
30840 : : || QImode == SImode
30841 : : || QImode == DImode)) &&
30842 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30843 : : (TARGET_AVX)) &&
30844 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30845 : : ( reload_completed && !REG_P (operands[1]) && !false
30846 : : && optimize_insn_for_speed_p ())))
30847 : : return gen_split_3363 (insn, operands);
30848 : : break;
30849 : :
30850 : : case E_V16QImode:
30851 : : if (pattern913 (x2,
30852 : : E_V16QImode) == 0
30853 : : && (
30854 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30855 : : (TARGET_AVX512F
30856 : : && (!false
30857 : : || QImode == SImode
30858 : : || QImode == DImode)) &&
30859 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30860 : : ( reload_completed && !REG_P (operands[1]) && !false
30861 : : && optimize_insn_for_speed_p ())))
30862 : : return gen_split_3364 (insn, operands);
30863 : : break;
30864 : :
30865 : : case E_V32HImode:
30866 : : if (pattern913 (x2,
30867 : : E_V32HImode) == 0
30868 : : && ((
30869 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30870 : : (TARGET_AVX512F
30871 : : && (!false
30872 : : || HImode == SImode
30873 : : || HImode == DImode)) &&
30874 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30875 : : (TARGET_AVX512BW)) &&
30876 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30877 : : ( reload_completed && !REG_P (operands[1]) && !false
30878 : : && optimize_insn_for_speed_p ())))
30879 : : return gen_split_3365 (insn, operands);
30880 : : break;
30881 : :
30882 : : case E_V16HImode:
30883 : : if (pattern913 (x2,
30884 : : E_V16HImode) == 0
30885 : : && ((
30886 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30887 : : (TARGET_AVX512F
30888 : : && (!false
30889 : : || HImode == SImode
30890 : : || HImode == DImode)) &&
30891 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30892 : : (TARGET_AVX)) &&
30893 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30894 : : ( reload_completed && !REG_P (operands[1]) && !false
30895 : : && optimize_insn_for_speed_p ())))
30896 : : return gen_split_3366 (insn, operands);
30897 : : break;
30898 : :
30899 : : case E_V8HImode:
30900 : : if (pattern913 (x2,
30901 : : E_V8HImode) == 0
30902 : : && (
30903 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30904 : : (TARGET_AVX512F
30905 : : && (!false
30906 : : || HImode == SImode
30907 : : || HImode == DImode)) &&
30908 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30909 : : ( reload_completed && !REG_P (operands[1]) && !false
30910 : : && optimize_insn_for_speed_p ())))
30911 : : return gen_split_3367 (insn, operands);
30912 : : break;
30913 : :
30914 : : case E_V8SImode:
30915 : : if (pattern913 (x2,
30916 : : E_V8SImode) == 0
30917 : : && ((
30918 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30919 : : (TARGET_AVX512F
30920 : : && (!false
30921 : : || SImode == SImode
30922 : : || SImode == DImode)) &&
30923 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30924 : : (TARGET_AVX)) &&
30925 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30926 : : ( reload_completed && !REG_P (operands[1]) && !false
30927 : : && optimize_insn_for_speed_p ())))
30928 : : return gen_split_3368 (insn, operands);
30929 : : break;
30930 : :
30931 : : case E_V4SImode:
30932 : : if (pattern913 (x2,
30933 : : E_V4SImode) == 0
30934 : : && (
30935 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : : (TARGET_AVX512F
30937 : : && (!false
30938 : : || SImode == SImode
30939 : : || SImode == DImode)) &&
30940 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30941 : : ( reload_completed && !REG_P (operands[1]) && !false
30942 : : && optimize_insn_for_speed_p ())))
30943 : : return gen_split_3369 (insn, operands);
30944 : : break;
30945 : :
30946 : : case E_V4DImode:
30947 : : if (pattern913 (x2,
30948 : : E_V4DImode) == 0
30949 : : && ((
30950 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30951 : : (TARGET_AVX512F
30952 : : && (!false
30953 : : || DImode == SImode
30954 : : || DImode == DImode)) &&
30955 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30956 : : (TARGET_AVX)) &&
30957 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30958 : : ( reload_completed && !REG_P (operands[1]) && !false
30959 : : && optimize_insn_for_speed_p ())))
30960 : : return gen_split_3370 (insn, operands);
30961 : : break;
30962 : :
30963 : : case E_V2DImode:
30964 : : if (pattern913 (x2,
30965 : : E_V2DImode) == 0
30966 : : && (
30967 : : #line 18387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30968 : : (TARGET_AVX512F
30969 : : && (!false
30970 : : || DImode == SImode
30971 : : || DImode == DImode)) &&
30972 : : #line 18397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30973 : : ( reload_completed && !REG_P (operands[1]) && !false
30974 : : && optimize_insn_for_speed_p ())))
30975 : : return gen_split_3371 (insn, operands);
30976 : : break;
30977 : :
30978 : : default:
30979 : : break;
30980 : : }
30981 : : if (GET_CODE (x3) == VEC_DUPLICATE)
30982 : : {
30983 : : switch (pattern584 (x2))
30984 : : {
30985 : : case 0:
30986 : : if ((
30987 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30988 : : (64 == 64 || TARGET_AVX512VL
30989 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30990 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30991 : : (TARGET_AVX512F)))
30992 : : return gen_split_3404 (insn, operands);
30993 : : break;
30994 : :
30995 : : case 1:
30996 : : if ((
30997 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30998 : : (64 == 64 || TARGET_AVX512VL
30999 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31000 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31001 : : (TARGET_AVX512F)))
31002 : : return gen_split_3405 (insn, operands);
31003 : : break;
31004 : :
31005 : : case 2:
31006 : : if ((
31007 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31008 : : (64 == 64 || TARGET_AVX512VL
31009 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31010 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31011 : : (TARGET_AVX512BW)))
31012 : : return gen_split_3406 (insn, operands);
31013 : : break;
31014 : :
31015 : : case 3:
31016 : : if ((
31017 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31018 : : (32 == 64 || TARGET_AVX512VL
31019 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31020 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31021 : : (TARGET_AVX)))
31022 : : return gen_split_3407 (insn, operands);
31023 : : break;
31024 : :
31025 : : case 4:
31026 : : if (
31027 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31028 : : (16 == 64 || TARGET_AVX512VL
31029 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
31030 : : return gen_split_3408 (insn, operands);
31031 : : break;
31032 : :
31033 : : case 5:
31034 : : if ((
31035 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31036 : : (64 == 64 || TARGET_AVX512VL
31037 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31038 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31039 : : (TARGET_AVX512BW)))
31040 : : return gen_split_3409 (insn, operands);
31041 : : break;
31042 : :
31043 : : case 6:
31044 : : if ((
31045 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31046 : : (32 == 64 || TARGET_AVX512VL
31047 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31048 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31049 : : (TARGET_AVX)))
31050 : : return gen_split_3410 (insn, operands);
31051 : : break;
31052 : :
31053 : : case 7:
31054 : : if (
31055 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31056 : : (16 == 64 || TARGET_AVX512VL
31057 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
31058 : : return gen_split_3411 (insn, operands);
31059 : : break;
31060 : :
31061 : : case 8:
31062 : : if ((
31063 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31064 : : (32 == 64 || TARGET_AVX512VL
31065 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31066 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31067 : : (TARGET_AVX)))
31068 : : return gen_split_3412 (insn, operands);
31069 : : break;
31070 : :
31071 : : case 9:
31072 : : if (
31073 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31074 : : (16 == 64 || TARGET_AVX512VL
31075 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
31076 : : return gen_split_3413 (insn, operands);
31077 : : break;
31078 : :
31079 : : case 10:
31080 : : if ((
31081 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31082 : : (32 == 64 || TARGET_AVX512VL
31083 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31084 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31085 : : (TARGET_AVX)))
31086 : : return gen_split_3414 (insn, operands);
31087 : : break;
31088 : :
31089 : : case 11:
31090 : : if (
31091 : : #line 18690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31092 : : (16 == 64 || TARGET_AVX512VL
31093 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
31094 : : return gen_split_3415 (insn, operands);
31095 : : break;
31096 : :
31097 : : default:
31098 : : break;
31099 : : }
31100 : : }
31101 : : break;
31102 : :
31103 : : default:
31104 : : break;
31105 : : }
31106 : : break;
31107 : :
31108 : : default:
31109 : : break;
31110 : : }
31111 : : operands[1] = x2;
31112 : : switch (pattern194 ())
31113 : : {
31114 : : case 0:
31115 : : if (((
31116 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31117 : : ((64 == 64 || TARGET_AVX512VL
31118 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31119 : : && ix86_pre_reload_split ()) &&
31120 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31121 : : (TARGET_AVX512F)) &&
31122 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31123 : : ( 1)))
31124 : : return gen_split_1679 (insn, operands);
31125 : : break;
31126 : :
31127 : : case 1:
31128 : : if (((
31129 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31130 : : ((32 == 64 || TARGET_AVX512VL
31131 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31132 : : && ix86_pre_reload_split ()) &&
31133 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31134 : : (TARGET_AVX)) &&
31135 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31136 : : ( 1)))
31137 : : return gen_split_1680 (insn, operands);
31138 : : break;
31139 : :
31140 : : case 2:
31141 : : if ((
31142 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31143 : : ((16 == 64 || TARGET_AVX512VL
31144 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31145 : : && ix86_pre_reload_split ()) &&
31146 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31147 : : ( 1)))
31148 : : return gen_split_1681 (insn, operands);
31149 : : break;
31150 : :
31151 : : case 3:
31152 : : if (((
31153 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31154 : : ((64 == 64 || TARGET_AVX512VL
31155 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31156 : : && ix86_pre_reload_split ()) &&
31157 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31158 : : (TARGET_AVX512F)) &&
31159 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31160 : : ( 1)))
31161 : : return gen_split_1682 (insn, operands);
31162 : : break;
31163 : :
31164 : : case 4:
31165 : : if (((
31166 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31167 : : ((32 == 64 || TARGET_AVX512VL
31168 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31169 : : && ix86_pre_reload_split ()) &&
31170 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31171 : : (TARGET_AVX)) &&
31172 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31173 : : ( 1)))
31174 : : return gen_split_1683 (insn, operands);
31175 : : break;
31176 : :
31177 : : case 5:
31178 : : if ((
31179 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31180 : : ((16 == 64 || TARGET_AVX512VL
31181 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31182 : : && ix86_pre_reload_split ()) &&
31183 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31184 : : ( 1)))
31185 : : return gen_split_1684 (insn, operands);
31186 : : break;
31187 : :
31188 : : case 6:
31189 : : if (((
31190 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31191 : : ((64 == 64 || TARGET_AVX512VL
31192 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31193 : : && ix86_pre_reload_split ()) &&
31194 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31195 : : (TARGET_AVX512F)) &&
31196 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31197 : : ( 1)))
31198 : : return gen_split_1685 (insn, operands);
31199 : : break;
31200 : :
31201 : : case 7:
31202 : : if (((
31203 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31204 : : ((32 == 64 || TARGET_AVX512VL
31205 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31206 : : && ix86_pre_reload_split ()) &&
31207 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31208 : : (TARGET_AVX)) &&
31209 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31210 : : ( 1)))
31211 : : return gen_split_1686 (insn, operands);
31212 : : break;
31213 : :
31214 : : case 8:
31215 : : if ((
31216 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31217 : : ((16 == 64 || TARGET_AVX512VL
31218 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31219 : : && ix86_pre_reload_split ()) &&
31220 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31221 : : ( 1)))
31222 : : return gen_split_1687 (insn, operands);
31223 : : break;
31224 : :
31225 : : case 9:
31226 : : if (((
31227 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31228 : : ((64 == 64 || TARGET_AVX512VL
31229 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31230 : : && ix86_pre_reload_split ()) &&
31231 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31232 : : (TARGET_AVX512F)) &&
31233 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31234 : : ( 1)))
31235 : : return gen_split_1688 (insn, operands);
31236 : : break;
31237 : :
31238 : : case 10:
31239 : : if (((
31240 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31241 : : ((32 == 64 || TARGET_AVX512VL
31242 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31243 : : && ix86_pre_reload_split ()) &&
31244 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31245 : : (TARGET_AVX)) &&
31246 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31247 : : ( 1)))
31248 : : return gen_split_1689 (insn, operands);
31249 : : break;
31250 : :
31251 : : case 11:
31252 : : if (((
31253 : : #line 13779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31254 : : ((16 == 64 || TARGET_AVX512VL
31255 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31256 : : && ix86_pre_reload_split ()) &&
31257 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31258 : : (TARGET_SSE2)) &&
31259 : : #line 13783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31260 : : ( 1)))
31261 : : return gen_split_1690 (insn, operands);
31262 : : break;
31263 : :
31264 : : default:
31265 : : break;
31266 : : }
31267 : : switch (GET_CODE (x2))
31268 : : {
31269 : : case AND:
31270 : : return split_79 (x1, insn);
31271 : :
31272 : : case IOR:
31273 : : return split_78 (x1, insn);
31274 : :
31275 : : case XOR:
31276 : : return split_77 (x1, insn);
31277 : :
31278 : : default:
31279 : : return NULL;
31280 : : }
31281 : : }
31282 : :
31283 : : rtx_insn *
31284 : : peephole2_30 (rtx x1 ATTRIBUTE_UNUSED,
31285 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31286 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31287 : : {
31288 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31289 : : rtx x2, x3, x4, x5, x6, x7;
31290 : : rtx_insn *res ATTRIBUTE_UNUSED;
31291 : : x2 = XEXP (x1, 1);
31292 : : x3 = XEXP (x2, 0);
31293 : : switch (GET_CODE (x3))
31294 : : {
31295 : : case NE:
31296 : : case EQ:
31297 : : case GE:
31298 : : case GT:
31299 : : case LE:
31300 : : case LT:
31301 : : case LTGT:
31302 : : case GEU:
31303 : : case GTU:
31304 : : case LEU:
31305 : : case LTU:
31306 : : case UNORDERED:
31307 : : case ORDERED:
31308 : : case UNEQ:
31309 : : case UNGE:
31310 : : case UNGT:
31311 : : case UNLE:
31312 : : case UNLT:
31313 : : operands[1] = x3;
31314 : : switch (pattern234 (x1))
31315 : : {
31316 : : case 0:
31317 : : switch (GET_MODE (operands[0]))
31318 : : {
31319 : : case E_HImode:
31320 : : if (pattern1186 (x2,
31321 : : E_HImode) != 0
31322 : : || !
31323 : : #line 26655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31324 : : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31325 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31326 : : && optimize_insn_for_speed_p ()))
31327 : : return NULL;
31328 : : *pmatch_len_ = 0;
31329 : : return gen_peephole2_213 (insn, operands);
31330 : :
31331 : : case E_SImode:
31332 : : if (pattern1186 (x2,
31333 : : E_SImode) != 0
31334 : : || !
31335 : : #line 26655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31336 : : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31337 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31338 : : && optimize_insn_for_speed_p ()))
31339 : : return NULL;
31340 : : *pmatch_len_ = 0;
31341 : : return gen_peephole2_214 (insn, operands);
31342 : :
31343 : : case E_DImode:
31344 : : if (pattern1186 (x2,
31345 : : E_DImode) != 0
31346 : : || !(
31347 : : #line 26655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31348 : : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31349 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31350 : : && optimize_insn_for_speed_p ()) &&
31351 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31352 : : (TARGET_64BIT)))
31353 : : return NULL;
31354 : : *pmatch_len_ = 0;
31355 : : return gen_peephole2_215 (insn, operands);
31356 : :
31357 : : case E_SFmode:
31358 : : if (!general_reg_operand (operands[0], E_SFmode)
31359 : : || pattern1247 (x2,
31360 : : E_SFmode) != 0
31361 : : || !
31362 : : #line 26907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31363 : : ((SFmode != DFmode || TARGET_64BIT)
31364 : : && TARGET_80387 && TARGET_CMOVE
31365 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31366 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31367 : : && optimize_insn_for_speed_p ()))
31368 : : return NULL;
31369 : : *pmatch_len_ = 0;
31370 : : return gen_peephole2_223 (insn, operands);
31371 : :
31372 : : case E_DFmode:
31373 : : if (!general_reg_operand (operands[0], E_DFmode)
31374 : : || pattern1247 (x2,
31375 : : E_DFmode) != 0
31376 : : || !
31377 : : #line 26907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31378 : : ((DFmode != DFmode || TARGET_64BIT)
31379 : : && TARGET_80387 && TARGET_CMOVE
31380 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31381 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31382 : : && optimize_insn_for_speed_p ()))
31383 : : return NULL;
31384 : : *pmatch_len_ = 0;
31385 : : return gen_peephole2_224 (insn, operands);
31386 : :
31387 : : default:
31388 : : return NULL;
31389 : : }
31390 : :
31391 : : case 1:
31392 : : if (!register_operand (operands[0], E_DImode)
31393 : : || GET_MODE (x2) != E_DImode
31394 : : || !ix86_comparison_operator (operands[1], E_VOIDmode))
31395 : : return NULL;
31396 : : x4 = XEXP (x2, 1);
31397 : : x5 = XEXP (x4, 0);
31398 : : operands[2] = x5;
31399 : : if (!nonimmediate_operand (operands[2], E_SImode))
31400 : : return NULL;
31401 : : x6 = XEXP (x2, 2);
31402 : : x7 = XEXP (x6, 0);
31403 : : operands[3] = x7;
31404 : : if (!nonimmediate_operand (operands[3], E_SImode)
31405 : : || !
31406 : : #line 26685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31407 : : (TARGET_64BIT
31408 : : && TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31409 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31410 : : && optimize_insn_for_speed_p ()))
31411 : : return NULL;
31412 : : *pmatch_len_ = 0;
31413 : : return gen_peephole2_216 (insn, operands);
31414 : :
31415 : : default:
31416 : : return NULL;
31417 : : }
31418 : :
31419 : : default:
31420 : : return NULL;
31421 : : }
31422 : : }
31423 : :
31424 : : rtx_insn *
31425 : : peephole2_36 (rtx x1 ATTRIBUTE_UNUSED,
31426 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31427 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31428 : : {
31429 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31430 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31431 : : rtx x10, x11, x12;
31432 : : rtx_insn *res ATTRIBUTE_UNUSED;
31433 : : if (peep2_current_count < 3)
31434 : : return NULL;
31435 : : x2 = XEXP (x1, 0);
31436 : : operands[0] = x2;
31437 : : if (!register_operand (operands[0], E_QImode))
31438 : : return NULL;
31439 : : x3 = PATTERN (peep2_next_insn (1));
31440 : : if (pattern405 (x3,
31441 : : UNSPEC_VOLATILE,
31442 : : 3) != 0)
31443 : : return NULL;
31444 : : x4 = XVECEXP (x3, 0, 0);
31445 : : x5 = XEXP (x4, 1);
31446 : : if (XVECLEN (x5, 0) == 4
31447 : : && XINT (x5, 1) == 109
31448 : : && GET_MODE (x5) == E_QImode)
31449 : : {
31450 : : res = peephole2_35 (x1, insn, pmatch_len_);
31451 : : if (res != NULL_RTX)
31452 : : return res;
31453 : : }
31454 : : if (XVECLEN (x5, 0) != 2
31455 : : || XINT (x5, 1) != 110
31456 : : || GET_MODE (x5) != E_QImode)
31457 : : return NULL;
31458 : : x6 = XEXP (x1, 1);
31459 : : operands[2] = x6;
31460 : : if (!const_int_operand (operands[2], E_QImode))
31461 : : return NULL;
31462 : : x7 = XVECEXP (x3, 0, 1);
31463 : : if (GET_CODE (x7) != SET)
31464 : : return NULL;
31465 : : x8 = XEXP (x7, 1);
31466 : : if (GET_CODE (x8) != PLUS
31467 : : || GET_MODE (x8) != E_QImode
31468 : : || pattern1496 (x3) != 0
31469 : : || !memory_operand (operands[1], E_QImode)
31470 : : || pattern1686 (x3) != 0)
31471 : : return NULL;
31472 : : x9 = PATTERN (peep2_next_insn (2));
31473 : : x10 = XEXP (x9, 1);
31474 : : x11 = XEXP (x10, 1);
31475 : : operands[3] = x11;
31476 : : if (!const_int_operand (operands[3], E_QImode))
31477 : : return NULL;
31478 : : x12 = XEXP (x10, 0);
31479 : : if (!rtx_equal_p (x12, operands[0])
31480 : : || !
31481 : : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31482 : : (peep2_reg_dead_p (3, operands[0])
31483 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31484 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31485 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31486 : : return NULL;
31487 : : *pmatch_len_ = 2;
31488 : : return gen_peephole2_441 (insn, operands);
31489 : : }
31490 : :
31491 : : rtx_insn *
31492 : : peephole2_42 (rtx x1 ATTRIBUTE_UNUSED,
31493 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31494 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31495 : : {
31496 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31497 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31498 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
31499 : : rtx x18, x19, x20;
31500 : : rtx_insn *res ATTRIBUTE_UNUSED;
31501 : : if (peep2_current_count < 2)
31502 : : return NULL;
31503 : : x2 = XVECEXP (x1, 0, 1);
31504 : : if (GET_CODE (x2) != CLOBBER)
31505 : : return NULL;
31506 : : x3 = XEXP (x2, 0);
31507 : : if (GET_CODE (x3) != REG
31508 : : || REGNO (x3) != 17)
31509 : : return NULL;
31510 : : x4 = XVECEXP (x1, 0, 0);
31511 : : x5 = XEXP (x4, 0);
31512 : : operands[0] = x5;
31513 : : x6 = XEXP (x4, 1);
31514 : : x7 = XEXP (x6, 0);
31515 : : if (!rtx_equal_p (x7, operands[0]))
31516 : : return NULL;
31517 : : x8 = XEXP (x6, 1);
31518 : : switch (GET_CODE (x8))
31519 : : {
31520 : : case REG:
31521 : : case SUBREG:
31522 : : operands[1] = x8;
31523 : : if (!register_operand (operands[1], E_VOIDmode)
31524 : : || GET_MODE (x3) != E_CCmode)
31525 : : return NULL;
31526 : : x9 = PATTERN (peep2_next_insn (1));
31527 : : if (pattern405 (x9,
31528 : : PLUS,
31529 : : 2) != 0)
31530 : : return NULL;
31531 : : x10 = XVECEXP (x9, 0, 1);
31532 : : if (GET_CODE (x10) != CLOBBER)
31533 : : return NULL;
31534 : : x11 = XEXP (x10, 0);
31535 : : if (GET_CODE (x11) != REG
31536 : : || REGNO (x11) != 17
31537 : : || GET_MODE (x11) != E_CCmode)
31538 : : return NULL;
31539 : : x12 = XVECEXP (x9, 0, 0);
31540 : : x13 = XEXP (x12, 1);
31541 : : x14 = XEXP (x13, 1);
31542 : : operands[2] = x14;
31543 : : if (!x86_64_immediate_operand (operands[2], E_VOIDmode))
31544 : : return NULL;
31545 : : x15 = XEXP (x13, 0);
31546 : : if (!rtx_equal_p (x15, operands[0]))
31547 : : return NULL;
31548 : : x16 = XEXP (x12, 0);
31549 : : if (!rtx_equal_p (x16, operands[0]))
31550 : : return NULL;
31551 : : switch (GET_MODE (operands[0]))
31552 : : {
31553 : : case E_SImode:
31554 : : if (!register_operand (operands[0], E_SImode)
31555 : : || GET_MODE (x6) != E_SImode
31556 : : || GET_MODE (x13) != E_SImode
31557 : : || !
31558 : : #line 6451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31559 : : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)))
31560 : : return NULL;
31561 : : *pmatch_len_ = 1;
31562 : : return gen_peephole2_62 (insn, operands);
31563 : :
31564 : : case E_DImode:
31565 : : if (!register_operand (operands[0], E_DImode)
31566 : : || GET_MODE (x6) != E_DImode
31567 : : || GET_MODE (x13) != E_DImode
31568 : : || !(
31569 : : #line 6451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31570 : : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)) &&
31571 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31572 : : (TARGET_64BIT)))
31573 : : return NULL;
31574 : : *pmatch_len_ = 1;
31575 : : return gen_peephole2_63 (insn, operands);
31576 : :
31577 : : default:
31578 : : return NULL;
31579 : : }
31580 : :
31581 : : case CONST_INT:
31582 : : if (peep2_current_count < 3
31583 : : || XWINT (x8, 0) != -1L)
31584 : : return NULL;
31585 : : x9 = PATTERN (peep2_next_insn (1));
31586 : : if (pattern1243 (x9,
31587 : : -1) != 0)
31588 : : return NULL;
31589 : : x17 = PATTERN (peep2_next_insn (2));
31590 : : x18 = XEXP (x17, 1);
31591 : : x19 = XEXP (x18, 0);
31592 : : operands[1] = x19;
31593 : : if (pattern1775 (x17) != 0)
31594 : : return NULL;
31595 : : x20 = XEXP (x18, 1);
31596 : : operands[2] = x20;
31597 : : switch (GET_MODE (operands[0]))
31598 : : {
31599 : : case E_QImode:
31600 : : if (!general_reg_operand (operands[0], E_QImode)
31601 : : || GET_MODE (x6) != E_QImode
31602 : : || !
31603 : : #line 8730 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31604 : : (peep2_regno_dead_p (3, FLAGS_REG)))
31605 : : return NULL;
31606 : : *pmatch_len_ = 2;
31607 : : return gen_peephole2_76 (insn, operands);
31608 : :
31609 : : case E_HImode:
31610 : : if (!general_reg_operand (operands[0], E_HImode)
31611 : : || GET_MODE (x6) != E_HImode
31612 : : || !
31613 : : #line 8730 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31614 : : (peep2_regno_dead_p (3, FLAGS_REG)))
31615 : : return NULL;
31616 : : *pmatch_len_ = 2;
31617 : : return gen_peephole2_77 (insn, operands);
31618 : :
31619 : : case E_SImode:
31620 : : if (!general_reg_operand (operands[0], E_SImode)
31621 : : || GET_MODE (x6) != E_SImode
31622 : : || !
31623 : : #line 8730 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31624 : : (peep2_regno_dead_p (3, FLAGS_REG)))
31625 : : return NULL;
31626 : : *pmatch_len_ = 2;
31627 : : return gen_peephole2_78 (insn, operands);
31628 : :
31629 : : case E_DImode:
31630 : : if (!general_reg_operand (operands[0], E_DImode)
31631 : : || GET_MODE (x6) != E_DImode
31632 : : || !(
31633 : : #line 8730 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31634 : : (peep2_regno_dead_p (3, FLAGS_REG)) &&
31635 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31636 : : (TARGET_64BIT)))
31637 : : return NULL;
31638 : : *pmatch_len_ = 2;
31639 : : return gen_peephole2_79 (insn, operands);
31640 : :
31641 : : default:
31642 : : return NULL;
31643 : : }
31644 : :
31645 : : default:
31646 : : return NULL;
31647 : : }
31648 : : }
31649 : :
31650 : : rtx_insn *
31651 : : peephole2_47 (rtx x1 ATTRIBUTE_UNUSED,
31652 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31653 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31654 : : {
31655 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31656 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31657 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
31658 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
31659 : : rtx x26;
31660 : : rtx_insn *res ATTRIBUTE_UNUSED;
31661 : : if (peep2_current_count < 2
31662 : : || peep2_current_count < 3)
31663 : : return NULL;
31664 : : x2 = XVECEXP (x1, 0, 0);
31665 : : x3 = XEXP (x2, 1);
31666 : : if (GET_MODE (x3) != E_HImode)
31667 : : return NULL;
31668 : : x4 = XVECEXP (x1, 0, 1);
31669 : : if (pattern222 (x4,
31670 : : E_CCmode,
31671 : : 17) != 0)
31672 : : return NULL;
31673 : : x5 = XEXP (x2, 0);
31674 : : operands[1] = x5;
31675 : : if (!register_operand (operands[1], E_HImode))
31676 : : return NULL;
31677 : : x6 = XEXP (x3, 0);
31678 : : operands[2] = x6;
31679 : : if (!nonimmediate_operand (operands[2], E_HImode))
31680 : : return NULL;
31681 : : x7 = PATTERN (peep2_next_insn (1));
31682 : : if (GET_CODE (x7) != SET)
31683 : : return NULL;
31684 : : x8 = PATTERN (peep2_next_insn (2));
31685 : : if (GET_CODE (x8) != SET)
31686 : : return NULL;
31687 : : x9 = XEXP (x7, 1);
31688 : : switch (GET_CODE (x9))
31689 : : {
31690 : : case ZERO_EXTEND:
31691 : : if (peep2_current_count < 4)
31692 : : return NULL;
31693 : : x10 = XEXP (x7, 0);
31694 : : operands[3] = x10;
31695 : : if (!register_operand (operands[3], E_VOIDmode))
31696 : : return NULL;
31697 : : x11 = XEXP (x9, 0);
31698 : : if (!rtx_equal_p (x11, operands[1])
31699 : : || pattern1747 (x8) != 0)
31700 : : return NULL;
31701 : : x12 = XEXP (x8, 1);
31702 : : x13 = XEXP (x12, 0);
31703 : : x14 = XEXP (x13, 0);
31704 : : operands[4] = x14;
31705 : : if (!register_operand (operands[4], E_QImode))
31706 : : return NULL;
31707 : : x15 = PATTERN (peep2_next_insn (3));
31708 : : if (GET_CODE (x15) != SET)
31709 : : return NULL;
31710 : : x16 = XEXP (x15, 1);
31711 : : if (GET_CODE (x16) != IF_THEN_ELSE)
31712 : : return NULL;
31713 : : x17 = XEXP (x16, 0);
31714 : : if (!bt_comparison_operator (x17, E_VOIDmode))
31715 : : return NULL;
31716 : : operands[5] = x17;
31717 : : if (pattern1862 (x15) != 0)
31718 : : return NULL;
31719 : : x18 = XEXP (x16, 1);
31720 : : x19 = XEXP (x18, 0);
31721 : : operands[6] = x19;
31722 : : if (!
31723 : : #line 23020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31724 : : (REGNO (operands[3]) == REGNO (operands[4])
31725 : : && peep2_reg_dead_p (3, operands[1])
31726 : : && peep2_reg_dead_p (3, operands[3])
31727 : : && peep2_regno_dead_p (4, FLAGS_REG)))
31728 : : return NULL;
31729 : : *pmatch_len_ = 3;
31730 : : return gen_peephole2_209 (insn, operands);
31731 : :
31732 : : case COMPARE:
31733 : : if (GET_MODE (x9) != E_CCZmode)
31734 : : return NULL;
31735 : : x11 = XEXP (x9, 0);
31736 : : if (GET_CODE (x11) != AND
31737 : : || GET_MODE (x11) != E_QImode)
31738 : : return NULL;
31739 : : x20 = XEXP (x11, 1);
31740 : : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
31741 : : || pattern1436 (x7,
31742 : : 0) != 0)
31743 : : return NULL;
31744 : : x21 = XEXP (x11, 0);
31745 : : operands[3] = x21;
31746 : : if (!register_operand (operands[3], E_QImode))
31747 : : return NULL;
31748 : : x12 = XEXP (x8, 1);
31749 : : if (GET_CODE (x12) != IF_THEN_ELSE)
31750 : : return NULL;
31751 : : x13 = XEXP (x12, 0);
31752 : : if (!bt_comparison_operator (x13, E_VOIDmode))
31753 : : return NULL;
31754 : : operands[4] = x13;
31755 : : x14 = XEXP (x13, 0);
31756 : : if (GET_CODE (x14) != REG
31757 : : || REGNO (x14) != 17
31758 : : || GET_MODE (x14) != E_CCZmode)
31759 : : return NULL;
31760 : : x22 = XEXP (x13, 1);
31761 : : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
31762 : : return NULL;
31763 : : x23 = XEXP (x12, 1);
31764 : : if (GET_CODE (x23) != LABEL_REF)
31765 : : return NULL;
31766 : : x24 = XEXP (x12, 2);
31767 : : if (GET_CODE (x24) != PC)
31768 : : return NULL;
31769 : : x25 = XEXP (x8, 0);
31770 : : if (GET_CODE (x25) != PC)
31771 : : return NULL;
31772 : : x26 = XEXP (x23, 0);
31773 : : operands[5] = x26;
31774 : : if (!
31775 : : #line 23053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31776 : : (REGNO (operands[1]) == REGNO (operands[3])
31777 : : && peep2_reg_dead_p (2, operands[1])
31778 : : && peep2_reg_dead_p (2, operands[3])
31779 : : && peep2_regno_dead_p (3, FLAGS_REG)))
31780 : : return NULL;
31781 : : *pmatch_len_ = 2;
31782 : : return gen_peephole2_210 (insn, operands);
31783 : :
31784 : : default:
31785 : : return NULL;
31786 : : }
31787 : : }
31788 : :
31789 : : rtx_insn *
31790 : : peephole2_insns (rtx x1 ATTRIBUTE_UNUSED,
31791 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31792 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31793 : : {
31794 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31795 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31796 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
31797 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
31798 : : rtx x26, x27, x28;
31799 : : rtx_insn *res ATTRIBUTE_UNUSED;
31800 : : recog_data.insn = NULL;
31801 : : switch (GET_CODE (x1))
31802 : : {
31803 : : case SET:
31804 : : x2 = XEXP (x1, 1);
31805 : : switch (GET_CODE (x2))
31806 : : {
31807 : : case UNSPEC:
31808 : : if (XVECLEN (x2, 0) == 1
31809 : : && XINT (x2, 1) == 42
31810 : : && pattern56 (x1,
31811 : : E_CCCmode) == 0
31812 : : &&
31813 : : #line 2141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31814 : : (TARGET_SLOW_STC && !optimize_insn_for_size_p ()))
31815 : : {
31816 : : *pmatch_len_ = 0;
31817 : : res = gen_peephole2_1 (insn, operands);
31818 : : if (res != NULL_RTX)
31819 : : return res;
31820 : : }
31821 : : break;
31822 : :
31823 : : case COMPARE:
31824 : : res = peephole2_1 (x1, insn, pmatch_len_);
31825 : : if (res != NULL_RTX)
31826 : : return res;
31827 : : break;
31828 : :
31829 : : case FLOAT_EXTEND:
31830 : : if (GET_MODE (x2) == E_DFmode)
31831 : : {
31832 : : x3 = XEXP (x1, 0);
31833 : : operands[0] = x3;
31834 : : if (sse_reg_operand (operands[0], E_DFmode))
31835 : : {
31836 : : x4 = XEXP (x2, 0);
31837 : : operands[1] = x4;
31838 : : if (memory_operand (operands[1], E_SFmode)
31839 : : &&
31840 : : #line 5397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31841 : : (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS
31842 : : && optimize_insn_for_speed_p ()))
31843 : : {
31844 : : *pmatch_len_ = 0;
31845 : : res = gen_peephole2_54 (insn, operands);
31846 : : if (res != NULL_RTX)
31847 : : return res;
31848 : : }
31849 : : }
31850 : : }
31851 : : break;
31852 : :
31853 : : case FLOAT_TRUNCATE:
31854 : : if (GET_MODE (x2) == E_SFmode)
31855 : : {
31856 : : x3 = XEXP (x1, 0);
31857 : : operands[0] = x3;
31858 : : if (sse_reg_operand (operands[0], E_SFmode))
31859 : : {
31860 : : x4 = XEXP (x2, 0);
31861 : : operands[1] = x4;
31862 : : if (memory_operand (operands[1], E_DFmode)
31863 : : &&
31864 : : #line 5627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31865 : : (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS
31866 : : && optimize_insn_for_speed_p ()))
31867 : : {
31868 : : *pmatch_len_ = 0;
31869 : : res = gen_peephole2_55 (insn, operands);
31870 : : if (res != NULL_RTX)
31871 : : return res;
31872 : : }
31873 : : }
31874 : : }
31875 : : break;
31876 : :
31877 : : case FIX:
31878 : : res = peephole2_2 (x1, insn, pmatch_len_);
31879 : : if (res != NULL_RTX)
31880 : : return res;
31881 : : break;
31882 : :
31883 : : case NE:
31884 : : case EQ:
31885 : : res = peephole2_3 (x1, insn, pmatch_len_);
31886 : : if (res != NULL_RTX)
31887 : : return res;
31888 : : break;
31889 : :
31890 : : case CONST_INT:
31891 : : case CONST_WIDE_INT:
31892 : : case CONST_POLY_INT:
31893 : : case CONST_FIXED:
31894 : : case CONST_DOUBLE:
31895 : : case CONST_VECTOR:
31896 : : case CONST:
31897 : : case REG:
31898 : : case SUBREG:
31899 : : case MEM:
31900 : : case LABEL_REF:
31901 : : case SYMBOL_REF:
31902 : : case HIGH:
31903 : : res = peephole2_8 (x1, insn, pmatch_len_);
31904 : : if (res != NULL_RTX)
31905 : : return res;
31906 : : break;
31907 : :
31908 : : case VEC_SELECT:
31909 : : res = peephole2_9 (x1, insn, pmatch_len_);
31910 : : if (res != NULL_RTX)
31911 : : return res;
31912 : : break;
31913 : :
31914 : : default:
31915 : : break;
31916 : : }
31917 : : x3 = XEXP (x1, 0);
31918 : : switch (GET_MODE (x3))
31919 : : {
31920 : : case E_SImode:
31921 : : res = peephole2_14 (x1, insn, pmatch_len_);
31922 : : if (res != NULL_RTX)
31923 : : return res;
31924 : : break;
31925 : :
31926 : : case E_DImode:
31927 : : res = peephole2_18 (x1, insn, pmatch_len_);
31928 : : if (res != NULL_RTX)
31929 : : return res;
31930 : : break;
31931 : :
31932 : : default:
31933 : : break;
31934 : : }
31935 : : if (peep2_current_count >= 2)
31936 : : {
31937 : : res = peephole2_22 (x1, insn, pmatch_len_);
31938 : : if (res != NULL_RTX)
31939 : : return res;
31940 : : }
31941 : : operands[0] = x3;
31942 : : res = peephole2_27 (x1, insn, pmatch_len_);
31943 : : if (res != NULL_RTX)
31944 : : return res;
31945 : : switch (GET_CODE (x2))
31946 : : {
31947 : : case BSWAP:
31948 : : if (GET_MODE (x2) == E_HImode)
31949 : : {
31950 : : operands[0] = x3;
31951 : : if (general_reg_operand (operands[0], E_HImode))
31952 : : {
31953 : : x4 = XEXP (x2, 0);
31954 : : if (rtx_equal_p (x4, operands[0])
31955 : : &&
31956 : : #line 22780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31957 : : (!(TARGET_USE_XCHGB ||
31958 : : TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
31959 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31960 : : {
31961 : : *pmatch_len_ = 0;
31962 : : res = gen_peephole2_204 (insn, operands);
31963 : : if (res != NULL_RTX)
31964 : : return res;
31965 : : }
31966 : : }
31967 : : }
31968 : : break;
31969 : :
31970 : : case IOR:
31971 : : res = peephole2_28 (x1, insn, pmatch_len_);
31972 : : if (res != NULL_RTX)
31973 : : return res;
31974 : : break;
31975 : :
31976 : : case ZERO_EXTEND:
31977 : : res = peephole2_29 (x1, insn, pmatch_len_);
31978 : : if (res != NULL_RTX)
31979 : : return res;
31980 : : break;
31981 : :
31982 : : case IF_THEN_ELSE:
31983 : : res = peephole2_30 (x1, insn, pmatch_len_);
31984 : : if (res != NULL_RTX)
31985 : : return res;
31986 : : break;
31987 : :
31988 : : case CONST_INT:
31989 : : case CONST_WIDE_INT:
31990 : : case CONST_POLY_INT:
31991 : : case CONST_FIXED:
31992 : : case CONST_DOUBLE:
31993 : : case CONST_VECTOR:
31994 : : case CONST:
31995 : : case LABEL_REF:
31996 : : case SYMBOL_REF:
31997 : : case HIGH:
31998 : : if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
31999 : : {
32000 : : res = peephole2_32 (x1, insn, pmatch_len_);
32001 : : if (res != NULL_RTX)
32002 : : return res;
32003 : : }
32004 : : operands[1] = x2;
32005 : : if (immediate_operand (operands[1], E_SImode))
32006 : : {
32007 : : operands[0] = x3;
32008 : : if (memory_operand (operands[0], E_SImode)
32009 : : &&
32010 : : #line 28090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32011 : : (optimize_insn_for_speed_p ()
32012 : : && ((SImode == HImode
32013 : : && TARGET_LCP_STALL)
32014 : : || (TARGET_SPLIT_LONG_MOVES
32015 : : && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))))
32016 : : {
32017 : : *pmatch_len_ = 0;
32018 : : res = gen_peephole2_277 (insn, operands);
32019 : : if (res != NULL_RTX)
32020 : : return res;
32021 : : }
32022 : : }
32023 : : break;
32024 : :
32025 : : default:
32026 : : break;
32027 : : }
32028 : : if (GET_CODE (x3) == REG)
32029 : : {
32030 : : res = peephole2_34 (x1, insn, pmatch_len_);
32031 : : if (res != NULL_RTX)
32032 : : return res;
32033 : : }
32034 : : if (peep2_current_count >= 2)
32035 : : {
32036 : : res = peephole2_36 (x1, insn, pmatch_len_);
32037 : : if (res != NULL_RTX)
32038 : : return res;
32039 : : }
32040 : : operands[0] = x3;
32041 : : return peephole2_38 (x1, insn, pmatch_len_);
32042 : :
32043 : : case PARALLEL:
32044 : : switch (XVECLEN (x1, 0))
32045 : : {
32046 : : case 2:
32047 : : return peephole2_52 (x1, insn, pmatch_len_);
32048 : :
32049 : : case 6:
32050 : : if (peep2_current_count < 2
32051 : : || peep2_current_count < 3
32052 : : || peep2_current_count < 4
32053 : : || pattern33 (x1) != 0
32054 : : || !register_operand (operands[4], E_VOIDmode))
32055 : : return NULL;
32056 : : x5 = XVECEXP (x1, 0, 0);
32057 : : x6 = XEXP (x5, 1);
32058 : : x7 = XEXP (x6, 1);
32059 : : x8 = XEXP (x7, 0);
32060 : : operands[5] = x8;
32061 : : if (!register_operand (operands[5], E_VOIDmode))
32062 : : return NULL;
32063 : : x9 = XVECEXP (x1, 0, 1);
32064 : : x10 = XEXP (x9, 0);
32065 : : operands[6] = x10;
32066 : : if (!register_operand (operands[6], E_VOIDmode))
32067 : : return NULL;
32068 : : x11 = XVECEXP (x1, 0, 2);
32069 : : x12 = XEXP (x11, 0);
32070 : : operands[3] = x12;
32071 : : if (!immediate_operand (operands[3], E_SImode))
32072 : : return NULL;
32073 : : x13 = XVECEXP (x1, 0, 3);
32074 : : x14 = XEXP (x13, 0);
32075 : : operands[0] = x14;
32076 : : if (!register_operand (operands[0], E_VOIDmode))
32077 : : return NULL;
32078 : : x15 = XVECEXP (x1, 0, 4);
32079 : : x16 = XEXP (x15, 0);
32080 : : operands[1] = x16;
32081 : : if (!register_operand (operands[1], E_VOIDmode))
32082 : : return NULL;
32083 : : x17 = XVECEXP (x1, 0, 5);
32084 : : x18 = XEXP (x17, 0);
32085 : : operands[2] = x18;
32086 : : if (!register_operand (operands[2], E_VOIDmode))
32087 : : return NULL;
32088 : : x19 = PATTERN (peep2_next_insn (1));
32089 : : if (pattern1851 (x19) != 0
32090 : : || !
32091 : : #line 26390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32092 : : (peep2_reg_dead_p (4, operands[7]) && peep2_reg_dead_p (4, operands[8])))
32093 : : return NULL;
32094 : : *pmatch_len_ = 3;
32095 : : return gen_peephole2_211 (insn, operands);
32096 : :
32097 : : case 5:
32098 : : if (peep2_current_count < 2
32099 : : || peep2_current_count < 3
32100 : : || peep2_current_count < 4)
32101 : : return NULL;
32102 : : x5 = XVECEXP (x1, 0, 0);
32103 : : if (GET_CODE (x5) != SET)
32104 : : return NULL;
32105 : : x6 = XEXP (x5, 1);
32106 : : if (GET_CODE (x6) != IF_THEN_ELSE
32107 : : || pattern223 (x1) != 0
32108 : : || !register_operand (operands[6], E_VOIDmode))
32109 : : return NULL;
32110 : : x7 = XEXP (x6, 1);
32111 : : x8 = XEXP (x7, 0);
32112 : : x20 = XEXP (x8, 0);
32113 : : operands[4] = x20;
32114 : : if (!register_operand (operands[4], E_VOIDmode))
32115 : : return NULL;
32116 : : x21 = XEXP (x7, 1);
32117 : : x22 = XEXP (x21, 0);
32118 : : operands[5] = x22;
32119 : : if (!register_operand (operands[5], E_VOIDmode))
32120 : : return NULL;
32121 : : x9 = XVECEXP (x1, 0, 1);
32122 : : x10 = XEXP (x9, 0);
32123 : : operands[3] = x10;
32124 : : if (!immediate_operand (operands[3], E_SImode))
32125 : : return NULL;
32126 : : x11 = XVECEXP (x1, 0, 2);
32127 : : x12 = XEXP (x11, 0);
32128 : : operands[0] = x12;
32129 : : if (!register_operand (operands[0], E_VOIDmode))
32130 : : return NULL;
32131 : : x13 = XVECEXP (x1, 0, 3);
32132 : : x14 = XEXP (x13, 0);
32133 : : operands[1] = x14;
32134 : : if (!register_operand (operands[1], E_VOIDmode))
32135 : : return NULL;
32136 : : x15 = XVECEXP (x1, 0, 4);
32137 : : x16 = XEXP (x15, 0);
32138 : : operands[2] = x16;
32139 : : if (!register_operand (operands[2], E_VOIDmode))
32140 : : return NULL;
32141 : : x19 = PATTERN (peep2_next_insn (1));
32142 : : if (pattern1851 (x19) != 0
32143 : : || !
32144 : : #line 26421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32145 : : (peep2_reg_dead_p (4, operands[7]) && peep2_reg_dead_p (4, operands[8])))
32146 : : return NULL;
32147 : : *pmatch_len_ = 3;
32148 : : return gen_peephole2_212 (insn, operands);
32149 : :
32150 : : case 3:
32151 : : x5 = XVECEXP (x1, 0, 0);
32152 : : if (GET_CODE (x5) != SET)
32153 : : return NULL;
32154 : : x11 = XVECEXP (x1, 0, 2);
32155 : : if (GET_CODE (x11) != CLOBBER)
32156 : : return NULL;
32157 : : x6 = XEXP (x5, 1);
32158 : : switch (GET_CODE (x6))
32159 : : {
32160 : : case UNSPEC:
32161 : : if (peep2_current_count < 2
32162 : : || XVECLEN (x6, 0) != 1
32163 : : || XINT (x6, 1) != 93)
32164 : : return NULL;
32165 : : x9 = XVECEXP (x1, 0, 1);
32166 : : if (GET_CODE (x9) != SET)
32167 : : return NULL;
32168 : : x23 = XEXP (x9, 1);
32169 : : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
32170 : : return NULL;
32171 : : x12 = XEXP (x11, 0);
32172 : : if (GET_CODE (x12) != REG
32173 : : || REGNO (x12) != 17
32174 : : || GET_MODE (x12) != E_CCmode)
32175 : : return NULL;
32176 : : x24 = XEXP (x5, 0);
32177 : : operands[0] = x24;
32178 : : x25 = XVECEXP (x6, 0, 0);
32179 : : operands[1] = x25;
32180 : : x10 = XEXP (x9, 0);
32181 : : operands[2] = x10;
32182 : : if (!general_reg_operand (operands[2], E_VOIDmode))
32183 : : return NULL;
32184 : : x19 = PATTERN (peep2_next_insn (1));
32185 : : if (GET_CODE (x19) != SET)
32186 : : return NULL;
32187 : : x26 = XEXP (x19, 0);
32188 : : operands[3] = x26;
32189 : : switch (GET_MODE (operands[0]))
32190 : : {
32191 : : case E_SImode:
32192 : : if (!memory_operand (operands[0], E_SImode)
32193 : : || GET_MODE (x6) != E_SImode
32194 : : || !memory_operand (operands[1], E_SImode))
32195 : : return NULL;
32196 : : x27 = XEXP (x19, 1);
32197 : : operands[4] = x27;
32198 : : if (const0_operand (operands[4], E_VOIDmode)
32199 : : && general_reg_operand (operands[3], E_VOIDmode)
32200 : : && (
32201 : : #line 27711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32202 : : (GET_MODE (operands[2]) == word_mode
32203 : : && GET_MODE_SIZE (GET_MODE (operands[3])) <= UNITS_PER_WORD
32204 : : && peep2_reg_dead_p (0, operands[3])
32205 : : && peep2_reg_dead_p (1, operands[2])) &&
32206 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32207 : : (ptr_mode == SImode)))
32208 : : {
32209 : : *pmatch_len_ = 1;
32210 : : res = gen_peephole2_249 (insn, operands);
32211 : : if (res != NULL_RTX)
32212 : : return res;
32213 : : }
32214 : : if (general_gr_operand (operands[4], E_SImode)
32215 : : && general_reg_operand (operands[3], E_SImode)
32216 : : && (
32217 : : #line 27772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32218 : : (GET_MODE (operands[2]) == word_mode
32219 : : && peep2_reg_dead_p (0, operands[3])
32220 : : && peep2_reg_dead_p (1, operands[2])) &&
32221 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32222 : : (ptr_mode == SImode)))
32223 : : {
32224 : : *pmatch_len_ = 1;
32225 : : res = gen_peephole2_251 (insn, operands);
32226 : : if (res != NULL_RTX)
32227 : : return res;
32228 : : }
32229 : : if (general_gr_operand (operands[4], E_DImode)
32230 : : && general_reg_operand (operands[3], E_DImode)
32231 : : && (
32232 : : #line 27772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32233 : : (GET_MODE (operands[2]) == word_mode
32234 : : && peep2_reg_dead_p (0, operands[3])
32235 : : && peep2_reg_dead_p (1, operands[2])) && (((
32236 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32237 : : (ptr_mode == SImode) &&
32238 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32239 : : (TARGET_64BIT)) &&
32240 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32241 : : (TARGET_64BIT)) &&
32242 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32243 : : (ptr_mode == SImode))))
32244 : : {
32245 : : *pmatch_len_ = 1;
32246 : : res = gen_peephole2_252 (insn, operands);
32247 : : if (res != NULL_RTX)
32248 : : return res;
32249 : : }
32250 : : if (address_no_seg_operand (operands[4], E_SImode)
32251 : : && general_reg_operand (operands[3], E_SImode)
32252 : : && (
32253 : : #line 27827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32254 : : (GET_MODE (operands[2]) == word_mode
32255 : : && peep2_reg_dead_p (0, operands[3])
32256 : : && peep2_reg_dead_p (1, operands[2])) &&
32257 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32258 : : (ptr_mode == SImode)))
32259 : : {
32260 : : *pmatch_len_ = 1;
32261 : : res = gen_peephole2_259 (insn, operands);
32262 : : if (res != NULL_RTX)
32263 : : return res;
32264 : : }
32265 : : if (address_no_seg_operand (operands[4], E_DImode)
32266 : : && general_reg_operand (operands[3], E_DImode)
32267 : : && (
32268 : : #line 27827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32269 : : (GET_MODE (operands[2]) == word_mode
32270 : : && peep2_reg_dead_p (0, operands[3])
32271 : : && peep2_reg_dead_p (1, operands[2])) && (((
32272 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32273 : : (ptr_mode == SImode) &&
32274 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32275 : : (TARGET_64BIT)) &&
32276 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32277 : : (TARGET_64BIT)) &&
32278 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32279 : : (ptr_mode == SImode))))
32280 : : {
32281 : : *pmatch_len_ = 1;
32282 : : res = gen_peephole2_260 (insn, operands);
32283 : : if (res != NULL_RTX)
32284 : : return res;
32285 : : }
32286 : : if (!general_reg_operand (operands[3], E_DImode))
32287 : : return NULL;
32288 : : switch (pattern1777 (x27))
32289 : : {
32290 : : case 0:
32291 : : if (!(
32292 : : #line 27876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32293 : : (TARGET_64BIT
32294 : : && GET_MODE (operands[2]) == word_mode
32295 : : && peep2_reg_dead_p (0, operands[3])
32296 : : && peep2_reg_dead_p (1, operands[2])) &&
32297 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32298 : : (ptr_mode == SImode)))
32299 : : return NULL;
32300 : : *pmatch_len_ = 1;
32301 : : return gen_peephole2_263 (insn, operands);
32302 : :
32303 : : case 1:
32304 : : if (!(
32305 : : #line 27876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32306 : : (TARGET_64BIT
32307 : : && GET_MODE (operands[2]) == word_mode
32308 : : && peep2_reg_dead_p (0, operands[3])
32309 : : && peep2_reg_dead_p (1, operands[2])) &&
32310 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32311 : : (ptr_mode == SImode)))
32312 : : return NULL;
32313 : : *pmatch_len_ = 1;
32314 : : return gen_peephole2_264 (insn, operands);
32315 : :
32316 : : default:
32317 : : return NULL;
32318 : : }
32319 : :
32320 : : case E_DImode:
32321 : : if (!memory_operand (operands[0], E_DImode)
32322 : : || GET_MODE (x6) != E_DImode
32323 : : || !memory_operand (operands[1], E_DImode))
32324 : : return NULL;
32325 : : x27 = XEXP (x19, 1);
32326 : : operands[4] = x27;
32327 : : if (const0_operand (operands[4], E_VOIDmode)
32328 : : && general_reg_operand (operands[3], E_VOIDmode)
32329 : : && (
32330 : : #line 27711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32331 : : (GET_MODE (operands[2]) == word_mode
32332 : : && GET_MODE_SIZE (GET_MODE (operands[3])) <= UNITS_PER_WORD
32333 : : && peep2_reg_dead_p (0, operands[3])
32334 : : && peep2_reg_dead_p (1, operands[2])) &&
32335 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32336 : : (ptr_mode == DImode)))
32337 : : {
32338 : : *pmatch_len_ = 1;
32339 : : res = gen_peephole2_250 (insn, operands);
32340 : : if (res != NULL_RTX)
32341 : : return res;
32342 : : }
32343 : : if (general_gr_operand (operands[4], E_SImode)
32344 : : && general_reg_operand (operands[3], E_SImode)
32345 : : && (
32346 : : #line 27772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32347 : : (GET_MODE (operands[2]) == word_mode
32348 : : && peep2_reg_dead_p (0, operands[3])
32349 : : && peep2_reg_dead_p (1, operands[2])) &&
32350 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32351 : : (ptr_mode == DImode)))
32352 : : {
32353 : : *pmatch_len_ = 1;
32354 : : res = gen_peephole2_253 (insn, operands);
32355 : : if (res != NULL_RTX)
32356 : : return res;
32357 : : }
32358 : : if (general_gr_operand (operands[4], E_DImode)
32359 : : && general_reg_operand (operands[3], E_DImode)
32360 : : && (
32361 : : #line 27772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32362 : : (GET_MODE (operands[2]) == word_mode
32363 : : && peep2_reg_dead_p (0, operands[3])
32364 : : && peep2_reg_dead_p (1, operands[2])) && (((
32365 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32366 : : (ptr_mode == DImode) &&
32367 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32368 : : (TARGET_64BIT)) &&
32369 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32370 : : (TARGET_64BIT)) &&
32371 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32372 : : (ptr_mode == DImode))))
32373 : : {
32374 : : *pmatch_len_ = 1;
32375 : : res = gen_peephole2_254 (insn, operands);
32376 : : if (res != NULL_RTX)
32377 : : return res;
32378 : : }
32379 : : if (address_no_seg_operand (operands[4], E_SImode)
32380 : : && general_reg_operand (operands[3], E_SImode)
32381 : : && (
32382 : : #line 27827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32383 : : (GET_MODE (operands[2]) == word_mode
32384 : : && peep2_reg_dead_p (0, operands[3])
32385 : : && peep2_reg_dead_p (1, operands[2])) &&
32386 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32387 : : (ptr_mode == DImode)))
32388 : : {
32389 : : *pmatch_len_ = 1;
32390 : : res = gen_peephole2_261 (insn, operands);
32391 : : if (res != NULL_RTX)
32392 : : return res;
32393 : : }
32394 : : if (address_no_seg_operand (operands[4], E_DImode)
32395 : : && general_reg_operand (operands[3], E_DImode)
32396 : : && (
32397 : : #line 27827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32398 : : (GET_MODE (operands[2]) == word_mode
32399 : : && peep2_reg_dead_p (0, operands[3])
32400 : : && peep2_reg_dead_p (1, operands[2])) && (((
32401 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32402 : : (ptr_mode == DImode) &&
32403 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32404 : : (TARGET_64BIT)) &&
32405 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32406 : : (TARGET_64BIT)) &&
32407 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32408 : : (ptr_mode == DImode))))
32409 : : {
32410 : : *pmatch_len_ = 1;
32411 : : res = gen_peephole2_262 (insn, operands);
32412 : : if (res != NULL_RTX)
32413 : : return res;
32414 : : }
32415 : : if (!general_reg_operand (operands[3], E_DImode))
32416 : : return NULL;
32417 : : switch (pattern1777 (x27))
32418 : : {
32419 : : case 0:
32420 : : if (!(
32421 : : #line 27876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32422 : : (TARGET_64BIT
32423 : : && GET_MODE (operands[2]) == word_mode
32424 : : && peep2_reg_dead_p (0, operands[3])
32425 : : && peep2_reg_dead_p (1, operands[2])) &&
32426 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32427 : : (ptr_mode == DImode)))
32428 : : return NULL;
32429 : : *pmatch_len_ = 1;
32430 : : return gen_peephole2_265 (insn, operands);
32431 : :
32432 : : case 1:
32433 : : if (!(
32434 : : #line 27876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32435 : : (TARGET_64BIT
32436 : : && GET_MODE (operands[2]) == word_mode
32437 : : && peep2_reg_dead_p (0, operands[3])
32438 : : && peep2_reg_dead_p (1, operands[2])) &&
32439 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32440 : : (ptr_mode == DImode)))
32441 : : return NULL;
32442 : : *pmatch_len_ = 1;
32443 : : return gen_peephole2_266 (insn, operands);
32444 : :
32445 : : default:
32446 : : return NULL;
32447 : : }
32448 : :
32449 : : default:
32450 : : return NULL;
32451 : : }
32452 : :
32453 : : case PLUS:
32454 : : if (pattern406 (x5) != 0)
32455 : : return NULL;
32456 : : x9 = XVECEXP (x1, 0, 1);
32457 : : if (pattern222 (x9,
32458 : : E_CCmode,
32459 : : 17) != 0)
32460 : : return NULL;
32461 : : x12 = XEXP (x11, 0);
32462 : : if (GET_CODE (x12) != MEM
32463 : : || GET_MODE (x12) != E_BLKmode)
32464 : : return NULL;
32465 : : x28 = XEXP (x12, 0);
32466 : : if (GET_CODE (x28) != SCRATCH)
32467 : : return NULL;
32468 : : switch (pattern1437 (x5))
32469 : : {
32470 : : case 0:
32471 : : if ((
32472 : : #line 29010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32473 : : ((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
32474 : : && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
32475 : : && !ix86_red_zone_used) && (((((((
32476 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32477 : : (word_mode == SImode) &&
32478 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32479 : : (Pmode == SImode)) &&
32480 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32481 : : (Pmode == SImode)) &&
32482 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32483 : : (Pmode == SImode)) &&
32484 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32485 : : (Pmode == SImode)) &&
32486 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32487 : : (word_mode == SImode)) &&
32488 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32489 : : (Pmode == SImode)) &&
32490 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32491 : : (Pmode == SImode))))
32492 : : {
32493 : : *pmatch_len_ = 0;
32494 : : res = gen_peephole2_373 (insn, operands);
32495 : : if (res != NULL_RTX)
32496 : : return res;
32497 : : }
32498 : : if ((
32499 : : #line 29010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32500 : : ((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
32501 : : && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
32502 : : && !ix86_red_zone_used) && (((((((
32503 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32504 : : (word_mode == DImode) &&
32505 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32506 : : (Pmode == SImode)) &&
32507 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32508 : : (Pmode == SImode)) &&
32509 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32510 : : (Pmode == SImode)) &&
32511 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32512 : : (Pmode == SImode)) &&
32513 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32514 : : (word_mode == DImode)) &&
32515 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32516 : : (Pmode == SImode)) &&
32517 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32518 : : (Pmode == SImode))))
32519 : : {
32520 : : *pmatch_len_ = 0;
32521 : : res = gen_peephole2_374 (insn, operands);
32522 : : if (res != NULL_RTX)
32523 : : return res;
32524 : : }
32525 : : if ((
32526 : : #line 29024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32527 : : ((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
32528 : : && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
32529 : : && !ix86_red_zone_used) && ((((((((((
32530 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32531 : : (word_mode == SImode) &&
32532 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32533 : : (Pmode == SImode)) &&
32534 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32535 : : (Pmode == SImode)) &&
32536 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32537 : : (Pmode == SImode)) &&
32538 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32539 : : (Pmode == SImode)) &&
32540 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32541 : : (word_mode == SImode)) &&
32542 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32543 : : (Pmode == SImode)) &&
32544 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32545 : : (Pmode == SImode)) &&
32546 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32547 : : (word_mode == SImode)) &&
32548 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32549 : : (Pmode == SImode)) &&
32550 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32551 : : (Pmode == SImode))))
32552 : : {
32553 : : *pmatch_len_ = 0;
32554 : : res = gen_peephole2_377 (insn, operands);
32555 : : if (res != NULL_RTX)
32556 : : return res;
32557 : : }
32558 : : if ((
32559 : : #line 29024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32560 : : ((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
32561 : : && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
32562 : : && !ix86_red_zone_used) && ((((((((((
32563 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32564 : : (word_mode == DImode) &&
32565 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32566 : : (Pmode == SImode)) &&
32567 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32568 : : (Pmode == SImode)) &&
32569 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32570 : : (Pmode == SImode)) &&
32571 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32572 : : (Pmode == SImode)) &&
32573 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32574 : : (word_mode == DImode)) &&
32575 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32576 : : (Pmode == SImode)) &&
32577 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32578 : : (Pmode == SImode)) &&
32579 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32580 : : (word_mode == DImode)) &&
32581 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32582 : : (Pmode == SImode)) &&
32583 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32584 : : (Pmode == SImode))))
32585 : : {
32586 : : *pmatch_len_ = 0;
32587 : : res = gen_peephole2_378 (insn, operands);
32588 : : if (res != NULL_RTX)
32589 : : return res;
32590 : : }
32591 : : if ((
32592 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32593 : : ((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
32594 : : && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
32595 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32596 : : (word_mode == SImode) &&
32597 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32598 : : (Pmode == SImode)) &&
32599 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32600 : : (Pmode == SImode)) &&
32601 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32602 : : (Pmode == SImode)) &&
32603 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32604 : : (Pmode == SImode)) &&
32605 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32606 : : (word_mode == SImode)) &&
32607 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32608 : : (Pmode == SImode)) &&
32609 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32610 : : (Pmode == SImode))))
32611 : : {
32612 : : *pmatch_len_ = 0;
32613 : : res = gen_peephole2_389 (insn, operands);
32614 : : if (res != NULL_RTX)
32615 : : return res;
32616 : : }
32617 : : if ((
32618 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32619 : : ((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
32620 : : && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
32621 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32622 : : (word_mode == DImode) &&
32623 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32624 : : (Pmode == SImode)) &&
32625 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32626 : : (Pmode == SImode)) &&
32627 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32628 : : (Pmode == SImode)) &&
32629 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32630 : : (Pmode == SImode)) &&
32631 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32632 : : (word_mode == DImode)) &&
32633 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32634 : : (Pmode == SImode)) &&
32635 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32636 : : (Pmode == SImode))))
32637 : : {
32638 : : *pmatch_len_ = 0;
32639 : : res = gen_peephole2_390 (insn, operands);
32640 : : if (res != NULL_RTX)
32641 : : return res;
32642 : : }
32643 : : if ((
32644 : : #line 29081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32645 : : ((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
32646 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32647 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32648 : : (word_mode == SImode) &&
32649 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32650 : : (Pmode == SImode)) &&
32651 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32652 : : (Pmode == SImode)) &&
32653 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32654 : : (Pmode == SImode)) &&
32655 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32656 : : (Pmode == SImode)) &&
32657 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32658 : : (word_mode == SImode)) &&
32659 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32660 : : (Pmode == SImode)) &&
32661 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32662 : : (Pmode == SImode)) &&
32663 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32664 : : (word_mode == SImode)) &&
32665 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32666 : : (Pmode == SImode)) &&
32667 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32668 : : (Pmode == SImode))))
32669 : : {
32670 : : *pmatch_len_ = 0;
32671 : : res = gen_peephole2_393 (insn, operands);
32672 : : if (res != NULL_RTX)
32673 : : return res;
32674 : : }
32675 : : if ((
32676 : : #line 29081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32677 : : ((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
32678 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32679 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32680 : : (word_mode == DImode) &&
32681 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32682 : : (Pmode == SImode)) &&
32683 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32684 : : (Pmode == SImode)) &&
32685 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32686 : : (Pmode == SImode)) &&
32687 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32688 : : (Pmode == SImode)) &&
32689 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32690 : : (word_mode == DImode)) &&
32691 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32692 : : (Pmode == SImode)) &&
32693 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32694 : : (Pmode == SImode)) &&
32695 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32696 : : (word_mode == DImode)) &&
32697 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32698 : : (Pmode == SImode)) &&
32699 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32700 : : (Pmode == SImode))))
32701 : : {
32702 : : *pmatch_len_ = 0;
32703 : : res = gen_peephole2_394 (insn, operands);
32704 : : if (res != NULL_RTX)
32705 : : return res;
32706 : : }
32707 : : if ((
32708 : : #line 29094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32709 : : (optimize_insn_for_size_p ()
32710 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32711 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32712 : : (word_mode == SImode) &&
32713 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32714 : : (Pmode == SImode)) &&
32715 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32716 : : (Pmode == SImode)) &&
32717 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32718 : : (Pmode == SImode)) &&
32719 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32720 : : (Pmode == SImode)) &&
32721 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32722 : : (word_mode == SImode)) &&
32723 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32724 : : (Pmode == SImode)) &&
32725 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32726 : : (Pmode == SImode)) &&
32727 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32728 : : (word_mode == SImode)) &&
32729 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32730 : : (Pmode == SImode)) &&
32731 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32732 : : (Pmode == SImode))))
32733 : : {
32734 : : *pmatch_len_ = 0;
32735 : : res = gen_peephole2_397 (insn, operands);
32736 : : if (res != NULL_RTX)
32737 : : return res;
32738 : : }
32739 : : if (!(
32740 : : #line 29094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32741 : : (optimize_insn_for_size_p ()
32742 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32743 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32744 : : (word_mode == DImode) &&
32745 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32746 : : (Pmode == SImode)) &&
32747 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32748 : : (Pmode == SImode)) &&
32749 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32750 : : (Pmode == SImode)) &&
32751 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32752 : : (Pmode == SImode)) &&
32753 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32754 : : (word_mode == DImode)) &&
32755 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32756 : : (Pmode == SImode)) &&
32757 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32758 : : (Pmode == SImode)) &&
32759 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32760 : : (word_mode == DImode)) &&
32761 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32762 : : (Pmode == SImode)) &&
32763 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32764 : : (Pmode == SImode))))
32765 : : return NULL;
32766 : : *pmatch_len_ = 0;
32767 : : return gen_peephole2_398 (insn, operands);
32768 : :
32769 : : case 1:
32770 : : if ((
32771 : : #line 29010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32772 : : ((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
32773 : : && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
32774 : : && !ix86_red_zone_used) && (((((((
32775 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32776 : : (word_mode == SImode) &&
32777 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32778 : : (Pmode == DImode)) &&
32779 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32780 : : (Pmode == DImode)) &&
32781 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32782 : : (Pmode == DImode)) &&
32783 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32784 : : (Pmode == DImode)) &&
32785 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32786 : : (word_mode == SImode)) &&
32787 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32788 : : (Pmode == DImode)) &&
32789 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32790 : : (Pmode == DImode))))
32791 : : {
32792 : : *pmatch_len_ = 0;
32793 : : res = gen_peephole2_375 (insn, operands);
32794 : : if (res != NULL_RTX)
32795 : : return res;
32796 : : }
32797 : : if ((
32798 : : #line 29010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32799 : : ((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
32800 : : && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
32801 : : && !ix86_red_zone_used) && (((((((
32802 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32803 : : (word_mode == DImode) &&
32804 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32805 : : (Pmode == DImode)) &&
32806 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32807 : : (Pmode == DImode)) &&
32808 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32809 : : (Pmode == DImode)) &&
32810 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32811 : : (Pmode == DImode)) &&
32812 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32813 : : (word_mode == DImode)) &&
32814 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32815 : : (Pmode == DImode)) &&
32816 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32817 : : (Pmode == DImode))))
32818 : : {
32819 : : *pmatch_len_ = 0;
32820 : : res = gen_peephole2_376 (insn, operands);
32821 : : if (res != NULL_RTX)
32822 : : return res;
32823 : : }
32824 : : if ((
32825 : : #line 29024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32826 : : ((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
32827 : : && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
32828 : : && !ix86_red_zone_used) && ((((((((((
32829 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32830 : : (word_mode == SImode) &&
32831 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32832 : : (Pmode == DImode)) &&
32833 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32834 : : (Pmode == DImode)) &&
32835 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32836 : : (Pmode == DImode)) &&
32837 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32838 : : (Pmode == DImode)) &&
32839 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32840 : : (word_mode == SImode)) &&
32841 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32842 : : (Pmode == DImode)) &&
32843 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32844 : : (Pmode == DImode)) &&
32845 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32846 : : (word_mode == SImode)) &&
32847 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32848 : : (Pmode == DImode)) &&
32849 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32850 : : (Pmode == DImode))))
32851 : : {
32852 : : *pmatch_len_ = 0;
32853 : : res = gen_peephole2_379 (insn, operands);
32854 : : if (res != NULL_RTX)
32855 : : return res;
32856 : : }
32857 : : if ((
32858 : : #line 29024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32859 : : ((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
32860 : : && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
32861 : : && !ix86_red_zone_used) && ((((((((((
32862 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32863 : : (word_mode == DImode) &&
32864 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32865 : : (Pmode == DImode)) &&
32866 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32867 : : (Pmode == DImode)) &&
32868 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32869 : : (Pmode == DImode)) &&
32870 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32871 : : (Pmode == DImode)) &&
32872 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32873 : : (word_mode == DImode)) &&
32874 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32875 : : (Pmode == DImode)) &&
32876 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32877 : : (Pmode == DImode)) &&
32878 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32879 : : (word_mode == DImode)) &&
32880 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32881 : : (Pmode == DImode)) &&
32882 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32883 : : (Pmode == DImode))))
32884 : : {
32885 : : *pmatch_len_ = 0;
32886 : : res = gen_peephole2_380 (insn, operands);
32887 : : if (res != NULL_RTX)
32888 : : return res;
32889 : : }
32890 : : if ((
32891 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32892 : : ((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
32893 : : && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
32894 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32895 : : (word_mode == SImode) &&
32896 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32897 : : (Pmode == DImode)) &&
32898 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32899 : : (Pmode == DImode)) &&
32900 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32901 : : (Pmode == DImode)) &&
32902 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32903 : : (Pmode == DImode)) &&
32904 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32905 : : (word_mode == SImode)) &&
32906 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32907 : : (Pmode == DImode)) &&
32908 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32909 : : (Pmode == DImode))))
32910 : : {
32911 : : *pmatch_len_ = 0;
32912 : : res = gen_peephole2_391 (insn, operands);
32913 : : if (res != NULL_RTX)
32914 : : return res;
32915 : : }
32916 : : if ((
32917 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32918 : : ((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
32919 : : && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
32920 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32921 : : (word_mode == DImode) &&
32922 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32923 : : (Pmode == DImode)) &&
32924 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32925 : : (Pmode == DImode)) &&
32926 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32927 : : (Pmode == DImode)) &&
32928 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32929 : : (Pmode == DImode)) &&
32930 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32931 : : (word_mode == DImode)) &&
32932 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32933 : : (Pmode == DImode)) &&
32934 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32935 : : (Pmode == DImode))))
32936 : : {
32937 : : *pmatch_len_ = 0;
32938 : : res = gen_peephole2_392 (insn, operands);
32939 : : if (res != NULL_RTX)
32940 : : return res;
32941 : : }
32942 : : if ((
32943 : : #line 29081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32944 : : ((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
32945 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32946 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32947 : : (word_mode == SImode) &&
32948 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32949 : : (Pmode == DImode)) &&
32950 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32951 : : (Pmode == DImode)) &&
32952 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32953 : : (Pmode == DImode)) &&
32954 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32955 : : (Pmode == DImode)) &&
32956 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32957 : : (word_mode == SImode)) &&
32958 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32959 : : (Pmode == DImode)) &&
32960 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32961 : : (Pmode == DImode)) &&
32962 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32963 : : (word_mode == SImode)) &&
32964 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32965 : : (Pmode == DImode)) &&
32966 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32967 : : (Pmode == DImode))))
32968 : : {
32969 : : *pmatch_len_ = 0;
32970 : : res = gen_peephole2_395 (insn, operands);
32971 : : if (res != NULL_RTX)
32972 : : return res;
32973 : : }
32974 : : if ((
32975 : : #line 29081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32976 : : ((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
32977 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32978 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32979 : : (word_mode == DImode) &&
32980 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32981 : : (Pmode == DImode)) &&
32982 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32983 : : (Pmode == DImode)) &&
32984 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32985 : : (Pmode == DImode)) &&
32986 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32987 : : (Pmode == DImode)) &&
32988 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32989 : : (word_mode == DImode)) &&
32990 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32991 : : (Pmode == DImode)) &&
32992 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32993 : : (Pmode == DImode)) &&
32994 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32995 : : (word_mode == DImode)) &&
32996 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32997 : : (Pmode == DImode)) &&
32998 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32999 : : (Pmode == DImode))))
33000 : : {
33001 : : *pmatch_len_ = 0;
33002 : : res = gen_peephole2_396 (insn, operands);
33003 : : if (res != NULL_RTX)
33004 : : return res;
33005 : : }
33006 : : if ((
33007 : : #line 29094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33008 : : (optimize_insn_for_size_p ()
33009 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
33010 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33011 : : (word_mode == SImode) &&
33012 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33013 : : (Pmode == DImode)) &&
33014 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33015 : : (Pmode == DImode)) &&
33016 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33017 : : (Pmode == DImode)) &&
33018 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33019 : : (Pmode == DImode)) &&
33020 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33021 : : (word_mode == SImode)) &&
33022 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33023 : : (Pmode == DImode)) &&
33024 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33025 : : (Pmode == DImode)) &&
33026 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33027 : : (word_mode == SImode)) &&
33028 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33029 : : (Pmode == DImode)) &&
33030 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33031 : : (Pmode == DImode))))
33032 : : {
33033 : : *pmatch_len_ = 0;
33034 : : res = gen_peephole2_399 (insn, operands);
33035 : : if (res != NULL_RTX)
33036 : : return res;
33037 : : }
33038 : : if (!(
33039 : : #line 29094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33040 : : (optimize_insn_for_size_p ()
33041 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
33042 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33043 : : (word_mode == DImode) &&
33044 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33045 : : (Pmode == DImode)) &&
33046 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33047 : : (Pmode == DImode)) &&
33048 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33049 : : (Pmode == DImode)) &&
33050 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33051 : : (Pmode == DImode)) &&
33052 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33053 : : (word_mode == DImode)) &&
33054 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33055 : : (Pmode == DImode)) &&
33056 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33057 : : (Pmode == DImode)) &&
33058 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33059 : : (word_mode == DImode)) &&
33060 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33061 : : (Pmode == DImode)) &&
33062 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
33063 : : (Pmode == DImode))))
33064 : : return NULL;
33065 : : *pmatch_len_ = 0;
33066 : : return gen_peephole2_400 (insn, operands);
33067 : :
33068 : : default:
33069 : : return NULL;
33070 : : }
33071 : :
33072 : : default:
33073 : : return NULL;
33074 : : }
33075 : :
33076 : : default:
33077 : : return NULL;
33078 : : }
33079 : :
33080 : : default:
33081 : : return NULL;
33082 : : }
33083 : : }
|