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 : 2260091 : pattern1 (rtx x1, int *pnum_clobbers)
57 : : {
58 : 2260091 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 2260091 : rtx x2, x3, x4;
60 : 2260091 : int res ATTRIBUTE_UNUSED;
61 : 2260091 : x2 = XEXP (x1, 1);
62 : 2260091 : x3 = XEXP (x2, 0);
63 : 2260091 : operands[1] = x3;
64 : 2260091 : x4 = XEXP (x2, 1);
65 : 2260091 : switch (GET_CODE (x4))
66 : : {
67 : 781 : case AND:
68 : 781 : return pattern0 (x1, pnum_clobbers); /* [-1, 0] */
69 : :
70 : : case CONST_INT:
71 : : case CONST_WIDE_INT:
72 : : case CONST_POLY_INT:
73 : : case CONST_FIXED:
74 : : case CONST_DOUBLE:
75 : : case CONST_VECTOR:
76 : : case CONST:
77 : : case REG:
78 : : case SUBREG:
79 : : case LABEL_REF:
80 : : case SYMBOL_REF:
81 : : case HIGH:
82 : : return 1;
83 : :
84 : 23541 : default:
85 : 23541 : return -1;
86 : : }
87 : : }
88 : :
89 : : int
90 : 62273 : pattern16 (rtx x1)
91 : : {
92 : 62273 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
93 : 62273 : int res ATTRIBUTE_UNUSED;
94 : 62273 : switch (GET_MODE (operands[0]))
95 : : {
96 : 38023 : case E_SImode:
97 : 38023 : if (!nonimmediate_operand (operands[0], E_SImode)
98 : 37654 : || GET_MODE (x1) != E_SImode
99 : 75677 : || !nonimmediate_operand (operands[1], E_SImode))
100 : 12780 : return -1;
101 : : return 0;
102 : :
103 : 19879 : case E_DImode:
104 : 19879 : if (!nonimmediate_operand (operands[0], E_DImode)
105 : 19525 : || GET_MODE (x1) != E_DImode
106 : 39404 : || !nonimmediate_operand (operands[1], E_DImode))
107 : 6080 : return -1;
108 : : return 1;
109 : :
110 : : default:
111 : : return -1;
112 : : }
113 : : }
114 : :
115 : : int
116 : 873452 : pattern25 (rtx x1, machine_mode i1)
117 : : {
118 : 873452 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
119 : 873452 : int res ATTRIBUTE_UNUSED;
120 : 873452 : if (!register_operand (operands[0], i1)
121 : 865015 : || GET_MODE (x1) != i1
122 : 864935 : || !vector_operand (operands[1], i1)
123 : 1623774 : || !vector_operand (operands[2], i1))
124 : 202214 : return -1;
125 : : return 0;
126 : : }
127 : :
128 : : int
129 : 92 : pattern27 (rtx x1)
130 : : {
131 : 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
132 : 92 : int res ATTRIBUTE_UNUSED;
133 : 92 : switch (GET_MODE (operands[0]))
134 : : {
135 : 58 : case E_V4SImode:
136 : 58 : if (!register_operand (operands[0], E_V4SImode)
137 : 58 : || GET_MODE (x1) != E_V4SImode)
138 : : return -1;
139 : : return 0;
140 : :
141 : 34 : case E_V4DImode:
142 : 34 : if (!register_operand (operands[0], E_V4DImode)
143 : 34 : || GET_MODE (x1) != E_V4DImode)
144 : : return -1;
145 : : return 1;
146 : :
147 : : default:
148 : : return -1;
149 : : }
150 : : }
151 : :
152 : : int
153 : 80715 : pattern36 (rtx x1)
154 : : {
155 : 80715 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
156 : 80715 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
157 : 80715 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
158 : 80715 : int res ATTRIBUTE_UNUSED;
159 : 80715 : x2 = XVECEXP (x1, 0, 1);
160 : 80715 : if (GET_CODE (x2) != CLOBBER)
161 : : return -1;
162 : 73863 : x3 = XEXP (x2, 0);
163 : 73863 : if (GET_CODE (x3) != REG
164 : 73863 : || REGNO (x3) != 8
165 : 147726 : || GET_MODE (x3) != E_XFmode)
166 : : return -1;
167 : 73863 : x4 = XVECEXP (x1, 0, 2);
168 : 73863 : if (GET_CODE (x4) != CLOBBER)
169 : : return -1;
170 : 73863 : x5 = XEXP (x4, 0);
171 : 73863 : if (GET_CODE (x5) != REG
172 : 73863 : || REGNO (x5) != 9
173 : 147726 : || GET_MODE (x5) != E_XFmode)
174 : : return -1;
175 : 73863 : x6 = XVECEXP (x1, 0, 3);
176 : 73863 : if (GET_CODE (x6) != CLOBBER)
177 : : return -1;
178 : 73863 : x7 = XEXP (x6, 0);
179 : 73863 : if (GET_CODE (x7) != REG
180 : 73863 : || REGNO (x7) != 10
181 : 147726 : || GET_MODE (x7) != E_XFmode)
182 : : return -1;
183 : 73863 : x8 = XVECEXP (x1, 0, 4);
184 : 73863 : if (GET_CODE (x8) != CLOBBER)
185 : : return -1;
186 : 73863 : x9 = XEXP (x8, 0);
187 : 73863 : if (GET_CODE (x9) != REG
188 : 73863 : || REGNO (x9) != 11
189 : 147726 : || GET_MODE (x9) != E_XFmode)
190 : : return -1;
191 : 73863 : x10 = XVECEXP (x1, 0, 5);
192 : 73863 : if (GET_CODE (x10) != CLOBBER)
193 : : return -1;
194 : 73863 : x11 = XEXP (x10, 0);
195 : 73863 : if (GET_CODE (x11) != REG
196 : 73863 : || REGNO (x11) != 12
197 : 147726 : || GET_MODE (x11) != E_XFmode)
198 : : return -1;
199 : 73863 : x12 = XVECEXP (x1, 0, 6);
200 : 73863 : if (GET_CODE (x12) != CLOBBER)
201 : : return -1;
202 : 73863 : x13 = XEXP (x12, 0);
203 : 73863 : if (GET_CODE (x13) != REG
204 : 73863 : || REGNO (x13) != 13
205 : 147726 : || GET_MODE (x13) != E_XFmode)
206 : : return -1;
207 : 73863 : x14 = XVECEXP (x1, 0, 7);
208 : 73863 : if (GET_CODE (x14) != CLOBBER)
209 : : return -1;
210 : 73863 : x15 = XEXP (x14, 0);
211 : 73863 : if (GET_CODE (x15) != REG
212 : 73863 : || REGNO (x15) != 14
213 : 147726 : || GET_MODE (x15) != E_XFmode)
214 : : return -1;
215 : 73863 : x16 = XVECEXP (x1, 0, 8);
216 : 73863 : if (GET_CODE (x16) != CLOBBER)
217 : : return -1;
218 : 73863 : x17 = XEXP (x16, 0);
219 : 73863 : if (GET_CODE (x17) != REG
220 : 73863 : || REGNO (x17) != 15
221 : 147726 : || GET_MODE (x17) != E_XFmode)
222 : 0 : return -1;
223 : : return 0;
224 : : }
225 : :
226 : : int
227 : 173209 : pattern46 (rtx x1)
228 : : {
229 : 173209 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
230 : 173209 : int res ATTRIBUTE_UNUSED;
231 : 173209 : switch (GET_MODE (x1))
232 : : {
233 : 46605 : case E_QImode:
234 : 46605 : if (!nonimmediate_operand (operands[1], E_QImode)
235 : 46605 : || !general_operand (operands[2], E_QImode))
236 : 24786 : return -1;
237 : : return 0;
238 : :
239 : 1059 : case E_HImode:
240 : 1059 : if (!nonimmediate_operand (operands[1], E_HImode)
241 : 1059 : || !general_operand (operands[2], E_HImode))
242 : 205 : return -1;
243 : : return 1;
244 : :
245 : 54234 : case E_SImode:
246 : 54234 : if (!nonimmediate_operand (operands[1], E_SImode)
247 : 54234 : || !x86_64_general_operand (operands[2], E_SImode))
248 : 21083 : return -1;
249 : : return 2;
250 : :
251 : 69144 : case E_DImode:
252 : 69144 : if (!nonimmediate_operand (operands[1], E_DImode)
253 : 69144 : || !x86_64_general_operand (operands[2], E_DImode))
254 : 26081 : return -1;
255 : : return 3;
256 : :
257 : : default:
258 : : return -1;
259 : : }
260 : : }
261 : :
262 : : int
263 : 246 : pattern56 (rtx x1, machine_mode i1)
264 : : {
265 : 246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
266 : 246 : rtx x2, x3, x4;
267 : 246 : int res ATTRIBUTE_UNUSED;
268 : 246 : x2 = XEXP (x1, 1);
269 : 246 : if (GET_MODE (x2) != i1)
270 : : return -1;
271 : 246 : x3 = XVECEXP (x2, 0, 0);
272 : 246 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
273 : : return -1;
274 : 246 : x4 = XEXP (x1, 0);
275 : 246 : if (GET_CODE (x4) != REG
276 : 246 : || REGNO (x4) != 17
277 : 490 : || GET_MODE (x4) != i1)
278 : 2 : return -1;
279 : : return 0;
280 : : }
281 : :
282 : : int
283 : 44841 : pattern60 (rtx x1, machine_mode i1)
284 : : {
285 : 44841 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
286 : 44841 : int res ATTRIBUTE_UNUSED;
287 : 44841 : if (!register_operand (operands[0], i1)
288 : 44154 : || GET_MODE (x1) != i1
289 : 44154 : || !register_operand (operands[1], i1)
290 : 82297 : || !nonimmediate_operand (operands[2], i1))
291 : 8119 : return -1;
292 : : return 0;
293 : : }
294 : :
295 : : int
296 : 14000 : pattern63 (rtx x1, machine_mode i1)
297 : : {
298 : 14000 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
299 : 14000 : int res ATTRIBUTE_UNUSED;
300 : 14000 : if (!register_operand (operands[0], i1)
301 : 13332 : || GET_MODE (x1) != i1
302 : 13332 : || !register_operand (operands[1], E_V4HImode)
303 : 23168 : || !register_mmxmem_operand (operands[2], E_V4HImode))
304 : 7727 : return -1;
305 : : return 0;
306 : : }
307 : :
308 : : int
309 : 2843295 : pattern69 (rtx x1)
310 : : {
311 : 2843295 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
312 : 2843295 : rtx x2, x3, x4;
313 : 2843295 : int res ATTRIBUTE_UNUSED;
314 : 2843295 : x2 = XEXP (x1, 0);
315 : 2843295 : x3 = XEXP (x2, 0);
316 : 2843295 : operands[1] = x3;
317 : 2843295 : x4 = XEXP (x2, 1);
318 : 2843295 : operands[3] = x4;
319 : 2843295 : return pattern68 (x1); /* [-1, 2] */
320 : : }
321 : :
322 : : int
323 : 654394 : pattern73 (rtx x1, machine_mode i1)
324 : : {
325 : 654394 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
326 : 654394 : int res ATTRIBUTE_UNUSED;
327 : 654394 : if (!nonimmediate_operand (operands[0], i1)
328 : 649142 : || GET_MODE (x1) != i1
329 : 649142 : || !nonimmediate_operand (operands[1], i1)
330 : 1200740 : || !general_operand (operands[2], i1))
331 : 112313 : return -1;
332 : : return 0;
333 : : }
334 : :
335 : : int
336 : 14079 : pattern78 (rtx x1)
337 : : {
338 : 14079 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
339 : 14079 : rtx x2, x3, x4;
340 : 14079 : int res ATTRIBUTE_UNUSED;
341 : 14079 : x2 = XEXP (x1, 0);
342 : 14079 : if (GET_MODE (x2) != E_QImode
343 : 6696 : || !register_operand (operands[0], E_HImode)
344 : 14485 : || GET_MODE (x1) != E_HImode)
345 : 13673 : return -1;
346 : 406 : x3 = XEXP (x2, 0);
347 : 406 : operands[1] = x3;
348 : 406 : if (!nonimmediate_operand (operands[1], E_QImode))
349 : : return -1;
350 : 239 : x4 = XEXP (x2, 1);
351 : 239 : operands[2] = x4;
352 : 239 : if (!x86_64_general_operand (operands[2], E_QImode))
353 : : return -1;
354 : : return 0;
355 : : }
356 : :
357 : : int
358 : 38131 : pattern85 (rtx x1, int *pnum_clobbers)
359 : : {
360 : 38131 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
361 : 38131 : rtx x2, x3, x4, x5, x6, x7;
362 : 38131 : int res ATTRIBUTE_UNUSED;
363 : 38131 : if (pnum_clobbers == NULL)
364 : : return -1;
365 : 38131 : x2 = XEXP (x1, 1);
366 : 38131 : x3 = XEXP (x2, 0);
367 : 38131 : if (GET_MODE (x3) != E_TImode)
368 : : return -1;
369 : 14340 : x4 = XEXP (x3, 0);
370 : 14340 : if (GET_CODE (x4) != ASHIFT
371 : 14340 : || GET_MODE (x4) != E_TImode)
372 : : return -1;
373 : 11176 : x5 = XEXP (x4, 0);
374 : 11176 : if (GET_CODE (x5) != ZERO_EXTEND
375 : 11176 : || GET_MODE (x5) != E_TImode)
376 : : return -1;
377 : 11156 : x6 = XEXP (x3, 1);
378 : 11156 : if (GET_CODE (x6) != ZERO_EXTEND
379 : 11156 : || GET_MODE (x6) != E_TImode)
380 : : return -1;
381 : 11005 : x7 = XEXP (x1, 0);
382 : 11005 : operands[0] = x7;
383 : 11005 : return pattern84 (x2,
384 : : E_TImode,
385 : 11005 : E_DImode); /* [-1, 1] */
386 : : }
387 : :
388 : : int
389 : 168 : pattern92 (rtx x1)
390 : : {
391 : 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
392 : 168 : rtx x2, x3, x4, x5;
393 : 168 : int res ATTRIBUTE_UNUSED;
394 : 168 : x2 = XEXP (x1, 1);
395 : 168 : if (GET_MODE (x2) != E_CCZmode)
396 : : return -1;
397 : 168 : x3 = XEXP (x1, 0);
398 : 168 : if (GET_CODE (x3) != REG
399 : 168 : || REGNO (x3) != 17
400 : 336 : || GET_MODE (x3) != E_CCZmode)
401 : : return -1;
402 : 168 : x4 = XVECEXP (x2, 0, 0);
403 : 168 : operands[0] = x4;
404 : 168 : x5 = XVECEXP (x2, 0, 1);
405 : 168 : operands[1] = x5;
406 : 168 : if (!memory_operand (operands[1], E_XImode))
407 : : return -1;
408 : 168 : switch (GET_MODE (operands[0]))
409 : : {
410 : 0 : case E_SImode:
411 : 0 : if (!register_operand (operands[0], E_SImode))
412 : : return -1;
413 : : return 0;
414 : :
415 : 168 : case E_DImode:
416 : 168 : if (!register_operand (operands[0], E_DImode))
417 : : return -1;
418 : : return 1;
419 : :
420 : : default:
421 : : return -1;
422 : : }
423 : : }
424 : :
425 : : int
426 : 25356 : pattern104 (rtx x1, int *pnum_clobbers)
427 : : {
428 : 25356 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
429 : 25356 : rtx x2, x3, x4, x5;
430 : 25356 : int res ATTRIBUTE_UNUSED;
431 : 25356 : if (pnum_clobbers == NULL)
432 : : return -1;
433 : 25356 : x2 = XEXP (x1, 0);
434 : 25356 : x3 = XEXP (x2, 1);
435 : 25356 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
436 : : return -1;
437 : 19252 : x4 = XEXP (x2, 0);
438 : 19252 : operands[2] = x4;
439 : 19252 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
440 : : return -1;
441 : 1177 : x5 = XEXP (x1, 1);
442 : 1177 : operands[1] = x5;
443 : 1177 : switch (GET_MODE (operands[0]))
444 : : {
445 : 741 : case E_SImode:
446 : 741 : return pattern103 (x1,
447 : 741 : E_SImode); /* [-1, 0] */
448 : :
449 : 411 : case E_DImode:
450 : 411 : if (pattern103 (x1,
451 : : E_DImode) != 0)
452 : : return -1;
453 : : return 1;
454 : :
455 : : default:
456 : : return -1;
457 : : }
458 : : }
459 : :
460 : : int
461 : 445389 : pattern113 (rtx x1, rtx_code i1)
462 : : {
463 : 445389 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
464 : 445389 : rtx x2, x3, x4, x5;
465 : 445389 : int res ATTRIBUTE_UNUSED;
466 : 445389 : x2 = XEXP (x1, 0);
467 : 445389 : if (GET_MODE (x2) != E_DImode)
468 : : return -1;
469 : 203435 : x3 = XEXP (x1, 1);
470 : 203435 : if (GET_CODE (x3) != i1
471 : 29180 : || GET_MODE (x3) != E_DImode
472 : 29180 : || !register_operand (operands[0], E_DImode)
473 : 232502 : || GET_MODE (x1) != E_DImode)
474 : 174368 : return -1;
475 : 29067 : x4 = XEXP (x2, 0);
476 : 29067 : operands[1] = x4;
477 : 29067 : if (!register_operand (operands[1], E_SImode))
478 : : return -1;
479 : 17813 : x5 = XEXP (x3, 0);
480 : 17813 : operands[2] = x5;
481 : 17813 : if (!nonimmediate_operand (operands[2], E_SImode))
482 : : return -1;
483 : : return 0;
484 : : }
485 : :
486 : : int
487 : 766 : pattern121 (rtx x1, machine_mode i1)
488 : : {
489 : 766 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
490 : 766 : int res ATTRIBUTE_UNUSED;
491 : 766 : if (!register_operand (operands[0], i1)
492 : 766 : || GET_MODE (x1) != i1)
493 : : return -1;
494 : 718 : switch (GET_MODE (operands[1]))
495 : : {
496 : 44 : case E_V8HFmode:
497 : 44 : if (!register_operand (operands[1], E_V8HFmode))
498 : : return -1;
499 : : return 0;
500 : :
501 : 379 : case E_V4SFmode:
502 : 379 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
503 : : return -1;
504 : : return 1;
505 : :
506 : 295 : case E_V2DFmode:
507 : 295 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
508 : : return -1;
509 : : return 2;
510 : :
511 : : default:
512 : : return -1;
513 : : }
514 : : }
515 : :
516 : : int
517 : 900 : pattern130 (rtx x1, machine_mode i1)
518 : : {
519 : 900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
520 : 900 : rtx x2;
521 : 900 : int res ATTRIBUTE_UNUSED;
522 : 900 : if (!register_operand (operands[0], i1)
523 : 900 : || GET_MODE (x1) != i1)
524 : : return -1;
525 : 876 : x2 = XEXP (x1, 0);
526 : 876 : if (GET_MODE (x2) != i1
527 : 876 : || !register_operand (operands[1], i1)
528 : 1692 : || !nonimmediate_operand (operands[2], i1))
529 : 112 : return -1;
530 : : return 0;
531 : : }
532 : :
533 : : int
534 : 5670 : pattern138 (rtx x1)
535 : : {
536 : 5670 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
537 : 5670 : rtx x2, x3, x4, x5, x6;
538 : 5670 : int res ATTRIBUTE_UNUSED;
539 : 5670 : x2 = XEXP (x1, 0);
540 : 5670 : x3 = XEXP (x2, 0);
541 : 5670 : operands[1] = x3;
542 : 5670 : x4 = XEXP (x2, 1);
543 : 5670 : operands[2] = x4;
544 : 5670 : x5 = XEXP (x1, 1);
545 : 5670 : operands[3] = x5;
546 : 5670 : x6 = XEXP (x1, 2);
547 : 5670 : operands[4] = x6;
548 : 5670 : switch (GET_MODE (operands[0]))
549 : : {
550 : 1072 : case E_V64QImode:
551 : 1072 : return pattern126 (x1,
552 : : E_V64QImode,
553 : 1072 : E_DImode); /* [-1, 0] */
554 : :
555 : 976 : case E_V32QImode:
556 : 976 : if (pattern126 (x1,
557 : : E_V32QImode,
558 : : E_SImode) != 0)
559 : : return -1;
560 : : return 1;
561 : :
562 : 780 : case E_V16QImode:
563 : 780 : if (pattern126 (x1,
564 : : E_V16QImode,
565 : : E_HImode) != 0)
566 : : return -1;
567 : : return 2;
568 : :
569 : 1048 : case E_V32HImode:
570 : 1048 : if (pattern126 (x1,
571 : : E_V32HImode,
572 : : E_SImode) != 0)
573 : : return -1;
574 : : return 3;
575 : :
576 : 1017 : case E_V16HImode:
577 : 1017 : if (pattern126 (x1,
578 : : E_V16HImode,
579 : : E_HImode) != 0)
580 : : return -1;
581 : : return 4;
582 : :
583 : 777 : case E_V8HImode:
584 : 777 : if (pattern126 (x1,
585 : : E_V8HImode,
586 : : E_QImode) != 0)
587 : : return -1;
588 : : return 5;
589 : :
590 : : default:
591 : : return -1;
592 : : }
593 : : }
594 : :
595 : : int
596 : 3733 : pattern146 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
597 : : {
598 : 3733 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
599 : 3733 : rtx x2;
600 : 3733 : int res ATTRIBUTE_UNUSED;
601 : 3733 : if (!register_operand (operands[0], i1)
602 : 3733 : || GET_MODE (x1) != i1)
603 : : return -1;
604 : 3623 : x2 = XEXP (x1, 0);
605 : 3623 : if (GET_MODE (x2) != i1
606 : 3623 : || !nonimmediate_operand (operands[1], i2)
607 : 3623 : || !nonimm_or_0_operand (operands[2], i1)
608 : 7195 : || !register_operand (operands[3], i3))
609 : 213 : return -1;
610 : : return 0;
611 : : }
612 : :
613 : : int
614 : 1619 : pattern151 (rtx x1, machine_mode i1)
615 : : {
616 : 1619 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
617 : 1619 : int res ATTRIBUTE_UNUSED;
618 : 1619 : if (!register_operand (operands[0], i1)
619 : 1409 : || GET_MODE (x1) != i1
620 : 1409 : || !vector_operand (operands[1], i1)
621 : 3004 : || !vector_operand (operands[2], i1))
622 : 242 : return -1;
623 : : return 0;
624 : : }
625 : :
626 : : int
627 : 116 : pattern153 (rtx x1)
628 : : {
629 : 116 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
630 : 116 : rtx x2, x3, x4, x5;
631 : 116 : int res ATTRIBUTE_UNUSED;
632 : 116 : x2 = XEXP (x1, 1);
633 : 116 : if (GET_MODE (x2) != E_V32HImode)
634 : : return -1;
635 : 116 : x3 = XEXP (x1, 0);
636 : 116 : operands[0] = x3;
637 : 116 : if (!register_operand (operands[0], E_V32HImode))
638 : : return -1;
639 : 108 : x4 = XVECEXP (x2, 0, 0);
640 : 108 : operands[1] = x4;
641 : 108 : if (!nonimmediate_operand (operands[1], E_V32HImode))
642 : : return -1;
643 : 108 : x5 = XVECEXP (x2, 0, 1);
644 : 108 : operands[2] = x5;
645 : 108 : if (!const_0_to_255_operand (operands[2], E_SImode))
646 : : return -1;
647 : : return 0;
648 : : }
649 : :
650 : : int
651 : 405 : pattern156 (rtx x1, machine_mode i1)
652 : : {
653 : 405 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
654 : 405 : rtx x2, x3, x4, x5;
655 : 405 : int res ATTRIBUTE_UNUSED;
656 : 405 : x2 = XEXP (x1, 1);
657 : 405 : if (GET_MODE (x2) != i1)
658 : : return -1;
659 : 405 : x3 = XEXP (x1, 0);
660 : 405 : operands[0] = x3;
661 : 405 : if (!register_operand (operands[0], i1))
662 : : return -1;
663 : 390 : x4 = XVECEXP (x2, 0, 0);
664 : 390 : operands[1] = x4;
665 : 390 : if (!register_operand (operands[1], i1))
666 : : return -1;
667 : 316 : x5 = XVECEXP (x2, 0, 1);
668 : 316 : operands[2] = x5;
669 : 316 : if (!register_operand (operands[2], i1))
670 : : return -1;
671 : : return 0;
672 : : }
673 : :
674 : : int
675 : 424 : pattern163 (rtx x1)
676 : : {
677 : 424 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
678 : 424 : rtx x2, x3, x4, x5;
679 : 424 : int res ATTRIBUTE_UNUSED;
680 : 424 : x2 = XEXP (x1, 0);
681 : 424 : operands[0] = x2;
682 : 424 : x3 = XEXP (x1, 1);
683 : 424 : x4 = XVECEXP (x3, 0, 0);
684 : 424 : operands[1] = x4;
685 : 424 : x5 = XVECEXP (x3, 0, 1);
686 : 424 : operands[2] = x5;
687 : 424 : switch (GET_MODE (operands[0]))
688 : : {
689 : 212 : case E_V32QImode:
690 : 212 : return pattern162 (x3,
691 : : E_V32HFmode,
692 : : E_V64QImode,
693 : 212 : E_V32QImode); /* [-1, 0] */
694 : :
695 : 212 : case E_V16QImode:
696 : 212 : if (pattern162 (x3,
697 : : E_V16HFmode,
698 : : E_V32QImode,
699 : : E_V16QImode) != 0)
700 : : return -1;
701 : : return 1;
702 : :
703 : : default:
704 : : return -1;
705 : : }
706 : : }
707 : :
708 : : int
709 : 2100 : pattern174 (rtx x1)
710 : : {
711 : 2100 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
712 : 2100 : rtx x2, x3, x4, x5, x6;
713 : 2100 : int res ATTRIBUTE_UNUSED;
714 : 2100 : x2 = XEXP (x1, 0);
715 : 2100 : operands[0] = x2;
716 : 2100 : x3 = XEXP (x1, 1);
717 : 2100 : x4 = XVECEXP (x3, 0, 0);
718 : 2100 : operands[1] = x4;
719 : 2100 : x5 = XVECEXP (x3, 0, 1);
720 : 2100 : operands[2] = x5;
721 : 2100 : x6 = XVECEXP (x3, 0, 2);
722 : 2100 : operands[3] = x6;
723 : 2100 : switch (GET_MODE (operands[0]))
724 : : {
725 : 356 : case E_V16SImode:
726 : 356 : return pattern169 (x3,
727 : 356 : E_V16SImode); /* [-1, 0] */
728 : :
729 : 676 : case E_V8SImode:
730 : 676 : if (pattern169 (x3,
731 : : E_V8SImode) != 0)
732 : : return -1;
733 : : return 1;
734 : :
735 : 1068 : case E_V4SImode:
736 : 1068 : if (pattern169 (x3,
737 : : E_V4SImode) != 0)
738 : : return -1;
739 : : return 2;
740 : :
741 : : default:
742 : : return -1;
743 : : }
744 : : }
745 : :
746 : : int
747 : 16 : pattern182 (rtx x1, machine_mode i1)
748 : : {
749 : 16 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
750 : 16 : rtx x2;
751 : 16 : int res ATTRIBUTE_UNUSED;
752 : 16 : if (!register_operand (operands[0], i1)
753 : 16 : || GET_MODE (x1) != i1)
754 : : return -1;
755 : 10 : x2 = XEXP (x1, 0);
756 : 10 : if (GET_MODE (x2) != i1
757 : 10 : || !vector_operand (operands[1], i1)
758 : 10 : || !vector_operand (operands[2], i1)
759 : 10 : || !const0_operand (operands[3], i1)
760 : 16 : || !vector_operand (operands[4], i1))
761 : 6 : return -1;
762 : : return 0;
763 : : }
764 : :
765 : : int
766 : 232693 : pattern187 (rtx x1)
767 : : {
768 : 232693 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
769 : 232693 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
770 : 232693 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
771 : 232693 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
772 : 232693 : rtx x26, x27;
773 : 232693 : int res ATTRIBUTE_UNUSED;
774 : 232693 : x2 = XEXP (x1, 0);
775 : 232693 : x3 = XEXP (x2, 0);
776 : 232693 : if (GET_CODE (x3) != VEC_CONCAT)
777 : : return -1;
778 : 69869 : x4 = XEXP (x2, 1);
779 : 69869 : if (GET_CODE (x4) != PARALLEL)
780 : : return -1;
781 : 69869 : x5 = XEXP (x1, 1);
782 : 69869 : if (GET_CODE (x5) != VEC_SELECT)
783 : : return -1;
784 : 1812 : x6 = XEXP (x5, 0);
785 : 1812 : if (GET_CODE (x6) != VEC_CONCAT)
786 : : return -1;
787 : 1804 : x7 = XEXP (x5, 1);
788 : 1804 : if (GET_CODE (x7) != PARALLEL)
789 : : return -1;
790 : 1804 : x8 = XEXP (x3, 0);
791 : 1804 : operands[1] = x8;
792 : 1804 : x9 = XEXP (x3, 1);
793 : 1804 : operands[2] = x9;
794 : 1804 : x10 = XEXP (x6, 0);
795 : 1804 : if (!rtx_equal_p (x10, operands[1]))
796 : : return -1;
797 : 1514 : x11 = XEXP (x6, 1);
798 : 1514 : if (!rtx_equal_p (x11, operands[2]))
799 : : return -1;
800 : 1509 : switch (XVECLEN (x4, 0))
801 : : {
802 : 189 : case 16:
803 : 189 : return pattern185 (x1); /* [-1, 0] */
804 : :
805 : 512 : case 8:
806 : 512 : x12 = XVECEXP (x4, 0, 0);
807 : 512 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
808 : : return -1;
809 : 512 : x13 = XVECEXP (x4, 0, 1);
810 : 512 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
811 : : return -1;
812 : 512 : x14 = XVECEXP (x4, 0, 2);
813 : 512 : if (GET_CODE (x14) != CONST_INT)
814 : : return -1;
815 : 512 : x15 = XVECEXP (x4, 0, 3);
816 : 512 : if (GET_CODE (x15) != CONST_INT)
817 : : return -1;
818 : 512 : x16 = XVECEXP (x4, 0, 4);
819 : 512 : if (GET_CODE (x16) != CONST_INT)
820 : : return -1;
821 : 512 : x17 = XVECEXP (x4, 0, 5);
822 : 512 : if (GET_CODE (x17) != CONST_INT)
823 : : return -1;
824 : 512 : x18 = XVECEXP (x4, 0, 6);
825 : 512 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
826 : : return -1;
827 : 512 : x19 = XVECEXP (x4, 0, 7);
828 : 512 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
829 : 512 : || XVECLEN (x7, 0) != 8)
830 : : return -1;
831 : 512 : x20 = XVECEXP (x7, 0, 0);
832 : 512 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
833 : : return -1;
834 : 512 : x21 = XVECEXP (x7, 0, 1);
835 : 512 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
836 : : return -1;
837 : 512 : x22 = XVECEXP (x7, 0, 2);
838 : 512 : if (GET_CODE (x22) != CONST_INT)
839 : : return -1;
840 : 512 : x23 = XVECEXP (x7, 0, 3);
841 : 512 : if (GET_CODE (x23) != CONST_INT)
842 : : return -1;
843 : 512 : x24 = XVECEXP (x7, 0, 4);
844 : 512 : if (GET_CODE (x24) != CONST_INT)
845 : : return -1;
846 : 512 : x25 = XVECEXP (x7, 0, 5);
847 : 512 : if (GET_CODE (x25) != CONST_INT)
848 : : return -1;
849 : 512 : x26 = XVECEXP (x7, 0, 6);
850 : 512 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
851 : : return -1;
852 : 512 : x27 = XVECEXP (x7, 0, 7);
853 : 512 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
854 : : return -1;
855 : 512 : switch (XWINT (x14, 0))
856 : : {
857 : 314 : case 4L:
858 : 314 : if (XWINT (x15, 0) != 6L
859 : 314 : || XWINT (x16, 0) != 8L
860 : 314 : || XWINT (x17, 0) != 10L
861 : 314 : || XWINT (x22, 0) != 5L
862 : 314 : || XWINT (x23, 0) != 7L
863 : 314 : || XWINT (x24, 0) != 9L
864 : 314 : || XWINT (x25, 0) != 11L
865 : 628 : || pattern186 (x1,
866 : : E_V16HImode,
867 : : E_V8HImode) != 0)
868 : 58 : return -1;
869 : : return 1;
870 : :
871 : 198 : case 8L:
872 : 198 : if (XWINT (x15, 0) != 10L
873 : 198 : || XWINT (x16, 0) != 4L
874 : 198 : || XWINT (x17, 0) != 6L
875 : 198 : || XWINT (x22, 0) != 9L
876 : 198 : || XWINT (x23, 0) != 11L
877 : 198 : || XWINT (x24, 0) != 5L
878 : 198 : || XWINT (x25, 0) != 7L
879 : 396 : || pattern184 (x1,
880 : : E_V16SImode,
881 : : E_V8SImode) != 0)
882 : 11 : return -1;
883 : : return 2;
884 : :
885 : : default:
886 : : return -1;
887 : : }
888 : :
889 : 737 : case 4:
890 : 737 : x12 = XVECEXP (x4, 0, 0);
891 : 737 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
892 : : return -1;
893 : 247 : x13 = XVECEXP (x4, 0, 1);
894 : 247 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
895 : : return -1;
896 : 247 : x14 = XVECEXP (x4, 0, 2);
897 : 247 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
898 : : return -1;
899 : 247 : x15 = XVECEXP (x4, 0, 3);
900 : 247 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
901 : 247 : || XVECLEN (x7, 0) != 4)
902 : : return -1;
903 : 247 : x20 = XVECEXP (x7, 0, 0);
904 : 247 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
905 : : return -1;
906 : 247 : x21 = XVECEXP (x7, 0, 1);
907 : 247 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
908 : : return -1;
909 : 247 : x22 = XVECEXP (x7, 0, 2);
910 : 247 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
911 : : return -1;
912 : 247 : x23 = XVECEXP (x7, 0, 3);
913 : 247 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
914 : 247 : || pattern186 (x1,
915 : : E_V8SImode,
916 : : E_V4SImode) != 0)
917 : 25 : return -1;
918 : : return 3;
919 : :
920 : : default:
921 : : return -1;
922 : : }
923 : : }
924 : :
925 : : int
926 : 300871 : pattern219 (rtx x1)
927 : : {
928 : 300871 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
929 : 300871 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
930 : 300871 : int res ATTRIBUTE_UNUSED;
931 : 300871 : x2 = XVECEXP (x1, 0, 1);
932 : 300871 : if (GET_CODE (x2) != USE)
933 : : return -1;
934 : 288661 : x3 = XVECEXP (x1, 0, 2);
935 : 288661 : if (GET_CODE (x3) != CLOBBER)
936 : : return -1;
937 : 278956 : x4 = XEXP (x3, 0);
938 : 278956 : if (GET_CODE (x4) != REG
939 : 278956 : || REGNO (x4) != 17
940 : 557912 : || GET_MODE (x4) != E_CCmode)
941 : : return -1;
942 : 278956 : x5 = XVECEXP (x1, 0, 0);
943 : 278956 : x6 = XEXP (x5, 0);
944 : 278956 : operands[0] = x6;
945 : 278956 : x7 = XEXP (x5, 1);
946 : 278956 : x8 = XEXP (x7, 0);
947 : 278956 : operands[1] = x8;
948 : 278956 : x9 = XEXP (x2, 0);
949 : 278956 : operands[2] = x9;
950 : 278956 : switch (GET_MODE (operands[0]))
951 : : {
952 : 863 : case E_HFmode:
953 : 863 : return pattern218 (x7,
954 : : E_V8HFmode,
955 : 863 : E_HFmode); /* [-1, 0] */
956 : :
957 : 132882 : case E_SFmode:
958 : 132882 : if (pattern218 (x7,
959 : : E_V4SFmode,
960 : : E_SFmode) != 0)
961 : : return -1;
962 : : return 1;
963 : :
964 : 145211 : case E_DFmode:
965 : 145211 : if (pattern218 (x7,
966 : : E_V2DFmode,
967 : : E_DFmode) != 0)
968 : : return -1;
969 : : return 2;
970 : :
971 : : default:
972 : : return -1;
973 : : }
974 : : }
975 : :
976 : : int
977 : 412493 : pattern232 (rtx x1)
978 : : {
979 : 412493 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
980 : 412493 : rtx x2, x3;
981 : 412493 : int res ATTRIBUTE_UNUSED;
982 : 412493 : x2 = XEXP (x1, 0);
983 : 412493 : operands[1] = x2;
984 : 412493 : x3 = XEXP (x1, 1);
985 : 412493 : operands[2] = x3;
986 : 412493 : switch (GET_MODE (operands[0]))
987 : : {
988 : 1471 : case E_V4HImode:
989 : 1471 : return pattern231 (x1,
990 : 1471 : E_V4HImode); /* [-1, 0] */
991 : :
992 : 3217 : case E_V2SImode:
993 : 3217 : if (pattern231 (x1,
994 : : E_V2SImode) != 0)
995 : : return -1;
996 : : return 1;
997 : :
998 : 149 : case E_V2HImode:
999 : 149 : if (pattern231 (x1,
1000 : : E_V2HImode) != 0)
1001 : : return -1;
1002 : : return 2;
1003 : :
1004 : : default:
1005 : : return -1;
1006 : : }
1007 : : }
1008 : :
1009 : : int
1010 : 290579 : pattern242 (rtx x1)
1011 : : {
1012 : 290579 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1013 : 290579 : rtx x2, x3, x4, x5, x6, x7, x8;
1014 : 290579 : int res ATTRIBUTE_UNUSED;
1015 : 290579 : x2 = XVECEXP (x1, 0, 1);
1016 : 290579 : if (GET_CODE (x2) != CLOBBER)
1017 : : return -1;
1018 : 289951 : x3 = XEXP (x2, 0);
1019 : 289951 : if (GET_CODE (x3) != REG
1020 : 289951 : || REGNO (x3) != 17
1021 : 579902 : || GET_MODE (x3) != E_CCmode)
1022 : : return -1;
1023 : 289951 : x4 = XVECEXP (x1, 0, 0);
1024 : 289951 : x5 = XEXP (x4, 0);
1025 : 289951 : operands[0] = x5;
1026 : 289951 : x6 = XEXP (x4, 1);
1027 : 289951 : x7 = XEXP (x6, 0);
1028 : 289951 : operands[1] = x7;
1029 : 289951 : x8 = XEXP (x6, 1);
1030 : 289951 : operands[2] = x8;
1031 : 289951 : if (!nonmemory_operand (operands[2], E_QImode))
1032 : : return -1;
1033 : 289951 : return pattern241 (x6); /* [-1, 1] */
1034 : : }
1035 : :
1036 : : int
1037 : 114413 : pattern251 (rtx x1, int *pnum_clobbers)
1038 : : {
1039 : 114413 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1040 : 114413 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1041 : 114413 : rtx x10, x11, x12, x13;
1042 : 114413 : int res ATTRIBUTE_UNUSED;
1043 : 114413 : if (pnum_clobbers == NULL)
1044 : : return -1;
1045 : 114413 : x2 = XEXP (x1, 1);
1046 : 114413 : x3 = XEXP (x2, 0);
1047 : 114413 : if (GET_MODE (x3) != E_QImode)
1048 : : return -1;
1049 : 204 : x4 = XEXP (x3, 0);
1050 : 204 : if (GET_CODE (x4) != SUBREG
1051 : 78 : || maybe_ne (SUBREG_BYTE (x4), 0)
1052 : 282 : || GET_MODE (x4) != E_QImode)
1053 : : return -1;
1054 : 78 : x5 = XEXP (x4, 0);
1055 : 78 : switch (GET_CODE (x5))
1056 : : {
1057 : 2 : case SIGN_EXTRACT:
1058 : 2 : case ZERO_EXTRACT:
1059 : 2 : operands[3] = x5;
1060 : 2 : x6 = XEXP (x5, 1);
1061 : 2 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1062 : : return -1;
1063 : 2 : x7 = XEXP (x5, 2);
1064 : 2 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1065 : : return -1;
1066 : 2 : x8 = XEXP (x1, 0);
1067 : 2 : if (GET_CODE (x8) != ZERO_EXTRACT)
1068 : : return -1;
1069 : 2 : x9 = XEXP (x8, 1);
1070 : 2 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1071 : : return -1;
1072 : 2 : x10 = XEXP (x8, 2);
1073 : 2 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1074 : : return -1;
1075 : 2 : x11 = XEXP (x8, 0);
1076 : 2 : operands[0] = x11;
1077 : 2 : if (!int248_register_operand (operands[0], E_VOIDmode))
1078 : : return -1;
1079 : 2 : x12 = XEXP (x5, 0);
1080 : 2 : operands[1] = x12;
1081 : 2 : if (!int248_register_operand (operands[1], E_VOIDmode))
1082 : : return -1;
1083 : 2 : x13 = XEXP (x3, 1);
1084 : 2 : operands[2] = x13;
1085 : 2 : if (!nonmemory_operand (operands[2], E_QImode))
1086 : : return -1;
1087 : 1 : return pattern250 (x1); /* [-1, 2] */
1088 : :
1089 : : default:
1090 : : return -1;
1091 : : }
1092 : : }
1093 : :
1094 : : int
1095 : 0 : pattern273 (rtx x1, machine_mode i1, machine_mode i2, int i3)
1096 : : {
1097 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1098 : 0 : rtx x2, x3, x4, x5, x6;
1099 : 0 : int res ATTRIBUTE_UNUSED;
1100 : 0 : x2 = XEXP (x1, 1);
1101 : 0 : x3 = XVECEXP (x2, 0, 0);
1102 : 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1103 : : return -1;
1104 : 0 : x4 = XVECEXP (x2, 0, 1);
1105 : 0 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3]
1106 : 0 : || !register_operand (operands[0], i2)
1107 : 0 : || GET_MODE (x1) != i2)
1108 : 0 : return -1;
1109 : 0 : x5 = XEXP (x1, 0);
1110 : 0 : x6 = XEXP (x5, 0);
1111 : 0 : operands[1] = x6;
1112 : 0 : if (!nonimmediate_operand (operands[1], i1))
1113 : : return -1;
1114 : : return 0;
1115 : : }
1116 : :
1117 : : int
1118 : 66560 : pattern282 (rtx x1)
1119 : : {
1120 : 66560 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1121 : 66560 : rtx x2, x3, x4, x5, x6;
1122 : 66560 : int res ATTRIBUTE_UNUSED;
1123 : 66560 : x2 = XEXP (x1, 1);
1124 : 66560 : x3 = XEXP (x2, 1);
1125 : 66560 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1126 : : return -1;
1127 : 66293 : x4 = XEXP (x1, 0);
1128 : 66293 : if (GET_CODE (x4) != REG
1129 : 66293 : || REGNO (x4) != 17
1130 : 66293 : || GET_MODE (x4) != E_CCCmode
1131 : 83137 : || GET_MODE (x2) != E_CCCmode)
1132 : : return -1;
1133 : 16844 : x5 = XEXP (x2, 0);
1134 : 16844 : x6 = XEXP (x5, 0);
1135 : 16844 : operands[0] = x6;
1136 : 16844 : return 0;
1137 : : }
1138 : :
1139 : : int
1140 : 133073 : pattern289 (rtx x1)
1141 : : {
1142 : 133073 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1143 : 133073 : rtx x2, x3, x4, x5, x6, x7;
1144 : 133073 : int res ATTRIBUTE_UNUSED;
1145 : 133073 : x2 = XEXP (x1, 0);
1146 : 133073 : x3 = XEXP (x2, 0);
1147 : 133073 : operands[1] = x3;
1148 : 133073 : x4 = XEXP (x1, 1);
1149 : 133073 : operands[2] = x4;
1150 : 133073 : x5 = XEXP (x2, 1);
1151 : 133073 : switch (GET_CODE (x5))
1152 : : {
1153 : 10143 : case LTU:
1154 : 10143 : case UNLT:
1155 : 10143 : operands[4] = x5;
1156 : 10143 : x6 = XEXP (x5, 1);
1157 : 10143 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1158 : : return -1;
1159 : 9783 : x7 = XEXP (x5, 0);
1160 : 9783 : operands[3] = x7;
1161 : 9783 : if (!flags_reg_operand (operands[3], E_VOIDmode))
1162 : : return -1;
1163 : : return 0;
1164 : :
1165 : 628 : case EQ:
1166 : 628 : x6 = XEXP (x5, 1);
1167 : 628 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1168 : : return -1;
1169 : 456 : x7 = XEXP (x5, 0);
1170 : 456 : operands[3] = x7;
1171 : 456 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
1172 : : return -1;
1173 : : return 1;
1174 : :
1175 : : default:
1176 : : return -1;
1177 : : }
1178 : : }
1179 : :
1180 : : int
1181 : 38930 : pattern301 (rtx x1)
1182 : : {
1183 : 38930 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1184 : 38930 : rtx x2, x3, x4;
1185 : 38930 : int res ATTRIBUTE_UNUSED;
1186 : 38930 : if (GET_MODE (x1) != E_DImode
1187 : 38930 : || !register_operand (operands[0], E_DImode))
1188 : 38500 : return -1;
1189 : 430 : x2 = XVECEXP (x1, 0, 0);
1190 : 430 : operands[1] = x2;
1191 : 430 : if (!register_operand (operands[1], E_DImode))
1192 : : return -1;
1193 : 415 : x3 = XVECEXP (x1, 0, 1);
1194 : 415 : operands[2] = x3;
1195 : 415 : if (!register_mmxmem_operand (operands[2], E_DImode))
1196 : : return -1;
1197 : 406 : x4 = XVECEXP (x1, 0, 2);
1198 : 406 : operands[3] = x4;
1199 : 406 : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
1200 : : return -1;
1201 : : return 0;
1202 : : }
1203 : :
1204 : : int
1205 : 121 : pattern310 (rtx x1)
1206 : : {
1207 : 121 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1208 : 121 : rtx x2, x3, x4, x5, x6;
1209 : 121 : int res ATTRIBUTE_UNUSED;
1210 : 121 : x2 = XEXP (x1, 2);
1211 : 121 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1212 : : return -1;
1213 : 99 : x3 = XEXP (x1, 0);
1214 : 99 : x4 = XEXP (x3, 0);
1215 : 99 : x5 = XEXP (x4, 0);
1216 : 99 : operands[1] = x5;
1217 : 99 : x6 = XEXP (x1, 1);
1218 : 99 : operands[2] = x6;
1219 : 99 : switch (GET_MODE (operands[0]))
1220 : : {
1221 : 3 : case E_V16SImode:
1222 : 3 : return pattern308 (x1,
1223 : 3 : E_V16SImode); /* [-1, 0] */
1224 : :
1225 : 3 : case E_V8SImode:
1226 : 3 : if (pattern308 (x1,
1227 : : E_V8SImode) != 0)
1228 : : return -1;
1229 : : return 1;
1230 : :
1231 : 85 : case E_V4SImode:
1232 : 85 : if (pattern308 (x1,
1233 : : E_V4SImode) != 0)
1234 : : return -1;
1235 : : return 2;
1236 : :
1237 : 4 : case E_V8DImode:
1238 : 4 : res = pattern309 (x1,
1239 : : E_V8DImode);
1240 : 4 : if (res >= 0)
1241 : 4 : return res + 3; /* [3, 4] */
1242 : : return -1;
1243 : :
1244 : 4 : case E_V4DImode:
1245 : 4 : res = pattern309 (x1,
1246 : : E_V4DImode);
1247 : 4 : if (res >= 0)
1248 : 4 : return res + 5; /* [5, 6] */
1249 : : return -1;
1250 : :
1251 : 0 : case E_V2DImode:
1252 : 0 : res = pattern309 (x1,
1253 : : E_V2DImode);
1254 : 0 : if (res >= 0)
1255 : 0 : return res + 7; /* [7, 8] */
1256 : : return -1;
1257 : :
1258 : : default:
1259 : : return -1;
1260 : : }
1261 : : }
1262 : :
1263 : : int
1264 : 404 : pattern325 (rtx x1)
1265 : : {
1266 : 404 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1267 : 404 : rtx x2;
1268 : 404 : int res ATTRIBUTE_UNUSED;
1269 : 404 : x2 = XVECEXP (x1, 0, 0);
1270 : 404 : operands[1] = x2;
1271 : 404 : switch (GET_MODE (operands[0]))
1272 : : {
1273 : 0 : case E_V16SImode:
1274 : 0 : if (!register_operand (operands[0], E_V16SImode)
1275 : 0 : || GET_MODE (x1) != E_V16SImode
1276 : 0 : || !vector_operand (operands[1], E_V16SFmode))
1277 : 0 : return -1;
1278 : : return 0;
1279 : :
1280 : 0 : case E_V8SImode:
1281 : 0 : if (!register_operand (operands[0], E_V8SImode)
1282 : 0 : || GET_MODE (x1) != E_V8SImode)
1283 : : return -1;
1284 : 0 : switch (GET_MODE (operands[1]))
1285 : : {
1286 : 0 : case E_V8SFmode:
1287 : 0 : if (!vector_operand (operands[1], E_V8SFmode))
1288 : : return -1;
1289 : : return 1;
1290 : :
1291 : 0 : case E_V8DFmode:
1292 : 0 : if (!vector_operand (operands[1], E_V8DFmode))
1293 : : return -1;
1294 : : return 2;
1295 : :
1296 : : default:
1297 : : return -1;
1298 : : }
1299 : :
1300 : 192 : case E_V4SImode:
1301 : 192 : if (!register_operand (operands[0], E_V4SImode)
1302 : 192 : || GET_MODE (x1) != E_V4SImode)
1303 : : return -1;
1304 : 192 : switch (GET_MODE (operands[1]))
1305 : : {
1306 : 96 : case E_V4SFmode:
1307 : 96 : if (!vector_operand (operands[1], E_V4SFmode))
1308 : : return -1;
1309 : : return 3;
1310 : :
1311 : 0 : case E_V4DFmode:
1312 : 0 : if (!vector_operand (operands[1], E_V4DFmode))
1313 : : return -1;
1314 : : return 4;
1315 : :
1316 : 96 : case E_V2DFmode:
1317 : 96 : if (!vector_operand (operands[1], E_V2DFmode))
1318 : : return -1;
1319 : : return 5;
1320 : :
1321 : : default:
1322 : : return -1;
1323 : : }
1324 : :
1325 : 0 : case E_V8DImode:
1326 : 0 : if (!register_operand (operands[0], E_V8DImode)
1327 : 0 : || GET_MODE (x1) != E_V8DImode)
1328 : : return -1;
1329 : 0 : switch (GET_MODE (operands[1]))
1330 : : {
1331 : 0 : case E_V8DFmode:
1332 : 0 : if (!vector_operand (operands[1], E_V8DFmode))
1333 : : return -1;
1334 : : return 6;
1335 : :
1336 : 0 : case E_V8SFmode:
1337 : 0 : if (!vector_operand (operands[1], E_V8SFmode))
1338 : : return -1;
1339 : : return 7;
1340 : :
1341 : : default:
1342 : : return -1;
1343 : : }
1344 : :
1345 : 0 : case E_V4DImode:
1346 : 0 : if (!register_operand (operands[0], E_V4DImode)
1347 : 0 : || GET_MODE (x1) != E_V4DImode)
1348 : : return -1;
1349 : 0 : switch (GET_MODE (operands[1]))
1350 : : {
1351 : 0 : case E_V4DFmode:
1352 : 0 : if (!vector_operand (operands[1], E_V4DFmode))
1353 : : return -1;
1354 : : return 8;
1355 : :
1356 : 0 : case E_V4SFmode:
1357 : 0 : if (!vector_operand (operands[1], E_V4SFmode))
1358 : : return -1;
1359 : : return 9;
1360 : :
1361 : : default:
1362 : : return -1;
1363 : : }
1364 : :
1365 : 212 : case E_V2DImode:
1366 : 212 : if (!register_operand (operands[0], E_V2DImode)
1367 : 212 : || GET_MODE (x1) != E_V2DImode)
1368 : : return -1;
1369 : 192 : switch (GET_MODE (operands[1]))
1370 : : {
1371 : 96 : case E_V2DFmode:
1372 : 96 : if (!vector_operand (operands[1], E_V2DFmode))
1373 : : return -1;
1374 : : return 10;
1375 : :
1376 : 96 : case E_V4SFmode:
1377 : 96 : if (!vector_operand (operands[1], E_V4SFmode))
1378 : : return -1;
1379 : : return 11;
1380 : :
1381 : : default:
1382 : : return -1;
1383 : : }
1384 : :
1385 : : default:
1386 : : return -1;
1387 : : }
1388 : : }
1389 : :
1390 : : int
1391 : 25681 : pattern342 (rtx x1)
1392 : : {
1393 : 25681 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1394 : 25681 : rtx x2;
1395 : 25681 : int res ATTRIBUTE_UNUSED;
1396 : 25681 : switch (GET_MODE (operands[0]))
1397 : : {
1398 : 1026 : case E_HImode:
1399 : 1026 : if (!register_operand (operands[0], E_HImode)
1400 : 1026 : || GET_MODE (x1) != E_HImode)
1401 : : return -1;
1402 : 1026 : x2 = XEXP (x1, 0);
1403 : 1026 : if (GET_MODE (x2) != E_QImode
1404 : 1026 : || !nonimmediate_operand (operands[1], E_QImode)
1405 : 2050 : || !x86_64_general_operand (operands[2], E_QImode))
1406 : 2 : return -1;
1407 : : return 0;
1408 : :
1409 : 3008 : case E_SImode:
1410 : 3008 : if (!register_operand (operands[0], E_SImode)
1411 : 3008 : || GET_MODE (x1) != E_SImode)
1412 : : return -1;
1413 : 3006 : x2 = XEXP (x1, 0);
1414 : 3006 : switch (GET_MODE (x2))
1415 : : {
1416 : 2507 : case E_QImode:
1417 : 2507 : if (!nonimmediate_operand (operands[1], E_QImode)
1418 : 2507 : || !x86_64_general_operand (operands[2], E_QImode))
1419 : 16 : return -1;
1420 : : return 1;
1421 : :
1422 : 499 : case E_HImode:
1423 : 499 : if (!nonimmediate_operand (operands[1], E_HImode)
1424 : 499 : || !x86_64_general_operand (operands[2], E_HImode))
1425 : 49 : return -1;
1426 : : return 2;
1427 : :
1428 : : default:
1429 : : return -1;
1430 : : }
1431 : :
1432 : 21635 : case E_DImode:
1433 : 21635 : if (!register_operand (operands[0], E_DImode)
1434 : 21635 : || GET_MODE (x1) != E_DImode)
1435 : : return -1;
1436 : 21620 : x2 = XEXP (x1, 0);
1437 : 21620 : switch (GET_MODE (x2))
1438 : : {
1439 : 445 : case E_QImode:
1440 : 445 : if (!nonimmediate_operand (operands[1], E_QImode)
1441 : 445 : || !x86_64_general_operand (operands[2], E_QImode))
1442 : 0 : return -1;
1443 : : return 3;
1444 : :
1445 : 271 : case E_HImode:
1446 : 271 : if (!nonimmediate_operand (operands[1], E_HImode)
1447 : 271 : || !x86_64_general_operand (operands[2], E_HImode))
1448 : 0 : return -1;
1449 : : return 4;
1450 : :
1451 : 20904 : case E_SImode:
1452 : 20904 : if (!nonimmediate_operand (operands[1], E_SImode)
1453 : 20904 : || !x86_64_general_operand (operands[2], E_SImode))
1454 : 2960 : return -1;
1455 : : return 5;
1456 : :
1457 : : default:
1458 : : return -1;
1459 : : }
1460 : :
1461 : : default:
1462 : : return -1;
1463 : : }
1464 : : }
1465 : :
1466 : : int
1467 : 20434 : pattern359 (rtx x1)
1468 : : {
1469 : 20434 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1470 : 20434 : rtx x2, x3, x4, x5, x6;
1471 : 20434 : int res ATTRIBUTE_UNUSED;
1472 : 20434 : x2 = XEXP (x1, 0);
1473 : 20434 : operands[0] = x2;
1474 : 20434 : x3 = XEXP (x1, 1);
1475 : 20434 : x4 = XEXP (x3, 0);
1476 : 20434 : x5 = XEXP (x4, 0);
1477 : 20434 : operands[2] = x5;
1478 : 20434 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1479 : : return -1;
1480 : 2484 : x6 = XEXP (x3, 1);
1481 : 2484 : operands[1] = x6;
1482 : 2484 : switch (GET_MODE (operands[0]))
1483 : : {
1484 : 51 : case E_QImode:
1485 : 51 : return pattern357 (x3,
1486 : 51 : E_QImode); /* [-1, 0] */
1487 : :
1488 : 12 : case E_HImode:
1489 : 12 : if (pattern357 (x3,
1490 : : E_HImode) != 0)
1491 : : return -1;
1492 : : return 1;
1493 : :
1494 : 1580 : case E_SImode:
1495 : 1580 : if (pattern358 (x3,
1496 : : E_SImode) != 0)
1497 : : return -1;
1498 : : return 2;
1499 : :
1500 : 841 : case E_DImode:
1501 : 841 : if (pattern358 (x3,
1502 : : E_DImode) != 0)
1503 : : return -1;
1504 : : return 3;
1505 : :
1506 : : default:
1507 : : return -1;
1508 : : }
1509 : : }
1510 : :
1511 : : int
1512 : 103834 : pattern368 (rtx x1)
1513 : : {
1514 : 103834 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1515 : 103834 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1516 : 103834 : int res ATTRIBUTE_UNUSED;
1517 : 103834 : x2 = XVECEXP (x1, 0, 0);
1518 : 103834 : x3 = XEXP (x2, 1);
1519 : 103834 : x4 = XEXP (x3, 0);
1520 : 103834 : if (GET_MODE (x4) != E_DImode)
1521 : : return -1;
1522 : 43961 : x5 = XVECEXP (x1, 0, 1);
1523 : 43961 : if (GET_CODE (x5) != CLOBBER)
1524 : : return -1;
1525 : 42424 : x6 = XEXP (x5, 0);
1526 : 42424 : if (GET_CODE (x6) != REG
1527 : 42424 : || REGNO (x6) != 17
1528 : 84848 : || GET_MODE (x6) != E_CCmode)
1529 : : return -1;
1530 : 42424 : x7 = XEXP (x2, 0);
1531 : 42424 : operands[0] = x7;
1532 : 42424 : if (!register_operand (operands[0], E_DImode)
1533 : 42424 : || GET_MODE (x3) != E_DImode)
1534 : : return -1;
1535 : 42422 : x8 = XEXP (x4, 0);
1536 : 42422 : operands[1] = x8;
1537 : 42422 : if (!nonimmediate_operand (operands[1], E_SImode))
1538 : : return -1;
1539 : 16256 : x9 = XEXP (x3, 1);
1540 : 16256 : operands[2] = x9;
1541 : 16256 : if (!x86_64_zext_immediate_operand (operands[2], E_DImode))
1542 : : return -1;
1543 : : return 0;
1544 : : }
1545 : :
1546 : : int
1547 : 642 : pattern376 (rtx x1)
1548 : : {
1549 : 642 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1550 : 642 : rtx x2, x3, x4, x5, x6, x7, x8;
1551 : 642 : int res ATTRIBUTE_UNUSED;
1552 : 642 : x2 = XVECEXP (x1, 0, 0);
1553 : 642 : x3 = XEXP (x2, 0);
1554 : 642 : operands[0] = x3;
1555 : 642 : x4 = XEXP (x2, 1);
1556 : 642 : x5 = XEXP (x4, 0);
1557 : 642 : x6 = XEXP (x5, 0);
1558 : 642 : operands[1] = x6;
1559 : 642 : x7 = XVECEXP (x1, 0, 1);
1560 : 642 : switch (GET_CODE (x7))
1561 : : {
1562 : 454 : case CLOBBER:
1563 : 454 : x8 = XEXP (x7, 0);
1564 : 454 : if (GET_CODE (x8) != REG
1565 : 454 : || REGNO (x8) != 17
1566 : 905 : || GET_MODE (x8) != E_CCmode)
1567 : : return -1;
1568 : 451 : switch (GET_MODE (operands[0]))
1569 : : {
1570 : 16 : case E_DImode:
1571 : 16 : return pattern375 (x4,
1572 : 16 : E_DImode); /* [-1, 0] */
1573 : :
1574 : 0 : case E_TImode:
1575 : 0 : if (pattern375 (x4,
1576 : : E_TImode) != 0)
1577 : : return -1;
1578 : : return 1;
1579 : :
1580 : 0 : case E_QImode:
1581 : 0 : if (pattern375 (x4,
1582 : : E_QImode) != 0)
1583 : : return -1;
1584 : : return 2;
1585 : :
1586 : 0 : case E_HImode:
1587 : 0 : if (pattern375 (x4,
1588 : : E_HImode) != 0)
1589 : : return -1;
1590 : : return 3;
1591 : :
1592 : 190 : case E_SImode:
1593 : 190 : if (pattern375 (x4,
1594 : : E_SImode) != 0)
1595 : : return -1;
1596 : : return 4;
1597 : :
1598 : : default:
1599 : : return -1;
1600 : : }
1601 : :
1602 : 5 : case USE:
1603 : 5 : x8 = XEXP (x7, 0);
1604 : 5 : operands[2] = x8;
1605 : 5 : return 5;
1606 : :
1607 : : default:
1608 : : return -1;
1609 : : }
1610 : : }
1611 : :
1612 : : int
1613 : 459 : pattern395 (rtx x1, machine_mode i1)
1614 : : {
1615 : 459 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1616 : 459 : rtx x2;
1617 : 459 : int res ATTRIBUTE_UNUSED;
1618 : 459 : if (!register_operand (operands[0], i1)
1619 : 459 : || GET_MODE (x1) != i1)
1620 : : return -1;
1621 : 443 : x2 = XEXP (x1, 0);
1622 : 443 : if (GET_MODE (x2) != i1
1623 : 443 : || !register_no_SP_operand (operands[1], i1)
1624 : 886 : || !nonmemory_operand (operands[3], i1))
1625 : 0 : return -1;
1626 : : return 0;
1627 : : }
1628 : :
1629 : : int
1630 : 815 : pattern402 (rtx x1)
1631 : : {
1632 : 815 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1633 : 815 : rtx x2, x3, x4;
1634 : 815 : int res ATTRIBUTE_UNUSED;
1635 : 815 : x2 = XEXP (x1, 0);
1636 : 815 : x3 = XEXP (x2, 0);
1637 : 815 : operands[1] = x3;
1638 : 815 : x4 = XEXP (x2, 1);
1639 : 815 : operands[2] = x4;
1640 : 815 : switch (GET_MODE (operands[0]))
1641 : : {
1642 : 3 : case E_HImode:
1643 : 3 : if (!register_operand (operands[0], E_HImode)
1644 : 3 : || GET_MODE (x1) != E_HImode
1645 : 3 : || GET_MODE (x2) != E_QImode
1646 : 3 : || !memory_operand (operands[1], E_QImode)
1647 : 6 : || !const_int_operand (operands[2], E_QImode))
1648 : 0 : return -1;
1649 : : return 0;
1650 : :
1651 : 413 : case E_SImode:
1652 : 413 : if (!register_operand (operands[0], E_SImode)
1653 : 413 : || GET_MODE (x1) != E_SImode)
1654 : : return -1;
1655 : 267 : switch (GET_MODE (x2))
1656 : : {
1657 : 114 : case E_QImode:
1658 : 114 : if (!memory_operand (operands[1], E_QImode)
1659 : 114 : || !const_int_operand (operands[2], E_QImode))
1660 : 83 : return -1;
1661 : : return 1;
1662 : :
1663 : 153 : case E_HImode:
1664 : 153 : if (!memory_operand (operands[1], E_HImode)
1665 : 153 : || !const_int_operand (operands[2], E_HImode))
1666 : 141 : return -1;
1667 : : return 2;
1668 : :
1669 : : default:
1670 : : return -1;
1671 : : }
1672 : :
1673 : 381 : case E_DImode:
1674 : 381 : if (!register_operand (operands[0], E_DImode)
1675 : 381 : || GET_MODE (x1) != E_DImode)
1676 : : return -1;
1677 : 375 : switch (GET_MODE (x2))
1678 : : {
1679 : 7 : case E_QImode:
1680 : 7 : if (!memory_operand (operands[1], E_QImode)
1681 : 7 : || !const_int_operand (operands[2], E_QImode))
1682 : 4 : return -1;
1683 : : return 3;
1684 : :
1685 : 4 : case E_HImode:
1686 : 4 : if (!memory_operand (operands[1], E_HImode)
1687 : 4 : || !const_int_operand (operands[2], E_HImode))
1688 : 1 : return -1;
1689 : : return 4;
1690 : :
1691 : 364 : case E_SImode:
1692 : 364 : if (!memory_operand (operands[1], E_SImode)
1693 : 364 : || !const_int_operand (operands[2], E_SImode))
1694 : 350 : return -1;
1695 : : return 5;
1696 : :
1697 : : default:
1698 : : return -1;
1699 : : }
1700 : :
1701 : : default:
1702 : : return -1;
1703 : : }
1704 : : }
1705 : :
1706 : : int
1707 : 5161 : pattern426 (rtx x1, machine_mode i1)
1708 : : {
1709 : 5161 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1710 : 5161 : rtx x2;
1711 : 5161 : int res ATTRIBUTE_UNUSED;
1712 : 5161 : if (!register_operand (operands[0], i1)
1713 : 5161 : || GET_MODE (x1) != i1)
1714 : : return -1;
1715 : 4533 : x2 = XEXP (x1, 0);
1716 : 4533 : if (GET_MODE (x2) != i1
1717 : 4533 : || !register_no_SP_operand (operands[1], i1)
1718 : 4424 : || !register_operand (operands[2], i1)
1719 : 8569 : || !immediate_operand (operands[3], i1))
1720 : 3673 : return -1;
1721 : : return 0;
1722 : : }
1723 : :
1724 : : int
1725 : 11610184 : pattern435 (rtx x1)
1726 : : {
1727 : 11610184 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1728 : 11610184 : int res ATTRIBUTE_UNUSED;
1729 : 11610184 : switch (GET_MODE (operands[0]))
1730 : : {
1731 : 4845749 : case E_DImode:
1732 : 4845749 : if (!nonimmediate_operand (operands[0], E_DImode)
1733 : 4769848 : || GET_MODE (x1) != E_DImode
1734 : 9615597 : || !nonimmediate_operand (operands[1], E_DImode))
1735 : 354121 : return -1;
1736 : : return 0;
1737 : :
1738 : 3155692 : case E_SImode:
1739 : 3155692 : if (!nonimmediate_operand (operands[0], E_SImode)
1740 : 2097162 : || GET_MODE (x1) != E_SImode
1741 : 2097162 : || !nonimmediate_operand (operands[1], E_SImode)
1742 : 4735116 : || !x86_64_general_operand (operands[2], E_SImode))
1743 : 1657693 : return -1;
1744 : : return 1;
1745 : :
1746 : : default:
1747 : : return -1;
1748 : : }
1749 : : }
1750 : :
1751 : : int
1752 : 18866 : pattern448 (rtx x1)
1753 : : {
1754 : 18866 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1755 : 18866 : rtx x2, x3, x4;
1756 : 18866 : int res ATTRIBUTE_UNUSED;
1757 : 18866 : x2 = XEXP (x1, 1);
1758 : 18866 : x3 = XEXP (x2, 0);
1759 : 18866 : x4 = XEXP (x3, 0);
1760 : 18866 : operands[2] = x4;
1761 : 18866 : if (!int248_register_operand (operands[2], E_VOIDmode))
1762 : : return -1;
1763 : 14311 : return pattern447 (x1); /* [-1, 1] */
1764 : : }
1765 : :
1766 : : int
1767 : 56 : pattern453 (rtx x1)
1768 : : {
1769 : 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1770 : 56 : rtx x2;
1771 : 56 : int res ATTRIBUTE_UNUSED;
1772 : 56 : if (!register_operand (operands[0], E_SImode)
1773 : 56 : || GET_MODE (x1) != E_SImode)
1774 : : return -1;
1775 : 56 : x2 = XVECEXP (x1, 0, 0);
1776 : 56 : switch (GET_MODE (x2))
1777 : : {
1778 : 28 : case E_V32QImode:
1779 : 28 : if (!vector_operand (operands[1], E_V32QImode)
1780 : 28 : || !vector_operand (operands[2], E_V32QImode)
1781 : 56 : || !const0_operand (operands[3], E_V32QImode))
1782 : 14 : return -1;
1783 : : return 0;
1784 : :
1785 : 28 : case E_V32HImode:
1786 : 28 : if (!vector_operand (operands[1], E_V32HImode)
1787 : 28 : || !vector_operand (operands[2], E_V32HImode)
1788 : 56 : || !const0_operand (operands[3], E_V32HImode))
1789 : 14 : return -1;
1790 : : return 1;
1791 : :
1792 : : default:
1793 : : return -1;
1794 : : }
1795 : : }
1796 : :
1797 : : int
1798 : 460 : pattern461 (rtx x1)
1799 : : {
1800 : 460 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1801 : 460 : rtx x2, x3, x4, x5, x6;
1802 : 460 : int res ATTRIBUTE_UNUSED;
1803 : 460 : x2 = XEXP (x1, 0);
1804 : 460 : if (GET_MODE (x2) != E_V32HImode
1805 : 460 : || !register_operand (operands[0], E_V32HImode)
1806 : 896 : || GET_MODE (x1) != E_V32HImode)
1807 : 24 : return -1;
1808 : 436 : x3 = XVECEXP (x2, 0, 0);
1809 : 436 : operands[1] = x3;
1810 : 436 : if (!nonimmediate_operand (operands[1], E_V32HImode))
1811 : : return -1;
1812 : 432 : x4 = XVECEXP (x2, 0, 1);
1813 : 432 : operands[2] = x4;
1814 : 432 : if (!const_0_to_255_operand (operands[2], E_SImode))
1815 : : return -1;
1816 : 432 : x5 = XEXP (x1, 1);
1817 : 432 : operands[3] = x5;
1818 : 432 : if (!nonimm_or_0_operand (operands[3], E_V32HImode))
1819 : : return -1;
1820 : 416 : x6 = XEXP (x1, 2);
1821 : 416 : operands[4] = x6;
1822 : 416 : if (!register_operand (operands[4], E_SImode))
1823 : : return -1;
1824 : : return 0;
1825 : : }
1826 : :
1827 : : int
1828 : 2216 : pattern473 (rtx x1, machine_mode i1)
1829 : : {
1830 : 2216 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1831 : 2216 : rtx x2, x3, x4, x5, x6, x7;
1832 : 2216 : int res ATTRIBUTE_UNUSED;
1833 : 2216 : x2 = XEXP (x1, 0);
1834 : 2216 : x3 = XVECEXP (x2, 0, 0);
1835 : 2216 : operands[1] = x3;
1836 : 2216 : x4 = XVECEXP (x2, 0, 1);
1837 : 2216 : operands[2] = x4;
1838 : 2216 : x5 = XVECEXP (x2, 0, 2);
1839 : 2216 : operands[3] = x5;
1840 : 2216 : if (!const_0_to_255_operand (operands[3], i1))
1841 : : return -1;
1842 : 2216 : x6 = XEXP (x1, 1);
1843 : 2216 : operands[4] = x6;
1844 : 2216 : x7 = XEXP (x1, 2);
1845 : 2216 : operands[5] = x7;
1846 : 2216 : switch (GET_MODE (operands[0]))
1847 : : {
1848 : 658 : case E_V64QImode:
1849 : 658 : return pattern472 (x1,
1850 : : E_V64QImode,
1851 : 658 : E_DImode); /* [-1, 0] */
1852 : :
1853 : 781 : case E_V32QImode:
1854 : 781 : if (pattern472 (x1,
1855 : : E_V32QImode,
1856 : : E_SImode) != 0)
1857 : : return -1;
1858 : : return 1;
1859 : :
1860 : 777 : case E_V16QImode:
1861 : 777 : if (pattern472 (x1,
1862 : : E_V16QImode,
1863 : : E_HImode) != 0)
1864 : : return -1;
1865 : : return 2;
1866 : :
1867 : : default:
1868 : : return -1;
1869 : : }
1870 : : }
1871 : :
1872 : : int
1873 : 3168 : pattern483 (rtx x1)
1874 : : {
1875 : 3168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1876 : 3168 : rtx x2, x3, x4, x5, x6, x7;
1877 : 3168 : int res ATTRIBUTE_UNUSED;
1878 : 3168 : x2 = XEXP (x1, 0);
1879 : 3168 : x3 = XVECEXP (x2, 0, 0);
1880 : 3168 : operands[1] = x3;
1881 : 3168 : x4 = XVECEXP (x2, 0, 1);
1882 : 3168 : operands[2] = x4;
1883 : 3168 : x5 = XVECEXP (x2, 0, 2);
1884 : 3168 : operands[3] = x5;
1885 : 3168 : x6 = XEXP (x1, 1);
1886 : 3168 : switch (GET_CODE (x6))
1887 : : {
1888 : 1552 : case REG:
1889 : 1552 : case SUBREG:
1890 : 1552 : if (!rtx_equal_p (x6, operands[1]))
1891 : : return -1;
1892 : 1552 : x7 = XEXP (x1, 2);
1893 : 1552 : operands[4] = x7;
1894 : 1552 : switch (GET_MODE (operands[0]))
1895 : : {
1896 : 496 : case E_V16SImode:
1897 : 496 : return pattern479 (x1,
1898 : : E_V16SImode,
1899 : 496 : E_HImode); /* [-1, 0] */
1900 : :
1901 : 532 : case E_V8SImode:
1902 : 532 : if (pattern479 (x1,
1903 : : E_V8SImode,
1904 : : E_QImode) != 0)
1905 : : return -1;
1906 : : return 1;
1907 : :
1908 : 524 : case E_V4SImode:
1909 : 524 : if (pattern479 (x1,
1910 : : E_V4SImode,
1911 : : E_QImode) != 0)
1912 : : return -1;
1913 : : return 2;
1914 : :
1915 : : default:
1916 : : return -1;
1917 : : }
1918 : :
1919 : 1592 : case CONST_INT:
1920 : 1592 : case CONST_DOUBLE:
1921 : 1592 : case CONST_VECTOR:
1922 : 1592 : operands[4] = x6;
1923 : 1592 : x7 = XEXP (x1, 2);
1924 : 1592 : operands[5] = x7;
1925 : 1592 : switch (GET_MODE (operands[0]))
1926 : : {
1927 : 520 : case E_V16SImode:
1928 : 520 : if (pattern481 (x1,
1929 : : E_V16SImode,
1930 : : E_HImode) != 0)
1931 : : return -1;
1932 : : return 3;
1933 : :
1934 : 548 : case E_V8SImode:
1935 : 548 : if (pattern481 (x1,
1936 : : E_V8SImode,
1937 : : E_QImode) != 0)
1938 : : return -1;
1939 : : return 4;
1940 : :
1941 : 524 : case E_V4SImode:
1942 : 524 : if (pattern481 (x1,
1943 : : E_V4SImode,
1944 : : E_QImode) != 0)
1945 : : return -1;
1946 : : return 5;
1947 : :
1948 : : default:
1949 : : return -1;
1950 : : }
1951 : :
1952 : : default:
1953 : : return -1;
1954 : : }
1955 : : }
1956 : :
1957 : : int
1958 : 204 : pattern499 (rtx x1, machine_mode i1)
1959 : : {
1960 : 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1961 : 204 : int res ATTRIBUTE_UNUSED;
1962 : 204 : if (GET_MODE (x1) != E_V2HFmode
1963 : 204 : || !vector_operand (operands[1], i1)
1964 : 204 : || !const0_operand (operands[3], E_V2HFmode)
1965 : 408 : || !const0_operand (operands[4], E_V6HFmode))
1966 : 0 : return -1;
1967 : : return 0;
1968 : : }
1969 : :
1970 : : int
1971 : 1923 : pattern501 (rtx x1)
1972 : : {
1973 : 1923 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1974 : 1923 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1975 : 1923 : rtx x10, x11, x12, x13;
1976 : 1923 : int res ATTRIBUTE_UNUSED;
1977 : 1923 : x2 = XEXP (x1, 0);
1978 : 1923 : x3 = XEXP (x2, 0);
1979 : 1923 : x4 = XEXP (x3, 0);
1980 : 1923 : operands[1] = x4;
1981 : 1923 : x5 = XEXP (x1, 1);
1982 : 1923 : operands[4] = x5;
1983 : 1923 : x6 = XEXP (x2, 1);
1984 : 1923 : switch (GET_CODE (x6))
1985 : : {
1986 : 1355 : case VEC_SELECT:
1987 : 1355 : x7 = XEXP (x6, 1);
1988 : 1355 : if (GET_CODE (x7) != PARALLEL)
1989 : : return -1;
1990 : 1355 : x8 = XEXP (x6, 0);
1991 : 1355 : operands[2] = x8;
1992 : 1355 : x9 = XEXP (x2, 2);
1993 : 1355 : operands[3] = x9;
1994 : 1355 : switch (XVECLEN (x7, 0))
1995 : : {
1996 : 662 : case 4:
1997 : 662 : x10 = XVECEXP (x7, 0, 0);
1998 : 662 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1999 : : return -1;
2000 : 662 : x11 = XVECEXP (x7, 0, 1);
2001 : 662 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2002 : : return -1;
2003 : 662 : x12 = XVECEXP (x7, 0, 2);
2004 : 662 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2005 : : return -1;
2006 : 662 : x13 = XVECEXP (x7, 0, 3);
2007 : 662 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
2008 : 662 : || !register_operand (operands[0], E_V8HFmode)
2009 : 646 : || GET_MODE (x1) != E_V8HFmode
2010 : 646 : || GET_MODE (x2) != E_V4HFmode
2011 : 646 : || GET_MODE (x3) != E_V4HFmode
2012 : 646 : || GET_MODE (x6) != E_V4HFmode
2013 : 1308 : || !nonimm_or_0_operand (operands[2], E_V8HFmode))
2014 : 22 : return -1;
2015 : 640 : return pattern496 (); /* [-1, 1] */
2016 : :
2017 : 693 : case 2:
2018 : 693 : res = pattern498 (x1,
2019 : : E_V2DImode);
2020 : 693 : if (res >= 0)
2021 : 675 : return res + 2; /* [2, 3] */
2022 : : return -1;
2023 : :
2024 : : default:
2025 : : return -1;
2026 : : }
2027 : :
2028 : 568 : case CONST_INT:
2029 : 568 : case CONST_DOUBLE:
2030 : 568 : case CONST_VECTOR:
2031 : 568 : operands[3] = x6;
2032 : 568 : x9 = XEXP (x2, 2);
2033 : 568 : operands[2] = x9;
2034 : 568 : switch (GET_MODE (operands[0]))
2035 : : {
2036 : 426 : case E_V8HFmode:
2037 : 426 : if (!register_operand (operands[0], E_V8HFmode)
2038 : 426 : || GET_MODE (x1) != E_V8HFmode)
2039 : : return -1;
2040 : 408 : switch (GET_MODE (x2))
2041 : : {
2042 : 272 : case E_V4HFmode:
2043 : 272 : if (GET_MODE (x3) != E_V4HFmode
2044 : 272 : || !const0_operand (operands[3], E_V4HFmode))
2045 : 0 : return -1;
2046 : 272 : res = pattern496 ();
2047 : 272 : if (res >= 0)
2048 : 272 : return res + 4; /* [4, 5] */
2049 : : return -1;
2050 : :
2051 : 136 : case E_V2HFmode:
2052 : 136 : if (pattern499 (x3,
2053 : : E_V2DImode) != 0)
2054 : : return -1;
2055 : : return 6;
2056 : :
2057 : : default:
2058 : : return -1;
2059 : : }
2060 : :
2061 : 142 : case E_V4SFmode:
2062 : 142 : if (pattern500 (x1,
2063 : : E_V2DImode) != 0)
2064 : : return -1;
2065 : : return 7;
2066 : :
2067 : : default:
2068 : : return -1;
2069 : : }
2070 : :
2071 : : default:
2072 : : return -1;
2073 : : }
2074 : : }
2075 : :
2076 : : int
2077 : 6 : pattern526 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2078 : : {
2079 : 6 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2080 : 6 : rtx x2, x3;
2081 : 6 : int res ATTRIBUTE_UNUSED;
2082 : 6 : if (!nonimmediate_operand (operands[0], i3)
2083 : 6 : || GET_MODE (x1) != i3)
2084 : : return -1;
2085 : 6 : x2 = XEXP (x1, 0);
2086 : 6 : if (GET_MODE (x2) != i2)
2087 : : return -1;
2088 : 6 : x3 = XEXP (x2, 0);
2089 : 6 : if (GET_MODE (x3) != i1
2090 : 6 : || !register_operand (operands[1], i1)
2091 : 12 : || !permvar_truncate_operand (operands[2], i1))
2092 : 2 : return -1;
2093 : : return 0;
2094 : : }
2095 : :
2096 : : int
2097 : 9661 : pattern534 (rtx x1, machine_mode i1)
2098 : : {
2099 : 9661 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2100 : 9661 : rtx x2, x3;
2101 : 9661 : int res ATTRIBUTE_UNUSED;
2102 : 9661 : if (!register_operand (operands[0], i1)
2103 : 9661 : || GET_MODE (x1) != i1)
2104 : : return -1;
2105 : 9661 : x2 = XEXP (x1, 0);
2106 : 9661 : if (GET_MODE (x2) != i1)
2107 : : return -1;
2108 : 9661 : x3 = XEXP (x2, 0);
2109 : 9661 : if (GET_MODE (x3) != i1
2110 : 9661 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2111 : 9341 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
2112 : 9341 : || !regmem_or_bitnot_regmem_operand (operands[3], i1)
2113 : 19002 : || !regmem_or_bitnot_regmem_operand (operands[4], i1))
2114 : 320 : return -1;
2115 : : return 0;
2116 : : }
2117 : :
2118 : : int
2119 : 19219 : pattern539 (rtx x1)
2120 : : {
2121 : 19219 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2122 : 19219 : int res ATTRIBUTE_UNUSED;
2123 : 19219 : switch (GET_MODE (operands[0]))
2124 : : {
2125 : 18816 : case E_V8HImode:
2126 : 18816 : if (!register_operand (operands[0], E_V8HImode)
2127 : 18816 : || GET_MODE (x1) != E_V8HImode)
2128 : : return -1;
2129 : : return 0;
2130 : :
2131 : 239 : case E_V8SImode:
2132 : 239 : if (!register_operand (operands[0], E_V8SImode)
2133 : 239 : || GET_MODE (x1) != E_V8SImode)
2134 : : return -1;
2135 : : return 1;
2136 : :
2137 : 164 : case E_V8DImode:
2138 : 164 : if (!register_operand (operands[0], E_V8DImode)
2139 : 164 : || GET_MODE (x1) != E_V8DImode)
2140 : : return -1;
2141 : : return 2;
2142 : :
2143 : : default:
2144 : : return -1;
2145 : : }
2146 : : }
2147 : :
2148 : : int
2149 : 81364 : pattern541 (rtx x1)
2150 : : {
2151 : 81364 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2152 : 81364 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2153 : 81364 : rtx x10, x11;
2154 : 81364 : int res ATTRIBUTE_UNUSED;
2155 : 81364 : x2 = XEXP (x1, 0);
2156 : 81364 : x3 = XEXP (x2, 1);
2157 : 81364 : switch (XVECLEN (x3, 0))
2158 : : {
2159 : 25422 : case 8:
2160 : 25422 : x4 = XVECEXP (x3, 0, 0);
2161 : 25422 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2162 : : return -1;
2163 : 24047 : x5 = XVECEXP (x3, 0, 1);
2164 : 24047 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2165 : : return -1;
2166 : 24047 : x6 = XVECEXP (x3, 0, 2);
2167 : 24047 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2168 : : return -1;
2169 : 24047 : x7 = XVECEXP (x3, 0, 3);
2170 : 24047 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2171 : : return -1;
2172 : 24047 : x8 = XVECEXP (x3, 0, 4);
2173 : 24047 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2174 : : return -1;
2175 : 24047 : x9 = XVECEXP (x3, 0, 5);
2176 : 24047 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2177 : : return -1;
2178 : 24047 : x10 = XVECEXP (x3, 0, 6);
2179 : 24047 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2180 : : return -1;
2181 : 24047 : x11 = XVECEXP (x3, 0, 7);
2182 : 24047 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2183 : 24047 : || GET_MODE (x2) != E_V8QImode
2184 : 46781 : || !register_operand (operands[1], E_V16QImode))
2185 : 4837 : return -1;
2186 : 19210 : return pattern539 (x1); /* [-1, 2] */
2187 : :
2188 : 15033 : case 4:
2189 : 15033 : x4 = XVECEXP (x3, 0, 0);
2190 : 15033 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2191 : : return -1;
2192 : 14058 : x5 = XVECEXP (x3, 0, 1);
2193 : 14058 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2194 : : return -1;
2195 : 14058 : x6 = XVECEXP (x3, 0, 2);
2196 : 14058 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2197 : : return -1;
2198 : 14058 : x7 = XVECEXP (x3, 0, 3);
2199 : 14058 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2200 : : return -1;
2201 : 14058 : switch (GET_MODE (operands[0]))
2202 : : {
2203 : 12327 : case E_V4SImode:
2204 : 12327 : res = pattern540 (x1,
2205 : : E_V4SImode);
2206 : 12327 : if (res >= 0)
2207 : 9074 : return res + 3; /* [3, 4] */
2208 : : return -1;
2209 : :
2210 : 1393 : case E_V4DImode:
2211 : 1393 : res = pattern540 (x1,
2212 : : E_V4DImode);
2213 : 1393 : if (res >= 0)
2214 : 376 : return res + 5; /* [5, 6] */
2215 : : return -1;
2216 : :
2217 : : default:
2218 : : return -1;
2219 : : }
2220 : :
2221 : 8608 : case 2:
2222 : 8608 : x4 = XVECEXP (x3, 0, 0);
2223 : 8608 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2224 : : return -1;
2225 : 8608 : x5 = XVECEXP (x3, 0, 1);
2226 : 8608 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2227 : 8539 : || !register_operand (operands[0], E_V2DImode)
2228 : 14759 : || GET_MODE (x1) != E_V2DImode)
2229 : 2457 : return -1;
2230 : 6151 : switch (GET_MODE (x2))
2231 : : {
2232 : 260 : case E_V2QImode:
2233 : 260 : if (!register_operand (operands[1], E_V16QImode))
2234 : : return -1;
2235 : : return 7;
2236 : :
2237 : 208 : case E_V2HImode:
2238 : 208 : if (!register_operand (operands[1], E_V8HImode))
2239 : : return -1;
2240 : : return 8;
2241 : :
2242 : 5683 : case E_V2SImode:
2243 : 5683 : if (!register_operand (operands[1], E_V4SImode))
2244 : : return -1;
2245 : : return 9;
2246 : :
2247 : : default:
2248 : : return -1;
2249 : : }
2250 : :
2251 : : default:
2252 : : return -1;
2253 : : }
2254 : : }
2255 : :
2256 : : int
2257 : 5410 : pattern569 (rtx x1)
2258 : : {
2259 : 5410 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2260 : 5410 : rtx x2, x3, x4, x5;
2261 : 5410 : int res ATTRIBUTE_UNUSED;
2262 : 5410 : x2 = XVECEXP (x1, 0, 1);
2263 : 5410 : if (XVECLEN (x2, 0) != 1
2264 : 5410 : || XINT (x2, 1) != 174)
2265 : : return -1;
2266 : 5407 : x3 = XVECEXP (x2, 0, 0);
2267 : 5407 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2268 : : return -1;
2269 : 5407 : switch (GET_MODE (operands[0]))
2270 : : {
2271 : 4201 : case E_QImode:
2272 : 4201 : x4 = XVECEXP (x1, 0, 0);
2273 : 4201 : x5 = XEXP (x4, 1);
2274 : 4201 : return pattern568 (x5,
2275 : 4201 : E_QImode); /* [-1, 0] */
2276 : :
2277 : 818 : case E_HImode:
2278 : 818 : x4 = XVECEXP (x1, 0, 0);
2279 : 818 : x5 = XEXP (x4, 1);
2280 : 818 : if (pattern568 (x5,
2281 : : E_HImode) != 0)
2282 : : return -1;
2283 : : return 1;
2284 : :
2285 : 193 : case E_SImode:
2286 : 193 : x4 = XVECEXP (x1, 0, 0);
2287 : 193 : x5 = XEXP (x4, 1);
2288 : 193 : if (pattern568 (x5,
2289 : : E_SImode) != 0)
2290 : : return -1;
2291 : : return 2;
2292 : :
2293 : 195 : case E_DImode:
2294 : 195 : x4 = XVECEXP (x1, 0, 0);
2295 : 195 : x5 = XEXP (x4, 1);
2296 : 195 : if (pattern568 (x5,
2297 : : E_DImode) != 0)
2298 : : return -1;
2299 : : return 3;
2300 : :
2301 : : default:
2302 : : return -1;
2303 : : }
2304 : : }
2305 : :
2306 : : int
2307 : 834 : pattern584 (rtx x1)
2308 : : {
2309 : 834 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2310 : 834 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2311 : 834 : int res ATTRIBUTE_UNUSED;
2312 : 834 : x2 = XVECEXP (x1, 0, 0);
2313 : 834 : x3 = XEXP (x2, 1);
2314 : 834 : x4 = XEXP (x3, 0);
2315 : 834 : x5 = XEXP (x4, 0);
2316 : 834 : x6 = XEXP (x5, 0);
2317 : 834 : x7 = XEXP (x6, 0);
2318 : 834 : operands[1] = x7;
2319 : 834 : if (!int248_register_operand (operands[1], E_VOIDmode))
2320 : : return -1;
2321 : 834 : x8 = XEXP (x4, 1);
2322 : 834 : operands[2] = x8;
2323 : 834 : if (!general_operand (operands[2], E_QImode))
2324 : : return -1;
2325 : 834 : x9 = XVECEXP (x1, 0, 1);
2326 : 834 : return pattern583 (x9); /* [-1, 2] */
2327 : : }
2328 : :
2329 : : int
2330 : 49 : pattern588 (rtx x1)
2331 : : {
2332 : 49 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2333 : 49 : rtx x2, x3;
2334 : 49 : int res ATTRIBUTE_UNUSED;
2335 : 49 : x2 = XVECEXP (x1, 0, 1);
2336 : 49 : if (GET_CODE (x2) != CLOBBER)
2337 : : return -1;
2338 : 49 : x3 = XEXP (x2, 0);
2339 : 49 : if (GET_CODE (x3) != REG
2340 : 49 : || REGNO (x3) != 17
2341 : 98 : || GET_MODE (x3) != E_CCmode)
2342 : : return -1;
2343 : 49 : return pattern220 (x1); /* [-1, 1] */
2344 : : }
2345 : :
2346 : : int
2347 : 23759 : pattern591 (rtx x1)
2348 : : {
2349 : 23759 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2350 : 23759 : rtx x2, x3, x4, x5, x6;
2351 : 23759 : int res ATTRIBUTE_UNUSED;
2352 : 23759 : x2 = XVECEXP (x1, 0, 0);
2353 : 23759 : if (GET_CODE (x2) != US_MINUS)
2354 : : return -1;
2355 : 36 : x3 = XEXP (x2, 0);
2356 : 36 : operands[1] = x3;
2357 : 36 : x4 = XEXP (x2, 1);
2358 : 36 : operands[2] = x4;
2359 : 36 : x5 = XVECEXP (x1, 0, 1);
2360 : 36 : operands[3] = x5;
2361 : 36 : x6 = XVECEXP (x1, 0, 2);
2362 : 36 : operands[4] = x6;
2363 : 36 : if (!const_0_to_7_operand (operands[4], E_SImode))
2364 : : return -1;
2365 : 36 : switch (GET_MODE (operands[0]))
2366 : : {
2367 : 6 : case E_DImode:
2368 : 6 : return pattern418 (x1,
2369 : : E_V64QImode,
2370 : 6 : E_DImode); /* [-1, 0] */
2371 : :
2372 : 12 : case E_HImode:
2373 : 12 : res = pattern417 (x1);
2374 : 12 : if (res >= 0)
2375 : 12 : return res + 1; /* [1, 2] */
2376 : : return -1;
2377 : :
2378 : 12 : case E_SImode:
2379 : 12 : res = pattern453 (x1);
2380 : 12 : if (res >= 0)
2381 : 12 : return res + 3; /* [3, 4] */
2382 : : return -1;
2383 : :
2384 : 6 : case E_QImode:
2385 : 6 : if (pattern418 (x1,
2386 : : E_V8HImode,
2387 : : E_QImode) != 0)
2388 : : return -1;
2389 : : return 5;
2390 : :
2391 : : default:
2392 : : return -1;
2393 : : }
2394 : : }
2395 : :
2396 : : int
2397 : 22633 : pattern601 (rtx x1)
2398 : : {
2399 : 22633 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2400 : 22633 : rtx x2;
2401 : 22633 : int res ATTRIBUTE_UNUSED;
2402 : 22633 : if (GET_CODE (x1) != SUBREG
2403 : 5289 : || maybe_ne (SUBREG_BYTE (x1), 0)
2404 : 27922 : || GET_MODE (x1) != E_QImode)
2405 : : return -1;
2406 : 5289 : x2 = XEXP (x1, 0);
2407 : 5289 : switch (GET_CODE (x2))
2408 : : {
2409 : : case SIGN_EXTRACT:
2410 : : case ZERO_EXTRACT:
2411 : : return 0;
2412 : :
2413 : : default:
2414 : : return -1;
2415 : : }
2416 : : }
2417 : :
2418 : : int
2419 : 45221 : pattern606 (rtx x1, machine_mode i1, machine_mode i2)
2420 : : {
2421 : 45221 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2422 : 45221 : rtx x2, x3, x4;
2423 : 45221 : int res ATTRIBUTE_UNUSED;
2424 : 45221 : x2 = XEXP (x1, 1);
2425 : 45221 : if (GET_MODE (x2) != i2
2426 : 1465 : || !nonimmediate_operand (operands[0], i2)
2427 : 46686 : || GET_MODE (x1) != i2)
2428 : 43756 : return -1;
2429 : 1465 : x3 = XEXP (x1, 0);
2430 : 1465 : if (GET_MODE (x3) != i2
2431 : 1465 : || !register_operand (operands[1], i2)
2432 : 2930 : || !const_int_operand (operands[2], E_QImode))
2433 : 12 : return -1;
2434 : 1453 : x4 = XEXP (x2, 0);
2435 : 1453 : operands[3] = x4;
2436 : 1453 : if (!nonimmediate_operand (operands[3], i1))
2437 : : return -1;
2438 : : return 0;
2439 : : }
2440 : :
2441 : : int
2442 : 48792 : pattern613 (rtx x1, machine_mode i1)
2443 : : {
2444 : 48792 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2445 : 48792 : rtx x2;
2446 : 48792 : int res ATTRIBUTE_UNUSED;
2447 : 48792 : if (!register_operand (operands[0], i1)
2448 : 48792 : || GET_MODE (x1) != i1)
2449 : : return -1;
2450 : 48583 : x2 = XEXP (x1, 0);
2451 : 48583 : if (GET_MODE (x2) != i1
2452 : 48583 : || !register_operand (operands[1], i1)
2453 : 96692 : || !vector_operand (operands[2], i1))
2454 : 815 : return -1;
2455 : : return 0;
2456 : : }
2457 : :
2458 : : int
2459 : 717 : pattern620 (rtx x1, machine_mode i1)
2460 : : {
2461 : 717 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2462 : 717 : rtx x2, x3;
2463 : 717 : int res ATTRIBUTE_UNUSED;
2464 : 717 : if (!register_operand (operands[0], i1)
2465 : 717 : || GET_MODE (x1) != i1)
2466 : : return -1;
2467 : 697 : x2 = XEXP (x1, 0);
2468 : 697 : if (GET_MODE (x2) != i1)
2469 : : return -1;
2470 : 697 : x3 = XEXP (x2, 0);
2471 : 697 : if (GET_MODE (x3) != i1
2472 : 697 : || !nonimmediate_operand (operands[1], i1))
2473 : 6 : return -1;
2474 : : return 0;
2475 : : }
2476 : :
2477 : : int
2478 : 888 : pattern628 (rtx x1, machine_mode i1)
2479 : : {
2480 : 888 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2481 : 888 : rtx x2;
2482 : 888 : int res ATTRIBUTE_UNUSED;
2483 : 888 : if (!register_operand (operands[0], i1)
2484 : 888 : || GET_MODE (x1) != i1)
2485 : : return -1;
2486 : 836 : x2 = XEXP (x1, 0);
2487 : 836 : if (GET_MODE (x2) != i1
2488 : 836 : || !nonimmediate_operand (operands[1], i1)
2489 : 1618 : || !register_operand (operands[2], i1))
2490 : 138 : return -1;
2491 : : return 0;
2492 : : }
2493 : :
2494 : : int
2495 : 7625 : pattern633 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2496 : : {
2497 : 7625 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2498 : 7625 : rtx x2;
2499 : 7625 : int res ATTRIBUTE_UNUSED;
2500 : 7625 : if (!register_operand (operands[0], i1)
2501 : 7625 : || GET_MODE (x1) != i1)
2502 : : return -1;
2503 : 7507 : x2 = XEXP (x1, 0);
2504 : 7507 : if (GET_MODE (x2) != i1
2505 : 7507 : || !vector_operand (operands[1], i3)
2506 : 7505 : || !nonimm_or_0_operand (operands[2], i1)
2507 : 15004 : || !register_operand (operands[3], i2))
2508 : 506 : return -1;
2509 : : return 0;
2510 : : }
2511 : :
2512 : : int
2513 : 21175 : pattern639 (rtx x1)
2514 : : {
2515 : 21175 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2516 : 21175 : rtx x2, x3, x4;
2517 : 21175 : int res ATTRIBUTE_UNUSED;
2518 : 21175 : x2 = XEXP (x1, 0);
2519 : 21175 : x3 = XEXP (x2, 2);
2520 : 21175 : switch (GET_CODE (x3))
2521 : : {
2522 : 10688 : case REG:
2523 : 10688 : case SUBREG:
2524 : 10688 : case MEM:
2525 : 10688 : case VEC_DUPLICATE:
2526 : 10688 : operands[3] = x3;
2527 : 10688 : return pattern638 (x1); /* [-1, 28] */
2528 : :
2529 : 9920 : case NEG:
2530 : 9920 : x4 = XEXP (x3, 0);
2531 : 9920 : operands[3] = x4;
2532 : 9920 : return 29;
2533 : :
2534 : : default:
2535 : : return -1;
2536 : : }
2537 : : }
2538 : :
2539 : : int
2540 : 322 : pattern642 (rtx x1, machine_mode i1)
2541 : : {
2542 : 322 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2543 : 322 : int res ATTRIBUTE_UNUSED;
2544 : 322 : if (!register_operand (operands[0], i1)
2545 : 322 : || GET_MODE (x1) != i1)
2546 : : return -1;
2547 : 297 : switch (GET_MODE (operands[1]))
2548 : : {
2549 : 146 : case E_V16HFmode:
2550 : 146 : if (!vector_operand (operands[1], E_V16HFmode))
2551 : : return -1;
2552 : : return 0;
2553 : :
2554 : 151 : case E_V16SFmode:
2555 : 151 : if (!vector_operand (operands[1], E_V16SFmode))
2556 : : return -1;
2557 : : return 1;
2558 : :
2559 : : default:
2560 : : return -1;
2561 : : }
2562 : : }
2563 : :
2564 : : int
2565 : 3140 : pattern647 (rtx x1, machine_mode i1)
2566 : : {
2567 : 3140 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2568 : 3140 : rtx x2, x3;
2569 : 3140 : int res ATTRIBUTE_UNUSED;
2570 : 3140 : if (!register_operand (operands[0], i1)
2571 : 3140 : || GET_MODE (x1) != i1)
2572 : : return -1;
2573 : 3076 : x2 = XVECEXP (x1, 0, 0);
2574 : 3076 : if (GET_MODE (x2) != i1)
2575 : : return -1;
2576 : 3076 : x3 = XEXP (x2, 0);
2577 : 3076 : if (GET_MODE (x3) != i1
2578 : 3076 : || !register_operand (operands[1], i1)
2579 : 5960 : || !nonimmediate_operand (operands[2], i1))
2580 : 324 : return -1;
2581 : : return 0;
2582 : : }
2583 : :
2584 : : int
2585 : 3478 : pattern652 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2586 : : {
2587 : 3478 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2588 : 3478 : rtx x2, x3;
2589 : 3478 : int res ATTRIBUTE_UNUSED;
2590 : 3478 : if (!register_operand (operands[0], i1)
2591 : 3478 : || GET_MODE (x1) != i1)
2592 : : return -1;
2593 : 3381 : x2 = XVECEXP (x1, 0, 0);
2594 : 3381 : if (GET_MODE (x2) != i1)
2595 : : return -1;
2596 : 3381 : x3 = XEXP (x2, 0);
2597 : 3381 : if (GET_MODE (x3) != i1
2598 : 3381 : || !register_operand (operands[1], i2)
2599 : 3354 : || !nonimm_or_0_operand (operands[2], i1)
2600 : 6724 : || !register_operand (operands[3], i3))
2601 : 157 : return -1;
2602 : : return 0;
2603 : : }
2604 : :
2605 : : int
2606 : 172 : pattern657 (rtx x1, machine_mode i1)
2607 : : {
2608 : 172 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2609 : 172 : rtx x2;
2610 : 172 : int res ATTRIBUTE_UNUSED;
2611 : 172 : if (!register_operand (operands[0], i1)
2612 : 169 : || GET_MODE (x1) != i1
2613 : 169 : || !register_operand (operands[1], i1)
2614 : 331 : || !vector_operand (operands[2], i1))
2615 : 18 : return -1;
2616 : 154 : x2 = XVECEXP (x1, 0, 2);
2617 : 154 : if (GET_MODE (x2) != i1
2618 : 154 : || !register_operand (operands[3], i1)
2619 : 300 : || !const0_operand (operands[4], i1))
2620 : 8 : return -1;
2621 : : return 0;
2622 : : }
2623 : :
2624 : : int
2625 : 903 : pattern663 (rtx x1)
2626 : : {
2627 : 903 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2628 : 903 : rtx x2, x3, x4, x5;
2629 : 903 : int res ATTRIBUTE_UNUSED;
2630 : 903 : x2 = XVECEXP (x1, 0, 1);
2631 : 903 : operands[2] = x2;
2632 : 903 : x3 = XVECEXP (x1, 0, 2);
2633 : 903 : x4 = XEXP (x3, 0);
2634 : 903 : operands[3] = x4;
2635 : 903 : x5 = XEXP (x3, 1);
2636 : 903 : operands[4] = x5;
2637 : 903 : switch (GET_MODE (operands[0]))
2638 : : {
2639 : 60 : case E_V8SFmode:
2640 : 60 : return pattern661 (x1,
2641 : : E_V8SImode,
2642 : 60 : E_V8SFmode); /* [-1, 0] */
2643 : :
2644 : 186 : case E_V4SFmode:
2645 : 186 : if (pattern661 (x1,
2646 : : E_V4SImode,
2647 : : E_V4SFmode) != 0)
2648 : : return -1;
2649 : : return 1;
2650 : :
2651 : 76 : case E_V4DFmode:
2652 : 76 : if (pattern661 (x1,
2653 : : E_V4DImode,
2654 : : E_V4DFmode) != 0)
2655 : : return -1;
2656 : : return 2;
2657 : :
2658 : 137 : case E_V2DFmode:
2659 : 137 : if (pattern661 (x1,
2660 : : E_V2DImode,
2661 : : E_V2DFmode) != 0)
2662 : : return -1;
2663 : : return 3;
2664 : :
2665 : 54 : case E_V32QImode:
2666 : 54 : if (pattern662 (x1,
2667 : : E_V32QImode) != 0)
2668 : : return -1;
2669 : : return 4;
2670 : :
2671 : 249 : case E_V16QImode:
2672 : 249 : if (pattern662 (x1,
2673 : : E_V16QImode) != 0)
2674 : : return -1;
2675 : : return 5;
2676 : :
2677 : : default:
2678 : : return -1;
2679 : : }
2680 : : }
2681 : :
2682 : : int
2683 : 19076 : pattern673 (rtx x1)
2684 : : {
2685 : 19076 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2686 : 19076 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2687 : 19076 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2688 : 19076 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
2689 : 19076 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
2690 : 19076 : int res ATTRIBUTE_UNUSED;
2691 : 19076 : x2 = XVECEXP (x1, 0, 0);
2692 : 19076 : if (GET_CODE (x2) != CONST_INT)
2693 : : return -1;
2694 : 19076 : x3 = XVECEXP (x1, 0, 1);
2695 : 19076 : if (GET_CODE (x3) != CONST_INT)
2696 : : return -1;
2697 : 19076 : x4 = XVECEXP (x1, 0, 2);
2698 : 19076 : if (GET_CODE (x4) != CONST_INT)
2699 : : return -1;
2700 : 19076 : x5 = XVECEXP (x1, 0, 3);
2701 : 19076 : if (GET_CODE (x5) != CONST_INT)
2702 : : return -1;
2703 : 19076 : x6 = XVECEXP (x1, 0, 4);
2704 : 19076 : if (GET_CODE (x6) != CONST_INT)
2705 : : return -1;
2706 : 19076 : x7 = XVECEXP (x1, 0, 5);
2707 : 19076 : if (GET_CODE (x7) != CONST_INT)
2708 : : return -1;
2709 : 19076 : x8 = XVECEXP (x1, 0, 6);
2710 : 19076 : if (GET_CODE (x8) != CONST_INT)
2711 : : return -1;
2712 : 19076 : x9 = XVECEXP (x1, 0, 7);
2713 : 19076 : if (GET_CODE (x9) != CONST_INT)
2714 : : return -1;
2715 : 19076 : x10 = XVECEXP (x1, 0, 8);
2716 : 19076 : if (GET_CODE (x10) != CONST_INT)
2717 : : return -1;
2718 : 19076 : x11 = XVECEXP (x1, 0, 9);
2719 : 19076 : if (GET_CODE (x11) != CONST_INT)
2720 : : return -1;
2721 : 19076 : x12 = XVECEXP (x1, 0, 10);
2722 : 19076 : if (GET_CODE (x12) != CONST_INT)
2723 : : return -1;
2724 : 19076 : x13 = XVECEXP (x1, 0, 11);
2725 : 19076 : if (GET_CODE (x13) != CONST_INT)
2726 : : return -1;
2727 : 19076 : x14 = XVECEXP (x1, 0, 12);
2728 : 19076 : if (GET_CODE (x14) != CONST_INT)
2729 : : return -1;
2730 : 19076 : x15 = XVECEXP (x1, 0, 13);
2731 : 19076 : if (GET_CODE (x15) != CONST_INT)
2732 : : return -1;
2733 : 19076 : x16 = XVECEXP (x1, 0, 14);
2734 : 19076 : if (GET_CODE (x16) != CONST_INT)
2735 : : return -1;
2736 : 19076 : x17 = XVECEXP (x1, 0, 15);
2737 : 19076 : if (GET_CODE (x17) != CONST_INT)
2738 : : return -1;
2739 : 19076 : x18 = XVECEXP (x1, 0, 16);
2740 : 19076 : if (GET_CODE (x18) != CONST_INT)
2741 : : return -1;
2742 : 19076 : x19 = XVECEXP (x1, 0, 17);
2743 : 19076 : if (GET_CODE (x19) != CONST_INT)
2744 : : return -1;
2745 : 19076 : x20 = XVECEXP (x1, 0, 18);
2746 : 19076 : if (GET_CODE (x20) != CONST_INT)
2747 : : return -1;
2748 : 19076 : x21 = XVECEXP (x1, 0, 19);
2749 : 19076 : if (GET_CODE (x21) != CONST_INT)
2750 : : return -1;
2751 : 19076 : x22 = XVECEXP (x1, 0, 20);
2752 : 19076 : if (GET_CODE (x22) != CONST_INT)
2753 : : return -1;
2754 : 19076 : x23 = XVECEXP (x1, 0, 21);
2755 : 19076 : if (GET_CODE (x23) != CONST_INT)
2756 : : return -1;
2757 : 19076 : x24 = XVECEXP (x1, 0, 22);
2758 : 19076 : if (GET_CODE (x24) != CONST_INT)
2759 : : return -1;
2760 : 19076 : x25 = XVECEXP (x1, 0, 23);
2761 : 19076 : if (GET_CODE (x25) != CONST_INT)
2762 : : return -1;
2763 : 19076 : x26 = XVECEXP (x1, 0, 24);
2764 : 19076 : if (GET_CODE (x26) != CONST_INT)
2765 : : return -1;
2766 : 19076 : x27 = XVECEXP (x1, 0, 25);
2767 : 19076 : if (GET_CODE (x27) != CONST_INT)
2768 : : return -1;
2769 : 19076 : x28 = XVECEXP (x1, 0, 26);
2770 : 19076 : if (GET_CODE (x28) != CONST_INT)
2771 : : return -1;
2772 : 19076 : x29 = XVECEXP (x1, 0, 27);
2773 : 19076 : if (GET_CODE (x29) != CONST_INT)
2774 : : return -1;
2775 : 19076 : x30 = XVECEXP (x1, 0, 28);
2776 : 19076 : if (GET_CODE (x30) != CONST_INT)
2777 : : return -1;
2778 : 19076 : x31 = XVECEXP (x1, 0, 29);
2779 : 19076 : if (GET_CODE (x31) != CONST_INT)
2780 : : return -1;
2781 : 19076 : x32 = XVECEXP (x1, 0, 30);
2782 : 19076 : if (GET_CODE (x32) != CONST_INT)
2783 : : return -1;
2784 : 19076 : x33 = XVECEXP (x1, 0, 31);
2785 : 19076 : if (GET_CODE (x33) != CONST_INT)
2786 : 0 : return -1;
2787 : : return 0;
2788 : : }
2789 : :
2790 : : int
2791 : 9000 : pattern709 (rtx x1, int i1, int i2)
2792 : : {
2793 : 9000 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2794 : 9000 : rtx x2, x3, x4, x5, x6, x7, x8;
2795 : 9000 : int res ATTRIBUTE_UNUSED;
2796 : 9000 : x2 = XVECEXP (x1, 0, 1);
2797 : 9000 : if (GET_CODE (x2) != SET)
2798 : : return -1;
2799 : 9000 : x3 = XEXP (x2, 1);
2800 : 9000 : if (GET_CODE (x3) != UNSPEC
2801 : 7174 : || XVECLEN (x3, 0) != i2
2802 : 7174 : || XINT (x3, 1) != i1
2803 : 7174 : || GET_MODE (x3) != E_V16QImode)
2804 : : return -1;
2805 : 7174 : x4 = XVECEXP (x1, 0, 2);
2806 : 7174 : if (GET_CODE (x4) != SET)
2807 : : return -1;
2808 : 7174 : x5 = XEXP (x4, 1);
2809 : 7174 : if (GET_CODE (x5) != UNSPEC
2810 : 6588 : || XVECLEN (x5, 0) != i2
2811 : 6588 : || XINT (x5, 1) != i1
2812 : 6588 : || GET_MODE (x5) != E_CCmode)
2813 : : return -1;
2814 : 6588 : x6 = XEXP (x4, 0);
2815 : 6588 : if (GET_CODE (x6) != REG
2816 : 6588 : || REGNO (x6) != 17
2817 : 13176 : || GET_MODE (x6) != E_CCmode)
2818 : : return -1;
2819 : 6588 : x7 = XVECEXP (x1, 0, 0);
2820 : 6588 : x8 = XEXP (x7, 0);
2821 : 6588 : operands[0] = x8;
2822 : 6588 : return 0;
2823 : : }
2824 : :
2825 : : int
2826 : 0 : pattern716 (rtx x1)
2827 : : {
2828 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2829 : 0 : rtx x2, x3;
2830 : 0 : int res ATTRIBUTE_UNUSED;
2831 : 0 : if (GET_MODE (x1) != E_QImode)
2832 : : return -1;
2833 : 0 : x2 = XEXP (x1, 0);
2834 : 0 : if (GET_CODE (x2) != REG
2835 : 0 : || REGNO (x2) != 17)
2836 : : return -1;
2837 : 0 : x3 = XEXP (x1, 1);
2838 : 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2839 : 0 : return -1;
2840 : : return 0;
2841 : : }
2842 : :
2843 : : int
2844 : 858 : pattern723 (rtx x1, int i1, int i2)
2845 : : {
2846 : 858 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2847 : 858 : rtx x2, x3, x4, x5, x6, x7;
2848 : 858 : int res ATTRIBUTE_UNUSED;
2849 : 858 : x2 = XVECEXP (x1, 0, 0);
2850 : 858 : x3 = XEXP (x2, 1);
2851 : 858 : if (XINT (x3, 1) != i1
2852 : 858 : || GET_MODE (x3) != E_SImode)
2853 : : return -1;
2854 : 448 : x4 = XVECEXP (x1, 0, 1);
2855 : 448 : if (GET_CODE (x4) != SET)
2856 : : return -1;
2857 : 448 : x5 = XEXP (x4, 1);
2858 : 448 : if (GET_CODE (x5) != UNSPEC
2859 : 448 : || XVECLEN (x5, 0) != i2
2860 : 448 : || XINT (x5, 1) != i1
2861 : 448 : || GET_MODE (x5) != E_V16QImode)
2862 : : return -1;
2863 : 448 : x6 = XVECEXP (x1, 0, 2);
2864 : 448 : if (GET_CODE (x6) != SET)
2865 : : return -1;
2866 : 448 : x7 = XEXP (x6, 1);
2867 : 448 : if (GET_CODE (x7) != UNSPEC
2868 : 448 : || XVECLEN (x7, 0) != i2
2869 : 448 : || XINT (x7, 1) != i1
2870 : 896 : || pattern722 (x6,
2871 : : E_CCmode,
2872 : : 17) != 0)
2873 : 0 : return -1;
2874 : : return 0;
2875 : : }
2876 : :
2877 : : int
2878 : 3793783 : pattern731 (rtx x1, machine_mode i1)
2879 : : {
2880 : 3793783 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2881 : 3793783 : rtx x2, x3, x4, x5, x6;
2882 : 3793783 : int res ATTRIBUTE_UNUSED;
2883 : 3793783 : if (!register_operand (operands[0], i1)
2884 : 3793783 : || GET_CODE (x1) != SET)
2885 : : return -1;
2886 : 3014737 : x2 = XEXP (x1, 1);
2887 : 3014737 : if (GET_CODE (x2) != PLUS
2888 : 263349 : || GET_MODE (x2) != i1)
2889 : : return -1;
2890 : 256599 : x3 = XEXP (x1, 0);
2891 : 256599 : operands[3] = x3;
2892 : 256599 : if (!register_operand (operands[3], i1))
2893 : : return -1;
2894 : 256599 : x4 = XEXP (x2, 0);
2895 : 256599 : operands[4] = x4;
2896 : 256599 : if (!register_operand (operands[4], i1))
2897 : : return -1;
2898 : 206988 : x5 = XEXP (x2, 1);
2899 : 206988 : operands[2] = x5;
2900 : 206988 : if (!x86_64_nonmemory_operand (operands[2], i1))
2901 : : return -1;
2902 : 198947 : x6 = PATTERN (peep2_next_insn (2));
2903 : 198947 : return pattern729 (x6,
2904 : 198947 : i1); /* [-1, 0] */
2905 : : }
2906 : :
2907 : : int
2908 : 7232 : pattern741 ()
2909 : : {
2910 : 7232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2911 : 7232 : int res ATTRIBUTE_UNUSED;
2912 : 7232 : switch (GET_MODE (operands[1]))
2913 : : {
2914 : 1159 : case E_V8HImode:
2915 : 1159 : if (!register_operand (operands[1], E_V8HImode)
2916 : 1159 : || !nonimmediate_operand (operands[2], E_V8HImode))
2917 : 1 : return -1;
2918 : : return 0;
2919 : :
2920 : 1191 : case E_V8SImode:
2921 : 1191 : if (!register_operand (operands[1], E_V8SImode)
2922 : 1191 : || !nonimmediate_operand (operands[2], E_V8SImode))
2923 : 0 : return -1;
2924 : : return 1;
2925 : :
2926 : 1200 : case E_V4SImode:
2927 : 1200 : if (!register_operand (operands[1], E_V4SImode)
2928 : 1200 : || !nonimmediate_operand (operands[2], E_V4SImode))
2929 : 0 : return -1;
2930 : : return 2;
2931 : :
2932 : 1204 : case E_V8DImode:
2933 : 1204 : if (!register_operand (operands[1], E_V8DImode)
2934 : 1204 : || !nonimmediate_operand (operands[2], E_V8DImode))
2935 : 4 : return -1;
2936 : : return 3;
2937 : :
2938 : 1203 : case E_V4DImode:
2939 : 1203 : if (!register_operand (operands[1], E_V4DImode)
2940 : 1203 : || !nonimmediate_operand (operands[2], E_V4DImode))
2941 : 8 : return -1;
2942 : : return 4;
2943 : :
2944 : 1275 : case E_V2DImode:
2945 : 1275 : if (!register_operand (operands[1], E_V2DImode)
2946 : 1275 : || !nonimmediate_operand (operands[2], E_V2DImode))
2947 : 83 : return -1;
2948 : : return 5;
2949 : :
2950 : : default:
2951 : : return -1;
2952 : : }
2953 : : }
2954 : :
2955 : : int
2956 : 770 : pattern761 (rtx x1)
2957 : : {
2958 : 770 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2959 : 770 : rtx x2, x3, x4, x5, x6;
2960 : 770 : int res ATTRIBUTE_UNUSED;
2961 : 770 : x2 = XEXP (x1, 0);
2962 : 770 : x3 = XEXP (x2, 1);
2963 : 770 : if (maybe_ne (SUBREG_BYTE (x3), 0)
2964 : 770 : || GET_MODE (x3) != E_QImode)
2965 : : return -1;
2966 : 770 : x4 = XEXP (x3, 0);
2967 : 770 : if (GET_CODE (x4) != AND)
2968 : : return -1;
2969 : 110 : x5 = XEXP (x4, 0);
2970 : 110 : operands[1] = x5;
2971 : 110 : if (!int248_register_operand (operands[1], E_VOIDmode))
2972 : : return -1;
2973 : 103 : x6 = XEXP (x4, 1);
2974 : 103 : operands[2] = x6;
2975 : 103 : if (!const_int_operand (operands[2], E_VOIDmode))
2976 : : return -1;
2977 : 103 : return pattern284 (x1); /* [-1, 1] */
2978 : : }
2979 : :
2980 : : int
2981 : 71 : pattern771 (rtx x1)
2982 : : {
2983 : 71 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2984 : 71 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2985 : 71 : int res ATTRIBUTE_UNUSED;
2986 : 71 : x2 = XEXP (x1, 0);
2987 : 71 : x3 = XEXP (x2, 0);
2988 : 71 : x4 = XVECEXP (x3, 0, 0);
2989 : 71 : if (GET_CODE (x4) != VEC_SELECT)
2990 : : return -1;
2991 : 51 : x5 = XEXP (x4, 1);
2992 : 51 : if (GET_CODE (x5) != PARALLEL
2993 : 51 : || XVECLEN (x5, 0) != 1)
2994 : : return -1;
2995 : 51 : x6 = XVECEXP (x5, 0, 0);
2996 : 51 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2997 : : return -1;
2998 : 51 : x7 = XEXP (x4, 0);
2999 : 51 : operands[1] = x7;
3000 : 51 : x8 = XVECEXP (x3, 0, 1);
3001 : 51 : operands[2] = x8;
3002 : 51 : x9 = XEXP (x1, 1);
3003 : 51 : if (!rtx_equal_p (x9, operands[1]))
3004 : : return -1;
3005 : 51 : switch (GET_MODE (operands[0]))
3006 : : {
3007 : 49 : case E_V8HFmode:
3008 : 49 : return pattern770 (x1,
3009 : : E_HFmode,
3010 : 49 : E_V8HFmode); /* [-1, 0] */
3011 : :
3012 : 0 : case E_V4SFmode:
3013 : 0 : if (pattern770 (x1,
3014 : : E_SFmode,
3015 : : E_V4SFmode) != 0)
3016 : : return -1;
3017 : : return 1;
3018 : :
3019 : 2 : case E_V2DFmode:
3020 : 2 : if (pattern770 (x1,
3021 : : E_DFmode,
3022 : : E_V2DFmode) != 0)
3023 : : return -1;
3024 : : return 2;
3025 : :
3026 : : default:
3027 : : return -1;
3028 : : }
3029 : : }
3030 : :
3031 : : int
3032 : 19390 : pattern783 (rtx x1, machine_mode i1)
3033 : : {
3034 : 19390 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3035 : 19390 : int res ATTRIBUTE_UNUSED;
3036 : 19390 : if (!register_operand (operands[0], i1)
3037 : 19343 : || GET_MODE (x1) != i1
3038 : 19343 : || !nonimmediate_operand (operands[1], i1)
3039 : 37863 : || !register_operand (operands[2], i1))
3040 : 3051 : return -1;
3041 : : return 0;
3042 : : }
3043 : :
3044 : : int
3045 : 3660 : pattern790 (rtx x1)
3046 : : {
3047 : 3660 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3048 : 3660 : rtx x2;
3049 : 3660 : int res ATTRIBUTE_UNUSED;
3050 : 3660 : x2 = XVECEXP (x1, 0, 1);
3051 : 3660 : if (!rtx_equal_p (x2, operands[0]))
3052 : : return -1;
3053 : 2757 : switch (GET_MODE (operands[0]))
3054 : : {
3055 : 113 : case E_V64QImode:
3056 : 113 : return pattern789 (x1,
3057 : : E_V64QImode,
3058 : 113 : E_DImode); /* [-1, 0] */
3059 : :
3060 : 62 : case E_V32QImode:
3061 : 62 : if (pattern789 (x1,
3062 : : E_V32QImode,
3063 : : E_SImode) != 0)
3064 : : return -1;
3065 : : return 1;
3066 : :
3067 : 49 : case E_V16QImode:
3068 : 49 : if (pattern789 (x1,
3069 : : E_V16QImode,
3070 : : E_HImode) != 0)
3071 : : return -1;
3072 : : return 2;
3073 : :
3074 : 225 : case E_V32HImode:
3075 : 225 : if (pattern789 (x1,
3076 : : E_V32HImode,
3077 : : E_SImode) != 0)
3078 : : return -1;
3079 : : return 3;
3080 : :
3081 : 242 : case E_V16HImode:
3082 : 242 : if (pattern789 (x1,
3083 : : E_V16HImode,
3084 : : E_HImode) != 0)
3085 : : return -1;
3086 : : return 4;
3087 : :
3088 : 98 : case E_V8HImode:
3089 : 98 : if (pattern789 (x1,
3090 : : E_V8HImode,
3091 : : E_QImode) != 0)
3092 : : return -1;
3093 : : return 5;
3094 : :
3095 : 162 : case E_V16SImode:
3096 : 162 : if (pattern789 (x1,
3097 : : E_V16SImode,
3098 : : E_HImode) != 0)
3099 : : return -1;
3100 : : return 6;
3101 : :
3102 : 144 : case E_V8SImode:
3103 : 144 : if (pattern789 (x1,
3104 : : E_V8SImode,
3105 : : E_QImode) != 0)
3106 : : return -1;
3107 : : return 7;
3108 : :
3109 : 139 : case E_V4SImode:
3110 : 139 : if (pattern789 (x1,
3111 : : E_V4SImode,
3112 : : E_QImode) != 0)
3113 : : return -1;
3114 : : return 8;
3115 : :
3116 : 163 : case E_V8DImode:
3117 : 163 : if (pattern789 (x1,
3118 : : E_V8DImode,
3119 : : E_QImode) != 0)
3120 : : return -1;
3121 : : return 9;
3122 : :
3123 : 125 : case E_V4DImode:
3124 : 125 : if (pattern789 (x1,
3125 : : E_V4DImode,
3126 : : E_QImode) != 0)
3127 : : return -1;
3128 : : return 10;
3129 : :
3130 : 140 : case E_V2DImode:
3131 : 140 : if (pattern789 (x1,
3132 : : E_V2DImode,
3133 : : E_QImode) != 0)
3134 : : return -1;
3135 : : return 11;
3136 : :
3137 : 81 : case E_V32HFmode:
3138 : 81 : if (pattern789 (x1,
3139 : : E_V32HFmode,
3140 : : E_SImode) != 0)
3141 : : return -1;
3142 : : return 12;
3143 : :
3144 : 129 : case E_V16HFmode:
3145 : 129 : if (pattern789 (x1,
3146 : : E_V16HFmode,
3147 : : E_HImode) != 0)
3148 : : return -1;
3149 : : return 13;
3150 : :
3151 : 81 : case E_V8HFmode:
3152 : 81 : if (pattern789 (x1,
3153 : : E_V8HFmode,
3154 : : E_QImode) != 0)
3155 : : return -1;
3156 : : return 14;
3157 : :
3158 : 0 : case E_V32BFmode:
3159 : 0 : if (pattern789 (x1,
3160 : : E_V32BFmode,
3161 : : E_SImode) != 0)
3162 : : return -1;
3163 : : return 15;
3164 : :
3165 : 0 : case E_V16BFmode:
3166 : 0 : if (pattern789 (x1,
3167 : : E_V16BFmode,
3168 : : E_HImode) != 0)
3169 : : return -1;
3170 : : return 16;
3171 : :
3172 : 0 : case E_V8BFmode:
3173 : 0 : if (pattern789 (x1,
3174 : : E_V8BFmode,
3175 : : E_QImode) != 0)
3176 : : return -1;
3177 : : return 17;
3178 : :
3179 : 110 : case E_V16SFmode:
3180 : 110 : if (pattern789 (x1,
3181 : : E_V16SFmode,
3182 : : E_HImode) != 0)
3183 : : return -1;
3184 : : return 18;
3185 : :
3186 : 146 : case E_V8SFmode:
3187 : 146 : if (pattern789 (x1,
3188 : : E_V8SFmode,
3189 : : E_QImode) != 0)
3190 : : return -1;
3191 : : return 19;
3192 : :
3193 : 122 : case E_V4SFmode:
3194 : 122 : if (pattern789 (x1,
3195 : : E_V4SFmode,
3196 : : E_QImode) != 0)
3197 : : return -1;
3198 : : return 20;
3199 : :
3200 : 152 : case E_V8DFmode:
3201 : 152 : if (pattern789 (x1,
3202 : : E_V8DFmode,
3203 : : E_QImode) != 0)
3204 : : return -1;
3205 : : return 21;
3206 : :
3207 : 154 : case E_V4DFmode:
3208 : 154 : if (pattern789 (x1,
3209 : : E_V4DFmode,
3210 : : E_QImode) != 0)
3211 : : return -1;
3212 : : return 22;
3213 : :
3214 : 120 : case E_V2DFmode:
3215 : 120 : if (pattern789 (x1,
3216 : : E_V2DFmode,
3217 : : E_QImode) != 0)
3218 : : return -1;
3219 : : return 23;
3220 : :
3221 : : default:
3222 : : return -1;
3223 : : }
3224 : : }
3225 : :
3226 : : int
3227 : 7333 : pattern833 (rtx x1)
3228 : : {
3229 : 7333 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3230 : 7333 : rtx x2, x3, x4, x5;
3231 : 7333 : int res ATTRIBUTE_UNUSED;
3232 : 7333 : if (!register_operand (operands[0], E_TFmode))
3233 : : return -1;
3234 : 4148 : x2 = XVECEXP (x1, 0, 0);
3235 : 4148 : x3 = XEXP (x2, 1);
3236 : 4148 : if (GET_MODE (x3) != E_TFmode
3237 : 4148 : || !vector_operand (operands[1], E_TFmode))
3238 : 0 : return -1;
3239 : 4148 : x4 = XVECEXP (x1, 0, 1);
3240 : 4148 : x5 = XEXP (x4, 0);
3241 : 4148 : operands[2] = x5;
3242 : 4148 : if (!vector_operand (operands[2], E_TFmode))
3243 : : return -1;
3244 : : return 0;
3245 : : }
3246 : :
3247 : : int
3248 : 4580783 : pattern841 (rtx x1)
3249 : : {
3250 : 4580783 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3251 : 4580783 : rtx x2, x3, x4, x5, x6;
3252 : 4580783 : int res ATTRIBUTE_UNUSED;
3253 : 4580783 : x2 = XEXP (x1, 1);
3254 : 4580783 : switch (GET_CODE (x2))
3255 : : {
3256 : 1318274 : case REG:
3257 : 1318274 : case SUBREG:
3258 : 1318274 : if (!rtx_equal_p (x2, operands[0]))
3259 : : return -1;
3260 : 981546 : x3 = XEXP (x1, 0);
3261 : 981546 : if (GET_CODE (x3) != PC)
3262 : : return -1;
3263 : : return 0;
3264 : :
3265 : 129326 : case CALL:
3266 : 129326 : x4 = XEXP (x2, 0);
3267 : 129326 : if (GET_CODE (x4) != MEM
3268 : 129326 : || GET_MODE (x4) != E_QImode)
3269 : : return -1;
3270 : 129326 : x3 = XEXP (x1, 0);
3271 : 129326 : operands[2] = x3;
3272 : 129326 : x5 = XEXP (x2, 1);
3273 : 129326 : operands[3] = x5;
3274 : 129326 : x6 = XEXP (x4, 0);
3275 : 129326 : if (!rtx_equal_p (x6, operands[0]))
3276 : : return -1;
3277 : : return 1;
3278 : :
3279 : : default:
3280 : : return -1;
3281 : : }
3282 : : }
3283 : :
3284 : : int
3285 : 21893 : pattern848 (rtx x1)
3286 : : {
3287 : 21893 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3288 : 21893 : rtx x2, x3, x4, x5, x6, x7;
3289 : 21893 : int res ATTRIBUTE_UNUSED;
3290 : 21893 : x2 = XVECEXP (x1, 0, 2);
3291 : 21893 : if (maybe_ne (SUBREG_BYTE (x2), 0))
3292 : : return -1;
3293 : 21893 : x3 = XEXP (x2, 0);
3294 : 21893 : if (GET_CODE (x3) != EQ)
3295 : : return -1;
3296 : 3032 : x4 = XEXP (x3, 0);
3297 : 3032 : if (GET_CODE (x4) != EQ)
3298 : : return -1;
3299 : 578 : x5 = XEXP (x4, 0);
3300 : 578 : operands[3] = x5;
3301 : 578 : x6 = XEXP (x4, 1);
3302 : 578 : operands[4] = x6;
3303 : 578 : x7 = XEXP (x3, 1);
3304 : 578 : operands[5] = x7;
3305 : 578 : switch (GET_MODE (operands[0]))
3306 : : {
3307 : 165 : case E_V8QImode:
3308 : 165 : if (!register_operand (operands[0], E_V8QImode)
3309 : 165 : || GET_MODE (x1) != E_V8QImode
3310 : 165 : || !register_operand (operands[1], E_V8QImode)
3311 : 90 : || !register_operand (operands[2], E_V8QImode)
3312 : 216 : || GET_MODE (x2) != E_V8QImode)
3313 : 114 : return -1;
3314 : 51 : switch (GET_MODE (x3))
3315 : : {
3316 : 51 : case E_V4HImode:
3317 : 51 : return pattern847 (x4,
3318 : 51 : E_V4HImode); /* [-1, 0] */
3319 : :
3320 : 0 : case E_V2SImode:
3321 : 0 : if (pattern847 (x4,
3322 : : E_V2SImode) != 0)
3323 : : return -1;
3324 : : return 1;
3325 : :
3326 : : default:
3327 : : return -1;
3328 : : }
3329 : :
3330 : 315 : case E_V4QImode:
3331 : 315 : if (!register_operand (operands[0], E_V4QImode)
3332 : 315 : || GET_MODE (x1) != E_V4QImode
3333 : 315 : || !register_operand (operands[1], E_V4QImode)
3334 : 174 : || !register_operand (operands[2], E_V4QImode)
3335 : 93 : || GET_MODE (x2) != E_V4QImode
3336 : 93 : || GET_MODE (x3) != E_V2HImode
3337 : 408 : || pattern847 (x4,
3338 : : E_V2HImode) != 0)
3339 : 270 : return -1;
3340 : : return 2;
3341 : :
3342 : : default:
3343 : : return -1;
3344 : : }
3345 : : }
3346 : :
3347 : : int
3348 : 1031 : pattern865 (rtx x1, machine_mode i1)
3349 : : {
3350 : 1031 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3351 : 1031 : rtx x2;
3352 : 1031 : int res ATTRIBUTE_UNUSED;
3353 : 1031 : if (!register_operand (operands[0], i1)
3354 : 1012 : || GET_MODE (x1) != i1
3355 : 1012 : || !bcst_vector_operand (operands[1], i1)
3356 : 2036 : || !bcst_vector_operand (operands[2], i1))
3357 : 61 : return -1;
3358 : 970 : x2 = XEXP (x1, 2);
3359 : 970 : if (GET_MODE (x2) != i1
3360 : 970 : || !bcst_vector_operand (operands[3], i1))
3361 : 55 : return -1;
3362 : : return 0;
3363 : : }
3364 : :
3365 : : int
3366 : 1392 : pattern874 (rtx x1, machine_mode i1)
3367 : : {
3368 : 1392 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3369 : 1392 : rtx x2, x3;
3370 : 1392 : int res ATTRIBUTE_UNUSED;
3371 : 1392 : if (!register_operand (operands[0], i1)
3372 : 1392 : || GET_MODE (x1) != i1)
3373 : : return -1;
3374 : 1328 : x2 = XVECEXP (x1, 0, 0);
3375 : 1328 : if (GET_MODE (x2) != i1)
3376 : : return -1;
3377 : 1328 : x3 = XVECEXP (x2, 0, 0);
3378 : 1328 : switch (GET_MODE (x3))
3379 : : {
3380 : 488 : case E_HFmode:
3381 : 488 : if (!register_operand (operands[1], E_V8HFmode))
3382 : : return -1;
3383 : : return 0;
3384 : :
3385 : 420 : case E_SFmode:
3386 : 420 : if (!register_operand (operands[1], E_V4SFmode))
3387 : : return -1;
3388 : : return 1;
3389 : :
3390 : 420 : case E_DFmode:
3391 : 420 : if (!register_operand (operands[1], E_V2DFmode))
3392 : : return -1;
3393 : : return 2;
3394 : :
3395 : : default:
3396 : : return -1;
3397 : : }
3398 : : }
3399 : :
3400 : : int
3401 : 662 : pattern882 (rtx x1)
3402 : : {
3403 : 662 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3404 : 662 : rtx x2;
3405 : 662 : int res ATTRIBUTE_UNUSED;
3406 : 662 : x2 = XEXP (x1, 2);
3407 : 662 : if (XWINT (x2, 0) != 1L)
3408 : : return -1;
3409 : 434 : switch (GET_MODE (operands[0]))
3410 : : {
3411 : 210 : case E_V4SFmode:
3412 : 210 : return pattern628 (x1,
3413 : 210 : E_V4SFmode); /* [-1, 0] */
3414 : :
3415 : 224 : case E_V8HFmode:
3416 : 224 : if (pattern628 (x1,
3417 : : E_V8HFmode) != 0)
3418 : : return -1;
3419 : : return 1;
3420 : :
3421 : : default:
3422 : : return -1;
3423 : : }
3424 : : }
3425 : :
3426 : : int
3427 : 1810 : pattern890 (rtx x1, machine_mode i1)
3428 : : {
3429 : 1810 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3430 : 1810 : rtx x2, x3;
3431 : 1810 : int res ATTRIBUTE_UNUSED;
3432 : 1810 : if (!register_operand (operands[0], i1)
3433 : 1810 : || GET_MODE (x1) != i1)
3434 : : return -1;
3435 : 1581 : x2 = XEXP (x1, 0);
3436 : 1581 : operands[2] = x2;
3437 : 1581 : if (!register_operand (operands[2], i1))
3438 : : return -1;
3439 : 1366 : x3 = XEXP (x1, 1);
3440 : 1366 : operands[1] = x3;
3441 : 1366 : if (!reg_or_0_operand (operands[1], i1))
3442 : : return -1;
3443 : : return 0;
3444 : : }
3445 : :
3446 : : int
3447 : 887 : pattern900 (rtx x1)
3448 : : {
3449 : 887 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3450 : 887 : rtx x2, x3, x4;
3451 : 887 : int res ATTRIBUTE_UNUSED;
3452 : 887 : if (!const_0_to_3_operand (operands[2], E_VOIDmode))
3453 : : return -1;
3454 : 887 : x2 = XVECEXP (x1, 0, 1);
3455 : 887 : operands[3] = x2;
3456 : 887 : if (!const_0_to_3_operand (operands[3], E_VOIDmode))
3457 : : return -1;
3458 : 887 : x3 = XVECEXP (x1, 0, 2);
3459 : 887 : operands[4] = x3;
3460 : 887 : if (!const_0_to_3_operand (operands[4], E_VOIDmode))
3461 : : return -1;
3462 : 887 : x4 = XVECEXP (x1, 0, 3);
3463 : 887 : operands[5] = x4;
3464 : 887 : if (!const_0_to_3_operand (operands[5], E_VOIDmode))
3465 : : return -1;
3466 : : return 0;
3467 : : }
3468 : :
3469 : : int
3470 : 1128 : pattern908 (rtx x1, machine_mode i1, machine_mode i2)
3471 : : {
3472 : 1128 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3473 : 1128 : rtx x2, x3, x4;
3474 : 1128 : int res ATTRIBUTE_UNUSED;
3475 : 1128 : if (!register_operand (operands[0], i1)
3476 : 1128 : || GET_MODE (x1) != i1)
3477 : : return -1;
3478 : 1092 : x2 = XVECEXP (x1, 0, 0);
3479 : 1092 : if (GET_MODE (x2) != i1)
3480 : : return -1;
3481 : 1092 : x3 = XEXP (x2, 0);
3482 : 1092 : if (GET_MODE (x3) != i1)
3483 : : return -1;
3484 : 1092 : x4 = XEXP (x3, 0);
3485 : 1092 : if (GET_MODE (x4) != i2
3486 : 1092 : || !register_operand (operands[1], i1))
3487 : 28 : return -1;
3488 : 1064 : switch (GET_MODE (operands[2]))
3489 : : {
3490 : 532 : case E_SImode:
3491 : 532 : if (!register_operand (operands[2], E_SImode))
3492 : : return -1;
3493 : : return 0;
3494 : :
3495 : 532 : case E_DImode:
3496 : 532 : if (!register_operand (operands[2], E_DImode))
3497 : : return -1;
3498 : : return 1;
3499 : :
3500 : : default:
3501 : : return -1;
3502 : : }
3503 : : }
3504 : :
3505 : : int
3506 : 4195 : pattern915 (rtx x1, machine_mode i1, machine_mode i2)
3507 : : {
3508 : 4195 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3509 : 4195 : int res ATTRIBUTE_UNUSED;
3510 : 4195 : if (!register_operand (operands[0], i2)
3511 : 3995 : || GET_MODE (x1) != i2
3512 : 3995 : || !register_operand (operands[1], i2)
3513 : 3943 : || !nonimm_or_0_operand (operands[2], i2)
3514 : 8085 : || !register_operand (operands[3], i1))
3515 : 665 : return -1;
3516 : : return 0;
3517 : : }
3518 : :
3519 : : int
3520 : 494 : pattern920 (rtx x1)
3521 : : {
3522 : 494 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3523 : 494 : rtx x2, x3, x4, x5, x6;
3524 : 494 : int res ATTRIBUTE_UNUSED;
3525 : 494 : x2 = XEXP (x1, 0);
3526 : 494 : x3 = XEXP (x2, 0);
3527 : 494 : if (GET_MODE (x3) != E_V2SImode)
3528 : : return -1;
3529 : 494 : x4 = XEXP (x1, 1);
3530 : 494 : if (GET_CODE (x4) != CONST_VECTOR
3531 : 494 : || XVECLEN (x4, 0) != 2
3532 : 494 : || GET_MODE (x4) != E_V2SImode)
3533 : : return -1;
3534 : 494 : x5 = XVECEXP (x4, 0, 0);
3535 : 494 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3536 : : return -1;
3537 : 494 : x6 = XVECEXP (x4, 0, 1);
3538 : 494 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
3539 : 494 : || !register_operand (operands[0], E_V4SImode)
3540 : 494 : || GET_MODE (x1) != E_V4SImode
3541 : 494 : || GET_MODE (x2) != E_V2SImode
3542 : 988 : || !nonimmediate_operand (operands[1], E_V2DFmode))
3543 : 32 : return -1;
3544 : 462 : return pattern502 (x2); /* [-1, 1] */
3545 : : }
3546 : :
3547 : : int
3548 : 232 : pattern926 (rtx x1, machine_mode i1)
3549 : : {
3550 : 232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3551 : 232 : rtx x2;
3552 : 232 : int res ATTRIBUTE_UNUSED;
3553 : 232 : if (!register_operand (operands[0], i1)
3554 : 232 : || GET_MODE (x1) != i1)
3555 : : return -1;
3556 : 223 : x2 = XEXP (x1, 0);
3557 : 223 : if (GET_MODE (x2) != i1
3558 : 223 : || !nonimmediate_operand (operands[1], i1)
3559 : 220 : || !nonimmediate_operand (operands[2], i1)
3560 : 443 : || !nonimmediate_operand (operands[3], i1))
3561 : 3 : return -1;
3562 : : return 0;
3563 : : }
3564 : :
3565 : : int
3566 : 170757 : pattern931 (rtx x1)
3567 : : {
3568 : 170757 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3569 : 170757 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3570 : 170757 : rtx x10, x11, x12, x13, x14, x15;
3571 : 170757 : int res ATTRIBUTE_UNUSED;
3572 : 170757 : x2 = XVECEXP (x1, 0, 2);
3573 : 170757 : if (GET_CODE (x2) != CONST_INT)
3574 : : return -1;
3575 : 170757 : x3 = XVECEXP (x1, 0, 3);
3576 : 170757 : if (GET_CODE (x3) != CONST_INT)
3577 : : return -1;
3578 : 170757 : x4 = XVECEXP (x1, 0, 4);
3579 : 170757 : if (GET_CODE (x4) != CONST_INT)
3580 : : return -1;
3581 : 170757 : x5 = XVECEXP (x1, 0, 5);
3582 : 170757 : if (GET_CODE (x5) != CONST_INT)
3583 : : return -1;
3584 : 170757 : x6 = XVECEXP (x1, 0, 6);
3585 : 170757 : if (GET_CODE (x6) != CONST_INT)
3586 : : return -1;
3587 : 170757 : x7 = XVECEXP (x1, 0, 7);
3588 : 170757 : if (GET_CODE (x7) != CONST_INT)
3589 : : return -1;
3590 : 170757 : x8 = XVECEXP (x1, 0, 8);
3591 : 170757 : if (GET_CODE (x8) != CONST_INT)
3592 : : return -1;
3593 : 170757 : x9 = XVECEXP (x1, 0, 9);
3594 : 170757 : if (GET_CODE (x9) != CONST_INT)
3595 : : return -1;
3596 : 170757 : x10 = XVECEXP (x1, 0, 10);
3597 : 170757 : if (GET_CODE (x10) != CONST_INT)
3598 : : return -1;
3599 : 170757 : x11 = XVECEXP (x1, 0, 11);
3600 : 170757 : if (GET_CODE (x11) != CONST_INT)
3601 : : return -1;
3602 : 170757 : x12 = XVECEXP (x1, 0, 12);
3603 : 170757 : if (GET_CODE (x12) != CONST_INT)
3604 : : return -1;
3605 : 170757 : x13 = XVECEXP (x1, 0, 13);
3606 : 170757 : if (GET_CODE (x13) != CONST_INT)
3607 : : return -1;
3608 : 170757 : x14 = XVECEXP (x1, 0, 14);
3609 : 170757 : if (GET_CODE (x14) != CONST_INT)
3610 : : return -1;
3611 : 170757 : x15 = XVECEXP (x1, 0, 15);
3612 : 170757 : if (GET_CODE (x15) != CONST_INT)
3613 : 0 : return -1;
3614 : : return 0;
3615 : : }
3616 : :
3617 : : int
3618 : 6475 : pattern950 (rtx x1, rtx_code i1)
3619 : : {
3620 : 6475 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3621 : 6475 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3622 : 6475 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3623 : 6475 : rtx x18;
3624 : 6475 : int res ATTRIBUTE_UNUSED;
3625 : 6475 : x2 = XVECEXP (x1, 0, 0);
3626 : 6475 : x3 = XEXP (x2, 1);
3627 : 6475 : x4 = XEXP (x3, 0);
3628 : 6475 : x5 = XEXP (x4, 0);
3629 : 6475 : if (GET_CODE (x5) != SUBREG
3630 : 1201 : || maybe_ne (SUBREG_BYTE (x5), 0)
3631 : 7676 : || GET_MODE (x5) != E_QImode)
3632 : : return -1;
3633 : 1201 : x6 = XEXP (x5, 0);
3634 : 1201 : switch (GET_CODE (x6))
3635 : : {
3636 : 448 : case SIGN_EXTRACT:
3637 : 448 : case ZERO_EXTRACT:
3638 : 448 : operands[3] = x6;
3639 : 448 : x7 = XEXP (x6, 1);
3640 : 448 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3641 : : return -1;
3642 : 35 : x8 = XEXP (x6, 2);
3643 : 35 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3644 : : return -1;
3645 : 24 : x9 = XVECEXP (x1, 0, 1);
3646 : 24 : if (GET_CODE (x9) != SET)
3647 : : return -1;
3648 : 24 : x10 = XEXP (x9, 1);
3649 : 24 : if (GET_CODE (x10) != SUBREG
3650 : 24 : || maybe_ne (SUBREG_BYTE (x10), 0))
3651 : : return -1;
3652 : 0 : x11 = XEXP (x10, 0);
3653 : 0 : if (GET_CODE (x11) != i1
3654 : 0 : || GET_MODE (x11) != E_QImode)
3655 : : return -1;
3656 : 0 : x12 = XEXP (x11, 0);
3657 : 0 : if (GET_CODE (x12) != SUBREG
3658 : 0 : || maybe_ne (SUBREG_BYTE (x12), 0)
3659 : 0 : || GET_MODE (x12) != E_QImode)
3660 : : return -1;
3661 : 0 : x13 = XEXP (x12, 0);
3662 : 0 : switch (GET_CODE (x13))
3663 : : {
3664 : 0 : case SIGN_EXTRACT:
3665 : 0 : case ZERO_EXTRACT:
3666 : 0 : if (!rtx_equal_p (x13, operands[3]))
3667 : : return -1;
3668 : 0 : x14 = XEXP (x9, 0);
3669 : 0 : if (GET_CODE (x14) != ZERO_EXTRACT)
3670 : : return -1;
3671 : 0 : x15 = XEXP (x14, 1);
3672 : 0 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3673 : : return -1;
3674 : 0 : x16 = XEXP (x14, 2);
3675 : 0 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3676 : : return -1;
3677 : 0 : x17 = XEXP (x2, 0);
3678 : 0 : operands[4] = x17;
3679 : 0 : if (!flags_reg_operand (operands[4], E_VOIDmode))
3680 : : return -1;
3681 : 0 : operands[5] = x3;
3682 : 0 : if (!compare_operator (operands[5], E_VOIDmode)
3683 : 0 : || GET_MODE (x4) != E_QImode)
3684 : : return -1;
3685 : 0 : x18 = XEXP (x6, 0);
3686 : 0 : operands[1] = x18;
3687 : 0 : if (!int248_register_operand (operands[1], E_VOIDmode))
3688 : : return -1;
3689 : 0 : return pattern583 (x9); /* [-1, 2] */
3690 : :
3691 : : default:
3692 : : return -1;
3693 : : }
3694 : :
3695 : : default:
3696 : : return -1;
3697 : : }
3698 : : }
3699 : :
3700 : : int
3701 : 103652 : pattern976 (rtx x1)
3702 : : {
3703 : 103652 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3704 : 103652 : int res ATTRIBUTE_UNUSED;
3705 : 103652 : if (!nonimmediate_operand (operands[0], E_SFmode)
3706 : 103652 : || GET_MODE (x1) != E_SFmode)
3707 : : return -1;
3708 : 103582 : switch (GET_MODE (operands[1]))
3709 : : {
3710 : 11668 : case E_V2SFmode:
3711 : 11668 : if (!nonimmediate_operand (operands[1], E_V2SFmode))
3712 : : return -1;
3713 : : return 0;
3714 : :
3715 : 91724 : case E_V4SFmode:
3716 : 91724 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3717 : : return -1;
3718 : : return 1;
3719 : :
3720 : : default:
3721 : : return -1;
3722 : : }
3723 : : }
3724 : :
3725 : : int
3726 : 284437 : pattern979 (rtx x1)
3727 : : {
3728 : 284437 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3729 : 284437 : rtx x2, x3, x4;
3730 : 284437 : int res ATTRIBUTE_UNUSED;
3731 : 284437 : x2 = XEXP (x1, 1);
3732 : 284437 : x3 = XVECEXP (x2, 0, 0);
3733 : 284437 : switch (XWINT (x3, 0))
3734 : : {
3735 : 135919 : case 0L:
3736 : 135919 : x4 = XVECEXP (x2, 0, 1);
3737 : 135919 : if (XWINT (x4, 0) != 2L)
3738 : : return -1;
3739 : 135691 : switch (GET_MODE (operands[0]))
3740 : : {
3741 : 5903 : case E_V2SFmode:
3742 : 5903 : return pattern269 (x1,
3743 : : E_V2SFmode,
3744 : 5903 : E_V4SFmode); /* [-1, 0] */
3745 : :
3746 : 13951 : case E_V2SImode:
3747 : 13951 : if (pattern270 (x1,
3748 : : E_V2SImode,
3749 : : E_V4SImode) != 0)
3750 : : return -1;
3751 : : return 1;
3752 : :
3753 : : default:
3754 : : return -1;
3755 : : }
3756 : :
3757 : 144275 : case 1L:
3758 : 144275 : x4 = XVECEXP (x2, 0, 1);
3759 : 144275 : if (XWINT (x4, 0) != 3L)
3760 : : return -1;
3761 : 107448 : switch (GET_MODE (operands[0]))
3762 : : {
3763 : 3141 : case E_V2SFmode:
3764 : 3141 : if (pattern269 (x1,
3765 : : E_V2SFmode,
3766 : : E_V4SFmode) != 0)
3767 : : return -1;
3768 : : return 2;
3769 : :
3770 : 7674 : case E_V2SImode:
3771 : 7674 : if (pattern270 (x1,
3772 : : E_V2SImode,
3773 : : E_V4SImode) != 0)
3774 : : return -1;
3775 : : return 3;
3776 : :
3777 : : default:
3778 : : return -1;
3779 : : }
3780 : :
3781 : : default:
3782 : : return -1;
3783 : : }
3784 : : }
3785 : :
3786 : : int
3787 : 106791 : pattern986 (rtx x1, machine_mode i1)
3788 : : {
3789 : 106791 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3790 : 106791 : rtx x2;
3791 : 106791 : int res ATTRIBUTE_UNUSED;
3792 : 106791 : if (!register_operand (operands[0], i1)
3793 : 106791 : || GET_MODE (x1) != i1)
3794 : : return -1;
3795 : 106695 : x2 = XEXP (x1, 0);
3796 : 106695 : switch (GET_MODE (x2))
3797 : : {
3798 : 70290 : case E_HImode:
3799 : 70290 : switch (GET_MODE (operands[1]))
3800 : : {
3801 : 8426 : case E_V4HImode:
3802 : 8426 : if (!register_operand (operands[1], E_V4HImode)
3803 : 8426 : || !const_0_to_3_operand (operands[2], E_SImode))
3804 : 1768 : return -1;
3805 : : return 0;
3806 : :
3807 : 4120 : case E_V2HImode:
3808 : 4120 : if (!register_operand (operands[1], E_V2HImode)
3809 : 4120 : || !const_0_to_1_operand (operands[2], E_SImode))
3810 : 692 : return -1;
3811 : : return 1;
3812 : :
3813 : 56951 : case E_V8HImode:
3814 : 56951 : if (!register_operand (operands[1], E_V8HImode)
3815 : 56951 : || !const_0_to_7_operand (operands[2], E_SImode))
3816 : 8356 : return -1;
3817 : : return 2;
3818 : :
3819 : : default:
3820 : : return -1;
3821 : : }
3822 : :
3823 : 28878 : case E_QImode:
3824 : 28878 : res = pattern985 ();
3825 : 28878 : if (res >= 0)
3826 : 21367 : return res + 3; /* [3, 5] */
3827 : : return -1;
3828 : :
3829 : : default:
3830 : : return -1;
3831 : : }
3832 : : }
3833 : :
3834 : : int
3835 : 1600 : pattern998 (rtx x1)
3836 : : {
3837 : 1600 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3838 : 1600 : rtx x2;
3839 : 1600 : int res ATTRIBUTE_UNUSED;
3840 : 1600 : if (!register_operand (operands[0], E_V2DImode)
3841 : 1600 : || GET_MODE (x1) != E_V2DImode)
3842 : : return -1;
3843 : 1541 : x2 = XEXP (x1, 0);
3844 : 1541 : if (GET_MODE (x2) != E_V2DImode
3845 : 1541 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
3846 : 3052 : || !register_operand (operands[3], E_QImode))
3847 : 149 : return -1;
3848 : 1392 : switch (GET_MODE (operands[1]))
3849 : : {
3850 : 444 : case E_V8HFmode:
3851 : 444 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
3852 : : return -1;
3853 : : return 0;
3854 : :
3855 : 476 : case E_V2DFmode:
3856 : 476 : if (!vector_operand (operands[1], E_V2DFmode))
3857 : : return -1;
3858 : : return 1;
3859 : :
3860 : 472 : case E_V4SFmode:
3861 : 472 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3862 : : return -1;
3863 : : return 2;
3864 : :
3865 : : default:
3866 : : return -1;
3867 : : }
3868 : : }
3869 : :
3870 : : int
3871 : 2371 : pattern1011 (rtx x1, machine_mode i1, machine_mode i2)
3872 : : {
3873 : 2371 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3874 : 2371 : rtx x2;
3875 : 2371 : int res ATTRIBUTE_UNUSED;
3876 : 2371 : if (!register_operand (operands[0], i1)
3877 : 2371 : || GET_MODE (x1) != i1)
3878 : : return -1;
3879 : 2294 : x2 = XEXP (x1, 0);
3880 : 2294 : if (GET_MODE (x2) != i1
3881 : 2294 : || !register_operand (operands[1], i1)
3882 : 2098 : || !bcst_vector_operand (operands[2], i1)
3883 : 2001 : || !nonimm_or_0_operand (operands[3], i1)
3884 : 4248 : || !register_operand (operands[4], i2))
3885 : 340 : return -1;
3886 : : return 0;
3887 : : }
3888 : :
3889 : : int
3890 : 345 : pattern1019 (rtx x1, machine_mode i1)
3891 : : {
3892 : 345 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3893 : 345 : rtx x2;
3894 : 345 : int res ATTRIBUTE_UNUSED;
3895 : 345 : if (!register_operand (operands[0], i1)
3896 : 345 : || GET_MODE (x1) != i1)
3897 : : return -1;
3898 : 331 : x2 = XVECEXP (x1, 0, 0);
3899 : 331 : if (GET_MODE (x2) != i1
3900 : 331 : || !register_operand (operands[1], i1))
3901 : 9 : return -1;
3902 : : return 0;
3903 : : }
3904 : :
3905 : : int
3906 : 22651 : pattern1026 (rtx x1, machine_mode i1)
3907 : : {
3908 : 22651 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3909 : 22651 : int res ATTRIBUTE_UNUSED;
3910 : 22651 : if (!register_operand (operands[0], i1)
3911 : 22169 : || GET_MODE (x1) != i1
3912 : 22169 : || !register_operand (operands[1], i1)
3913 : 17158 : || !vector_operand (operands[2], i1)
3914 : 37100 : || !register_operand (operands[3], i1))
3915 : 10554 : return -1;
3916 : : return 0;
3917 : : }
3918 : :
3919 : : int
3920 : 1315 : pattern1032 (rtx x1, machine_mode i1, machine_mode i2)
3921 : : {
3922 : 1315 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3923 : 1315 : rtx x2;
3924 : 1315 : int res ATTRIBUTE_UNUSED;
3925 : 1315 : if (!nonimmediate_operand (operands[0], i2)
3926 : 1315 : || GET_MODE (x1) != i2
3927 : 2630 : || !nonimmediate_operand (operands[1], i1))
3928 : 0 : return -1;
3929 : 1315 : x2 = XEXP (x1, 1);
3930 : 1315 : if (GET_MODE (x2) != i1)
3931 : : return -1;
3932 : : return 0;
3933 : : }
3934 : :
3935 : : int
3936 : 175 : pattern1041 (rtx x1, machine_mode i1)
3937 : : {
3938 : 175 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3939 : 175 : rtx x2, x3, x4, x5, x6;
3940 : 175 : int res ATTRIBUTE_UNUSED;
3941 : 175 : if (!register_operand (operands[0], i1))
3942 : : return -1;
3943 : 175 : x2 = XVECEXP (x1, 0, 0);
3944 : 175 : x3 = XEXP (x2, 1);
3945 : 175 : if (GET_MODE (x3) != i1)
3946 : : return -1;
3947 : 175 : x4 = XEXP (x3, 0);
3948 : 175 : switch (GET_MODE (x4))
3949 : : {
3950 : 0 : case E_DImode:
3951 : 0 : x5 = XVECEXP (x1, 0, 1);
3952 : 0 : x6 = XEXP (x5, 1);
3953 : 0 : return pattern1039 (x6); /* [-1, 0] */
3954 : :
3955 : 44 : case E_HImode:
3956 : 44 : if (!register_operand (operands[4], E_HImode))
3957 : : return -1;
3958 : 44 : x5 = XVECEXP (x1, 0, 1);
3959 : 44 : x6 = XEXP (x5, 1);
3960 : 44 : if (GET_MODE (x6) != E_HImode)
3961 : : return -1;
3962 : 44 : switch (GET_MODE (operands[1]))
3963 : : {
3964 : 14 : case E_V16QImode:
3965 : 14 : if (!nonimmediate_operand (operands[1], E_V16QImode)
3966 : 14 : || !nonimmediate_operand (operands[2], E_V16QImode))
3967 : 2 : return -1;
3968 : : return 1;
3969 : :
3970 : 16 : case E_V16HImode:
3971 : 16 : if (!nonimmediate_operand (operands[1], E_V16HImode)
3972 : 16 : || !nonimmediate_operand (operands[2], E_V16HImode))
3973 : 2 : return -1;
3974 : : return 2;
3975 : :
3976 : 14 : case E_V16SImode:
3977 : 14 : if (!nonimmediate_operand (operands[1], E_V16SImode)
3978 : 14 : || !nonimmediate_operand (operands[2], E_V16SImode))
3979 : 2 : return -1;
3980 : : return 3;
3981 : :
3982 : : default:
3983 : : return -1;
3984 : : }
3985 : :
3986 : 14 : case E_SImode:
3987 : 14 : if (!register_operand (operands[4], E_SImode))
3988 : : return -1;
3989 : 14 : x5 = XVECEXP (x1, 0, 1);
3990 : 14 : x6 = XEXP (x5, 1);
3991 : 14 : if (GET_MODE (x6) != E_SImode)
3992 : : return -1;
3993 : 14 : switch (GET_MODE (operands[1]))
3994 : : {
3995 : 7 : case E_V32QImode:
3996 : 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
3997 : 7 : || !nonimmediate_operand (operands[2], E_V32QImode))
3998 : 1 : return -1;
3999 : : return 4;
4000 : :
4001 : 7 : case E_V32HImode:
4002 : 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4003 : 7 : || !nonimmediate_operand (operands[2], E_V32HImode))
4004 : 1 : return -1;
4005 : : return 5;
4006 : :
4007 : : default:
4008 : : return -1;
4009 : : }
4010 : :
4011 : 117 : case E_QImode:
4012 : 117 : if (!register_operand (operands[4], E_QImode))
4013 : : return -1;
4014 : 117 : x5 = XVECEXP (x1, 0, 1);
4015 : 117 : x6 = XEXP (x5, 1);
4016 : 117 : if (GET_MODE (x6) != E_QImode)
4017 : : return -1;
4018 : 117 : switch (GET_MODE (operands[1]))
4019 : : {
4020 : 12 : case E_V8HImode:
4021 : 12 : if (!nonimmediate_operand (operands[1], E_V8HImode)
4022 : 12 : || !nonimmediate_operand (operands[2], E_V8HImode))
4023 : 0 : return -1;
4024 : : return 6;
4025 : :
4026 : 21 : case E_V8SImode:
4027 : 21 : if (!nonimmediate_operand (operands[1], E_V8SImode)
4028 : 21 : || !nonimmediate_operand (operands[2], E_V8SImode))
4029 : 3 : return -1;
4030 : : return 7;
4031 : :
4032 : 21 : case E_V4SImode:
4033 : 21 : if (!nonimmediate_operand (operands[1], E_V4SImode)
4034 : 21 : || !nonimmediate_operand (operands[2], E_V4SImode))
4035 : 3 : return -1;
4036 : : return 8;
4037 : :
4038 : 21 : case E_V8DImode:
4039 : 21 : if (!nonimmediate_operand (operands[1], E_V8DImode)
4040 : 21 : || !nonimmediate_operand (operands[2], E_V8DImode))
4041 : 3 : return -1;
4042 : : return 9;
4043 : :
4044 : 21 : case E_V4DImode:
4045 : 21 : if (!nonimmediate_operand (operands[1], E_V4DImode)
4046 : 21 : || !nonimmediate_operand (operands[2], E_V4DImode))
4047 : 3 : return -1;
4048 : : return 10;
4049 : :
4050 : 21 : case E_V2DImode:
4051 : 21 : if (!nonimmediate_operand (operands[1], E_V2DImode)
4052 : 21 : || !nonimmediate_operand (operands[2], E_V2DImode))
4053 : 3 : return -1;
4054 : : return 11;
4055 : :
4056 : : default:
4057 : : return -1;
4058 : : }
4059 : :
4060 : : default:
4061 : : return -1;
4062 : : }
4063 : : }
4064 : :
4065 : : int
4066 : 17 : pattern1076 (rtx x1, machine_mode i1)
4067 : : {
4068 : 17 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4069 : 17 : int res ATTRIBUTE_UNUSED;
4070 : 17 : if (!register_operand (operands[0], i1)
4071 : 17 : || GET_MODE (x1) != i1
4072 : 17 : || !register_operand (operands[1], i1)
4073 : 28 : || !general_operand (operands[2], i1))
4074 : 12 : return -1;
4075 : : return 0;
4076 : : }
4077 : :
4078 : : int
4079 : 471 : pattern1084 (rtx x1)
4080 : : {
4081 : 471 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4082 : 471 : int res ATTRIBUTE_UNUSED;
4083 : 471 : switch (GET_MODE (x1))
4084 : : {
4085 : 110 : case E_HImode:
4086 : 110 : switch (GET_MODE (operands[1]))
4087 : : {
4088 : 28 : case E_V16SImode:
4089 : 28 : if (!nonimmediate_operand (operands[1], E_V16SImode)
4090 : 28 : || !nonimmediate_operand (operands[2], E_V16SImode))
4091 : 13 : return -1;
4092 : : return 0;
4093 : :
4094 : 18 : case E_V16HFmode:
4095 : 18 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
4096 : 18 : || !nonimmediate_operand (operands[2], E_V16HFmode))
4097 : 2 : return -1;
4098 : : return 1;
4099 : :
4100 : 24 : case E_V16SFmode:
4101 : 24 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
4102 : 24 : || !nonimmediate_operand (operands[2], E_V16SFmode))
4103 : 2 : return -1;
4104 : : return 2;
4105 : :
4106 : 20 : case E_V16QImode:
4107 : 20 : if (!nonimmediate_operand (operands[1], E_V16QImode)
4108 : 20 : || !nonimmediate_operand (operands[2], E_V16QImode))
4109 : 6 : return -1;
4110 : : return 3;
4111 : :
4112 : 20 : case E_V16HImode:
4113 : 20 : if (!nonimmediate_operand (operands[1], E_V16HImode)
4114 : 20 : || !nonimmediate_operand (operands[2], E_V16HImode))
4115 : 6 : return -1;
4116 : : return 4;
4117 : :
4118 : : default:
4119 : : return -1;
4120 : : }
4121 : :
4122 : 340 : case E_QImode:
4123 : 340 : switch (GET_MODE (operands[1]))
4124 : : {
4125 : 26 : case E_V8SImode:
4126 : 26 : if (!nonimmediate_operand (operands[1], E_V8SImode)
4127 : 26 : || !nonimmediate_operand (operands[2], E_V8SImode))
4128 : 5 : return -1;
4129 : : return 5;
4130 : :
4131 : 26 : case E_V4SImode:
4132 : 26 : if (!nonimmediate_operand (operands[1], E_V4SImode)
4133 : 26 : || !nonimmediate_operand (operands[2], E_V4SImode))
4134 : 5 : return -1;
4135 : : return 6;
4136 : :
4137 : 53 : case E_V8DImode:
4138 : 53 : if (!nonimmediate_operand (operands[1], E_V8DImode)
4139 : 53 : || !nonimmediate_operand (operands[2], E_V8DImode))
4140 : 10 : return -1;
4141 : : return 7;
4142 : :
4143 : 25 : case E_V4DImode:
4144 : 25 : if (!nonimmediate_operand (operands[1], E_V4DImode)
4145 : 25 : || !nonimmediate_operand (operands[2], E_V4DImode))
4146 : 5 : return -1;
4147 : : return 8;
4148 : :
4149 : 25 : case E_V2DImode:
4150 : 25 : if (!nonimmediate_operand (operands[1], E_V2DImode)
4151 : 25 : || !nonimmediate_operand (operands[2], E_V2DImode))
4152 : 5 : return -1;
4153 : : return 9;
4154 : :
4155 : 32 : case E_V8HFmode:
4156 : 32 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
4157 : 32 : || !nonimmediate_operand (operands[2], E_V8HFmode))
4158 : 0 : return -1;
4159 : : return 10;
4160 : :
4161 : 21 : case E_V8SFmode:
4162 : 21 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
4163 : 21 : || !nonimmediate_operand (operands[2], E_V8SFmode))
4164 : 3 : return -1;
4165 : : return 11;
4166 : :
4167 : 27 : case E_V4SFmode:
4168 : 27 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
4169 : 27 : || !nonimmediate_operand (operands[2], E_V4SFmode))
4170 : 6 : return -1;
4171 : : return 12;
4172 : :
4173 : 35 : case E_V8DFmode:
4174 : 35 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
4175 : 35 : || !nonimmediate_operand (operands[2], E_V8DFmode))
4176 : 3 : return -1;
4177 : : return 13;
4178 : :
4179 : 21 : case E_V4DFmode:
4180 : 21 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
4181 : 21 : || !nonimmediate_operand (operands[2], E_V4DFmode))
4182 : 3 : return -1;
4183 : : return 14;
4184 : :
4185 : 21 : case E_V2DFmode:
4186 : 21 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
4187 : 21 : || !nonimmediate_operand (operands[2], E_V2DFmode))
4188 : 3 : return -1;
4189 : : return 15;
4190 : :
4191 : 28 : case E_V8HImode:
4192 : 28 : if (!nonimmediate_operand (operands[1], E_V8HImode)
4193 : 28 : || !nonimmediate_operand (operands[2], E_V8HImode))
4194 : 2 : return -1;
4195 : : return 16;
4196 : :
4197 : : default:
4198 : : return -1;
4199 : : }
4200 : :
4201 : 21 : case E_SImode:
4202 : 21 : switch (GET_MODE (operands[1]))
4203 : : {
4204 : 7 : case E_V32HFmode:
4205 : 7 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
4206 : 7 : || !nonimmediate_operand (operands[2], E_V32HFmode))
4207 : 1 : return -1;
4208 : : return 17;
4209 : :
4210 : 7 : case E_V32QImode:
4211 : 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
4212 : 7 : || !nonimmediate_operand (operands[2], E_V32QImode))
4213 : 1 : return -1;
4214 : : return 18;
4215 : :
4216 : 7 : case E_V32HImode:
4217 : 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4218 : 7 : || !nonimmediate_operand (operands[2], E_V32HImode))
4219 : 1 : return -1;
4220 : : return 19;
4221 : :
4222 : : default:
4223 : : return -1;
4224 : : }
4225 : :
4226 : 0 : case E_DImode:
4227 : 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
4228 : 0 : || !nonimmediate_operand (operands[2], E_V64QImode))
4229 : 0 : return -1;
4230 : : return 20;
4231 : :
4232 : : default:
4233 : : return -1;
4234 : : }
4235 : : }
4236 : :
4237 : : int
4238 : 436 : pattern1138 (rtx x1, machine_mode i1, machine_mode i2)
4239 : : {
4240 : 436 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4241 : 436 : int res ATTRIBUTE_UNUSED;
4242 : 436 : if (!register_operand (operands[0], i2)
4243 : 401 : || GET_MODE (x1) != i2
4244 : 401 : || !register_operand (operands[1], i2)
4245 : 339 : || !register_operand (operands[2], i2)
4246 : 761 : || !nonimmediate_operand (operands[3], i1))
4247 : 111 : return -1;
4248 : : return 0;
4249 : : }
4250 : :
4251 : : int
4252 : 7317 : pattern1146 (rtx x1)
4253 : : {
4254 : 7317 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4255 : 7317 : rtx x2, x3, x4, x5;
4256 : 7317 : int res ATTRIBUTE_UNUSED;
4257 : 7317 : x2 = XEXP (x1, 2);
4258 : 7317 : x3 = XEXP (x2, 0);
4259 : 7317 : if (!rtx_equal_p (x3, operands[1]))
4260 : : return -1;
4261 : 7317 : x4 = XEXP (x2, 1);
4262 : 7317 : x5 = XEXP (x4, 0);
4263 : 7317 : if (!rtx_equal_p (x5, operands[2]))
4264 : : return -1;
4265 : 7295 : switch (GET_MODE (operands[0]))
4266 : : {
4267 : 453 : case E_V16QImode:
4268 : 453 : return pattern1145 (x1,
4269 : 453 : E_V16QImode); /* [-1, 0] */
4270 : :
4271 : 396 : case E_V8HImode:
4272 : 396 : if (pattern1145 (x1,
4273 : : E_V8HImode) != 0)
4274 : : return -1;
4275 : : return 1;
4276 : :
4277 : 4233 : case E_V4SImode:
4278 : 4233 : if (pattern1145 (x1,
4279 : : E_V4SImode) != 0)
4280 : : return -1;
4281 : : return 2;
4282 : :
4283 : 2213 : case E_V2DImode:
4284 : 2213 : if (pattern1145 (x1,
4285 : : E_V2DImode) != 0)
4286 : : return -1;
4287 : : return 3;
4288 : :
4289 : : default:
4290 : : return -1;
4291 : : }
4292 : : }
4293 : :
4294 : : int
4295 : 1848 : pattern1158 (rtx x1)
4296 : : {
4297 : 1848 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4298 : 1848 : rtx x2, x3, x4, x5, x6, x7;
4299 : 1848 : int res ATTRIBUTE_UNUSED;
4300 : 1848 : x2 = XEXP (x1, 0);
4301 : 1848 : x3 = XEXP (x2, 0);
4302 : 1848 : x4 = XEXP (x3, 1);
4303 : 1848 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4304 : : return -1;
4305 : 1644 : x5 = XEXP (x3, 0);
4306 : 1644 : operands[3] = x5;
4307 : 1644 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
4308 : : return -1;
4309 : 859 : x6 = XEXP (x2, 1);
4310 : 859 : operands[1] = x6;
4311 : 859 : x7 = XEXP (x1, 1);
4312 : 859 : operands[2] = x7;
4313 : 859 : switch (GET_MODE (operands[0]))
4314 : : {
4315 : 0 : case E_QImode:
4316 : 0 : return pattern1156 (x1,
4317 : 0 : E_QImode); /* [-1, 0] */
4318 : :
4319 : 0 : case E_HImode:
4320 : 0 : if (pattern1156 (x1,
4321 : : E_HImode) != 0)
4322 : : return -1;
4323 : : return 1;
4324 : :
4325 : 841 : case E_SImode:
4326 : 841 : if (pattern1157 (x1,
4327 : : E_SImode) != 0)
4328 : : return -1;
4329 : : return 2;
4330 : :
4331 : 18 : case E_DImode:
4332 : 18 : if (pattern1157 (x1,
4333 : : E_DImode) != 0)
4334 : : return -1;
4335 : : return 3;
4336 : :
4337 : : default:
4338 : : return -1;
4339 : : }
4340 : : }
4341 : :
4342 : : int
4343 : 9 : pattern1176 (rtx x1, machine_mode i1, machine_mode i2)
4344 : : {
4345 : 9 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4346 : 9 : rtx x2, x3;
4347 : 9 : int res ATTRIBUTE_UNUSED;
4348 : 9 : x2 = XEXP (x1, 0);
4349 : 9 : if (GET_MODE (x2) != E_SImode
4350 : 9 : || !register_operand (operands[0], i2)
4351 : 18 : || GET_MODE (x1) != i2)
4352 : 0 : return -1;
4353 : 9 : x3 = XEXP (x2, 0);
4354 : 9 : operands[1] = x3;
4355 : 9 : if (!nonimmediate_operand (operands[1], i1))
4356 : : return -1;
4357 : : return 0;
4358 : : }
4359 : :
4360 : : int
4361 : 22297 : pattern1181 (rtx x1)
4362 : : {
4363 : 22297 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4364 : 22297 : rtx x2, x3, x4, x5;
4365 : 22297 : int res ATTRIBUTE_UNUSED;
4366 : 22297 : if (!nonmemory_operand (operands[2], E_QImode))
4367 : : return -1;
4368 : 22282 : x2 = XEXP (x1, 0);
4369 : 22282 : if (GET_CODE (x2) != STRICT_LOW_PART)
4370 : : return -1;
4371 : 13 : x3 = XEXP (x2, 0);
4372 : 13 : operands[0] = x3;
4373 : 13 : x4 = XEXP (x1, 1);
4374 : 13 : x5 = XEXP (x4, 0);
4375 : 13 : operands[1] = x5;
4376 : 13 : return pattern373 (x4); /* [-1, 1] */
4377 : : }
4378 : :
4379 : : int
4380 : 0 : pattern1189 (rtx x1, machine_mode i1)
4381 : : {
4382 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4383 : 0 : rtx x2, x3;
4384 : 0 : int res ATTRIBUTE_UNUSED;
4385 : 0 : if (!register_operand (operands[0], i1)
4386 : 0 : || GET_MODE (x1) != i1)
4387 : : return -1;
4388 : 0 : x2 = XEXP (x1, 0);
4389 : 0 : if (GET_MODE (x2) != i1)
4390 : : return -1;
4391 : 0 : x3 = XEXP (x2, 0);
4392 : 0 : if (GET_MODE (x3) != i1
4393 : 0 : || !register_operand (operands[1], i1)
4394 : 0 : || !register_operand (operands[2], i1)
4395 : 0 : || !nonimmediate_operand (operands[3], i1))
4396 : 0 : return -1;
4397 : : return 0;
4398 : : }
4399 : :
4400 : : int
4401 : 1235 : pattern1196 (rtx x1, machine_mode i1)
4402 : : {
4403 : 1235 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4404 : 1235 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4405 : 1235 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
4406 : 1235 : rtx x18, x19;
4407 : 1235 : int res ATTRIBUTE_UNUSED;
4408 : 1235 : if (GET_CODE (x1) != PARALLEL
4409 : 1049 : || XVECLEN (x1, 0) != 2)
4410 : : return -1;
4411 : 1049 : x2 = XVECEXP (x1, 0, 0);
4412 : 1049 : if (GET_CODE (x2) != SET)
4413 : : return -1;
4414 : 1049 : x3 = XEXP (x2, 1);
4415 : 1049 : if (GET_CODE (x3) != PLUS
4416 : 581 : || GET_MODE (x3) != i1)
4417 : : return -1;
4418 : 581 : x4 = XEXP (x3, 0);
4419 : 581 : if (GET_CODE (x4) != PLUS
4420 : 581 : || GET_MODE (x4) != i1)
4421 : : return -1;
4422 : 581 : x5 = XEXP (x4, 0);
4423 : 581 : if (GET_CODE (x5) != LTU
4424 : 581 : || GET_MODE (x5) != i1)
4425 : : return -1;
4426 : 581 : x6 = XEXP (x5, 0);
4427 : 581 : if (GET_CODE (x6) != REG
4428 : 581 : || REGNO (x6) != 17
4429 : 1162 : || GET_MODE (x6) != E_CCmode)
4430 : : return -1;
4431 : 581 : x7 = XEXP (x5, 1);
4432 : 581 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4433 : : return -1;
4434 : 581 : x8 = XEXP (x3, 1);
4435 : 581 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4436 : : return -1;
4437 : 581 : x9 = XVECEXP (x1, 0, 1);
4438 : 581 : if (GET_CODE (x9) != CLOBBER)
4439 : : return -1;
4440 : 581 : x10 = XEXP (x9, 0);
4441 : 581 : if (GET_CODE (x10) != REG
4442 : 581 : || REGNO (x10) != 17
4443 : 1162 : || GET_MODE (x10) != E_CCmode)
4444 : : return -1;
4445 : 581 : x11 = XEXP (x4, 1);
4446 : 581 : if (!rtx_equal_p (x11, operands[0]))
4447 : : return -1;
4448 : 547 : x12 = XEXP (x2, 0);
4449 : 547 : if (!rtx_equal_p (x12, operands[0]))
4450 : : return -1;
4451 : 547 : x13 = PATTERN (peep2_next_insn (3));
4452 : 547 : if (GET_CODE (x13) != PARALLEL
4453 : 547 : || XVECLEN (x13, 0) != 2)
4454 : : return -1;
4455 : 547 : x14 = XVECEXP (x13, 0, 0);
4456 : 547 : if (GET_CODE (x14) != SET)
4457 : : return -1;
4458 : 547 : x15 = XEXP (x14, 1);
4459 : 547 : if (GET_CODE (x15) != NEG
4460 : 538 : || GET_MODE (x15) != i1)
4461 : : return -1;
4462 : 538 : x16 = XVECEXP (x13, 0, 1);
4463 : 538 : if (GET_CODE (x16) != CLOBBER)
4464 : : return -1;
4465 : 538 : x17 = XEXP (x16, 0);
4466 : 538 : if (GET_CODE (x17) != REG
4467 : 538 : || REGNO (x17) != 17
4468 : 1076 : || GET_MODE (x17) != E_CCmode)
4469 : : return -1;
4470 : 538 : x18 = XEXP (x15, 0);
4471 : 538 : if (!rtx_equal_p (x18, operands[0]))
4472 : : return -1;
4473 : 538 : x19 = XEXP (x14, 0);
4474 : 538 : if (!rtx_equal_p (x19, operands[0]))
4475 : : return -1;
4476 : : return 0;
4477 : : }
4478 : :
4479 : : int
4480 : 184 : pattern1221 (rtx x1)
4481 : : {
4482 : 184 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4483 : 184 : rtx x2;
4484 : 184 : int res ATTRIBUTE_UNUSED;
4485 : 184 : if (!register_operand (operands[0], E_V4DImode)
4486 : 184 : || GET_MODE (x1) != E_V4DImode)
4487 : : return -1;
4488 : 164 : x2 = XVECEXP (x1, 0, 0);
4489 : 164 : if (GET_MODE (x2) != E_V4DImode)
4490 : : return -1;
4491 : 164 : switch (GET_MODE (operands[1]))
4492 : : {
4493 : : case E_V8HFmode:
4494 : : return 0;
4495 : :
4496 : 58 : case E_V4SFmode:
4497 : 58 : return 1;
4498 : :
4499 : 58 : case E_V4DFmode:
4500 : 58 : return 2;
4501 : :
4502 : : default:
4503 : : return -1;
4504 : : }
4505 : : }
4506 : :
4507 : : int
4508 : 665 : pattern1226 (rtx x1, machine_mode i1)
4509 : : {
4510 : 665 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4511 : 665 : rtx x2;
4512 : 665 : int res ATTRIBUTE_UNUSED;
4513 : 665 : if (!register_operand (operands[0], i1)
4514 : 665 : || GET_MODE (x1) != i1)
4515 : : return -1;
4516 : 598 : x2 = XVECEXP (x1, 0, 0);
4517 : 598 : if (GET_MODE (x2) != i1
4518 : 598 : || !register_operand (operands[1], i1))
4519 : 57 : return -1;
4520 : : return 0;
4521 : : }
4522 : :
4523 : : int
4524 : 37 : pattern1232 (rtx x1, int i1, int i2, int i3, int i4, int i5)
4525 : : {
4526 : 37 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4527 : 37 : rtx x2, x3, x4, x5, x6;
4528 : 37 : int res ATTRIBUTE_UNUSED;
4529 : 37 : x2 = XVECEXP (x1, 0, 3);
4530 : 37 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
4531 : : return -1;
4532 : 37 : x3 = XVECEXP (x1, 0, 4);
4533 : 37 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4534 : : return -1;
4535 : 37 : x4 = XVECEXP (x1, 0, 5);
4536 : 37 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4537 : : return -1;
4538 : 37 : x5 = XVECEXP (x1, 0, 6);
4539 : 37 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4540 : : return -1;
4541 : 37 : x6 = XVECEXP (x1, 0, 7);
4542 : 37 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4543 : 0 : return -1;
4544 : : return 0;
4545 : : }
4546 : :
4547 : : int
4548 : 0 : pattern1239 (rtx x1, rtx_code i1)
4549 : : {
4550 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4551 : 0 : rtx x2, x3, x4, x5, x6, x7, x8;
4552 : 0 : int res ATTRIBUTE_UNUSED;
4553 : 0 : x2 = XVECEXP (x1, 0, 1);
4554 : 0 : x3 = XEXP (x2, 1);
4555 : 0 : if (GET_MODE (x3) != E_DImode)
4556 : : return -1;
4557 : 0 : x4 = XEXP (x3, 0);
4558 : 0 : if (GET_CODE (x4) != i1
4559 : 0 : || GET_MODE (x4) != E_SImode)
4560 : : return -1;
4561 : 0 : x5 = XVECEXP (x1, 0, 0);
4562 : 0 : x6 = XEXP (x5, 1);
4563 : 0 : x7 = XEXP (x6, 0);
4564 : 0 : if (GET_MODE (x7) != E_SImode
4565 : 0 : || !nonimmediate_operand (operands[1], E_SImode)
4566 : 0 : || !register_operand (operands[0], E_DImode))
4567 : 0 : return -1;
4568 : 0 : x8 = XEXP (x4, 0);
4569 : 0 : if (!rtx_equal_p (x8, operands[1]))
4570 : : return -1;
4571 : : return 0;
4572 : : }
4573 : :
4574 : : int
4575 : 58 : pattern1244 (rtx x1)
4576 : : {
4577 : 58 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4578 : 58 : rtx x2, x3, x4, x5;
4579 : 58 : int res ATTRIBUTE_UNUSED;
4580 : 58 : x2 = XEXP (x1, 0);
4581 : 58 : x3 = XEXP (x2, 0);
4582 : 58 : x4 = XEXP (x3, 0);
4583 : 58 : operands[1] = x4;
4584 : 58 : x5 = XEXP (x3, 1);
4585 : 58 : operands[2] = x5;
4586 : 58 : if (!register_operand (operands[2], E_QImode))
4587 : : return -1;
4588 : 50 : switch (GET_MODE (operands[0]))
4589 : : {
4590 : 40 : case E_SImode:
4591 : 40 : return pattern1243 (x1,
4592 : 40 : E_SImode); /* [-1, 0] */
4593 : :
4594 : 10 : case E_DImode:
4595 : 10 : if (pattern1243 (x1,
4596 : : E_DImode) != 0)
4597 : : return -1;
4598 : : return 1;
4599 : :
4600 : : default:
4601 : : return -1;
4602 : : }
4603 : : }
4604 : :
4605 : : int
4606 : 1221844 : pattern1252 (rtx x1)
4607 : : {
4608 : 1221844 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4609 : 1221844 : rtx x2, x3;
4610 : 1221844 : int res ATTRIBUTE_UNUSED;
4611 : 1221844 : x2 = XEXP (x1, 0);
4612 : 1221844 : switch (GET_CODE (x2))
4613 : : {
4614 : 1219153 : case REG:
4615 : 1219153 : case SUBREG:
4616 : 1219153 : operands[0] = x2;
4617 : 1219153 : switch (GET_MODE (operands[0]))
4618 : : {
4619 : 726667 : case E_DImode:
4620 : 726667 : if (!register_operand (operands[0], E_DImode))
4621 : : return -1;
4622 : 726667 : x3 = XEXP (x1, 1);
4623 : 726667 : if (GET_MODE (x3) != E_DImode)
4624 : : return -1;
4625 : : return 0;
4626 : :
4627 : 25496 : case E_TImode:
4628 : 25496 : x3 = XEXP (x1, 1);
4629 : 25496 : if (pattern1250 (x3,
4630 : : E_TImode) != 0)
4631 : : return -1;
4632 : : return 1;
4633 : :
4634 : : default:
4635 : : return -1;
4636 : : }
4637 : :
4638 : 108 : case STRICT_LOW_PART:
4639 : 108 : res = pattern1251 (x1);
4640 : 108 : if (res >= 0)
4641 : 108 : return res + 2; /* [2, 3] */
4642 : : return -1;
4643 : :
4644 : : default:
4645 : : return -1;
4646 : : }
4647 : : }
4648 : :
4649 : : int
4650 : 165 : pattern1264 ()
4651 : : {
4652 : 165 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4653 : 165 : int res ATTRIBUTE_UNUSED;
4654 : 165 : switch (GET_MODE (operands[3]))
4655 : : {
4656 : 69 : case E_HImode:
4657 : 69 : if (!extract_operator (operands[3], E_HImode))
4658 : : return -1;
4659 : : return 0;
4660 : :
4661 : 63 : case E_SImode:
4662 : 63 : if (!extract_operator (operands[3], E_SImode))
4663 : : return -1;
4664 : : return 1;
4665 : :
4666 : 33 : case E_DImode:
4667 : 33 : if (!extract_operator (operands[3], E_DImode))
4668 : : return -1;
4669 : : return 2;
4670 : :
4671 : : default:
4672 : : return -1;
4673 : : }
4674 : : }
4675 : :
4676 : : int
4677 : 5217 : pattern1273 (rtx x1, machine_mode i1)
4678 : : {
4679 : 5217 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4680 : 5217 : rtx x2;
4681 : 5217 : int res ATTRIBUTE_UNUSED;
4682 : 5217 : if (!nonimmediate_operand (operands[0], i1)
4683 : 5217 : || GET_MODE (x1) != i1)
4684 : : return -1;
4685 : 5217 : x2 = XEXP (x1, 0);
4686 : 5217 : if (GET_MODE (x2) != i1
4687 : 5217 : || !ix86_carry_flag_operator (operands[4], i1)
4688 : 5217 : || !nonimmediate_operand (operands[1], i1)
4689 : 10406 : || !x86_64_general_operand (operands[2], i1))
4690 : 196 : return -1;
4691 : : return 0;
4692 : : }
4693 : :
4694 : : int
4695 : 751 : pattern1280 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4696 : : {
4697 : 751 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4698 : 751 : rtx x2;
4699 : 751 : int res ATTRIBUTE_UNUSED;
4700 : 751 : if (!register_operand (operands[0], i2)
4701 : 751 : || GET_MODE (x1) != i2)
4702 : : return -1;
4703 : 725 : x2 = XEXP (x1, 0);
4704 : 725 : if (GET_MODE (x2) != i2
4705 : 725 : || !register_operand (operands[1], i3)
4706 : 719 : || !nonimmediate_operand (operands[2], i3)
4707 : 719 : || !nonimm_or_0_operand (operands[4], i2)
4708 : 1423 : || !register_operand (operands[5], i1))
4709 : 108 : return -1;
4710 : : return 0;
4711 : : }
4712 : :
4713 : : int
4714 : 3628 : pattern1291 (rtx x1)
4715 : : {
4716 : 3628 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4717 : 3628 : rtx x2;
4718 : 3628 : int res ATTRIBUTE_UNUSED;
4719 : 3628 : if (!const_0_to_7_operand (operands[5], E_SImode))
4720 : : return -1;
4721 : 3476 : switch (GET_MODE (operands[0]))
4722 : : {
4723 : 96 : case E_V16QImode:
4724 : 96 : if (!register_operand (operands[0], E_V16QImode)
4725 : 96 : || GET_MODE (x1) != E_V16QImode)
4726 : : return -1;
4727 : 96 : x2 = XEXP (x1, 2);
4728 : 96 : if (GET_MODE (x2) != E_HImode)
4729 : : return -1;
4730 : : return 0;
4731 : :
4732 : 120 : case E_V8HImode:
4733 : 120 : if (!register_operand (operands[0], E_V8HImode)
4734 : 120 : || GET_MODE (x1) != E_V8HImode)
4735 : : return -1;
4736 : 120 : x2 = XEXP (x1, 2);
4737 : 120 : if (GET_MODE (x2) != E_QImode)
4738 : : return -1;
4739 : : return 1;
4740 : :
4741 : 891 : case E_V4SImode:
4742 : 891 : if (!register_operand (operands[0], E_V4SImode)
4743 : 891 : || GET_MODE (x1) != E_V4SImode)
4744 : : return -1;
4745 : 883 : x2 = XEXP (x1, 2);
4746 : 883 : if (GET_MODE (x2) != E_QImode)
4747 : : return -1;
4748 : : return 2;
4749 : :
4750 : 93 : case E_V2DImode:
4751 : 93 : if (!register_operand (operands[0], E_V2DImode)
4752 : 93 : || GET_MODE (x1) != E_V2DImode)
4753 : : return -1;
4754 : 93 : x2 = XEXP (x1, 2);
4755 : 93 : if (GET_MODE (x2) != E_QImode)
4756 : : return -1;
4757 : : return 3;
4758 : :
4759 : 98 : case E_V32QImode:
4760 : 98 : if (!register_operand (operands[0], E_V32QImode)
4761 : 98 : || GET_MODE (x1) != E_V32QImode)
4762 : : return -1;
4763 : 98 : x2 = XEXP (x1, 2);
4764 : 98 : if (GET_MODE (x2) != E_SImode)
4765 : : return -1;
4766 : : return 4;
4767 : :
4768 : 115 : case E_V16HImode:
4769 : 115 : if (!register_operand (operands[0], E_V16HImode)
4770 : 115 : || GET_MODE (x1) != E_V16HImode)
4771 : : return -1;
4772 : 115 : x2 = XEXP (x1, 2);
4773 : 115 : if (GET_MODE (x2) != E_HImode)
4774 : : return -1;
4775 : : return 5;
4776 : :
4777 : 641 : case E_V8SImode:
4778 : 641 : if (!register_operand (operands[0], E_V8SImode)
4779 : 641 : || GET_MODE (x1) != E_V8SImode)
4780 : : return -1;
4781 : 641 : x2 = XEXP (x1, 2);
4782 : 641 : if (GET_MODE (x2) != E_QImode)
4783 : : return -1;
4784 : : return 6;
4785 : :
4786 : 107 : case E_V4DImode:
4787 : 107 : if (!register_operand (operands[0], E_V4DImode)
4788 : 107 : || GET_MODE (x1) != E_V4DImode)
4789 : : return -1;
4790 : 107 : x2 = XEXP (x1, 2);
4791 : 107 : if (GET_MODE (x2) != E_QImode)
4792 : : return -1;
4793 : : return 7;
4794 : :
4795 : : default:
4796 : : return -1;
4797 : : }
4798 : : }
4799 : :
4800 : : int
4801 : 2339 : pattern1321 (rtx x1, machine_mode i1)
4802 : : {
4803 : 2339 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4804 : 2339 : int res ATTRIBUTE_UNUSED;
4805 : 2339 : if (!nonimmediate_operand (operands[1], i1)
4806 : 1809 : || !const_1_to_31_operand (operands[2], E_QImode)
4807 : 1292 : || !nonimmediate_operand (operands[0], i1)
4808 : 3631 : || GET_MODE (x1) != i1)
4809 : 1047 : return -1;
4810 : : return 0;
4811 : : }
4812 : :
4813 : : int
4814 : 108 : pattern1325 (rtx x1)
4815 : : {
4816 : 108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4817 : 108 : rtx x2, x3, x4;
4818 : 108 : int res ATTRIBUTE_UNUSED;
4819 : 108 : x2 = XEXP (x1, 0);
4820 : 108 : x3 = XEXP (x2, 0);
4821 : 108 : operands[0] = x3;
4822 : 108 : switch (GET_MODE (operands[0]))
4823 : : {
4824 : 102 : case E_QImode:
4825 : 102 : x4 = XEXP (x1, 1);
4826 : 102 : return pattern1324 (x4,
4827 : 102 : E_QImode); /* [-1, 0] */
4828 : :
4829 : 6 : case E_HImode:
4830 : 6 : x4 = XEXP (x1, 1);
4831 : 6 : if (pattern1324 (x4,
4832 : : E_HImode) != 0)
4833 : : return -1;
4834 : : return 1;
4835 : :
4836 : : default:
4837 : : return -1;
4838 : : }
4839 : : }
4840 : :
4841 : : int
4842 : 75 : pattern1335 (rtx x1, machine_mode i1, machine_mode i2)
4843 : : {
4844 : 75 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4845 : 75 : int res ATTRIBUTE_UNUSED;
4846 : 75 : if (!register_operand (operands[0], i1)
4847 : 75 : || GET_MODE (x1) != i1
4848 : 75 : || !vector_all_ones_operand (operands[2], i1)
4849 : 75 : || !const0_operand (operands[3], i1)
4850 : 75 : || !register_operand (operands[1], i2)
4851 : 150 : || !register_operand (operands[4], i1))
4852 : 0 : return -1;
4853 : : return 0;
4854 : : }
4855 : :
4856 : : int
4857 : 30712 : pattern1342 (rtx x1, machine_mode i1)
4858 : : {
4859 : 30712 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4860 : 30712 : rtx x2, x3, x4, x5, x6;
4861 : 30712 : int res ATTRIBUTE_UNUSED;
4862 : 30712 : x2 = XEXP (x1, 1);
4863 : 30712 : operands[2] = x2;
4864 : 30712 : if (!general_reg_operand (operands[2], i1))
4865 : : return -1;
4866 : 3340 : x3 = XEXP (x1, 0);
4867 : 3340 : if (!rtx_equal_p (x3, operands[1]))
4868 : : return -1;
4869 : 172 : x4 = PATTERN (peep2_next_insn (2));
4870 : 172 : x5 = XEXP (x4, 1);
4871 : 172 : if (!rtx_equal_p (x5, operands[0]))
4872 : : return -1;
4873 : 8 : x6 = XEXP (x4, 0);
4874 : 8 : if (!rtx_equal_p (x6, operands[2]))
4875 : : return -1;
4876 : : return 0;
4877 : : }
4878 : :
4879 : : int
4880 : 0 : pattern1350 (rtx x1, machine_mode i1)
4881 : : {
4882 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4883 : 0 : rtx x2, x3, x4, x5, x6, x7;
4884 : 0 : int res ATTRIBUTE_UNUSED;
4885 : 0 : if (!general_reg_operand (operands[0], i1)
4886 : 0 : || GET_CODE (x1) != PARALLEL
4887 : 0 : || XVECLEN (x1, 0) != 2)
4888 : : return -1;
4889 : 0 : x2 = XVECEXP (x1, 0, 0);
4890 : 0 : if (GET_CODE (x2) != SET)
4891 : : return -1;
4892 : 0 : x3 = XVECEXP (x1, 0, 1);
4893 : 0 : if (GET_CODE (x3) != CLOBBER)
4894 : : return -1;
4895 : 0 : x4 = XEXP (x3, 0);
4896 : 0 : if (GET_CODE (x4) != REG
4897 : 0 : || REGNO (x4) != 17
4898 : 0 : || GET_MODE (x4) != E_CCmode)
4899 : : return -1;
4900 : 0 : x5 = XEXP (x2, 1);
4901 : 0 : if (GET_MODE (x5) != i1)
4902 : : return -1;
4903 : 0 : x6 = XEXP (x2, 0);
4904 : 0 : if (!rtx_equal_p (x6, operands[0]))
4905 : : return -1;
4906 : 0 : switch (GET_CODE (x5))
4907 : : {
4908 : 0 : case PLUS:
4909 : 0 : x7 = XEXP (x5, 0);
4910 : 0 : if (!rtx_equal_p (x7, operands[0]))
4911 : : return -1;
4912 : : return 0;
4913 : :
4914 : 0 : case IOR:
4915 : 0 : x7 = XEXP (x5, 0);
4916 : 0 : if (!rtx_equal_p (x7, operands[0]))
4917 : : return -1;
4918 : : return 1;
4919 : :
4920 : 0 : case XOR:
4921 : 0 : x7 = XEXP (x5, 0);
4922 : 0 : if (!rtx_equal_p (x7, operands[0]))
4923 : : return -1;
4924 : : return 2;
4925 : :
4926 : : default:
4927 : : return -1;
4928 : : }
4929 : : }
4930 : :
4931 : : int
4932 : 458 : pattern1367 (rtx x1, machine_mode i1, machine_mode i2)
4933 : : {
4934 : 458 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4935 : 458 : rtx x2, x3;
4936 : 458 : int res ATTRIBUTE_UNUSED;
4937 : 458 : if (!register_operand (operands[0], i1)
4938 : 458 : || GET_MODE (x1) != i1)
4939 : : return -1;
4940 : 408 : x2 = XEXP (x1, 0);
4941 : 408 : if (GET_MODE (x2) != i1
4942 : 408 : || !vector_operand (operands[1], i1)
4943 : 816 : || !vector_operand (operands[2], i1))
4944 : 0 : return -1;
4945 : 408 : x3 = XVECEXP (x2, 0, 2);
4946 : 408 : if (GET_MODE (x3) != i1
4947 : 408 : || !vector_operand (operands[3], i1)
4948 : 408 : || !const0_operand (operands[4], i1)
4949 : 816 : || !register_operand (operands[5], i2))
4950 : 63 : return -1;
4951 : : return 0;
4952 : : }
4953 : :
4954 : : int
4955 : 587 : pattern1377 (rtx x1, machine_mode i1)
4956 : : {
4957 : 587 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4958 : 587 : rtx x2;
4959 : 587 : int res ATTRIBUTE_UNUSED;
4960 : 587 : if (!register_operand (operands[0], i1)
4961 : 587 : || GET_MODE (x1) != i1)
4962 : : return -1;
4963 : 570 : x2 = XEXP (x1, 0);
4964 : 570 : if (GET_MODE (x2) != i1
4965 : 570 : || !nonimmediate_operand (operands[1], i1)
4966 : 567 : || !nonimmediate_operand (operands[2], i1)
4967 : 1033 : || !nonimmediate_operand (operands[3], i1))
4968 : 107 : return -1;
4969 : : return 0;
4970 : : }
4971 : :
4972 : : int
4973 : 997 : pattern1385 (rtx x1, machine_mode i1, machine_mode i2)
4974 : : {
4975 : 997 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4976 : 997 : rtx x2, x3;
4977 : 997 : int res ATTRIBUTE_UNUSED;
4978 : 997 : if (!register_operand (operands[0], i1)
4979 : 997 : || GET_MODE (x1) != i1)
4980 : : return -1;
4981 : 950 : x2 = XEXP (x1, 0);
4982 : 950 : if (GET_MODE (x2) != i1)
4983 : : return -1;
4984 : 950 : x3 = XEXP (x2, 0);
4985 : 950 : if (GET_MODE (x3) != i1
4986 : 950 : || !bcst_vector_operand (operands[1], i1)
4987 : 1898 : || pattern1372 (
4988 : : i1,
4989 : : i2) != 0)
4990 : 4 : return -1;
4991 : : return 0;
4992 : : }
4993 : :
4994 : : int
4995 : 3342 : pattern1394 (rtx x1, machine_mode i1, machine_mode i2)
4996 : : {
4997 : 3342 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4998 : 3342 : rtx x2;
4999 : 3342 : int res ATTRIBUTE_UNUSED;
5000 : 3342 : if (!register_operand (operands[0], i1)
5001 : 3342 : || GET_MODE (x1) != i1)
5002 : : return -1;
5003 : 3092 : x2 = XEXP (x1, 0);
5004 : 3092 : if (GET_MODE (x2) != i1
5005 : 3092 : || !nonimmediate_operand (operands[1], i1)
5006 : 2820 : || !nonimm_or_0_operand (operands[4], i1)
5007 : 5837 : || !register_operand (operands[5], i2))
5008 : 1455 : return -1;
5009 : : return 0;
5010 : : }
5011 : :
5012 : : int
5013 : 0 : pattern1403 (rtx x1, machine_mode i1, machine_mode i2)
5014 : : {
5015 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5016 : 0 : rtx x2, x3, x4;
5017 : 0 : int res ATTRIBUTE_UNUSED;
5018 : 0 : if (!register_operand (operands[0], i1)
5019 : 0 : || GET_MODE (x1) != i1)
5020 : : return -1;
5021 : 0 : x2 = XVECEXP (x1, 0, 0);
5022 : 0 : if (GET_MODE (x2) != i1)
5023 : : return -1;
5024 : 0 : x3 = XEXP (x2, 0);
5025 : 0 : if (GET_MODE (x3) != i1)
5026 : : return -1;
5027 : 0 : x4 = XEXP (x3, 0);
5028 : 0 : if (GET_MODE (x4) != i2
5029 : 0 : || !nonimmediate_operand (operands[1], i2)
5030 : 0 : || !register_operand (operands[2], i1))
5031 : 0 : return -1;
5032 : : return 0;
5033 : : }
5034 : :
5035 : : int
5036 : 389 : pattern1412 (rtx x1, machine_mode i1)
5037 : : {
5038 : 389 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5039 : 389 : rtx x2, x3, x4;
5040 : 389 : int res ATTRIBUTE_UNUSED;
5041 : 389 : if (!register_operand (operands[0], i1)
5042 : 389 : || GET_MODE (x1) != i1)
5043 : : return -1;
5044 : 373 : x2 = XVECEXP (x1, 0, 0);
5045 : 373 : if (GET_MODE (x2) != i1)
5046 : : return -1;
5047 : 373 : x3 = XEXP (x2, 0);
5048 : 373 : if (GET_MODE (x3) != i1
5049 : 373 : || !register_operand (operands[1], i1)
5050 : 737 : || !register_operand (operands[2], i1))
5051 : 14 : return -1;
5052 : 359 : x4 = XEXP (x2, 2);
5053 : 359 : if (GET_MODE (x4) != i1
5054 : 359 : || !register_operand (operands[3], i1))
5055 : 0 : return -1;
5056 : : return 0;
5057 : : }
5058 : :
5059 : : int
5060 : 24 : pattern1421 (rtx x1)
5061 : : {
5062 : 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5063 : 24 : rtx x2, x3, x4, x5;
5064 : 24 : int res ATTRIBUTE_UNUSED;
5065 : 24 : x2 = XEXP (x1, 0);
5066 : 24 : x3 = XEXP (x2, 1);
5067 : 24 : x4 = XEXP (x3, 0);
5068 : 24 : if (GET_CODE (x4) != REG
5069 : 24 : || REGNO (x4) != 17)
5070 : : return -1;
5071 : 0 : x5 = XEXP (x3, 1);
5072 : 0 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5073 : : return -1;
5074 : 0 : return pattern1152 (x1); /* [-1, 5] */
5075 : : }
5076 : :
5077 : : int
5078 : 3 : pattern1427 (rtx x1, machine_mode i1)
5079 : : {
5080 : 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5081 : 3 : int res ATTRIBUTE_UNUSED;
5082 : 3 : if (GET_MODE (x1) != i1
5083 : 3 : || !register_operand (operands[1], i1)
5084 : 3 : || !nonimmediate_operand (operands[2], i1)
5085 : 6 : || !scratch_operand (operands[0], i1))
5086 : 0 : return -1;
5087 : : return 0;
5088 : : }
5089 : :
5090 : : int
5091 : 8094 : pattern1435 (rtx x1, machine_mode i1)
5092 : : {
5093 : 8094 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5094 : 8094 : rtx x2;
5095 : 8094 : int res ATTRIBUTE_UNUSED;
5096 : 8094 : if (!register_operand (operands[0], i1)
5097 : 8094 : || GET_MODE (x1) != i1)
5098 : : return -1;
5099 : 8040 : x2 = XEXP (x1, 0);
5100 : 8040 : if (GET_MODE (x2) != i1
5101 : 8040 : || !register_operand (operands[1], i1)
5102 : 14996 : || !register_operand (operands[2], i1))
5103 : 6405 : return -1;
5104 : : return 0;
5105 : : }
5106 : :
5107 : : int
5108 : 324648 : pattern1442 (rtx x1, machine_mode i1)
5109 : : {
5110 : 324648 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5111 : 324648 : rtx x2, x3, x4, x5, x6, x7;
5112 : 324648 : int res ATTRIBUTE_UNUSED;
5113 : 324648 : if (!register_operand (operands[2], i1)
5114 : 324648 : || !register_operand (operands[0], i1))
5115 : 0 : return -1;
5116 : 324648 : x2 = XVECEXP (x1, 0, 1);
5117 : 324648 : x3 = XEXP (x2, 1);
5118 : 324648 : if (GET_MODE (x3) != i1)
5119 : : return -1;
5120 : 324648 : x4 = XEXP (x3, 0);
5121 : 324648 : if (GET_MODE (x4) != i1
5122 : 324648 : || !register_operand (operands[5], i1)
5123 : 322671 : || !register_operand (operands[3], i1)
5124 : 642711 : || !register_operand (operands[1], i1))
5125 : 6585 : return -1;
5126 : 318063 : x5 = XVECEXP (x1, 0, 2);
5127 : 318063 : x6 = XEXP (x5, 1);
5128 : 318063 : if (GET_MODE (x6) != i1)
5129 : : return -1;
5130 : 318063 : x7 = XEXP (x6, 0);
5131 : 318063 : if (GET_MODE (x7) != i1
5132 : 318063 : || !register_operand (operands[4], i1))
5133 : 19624 : return -1;
5134 : : return 0;
5135 : : }
5136 : :
5137 : : int
5138 : 0 : pattern1454 (rtx x1)
5139 : : {
5140 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5141 : 0 : rtx x2, x3, x4, x5;
5142 : 0 : int res ATTRIBUTE_UNUSED;
5143 : 0 : x2 = XEXP (x1, 2);
5144 : 0 : x3 = XEXP (x2, 0);
5145 : 0 : x4 = XEXP (x3, 0);
5146 : 0 : operands[1] = x4;
5147 : 0 : x5 = XEXP (x3, 1);
5148 : 0 : operands[2] = x5;
5149 : 0 : if (!const_int_operand (operands[2], E_VOIDmode))
5150 : : return -1;
5151 : 0 : switch (GET_MODE (x1))
5152 : : {
5153 : 0 : case E_SImode:
5154 : 0 : return pattern1453 (x3,
5155 : 0 : E_SImode); /* [-1, 2] */
5156 : :
5157 : 0 : case E_DImode:
5158 : 0 : res = pattern1453 (x3,
5159 : : E_DImode);
5160 : 0 : if (res >= 0)
5161 : 0 : return res + 3; /* [3, 5] */
5162 : : return -1;
5163 : :
5164 : : default:
5165 : : return -1;
5166 : : }
5167 : : }
5168 : :
5169 : : int
5170 : 4120 : pattern1464 (rtx x1, machine_mode i1, machine_mode i2)
5171 : : {
5172 : 4120 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5173 : 4120 : rtx x2;
5174 : 4120 : int res ATTRIBUTE_UNUSED;
5175 : 4120 : if (!register_operand (operands[0], i1)
5176 : 4009 : || GET_MODE (x1) != i1
5177 : 4009 : || !nonimmediate_operand (operands[1], i1)
5178 : 8061 : || !nonimmediate_operand (operands[2], i1))
5179 : 882 : return -1;
5180 : 3238 : x2 = XEXP (x1, 2);
5181 : 3238 : if (GET_MODE (x2) != i2
5182 : 3238 : || !nonimmediate_operand (operands[3], i1)
5183 : 6076 : || !nonimmediate_operand (operands[4], i1))
5184 : 400 : return -1;
5185 : : return 0;
5186 : : }
5187 : :
5188 : : int
5189 : 470 : pattern1473 (rtx x1)
5190 : : {
5191 : 470 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5192 : 470 : rtx x2, x3, x4, x5;
5193 : 470 : int res ATTRIBUTE_UNUSED;
5194 : 470 : x2 = XVECEXP (x1, 0, 12);
5195 : 470 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
5196 : : return -1;
5197 : 470 : x3 = XVECEXP (x1, 0, 13);
5198 : 470 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
5199 : : return -1;
5200 : 470 : x4 = XVECEXP (x1, 0, 14);
5201 : 470 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
5202 : : return -1;
5203 : 470 : x5 = XVECEXP (x1, 0, 15);
5204 : 470 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
5205 : 0 : return -1;
5206 : : return 0;
5207 : : }
5208 : :
5209 : : int
5210 : 1684 : pattern1480 (rtx x1)
5211 : : {
5212 : 1684 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5213 : 1684 : rtx x2, x3;
5214 : 1684 : int res ATTRIBUTE_UNUSED;
5215 : 1684 : if (!register_operand (operands[0], E_V8SImode)
5216 : 1684 : || GET_MODE (x1) != E_V8SImode)
5217 : : return -1;
5218 : 1684 : x2 = XVECEXP (x1, 0, 0);
5219 : 1684 : if (GET_MODE (x2) != E_V8SImode)
5220 : : return -1;
5221 : 1684 : x3 = XEXP (x2, 0);
5222 : 1684 : if (GET_MODE (x3) != E_V8SImode
5223 : 1684 : || !nonimm_or_0_operand (operands[2], E_V8SImode)
5224 : 3368 : || !register_operand (operands[3], E_QImode))
5225 : 6 : return -1;
5226 : 1678 : switch (GET_MODE (operands[1]))
5227 : : {
5228 : 430 : case E_V8HFmode:
5229 : 430 : if (!register_operand (operands[1], E_V8HFmode))
5230 : : return -1;
5231 : : return 0;
5232 : :
5233 : 440 : case E_V8SFmode:
5234 : 440 : if (!register_operand (operands[1], E_V8SFmode))
5235 : : return -1;
5236 : : return 1;
5237 : :
5238 : 808 : case E_V8DFmode:
5239 : 808 : if (!register_operand (operands[1], E_V8DFmode))
5240 : : return -1;
5241 : : return 2;
5242 : :
5243 : : default:
5244 : : return -1;
5245 : : }
5246 : : }
5247 : :
5248 : : int
5249 : 1637 : pattern1491 (rtx x1)
5250 : : {
5251 : 1637 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5252 : 1637 : rtx x2, x3, x4, x5;
5253 : 1637 : int res ATTRIBUTE_UNUSED;
5254 : 1637 : x2 = XVECEXP (x1, 0, 4);
5255 : 1637 : operands[2] = x2;
5256 : 1637 : if (!const_4_to_7_operand (operands[2], E_VOIDmode))
5257 : : return -1;
5258 : 1621 : x3 = XVECEXP (x1, 0, 5);
5259 : 1621 : operands[3] = x3;
5260 : 1621 : if (!const_4_to_7_operand (operands[3], E_VOIDmode))
5261 : : return -1;
5262 : 1621 : x4 = XVECEXP (x1, 0, 6);
5263 : 1621 : operands[4] = x4;
5264 : 1621 : if (!const_4_to_7_operand (operands[4], E_VOIDmode))
5265 : : return -1;
5266 : 1621 : x5 = XVECEXP (x1, 0, 7);
5267 : 1621 : operands[5] = x5;
5268 : 1621 : if (!const_4_to_7_operand (operands[5], E_VOIDmode))
5269 : : return -1;
5270 : : return 0;
5271 : : }
5272 : :
5273 : : int
5274 : 178 : pattern1502 (rtx x1)
5275 : : {
5276 : 178 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5277 : 178 : rtx x2, x3, x4, x5, x6, x7, x8;
5278 : 178 : int res ATTRIBUTE_UNUSED;
5279 : 178 : x2 = XVECEXP (x1, 0, 1);
5280 : 178 : x3 = XEXP (x2, 1);
5281 : 178 : x4 = XEXP (x3, 0);
5282 : 178 : if (!rtx_equal_p (x4, operands[2]))
5283 : : return -1;
5284 : 178 : x5 = XEXP (x3, 1);
5285 : 178 : if (!rtx_equal_p (x5, operands[3]))
5286 : : return -1;
5287 : 178 : x6 = XVECEXP (x1, 0, 2);
5288 : 178 : switch (GET_CODE (x6))
5289 : : {
5290 : 12 : case UNSPEC:
5291 : 12 : if (XVECLEN (x6, 0) != 1
5292 : 12 : || XINT (x6, 1) != 32)
5293 : : return -1;
5294 : 12 : x7 = XVECEXP (x6, 0, 0);
5295 : 12 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5296 : : return -1;
5297 : : return 0;
5298 : :
5299 : 166 : case USE:
5300 : 166 : x8 = XEXP (x6, 0);
5301 : 166 : operands[4] = x8;
5302 : 166 : if (!register_operand (operands[4], E_SImode))
5303 : : return -1;
5304 : : return 1;
5305 : :
5306 : : default:
5307 : : return -1;
5308 : : }
5309 : : }
5310 : :
5311 : : int
5312 : 146 : pattern1517 (rtx x1, machine_mode i1, machine_mode i2)
5313 : : {
5314 : 146 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5315 : 146 : rtx x2, x3;
5316 : 146 : int res ATTRIBUTE_UNUSED;
5317 : 146 : if (!register_operand (operands[0], i1)
5318 : 146 : || GET_MODE (x1) != i1)
5319 : : return -1;
5320 : 136 : x2 = XEXP (x1, 0);
5321 : 136 : if (GET_MODE (x2) != i1
5322 : 136 : || !nonimmediate_operand (operands[2], i2))
5323 : 0 : return -1;
5324 : 136 : x3 = XEXP (x2, 1);
5325 : 136 : if (GET_MODE (x3) != i2
5326 : 136 : || !register_operand (operands[1], i1)
5327 : 260 : || !nonimm_or_0_operand (operands[3], i1))
5328 : 27 : return -1;
5329 : : return 0;
5330 : : }
5331 : :
5332 : : int
5333 : 1036 : pattern1528 (rtx x1, machine_mode i1)
5334 : : {
5335 : 1036 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5336 : 1036 : rtx x2, x3, x4, x5;
5337 : 1036 : int res ATTRIBUTE_UNUSED;
5338 : 1036 : if (!register_operand (operands[0], i1))
5339 : : return -1;
5340 : 1036 : x2 = XVECEXP (x1, 0, 0);
5341 : 1036 : x3 = XEXP (x2, 1);
5342 : 1036 : if (GET_MODE (x3) != i1)
5343 : : return -1;
5344 : 1036 : x4 = XVECEXP (x1, 0, 1);
5345 : 1036 : if (GET_MODE (x4) != i1)
5346 : : return -1;
5347 : 1036 : x5 = XVECEXP (x4, 0, 0);
5348 : 1036 : if (GET_MODE (x5) != i1)
5349 : 0 : return -1;
5350 : : return 0;
5351 : : }
5352 : :
5353 : : int
5354 : 5109 : pattern1535 (rtx x1, machine_mode i1)
5355 : : {
5356 : 5109 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5357 : 5109 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5358 : 5109 : rtx x10, x11, x12;
5359 : 5109 : int res ATTRIBUTE_UNUSED;
5360 : 5109 : x2 = XVECEXP (x1, 0, 0);
5361 : 5109 : x3 = XEXP (x2, 1);
5362 : 5109 : switch (GET_CODE (x3))
5363 : : {
5364 : 62 : case COMPARE:
5365 : 62 : x4 = XEXP (x3, 0);
5366 : 62 : if (!plusminuslogic_operator (x4, i1))
5367 : : return -1;
5368 : 46 : operands[3] = x4;
5369 : 46 : x5 = XEXP (x3, 1);
5370 : 46 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5371 : : return -1;
5372 : 46 : x6 = XEXP (x2, 0);
5373 : 46 : if (GET_CODE (x6) != REG
5374 : 46 : || REGNO (x6) != 17)
5375 : : return -1;
5376 : 46 : x7 = XVECEXP (x1, 0, 1);
5377 : 46 : if (GET_CODE (x7) != SET)
5378 : : return -1;
5379 : 46 : x8 = XEXP (x4, 1);
5380 : 46 : operands[2] = x8;
5381 : 46 : if (!nonmemory_operand (operands[2], i1))
5382 : : return -1;
5383 : 14 : x9 = XEXP (x4, 0);
5384 : 14 : if (!rtx_equal_p (x9, operands[0]))
5385 : : return -1;
5386 : 14 : x10 = XEXP (x7, 1);
5387 : 14 : if (!rtx_equal_p (x10, operands[3]))
5388 : : return -1;
5389 : 14 : x11 = XEXP (x7, 0);
5390 : 14 : if (!rtx_equal_p (x11, operands[0]))
5391 : : return -1;
5392 : : return 0;
5393 : :
5394 : 2607 : case PLUS:
5395 : 2607 : case MINUS:
5396 : 2607 : case AND:
5397 : 2607 : case IOR:
5398 : 2607 : case XOR:
5399 : 2607 : if (peep2_current_count < 4)
5400 : : return -1;
5401 : 2536 : operands[3] = x3;
5402 : 2536 : if (!plusminuslogic_operator (operands[3], E_SImode))
5403 : : return -1;
5404 : 2035 : x7 = XVECEXP (x1, 0, 1);
5405 : 2035 : if (GET_CODE (x7) != CLOBBER)
5406 : : return -1;
5407 : 2035 : x11 = XEXP (x7, 0);
5408 : 2035 : if (GET_CODE (x11) != REG
5409 : 2035 : || REGNO (x11) != 17
5410 : 4070 : || GET_MODE (x11) != E_CCmode)
5411 : : return -1;
5412 : 2035 : x6 = XEXP (x2, 0);
5413 : 2035 : operands[4] = x6;
5414 : 2035 : if (!register_operand (operands[4], E_SImode))
5415 : : return -1;
5416 : 2035 : x5 = XEXP (x3, 1);
5417 : 2035 : operands[2] = x5;
5418 : 2035 : if (!nonmemory_operand (operands[2], E_SImode))
5419 : : return -1;
5420 : 2023 : x4 = XEXP (x3, 0);
5421 : 2023 : if (!rtx_equal_p (x4, operands[4]))
5422 : : return -1;
5423 : 2017 : x12 = PATTERN (peep2_next_insn (3));
5424 : 2017 : if (GET_CODE (x12) != SET)
5425 : : return -1;
5426 : : return 1;
5427 : :
5428 : : default:
5429 : : return -1;
5430 : : }
5431 : : }
5432 : :
5433 : : int
5434 : 12402 : pattern1564 (rtx x1, machine_mode i1)
5435 : : {
5436 : 12402 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5437 : 12402 : int res ATTRIBUTE_UNUSED;
5438 : 12402 : if (!nonimmediate_operand (operands[0], i1)
5439 : 12402 : || GET_MODE (x1) != i1
5440 : 12402 : || !nonimmediate_operand (operands[1], i1)
5441 : 24264 : || !ix86_carry_flag_operator (operands[2], i1))
5442 : 540 : return -1;
5443 : : return 0;
5444 : : }
5445 : :
5446 : : int
5447 : 161 : pattern1572 (rtx x1, int *pnum_clobbers)
5448 : : {
5449 : 161 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5450 : 161 : rtx x2, x3, x4, x5, x6;
5451 : 161 : int res ATTRIBUTE_UNUSED;
5452 : 161 : x2 = XVECEXP (x1, 0, 1);
5453 : 161 : x3 = XEXP (x2, 1);
5454 : 161 : x4 = XEXP (x3, 0);
5455 : 161 : if (!rtx_equal_p (x4, operands[2]))
5456 : : return -1;
5457 : 161 : x5 = XEXP (x3, 1);
5458 : 161 : if (!rtx_equal_p (x5, operands[3]))
5459 : : return -1;
5460 : 161 : switch (GET_CODE (operands[3]))
5461 : : {
5462 : 129 : case REG:
5463 : 129 : case SUBREG:
5464 : 129 : case MEM:
5465 : 129 : if (!nonimmediate_operand (operands[3], E_SImode))
5466 : : return -1;
5467 : 115 : x6 = XVECEXP (x1, 0, 2);
5468 : 115 : return pattern1571 (x6, pnum_clobbers); /* [-1, 2] */
5469 : :
5470 : 4 : case CONST_INT:
5471 : 4 : if (!const_int_operand (operands[3], E_SImode))
5472 : : return -1;
5473 : 4 : x6 = XVECEXP (x1, 0, 2);
5474 : 4 : if (pattern953 (x6,
5475 : : E_CCmode,
5476 : : 17) != 0)
5477 : : return -1;
5478 : : return 3;
5479 : :
5480 : : default:
5481 : : return -1;
5482 : : }
5483 : : }
5484 : :
5485 : : int
5486 : 1753 : pattern1586 (rtx x1, machine_mode i1, machine_mode i2)
5487 : : {
5488 : 1753 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5489 : 1753 : rtx x2, x3, x4;
5490 : 1753 : int res ATTRIBUTE_UNUSED;
5491 : 1753 : if (!register_operand (operands[0], i1)
5492 : 1753 : || GET_MODE (x1) != i1)
5493 : : return -1;
5494 : 1687 : x2 = XVECEXP (x1, 0, 0);
5495 : 1687 : if (GET_MODE (x2) != i1)
5496 : : return -1;
5497 : 1687 : x3 = XEXP (x2, 0);
5498 : 1687 : if (GET_MODE (x3) != i1
5499 : 1687 : || !nonimmediate_operand (operands[1], i1)
5500 : 3356 : || !register_operand (operands[2], i1))
5501 : 27 : return -1;
5502 : 1660 : x4 = XVECEXP (x3, 0, 2);
5503 : 1660 : if (GET_MODE (x4) != i1
5504 : 1660 : || !register_operand (operands[4], i2))
5505 : 32 : return -1;
5506 : : return 0;
5507 : : }
5508 : :
5509 : : int
5510 : 638 : pattern1597 (rtx x1, machine_mode i1, machine_mode i2)
5511 : : {
5512 : 638 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5513 : 638 : rtx x2, x3, x4, x5;
5514 : 638 : int res ATTRIBUTE_UNUSED;
5515 : 638 : if (!register_operand (operands[0], i2)
5516 : 638 : || GET_MODE (x1) != i2)
5517 : : return -1;
5518 : 621 : x2 = XVECEXP (x1, 0, 0);
5519 : 621 : if (GET_MODE (x2) != i2)
5520 : : return -1;
5521 : 621 : x3 = XEXP (x2, 0);
5522 : 621 : if (GET_MODE (x3) != i2)
5523 : : return -1;
5524 : 621 : x4 = XEXP (x3, 0);
5525 : 621 : if (GET_MODE (x4) != i2
5526 : 621 : || !register_operand (operands[1], i2))
5527 : 5 : return -1;
5528 : 616 : x5 = XEXP (x3, 2);
5529 : 616 : return pattern1590 (x5,
5530 : : i1,
5531 : 616 : i2); /* [-1, 0] */
5532 : : }
5533 : :
5534 : : int
5535 : 372 : pattern1604 (machine_mode i1)
5536 : : {
5537 : 372 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5538 : 372 : int res ATTRIBUTE_UNUSED;
5539 : 372 : if (!vsib_address_operand (operands[0], i1))
5540 : : return -1;
5541 : 304 : switch (GET_MODE (operands[2]))
5542 : : {
5543 : 158 : case E_V4SImode:
5544 : 158 : if (!register_operand (operands[2], E_V4SImode))
5545 : : return -1;
5546 : : return 0;
5547 : :
5548 : 146 : case E_V2DImode:
5549 : 146 : if (!register_operand (operands[2], E_V2DImode))
5550 : : return -1;
5551 : : return 1;
5552 : :
5553 : : default:
5554 : : return -1;
5555 : : }
5556 : : }
5557 : :
5558 : : int
5559 : 147 : pattern1613 (rtx x1, machine_mode i1, machine_mode i2)
5560 : : {
5561 : 147 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5562 : 147 : rtx x2, x3;
5563 : 147 : int res ATTRIBUTE_UNUSED;
5564 : 147 : if (!register_operand (operands[0], i2)
5565 : 129 : || GET_MODE (x1) != i2
5566 : 129 : || !register_operand (operands[6], E_QImode)
5567 : 182 : || !vsib_mem_operator (operands[5], i1))
5568 : 112 : return -1;
5569 : 35 : x2 = XVECEXP (x1, 0, 2);
5570 : 35 : x3 = XEXP (x2, 0);
5571 : 35 : switch (GET_MODE (x3))
5572 : : {
5573 : 0 : case E_SImode:
5574 : 0 : return pattern1612 (
5575 : 0 : E_SImode); /* [-1, 1] */
5576 : :
5577 : 35 : case E_DImode:
5578 : 35 : res = pattern1612 (
5579 : : E_DImode);
5580 : 35 : if (res >= 0)
5581 : 17 : return res + 2; /* [2, 3] */
5582 : : return -1;
5583 : :
5584 : : default:
5585 : : return -1;
5586 : : }
5587 : : }
5588 : :
5589 : : int
5590 : 12 : pattern1625 (rtx x1, machine_mode i1)
5591 : : {
5592 : 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5593 : 12 : rtx x2, x3, x4, x5, x6;
5594 : 12 : int res ATTRIBUTE_UNUSED;
5595 : 12 : if (!nonimmediate_operand (operands[1], i1)
5596 : 12 : || !general_operand (operands[2], i1)
5597 : 24 : || !nonimmediate_operand (operands[0], i1))
5598 : 0 : return -1;
5599 : 12 : x2 = XVECEXP (x1, 0, 1);
5600 : 12 : x3 = XEXP (x2, 1);
5601 : 12 : if (GET_MODE (x3) != i1)
5602 : : return -1;
5603 : 12 : x4 = XVECEXP (x1, 0, 0);
5604 : 12 : x5 = XEXP (x4, 1);
5605 : 12 : x6 = XEXP (x5, 1);
5606 : 12 : if (!rtx_equal_p (x6, operands[2]))
5607 : : return -1;
5608 : : return 0;
5609 : : }
5610 : :
5611 : : int
5612 : 958 : pattern1635 (rtx x1, machine_mode i1, machine_mode i2)
5613 : : {
5614 : 958 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5615 : 958 : rtx x2, x3, x4;
5616 : 958 : int res ATTRIBUTE_UNUSED;
5617 : 958 : if (!register_operand (operands[0], i1)
5618 : 958 : || GET_MODE (x1) != i1)
5619 : : return -1;
5620 : 902 : x2 = XEXP (x1, 0);
5621 : 902 : if (GET_MODE (x2) != i1)
5622 : : return -1;
5623 : 902 : x3 = XEXP (x2, 0);
5624 : 902 : if (GET_MODE (x3) != i2)
5625 : : return -1;
5626 : 902 : x4 = XEXP (x1, 1);
5627 : 902 : if (!nonimm_or_0_operand (x4, i1))
5628 : : return -1;
5629 : : return 0;
5630 : : }
5631 : :
5632 : : int
5633 : 1123 : pattern1642 (rtx x1, machine_mode i1, machine_mode i2)
5634 : : {
5635 : 1123 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5636 : 1123 : rtx x2, x3;
5637 : 1123 : int res ATTRIBUTE_UNUSED;
5638 : 1123 : if (!register_operand (operands[0], i1)
5639 : 1123 : || GET_MODE (x1) != i1)
5640 : : return -1;
5641 : 1091 : x2 = XVECEXP (x1, 0, 0);
5642 : 1091 : if (GET_MODE (x2) != i1)
5643 : : return -1;
5644 : 1091 : x3 = XEXP (x2, 0);
5645 : 1091 : if (GET_MODE (x3) != i1
5646 : 1091 : || !register_operand (operands[1], i1)
5647 : 1086 : || !register_operand (operands[2], i1)
5648 : 1082 : || !register_operand (operands[3], i1)
5649 : 1082 : || !const0_operand (operands[4], i1)
5650 : 2173 : || !register_operand (operands[5], i2))
5651 : 33 : return -1;
5652 : : return 0;
5653 : : }
5654 : :
5655 : : int
5656 : 223 : pattern1651 (rtx x1, machine_mode i1, machine_mode i2)
5657 : : {
5658 : 223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5659 : 223 : int res ATTRIBUTE_UNUSED;
5660 : 223 : if (!register_operand (operands[0], i2)
5661 : 222 : || GET_MODE (x1) != i2
5662 : 222 : || !register_operand (operands[7], E_QImode)
5663 : 408 : || !vsib_mem_operator (operands[6], i1))
5664 : 38 : return -1;
5665 : : return 0;
5666 : : }
5667 : :
5668 : : int
5669 : 31 : pattern1659 (rtx x1, machine_mode i1)
5670 : : {
5671 : 31 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5672 : 31 : rtx x2, x3, x4, x5;
5673 : 31 : int res ATTRIBUTE_UNUSED;
5674 : 31 : if (!register_operand (operands[2], i1)
5675 : 31 : || !register_operand (operands[3], i1)
5676 : 62 : || !register_operand (operands[0], i1))
5677 : 0 : return -1;
5678 : 31 : x2 = XVECEXP (x1, 0, 1);
5679 : 31 : x3 = XEXP (x2, 1);
5680 : 31 : if (GET_MODE (x3) != i1
5681 : 31 : || !register_operand (operands[1], i1))
5682 : 0 : return -1;
5683 : 31 : x4 = XVECEXP (x1, 0, 2);
5684 : 31 : x5 = XEXP (x4, 1);
5685 : 31 : if (GET_MODE (x5) != i1)
5686 : : return -1;
5687 : : return 0;
5688 : : }
5689 : :
5690 : : int
5691 : 33597 : pattern1670 ()
5692 : : {
5693 : 33597 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5694 : 33597 : int res ATTRIBUTE_UNUSED;
5695 : 33597 : if (!const_0_to_7_operand (operands[4], E_VOIDmode)
5696 : 24693 : || !const_0_to_7_operand (operands[5], E_VOIDmode)
5697 : 16507 : || !const_0_to_7_operand (operands[6], E_VOIDmode)
5698 : 16493 : || !const_8_to_15_operand (operands[7], E_VOIDmode)
5699 : 8397 : || !const_8_to_15_operand (operands[8], E_VOIDmode)
5700 : 8397 : || !const_8_to_15_operand (operands[9], E_VOIDmode)
5701 : 41994 : || !const_8_to_15_operand (operands[10], E_VOIDmode))
5702 : 25200 : return -1;
5703 : : return 0;
5704 : : }
5705 : :
5706 : : int
5707 : 518 : pattern1680 (rtx x1)
5708 : : {
5709 : 518 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5710 : 518 : rtx x2, x3, x4, x5;
5711 : 518 : int res ATTRIBUTE_UNUSED;
5712 : 518 : x2 = XEXP (x1, 0);
5713 : 518 : if (GET_CODE (x2) != STRICT_LOW_PART)
5714 : : return -1;
5715 : 128 : x3 = XEXP (x2, 0);
5716 : 128 : operands[0] = x3;
5717 : 128 : if (!register_operand (operands[0], E_QImode))
5718 : : return -1;
5719 : 128 : x4 = XEXP (x1, 1);
5720 : 128 : x5 = XEXP (x4, 1);
5721 : 128 : operands[1] = x5;
5722 : 128 : if (!nonimmediate_operand (operands[1], E_QImode))
5723 : : return -1;
5724 : 82 : return pattern1620 (); /* [-1, 2] */
5725 : : }
5726 : :
5727 : : int
5728 : 18 : pattern1685 (rtx x1, machine_mode i1)
5729 : : {
5730 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5731 : 18 : rtx x2, x3, x4, x5;
5732 : 18 : int res ATTRIBUTE_UNUSED;
5733 : 18 : x2 = XVECEXP (x1, 0, 0);
5734 : 18 : x3 = XEXP (x2, 0);
5735 : 18 : if (GET_MODE (x3) != i1
5736 : 18 : || !register_operand (operands[1], i1)
5737 : 36 : || !register_operand (operands[2], i1))
5738 : 0 : return -1;
5739 : 18 : x4 = XVECEXP (x1, 0, 1);
5740 : 18 : if (GET_MODE (x4) != i1)
5741 : : return -1;
5742 : 18 : x5 = XEXP (x4, 0);
5743 : 18 : if (GET_MODE (x5) != i1)
5744 : : return -1;
5745 : : return 0;
5746 : : }
5747 : :
5748 : : int
5749 : 407 : pattern1694 ()
5750 : : {
5751 : 407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5752 : 407 : int res ATTRIBUTE_UNUSED;
5753 : 407 : if (!const_0_to_3_operand (operands[2], E_VOIDmode)
5754 : 407 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
5755 : 407 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
5756 : 814 : || !const_0_to_3_operand (operands[5], E_VOIDmode))
5757 : 0 : return -1;
5758 : : return 0;
5759 : : }
5760 : :
5761 : : int
5762 : 841 : pattern1700 (rtx x1, machine_mode i1, machine_mode i2)
5763 : : {
5764 : 841 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5765 : 841 : rtx x2, x3;
5766 : 841 : int res ATTRIBUTE_UNUSED;
5767 : 841 : if (!register_operand (operands[0], i1)
5768 : 779 : || GET_MODE (x1) != i1
5769 : 779 : || !vsib_mem_operator (operands[6], i2)
5770 : 1620 : || !register_operand (operands[4], i1))
5771 : 643 : return -1;
5772 : 198 : x2 = XVECEXP (x1, 0, 1);
5773 : 198 : x3 = XEXP (x2, 0);
5774 : 198 : switch (GET_MODE (x3))
5775 : : {
5776 : 27 : case E_SImode:
5777 : 27 : return pattern1699 (
5778 : 27 : E_SImode); /* [-1, 1] */
5779 : :
5780 : 171 : case E_DImode:
5781 : 171 : res = pattern1699 (
5782 : : E_DImode);
5783 : 171 : if (res >= 0)
5784 : 62 : return res + 2; /* [2, 3] */
5785 : : return -1;
5786 : :
5787 : : default:
5788 : : return -1;
5789 : : }
5790 : : }
5791 : :
5792 : : int
5793 : 772 : pattern1711 (rtx x1, machine_mode i1)
5794 : : {
5795 : 772 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5796 : 772 : rtx x2, x3, x4;
5797 : 772 : int res ATTRIBUTE_UNUSED;
5798 : 772 : if (!vsib_mem_operator (operands[5], i1)
5799 : 772 : || !register_operand (operands[6], E_QImode))
5800 : 76 : return -1;
5801 : 696 : x2 = XEXP (x1, 1);
5802 : 696 : if (GET_MODE (x2) != i1
5803 : 696 : || !register_operand (operands[3], i1)
5804 : 1392 : || !scratch_operand (operands[1], E_QImode))
5805 : 0 : return -1;
5806 : 696 : x3 = XEXP (x1, 0);
5807 : 696 : x4 = XEXP (x3, 0);
5808 : 696 : switch (GET_MODE (x4))
5809 : : {
5810 : 0 : case E_SImode:
5811 : 0 : return pattern1710 (
5812 : 0 : E_SImode); /* [-1, 1] */
5813 : :
5814 : 696 : case E_DImode:
5815 : 696 : res = pattern1710 (
5816 : : E_DImode);
5817 : 696 : if (res >= 0)
5818 : 640 : return res + 2; /* [2, 3] */
5819 : : return -1;
5820 : :
5821 : : default:
5822 : : return -1;
5823 : : }
5824 : : }
5825 : :
5826 : : int
5827 : 214 : pattern1722 (machine_mode i1)
5828 : : {
5829 : 214 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5830 : 214 : int res ATTRIBUTE_UNUSED;
5831 : 214 : if (!vsib_address_operand (operands[3], i1))
5832 : : return -1;
5833 : 214 : switch (GET_MODE (operands[2]))
5834 : : {
5835 : 68 : case E_V4SImode:
5836 : 68 : if (!register_operand (operands[2], E_V4SImode))
5837 : : return -1;
5838 : : return 0;
5839 : :
5840 : 146 : case E_V2DImode:
5841 : 146 : if (!register_operand (operands[2], E_V2DImode))
5842 : : return -1;
5843 : : return 1;
5844 : :
5845 : : default:
5846 : : return -1;
5847 : : }
5848 : : }
5849 : :
5850 : : int
5851 : 165 : pattern1731 (rtx x1, machine_mode i1)
5852 : : {
5853 : 165 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5854 : 165 : rtx x2, x3, x4, x5;
5855 : 165 : int res ATTRIBUTE_UNUSED;
5856 : 165 : if (!register_operand (operands[0], i1)
5857 : 165 : || GET_MODE (x1) != i1)
5858 : : return -1;
5859 : 162 : x2 = XVECEXP (x1, 0, 0);
5860 : 162 : if (GET_MODE (x2) != i1)
5861 : : return -1;
5862 : 162 : x3 = XEXP (x2, 0);
5863 : 162 : if (GET_MODE (x3) != i1)
5864 : : return -1;
5865 : 162 : x4 = XEXP (x3, 0);
5866 : 162 : if (GET_MODE (x4) != i1
5867 : 162 : || !nonimmediate_operand (operands[1], i1)
5868 : 324 : || !register_operand (operands[2], i1))
5869 : 0 : return -1;
5870 : 162 : x5 = XEXP (x4, 2);
5871 : 162 : if (GET_MODE (x5) != i1
5872 : 162 : || !register_operand (operands[3], i1)
5873 : 324 : || !const0_operand (operands[4], i1))
5874 : 0 : return -1;
5875 : : return 0;
5876 : : }
5877 : :
5878 : : int
5879 : 191 : pattern1738 (machine_mode i1)
5880 : : {
5881 : 191 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5882 : 191 : int res ATTRIBUTE_UNUSED;
5883 : 191 : if (!vsib_address_operand (operands[3], i1))
5884 : : return -1;
5885 : 171 : switch (GET_MODE (operands[4]))
5886 : : {
5887 : 90 : case E_V4SImode:
5888 : 90 : if (!register_operand (operands[4], E_V4SImode))
5889 : : return -1;
5890 : : return 0;
5891 : :
5892 : 81 : case E_V4DImode:
5893 : 81 : if (!register_operand (operands[4], E_V4DImode))
5894 : : return -1;
5895 : : return 1;
5896 : :
5897 : : default:
5898 : : return -1;
5899 : : }
5900 : : }
5901 : :
5902 : : int
5903 : 1311 : pattern1745 (machine_mode i1)
5904 : : {
5905 : 1311 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5906 : 1311 : int res ATTRIBUTE_UNUSED;
5907 : 1311 : if (!vsib_address_operand (operands[4], i1))
5908 : : return -1;
5909 : 1311 : switch (GET_MODE (operands[3]))
5910 : : {
5911 : 616 : case E_V4SImode:
5912 : 616 : if (!register_operand (operands[3], E_V4SImode))
5913 : : return -1;
5914 : : return 0;
5915 : :
5916 : 695 : case E_V2DImode:
5917 : 695 : if (!register_operand (operands[3], E_V2DImode))
5918 : : return -1;
5919 : : return 1;
5920 : :
5921 : : default:
5922 : : return -1;
5923 : : }
5924 : : }
5925 : :
5926 : : int
5927 : 230 : pattern1753 (rtx x1)
5928 : : {
5929 : 230 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5930 : 230 : rtx x2;
5931 : 230 : int res ATTRIBUTE_UNUSED;
5932 : 230 : if (!register_operand (operands[0], E_V8SFmode)
5933 : 230 : || GET_MODE (x1) != E_V8SFmode)
5934 : : return -1;
5935 : 222 : x2 = XEXP (x1, 0);
5936 : 222 : switch (GET_MODE (x2))
5937 : : {
5938 : 112 : case E_V8HFmode:
5939 : 112 : if (!memory_operand (operands[1], E_V16HFmode))
5940 : : return -1;
5941 : : return 0;
5942 : :
5943 : 110 : case E_V8BFmode:
5944 : 110 : if (!memory_operand (operands[1], E_V16BFmode))
5945 : : return -1;
5946 : : return 1;
5947 : :
5948 : : default:
5949 : : return -1;
5950 : : }
5951 : : }
5952 : :
5953 : : int
5954 : 13215 : pattern1764 (rtx x1)
5955 : : {
5956 : 13215 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5957 : 13215 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5958 : 13215 : rtx x10, x11, x12, x13, x14, x15, x16;
5959 : 13215 : int res ATTRIBUTE_UNUSED;
5960 : 13215 : x2 = XVECEXP (x1, 0, 1);
5961 : 13215 : if (XWINT (x2, 0) != 1L)
5962 : : return -1;
5963 : 8590 : x3 = XVECEXP (x1, 0, 2);
5964 : 8590 : if (XWINT (x3, 0) != 2L)
5965 : : return -1;
5966 : 8408 : x4 = XVECEXP (x1, 0, 3);
5967 : 8408 : if (XWINT (x4, 0) != 3L)
5968 : : return -1;
5969 : 8398 : x5 = XVECEXP (x1, 0, 4);
5970 : 8398 : if (XWINT (x5, 0) != 4L)
5971 : : return -1;
5972 : 8293 : x6 = XVECEXP (x1, 0, 5);
5973 : 8293 : if (XWINT (x6, 0) != 5L)
5974 : : return -1;
5975 : 8253 : x7 = XVECEXP (x1, 0, 6);
5976 : 8253 : if (XWINT (x7, 0) != 6L)
5977 : : return -1;
5978 : 8253 : x8 = XVECEXP (x1, 0, 7);
5979 : 8253 : if (XWINT (x8, 0) != 7L)
5980 : : return -1;
5981 : 8253 : x9 = XVECEXP (x1, 0, 8);
5982 : 8253 : if (XWINT (x9, 0) != 8L)
5983 : : return -1;
5984 : 7949 : x10 = XVECEXP (x1, 0, 9);
5985 : 7949 : if (XWINT (x10, 0) != 9L)
5986 : : return -1;
5987 : 7949 : x11 = XVECEXP (x1, 0, 10);
5988 : 7949 : if (XWINT (x11, 0) != 10L)
5989 : : return -1;
5990 : 7949 : x12 = XVECEXP (x1, 0, 11);
5991 : 7949 : if (XWINT (x12, 0) != 11L)
5992 : : return -1;
5993 : 7949 : x13 = XVECEXP (x1, 0, 12);
5994 : 7949 : if (XWINT (x13, 0) != 12L)
5995 : : return -1;
5996 : 7948 : x14 = XVECEXP (x1, 0, 13);
5997 : 7948 : if (XWINT (x14, 0) != 13L)
5998 : : return -1;
5999 : 7948 : x15 = XVECEXP (x1, 0, 14);
6000 : 7948 : if (XWINT (x15, 0) != 14L)
6001 : : return -1;
6002 : 7948 : x16 = XVECEXP (x1, 0, 15);
6003 : 7948 : if (XWINT (x16, 0) != 15L)
6004 : 0 : return -1;
6005 : : return 0;
6006 : : }
6007 : :
6008 : : int
6009 : 373 : pattern1782 (rtx x1, machine_mode i1)
6010 : : {
6011 : 373 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6012 : 373 : int res ATTRIBUTE_UNUSED;
6013 : 373 : if (!register_operand (operands[3], i1))
6014 : : return -1;
6015 : 320 : switch (GET_MODE (x1))
6016 : : {
6017 : 0 : case E_SImode:
6018 : 0 : if (!vsib_address_operand (operands[4], E_SImode))
6019 : : return -1;
6020 : : return 0;
6021 : :
6022 : 320 : case E_DImode:
6023 : 320 : if (!vsib_address_operand (operands[4], E_DImode))
6024 : : return -1;
6025 : : return 1;
6026 : :
6027 : : default:
6028 : : return -1;
6029 : : }
6030 : : }
6031 : :
6032 : : int
6033 : 835 : pattern1789 (rtx x1, machine_mode i1, machine_mode i2)
6034 : : {
6035 : 835 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6036 : 835 : rtx x2, x3;
6037 : 835 : int res ATTRIBUTE_UNUSED;
6038 : 835 : if (!register_operand (operands[0], i1)
6039 : 827 : || GET_MODE (x1) != i1
6040 : 827 : || !register_operand (operands[2], i1)
6041 : 827 : || !vsib_mem_operator (operands[7], i2)
6042 : 827 : || !register_operand (operands[5], i1)
6043 : 1596 : || !scratch_operand (operands[1], i1))
6044 : 74 : return -1;
6045 : 761 : x2 = XVECEXP (x1, 0, 1);
6046 : 761 : x3 = XEXP (x2, 0);
6047 : 761 : switch (GET_MODE (x3))
6048 : : {
6049 : 0 : case E_SImode:
6050 : 0 : return pattern1788 (
6051 : 0 : E_SImode); /* [-1, 1] */
6052 : :
6053 : 761 : case E_DImode:
6054 : 761 : res = pattern1788 (
6055 : : E_DImode);
6056 : 761 : if (res >= 0)
6057 : 685 : return res + 2; /* [2, 3] */
6058 : : return -1;
6059 : :
6060 : : default:
6061 : : return -1;
6062 : : }
6063 : : }
6064 : :
6065 : : int
6066 : 67 : pattern1802 (rtx x1, machine_mode i1)
6067 : : {
6068 : 67 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6069 : 67 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6070 : 67 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6071 : 67 : rtx x18, x19, x20;
6072 : 67 : int res ATTRIBUTE_UNUSED;
6073 : 67 : if (!const_int_operand (operands[1], i1))
6074 : : return -1;
6075 : 67 : x2 = XVECEXP (x1, 0, 0);
6076 : 67 : x3 = XEXP (x2, 1);
6077 : 67 : if (XVECLEN (x3, 0) != 4
6078 : 10 : || XINT (x3, 1) != 109)
6079 : : return -1;
6080 : 10 : x4 = XVECEXP (x1, 0, 1);
6081 : 10 : x5 = XEXP (x4, 1);
6082 : 10 : if (GET_CODE (x5) != UNSPEC_VOLATILE
6083 : 10 : || XVECLEN (x5, 0) != 1
6084 : 10 : || XINT (x5, 1) != 109)
6085 : : return -1;
6086 : 10 : x6 = XVECEXP (x5, 0, 0);
6087 : 10 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6088 : : return -1;
6089 : 10 : x7 = XVECEXP (x1, 0, 2);
6090 : 10 : if (GET_CODE (x7) != SET)
6091 : : return -1;
6092 : 10 : x8 = XEXP (x7, 1);
6093 : 10 : if (GET_CODE (x8) != UNSPEC_VOLATILE
6094 : 10 : || XVECLEN (x8, 0) != 1
6095 : 10 : || XINT (x8, 1) != 109
6096 : 10 : || GET_MODE (x8) != E_CCZmode)
6097 : : return -1;
6098 : 10 : x9 = XVECEXP (x8, 0, 0);
6099 : 10 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6100 : : return -1;
6101 : 10 : x10 = XEXP (x7, 0);
6102 : 10 : if (GET_CODE (x10) != REG
6103 : 10 : || REGNO (x10) != 17
6104 : 20 : || GET_MODE (x10) != E_CCZmode)
6105 : : return -1;
6106 : 10 : x11 = XEXP (x2, 0);
6107 : 10 : operands[2] = x11;
6108 : 10 : x12 = XVECEXP (x3, 0, 0);
6109 : 10 : operands[3] = x12;
6110 : 10 : x13 = XVECEXP (x3, 0, 2);
6111 : 10 : operands[4] = x13;
6112 : 10 : x14 = XVECEXP (x3, 0, 3);
6113 : 10 : operands[5] = x14;
6114 : 10 : if (!const_int_operand (operands[5], E_SImode))
6115 : : return -1;
6116 : 10 : x15 = XVECEXP (x3, 0, 1);
6117 : 10 : if (!rtx_equal_p (x15, operands[2]))
6118 : : return -1;
6119 : 10 : x16 = XEXP (x4, 0);
6120 : 10 : if (!rtx_equal_p (x16, operands[3]))
6121 : : return -1;
6122 : 10 : x17 = PATTERN (peep2_next_insn (2));
6123 : 10 : x18 = XEXP (x17, 1);
6124 : 10 : x19 = XEXP (x18, 0);
6125 : 10 : if (!rtx_equal_p (x19, operands[2]))
6126 : : return -1;
6127 : 10 : x20 = XEXP (x18, 1);
6128 : 10 : if (!rtx_equal_p (x20, operands[1]))
6129 : : return -1;
6130 : 10 : switch (GET_MODE (operands[2]))
6131 : : {
6132 : 0 : case E_QImode:
6133 : 0 : return pattern1801 (x1,
6134 : 0 : E_QImode); /* [-1, 0] */
6135 : :
6136 : 2 : case E_HImode:
6137 : 2 : if (pattern1801 (x1,
6138 : : E_HImode) != 0)
6139 : : return -1;
6140 : : return 1;
6141 : :
6142 : 4 : case E_SImode:
6143 : 4 : if (pattern1801 (x1,
6144 : : E_SImode) != 0)
6145 : : return -1;
6146 : : return 2;
6147 : :
6148 : 4 : case E_DImode:
6149 : 4 : if (pattern1801 (x1,
6150 : : E_DImode) != 0)
6151 : : return -1;
6152 : : return 3;
6153 : :
6154 : : default:
6155 : : return -1;
6156 : : }
6157 : : }
6158 : :
6159 : : int
6160 : 731 : pattern1831 (machine_mode i1)
6161 : : {
6162 : 731 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6163 : 731 : int res ATTRIBUTE_UNUSED;
6164 : 731 : if (!vsib_address_operand (operands[2], i1))
6165 : : return -1;
6166 : 719 : switch (GET_MODE (operands[3]))
6167 : : {
6168 : 480 : case E_V8SImode:
6169 : 480 : if (!register_operand (operands[3], E_V8SImode)
6170 : 480 : || !register_operand (operands[4], E_V8SFmode))
6171 : 104 : return -1;
6172 : : return 0;
6173 : :
6174 : 239 : case E_V4DImode:
6175 : 239 : if (!register_operand (operands[3], E_V4DImode)
6176 : 239 : || !register_operand (operands[4], E_V4SFmode))
6177 : 58 : return -1;
6178 : : return 1;
6179 : :
6180 : : default:
6181 : : return -1;
6182 : : }
6183 : : }
6184 : :
6185 : : int
6186 : 395 : pattern1838 (rtx x1, machine_mode i1, machine_mode i2)
6187 : : {
6188 : 395 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6189 : 395 : rtx x2, x3, x4, x5, x6, x7;
6190 : 395 : int res ATTRIBUTE_UNUSED;
6191 : 395 : if (!nonimmediate_operand (operands[1], i1))
6192 : : return -1;
6193 : 395 : x2 = XVECEXP (x1, 0, 0);
6194 : 395 : x3 = XEXP (x2, 1);
6195 : 395 : x4 = XEXP (x3, 1);
6196 : 395 : if (GET_MODE (x4) != i2
6197 : 395 : || !ix86_carry_flag_operator (operands[4], i2)
6198 : 395 : || !const_scalar_int_operand (operands[6], i2)
6199 : 790 : || !nonimmediate_operand (operands[0], i1))
6200 : 0 : return -1;
6201 : 395 : x5 = XVECEXP (x1, 0, 1);
6202 : 395 : x6 = XEXP (x5, 1);
6203 : 395 : if (GET_MODE (x6) != i1)
6204 : : return -1;
6205 : 395 : x7 = XEXP (x6, 0);
6206 : 395 : if (GET_MODE (x7) != i1
6207 : 395 : || !ix86_carry_flag_operator (operands[5], i1)
6208 : 790 : || !x86_64_immediate_operand (operands[2], i1))
6209 : 240 : return -1;
6210 : : return 0;
6211 : : }
6212 : :
6213 : : int
6214 : 429 : pattern1849 ()
6215 : : {
6216 : 429 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6217 : 429 : int res ATTRIBUTE_UNUSED;
6218 : 429 : if (!const_0_to_15_operand (operands[2], E_VOIDmode)
6219 : 429 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
6220 : 429 : || !const_0_to_15_operand (operands[4], E_VOIDmode)
6221 : 429 : || !const_0_to_15_operand (operands[5], E_VOIDmode)
6222 : 429 : || !const_0_to_15_operand (operands[6], E_VOIDmode)
6223 : 429 : || !const_0_to_15_operand (operands[7], E_VOIDmode)
6224 : 429 : || !const_0_to_15_operand (operands[8], E_VOIDmode)
6225 : 429 : || !const_0_to_15_operand (operands[9], E_VOIDmode)
6226 : 429 : || !const_0_to_15_operand (operands[10], E_VOIDmode)
6227 : 429 : || !const_0_to_15_operand (operands[11], E_VOIDmode)
6228 : 429 : || !const_0_to_15_operand (operands[12], E_VOIDmode)
6229 : 429 : || !const_0_to_15_operand (operands[13], E_VOIDmode)
6230 : 429 : || !const_0_to_15_operand (operands[14], E_VOIDmode)
6231 : 429 : || !const_0_to_15_operand (operands[15], E_VOIDmode)
6232 : 429 : || !const_0_to_15_operand (operands[16], E_VOIDmode)
6233 : 858 : || !const_0_to_15_operand (operands[17], E_VOIDmode))
6234 : 0 : return -1;
6235 : : return 0;
6236 : : }
6237 : :
6238 : : int
6239 : 329 : pattern1857 (rtx x1, int i1, int i2, int i3, int i4)
6240 : : {
6241 : 329 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6242 : 329 : rtx x2, x3, x4, x5;
6243 : 329 : int res ATTRIBUTE_UNUSED;
6244 : 329 : x2 = XVECEXP (x1, 0, 28);
6245 : 329 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6246 : : return -1;
6247 : 329 : x3 = XVECEXP (x1, 0, 29);
6248 : 329 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6249 : : return -1;
6250 : 329 : x4 = XVECEXP (x1, 0, 30);
6251 : 329 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6252 : : return -1;
6253 : 329 : x5 = XVECEXP (x1, 0, 31);
6254 : 329 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6255 : 0 : return -1;
6256 : : return 0;
6257 : : }
6258 : :
6259 : : int
6260 : 0 : pattern1862 (rtx x1, machine_mode i1)
6261 : : {
6262 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6263 : 0 : rtx x2, x3, x4, x5, x6, x7;
6264 : 0 : int res ATTRIBUTE_UNUSED;
6265 : 0 : if (!register_operand (operands[4], i1)
6266 : 0 : || GET_MODE (x1) != i1
6267 : 0 : || !nonmemory_operand (operands[2], i1))
6268 : 0 : return -1;
6269 : 0 : x2 = PATTERN (peep2_next_insn (3));
6270 : 0 : x3 = XEXP (x2, 1);
6271 : 0 : if (!rtx_equal_p (x3, operands[4]))
6272 : : return -1;
6273 : 0 : x4 = PATTERN (peep2_next_insn (4));
6274 : 0 : x5 = XEXP (x4, 1);
6275 : 0 : x6 = XEXP (x5, 0);
6276 : 0 : operands[5] = x6;
6277 : 0 : x7 = XEXP (x5, 1);
6278 : 0 : operands[6] = x7;
6279 : 0 : return 0;
6280 : : }
6281 : :
6282 : : int
6283 : 1057 : pattern1869 (rtx x1, machine_mode i1, machine_mode i2)
6284 : : {
6285 : 1057 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6286 : 1057 : rtx x2, x3, x4, x5, x6, x7;
6287 : 1057 : int res ATTRIBUTE_UNUSED;
6288 : 1057 : x2 = XVECEXP (x1, 0, 0);
6289 : 1057 : x3 = XEXP (x2, 1);
6290 : 1057 : x4 = XEXP (x3, 0);
6291 : 1057 : x5 = XEXP (x4, 0);
6292 : 1057 : if (GET_MODE (x5) != i2
6293 : 1057 : || !ix86_carry_flag_operator (operands[4], i2))
6294 : 0 : return -1;
6295 : 1057 : x6 = XEXP (x5, 1);
6296 : 1057 : if (GET_MODE (x6) != i2
6297 : 1057 : || !nonimmediate_operand (operands[1], i1))
6298 : 0 : return -1;
6299 : 1057 : x7 = XEXP (x4, 1);
6300 : 1057 : if (GET_MODE (x7) != i2
6301 : 1057 : || !x86_64_sext_operand (operands[2], i1)
6302 : 2114 : || pattern1867 (x1,
6303 : : i1,
6304 : : i2) != 0)
6305 : 0 : return -1;
6306 : : return 0;
6307 : : }
6308 : :
6309 : : int
6310 : 373 : pattern1877 (rtx x1, int i1)
6311 : : {
6312 : 373 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6313 : 373 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6314 : 373 : int res ATTRIBUTE_UNUSED;
6315 : 373 : if (XVECLEN (x1, 0) != i1)
6316 : : return -1;
6317 : 373 : x2 = XVECEXP (x1, 0, 0);
6318 : 373 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6319 : : return -1;
6320 : 373 : x3 = XVECEXP (x1, 0, 1);
6321 : 373 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6322 : : return -1;
6323 : 373 : x4 = XVECEXP (x1, 0, 2);
6324 : 373 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6325 : : return -1;
6326 : 373 : x5 = XVECEXP (x1, 0, 3);
6327 : 373 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6328 : : return -1;
6329 : 373 : x6 = XVECEXP (x1, 0, 4);
6330 : 373 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
6331 : : return -1;
6332 : 373 : x7 = XVECEXP (x1, 0, 5);
6333 : 373 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
6334 : : return -1;
6335 : 373 : x8 = XVECEXP (x1, 0, 6);
6336 : 373 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
6337 : : return -1;
6338 : 373 : x9 = XVECEXP (x1, 0, 7);
6339 : 373 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
6340 : 0 : return -1;
6341 : : return 0;
6342 : : }
6343 : :
6344 : : int
6345 : 86242206 : recog_1 (rtx x1 ATTRIBUTE_UNUSED,
6346 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6347 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6348 : : {
6349 : 86242206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6350 : 86242206 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6351 : 86242206 : rtx x10, x11, x12, x13;
6352 : 86242206 : int res ATTRIBUTE_UNUSED;
6353 : 86242206 : x2 = XEXP (x1, 1);
6354 : 86242206 : x3 = XEXP (x2, 0);
6355 : 86242206 : x4 = XEXP (x3, 0);
6356 : 86242206 : if (GET_CODE (x4) != REG
6357 : 86242206 : || REGNO (x4) != 17)
6358 : : return -1;
6359 : 75861866 : x5 = XEXP (x3, 1);
6360 : 75861866 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6361 : : return -1;
6362 : 75861866 : x6 = XEXP (x2, 1);
6363 : 75861866 : switch (GET_CODE (x6))
6364 : : {
6365 : 196 : case COMPARE:
6366 : 196 : if (GET_MODE (x6) != E_CCmode)
6367 : : return -1;
6368 : 196 : x7 = XEXP (x6, 0);
6369 : 196 : if (GET_CODE (x7) != MINUS)
6370 : : return -1;
6371 : 136 : x8 = XEXP (x6, 1);
6372 : 136 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6373 : : return -1;
6374 : 136 : x9 = XEXP (x2, 2);
6375 : 136 : if (GET_CODE (x9) != UNSPEC
6376 : 136 : || XVECLEN (x9, 0) != 1
6377 : 136 : || XINT (x9, 1) != 109
6378 : 136 : || GET_MODE (x9) != E_CCmode)
6379 : : return -1;
6380 : 136 : x10 = XEXP (x1, 0);
6381 : 136 : operands[0] = x10;
6382 : 136 : if (!flags_reg_operand (operands[0], E_CCmode)
6383 : 136 : || GET_MODE (x2) != E_CCmode
6384 : 136 : || !comparison_operator (operands[1], E_VOIDmode)
6385 : 272 : || GET_MODE (x4) != E_CCmode)
6386 : 0 : return -1;
6387 : 136 : x11 = XEXP (x7, 0);
6388 : 136 : operands[2] = x11;
6389 : 136 : x12 = XEXP (x7, 1);
6390 : 136 : operands[3] = x12;
6391 : 136 : x13 = XVECEXP (x9, 0, 0);
6392 : 136 : operands[4] = x13;
6393 : 136 : if (!const_0_to_15_operand (operands[4], E_SImode))
6394 : : return -1;
6395 : 136 : switch (GET_MODE (x7))
6396 : : {
6397 : 5 : case E_QImode:
6398 : 5 : if (!nonimmediate_operand (operands[2], E_QImode)
6399 : 5 : || !general_operand (operands[3], E_QImode)
6400 : 10 : || !
6401 : : #line 1539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6402 : : (TARGET_APX_CCMP))
6403 : : return -1;
6404 : : return 1; /* ccmpqi */
6405 : :
6406 : : case E_HImode:
6407 : : if (!nonimmediate_operand (operands[2], E_HImode)
6408 : : || !general_operand (operands[3], E_HImode)
6409 : : || !
6410 : : #line 1539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6411 : : (TARGET_APX_CCMP))
6412 : : return -1;
6413 : : return 2; /* ccmphi */
6414 : :
6415 : : case E_SImode:
6416 : : if (!nonimmediate_operand (operands[2], E_SImode)
6417 : : || !x86_64_general_operand (operands[3], E_SImode)
6418 : : || !
6419 : : #line 1539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6420 : : (TARGET_APX_CCMP))
6421 : : return -1;
6422 : : return 3; /* ccmpsi */
6423 : :
6424 : : case E_DImode:
6425 : : if (!nonimmediate_operand (operands[2], E_DImode)
6426 : : || !x86_64_general_operand (operands[3], E_DImode)
6427 : : || !(
6428 : : #line 1539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6429 : : (TARGET_APX_CCMP) &&
6430 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6431 : : (TARGET_64BIT)))
6432 : : return -1;
6433 : : return 4; /* ccmpdi */
6434 : :
6435 : : default:
6436 : : return -1;
6437 : : }
6438 : :
6439 : : case LABEL_REF:
6440 : : x9 = XEXP (x2, 2);
6441 : : if (GET_CODE (x9) != PC)
6442 : : return -1;
6443 : : x10 = XEXP (x1, 0);
6444 : : if (GET_CODE (x10) != PC
6445 : : || !ix86_comparison_operator (operands[1], E_VOIDmode))
6446 : : return -1;
6447 : : x7 = XEXP (x6, 0);
6448 : : operands[0] = x7;
6449 : : return 1458; /* *jcc */
6450 : :
6451 : : case REG:
6452 : : case SUBREG:
6453 : : case MEM:
6454 : : operands[2] = x6;
6455 : : x10 = XEXP (x1, 0);
6456 : : operands[0] = x10;
6457 : : x9 = XEXP (x2, 2);
6458 : : operands[3] = x9;
6459 : : switch (GET_MODE (operands[0]))
6460 : : {
6461 : : case E_HImode:
6462 : : if (pattern1198 (x2,
6463 : : E_HImode) != 0
6464 : : || !
6465 : : #line 26198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6466 : : (TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
6467 : : return -1;
6468 : : return 1797; /* *movhicc_noc */
6469 : :
6470 : : case E_QImode:
6471 : : if (pattern1199 (x2) != 0
6472 : : || !
6473 : : #line 26272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6474 : : (TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
6475 : : return -1;
6476 : : return 1802; /* *movqicc_noc */
6477 : :
6478 : : case E_XFmode:
6479 : : if (!register_operand (operands[0], E_XFmode)
6480 : : || GET_MODE (x2) != E_XFmode
6481 : : || !fcmov_comparison_operator (operands[1], E_VOIDmode)
6482 : : || !register_operand (operands[2], E_XFmode)
6483 : : || !register_operand (operands[3], E_XFmode)
6484 : : || !
6485 : : #line 26466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6486 : : (TARGET_80387 && TARGET_CMOVE))
6487 : : return -1;
6488 : : return 1804; /* *movxfcc_1 */
6489 : :
6490 : : case E_DFmode:
6491 : : if (!register_operand (operands[0], E_DFmode)
6492 : : || pattern1260 (x2,
6493 : : E_DFmode) != 0
6494 : : || !
6495 : : #line 26481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6496 : : (TARGET_80387 && TARGET_CMOVE
6497 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
6498 : : return -1;
6499 : : return 1805; /* *movdfcc_1 */
6500 : :
6501 : : case E_SFmode:
6502 : : if (!register_operand (operands[0], E_SFmode)
6503 : : || pattern1260 (x2,
6504 : : E_SFmode) != 0
6505 : : || !
6506 : : #line 26516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6507 : : (TARGET_80387 && TARGET_CMOVE
6508 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
6509 : : return -1;
6510 : : return 1806; /* *movsfcc_1_387 */
6511 : :
6512 : : default:
6513 : : return -1;
6514 : : }
6515 : :
6516 : : default:
6517 : : return -1;
6518 : : }
6519 : : }
6520 : :
6521 : : int
6522 : : recog_12 (rtx x1 ATTRIBUTE_UNUSED,
6523 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6524 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6525 : : {
6526 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6527 : : rtx x2, x3, x4, x5, x6;
6528 : : int res ATTRIBUTE_UNUSED;
6529 : : x2 = XEXP (x1, 0);
6530 : : operands[0] = x2;
6531 : : x3 = XEXP (x1, 1);
6532 : : x4 = XVECEXP (x3, 0, 0);
6533 : : switch (GET_CODE (x4))
6534 : : {
6535 : : case CONST_INT:
6536 : : case CONST_DOUBLE:
6537 : : case CONST_VECTOR:
6538 : : case REG:
6539 : : case SUBREG:
6540 : : case MEM:
6541 : : operands[1] = x4;
6542 : : x5 = XVECEXP (x3, 0, 2);
6543 : : if (GET_CODE (x5) != CONST_INT)
6544 : : return -1;
6545 : : operands[3] = x5;
6546 : : x6 = XVECEXP (x3, 0, 1);
6547 : : operands[2] = x6;
6548 : : switch (pattern967 (x3))
6549 : : {
6550 : : case 0:
6551 : : switch (GET_MODE (operands[1]))
6552 : : {
6553 : : case E_HFmode:
6554 : : if (register_operand (operands[1], E_HFmode)
6555 : : && nonimmediate_operand (operands[2], E_HFmode)
6556 : : && const_0_to_31_operand (operands[3], E_SImode)
6557 : : &&
6558 : : #line 19714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6559 : : (TARGET_AVX512FP16))
6560 : : return 1457; /* setcc_hf_mask */
6561 : : break;
6562 : :
6563 : : case E_V8SImode:
6564 : : if (register_operand (operands[1], E_V8SImode)
6565 : : && nonimmediate_operand (operands[2], E_V8SImode)
6566 : : && const_0_to_7_operand (operands[3], E_SImode)
6567 : : && (
6568 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6569 : : (TARGET_AVX512F && 1) &&
6570 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6571 : : (TARGET_AVX512VL)))
6572 : : return 3279; /* avx512vl_cmpv8si3 */
6573 : : break;
6574 : :
6575 : : case E_V4SImode:
6576 : : if (register_operand (operands[1], E_V4SImode)
6577 : : && nonimmediate_operand (operands[2], E_V4SImode)
6578 : : && const_0_to_7_operand (operands[3], E_SImode)
6579 : : && (
6580 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6581 : : (TARGET_AVX512F && 1) &&
6582 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6583 : : (TARGET_AVX512VL)))
6584 : : return 3283; /* avx512vl_cmpv4si3 */
6585 : : break;
6586 : :
6587 : : case E_V8DImode:
6588 : : if (register_operand (operands[1], E_V8DImode)
6589 : : && nonimmediate_operand (operands[2], E_V8DImode)
6590 : : && const_0_to_7_operand (operands[3], E_SImode)
6591 : : && (
6592 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6593 : : (TARGET_AVX512F && 1) &&
6594 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6595 : : (TARGET_EVEX512)))
6596 : : return 3285; /* avx512f_cmpv8di3 */
6597 : : break;
6598 : :
6599 : : case E_V4DImode:
6600 : : if (register_operand (operands[1], E_V4DImode)
6601 : : && nonimmediate_operand (operands[2], E_V4DImode)
6602 : : && const_0_to_7_operand (operands[3], E_SImode)
6603 : : && (
6604 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6605 : : (TARGET_AVX512F && 1) &&
6606 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6607 : : (TARGET_AVX512VL)))
6608 : : return 3289; /* avx512vl_cmpv4di3 */
6609 : : break;
6610 : :
6611 : : case E_V2DImode:
6612 : : if (register_operand (operands[1], E_V2DImode)
6613 : : && nonimmediate_operand (operands[2], E_V2DImode)
6614 : : && const_0_to_7_operand (operands[3], E_SImode)
6615 : : && (
6616 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6617 : : (TARGET_AVX512F && 1) &&
6618 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6619 : : (TARGET_AVX512VL)))
6620 : : return 3293; /* avx512vl_cmpv2di3 */
6621 : : break;
6622 : :
6623 : : case E_V8HFmode:
6624 : : if (register_operand (operands[1], E_V8HFmode)
6625 : : && nonimmediate_operand (operands[2], E_V8HFmode)
6626 : : && const_0_to_31_operand (operands[3], E_SImode)
6627 : : && (
6628 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6629 : : (TARGET_AVX512F && 1) &&
6630 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6631 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
6632 : : return 3303; /* avx512fp16_cmpv8hf3 */
6633 : : break;
6634 : :
6635 : : case E_V8SFmode:
6636 : : if (register_operand (operands[1], E_V8SFmode)
6637 : : && nonimmediate_operand (operands[2], E_V8SFmode)
6638 : : && const_0_to_31_operand (operands[3], E_SImode)
6639 : : && (
6640 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6641 : : (TARGET_AVX512F && 1) &&
6642 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6643 : : (TARGET_AVX512VL)))
6644 : : return 3309; /* avx512vl_cmpv8sf3 */
6645 : : break;
6646 : :
6647 : : case E_V4SFmode:
6648 : : if (register_operand (operands[1], E_V4SFmode)
6649 : : && nonimmediate_operand (operands[2], E_V4SFmode)
6650 : : && const_0_to_31_operand (operands[3], E_SImode)
6651 : : && (
6652 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6653 : : (TARGET_AVX512F && 1) &&
6654 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6655 : : (TARGET_AVX512VL)))
6656 : : return 3313; /* avx512vl_cmpv4sf3 */
6657 : : break;
6658 : :
6659 : : case E_V8DFmode:
6660 : : if (register_operand (operands[1], E_V8DFmode)
6661 : : && nonimmediate_operand (operands[2], E_V8DFmode)
6662 : : && const_0_to_31_operand (operands[3], E_SImode)
6663 : : && (
6664 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6665 : : (TARGET_AVX512F && 1) &&
6666 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6667 : : (TARGET_EVEX512)))
6668 : : return 3315; /* avx512f_cmpv8df3 */
6669 : : break;
6670 : :
6671 : : case E_V4DFmode:
6672 : : if (register_operand (operands[1], E_V4DFmode)
6673 : : && nonimmediate_operand (operands[2], E_V4DFmode)
6674 : : && const_0_to_31_operand (operands[3], E_SImode)
6675 : : && (
6676 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6677 : : (TARGET_AVX512F && 1) &&
6678 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6679 : : (TARGET_AVX512VL)))
6680 : : return 3319; /* avx512vl_cmpv4df3 */
6681 : : break;
6682 : :
6683 : : case E_V2DFmode:
6684 : : if (register_operand (operands[1], E_V2DFmode)
6685 : : && nonimmediate_operand (operands[2], E_V2DFmode)
6686 : : && const_0_to_31_operand (operands[3], E_SImode)
6687 : : && (
6688 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6689 : : (TARGET_AVX512F && 1) &&
6690 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6691 : : (TARGET_AVX512VL)))
6692 : : return 3323; /* avx512vl_cmpv2df3 */
6693 : : break;
6694 : :
6695 : : case E_V8HImode:
6696 : : if (register_operand (operands[1], E_V8HImode)
6697 : : && nonimmediate_operand (operands[2], E_V8HImode)
6698 : : && const_0_to_7_operand (operands[3], E_SImode)
6699 : : && (
6700 : : #line 4487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6701 : : (TARGET_AVX512BW) &&
6702 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6703 : : (TARGET_AVX512VL)))
6704 : : return 3440; /* avx512vl_cmpv8hi3 */
6705 : : break;
6706 : :
6707 : : case E_V8BFmode:
6708 : : if (register_operand (operands[1], E_V8BFmode)
6709 : : && nonimmediate_operand (operands[2], E_V8BFmode)
6710 : : && const_0_to_31_operand (operands[3], E_VOIDmode)
6711 : : &&
6712 : : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6713 : : (TARGET_AVX10_2_256))
6714 : : return 10726; /* avx10_2_cmppbf16_v8bf */
6715 : : break;
6716 : :
6717 : : default:
6718 : : break;
6719 : : }
6720 : : break;
6721 : :
6722 : : case 1:
6723 : : switch (GET_MODE (operands[1]))
6724 : : {
6725 : : case E_V16SImode:
6726 : : if (register_operand (operands[1], E_V16SImode)
6727 : : && nonimmediate_operand (operands[2], E_V16SImode)
6728 : : && const_0_to_7_operand (operands[3], E_SImode)
6729 : : && (
6730 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6731 : : (TARGET_AVX512F && 1) &&
6732 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6733 : : (TARGET_EVEX512)))
6734 : : return 3275; /* avx512f_cmpv16si3 */
6735 : : break;
6736 : :
6737 : : case E_V16HFmode:
6738 : : if (register_operand (operands[1], E_V16HFmode)
6739 : : && nonimmediate_operand (operands[2], E_V16HFmode)
6740 : : && const_0_to_31_operand (operands[3], E_SImode)
6741 : : && (
6742 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6743 : : (TARGET_AVX512F && 1) &&
6744 : : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6745 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
6746 : : return 3299; /* avx512vl_cmpv16hf3 */
6747 : : break;
6748 : :
6749 : : case E_V16SFmode:
6750 : : if (register_operand (operands[1], E_V16SFmode)
6751 : : && nonimmediate_operand (operands[2], E_V16SFmode)
6752 : : && const_0_to_31_operand (operands[3], E_SImode)
6753 : : && (
6754 : : #line 4395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6755 : : (TARGET_AVX512F && 1) &&
6756 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6757 : : (TARGET_EVEX512)))
6758 : : return 3305; /* avx512f_cmpv16sf3 */
6759 : : break;
6760 : :
6761 : : case E_V16QImode:
6762 : : if (register_operand (operands[1], E_V16QImode)
6763 : : && nonimmediate_operand (operands[2], E_V16QImode)
6764 : : && const_0_to_7_operand (operands[3], E_SImode)
6765 : : && (
6766 : : #line 4487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6767 : : (TARGET_AVX512BW) &&
6768 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6769 : : (TARGET_AVX512VL)))
6770 : : return 3432; /* avx512vl_cmpv16qi3 */
6771 : : break;
6772 : :
6773 : : case E_V16HImode:
6774 : : if (register_operand (operands[1], E_V16HImode)
6775 : : && nonimmediate_operand (operands[2], E_V16HImode)
6776 : : && const_0_to_7_operand (operands[3], E_SImode)
6777 : : && (
6778 : : #line 4487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6779 : : (TARGET_AVX512BW) &&
6780 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6781 : : (TARGET_AVX512VL)))
6782 : : return 3438; /* avx512vl_cmpv16hi3 */
6783 : : break;
6784 : :
6785 : : case E_V16BFmode:
6786 : : if (register_operand (operands[1], E_V16BFmode)
6787 : : && nonimmediate_operand (operands[2], E_V16BFmode)
6788 : : && const_0_to_31_operand (operands[3], E_VOIDmode)
6789 : : &&
6790 : : #line 32446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6791 : : (TARGET_AVX10_2_256))
6792 : : return 10724; /* avx10_2_cmppbf16_v16bf */
6793 : : break;
6794 : :
6795 : : default:
6796 : : break;
6797 : : }
6798 : : break;
6799 : :
6800 : : default:
6801 : : break;
6802 : : }
6803 : : if (XWINT (x5, 0) != 0L)
6804 : : return -1;
6805 : : operands[2] = x6;
6806 : : switch (pattern968 (x3))
6807 : : {
6808 : : case 0:
6809 : : if (!(
6810 : : #line 4582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6811 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6812 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6813 : : (TARGET_AVX512VL)))
6814 : : return -1;
6815 : : return 3494; /* *avx512vl_eqv16qi3_1 */
6816 : :
6817 : : case 1:
6818 : : if (!(
6819 : : #line 4582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6820 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6821 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6822 : : (TARGET_AVX512VL)))
6823 : : return -1;
6824 : : return 3506; /* *avx512vl_eqv16hi3_1 */
6825 : :
6826 : : case 2:
6827 : : if (!(
6828 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6829 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6830 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6831 : : (TARGET_EVEX512)))
6832 : : return -1;
6833 : : return 3562; /* *avx512f_eqv16si3_1 */
6834 : :
6835 : : case 3:
6836 : : if (!(
6837 : : #line 4582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6838 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6839 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6840 : : (TARGET_AVX512VL)))
6841 : : return -1;
6842 : : return 3510; /* *avx512vl_eqv8hi3_1 */
6843 : :
6844 : : case 4:
6845 : : if (!(
6846 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6847 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6848 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6849 : : (TARGET_AVX512VL)))
6850 : : return -1;
6851 : : return 3566; /* *avx512vl_eqv8si3_1 */
6852 : :
6853 : : case 5:
6854 : : if (!(
6855 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6856 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6857 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6858 : : (TARGET_AVX512VL)))
6859 : : return -1;
6860 : : return 3570; /* *avx512vl_eqv4si3_1 */
6861 : :
6862 : : case 6:
6863 : : if (!(
6864 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6865 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6866 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6867 : : (TARGET_EVEX512)))
6868 : : return -1;
6869 : : return 3574; /* *avx512f_eqv8di3_1 */
6870 : :
6871 : : case 7:
6872 : : if (!(
6873 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6874 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6875 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6876 : : (TARGET_AVX512VL)))
6877 : : return -1;
6878 : : return 3578; /* *avx512vl_eqv4di3_1 */
6879 : :
6880 : : case 8:
6881 : : if (!(
6882 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6883 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6884 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6885 : : (TARGET_AVX512VL)))
6886 : : return -1;
6887 : : return 3582; /* *avx512vl_eqv2di3_1 */
6888 : :
6889 : : default:
6890 : : return -1;
6891 : : }
6892 : :
6893 : : case US_MINUS:
6894 : : switch (pattern419 (x3))
6895 : : {
6896 : : case 0:
6897 : : if (!(
6898 : : #line 4789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6899 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6900 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
6901 : : && (INTVAL (operands[4]) & 3) == 0) &&
6902 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6903 : : (TARGET_AVX512VL)))
6904 : : return -1;
6905 : : return 3642; /* *avx512vl_ucmpv16qi3_1 */
6906 : :
6907 : : case 1:
6908 : : if (!(
6909 : : #line 4789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6910 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6911 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
6912 : : && (INTVAL (operands[4]) & 3) == 0) &&
6913 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6914 : : (TARGET_AVX512VL)))
6915 : : return -1;
6916 : : return 3648; /* *avx512vl_ucmpv16hi3_1 */
6917 : :
6918 : : case 2:
6919 : : if (!(
6920 : : #line 4789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6921 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6922 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
6923 : : && (INTVAL (operands[4]) & 3) == 0) &&
6924 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6925 : : (TARGET_AVX512VL)))
6926 : : return -1;
6927 : : return 3650; /* *avx512vl_ucmpv8hi3_1 */
6928 : :
6929 : : default:
6930 : : return -1;
6931 : : }
6932 : :
6933 : : default:
6934 : : return -1;
6935 : : }
6936 : : }
6937 : :
6938 : : int
6939 : : recog_22 (rtx x1 ATTRIBUTE_UNUSED,
6940 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6941 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6942 : : {
6943 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6944 : : rtx x2, x3;
6945 : : int res ATTRIBUTE_UNUSED;
6946 : : switch (pattern1 (x1, pnum_clobbers))
6947 : : {
6948 : : case 0:
6949 : : if (!(
6950 : : #line 16653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6951 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
6952 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
6953 : : == (2 * 8 * BITS_PER_UNIT - 1)))
6954 : : && ix86_pre_reload_split ()) &&
6955 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6956 : : (TARGET_64BIT)))
6957 : : return -1;
6958 : : *pnum_clobbers = 1;
6959 : : return 1128; /* *lshrti3_doubleword_mask_1 */
6960 : :
6961 : : case 1:
6962 : : x2 = XEXP (x1, 1);
6963 : : x3 = XEXP (x2, 1);
6964 : : switch (GET_CODE (x3))
6965 : : {
6966 : : case CONST_INT:
6967 : : switch (pattern253 (x1))
6968 : : {
6969 : : case 0:
6970 : : return 137; /* *insvqi_3 */
6971 : :
6972 : : case 1:
6973 : : return 139; /* *insvqi_3 */
6974 : :
6975 : : case 2:
6976 : : if (
6977 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6978 : : (TARGET_64BIT))
6979 : : return 141; /* *insvqi_3 */
6980 : : break;
6981 : :
6982 : : default:
6983 : : break;
6984 : : }
6985 : : break;
6986 : :
6987 : : case SUBREG:
6988 : : if (pnum_clobbers != NULL
6989 : : && pattern422 (x1,
6990 : : E_TImode) == 0
6991 : : && (
6992 : : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6993 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
6994 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
6995 : : == (2 * 8 * BITS_PER_UNIT - 1)))
6996 : : && ix86_pre_reload_split ()) &&
6997 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6998 : : (TARGET_64BIT)))
6999 : : {
7000 : : *pnum_clobbers = 1;
7001 : : return 1124; /* *lshrti3_doubleword_mask */
7002 : : }
7003 : : break;
7004 : :
7005 : : default:
7006 : : break;
7007 : : }
7008 : : operands[2] = x3;
7009 : : switch (pattern254 (x1, pnum_clobbers))
7010 : : {
7011 : : case 0:
7012 : : switch (GET_MODE (operands[0]))
7013 : : {
7014 : : case E_TImode:
7015 : : if (pnum_clobbers == NULL
7016 : : || pattern738 (x2,
7017 : : E_TImode,
7018 : : E_QImode) != 0
7019 : : || !
7020 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7021 : : (TARGET_64BIT))
7022 : : return -1;
7023 : : *pnum_clobbers = 1;
7024 : : return 1132; /* lshrti3_doubleword */
7025 : :
7026 : : case E_QImode:
7027 : : if (pattern624 (x2,
7028 : : E_QImode) != 0)
7029 : : return -1;
7030 : : if (
7031 : : #line 17581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7032 : : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
7033 : : && TARGET_APX_NF))
7034 : : return 1212; /* *lshrqi3_1_nf */
7035 : : if (pnum_clobbers == NULL
7036 : : || !
7037 : : #line 17581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7038 : : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
7039 : : && true))
7040 : : return -1;
7041 : : *pnum_clobbers = 1;
7042 : : return 1213; /* *lshrqi3_1 */
7043 : :
7044 : : case E_HImode:
7045 : : if (pattern624 (x2,
7046 : : E_HImode) != 0)
7047 : : return -1;
7048 : : if (
7049 : : #line 17619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7050 : : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
7051 : : && TARGET_APX_NF))
7052 : : return 1214; /* *lshrhi3_1_nf */
7053 : : if (pnum_clobbers == NULL
7054 : : || !
7055 : : #line 17619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7056 : : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
7057 : : && true))
7058 : : return -1;
7059 : : *pnum_clobbers = 1;
7060 : : return 1215; /* *lshrhi3_1 */
7061 : :
7062 : : case E_V4HImode:
7063 : : if (pattern738 (x2,
7064 : : E_V4HImode,
7065 : : E_DImode) != 0
7066 : : || !
7067 : : #line 3891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7068 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7069 : : return -1;
7070 : : return 2197; /* mmx_lshrv4hi3 */
7071 : :
7072 : : case E_V2SImode:
7073 : : if (pattern738 (x2,
7074 : : E_V2SImode,
7075 : : E_DImode) != 0
7076 : : || !
7077 : : #line 3891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7078 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7079 : : return -1;
7080 : : return 2199; /* mmx_lshrv2si3 */
7081 : :
7082 : : case E_V1DImode:
7083 : : if (pattern738 (x2,
7084 : : E_V1DImode,
7085 : : E_DImode) != 0
7086 : : || !
7087 : : #line 3891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7088 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7089 : : return -1;
7090 : : return 2201; /* mmx_lshrv1di3 */
7091 : :
7092 : : case E_V1SImode:
7093 : : if (pattern738 (x2,
7094 : : E_V1SImode,
7095 : : E_DImode) != 0
7096 : : || !
7097 : : #line 3928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7098 : : (TARGET_SSE2))
7099 : : return -1;
7100 : : return 2203; /* mmx_lshrv1si3 */
7101 : :
7102 : : case E_V2HImode:
7103 : : if (pattern738 (x2,
7104 : : E_V2HImode,
7105 : : E_DImode) != 0
7106 : : || !
7107 : : #line 3945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7108 : : (TARGET_SSE2))
7109 : : return -1;
7110 : : return 2205; /* lshrv2hi3 */
7111 : :
7112 : : case E_V2QImode:
7113 : : if (pnum_clobbers == NULL
7114 : : || pattern738 (x2,
7115 : : E_V2QImode,
7116 : : E_QImode) != 0
7117 : : || !
7118 : : #line 4007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7119 : : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7120 : : return -1;
7121 : : *pnum_clobbers = 1;
7122 : : return 2209; /* lshrv2qi3 */
7123 : :
7124 : : default:
7125 : : return -1;
7126 : : }
7127 : :
7128 : : case 1:
7129 : : if (!
7130 : : #line 17658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7131 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7132 : : return -1;
7133 : : *pnum_clobbers = 1;
7134 : : return 1216; /* *lshrqi3_1_slp */
7135 : :
7136 : : case 2:
7137 : : if (!
7138 : : #line 17658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7139 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7140 : : return -1;
7141 : : *pnum_clobbers = 1;
7142 : : return 1218; /* *lshrhi3_1_slp */
7143 : :
7144 : : default:
7145 : : return -1;
7146 : : }
7147 : :
7148 : : default:
7149 : : return -1;
7150 : : }
7151 : : }
7152 : :
7153 : : int
7154 : : recog_27 (rtx x1 ATTRIBUTE_UNUSED,
7155 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7156 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7157 : : {
7158 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7159 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7160 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
7161 : : int res ATTRIBUTE_UNUSED;
7162 : : x2 = XEXP (x1, 0);
7163 : : operands[0] = x2;
7164 : : x3 = XEXP (x1, 1);
7165 : : x4 = XEXP (x3, 0);
7166 : : switch (GET_CODE (x4))
7167 : : {
7168 : : case CONST_INT:
7169 : : case CONST:
7170 : : case REG:
7171 : : case SUBREG:
7172 : : case MEM:
7173 : : case LABEL_REF:
7174 : : case SYMBOL_REF:
7175 : : operands[1] = x4;
7176 : : switch (GET_MODE (operands[0]))
7177 : : {
7178 : : case E_TImode:
7179 : : if (!nonimmediate_operand (operands[0], E_TImode)
7180 : : || GET_MODE (x3) != E_TImode
7181 : : || !nonimmediate_operand (operands[1], E_DImode)
7182 : : || !
7183 : : #line 4660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7184 : : (TARGET_64BIT))
7185 : : return -1;
7186 : : return 174; /* zero_extendditi2 */
7187 : :
7188 : : case E_DImode:
7189 : : if (GET_MODE (x3) != E_DImode)
7190 : : return -1;
7191 : : if (nonimmediate_operand (operands[0], E_DImode)
7192 : : && x86_64_zext_operand (operands[1], E_SImode))
7193 : : return 175; /* *zero_extendsidi2 */
7194 : : if (!register_operand (operands[0], E_DImode))
7195 : : return -1;
7196 : : switch (GET_MODE (operands[1]))
7197 : : {
7198 : : case E_QImode:
7199 : : if (!nonimmediate_operand (operands[1], E_QImode)
7200 : : || !
7201 : : #line 4812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7202 : : (TARGET_64BIT))
7203 : : return -1;
7204 : : return 176; /* zero_extendqidi2 */
7205 : :
7206 : : case E_HImode:
7207 : : if (!nonimmediate_operand (operands[1], E_HImode)
7208 : : || !
7209 : : #line 4812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7210 : : (TARGET_64BIT))
7211 : : return -1;
7212 : : return 177; /* zero_extendhidi2 */
7213 : :
7214 : : default:
7215 : : return -1;
7216 : : }
7217 : :
7218 : : case E_SImode:
7219 : : if (!register_operand (operands[0], E_SImode)
7220 : : || GET_MODE (x3) != E_SImode)
7221 : : return -1;
7222 : : switch (GET_MODE (operands[1]))
7223 : : {
7224 : : case E_QImode:
7225 : : if (!nonimmediate_operand (operands[1], E_QImode))
7226 : : return -1;
7227 : : if (pnum_clobbers != NULL
7228 : : &&
7229 : : #line 4839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7230 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7231 : : {
7232 : : *pnum_clobbers = 1;
7233 : : return 178; /* zero_extendqisi2_and */
7234 : : }
7235 : : if (!
7236 : : #line 4867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7237 : : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7238 : : return -1;
7239 : : return 180; /* *zero_extendqisi2 */
7240 : :
7241 : : case E_HImode:
7242 : : if (!nonimmediate_operand (operands[1], E_HImode))
7243 : : return -1;
7244 : : if (pnum_clobbers != NULL
7245 : : &&
7246 : : #line 4839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7247 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7248 : : {
7249 : : *pnum_clobbers = 1;
7250 : : return 179; /* zero_extendhisi2_and */
7251 : : }
7252 : : if (!
7253 : : #line 4867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7254 : : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7255 : : return -1;
7256 : : return 181; /* *zero_extendhisi2 */
7257 : :
7258 : : default:
7259 : : return -1;
7260 : : }
7261 : :
7262 : : case E_HImode:
7263 : : if (!register_operand (operands[0], E_HImode)
7264 : : || GET_MODE (x3) != E_HImode
7265 : : || !nonimmediate_operand (operands[1], E_QImode))
7266 : : return -1;
7267 : : if (pnum_clobbers != NULL
7268 : : &&
7269 : : #line 4893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7270 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7271 : : {
7272 : : *pnum_clobbers = 1;
7273 : : return 182; /* zero_extendqihi2_and */
7274 : : }
7275 : : if (!
7276 : : #line 4921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7277 : : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7278 : : return -1;
7279 : : return 183; /* *zero_extendqihi2 */
7280 : :
7281 : : default:
7282 : : return -1;
7283 : : }
7284 : :
7285 : : case SIGN_EXTEND:
7286 : : if (GET_MODE (x4) != E_SImode
7287 : : || !register_operand (operands[0], E_DImode)
7288 : : || GET_MODE (x3) != E_DImode)
7289 : : return -1;
7290 : : x5 = XEXP (x4, 0);
7291 : : operands[1] = x5;
7292 : : switch (GET_MODE (operands[1]))
7293 : : {
7294 : : case E_HImode:
7295 : : if (!nonimmediate_operand (operands[1], E_HImode)
7296 : : || !
7297 : : #line 5170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7298 : : (TARGET_64BIT))
7299 : : return -1;
7300 : : return 190; /* *extendhisi2_zext */
7301 : :
7302 : : case E_QImode:
7303 : : if (!nonimmediate_operand (operands[1], E_QImode)
7304 : : || !
7305 : : #line 5205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7306 : : (TARGET_64BIT))
7307 : : return -1;
7308 : : return 192; /* *extendqisi2_zext */
7309 : :
7310 : : default:
7311 : : return -1;
7312 : : }
7313 : :
7314 : : case UNSIGNED_FIX:
7315 : : if (GET_MODE (x4) != E_SImode
7316 : : || !register_operand (operands[0], E_DImode)
7317 : : || GET_MODE (x3) != E_DImode)
7318 : : return -1;
7319 : : x5 = XEXP (x4, 0);
7320 : : operands[1] = x5;
7321 : : switch (GET_MODE (operands[1]))
7322 : : {
7323 : : case E_HFmode:
7324 : : if (!nonimmediate_operand (operands[1], E_HFmode)
7325 : : || !
7326 : : #line 5887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7327 : : (TARGET_64BIT && TARGET_AVX512FP16))
7328 : : return -1;
7329 : : return 220; /* *fixuns_trunchfsi2zext */
7330 : :
7331 : : case E_SFmode:
7332 : : if (!nonimmediate_operand (operands[1], E_SFmode)
7333 : : || !
7334 : : #line 5898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7335 : : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
7336 : : return -1;
7337 : : return 221; /* *fixuns_truncsfsi2_avx512f_zext */
7338 : :
7339 : : case E_DFmode:
7340 : : if (!nonimmediate_operand (operands[1], E_DFmode)
7341 : : || !
7342 : : #line 5898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7343 : : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
7344 : : return -1;
7345 : : return 222; /* *fixuns_truncdfsi2_avx512f_zext */
7346 : :
7347 : : default:
7348 : : return -1;
7349 : : }
7350 : :
7351 : : case PLUS:
7352 : : if (GET_MODE (x4) != E_QImode
7353 : : || !register_operand (operands[0], E_HImode)
7354 : : || GET_MODE (x3) != E_HImode)
7355 : : return -1;
7356 : : x5 = XEXP (x4, 0);
7357 : : switch (GET_CODE (x5))
7358 : : {
7359 : : case REG:
7360 : : case SUBREG:
7361 : : case MEM:
7362 : : operands[1] = x5;
7363 : : if (!nonimmediate_operand (operands[1], E_QImode))
7364 : : return -1;
7365 : : x6 = XEXP (x4, 1);
7366 : : operands[2] = x6;
7367 : : if (!general_operand (operands[2], E_QImode))
7368 : : return -1;
7369 : : if (
7370 : : #line 6677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7371 : : (TARGET_APX_NDD && TARGET_APX_NF
7372 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7373 : : return 286; /* *addqi_1_zexthi_nf */
7374 : : if (pnum_clobbers == NULL
7375 : : || !
7376 : : #line 6677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7377 : : (TARGET_APX_NDD && true
7378 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7379 : : return -1;
7380 : : *pnum_clobbers = 1;
7381 : : return 287; /* *addqi_1_zexthi */
7382 : :
7383 : : case PLUS:
7384 : : if (pnum_clobbers == NULL
7385 : : || GET_MODE (x5) != E_QImode)
7386 : : return -1;
7387 : : x7 = XEXP (x5, 0);
7388 : : if (!ix86_carry_flag_operator (x7, E_QImode))
7389 : : return -1;
7390 : : operands[3] = x7;
7391 : : x8 = XEXP (x7, 0);
7392 : : if (GET_CODE (x8) != REG
7393 : : || REGNO (x8) != 17)
7394 : : return -1;
7395 : : x9 = XEXP (x7, 1);
7396 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7397 : : return -1;
7398 : : x10 = XEXP (x5, 1);
7399 : : operands[1] = x10;
7400 : : if (!nonimmediate_operand (operands[1], E_QImode))
7401 : : return -1;
7402 : : x6 = XEXP (x4, 1);
7403 : : operands[2] = x6;
7404 : : if (!x86_64_general_operand (operands[2], E_QImode)
7405 : : || !
7406 : : #line 8895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7407 : : (TARGET_APX_NDD
7408 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7409 : : return -1;
7410 : : *pnum_clobbers = 1;
7411 : : return 465; /* *addqi3_carry_zexthi */
7412 : :
7413 : : case LTU:
7414 : : case UNLT:
7415 : : if (pnum_clobbers == NULL)
7416 : : return -1;
7417 : : operands[2] = x5;
7418 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
7419 : : || pattern1069 (x4) != 0
7420 : : || !
7421 : : #line 8952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7422 : : (TARGET_APX_NDD))
7423 : : return -1;
7424 : : *pnum_clobbers = 1;
7425 : : return 471; /* *addqi3_carry_zexthi_0 */
7426 : :
7427 : : case GE:
7428 : : case GEU:
7429 : : if (pnum_clobbers == NULL)
7430 : : return -1;
7431 : : operands[2] = x5;
7432 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
7433 : : || pattern1069 (x4) != 0
7434 : : || !
7435 : : #line 8997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7436 : : (TARGET_APX_NDD))
7437 : : return -1;
7438 : : *pnum_clobbers = 1;
7439 : : return 477; /* *addqi3_carry_zexthi_0r */
7440 : :
7441 : : default:
7442 : : return -1;
7443 : : }
7444 : :
7445 : : case MINUS:
7446 : : if (GET_MODE (x4) != E_QImode
7447 : : || !register_operand (operands[0], E_HImode)
7448 : : || GET_MODE (x3) != E_HImode)
7449 : : return -1;
7450 : : x6 = XEXP (x4, 1);
7451 : : operands[2] = x6;
7452 : : x5 = XEXP (x4, 0);
7453 : : switch (GET_CODE (x5))
7454 : : {
7455 : : case REG:
7456 : : case SUBREG:
7457 : : case MEM:
7458 : : operands[1] = x5;
7459 : : if (!nonimmediate_operand (operands[1], E_QImode))
7460 : : return -1;
7461 : : switch (GET_CODE (operands[2]))
7462 : : {
7463 : : case CONST_INT:
7464 : : case CONST_WIDE_INT:
7465 : : case CONST_POLY_INT:
7466 : : case CONST_FIXED:
7467 : : case CONST_DOUBLE:
7468 : : case CONST_VECTOR:
7469 : : case CONST:
7470 : : case REG:
7471 : : case SUBREG:
7472 : : case MEM:
7473 : : case LABEL_REF:
7474 : : case SYMBOL_REF:
7475 : : case HIGH:
7476 : : if (!x86_64_general_operand (operands[2], E_QImode))
7477 : : return -1;
7478 : : if (
7479 : : #line 8144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7480 : : (TARGET_APX_NDD && TARGET_APX_NF
7481 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7482 : : return 392; /* *subqi_1_zexthi_nf */
7483 : : if (pnum_clobbers == NULL
7484 : : || !
7485 : : #line 8144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7486 : : (TARGET_APX_NDD && true
7487 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7488 : : return -1;
7489 : : *pnum_clobbers = 1;
7490 : : return 393; /* *subqi_1_zexthi */
7491 : :
7492 : : case LTU:
7493 : : case UNLT:
7494 : : if (pnum_clobbers == NULL
7495 : : || !ix86_carry_flag_operator (operands[2], E_QImode))
7496 : : return -1;
7497 : : x11 = XEXP (x6, 0);
7498 : : if (GET_CODE (x11) != REG
7499 : : || REGNO (x11) != 17)
7500 : : return -1;
7501 : : x12 = XEXP (x6, 1);
7502 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7503 : : || !
7504 : : #line 9440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7505 : : (TARGET_APX_NDD))
7506 : : return -1;
7507 : : *pnum_clobbers = 1;
7508 : : return 505; /* *subqi3_carry_zexthi_0 */
7509 : :
7510 : : case GE:
7511 : : case GEU:
7512 : : if (pnum_clobbers == NULL
7513 : : || !ix86_carry_flag_unset_operator (operands[2], E_QImode))
7514 : : return -1;
7515 : : x11 = XEXP (x6, 0);
7516 : : if (GET_CODE (x11) != REG
7517 : : || REGNO (x11) != 17)
7518 : : return -1;
7519 : : x12 = XEXP (x6, 1);
7520 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7521 : : || !
7522 : : #line 9488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7523 : : (TARGET_APX_NDD))
7524 : : return -1;
7525 : : *pnum_clobbers = 1;
7526 : : return 511; /* *subqi3_carry_zexthi_0r */
7527 : :
7528 : : default:
7529 : : return -1;
7530 : : }
7531 : :
7532 : : case MINUS:
7533 : : if (pnum_clobbers == NULL
7534 : : || GET_MODE (x5) != E_QImode)
7535 : : return -1;
7536 : : x10 = XEXP (x5, 1);
7537 : : if (!ix86_carry_flag_operator (x10, E_QImode))
7538 : : return -1;
7539 : : operands[3] = x10;
7540 : : x13 = XEXP (x10, 0);
7541 : : if (GET_CODE (x13) != REG
7542 : : || REGNO (x13) != 17)
7543 : : return -1;
7544 : : x14 = XEXP (x10, 1);
7545 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7546 : : return -1;
7547 : : x7 = XEXP (x5, 0);
7548 : : operands[1] = x7;
7549 : : if (!nonimmediate_operand (operands[1], E_QImode)
7550 : : || !x86_64_general_operand (operands[2], E_QImode)
7551 : : || !
7552 : : #line 9380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7553 : : (TARGET_APX_NDD
7554 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7555 : : return -1;
7556 : : *pnum_clobbers = 1;
7557 : : return 499; /* *subqi3_carry_zexthi */
7558 : :
7559 : : default:
7560 : : return -1;
7561 : : }
7562 : :
7563 : : case AND:
7564 : : if (!register_operand (operands[0], E_HImode)
7565 : : || GET_MODE (x3) != E_HImode)
7566 : : return -1;
7567 : : x5 = XEXP (x4, 0);
7568 : : switch (GET_CODE (x5))
7569 : : {
7570 : : case REG:
7571 : : case SUBREG:
7572 : : case MEM:
7573 : : operands[1] = x5;
7574 : : if (!nonimmediate_operand (operands[1], E_QImode)
7575 : : || GET_MODE (x4) != E_QImode)
7576 : : return -1;
7577 : : x6 = XEXP (x4, 1);
7578 : : operands[2] = x6;
7579 : : if (!x86_64_general_operand (operands[2], E_QImode))
7580 : : return -1;
7581 : : if (
7582 : : #line 12626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7583 : : (TARGET_APX_NDD && TARGET_APX_NF
7584 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7585 : : return 708; /* *andqi_1_zexthi_nf */
7586 : : if (pnum_clobbers == NULL
7587 : : || !
7588 : : #line 12626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7589 : : (TARGET_APX_NDD && true
7590 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7591 : : return -1;
7592 : : *pnum_clobbers = 1;
7593 : : return 709; /* *andqi_1_zexthi */
7594 : :
7595 : : case UNSPEC:
7596 : : if (XVECLEN (x5, 0) != 2)
7597 : : return -1;
7598 : : x15 = XVECEXP (x5, 0, 0);
7599 : : operands[1] = x15;
7600 : : x16 = XVECEXP (x5, 0, 1);
7601 : : operands[2] = x16;
7602 : : x6 = XEXP (x4, 1);
7603 : : operands[3] = x6;
7604 : : switch (XINT (x5, 1))
7605 : : {
7606 : : case 158:
7607 : : switch (pattern1080 (x4))
7608 : : {
7609 : : case 0:
7610 : : if (!(
7611 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7612 : : (TARGET_AVX512BW
7613 : : && (2
7614 : : > GET_MODE_SIZE (DImode))) &&
7615 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7616 : : (TARGET_AVX512BW && TARGET_EVEX512)))
7617 : : return -1;
7618 : : return 8192; /* *avx512bw_testmv64qi3_zext_mask */
7619 : :
7620 : : case 1:
7621 : : if (!(
7622 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7623 : : (TARGET_AVX512BW
7624 : : && (2
7625 : : > GET_MODE_SIZE (SImode))) &&
7626 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7627 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7628 : : return -1;
7629 : : return 8195; /* *avx512vl_testmv32qi3_zext_mask */
7630 : :
7631 : : case 2:
7632 : : if (!(
7633 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7634 : : (TARGET_AVX512BW
7635 : : && (2
7636 : : > GET_MODE_SIZE (SImode))) &&
7637 : : #line 508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7638 : : (TARGET_AVX512BW && TARGET_EVEX512)))
7639 : : return -1;
7640 : : return 8201; /* *avx512bw_testmv32hi3_zext_mask */
7641 : :
7642 : : case 3:
7643 : : if (!(
7644 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7645 : : (TARGET_AVX512BW
7646 : : && (2
7647 : : > GET_MODE_SIZE (HImode))) &&
7648 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7649 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7650 : : return -1;
7651 : : return 8198; /* *avx512vl_testmv16qi3_zext_mask */
7652 : :
7653 : : case 4:
7654 : : if (!(
7655 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7656 : : (TARGET_AVX512BW
7657 : : && (2
7658 : : > GET_MODE_SIZE (HImode))) &&
7659 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7660 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7661 : : return -1;
7662 : : return 8204; /* *avx512vl_testmv16hi3_zext_mask */
7663 : :
7664 : : case 5:
7665 : : if (!(
7666 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7667 : : (TARGET_AVX512BW
7668 : : && (2
7669 : : > GET_MODE_SIZE (HImode))) &&
7670 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7671 : : (TARGET_EVEX512)))
7672 : : return -1;
7673 : : return 8210; /* *avx512f_testmv16si3_zext_mask */
7674 : :
7675 : : case 6:
7676 : : if (!(
7677 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7678 : : (TARGET_AVX512BW
7679 : : && (2
7680 : : > GET_MODE_SIZE (QImode))) &&
7681 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7682 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7683 : : return -1;
7684 : : return 8207; /* *avx512vl_testmv8hi3_zext_mask */
7685 : :
7686 : : case 7:
7687 : : if (!(
7688 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7689 : : (TARGET_AVX512BW
7690 : : && (2
7691 : : > GET_MODE_SIZE (QImode))) &&
7692 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7693 : : (TARGET_AVX512VL)))
7694 : : return -1;
7695 : : return 8213; /* *avx512vl_testmv8si3_zext_mask */
7696 : :
7697 : : case 8:
7698 : : if (!(
7699 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7700 : : (TARGET_AVX512BW
7701 : : && (2
7702 : : > GET_MODE_SIZE (QImode))) &&
7703 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7704 : : (TARGET_AVX512VL)))
7705 : : return -1;
7706 : : return 8216; /* *avx512vl_testmv4si3_zext_mask */
7707 : :
7708 : : case 9:
7709 : : if (!(
7710 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7711 : : (TARGET_AVX512BW
7712 : : && (2
7713 : : > GET_MODE_SIZE (QImode))) &&
7714 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7715 : : (TARGET_EVEX512)))
7716 : : return -1;
7717 : : return 8219; /* *avx512f_testmv8di3_zext_mask */
7718 : :
7719 : : case 10:
7720 : : if (!(
7721 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7722 : : (TARGET_AVX512BW
7723 : : && (2
7724 : : > GET_MODE_SIZE (QImode))) &&
7725 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7726 : : (TARGET_AVX512VL)))
7727 : : return -1;
7728 : : return 8222; /* *avx512vl_testmv4di3_zext_mask */
7729 : :
7730 : : case 11:
7731 : : if (!(
7732 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7733 : : (TARGET_AVX512BW
7734 : : && (2
7735 : : > GET_MODE_SIZE (QImode))) &&
7736 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7737 : : (TARGET_AVX512VL)))
7738 : : return -1;
7739 : : return 8225; /* *avx512vl_testmv2di3_zext_mask */
7740 : :
7741 : : default:
7742 : : return -1;
7743 : : }
7744 : :
7745 : : case 159:
7746 : : switch (pattern1080 (x4))
7747 : : {
7748 : : case 0:
7749 : : if (!(
7750 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7751 : : (TARGET_AVX512BW
7752 : : && (2
7753 : : > GET_MODE_SIZE (DImode))) &&
7754 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7755 : : (TARGET_AVX512BW && TARGET_EVEX512)))
7756 : : return -1;
7757 : : return 8264; /* *avx512bw_testnmv64qi3_zext_mask */
7758 : :
7759 : : case 1:
7760 : : if (!(
7761 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7762 : : (TARGET_AVX512BW
7763 : : && (2
7764 : : > GET_MODE_SIZE (SImode))) &&
7765 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7766 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7767 : : return -1;
7768 : : return 8267; /* *avx512vl_testnmv32qi3_zext_mask */
7769 : :
7770 : : case 2:
7771 : : if (!(
7772 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7773 : : (TARGET_AVX512BW
7774 : : && (2
7775 : : > GET_MODE_SIZE (SImode))) &&
7776 : : #line 508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7777 : : (TARGET_AVX512BW && TARGET_EVEX512)))
7778 : : return -1;
7779 : : return 8273; /* *avx512bw_testnmv32hi3_zext_mask */
7780 : :
7781 : : case 3:
7782 : : if (!(
7783 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7784 : : (TARGET_AVX512BW
7785 : : && (2
7786 : : > GET_MODE_SIZE (HImode))) &&
7787 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7788 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7789 : : return -1;
7790 : : return 8270; /* *avx512vl_testnmv16qi3_zext_mask */
7791 : :
7792 : : case 4:
7793 : : if (!(
7794 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7795 : : (TARGET_AVX512BW
7796 : : && (2
7797 : : > GET_MODE_SIZE (HImode))) &&
7798 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7799 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7800 : : return -1;
7801 : : return 8276; /* *avx512vl_testnmv16hi3_zext_mask */
7802 : :
7803 : : case 5:
7804 : : if (!(
7805 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7806 : : (TARGET_AVX512BW
7807 : : && (2
7808 : : > GET_MODE_SIZE (HImode))) &&
7809 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7810 : : (TARGET_EVEX512)))
7811 : : return -1;
7812 : : return 8282; /* *avx512f_testnmv16si3_zext_mask */
7813 : :
7814 : : case 6:
7815 : : if (!(
7816 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7817 : : (TARGET_AVX512BW
7818 : : && (2
7819 : : > GET_MODE_SIZE (QImode))) &&
7820 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7821 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7822 : : return -1;
7823 : : return 8279; /* *avx512vl_testnmv8hi3_zext_mask */
7824 : :
7825 : : case 7:
7826 : : if (!(
7827 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7828 : : (TARGET_AVX512BW
7829 : : && (2
7830 : : > GET_MODE_SIZE (QImode))) &&
7831 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7832 : : (TARGET_AVX512VL)))
7833 : : return -1;
7834 : : return 8285; /* *avx512vl_testnmv8si3_zext_mask */
7835 : :
7836 : : case 8:
7837 : : if (!(
7838 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7839 : : (TARGET_AVX512BW
7840 : : && (2
7841 : : > GET_MODE_SIZE (QImode))) &&
7842 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7843 : : (TARGET_AVX512VL)))
7844 : : return -1;
7845 : : return 8288; /* *avx512vl_testnmv4si3_zext_mask */
7846 : :
7847 : : case 9:
7848 : : if (!(
7849 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7850 : : (TARGET_AVX512BW
7851 : : && (2
7852 : : > GET_MODE_SIZE (QImode))) &&
7853 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7854 : : (TARGET_EVEX512)))
7855 : : return -1;
7856 : : return 8291; /* *avx512f_testnmv8di3_zext_mask */
7857 : :
7858 : : case 10:
7859 : : if (!(
7860 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7861 : : (TARGET_AVX512BW
7862 : : && (2
7863 : : > GET_MODE_SIZE (QImode))) &&
7864 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7865 : : (TARGET_AVX512VL)))
7866 : : return -1;
7867 : : return 8294; /* *avx512vl_testnmv4di3_zext_mask */
7868 : :
7869 : : case 11:
7870 : : if (!(
7871 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7872 : : (TARGET_AVX512BW
7873 : : && (2
7874 : : > GET_MODE_SIZE (QImode))) &&
7875 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7876 : : (TARGET_AVX512VL)))
7877 : : return -1;
7878 : : return 8297; /* *avx512vl_testnmv2di3_zext_mask */
7879 : :
7880 : : default:
7881 : : return -1;
7882 : : }
7883 : :
7884 : : default:
7885 : : return -1;
7886 : : }
7887 : :
7888 : : default:
7889 : : return -1;
7890 : : }
7891 : :
7892 : : case IOR:
7893 : : if (pattern78 (x3) != 0)
7894 : : return -1;
7895 : : if (
7896 : : #line 13715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7897 : : (TARGET_APX_NDD && TARGET_APX_NF
7898 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7899 : : return 843; /* *iorqi_1_zexthi_nf */
7900 : : if (pnum_clobbers == NULL
7901 : : || !
7902 : : #line 13715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7903 : : (TARGET_APX_NDD && true
7904 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7905 : : return -1;
7906 : : *pnum_clobbers = 1;
7907 : : return 844; /* *iorqi_1_zexthi */
7908 : :
7909 : : case XOR:
7910 : : if (pattern78 (x3) != 0)
7911 : : return -1;
7912 : : if (
7913 : : #line 13715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7914 : : (TARGET_APX_NDD && TARGET_APX_NF
7915 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7916 : : return 845; /* *xorqi_1_zexthi_nf */
7917 : : if (pnum_clobbers == NULL
7918 : : || !
7919 : : #line 13715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7920 : : (TARGET_APX_NDD && true
7921 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7922 : : return -1;
7923 : : *pnum_clobbers = 1;
7924 : : return 846; /* *xorqi_1_zexthi */
7925 : :
7926 : : case NEG:
7927 : : if (pattern79 (x3) != 0)
7928 : : return -1;
7929 : : if (
7930 : : #line 14360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7931 : : (TARGET_APX_NDD && TARGET_APX_NF))
7932 : : return 962; /* *negqi_1_zexthi_nf */
7933 : : if (pnum_clobbers == NULL
7934 : : || !
7935 : : #line 14360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7936 : : (TARGET_APX_NDD && true))
7937 : : return -1;
7938 : : *pnum_clobbers = 1;
7939 : : return 963; /* *negqi_1_zexthi */
7940 : :
7941 : : case NOT:
7942 : : if (pattern79 (x3) != 0
7943 : : || !
7944 : : #line 15002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7945 : : (TARGET_APX_NDD))
7946 : : return -1;
7947 : : return 1035; /* *one_cmplqi2_1_zexthi */
7948 : :
7949 : : case ASHIFT:
7950 : : if (pattern80 (x3) != 0)
7951 : : return -1;
7952 : : if (
7953 : : #line 16018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7954 : : (TARGET_APX_NDD && TARGET_APX_NF))
7955 : : return 1093; /* *ashlqi3_1_zexthi_nf */
7956 : : if (pnum_clobbers == NULL
7957 : : || !
7958 : : #line 16018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7959 : : (TARGET_APX_NDD && true))
7960 : : return -1;
7961 : : *pnum_clobbers = 1;
7962 : : return 1094; /* *ashlqi3_1_zexthi */
7963 : :
7964 : : case LSHIFTRT:
7965 : : if (pattern80 (x3) != 0)
7966 : : return -1;
7967 : : if (
7968 : : #line 17475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7969 : : (TARGET_APX_NDD && TARGET_APX_NF))
7970 : : return 1186; /* *lshrqi3_1_zexthi_nf */
7971 : : if (pnum_clobbers == NULL
7972 : : || !
7973 : : #line 17475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7974 : : (TARGET_APX_NDD && true))
7975 : : return -1;
7976 : : *pnum_clobbers = 1;
7977 : : return 1187; /* *lshrqi3_1_zexthi */
7978 : :
7979 : : case ASHIFTRT:
7980 : : if (pattern80 (x3) != 0)
7981 : : return -1;
7982 : : if (
7983 : : #line 17475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7984 : : (TARGET_APX_NDD && TARGET_APX_NF))
7985 : : return 1188; /* *ashrqi3_1_zexthi_nf */
7986 : : if (pnum_clobbers == NULL
7987 : : || !
7988 : : #line 17475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7989 : : (TARGET_APX_NDD && true))
7990 : : return -1;
7991 : : *pnum_clobbers = 1;
7992 : : return 1189; /* *ashrqi3_1_zexthi */
7993 : :
7994 : : case ROTATE:
7995 : : if (pattern80 (x3) != 0)
7996 : : return -1;
7997 : : if (
7998 : : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7999 : : (TARGET_APX_NDD && TARGET_APX_NF))
8000 : : return 1351; /* *rotlqi3_1_zexthi_nf */
8001 : : if (pnum_clobbers == NULL
8002 : : || !
8003 : : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8004 : : (TARGET_APX_NDD && true))
8005 : : return -1;
8006 : : *pnum_clobbers = 1;
8007 : : return 1352; /* *rotlqi3_1_zexthi */
8008 : :
8009 : : case ROTATERT:
8010 : : if (pattern80 (x3) != 0)
8011 : : return -1;
8012 : : if (
8013 : : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8014 : : (TARGET_APX_NDD && TARGET_APX_NF))
8015 : : return 1353; /* *rotrqi3_1_zexthi_nf */
8016 : : if (pnum_clobbers == NULL
8017 : : || !
8018 : : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8019 : : (TARGET_APX_NDD && true))
8020 : : return -1;
8021 : : *pnum_clobbers = 1;
8022 : : return 1354; /* *rotrqi3_1_zexthi */
8023 : :
8024 : : case VEC_SELECT:
8025 : : x6 = XEXP (x4, 1);
8026 : : if (GET_CODE (x6) != PARALLEL)
8027 : : return -1;
8028 : : x5 = XEXP (x4, 0);
8029 : : operands[1] = x5;
8030 : : switch (XVECLEN (x6, 0))
8031 : : {
8032 : : case 4:
8033 : : if (pattern609 (x3) != 0
8034 : : || !
8035 : : #line 5011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8036 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8037 : : return -1;
8038 : : return 2299; /* sse4_1_zero_extendv4qiv4hi2 */
8039 : :
8040 : : case 2:
8041 : : switch (pattern610 (x3))
8042 : : {
8043 : : case 0:
8044 : : if (!
8045 : : #line 5043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8046 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8047 : : return -1;
8048 : : return 2301; /* sse4_1_zero_extendv2hiv2si2 */
8049 : :
8050 : : case 1:
8051 : : if (!
8052 : : #line 5075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8053 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8054 : : return -1;
8055 : : return 2303; /* sse4_1_zero_extendv2qiv2si2 */
8056 : :
8057 : : case 2:
8058 : : if (!
8059 : : #line 5101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8060 : : (TARGET_SSE4_1))
8061 : : return -1;
8062 : : return 2305; /* sse4_1_zero_extendv2qiv2hi2 */
8063 : :
8064 : : default:
8065 : : return -1;
8066 : : }
8067 : :
8068 : : case 1:
8069 : : if (!register_operand (operands[0], E_HImode)
8070 : : || GET_MODE (x3) != E_HImode
8071 : : || GET_MODE (x4) != E_QImode)
8072 : : return -1;
8073 : : x17 = XVECEXP (x6, 0, 0);
8074 : : operands[2] = x17;
8075 : : switch (pattern985 ())
8076 : : {
8077 : : case 0:
8078 : : if (!
8079 : : #line 5474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8080 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8081 : : return -1;
8082 : : return 2321; /* *mmx_pextrb_zext */
8083 : :
8084 : : case 1:
8085 : : if (!
8086 : : #line 6130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8087 : : (TARGET_SSE4_1))
8088 : : return -1;
8089 : : return 2359; /* *pextrb_zext */
8090 : :
8091 : : case 2:
8092 : : if (!
8093 : : #line 21134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8094 : : (TARGET_SSE4_1))
8095 : : return -1;
8096 : : return 8461; /* *vec_extractv16qi_zext */
8097 : :
8098 : : default:
8099 : : return -1;
8100 : : }
8101 : :
8102 : : default:
8103 : : return -1;
8104 : : }
8105 : :
8106 : : case UNSPEC:
8107 : : return recog_26 (x1, insn, pnum_clobbers);
8108 : :
8109 : : default:
8110 : : return -1;
8111 : : }
8112 : : }
8113 : :
8114 : : int
8115 : : recog_62 (rtx x1 ATTRIBUTE_UNUSED,
8116 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8117 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8118 : : {
8119 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8120 : : rtx x2, x3, x4, x5, x6;
8121 : : int res ATTRIBUTE_UNUSED;
8122 : : x2 = XEXP (x1, 1);
8123 : : x3 = XEXP (x2, 0);
8124 : : operands[1] = x3;
8125 : : x4 = XEXP (x2, 1);
8126 : : switch (XVECLEN (x4, 0))
8127 : : {
8128 : : case 2:
8129 : : x5 = XVECEXP (x4, 0, 0);
8130 : : if (GET_CODE (x5) != CONST_INT)
8131 : : return -1;
8132 : : x6 = XVECEXP (x4, 0, 1);
8133 : : if (GET_CODE (x6) == CONST_INT
8134 : : && GET_MODE (x2) == E_V2SFmode)
8135 : : {
8136 : : switch (XWINT (x5, 0))
8137 : : {
8138 : : case 1L:
8139 : : if (register_operand (operands[0], E_V2SFmode))
8140 : : {
8141 : : switch (XWINT (x6, 0))
8142 : : {
8143 : : case 0L:
8144 : : if (register_mmxmem_operand (operands[1], E_V2SFmode)
8145 : : &&
8146 : : #line 1641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8147 : : (TARGET_3DNOW_A || TARGET_MMX_WITH_SSE))
8148 : : return 2078; /* mmx_pswapdv2sf2 */
8149 : : break;
8150 : :
8151 : : case 1L:
8152 : : if (register_operand (operands[1], E_V2SFmode)
8153 : : &&
8154 : : #line 1657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8155 : : (TARGET_MMX_WITH_SSE))
8156 : : return 2079; /* *mmx_movshdup */
8157 : : break;
8158 : :
8159 : : default:
8160 : : break;
8161 : : }
8162 : : }
8163 : : break;
8164 : :
8165 : : case 0L:
8166 : : switch (XWINT (x6, 0))
8167 : : {
8168 : : case 0L:
8169 : : if (register_operand (operands[0], E_V2SFmode)
8170 : : && register_operand (operands[1], E_V2SFmode)
8171 : : &&
8172 : : #line 1673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8173 : : (TARGET_MMX_WITH_SSE))
8174 : : return 2080; /* *mmx_movsldup */
8175 : : break;
8176 : :
8177 : : case 1L:
8178 : : if (nonimmediate_operand (operands[0], E_V2SFmode)
8179 : : && nonimmediate_operand (operands[1], E_V4SFmode)
8180 : : &&
8181 : : #line 11639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8182 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8183 : : return 5275; /* sse_storelps */
8184 : : break;
8185 : :
8186 : : default:
8187 : : break;
8188 : : }
8189 : : break;
8190 : :
8191 : : case 2L:
8192 : : if (XWINT (x6, 0) == 3L
8193 : : && nonimmediate_operand (operands[0], E_V2SFmode)
8194 : : && nonimmediate_operand (operands[1], E_V4SFmode)
8195 : : &&
8196 : : #line 11586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8197 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8198 : : return 5273; /* sse_storehps */
8199 : : break;
8200 : :
8201 : : default:
8202 : : break;
8203 : : }
8204 : : }
8205 : : operands[2] = x5;
8206 : : if (const_0_to_1_operand (operands[2], E_VOIDmode))
8207 : : {
8208 : : operands[3] = x6;
8209 : : if (const_0_to_1_operand (operands[3], E_VOIDmode))
8210 : : {
8211 : : switch (GET_MODE (operands[0]))
8212 : : {
8213 : : case E_V2SImode:
8214 : : if (register_operand (operands[0], E_V2SImode)
8215 : : && GET_MODE (x2) == E_V2SImode
8216 : : && register_operand (operands[1], E_V2SImode)
8217 : : &&
8218 : : #line 5575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8219 : : (TARGET_MMX_WITH_SSE))
8220 : : return 2329; /* *mmx_pshufd_1 */
8221 : : break;
8222 : :
8223 : : case E_V2HFmode:
8224 : : if (register_operand (operands[0], E_V2HFmode)
8225 : : && GET_MODE (x2) == E_V2HFmode
8226 : : && register_operand (operands[1], E_V2HFmode)
8227 : : &&
8228 : : #line 6236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8229 : : (TARGET_SSE2))
8230 : : return 2365; /* *pshufwv2hf_1 */
8231 : : break;
8232 : :
8233 : : case E_V2BFmode:
8234 : : if (register_operand (operands[0], E_V2BFmode)
8235 : : && GET_MODE (x2) == E_V2BFmode
8236 : : && register_operand (operands[1], E_V2BFmode)
8237 : : &&
8238 : : #line 6236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8239 : : (TARGET_SSE2))
8240 : : return 2366; /* *pshufwv2bf_1 */
8241 : : break;
8242 : :
8243 : : case E_V2HImode:
8244 : : if (register_operand (operands[0], E_V2HImode)
8245 : : && GET_MODE (x2) == E_V2HImode
8246 : : && register_operand (operands[1], E_V2HImode)
8247 : : &&
8248 : : #line 6236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8249 : : (TARGET_SSE2))
8250 : : return 2367; /* *pshufwv2hi_1 */
8251 : : break;
8252 : :
8253 : : default:
8254 : : break;
8255 : : }
8256 : : }
8257 : : }
8258 : : if (XWINT (x5, 0) != 1L
8259 : : || x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8260 : : || !register_operand (operands[0], E_V2SImode)
8261 : : || GET_MODE (x2) != E_V2SImode
8262 : : || !register_mmxmem_operand (operands[1], E_V2SImode)
8263 : : || !
8264 : : #line 5643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8265 : : (TARGET_3DNOW_A))
8266 : : return -1;
8267 : : return 2336; /* mmx_pswapdv2si2 */
8268 : :
8269 : : case 1:
8270 : : x5 = XVECEXP (x4, 0, 0);
8271 : : if (GET_CODE (x5) != CONST_INT)
8272 : : return -1;
8273 : : switch (XWINT (x5, 0))
8274 : : {
8275 : : case 0L:
8276 : : switch (GET_MODE (operands[0]))
8277 : : {
8278 : : case E_SFmode:
8279 : : switch (pattern976 (x2))
8280 : : {
8281 : : case 0:
8282 : : if (
8283 : : #line 1783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8284 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8285 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8286 : : return 2087; /* *vec_extractv2sf_0 */
8287 : : break;
8288 : :
8289 : : case 1:
8290 : : if (
8291 : : #line 12323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8292 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8293 : : return 5331; /* *vec_extractv4sf_0 */
8294 : : break;
8295 : :
8296 : : default:
8297 : : break;
8298 : : }
8299 : : break;
8300 : :
8301 : : case E_HFmode:
8302 : : switch (pattern977 (x2))
8303 : : {
8304 : : case 0:
8305 : : if ((
8306 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8307 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
8308 : : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8309 : : (TARGET_EVEX512)))
8310 : : return 5390; /* *vec_extractv32hf_0 */
8311 : : break;
8312 : :
8313 : : case 1:
8314 : : if (
8315 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8316 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8317 : : return 5391; /* *vec_extractv16hf_0 */
8318 : : break;
8319 : :
8320 : : case 2:
8321 : : if (
8322 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8323 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8324 : : return 5392; /* *vec_extractv8hf_0 */
8325 : : break;
8326 : :
8327 : : default:
8328 : : break;
8329 : : }
8330 : : break;
8331 : :
8332 : : case E_BFmode:
8333 : : switch (pattern978 (x2))
8334 : : {
8335 : : case 0:
8336 : : if ((
8337 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8338 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
8339 : : #line 550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8340 : : (TARGET_EVEX512)))
8341 : : return 5393; /* *vec_extractv32bf_0 */
8342 : : break;
8343 : :
8344 : : case 1:
8345 : : if (
8346 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8347 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8348 : : return 5394; /* *vec_extractv16bf_0 */
8349 : : break;
8350 : :
8351 : : case 2:
8352 : : if (
8353 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8354 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8355 : : return 5395; /* *vec_extractv8bf_0 */
8356 : : break;
8357 : :
8358 : : default:
8359 : : break;
8360 : : }
8361 : : break;
8362 : :
8363 : : case E_DFmode:
8364 : : if (nonimmediate_operand (operands[0], E_DFmode)
8365 : : && GET_MODE (x2) == E_DFmode
8366 : : && nonimmediate_operand (operands[1], E_V2DFmode))
8367 : : {
8368 : : if (
8369 : : #line 14650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8370 : : (TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8371 : : return 7209; /* sse2_storelpd */
8372 : : if (
8373 : : #line 14679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8374 : : (!TARGET_SSE2 && TARGET_SSE
8375 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8376 : : return 7210; /* *vec_extractv2df_0_sse */
8377 : : }
8378 : : break;
8379 : :
8380 : : case E_QImode:
8381 : : if (memory_operand (operands[0], E_QImode)
8382 : : && GET_MODE (x2) == E_QImode
8383 : : && register_operand (operands[1], E_V16QImode)
8384 : : && (
8385 : : #line 21064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8386 : : (TARGET_SSE2
8387 : : && !TARGET_SSE4_1
8388 : : && (TARGET_INTER_UNIT_MOVES_FROM_VEC
8389 : : || optimize_function_for_speed_p (cfun))
8390 : : && ix86_pre_reload_split ()) &&
8391 : : #line 21057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8392 : : (TARGET_SSE4_1)))
8393 : : return 8453; /* *vec_extractv16qi_0_mem */
8394 : : break;
8395 : :
8396 : : case E_HImode:
8397 : : if (memory_operand (operands[0], E_HImode)
8398 : : && GET_MODE (x2) == E_HImode
8399 : : && register_operand (operands[1], E_V8HImode)
8400 : : &&
8401 : : #line 21064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8402 : : (TARGET_SSE2
8403 : : && !TARGET_SSE4_1
8404 : : && (TARGET_INTER_UNIT_MOVES_FROM_VEC
8405 : : || optimize_function_for_speed_p (cfun))
8406 : : && ix86_pre_reload_split ()))
8407 : : return 8454; /* *vec_extractv8hi_0_mem */
8408 : : break;
8409 : :
8410 : : default:
8411 : : break;
8412 : : }
8413 : : break;
8414 : :
8415 : : case 1L:
8416 : : switch (GET_MODE (operands[0]))
8417 : : {
8418 : : case E_SFmode:
8419 : : if (nonimmediate_operand (operands[0], E_SFmode)
8420 : : && GET_MODE (x2) == E_SFmode
8421 : : && nonimmediate_operand (operands[1], E_V2SFmode)
8422 : : &&
8423 : : #line 1798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8424 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8425 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8426 : : return 2088; /* *vec_extractv2sf_1 */
8427 : : break;
8428 : :
8429 : : case E_DFmode:
8430 : : if (nonimmediate_operand (operands[0], E_DFmode)
8431 : : && GET_MODE (x2) == E_DFmode
8432 : : && nonimmediate_operand (operands[1], E_V2DFmode))
8433 : : {
8434 : : if (
8435 : : #line 14593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8436 : : (TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8437 : : return 7207; /* sse2_storehpd */
8438 : : if (
8439 : : #line 14626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8440 : : (!TARGET_SSE2 && TARGET_SSE
8441 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
8442 : : return 7208; /* *vec_extractv2df_1_sse */
8443 : : }
8444 : : break;
8445 : :
8446 : : default:
8447 : : break;
8448 : : }
8449 : : break;
8450 : :
8451 : : default:
8452 : : break;
8453 : : }
8454 : : operands[2] = x5;
8455 : : switch (GET_MODE (operands[0]))
8456 : : {
8457 : : case E_HImode:
8458 : : if (GET_MODE (x2) != E_HImode)
8459 : : return -1;
8460 : : if (register_sse4nonimm_operand (operands[0], E_HImode))
8461 : : {
8462 : : switch (GET_MODE (operands[1]))
8463 : : {
8464 : : case E_V4HImode:
8465 : : if (register_operand (operands[1], E_V4HImode)
8466 : : && const_0_to_3_operand (operands[2], E_SImode)
8467 : : &&
8468 : : #line 5381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8469 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8470 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8471 : : return 2315; /* *mmx_pextrw */
8472 : : break;
8473 : :
8474 : : case E_V2HImode:
8475 : : if (register_operand (operands[1], E_V2HImode)
8476 : : && const_0_to_1_operand (operands[2], E_SImode)
8477 : : &&
8478 : : #line 6047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8479 : : (TARGET_SSE2))
8480 : : return 2353; /* *pextrw */
8481 : : break;
8482 : :
8483 : : case E_V8HImode:
8484 : : if (register_operand (operands[1], E_V8HImode)
8485 : : && const_0_to_7_operand (operands[2], E_SImode)
8486 : : &&
8487 : : #line 21088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8488 : : (TARGET_SSE2))
8489 : : return 8456; /* *vec_extractv8hi */
8490 : : break;
8491 : :
8492 : : default:
8493 : : break;
8494 : : }
8495 : : }
8496 : : if (!register_operand (operands[0], E_HImode)
8497 : : || !memory_operand (operands[1], E_V8HImode)
8498 : : || !const_0_to_7_operand (operands[2], E_VOIDmode)
8499 : : || !
8500 : : #line 21149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8501 : : (TARGET_SSE))
8502 : : return -1;
8503 : : return 8463; /* *vec_extractv8hi_mem */
8504 : :
8505 : : case E_HFmode:
8506 : : if (!register_sse4nonimm_operand (operands[0], E_HFmode)
8507 : : || GET_MODE (x2) != E_HFmode)
8508 : : return -1;
8509 : : switch (GET_MODE (operands[1]))
8510 : : {
8511 : : case E_V4HFmode:
8512 : : if (!register_operand (operands[1], E_V4HFmode)
8513 : : || !const_0_to_3_operand (operands[2], E_SImode)
8514 : : || !
8515 : : #line 5401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8516 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8517 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8518 : : return -1;
8519 : : return 2316; /* *mmx_pextrwv4hf */
8520 : :
8521 : : case E_V2HFmode:
8522 : : if (!register_operand (operands[1], E_V2HFmode)
8523 : : || !const_0_to_1_operand (operands[2], E_SImode)
8524 : : || !
8525 : : #line 6064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8526 : : (TARGET_SSE2))
8527 : : return -1;
8528 : : return 2354; /* *pextrwv2hf */
8529 : :
8530 : : case E_V8HFmode:
8531 : : if (!register_operand (operands[1], E_V8HFmode)
8532 : : || !const_0_to_7_operand (operands[2], E_SImode)
8533 : : || !
8534 : : #line 13244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8535 : : (TARGET_SSE2))
8536 : : return -1;
8537 : : return 5396; /* *vec_extracthf */
8538 : :
8539 : : default:
8540 : : return -1;
8541 : : }
8542 : :
8543 : : case E_BFmode:
8544 : : if (!register_sse4nonimm_operand (operands[0], E_BFmode)
8545 : : || GET_MODE (x2) != E_BFmode)
8546 : : return -1;
8547 : : switch (GET_MODE (operands[1]))
8548 : : {
8549 : : case E_V4BFmode:
8550 : : if (!register_operand (operands[1], E_V4BFmode)
8551 : : || !const_0_to_3_operand (operands[2], E_SImode)
8552 : : || !
8553 : : #line 5401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8554 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8555 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8556 : : return -1;
8557 : : return 2317; /* *mmx_pextrwv4bf */
8558 : :
8559 : : case E_V2BFmode:
8560 : : if (!register_operand (operands[1], E_V2BFmode)
8561 : : || !const_0_to_1_operand (operands[2], E_SImode)
8562 : : || !
8563 : : #line 6064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8564 : : (TARGET_SSE2))
8565 : : return -1;
8566 : : return 2355; /* *pextrwv2bf */
8567 : :
8568 : : case E_V8BFmode:
8569 : : if (!register_operand (operands[1], E_V8BFmode)
8570 : : || !const_0_to_7_operand (operands[2], E_SImode)
8571 : : || !
8572 : : #line 13244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8573 : : (TARGET_SSE2))
8574 : : return -1;
8575 : : return 5397; /* *vec_extractbf */
8576 : :
8577 : : default:
8578 : : return -1;
8579 : : }
8580 : :
8581 : : case E_QImode:
8582 : : if (GET_MODE (x2) != E_QImode)
8583 : : return -1;
8584 : : if (nonimmediate_operand (operands[0], E_QImode))
8585 : : {
8586 : : switch (GET_MODE (operands[1]))
8587 : : {
8588 : : case E_V8QImode:
8589 : : if (register_operand (operands[1], E_V8QImode)
8590 : : && const_0_to_7_operand (operands[2], E_SImode)
8591 : : &&
8592 : : #line 5454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8593 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8594 : : return 2320; /* *mmx_pextrb */
8595 : : break;
8596 : :
8597 : : case E_V4QImode:
8598 : : if (register_operand (operands[1], E_V4QImode)
8599 : : && const_0_to_3_operand (operands[2], E_SImode)
8600 : : &&
8601 : : #line 6110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8602 : : (TARGET_SSE4_1))
8603 : : return 2358; /* *pextrb */
8604 : : break;
8605 : :
8606 : : default:
8607 : : break;
8608 : : }
8609 : : }
8610 : : if (register_sse4nonimm_operand (operands[0], E_QImode)
8611 : : && register_operand (operands[1], E_V16QImode)
8612 : : && const_0_to_15_operand (operands[2], E_SImode)
8613 : : && (
8614 : : #line 21088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8615 : : (TARGET_SSE2) &&
8616 : : #line 21057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8617 : : (TARGET_SSE4_1)))
8618 : : return 8455; /* *vec_extractv16qi */
8619 : : if (!register_operand (operands[0], E_QImode)
8620 : : || !memory_operand (operands[1], E_V16QImode)
8621 : : || !const_0_to_15_operand (operands[2], E_VOIDmode)
8622 : : || !
8623 : : #line 21149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8624 : : (TARGET_SSE))
8625 : : return -1;
8626 : : return 8462; /* *vec_extractv16qi_mem */
8627 : :
8628 : : case E_SFmode:
8629 : : if (GET_MODE (x2) != E_SFmode)
8630 : : return -1;
8631 : : if (nonimmediate_operand (operands[0], E_SFmode)
8632 : : && register_operand (operands[1], E_V4SFmode)
8633 : : && const_0_to_3_operand (operands[2], E_SImode)
8634 : : &&
8635 : : #line 12334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8636 : : (TARGET_SSE4_1))
8637 : : return 5332; /* *sse4_1_extractps */
8638 : : if (!register_operand (operands[0], E_SFmode))
8639 : : return -1;
8640 : : switch (GET_MODE (operands[1]))
8641 : : {
8642 : : case E_V4SFmode:
8643 : : if (!memory_operand (operands[1], E_V4SFmode)
8644 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
8645 : : || !
8646 : : #line 12377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8647 : : (TARGET_SSE))
8648 : : return -1;
8649 : : return 5333; /* *vec_extractv4sf_mem */
8650 : :
8651 : : case E_V16SFmode:
8652 : : if (!register_operand (operands[1], E_V16SFmode)
8653 : : || !const_0_to_15_operand (operands[2], E_VOIDmode)
8654 : : || !(
8655 : : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8656 : : (TARGET_AVX512F
8657 : : && INTVAL(operands[2]) * GET_MODE_SIZE (SFmode) >= 16) &&
8658 : : #line 303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8659 : : (TARGET_EVEX512)))
8660 : : return -1;
8661 : : return 7092; /* *vec_extractv16sfsf_valign */
8662 : :
8663 : : case E_V8SFmode:
8664 : : if (!register_operand (operands[1], E_V8SFmode)
8665 : : || !const_0_to_7_operand (operands[2], E_VOIDmode)
8666 : : || !(
8667 : : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8668 : : (TARGET_AVX512F
8669 : : && INTVAL(operands[2]) * GET_MODE_SIZE (SFmode) >= 16) &&
8670 : : #line 303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8671 : : (TARGET_AVX512VL)))
8672 : : return -1;
8673 : : return 7093; /* *vec_extractv8sfsf_valign */
8674 : :
8675 : : default:
8676 : : return -1;
8677 : : }
8678 : :
8679 : : case E_DFmode:
8680 : : if (!register_operand (operands[0], E_DFmode)
8681 : : || GET_MODE (x2) != E_DFmode)
8682 : : return -1;
8683 : : switch (GET_MODE (operands[1]))
8684 : : {
8685 : : case E_V8DFmode:
8686 : : if (!register_operand (operands[1], E_V8DFmode)
8687 : : || !const_0_to_7_operand (operands[2], E_VOIDmode)
8688 : : || !(
8689 : : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8690 : : (TARGET_AVX512F
8691 : : && INTVAL(operands[2]) * GET_MODE_SIZE (DFmode) >= 16) &&
8692 : : #line 304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8693 : : (TARGET_EVEX512)))
8694 : : return -1;
8695 : : return 7094; /* *vec_extractv8dfdf_valign */
8696 : :
8697 : : case E_V4DFmode:
8698 : : if (!register_operand (operands[1], E_V4DFmode)
8699 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
8700 : : || !(
8701 : : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8702 : : (TARGET_AVX512F
8703 : : && INTVAL(operands[2]) * GET_MODE_SIZE (DFmode) >= 16) &&
8704 : : #line 304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8705 : : (TARGET_AVX512VL)))
8706 : : return -1;
8707 : : return 7095; /* *vec_extractv4dfdf_valign */
8708 : :
8709 : : default:
8710 : : return -1;
8711 : : }
8712 : :
8713 : : case E_TImode:
8714 : : if (!nonimmediate_operand (operands[0], E_TImode)
8715 : : || GET_MODE (x2) != E_TImode)
8716 : : return -1;
8717 : : switch (GET_MODE (operands[1]))
8718 : : {
8719 : : case E_V2TImode:
8720 : : if (!register_operand (operands[1], E_V2TImode)
8721 : : || !const_0_to_1_operand (operands[2], E_SImode)
8722 : : || !
8723 : : #line 21405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8724 : : (TARGET_AVX))
8725 : : return -1;
8726 : : return 8474; /* *vec_extractv2ti */
8727 : :
8728 : : case E_V4TImode:
8729 : : if (!register_operand (operands[1], E_V4TImode)
8730 : : || !const_0_to_3_operand (operands[2], E_SImode)
8731 : : || !
8732 : : #line 21423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8733 : : (TARGET_AVX512F && TARGET_EVEX512))
8734 : : return -1;
8735 : : return 8475; /* *vec_extractv4ti */
8736 : :
8737 : : default:
8738 : : return -1;
8739 : : }
8740 : :
8741 : : default:
8742 : : return -1;
8743 : : }
8744 : :
8745 : : case 4:
8746 : : x5 = XVECEXP (x4, 0, 0);
8747 : : operands[2] = x5;
8748 : : if (pattern674 (x4) != 0)
8749 : : return -1;
8750 : : switch (GET_MODE (operands[0]))
8751 : : {
8752 : : case E_V4HFmode:
8753 : : if (!register_operand (operands[0], E_V4HFmode)
8754 : : || GET_MODE (x2) != E_V4HFmode
8755 : : || !register_mmxmem_operand (operands[1], E_V4HFmode)
8756 : : || !
8757 : : #line 5543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8758 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8759 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8760 : : return -1;
8761 : : return 2326; /* mmx_pshufwv4hf_1 */
8762 : :
8763 : : case E_V4BFmode:
8764 : : if (!register_operand (operands[0], E_V4BFmode)
8765 : : || GET_MODE (x2) != E_V4BFmode
8766 : : || !register_mmxmem_operand (operands[1], E_V4BFmode)
8767 : : || !
8768 : : #line 5543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8769 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8770 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8771 : : return -1;
8772 : : return 2327; /* mmx_pshufwv4bf_1 */
8773 : :
8774 : : case E_V4HImode:
8775 : : if (!register_operand (operands[0], E_V4HImode)
8776 : : || GET_MODE (x2) != E_V4HImode
8777 : : || !register_mmxmem_operand (operands[1], E_V4HImode)
8778 : : || !
8779 : : #line 5543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8780 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8781 : : && (TARGET_SSE || TARGET_3DNOW_A)))
8782 : : return -1;
8783 : : return 2328; /* mmx_pshufwv4hi_1 */
8784 : :
8785 : : default:
8786 : : return -1;
8787 : : }
8788 : :
8789 : : default:
8790 : : return -1;
8791 : : }
8792 : : }
8793 : :
8794 : : int
8795 : : recog_82 (rtx x1 ATTRIBUTE_UNUSED,
8796 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8797 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8798 : : {
8799 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8800 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8801 : : rtx x10, x11;
8802 : : int res ATTRIBUTE_UNUSED;
8803 : : x2 = XEXP (x1, 0);
8804 : : operands[0] = x2;
8805 : : x3 = XEXP (x1, 1);
8806 : : x4 = XEXP (x3, 0);
8807 : : switch (GET_CODE (x4))
8808 : : {
8809 : : case ASHIFT:
8810 : : x5 = XEXP (x4, 0);
8811 : : switch (GET_CODE (x5))
8812 : : {
8813 : : case REG:
8814 : : case SUBREG:
8815 : : operands[1] = x5;
8816 : : x6 = XEXP (x4, 1);
8817 : : operands[2] = x6;
8818 : : x7 = XEXP (x3, 1);
8819 : : switch (GET_CODE (x7))
8820 : : {
8821 : : case CONST_INT:
8822 : : case CONST_WIDE_INT:
8823 : : operands[3] = x7;
8824 : : switch (GET_MODE (operands[0]))
8825 : : {
8826 : : case E_SImode:
8827 : : if (pattern604 (x3,
8828 : : E_SImode) != 0
8829 : : || !
8830 : : #line 8039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8831 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
8832 : : < (HOST_WIDE_INT_1U << INTVAL (operands[2]))))
8833 : : return -1;
8834 : : return 377; /* *leasi_general_4 */
8835 : :
8836 : : case E_DImode:
8837 : : if (GET_MODE (x3) != E_DImode
8838 : : || GET_MODE (x4) != E_DImode)
8839 : : return -1;
8840 : : if (register_operand (operands[0], E_DImode)
8841 : : && register_no_SP_operand (operands[1], E_DImode)
8842 : : && const_0_to_3_operand (operands[2], E_VOIDmode)
8843 : : && const_int_operand (operands[3], E_VOIDmode)
8844 : : && (
8845 : : #line 8039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8846 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
8847 : : < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) &&
8848 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8849 : : (TARGET_64BIT)))
8850 : : return 379; /* *leadi_general_4 */
8851 : : if (!nonimmediate_operand (operands[0], E_DImode)
8852 : : || !register_operand (operands[1], E_DImode)
8853 : : || !const_int_operand (operands[2], E_QImode)
8854 : : || !const_scalar_int_operand (operands[3], E_DImode)
8855 : : || !(
8856 : : #line 14137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8857 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
8858 : : && (DImode == DImode
8859 : : ? CONST_INT_P (operands[3])
8860 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8861 : : : CONST_INT_P (operands[3])
8862 : : ? INTVAL (operands[3]) >= 0
8863 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8864 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8865 : : && !(CONST_INT_P (operands[3])
8866 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8867 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8868 : : 0)),
8869 : : VOIDmode))) &&
8870 : : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8871 : : (!TARGET_64BIT)))
8872 : : return -1;
8873 : : return 930; /* *concatsidi3_5 */
8874 : :
8875 : : default:
8876 : : return -1;
8877 : : }
8878 : :
8879 : : case ZERO_EXTEND:
8880 : : if (pattern606 (x3,
8881 : : E_SImode,
8882 : : E_DImode) != 0
8883 : : || !(
8884 : : #line 14060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8885 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
8886 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8887 : : (!TARGET_64BIT)))
8888 : : return -1;
8889 : : return 894; /* *concatsidi3_1 */
8890 : :
8891 : : default:
8892 : : return -1;
8893 : : }
8894 : :
8895 : : case SIGN_EXTEND:
8896 : : switch (pattern256 (x3,
8897 : : E_SImode,
8898 : : E_DImode))
8899 : : {
8900 : : case 0:
8901 : : if (!(
8902 : : #line 14096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8903 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
8904 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8905 : : (!TARGET_64BIT)))
8906 : : return -1;
8907 : : return 906; /* *concatsidi3_3 */
8908 : :
8909 : : case 1:
8910 : : if (!(
8911 : : #line 14169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8912 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
8913 : : && (DImode == DImode
8914 : : ? CONST_INT_P (operands[3])
8915 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8916 : : : CONST_INT_P (operands[3])
8917 : : ? INTVAL (operands[3]) >= 0
8918 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8919 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8920 : : && !(CONST_INT_P (operands[3])
8921 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8922 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8923 : : 0)),
8924 : : VOIDmode))) &&
8925 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8926 : : (!TARGET_64BIT)))
8927 : : return -1;
8928 : : return 936; /* *concatsidi3_6 */
8929 : :
8930 : : default:
8931 : : return -1;
8932 : : }
8933 : :
8934 : : case ZERO_EXTEND:
8935 : : switch (pattern256 (x3,
8936 : : E_SImode,
8937 : : E_DImode))
8938 : : {
8939 : : case 0:
8940 : : if (!(
8941 : : #line 14096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8942 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
8943 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8944 : : (!TARGET_64BIT)))
8945 : : return -1;
8946 : : return 909; /* *concatsidi3_3 */
8947 : :
8948 : : case 1:
8949 : : if (!(
8950 : : #line 14169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8951 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
8952 : : && (DImode == DImode
8953 : : ? CONST_INT_P (operands[3])
8954 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8955 : : : CONST_INT_P (operands[3])
8956 : : ? INTVAL (operands[3]) >= 0
8957 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8958 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8959 : : && !(CONST_INT_P (operands[3])
8960 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8961 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8962 : : 0)),
8963 : : VOIDmode))) &&
8964 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8965 : : (!TARGET_64BIT)))
8966 : : return -1;
8967 : : return 939; /* *concatsidi3_6 */
8968 : :
8969 : : default:
8970 : : return -1;
8971 : : }
8972 : :
8973 : : case CONST_INT:
8974 : : switch (pattern286 (x3, pnum_clobbers))
8975 : : {
8976 : : case 0:
8977 : : x6 = XEXP (x4, 1);
8978 : : operands[2] = x6;
8979 : : if (register_operand (operands[2], E_QImode))
8980 : : {
8981 : : switch (pattern752 (x3))
8982 : : {
8983 : : case 0:
8984 : : if (
8985 : : #line 18825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8986 : : (TARGET_USE_BT))
8987 : : {
8988 : : *pnum_clobbers = 1;
8989 : : return 1392; /* *btcsi */
8990 : : }
8991 : : break;
8992 : :
8993 : : case 1:
8994 : : if ((
8995 : : #line 18825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8996 : : (TARGET_USE_BT) &&
8997 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8998 : : (TARGET_64BIT)))
8999 : : {
9000 : : *pnum_clobbers = 1;
9001 : : return 1394; /* *btcdi */
9002 : : }
9003 : : break;
9004 : :
9005 : : default:
9006 : : break;
9007 : : }
9008 : : }
9009 : : if (GET_CODE (x6) != SUBREG)
9010 : : return -1;
9011 : : switch (pattern761 (x3))
9012 : : {
9013 : : case 0:
9014 : : if (!
9015 : : #line 18844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9016 : : (TARGET_USE_BT
9017 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
9018 : : == GET_MODE_BITSIZE (SImode)-1
9019 : : && ix86_pre_reload_split ()))
9020 : : return -1;
9021 : : *pnum_clobbers = 1;
9022 : : return 1396; /* *btcsi_mask */
9023 : :
9024 : : case 1:
9025 : : if (!(
9026 : : #line 18844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9027 : : (TARGET_USE_BT
9028 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
9029 : : == GET_MODE_BITSIZE (DImode)-1
9030 : : && ix86_pre_reload_split ()) &&
9031 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9032 : : (TARGET_64BIT)))
9033 : : return -1;
9034 : : *pnum_clobbers = 1;
9035 : : return 1398; /* *btcdi_mask */
9036 : :
9037 : : default:
9038 : : return -1;
9039 : : }
9040 : :
9041 : : case 1:
9042 : : if (!
9043 : : #line 18872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9044 : : (TARGET_USE_BT
9045 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
9046 : : == GET_MODE_BITSIZE (SImode)-1
9047 : : && ix86_pre_reload_split ()))
9048 : : return -1;
9049 : : *pnum_clobbers = 1;
9050 : : return 1400; /* *btcsi_mask_1 */
9051 : :
9052 : : case 2:
9053 : : if (!(
9054 : : #line 18872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9055 : : (TARGET_USE_BT
9056 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
9057 : : == GET_MODE_BITSIZE (DImode)-1
9058 : : && ix86_pre_reload_split ()) &&
9059 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9060 : : (TARGET_64BIT)))
9061 : : return -1;
9062 : : *pnum_clobbers = 1;
9063 : : return 1402; /* *btcdi_mask_1 */
9064 : :
9065 : : default:
9066 : : return -1;
9067 : : }
9068 : :
9069 : : default:
9070 : : return -1;
9071 : : }
9072 : :
9073 : : case REG:
9074 : : case SUBREG:
9075 : : case MEM:
9076 : : operands[1] = x4;
9077 : : x7 = XEXP (x3, 1);
9078 : : operands[2] = x7;
9079 : : switch (pattern435 (x3))
9080 : : {
9081 : : case 0:
9082 : : if (pnum_clobbers != NULL
9083 : : && x86_64_hilo_general_operand (operands[2], E_DImode)
9084 : : && (
9085 : : #line 13527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9086 : : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
9087 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9088 : : (!TARGET_64BIT)))
9089 : : {
9090 : : *pnum_clobbers = 1;
9091 : : return 820; /* *xordi3_doubleword */
9092 : : }
9093 : : if (x86_64_general_operand (operands[2], E_DImode))
9094 : : {
9095 : : if ((
9096 : : #line 13585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9097 : : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)
9098 : : && TARGET_APX_NF) &&
9099 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9100 : : (TARGET_64BIT)))
9101 : : return 833; /* *xordi_1_nf */
9102 : : if (pnum_clobbers != NULL
9103 : : && (
9104 : : #line 13585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9105 : : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)
9106 : : && true) &&
9107 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9108 : : (TARGET_64BIT)))
9109 : : {
9110 : : *pnum_clobbers = 1;
9111 : : return 834; /* *xordi_1 */
9112 : : }
9113 : : }
9114 : : if (pnum_clobbers == NULL
9115 : : || !const_int_operand (operands[2], E_DImode)
9116 : : || !
9117 : : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9118 : : (TARGET_64BIT && TARGET_USE_BT
9119 : : && ix86_binary_operator_ok (XOR, DImode, operands)
9120 : : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
9121 : : return -1;
9122 : : *pnum_clobbers = 1;
9123 : : return 839; /* *xordi_1_btc */
9124 : :
9125 : : case 1:
9126 : : if (
9127 : : #line 13585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9128 : : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)
9129 : : && TARGET_APX_NF))
9130 : : return 829; /* *xorsi_1_nf */
9131 : : if (pnum_clobbers == NULL
9132 : : || !
9133 : : #line 13585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9134 : : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)
9135 : : && true))
9136 : : return -1;
9137 : : *pnum_clobbers = 1;
9138 : : return 830; /* *xorsi_1 */
9139 : :
9140 : : default:
9141 : : return -1;
9142 : : }
9143 : :
9144 : : case AND:
9145 : : if (pnum_clobbers == NULL)
9146 : : return -1;
9147 : : x5 = XEXP (x4, 0);
9148 : : if (GET_CODE (x5) != XOR)
9149 : : return -1;
9150 : : x8 = XEXP (x5, 0);
9151 : : operands[1] = x8;
9152 : : x9 = XEXP (x5, 1);
9153 : : operands[2] = x9;
9154 : : x6 = XEXP (x4, 1);
9155 : : operands[3] = x6;
9156 : : x7 = XEXP (x3, 1);
9157 : : if (!rtx_equal_p (x7, operands[1]))
9158 : : return -1;
9159 : : switch (GET_MODE (operands[0]))
9160 : : {
9161 : : case E_SImode:
9162 : : if (pattern1088 (x3,
9163 : : E_SImode) != 0
9164 : : || !
9165 : : #line 13684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9166 : : (TARGET_BMI && ix86_pre_reload_split ()))
9167 : : return -1;
9168 : : *pnum_clobbers = 1;
9169 : : return 841; /* *xor2andn */
9170 : :
9171 : : case E_DImode:
9172 : : if (pattern1088 (x3,
9173 : : E_DImode) != 0
9174 : : || !(
9175 : : #line 13684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9176 : : (TARGET_BMI && ix86_pre_reload_split ()) &&
9177 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9178 : : (TARGET_64BIT)))
9179 : : return -1;
9180 : : *pnum_clobbers = 1;
9181 : : return 842; /* *xor2andn */
9182 : :
9183 : : default:
9184 : : return -1;
9185 : : }
9186 : :
9187 : : case ZERO_EXTEND:
9188 : : switch (pattern111 (x3))
9189 : : {
9190 : : case 0:
9191 : : if (pnum_clobbers != NULL)
9192 : : {
9193 : : x7 = XEXP (x3, 1);
9194 : : operands[2] = x7;
9195 : : if (x86_64_zext_immediate_operand (operands[2], E_DImode)
9196 : : && register_operand (operands[0], E_DImode)
9197 : : &&
9198 : : #line 13762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9199 : : (TARGET_64BIT
9200 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
9201 : : {
9202 : : *pnum_clobbers = 1;
9203 : : return 866; /* *xorsi_1_zext_imm */
9204 : : }
9205 : : }
9206 : : x7 = XEXP (x3, 1);
9207 : : operands[2] = x7;
9208 : : if (!const_scalar_int_operand (operands[2], E_DImode)
9209 : : || !nonimmediate_operand (operands[0], E_DImode)
9210 : : || !(
9211 : : #line 14198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9212 : : (DImode == DImode
9213 : : ? CONST_INT_P (operands[2])
9214 : : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
9215 : : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
9216 : : : CONST_WIDE_INT_P (operands[2])
9217 : : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
9218 : : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
9219 : : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
9220 : : 1)),
9221 : : VOIDmode)) &&
9222 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9223 : : (!TARGET_64BIT)))
9224 : : return -1;
9225 : : return 948; /* *concatsidi3_7 */
9226 : :
9227 : : case 1:
9228 : : if (!(
9229 : : #line 14077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9230 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9231 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9232 : : (!TARGET_64BIT)))
9233 : : return -1;
9234 : : return 900; /* *concatsidi3_2 */
9235 : :
9236 : : case 2:
9237 : : if (!(
9238 : : #line 14121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9239 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9240 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9241 : : (!TARGET_64BIT)))
9242 : : return -1;
9243 : : return 918; /* *concatsidi3_4 */
9244 : :
9245 : : case 3:
9246 : : if (!(
9247 : : #line 14121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9248 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9249 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9250 : : (!TARGET_64BIT)))
9251 : : return -1;
9252 : : return 921; /* *concatsidi3_4 */
9253 : :
9254 : : default:
9255 : : return -1;
9256 : : }
9257 : :
9258 : : case SIGN_EXTEND:
9259 : : if (pnum_clobbers == NULL
9260 : : || GET_MODE (x4) != E_DImode)
9261 : : return -1;
9262 : : x5 = XEXP (x4, 0);
9263 : : if (pattern442 (x5,
9264 : : SUBREG,
9265 : : 63) != 0)
9266 : : return -1;
9267 : : x9 = XEXP (x5, 1);
9268 : : if (maybe_ne (SUBREG_BYTE (x9), 0)
9269 : : || GET_MODE (x9) != E_SImode)
9270 : : return -1;
9271 : : x10 = XEXP (x9, 0);
9272 : : if (GET_CODE (x10) != CLZ
9273 : : || GET_MODE (x10) != E_DImode)
9274 : : return -1;
9275 : : x7 = XEXP (x3, 1);
9276 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
9277 : : || !register_operand (operands[0], E_DImode)
9278 : : || GET_MODE (x3) != E_DImode)
9279 : : return -1;
9280 : : x11 = XEXP (x10, 0);
9281 : : operands[1] = x11;
9282 : : if (!nonimmediate_operand (operands[1], E_DImode)
9283 : : || !
9284 : : #line 21332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9285 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
9286 : : return -1;
9287 : : *pnum_clobbers = 1;
9288 : : return 1530; /* *bsr_rex64_2 */
9289 : :
9290 : : case PLUS:
9291 : : if (pnum_clobbers == NULL)
9292 : : return -1;
9293 : : x6 = XEXP (x4, 1);
9294 : : if (GET_CODE (x6) != CONST_INT)
9295 : : return -1;
9296 : : x5 = XEXP (x4, 0);
9297 : : operands[1] = x5;
9298 : : x7 = XEXP (x3, 1);
9299 : : if (!rtx_equal_p (x7, operands[1]))
9300 : : return -1;
9301 : : switch (XWINT (x6, 0))
9302 : : {
9303 : : case -1L:
9304 : : switch (GET_MODE (operands[0]))
9305 : : {
9306 : : case E_SImode:
9307 : : if (pattern755 (x3,
9308 : : E_SImode) != 0
9309 : : || !
9310 : : #line 21827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9311 : : (TARGET_BMI))
9312 : : return -1;
9313 : : *pnum_clobbers = 1;
9314 : : return 1576; /* *bmi_blsmsk_si */
9315 : :
9316 : : case E_DImode:
9317 : : if (pattern755 (x3,
9318 : : E_DImode) != 0
9319 : : || !(
9320 : : #line 21827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9321 : : (TARGET_BMI) &&
9322 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9323 : : (TARGET_64BIT)))
9324 : : return -1;
9325 : : *pnum_clobbers = 1;
9326 : : return 1577; /* *bmi_blsmsk_di */
9327 : :
9328 : : default:
9329 : : return -1;
9330 : : }
9331 : :
9332 : : case 1L:
9333 : : switch (GET_MODE (operands[0]))
9334 : : {
9335 : : case E_SImode:
9336 : : if (pattern755 (x3,
9337 : : E_SImode) != 0
9338 : : || !
9339 : : #line 22088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9340 : : (TARGET_TBM))
9341 : : return -1;
9342 : : *pnum_clobbers = 1;
9343 : : return 1606; /* *tbm_blcmsk_si */
9344 : :
9345 : : case E_DImode:
9346 : : if (pattern755 (x3,
9347 : : E_DImode) != 0
9348 : : || !(
9349 : : #line 22088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9350 : : (TARGET_TBM) &&
9351 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9352 : : (TARGET_64BIT)))
9353 : : return -1;
9354 : : *pnum_clobbers = 1;
9355 : : return 1607; /* *tbm_blcmsk_di */
9356 : :
9357 : : default:
9358 : : return -1;
9359 : : }
9360 : :
9361 : : default:
9362 : : return -1;
9363 : : }
9364 : :
9365 : : default:
9366 : : return -1;
9367 : : }
9368 : : }
9369 : :
9370 : : int
9371 : : recog_94 (rtx x1 ATTRIBUTE_UNUSED,
9372 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9373 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9374 : : {
9375 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9376 : : rtx x2, x3, x4;
9377 : : int res ATTRIBUTE_UNUSED;
9378 : : if (pnum_clobbers == NULL)
9379 : : return -1;
9380 : : x2 = XEXP (x1, 0);
9381 : : operands[0] = x2;
9382 : : x3 = XEXP (x1, 1);
9383 : : x4 = XEXP (x3, 0);
9384 : : operands[1] = x4;
9385 : : switch (GET_MODE (operands[0]))
9386 : : {
9387 : : case E_DImode:
9388 : : if (!register_operand (operands[0], E_DImode)
9389 : : || GET_MODE (x3) != E_DImode
9390 : : || !general_operand (operands[1], E_DImode))
9391 : : return -1;
9392 : : if ((
9393 : : #line 14600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9394 : : (TARGET_CMOVE
9395 : : && ix86_pre_reload_split ()) &&
9396 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9397 : : (!TARGET_64BIT)))
9398 : : {
9399 : : *pnum_clobbers = 1;
9400 : : return 995; /* *absdi2_doubleword */
9401 : : }
9402 : : if (!(
9403 : : #line 14687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9404 : : (TARGET_CMOVE
9405 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
9406 : : && ix86_pre_reload_split ()) &&
9407 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9408 : : (TARGET_64BIT)))
9409 : : return -1;
9410 : : *pnum_clobbers = 1;
9411 : : return 1002; /* *absdi2_1 */
9412 : :
9413 : : case E_SImode:
9414 : : if (!register_operand (operands[0], E_SImode)
9415 : : || GET_MODE (x3) != E_SImode
9416 : : || !general_operand (operands[1], E_SImode)
9417 : : || !
9418 : : #line 14687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9419 : : (TARGET_CMOVE
9420 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
9421 : : && ix86_pre_reload_split ()))
9422 : : return -1;
9423 : : *pnum_clobbers = 1;
9424 : : return 1001; /* *abssi2_1 */
9425 : :
9426 : : default:
9427 : : return -1;
9428 : : }
9429 : : }
9430 : :
9431 : : int
9432 : : recog_98 (rtx x1 ATTRIBUTE_UNUSED,
9433 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9434 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9435 : : {
9436 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9437 : : rtx x2, x3, x4, x5, x6;
9438 : : int res ATTRIBUTE_UNUSED;
9439 : : x2 = XEXP (x1, 1);
9440 : : x3 = XEXP (x2, 0);
9441 : : operands[1] = x3;
9442 : : x4 = XEXP (x2, 1);
9443 : : switch (GET_CODE (x4))
9444 : : {
9445 : : case CONST_INT:
9446 : : case CONST_WIDE_INT:
9447 : : case CONST_POLY_INT:
9448 : : case CONST_FIXED:
9449 : : case CONST_DOUBLE:
9450 : : case CONST_VECTOR:
9451 : : case CONST:
9452 : : case REG:
9453 : : case SUBREG:
9454 : : case LABEL_REF:
9455 : : case SYMBOL_REF:
9456 : : case HIGH:
9457 : : if (pnum_clobbers != NULL
9458 : : && GET_CODE (x4) == SUBREG
9459 : : && pattern422 (x1,
9460 : : E_DImode) == 0
9461 : : && (
9462 : : #line 16592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9463 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
9464 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
9465 : : == (2 * 4 * BITS_PER_UNIT - 1)))
9466 : : && ix86_pre_reload_split ()) &&
9467 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9468 : : (!TARGET_64BIT)))
9469 : : {
9470 : : *pnum_clobbers = 1;
9471 : : return 1122; /* *lshrdi3_doubleword_mask */
9472 : : }
9473 : : operands[2] = x4;
9474 : : res = recog_97 (x1, insn, pnum_clobbers);
9475 : : if (res >= 0)
9476 : : return res;
9477 : : if (pnum_clobbers != NULL)
9478 : : {
9479 : : switch (GET_CODE (x4))
9480 : : {
9481 : : case CONST_INT:
9482 : : if (XWINT (x4, 0) == 32L)
9483 : : {
9484 : : x5 = XEXP (x1, 0);
9485 : : if (GET_CODE (x5) == SUBREG
9486 : : && known_eq (SUBREG_BYTE (x5), 0)
9487 : : && GET_MODE (x5) == E_DImode)
9488 : : {
9489 : : x6 = XEXP (x5, 0);
9490 : : operands[0] = x6;
9491 : : if (register_operand (operands[0], E_SImode)
9492 : : && GET_MODE (x2) == E_DImode
9493 : : && nonimmediate_operand (operands[1], E_DImode)
9494 : : &&
9495 : : #line 17381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9496 : : (TARGET_64BIT))
9497 : : {
9498 : : *pnum_clobbers = 1;
9499 : : return 1179; /* *highpartdisi2 */
9500 : : }
9501 : : }
9502 : : }
9503 : : break;
9504 : :
9505 : : case SUBREG:
9506 : : switch (pattern446 (x1,
9507 : : E_SImode))
9508 : : {
9509 : : case 0:
9510 : : if (
9511 : : #line 17860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9512 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9513 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
9514 : : == 4 * BITS_PER_UNIT - 1
9515 : : && ix86_pre_reload_split ()))
9516 : : {
9517 : : *pnum_clobbers = 1;
9518 : : return 1245; /* *lshrsi3_mask */
9519 : : }
9520 : : break;
9521 : :
9522 : : case 1:
9523 : : if (
9524 : : #line 17908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9525 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9526 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9527 : : && ix86_pre_reload_split ()))
9528 : : {
9529 : : *pnum_clobbers = 1;
9530 : : return 1257; /* *lshrsi3_add */
9531 : : }
9532 : : break;
9533 : :
9534 : : case 2:
9535 : : if (
9536 : : #line 17954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9537 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9538 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9539 : : && ix86_pre_reload_split ()))
9540 : : {
9541 : : *pnum_clobbers = 1;
9542 : : return 1269; /* *lshrsi3_sub */
9543 : : }
9544 : : break;
9545 : :
9546 : : default:
9547 : : break;
9548 : : }
9549 : : break;
9550 : :
9551 : : default:
9552 : : break;
9553 : : }
9554 : : }
9555 : : operands[2] = x4;
9556 : : if (nonmemory_operand (operands[2], E_QImode))
9557 : : {
9558 : : x5 = XEXP (x1, 0);
9559 : : operands[0] = x5;
9560 : : if (nonimmediate_operand (operands[0], E_DImode)
9561 : : && GET_MODE (x2) == E_DImode
9562 : : && nonimmediate_operand (operands[1], E_DImode))
9563 : : {
9564 : : if ((
9565 : : #line 17405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9566 : : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)
9567 : : && TARGET_APX_NF) &&
9568 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9569 : : (TARGET_64BIT)))
9570 : : return 1182; /* *lshrdi3_1_nf */
9571 : : if (pnum_clobbers != NULL
9572 : : && (
9573 : : #line 17405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9574 : : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)
9575 : : && true) &&
9576 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9577 : : (TARGET_64BIT)))
9578 : : {
9579 : : *pnum_clobbers = 1;
9580 : : return 1183; /* *lshrdi3_1 */
9581 : : }
9582 : : }
9583 : : }
9584 : : if (pnum_clobbers == NULL
9585 : : || GET_CODE (x4) != SUBREG)
9586 : : return -1;
9587 : : switch (pattern446 (x1,
9588 : : E_DImode))
9589 : : {
9590 : : case 0:
9591 : : if (!(
9592 : : #line 17860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9593 : : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9594 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
9595 : : == 8 * BITS_PER_UNIT - 1
9596 : : && ix86_pre_reload_split ()) &&
9597 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9598 : : (TARGET_64BIT)))
9599 : : return -1;
9600 : : *pnum_clobbers = 1;
9601 : : return 1248; /* *lshrdi3_mask */
9602 : :
9603 : : case 1:
9604 : : if (!(
9605 : : #line 17908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9606 : : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9607 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9608 : : && ix86_pre_reload_split ()) &&
9609 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9610 : : (TARGET_64BIT)))
9611 : : return -1;
9612 : : *pnum_clobbers = 1;
9613 : : return 1260; /* *lshrdi3_add */
9614 : :
9615 : : case 2:
9616 : : if (!(
9617 : : #line 17954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9618 : : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9619 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9620 : : && ix86_pre_reload_split ()) &&
9621 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9622 : : (TARGET_64BIT)))
9623 : : return -1;
9624 : : *pnum_clobbers = 1;
9625 : : return 1272; /* *lshrdi3_sub */
9626 : :
9627 : : default:
9628 : : return -1;
9629 : : }
9630 : :
9631 : : case AND:
9632 : : if (pnum_clobbers == NULL
9633 : : || GET_MODE (x4) != E_QImode)
9634 : : return -1;
9635 : : x5 = XEXP (x1, 0);
9636 : : operands[0] = x5;
9637 : : switch (pattern115 (x2))
9638 : : {
9639 : : case 0:
9640 : : if (register_operand (operands[0], E_DImode)
9641 : : && register_operand (operands[1], E_DImode)
9642 : : && (
9643 : : #line 16653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9644 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
9645 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
9646 : : == (2 * 4 * BITS_PER_UNIT - 1)))
9647 : : && ix86_pre_reload_split ()) &&
9648 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9649 : : (!TARGET_64BIT)))
9650 : : {
9651 : : *pnum_clobbers = 1;
9652 : : return 1126; /* *lshrdi3_doubleword_mask_1 */
9653 : : }
9654 : : if (!nonimmediate_operand (operands[0], E_DImode)
9655 : : || !nonimmediate_operand (operands[1], E_DImode)
9656 : : || !(
9657 : : #line 17885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9658 : : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9659 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
9660 : : == 8 * BITS_PER_UNIT - 1
9661 : : && ix86_pre_reload_split ()) &&
9662 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9663 : : (TARGET_64BIT)))
9664 : : return -1;
9665 : : *pnum_clobbers = 1;
9666 : : return 1254; /* *lshrdi3_mask_1 */
9667 : :
9668 : : case 1:
9669 : : if (!
9670 : : #line 17885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9671 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9672 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
9673 : : == 4 * BITS_PER_UNIT - 1
9674 : : && ix86_pre_reload_split ()))
9675 : : return -1;
9676 : : *pnum_clobbers = 1;
9677 : : return 1251; /* *lshrsi3_mask_1 */
9678 : :
9679 : : default:
9680 : : return -1;
9681 : : }
9682 : :
9683 : : case PLUS:
9684 : : if (pnum_clobbers == NULL
9685 : : || GET_MODE (x4) != E_QImode)
9686 : : return -1;
9687 : : x5 = XEXP (x1, 0);
9688 : : operands[0] = x5;
9689 : : switch (pattern18 (x2))
9690 : : {
9691 : : case 0:
9692 : : if (!
9693 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9694 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9695 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9696 : : && ix86_pre_reload_split ()))
9697 : : return -1;
9698 : : *pnum_clobbers = 1;
9699 : : return 1263; /* *lshrsi3_add_1 */
9700 : :
9701 : : case 1:
9702 : : if (!(
9703 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9704 : : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9705 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9706 : : && ix86_pre_reload_split ()) &&
9707 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9708 : : (TARGET_64BIT)))
9709 : : return -1;
9710 : : *pnum_clobbers = 1;
9711 : : return 1266; /* *lshrdi3_add_1 */
9712 : :
9713 : : default:
9714 : : return -1;
9715 : : }
9716 : :
9717 : : case MINUS:
9718 : : if (pnum_clobbers == NULL
9719 : : || GET_MODE (x4) != E_QImode)
9720 : : return -1;
9721 : : x5 = XEXP (x1, 0);
9722 : : operands[0] = x5;
9723 : : switch (pattern116 (x2))
9724 : : {
9725 : : case 0:
9726 : : if (!
9727 : : #line 17984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9728 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9729 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9730 : : && ix86_pre_reload_split ()))
9731 : : return -1;
9732 : : *pnum_clobbers = 1;
9733 : : return 1275; /* *lshrsi3_sub_1 */
9734 : :
9735 : : case 1:
9736 : : if (!(
9737 : : #line 17984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9738 : : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9739 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9740 : : && ix86_pre_reload_split ()) &&
9741 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9742 : : (TARGET_64BIT)))
9743 : : return -1;
9744 : : *pnum_clobbers = 1;
9745 : : return 1278; /* *lshrdi3_sub_1 */
9746 : :
9747 : : default:
9748 : : return -1;
9749 : : }
9750 : :
9751 : : default:
9752 : : return -1;
9753 : : }
9754 : : }
9755 : :
9756 : : int
9757 : : recog_111 (rtx x1 ATTRIBUTE_UNUSED,
9758 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9759 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9760 : : {
9761 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9762 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9763 : : int res ATTRIBUTE_UNUSED;
9764 : : x2 = XEXP (x1, 1);
9765 : : x3 = XEXP (x2, 0);
9766 : : if (GET_CODE (x3) != MEM
9767 : : || GET_MODE (x3) != E_QImode)
9768 : : return -1;
9769 : : x4 = XEXP (x1, 0);
9770 : : operands[0] = x4;
9771 : : x5 = XEXP (x3, 0);
9772 : : operands[1] = x5;
9773 : : x6 = XEXP (x2, 1);
9774 : : operands[2] = x6;
9775 : : if (call_insn_operand (operands[1], E_SImode)
9776 : : && (
9777 : : #line 20350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9778 : : (!SIBLING_CALL_P (insn)) &&
9779 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9780 : : (word_mode == SImode)))
9781 : : return 1475; /* *call_value */
9782 : : if (call_insn_operand (operands[1], E_DImode)
9783 : : && (
9784 : : #line 20350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9785 : : (!SIBLING_CALL_P (insn)) &&
9786 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9787 : : (word_mode == DImode)))
9788 : : return 1476; /* *call_value */
9789 : : switch (GET_CODE (x5))
9790 : : {
9791 : : case ZERO_EXTEND:
9792 : : if (GET_MODE (x5) == E_DImode)
9793 : : {
9794 : : x7 = XEXP (x5, 0);
9795 : : operands[1] = x7;
9796 : : if (GOT_memory_operand (operands[1], E_SImode))
9797 : : {
9798 : : operands[2] = x6;
9799 : : if (
9800 : : #line 20361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9801 : : (TARGET_X32))
9802 : : return 1477; /* *call_value_got_x32 */
9803 : : }
9804 : : }
9805 : : break;
9806 : :
9807 : : case MEM:
9808 : : if (GET_MODE (x5) == E_SImode)
9809 : : {
9810 : : x7 = XEXP (x5, 0);
9811 : : if (GET_CODE (x7) == PLUS
9812 : : && GET_MODE (x7) == E_SImode)
9813 : : {
9814 : : x8 = XEXP (x7, 0);
9815 : : operands[1] = x8;
9816 : : if (register_no_elim_operand (operands[1], E_SImode))
9817 : : {
9818 : : x9 = XEXP (x7, 1);
9819 : : operands[2] = x9;
9820 : : if (GOT32_symbol_operand (operands[2], E_SImode))
9821 : : {
9822 : : operands[3] = x6;
9823 : : if (
9824 : : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9825 : : (!TARGET_MACHO
9826 : : && !TARGET_64BIT
9827 : : && !TARGET_INDIRECT_BRANCH_REGISTER
9828 : : && SIBLING_CALL_P (insn)))
9829 : : return 1478; /* *sibcall_value_GOT_32 */
9830 : : }
9831 : : }
9832 : : }
9833 : : }
9834 : : break;
9835 : :
9836 : : default:
9837 : : break;
9838 : : }
9839 : : operands[1] = x5;
9840 : : operands[2] = x6;
9841 : : if (sibcall_insn_operand (operands[1], E_SImode)
9842 : : && (
9843 : : #line 20392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9844 : : (SIBLING_CALL_P (insn)) &&
9845 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9846 : : (word_mode == SImode)))
9847 : : return 1479; /* *sibcall_value */
9848 : : if (!sibcall_insn_operand (operands[1], E_DImode)
9849 : : || !(
9850 : : #line 20392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9851 : : (SIBLING_CALL_P (insn)) &&
9852 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9853 : : (word_mode == DImode)))
9854 : : return -1;
9855 : : return 1480; /* *sibcall_value */
9856 : : }
9857 : :
9858 : : int
9859 : : recog_116 (rtx x1 ATTRIBUTE_UNUSED,
9860 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9861 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9862 : : {
9863 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9864 : : rtx x2, x3, x4, x5, x6, x7, x8;
9865 : : int res ATTRIBUTE_UNUSED;
9866 : : if (pnum_clobbers == NULL)
9867 : : return -1;
9868 : : x2 = XEXP (x1, 1);
9869 : : x3 = XEXP (x2, 0);
9870 : : if (!ix86_carry_flag_operator (x3, E_VOIDmode))
9871 : : return -1;
9872 : : operands[1] = x3;
9873 : : x4 = XEXP (x3, 0);
9874 : : if (GET_CODE (x4) != REG
9875 : : || REGNO (x4) != 17)
9876 : : return -1;
9877 : : x5 = XEXP (x3, 1);
9878 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9879 : : return -1;
9880 : : x6 = XEXP (x2, 1);
9881 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
9882 : : return -1;
9883 : : x7 = XEXP (x2, 2);
9884 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9885 : : return -1;
9886 : : x8 = XEXP (x1, 0);
9887 : : operands[0] = x8;
9888 : : switch (pattern23 (x2))
9889 : : {
9890 : : case 0:
9891 : : *pnum_clobbers = 1;
9892 : : return 1791; /* *x86_movsicc_0_m1_se */
9893 : :
9894 : : case 1:
9895 : : if (!
9896 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9897 : : (TARGET_64BIT))
9898 : : return -1;
9899 : : *pnum_clobbers = 1;
9900 : : return 1792; /* *x86_movdicc_0_m1_se */
9901 : :
9902 : : default:
9903 : : return -1;
9904 : : }
9905 : : }
9906 : :
9907 : : int
9908 : : recog_118 (rtx x1 ATTRIBUTE_UNUSED,
9909 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9910 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9911 : : {
9912 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9913 : : rtx x2, x3, x4;
9914 : : int res ATTRIBUTE_UNUSED;
9915 : : x2 = XEXP (x1, 1);
9916 : : x3 = XEXP (x2, 1);
9917 : : x4 = XVECEXP (x3, 0, 0);
9918 : : switch (XWINT (x4, 0))
9919 : : {
9920 : : case 0L:
9921 : : if (nonimmediate_operand (operands[0], E_SImode)
9922 : : && GET_MODE (x2) == E_SImode)
9923 : : {
9924 : : switch (GET_MODE (operands[1]))
9925 : : {
9926 : : case E_V2SImode:
9927 : : if (nonimmediate_operand (operands[1], E_V2SImode)
9928 : : &&
9929 : : #line 5729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9930 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9931 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9932 : : return 2343; /* *vec_extractv2si_0 */
9933 : : break;
9934 : :
9935 : : case E_V4SImode:
9936 : : if (nonimmediate_operand (operands[1], E_V4SImode)
9937 : : &&
9938 : : #line 21157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9939 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9940 : : return 8464; /* *vec_extractv4si_0 */
9941 : : break;
9942 : :
9943 : : default:
9944 : : break;
9945 : : }
9946 : : }
9947 : : break;
9948 : :
9949 : : case 1L:
9950 : : switch (GET_MODE (operands[0]))
9951 : : {
9952 : : case E_SImode:
9953 : : if (nonimmediate_operand (operands[0], E_SImode)
9954 : : && GET_MODE (x2) == E_SImode
9955 : : && nonimmediate_operand (operands[1], E_V2SImode)
9956 : : &&
9957 : : #line 5786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9958 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9959 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9960 : : return 2346; /* *vec_extractv2si_1 */
9961 : : break;
9962 : :
9963 : : case E_DImode:
9964 : : if (nonimmediate_operand (operands[0], E_DImode)
9965 : : && GET_MODE (x2) == E_DImode
9966 : : && nonimmediate_operand (operands[1], E_V2DImode)
9967 : : &&
9968 : : #line 21326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9969 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9970 : : return 8473; /* *vec_extractv2di_1 */
9971 : : break;
9972 : :
9973 : : default:
9974 : : break;
9975 : : }
9976 : : break;
9977 : :
9978 : : default:
9979 : : break;
9980 : : }
9981 : : operands[2] = x4;
9982 : : switch (GET_MODE (operands[0]))
9983 : : {
9984 : : case E_SImode:
9985 : : if (GET_MODE (x2) != E_SImode)
9986 : : return -1;
9987 : : if (register_operand (operands[0], E_SImode))
9988 : : {
9989 : : switch (GET_MODE (operands[1]))
9990 : : {
9991 : : case E_V16SImode:
9992 : : if (register_operand (operands[1], E_V16SImode)
9993 : : && const_0_to_15_operand (operands[2], E_VOIDmode)
9994 : : && (
9995 : : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9996 : : (TARGET_AVX512F
9997 : : && INTVAL(operands[2]) * GET_MODE_SIZE (SImode) >= 16) &&
9998 : : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9999 : : (TARGET_EVEX512)))
10000 : : return 7088; /* *vec_extractv16sisi_valign */
10001 : : break;
10002 : :
10003 : : case E_V8SImode:
10004 : : if (register_operand (operands[1], E_V8SImode)
10005 : : && const_0_to_7_operand (operands[2], E_VOIDmode)
10006 : : && (
10007 : : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10008 : : (TARGET_AVX512F
10009 : : && INTVAL(operands[2]) * GET_MODE_SIZE (SImode) >= 16) &&
10010 : : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10011 : : (TARGET_AVX512VL)))
10012 : : return 7089; /* *vec_extractv8sisi_valign */
10013 : : break;
10014 : :
10015 : : default:
10016 : : break;
10017 : : }
10018 : : }
10019 : : if (nonimmediate_operand (operands[0], E_SImode)
10020 : : && register_operand (operands[1], E_V4SImode)
10021 : : && const_0_to_3_operand (operands[2], E_SImode)
10022 : : &&
10023 : : #line 21247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10024 : : (TARGET_SSE4_1))
10025 : : return 8469; /* *vec_extractv4si */
10026 : : if (!register_operand (operands[0], E_SImode)
10027 : : || !memory_operand (operands[1], E_V4SImode)
10028 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
10029 : : || !
10030 : : #line 21304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10031 : : (TARGET_SSE))
10032 : : return -1;
10033 : : return 8471; /* *vec_extractv4si_mem */
10034 : :
10035 : : case E_DImode:
10036 : : if (!register_operand (operands[0], E_DImode)
10037 : : || GET_MODE (x2) != E_DImode)
10038 : : return -1;
10039 : : switch (GET_MODE (operands[1]))
10040 : : {
10041 : : case E_V8DImode:
10042 : : if (!register_operand (operands[1], E_V8DImode)
10043 : : || !const_0_to_7_operand (operands[2], E_VOIDmode)
10044 : : || !(
10045 : : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10046 : : (TARGET_AVX512F
10047 : : && INTVAL(operands[2]) * GET_MODE_SIZE (DImode) >= 16) &&
10048 : : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10049 : : (TARGET_EVEX512)))
10050 : : return -1;
10051 : : return 7090; /* *vec_extractv8didi_valign */
10052 : :
10053 : : case E_V4DImode:
10054 : : if (!register_operand (operands[1], E_V4DImode)
10055 : : || !const_0_to_3_operand (operands[2], E_VOIDmode)
10056 : : || !(
10057 : : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10058 : : (TARGET_AVX512F
10059 : : && INTVAL(operands[2]) * GET_MODE_SIZE (DImode) >= 16) &&
10060 : : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10061 : : (TARGET_AVX512VL)))
10062 : : return -1;
10063 : : return 7091; /* *vec_extractv4didi_valign */
10064 : :
10065 : : default:
10066 : : return -1;
10067 : : }
10068 : :
10069 : : default:
10070 : : return -1;
10071 : : }
10072 : : }
10073 : :
10074 : : int
10075 : : recog_123 (rtx x1 ATTRIBUTE_UNUSED,
10076 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10077 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10078 : : {
10079 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10080 : : rtx x2, x3, x4, x5;
10081 : : int res ATTRIBUTE_UNUSED;
10082 : : x2 = XEXP (x1, 1);
10083 : : x3 = XEXP (x2, 0);
10084 : : x4 = XVECEXP (x3, 0, 0);
10085 : : operands[1] = x4;
10086 : : x5 = XEXP (x2, 2);
10087 : : operands[3] = x5;
10088 : : switch (GET_MODE (operands[0]))
10089 : : {
10090 : : case E_V8HImode:
10091 : : if (pattern633 (x2,
10092 : : E_V8HImode,
10093 : : E_QImode,
10094 : : E_V8HFmode) != 0
10095 : : || !(
10096 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10097 : : (TARGET_AVX512F) && (
10098 : : #line 7855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10099 : : (TARGET_AVX512FP16 && 1) &&
10100 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10101 : : (TARGET_AVX512VL))))
10102 : : return -1;
10103 : : return 4560; /* unspec_avx512fp16_fix_truncv8hi2_mask */
10104 : :
10105 : : case E_V16HImode:
10106 : : if (pattern633 (x2,
10107 : : E_V16HImode,
10108 : : E_HImode,
10109 : : E_V16HFmode) != 0
10110 : : || !(
10111 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10112 : : (TARGET_AVX512F) && (
10113 : : #line 7855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10114 : : (TARGET_AVX512FP16 && 1) &&
10115 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10116 : : (TARGET_AVX512VL))))
10117 : : return -1;
10118 : : return 4565; /* unspec_avx512fp16_fix_truncv16hi2_mask */
10119 : :
10120 : : case E_V32HImode:
10121 : : if (pattern633 (x2,
10122 : : E_V32HImode,
10123 : : E_SImode,
10124 : : E_V32HFmode) != 0
10125 : : || !(
10126 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10127 : : (TARGET_AVX512F) && (
10128 : : #line 7855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10129 : : (TARGET_AVX512FP16 && 1) &&
10130 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10131 : : (TARGET_EVEX512))))
10132 : : return -1;
10133 : : return 4573; /* unspec_avx512fp16_fix_truncv32hi2_mask */
10134 : :
10135 : : case E_V8SImode:
10136 : : switch (pattern994 (x2))
10137 : : {
10138 : : case 0:
10139 : : if (!(
10140 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10141 : : (TARGET_AVX512F) && (
10142 : : #line 7855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10143 : : (TARGET_AVX512FP16 && 1) &&
10144 : : #line 695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10145 : : (TARGET_AVX512VL))))
10146 : : return -1;
10147 : : return 4581; /* unspec_avx512fp16_fix_truncv8si2_mask */
10148 : :
10149 : : case 1:
10150 : : if (!(
10151 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10152 : : (TARGET_AVX512F) &&
10153 : : #line 8783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10154 : : (TARGET_AVX && TARGET_AVX512VL
10155 : : && (!false || TARGET_AVX10_2_256))))
10156 : : return -1;
10157 : : return 4886; /* unspec_fix_truncv8sfv8si2_mask */
10158 : :
10159 : : case 2:
10160 : : if (!(
10161 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10162 : : (TARGET_AVX512F) &&
10163 : : #line 9558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10164 : : (TARGET_AVX512F && TARGET_EVEX512)))
10165 : : return -1;
10166 : : return 5023; /* unspec_fix_truncv8dfv8si2_mask */
10167 : :
10168 : : default:
10169 : : return -1;
10170 : : }
10171 : :
10172 : : case E_V16SImode:
10173 : : switch (pattern995 (x2))
10174 : : {
10175 : : case 0:
10176 : : if (!(
10177 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10178 : : (TARGET_AVX512F) && (
10179 : : #line 7855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10180 : : (TARGET_AVX512FP16 && 1) &&
10181 : : #line 695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10182 : : (TARGET_EVEX512))))
10183 : : return -1;
10184 : : return 4589; /* unspec_avx512fp16_fix_truncv16si2_mask */
10185 : :
10186 : : case 1:
10187 : : if (!(
10188 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10189 : : (TARGET_AVX512F) &&
10190 : : #line 8763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10191 : : (TARGET_AVX512F && TARGET_EVEX512)))
10192 : : return -1;
10193 : : return 4870; /* unspec_fix_truncv16sfv16si2_mask */
10194 : :
10195 : : default:
10196 : : return -1;
10197 : : }
10198 : :
10199 : : case E_V8DImode:
10200 : : switch (pattern996 (x2,
10201 : : E_V8DImode))
10202 : : {
10203 : : case 0:
10204 : : if (!(
10205 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10206 : : (TARGET_AVX512F) && (
10207 : : #line 7855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10208 : : (TARGET_AVX512FP16 && 1) &&
10209 : : #line 696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10210 : : (TARGET_EVEX512))))
10211 : : return -1;
10212 : : return 4597; /* unspec_avx512fp16_fix_truncv8di2_mask */
10213 : :
10214 : : case 1:
10215 : : if (!(
10216 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10217 : : (TARGET_AVX512F) && (
10218 : : #line 9689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10219 : : (TARGET_AVX512DQ && 1) &&
10220 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10221 : : (TARGET_EVEX512))))
10222 : : return -1;
10223 : : return 5056; /* unspec_fix_truncv8dfv8di2_mask */
10224 : :
10225 : : case 2:
10226 : : if (!(
10227 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10228 : : (TARGET_AVX512F) && (
10229 : : #line 9732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10230 : : (TARGET_AVX512DQ && 1) &&
10231 : : #line 627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10232 : : (TARGET_EVEX512))))
10233 : : return -1;
10234 : : return 5116; /* unspec_fix_truncv8sfv8di2_mask */
10235 : :
10236 : : default:
10237 : : return -1;
10238 : : }
10239 : :
10240 : : case E_V4SImode:
10241 : : if (pattern773 (x2,
10242 : : E_V4SImode,
10243 : : E_QImode) != 0)
10244 : : return -1;
10245 : : switch (GET_MODE (operands[1]))
10246 : : {
10247 : : case E_V8HFmode:
10248 : : if (!register_operand (operands[1], E_V8HFmode)
10249 : : || !(
10250 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10251 : : (TARGET_AVX512F) &&
10252 : : #line 7893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10253 : : (TARGET_AVX512FP16 && TARGET_AVX512VL && 1)))
10254 : : return -1;
10255 : : return 4648; /* unspec_avx512fp16_fix_truncv4si2_mask */
10256 : :
10257 : : case E_V4SFmode:
10258 : : if (!vector_operand (operands[1], E_V4SFmode)
10259 : : || !(
10260 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10261 : : (TARGET_AVX512F) &&
10262 : : #line 8803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10263 : : (TARGET_SSE2 && TARGET_AVX512VL)))
10264 : : return -1;
10265 : : return 4891; /* unspec_fix_truncv4sfv4si2_mask */
10266 : :
10267 : : case E_V4DFmode:
10268 : : if (!vector_operand (operands[1], E_V4DFmode)
10269 : : || !(
10270 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10271 : : (TARGET_AVX512F) &&
10272 : : #line 9648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10273 : : (TARGET_AVX && TARGET_AVX512VL
10274 : : && (!false || TARGET_AVX10_2_256))))
10275 : : return -1;
10276 : : return 5044; /* unspec_fix_truncv4dfv4si2_mask */
10277 : :
10278 : : case E_V2DFmode:
10279 : : if (!vector_operand (operands[1], E_V2DFmode)
10280 : : || !(
10281 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10282 : : (TARGET_AVX512F) &&
10283 : : #line 9932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10284 : : (TARGET_SSE2 && TARGET_AVX512VL)))
10285 : : return -1;
10286 : : return 5157; /* unspec_sse2_cvttpd2dq_mask */
10287 : :
10288 : : default:
10289 : : return -1;
10290 : : }
10291 : :
10292 : : case E_V4DImode:
10293 : : switch (pattern997 (x2,
10294 : : E_V4DImode))
10295 : : {
10296 : : case 0:
10297 : : if (!(
10298 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10299 : : (TARGET_AVX512F) &&
10300 : : #line 7893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10301 : : (TARGET_AVX512FP16 && TARGET_AVX512VL && 1)))
10302 : : return -1;
10303 : : return 4653; /* unspec_avx512fp16_fix_truncv4di2_mask */
10304 : :
10305 : : case 1:
10306 : : if (!(
10307 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10308 : : (TARGET_AVX512F) && (
10309 : : #line 9689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10310 : : (TARGET_AVX512DQ && 1) &&
10311 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10312 : : (TARGET_AVX512VL))))
10313 : : return -1;
10314 : : return 5064; /* unspec_fix_truncv4dfv4di2_mask */
10315 : :
10316 : : case 2:
10317 : : if (!(
10318 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10319 : : (TARGET_AVX512F) && (
10320 : : #line 9732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10321 : : (TARGET_AVX512DQ && 1) &&
10322 : : #line 627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10323 : : (TARGET_AVX512VL))))
10324 : : return -1;
10325 : : return 5124; /* unspec_fix_truncv4sfv4di2_mask */
10326 : :
10327 : : default:
10328 : : return -1;
10329 : : }
10330 : :
10331 : : case E_V2DImode:
10332 : : switch (pattern998 (x2))
10333 : : {
10334 : : case 0:
10335 : : if (!(
10336 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10337 : : (TARGET_AVX512F) &&
10338 : : #line 7943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10339 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10340 : : return -1;
10341 : : return 4676; /* unspec_avx512fp16_fix_truncv2di2_mask */
10342 : :
10343 : : case 1:
10344 : : if (!(
10345 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10346 : : (TARGET_AVX512F) && (
10347 : : #line 9689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10348 : : (TARGET_AVX512DQ && 1) &&
10349 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10350 : : (TARGET_AVX512VL))))
10351 : : return -1;
10352 : : return 5071; /* unspec_fix_truncv2dfv2di2_mask */
10353 : :
10354 : : case 2:
10355 : : if (!(
10356 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10357 : : (TARGET_AVX512F) &&
10358 : : #line 9753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10359 : : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10360 : : return -1;
10361 : : return 5139; /* unspec_avx512dq_fix_truncv2sfv2di2_mask */
10362 : :
10363 : : default:
10364 : : return -1;
10365 : : }
10366 : :
10367 : : default:
10368 : : return -1;
10369 : : }
10370 : : }
10371 : :
10372 : : int
10373 : : recog_130 (rtx x1 ATTRIBUTE_UNUSED,
10374 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10375 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10376 : : {
10377 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10378 : : rtx x2, x3, x4, x5, x6, x7;
10379 : : int res ATTRIBUTE_UNUSED;
10380 : : x2 = XEXP (x1, 1);
10381 : : x3 = XEXP (x2, 0);
10382 : : x4 = XVECEXP (x3, 0, 0);
10383 : : operands[1] = x4;
10384 : : x5 = XVECEXP (x3, 0, 1);
10385 : : operands[2] = x5;
10386 : : x6 = XEXP (x2, 2);
10387 : : switch (GET_CODE (x6))
10388 : : {
10389 : : case CONST_INT:
10390 : : if (XWINT (x6, 0) != 1L)
10391 : : return -1;
10392 : : switch (pattern457 (x2))
10393 : : {
10394 : : case 0:
10395 : : if (!(
10396 : : #line 13612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10397 : : (TARGET_AVX512F) &&
10398 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10399 : : (TARGET_AVX512FP16)))
10400 : : return -1;
10401 : : return 5414; /* avx512f_vmscalefv8hf */
10402 : :
10403 : : case 1:
10404 : : if (!
10405 : : #line 13612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10406 : : (TARGET_AVX512F))
10407 : : return -1;
10408 : : return 5418; /* avx512f_vmscalefv4sf */
10409 : :
10410 : : case 2:
10411 : : if (!(
10412 : : #line 13612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10413 : : (TARGET_AVX512F) &&
10414 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10415 : : (TARGET_SSE2)))
10416 : : return -1;
10417 : : return 5422; /* avx512f_vmscalefv2df */
10418 : :
10419 : : default:
10420 : : return -1;
10421 : : }
10422 : :
10423 : : case REG:
10424 : : case SUBREG:
10425 : : operands[4] = x6;
10426 : : x7 = XEXP (x2, 1);
10427 : : operands[3] = x7;
10428 : : switch (GET_MODE (operands[0]))
10429 : : {
10430 : : case E_V32HFmode:
10431 : : if (pattern1105 (x2,
10432 : : E_V32HFmode,
10433 : : E_SImode) != 0
10434 : : || !(
10435 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10436 : : (TARGET_AVX512F) && (
10437 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10438 : : (TARGET_AVX512F && 1) &&
10439 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10440 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
10441 : : return -1;
10442 : : return 5428; /* avx512bw_scalefv32hf_mask */
10443 : :
10444 : : case E_V16HFmode:
10445 : : if (pattern1105 (x2,
10446 : : E_V16HFmode,
10447 : : E_HImode) != 0
10448 : : || !(
10449 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10450 : : (TARGET_AVX512F) && (
10451 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10452 : : (TARGET_AVX512F && 1) &&
10453 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10454 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10455 : : return -1;
10456 : : return 5432; /* avx512vl_scalefv16hf_mask */
10457 : :
10458 : : case E_V8HFmode:
10459 : : if (pattern1105 (x2,
10460 : : E_V8HFmode,
10461 : : E_QImode) != 0
10462 : : || !(
10463 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10464 : : (TARGET_AVX512F) && (
10465 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10466 : : (TARGET_AVX512F && 1) &&
10467 : : #line 527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10468 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10469 : : return -1;
10470 : : return 5435; /* avx512fp16_scalefv8hf_mask */
10471 : :
10472 : : case E_V16SFmode:
10473 : : if (pattern1105 (x2,
10474 : : E_V16SFmode,
10475 : : E_HImode) != 0
10476 : : || !(
10477 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10478 : : (TARGET_AVX512F) && (
10479 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10480 : : (TARGET_AVX512F && 1) &&
10481 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10482 : : (TARGET_EVEX512))))
10483 : : return -1;
10484 : : return 5438; /* avx512f_scalefv16sf_mask */
10485 : :
10486 : : case E_V8SFmode:
10487 : : if (pattern1105 (x2,
10488 : : E_V8SFmode,
10489 : : E_QImode) != 0
10490 : : || !(
10491 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10492 : : (TARGET_AVX512F) && (
10493 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10494 : : (TARGET_AVX512F && 1) &&
10495 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10496 : : (TARGET_AVX512VL))))
10497 : : return -1;
10498 : : return 5442; /* avx512vl_scalefv8sf_mask */
10499 : :
10500 : : case E_V4SFmode:
10501 : : if (pattern1105 (x2,
10502 : : E_V4SFmode,
10503 : : E_QImode) != 0
10504 : : || !(
10505 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10506 : : (TARGET_AVX512F) && (
10507 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10508 : : (TARGET_AVX512F && 1) &&
10509 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10510 : : (TARGET_AVX512VL))))
10511 : : return -1;
10512 : : return 5445; /* avx512vl_scalefv4sf_mask */
10513 : :
10514 : : case E_V8DFmode:
10515 : : if (pattern1105 (x2,
10516 : : E_V8DFmode,
10517 : : E_QImode) != 0
10518 : : || !(
10519 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10520 : : (TARGET_AVX512F) && (
10521 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10522 : : (TARGET_AVX512F && 1) &&
10523 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10524 : : (TARGET_EVEX512))))
10525 : : return -1;
10526 : : return 5448; /* avx512f_scalefv8df_mask */
10527 : :
10528 : : case E_V4DFmode:
10529 : : if (pattern1105 (x2,
10530 : : E_V4DFmode,
10531 : : E_QImode) != 0
10532 : : || !(
10533 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10534 : : (TARGET_AVX512F) && (
10535 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10536 : : (TARGET_AVX512F && 1) &&
10537 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10538 : : (TARGET_AVX512VL))))
10539 : : return -1;
10540 : : return 5452; /* avx512vl_scalefv4df_mask */
10541 : :
10542 : : case E_V2DFmode:
10543 : : if (pattern1105 (x2,
10544 : : E_V2DFmode,
10545 : : E_QImode) != 0
10546 : : || !(
10547 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10548 : : (TARGET_AVX512F) && (
10549 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10550 : : (TARGET_AVX512F && 1) &&
10551 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10552 : : (TARGET_AVX512VL))))
10553 : : return -1;
10554 : : return 5455; /* avx512vl_scalefv2df_mask */
10555 : :
10556 : : default:
10557 : : return -1;
10558 : : }
10559 : :
10560 : : default:
10561 : : return -1;
10562 : : }
10563 : : }
10564 : :
10565 : : int
10566 : : recog_137 (rtx x1 ATTRIBUTE_UNUSED,
10567 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10568 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10569 : : {
10570 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10571 : : rtx x2, x3, x4, x5, x6, x7, x8;
10572 : : int res ATTRIBUTE_UNUSED;
10573 : : x2 = XEXP (x1, 1);
10574 : : x3 = XEXP (x2, 0);
10575 : : x4 = XVECEXP (x3, 0, 0);
10576 : : operands[1] = x4;
10577 : : x5 = XVECEXP (x3, 0, 1);
10578 : : operands[2] = x5;
10579 : : x6 = XVECEXP (x3, 0, 2);
10580 : : operands[3] = x6;
10581 : : if (!const_0_to_15_operand (operands[3], E_SImode))
10582 : : return -1;
10583 : : x7 = XEXP (x2, 2);
10584 : : switch (GET_CODE (x7))
10585 : : {
10586 : : case REG:
10587 : : case SUBREG:
10588 : : operands[5] = x7;
10589 : : x8 = XEXP (x2, 1);
10590 : : operands[4] = x8;
10591 : : switch (GET_MODE (operands[0]))
10592 : : {
10593 : : case E_V16SFmode:
10594 : : if (pattern472 (x2,
10595 : : E_V16SFmode,
10596 : : E_HImode) != 0
10597 : : || !(
10598 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10599 : : (TARGET_AVX512F) && (
10600 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10601 : : (TARGET_AVX512DQ && 1) &&
10602 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10603 : : (TARGET_EVEX512))))
10604 : : return -1;
10605 : : return 9958; /* avx512dq_rangepv16sf_mask */
10606 : :
10607 : : case E_V8SFmode:
10608 : : if (pattern472 (x2,
10609 : : E_V8SFmode,
10610 : : E_QImode) != 0
10611 : : || !(
10612 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10613 : : (TARGET_AVX512F) && (
10614 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10615 : : (TARGET_AVX512DQ && 1) &&
10616 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10617 : : (TARGET_AVX512VL))))
10618 : : return -1;
10619 : : return 9962; /* avx512dq_rangepv8sf_mask */
10620 : :
10621 : : case E_V4SFmode:
10622 : : if (pattern472 (x2,
10623 : : E_V4SFmode,
10624 : : E_QImode) != 0
10625 : : || !(
10626 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10627 : : (TARGET_AVX512F) && (
10628 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10629 : : (TARGET_AVX512DQ && 1) &&
10630 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10631 : : (TARGET_AVX512VL))))
10632 : : return -1;
10633 : : return 9965; /* avx512dq_rangepv4sf_mask */
10634 : :
10635 : : case E_V8DFmode:
10636 : : if (pattern472 (x2,
10637 : : E_V8DFmode,
10638 : : E_QImode) != 0
10639 : : || !(
10640 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10641 : : (TARGET_AVX512F) && (
10642 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10643 : : (TARGET_AVX512DQ && 1) &&
10644 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10645 : : (TARGET_EVEX512))))
10646 : : return -1;
10647 : : return 9968; /* avx512dq_rangepv8df_mask */
10648 : :
10649 : : case E_V4DFmode:
10650 : : if (pattern472 (x2,
10651 : : E_V4DFmode,
10652 : : E_QImode) != 0
10653 : : || !(
10654 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10655 : : (TARGET_AVX512F) && (
10656 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10657 : : (TARGET_AVX512DQ && 1) &&
10658 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10659 : : (TARGET_AVX512VL))))
10660 : : return -1;
10661 : : return 9972; /* avx512dq_rangepv4df_mask */
10662 : :
10663 : : case E_V2DFmode:
10664 : : if (pattern472 (x2,
10665 : : E_V2DFmode,
10666 : : E_QImode) != 0
10667 : : || !(
10668 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10669 : : (TARGET_AVX512F) && (
10670 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10671 : : (TARGET_AVX512DQ && 1) &&
10672 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10673 : : (TARGET_AVX512VL))))
10674 : : return -1;
10675 : : return 9975; /* avx512dq_rangepv2df_mask */
10676 : :
10677 : : default:
10678 : : return -1;
10679 : : }
10680 : :
10681 : : case CONST_INT:
10682 : : if (XWINT (x7, 0) != 1L)
10683 : : return -1;
10684 : : switch (pattern1106 (x2))
10685 : : {
10686 : : case 0:
10687 : : if (!
10688 : : #line 29835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10689 : : (TARGET_AVX512DQ))
10690 : : return -1;
10691 : : return 9976; /* avx512dq_rangesv4sf */
10692 : :
10693 : : case 1:
10694 : : if (!(
10695 : : #line 29835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10696 : : (TARGET_AVX512DQ) &&
10697 : : #line 475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10698 : : (TARGET_SSE2)))
10699 : : return -1;
10700 : : return 9980; /* avx512dq_rangesv2df */
10701 : :
10702 : : default:
10703 : : return -1;
10704 : : }
10705 : :
10706 : : default:
10707 : : return -1;
10708 : : }
10709 : : }
10710 : :
10711 : : int
10712 : : recog_143 (rtx x1 ATTRIBUTE_UNUSED,
10713 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10714 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10715 : : {
10716 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10717 : : rtx x2, x3, x4, x5, x6, x7, x8;
10718 : : int res ATTRIBUTE_UNUSED;
10719 : : x2 = XEXP (x1, 1);
10720 : : x3 = XEXP (x2, 0);
10721 : : switch (XINT (x3, 1))
10722 : : {
10723 : : case 192:
10724 : : x4 = XEXP (x2, 2);
10725 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
10726 : : return -1;
10727 : : x5 = XVECEXP (x3, 0, 0);
10728 : : operands[1] = x5;
10729 : : x6 = XVECEXP (x3, 0, 1);
10730 : : operands[2] = x6;
10731 : : x7 = XVECEXP (x3, 0, 2);
10732 : : operands[3] = x7;
10733 : : if (!const_0_to_255_operand (operands[3], E_SImode))
10734 : : return -1;
10735 : : switch (pattern457 (x2))
10736 : : {
10737 : : case 0:
10738 : : if (!(
10739 : : #line 4041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10740 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
10741 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10742 : : (TARGET_AVX512FP16)))
10743 : : return -1;
10744 : : return 3219; /* reducesv8hf */
10745 : :
10746 : : case 1:
10747 : : if (!
10748 : : #line 4041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10749 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))))
10750 : : return -1;
10751 : : return 3223; /* reducesv4sf */
10752 : :
10753 : : case 2:
10754 : : if (!(
10755 : : #line 4041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10756 : : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
10757 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10758 : : (TARGET_SSE2)))
10759 : : return -1;
10760 : : return 3227; /* reducesv2df */
10761 : :
10762 : : default:
10763 : : return -1;
10764 : : }
10765 : :
10766 : : case 59:
10767 : : x4 = XEXP (x2, 2);
10768 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
10769 : : return -1;
10770 : : x5 = XVECEXP (x3, 0, 0);
10771 : : operands[1] = x5;
10772 : : x6 = XVECEXP (x3, 0, 1);
10773 : : operands[2] = x6;
10774 : : x7 = XVECEXP (x3, 0, 2);
10775 : : operands[3] = x7;
10776 : : if (!cmpps_imm_operand (operands[3], E_SImode))
10777 : : return -1;
10778 : : switch (pattern1106 (x2))
10779 : : {
10780 : : case 0:
10781 : : if (!
10782 : : #line 4314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10783 : : (TARGET_SSE))
10784 : : return -1;
10785 : : return 3263; /* avx_vmcmpv4sf3 */
10786 : :
10787 : : case 1:
10788 : : if (!(
10789 : : #line 4314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10790 : : (TARGET_SSE) &&
10791 : : #line 475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10792 : : (TARGET_SSE2)))
10793 : : return -1;
10794 : : return 3264; /* avx_vmcmpv2df3 */
10795 : :
10796 : : default:
10797 : : return -1;
10798 : : }
10799 : :
10800 : : case 133:
10801 : : return recog_133 (x1, insn, pnum_clobbers);
10802 : :
10803 : : case 217:
10804 : : switch (pattern471 (x2))
10805 : : {
10806 : : case 0:
10807 : : if (!(
10808 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10809 : : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && 1) &&
10810 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10811 : : (TARGET_EVEX512)))
10812 : : return -1;
10813 : : return 4323; /* fma_fmaddc_v32hf_maskz_1 */
10814 : :
10815 : : case 1:
10816 : : if (!(
10817 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10818 : : (TARGET_AVX512FP16 && (32 == 64 || TARGET_AVX512VL) && 1) &&
10819 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10820 : : (TARGET_AVX512VL)))
10821 : : return -1;
10822 : : return 4331; /* fma_fmaddc_v16hf_maskz_1 */
10823 : :
10824 : : case 2:
10825 : : if (!(
10826 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10827 : : (TARGET_AVX512FP16 && (16 == 64 || TARGET_AVX512VL) && 1) &&
10828 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10829 : : (TARGET_AVX512VL)))
10830 : : return -1;
10831 : : return 4338; /* fma_fmaddc_v8hf_maskz_1 */
10832 : :
10833 : : case 3:
10834 : : if (!(
10835 : : #line 7285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10836 : : (TARGET_AVX512FP16 && 1) &&
10837 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10838 : : (TARGET_EVEX512)))
10839 : : return -1;
10840 : : return 4365; /* avx512bw_fmaddc_v32hf_mask */
10841 : :
10842 : : case 4:
10843 : : if (!(
10844 : : #line 7285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10845 : : (TARGET_AVX512FP16 && 1) &&
10846 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10847 : : (TARGET_AVX512VL)))
10848 : : return -1;
10849 : : return 4369; /* avx512vl_fmaddc_v16hf_mask */
10850 : :
10851 : : case 5:
10852 : : if (!(
10853 : : #line 7285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10854 : : (TARGET_AVX512FP16 && 1) &&
10855 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10856 : : (TARGET_AVX512VL)))
10857 : : return -1;
10858 : : return 4373; /* avx512fp16_fmaddc_v8hf_mask */
10859 : :
10860 : : case 6:
10861 : : if (!
10862 : : #line 7474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10863 : : (TARGET_AVX512FP16))
10864 : : return -1;
10865 : : return 4395; /* avx512fp16_fma_fmaddcsh_v8hf */
10866 : :
10867 : : default:
10868 : : return -1;
10869 : : }
10870 : :
10871 : : case 219:
10872 : : switch (pattern471 (x2))
10873 : : {
10874 : : case 0:
10875 : : if (!(
10876 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10877 : : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && 1) &&
10878 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10879 : : (TARGET_EVEX512)))
10880 : : return -1;
10881 : : return 4327; /* fma_fcmaddc_v32hf_maskz_1 */
10882 : :
10883 : : case 1:
10884 : : if (!(
10885 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10886 : : (TARGET_AVX512FP16 && (32 == 64 || TARGET_AVX512VL) && 1) &&
10887 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10888 : : (TARGET_AVX512VL)))
10889 : : return -1;
10890 : : return 4335; /* fma_fcmaddc_v16hf_maskz_1 */
10891 : :
10892 : : case 2:
10893 : : if (!(
10894 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10895 : : (TARGET_AVX512FP16 && (16 == 64 || TARGET_AVX512VL) && 1) &&
10896 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10897 : : (TARGET_AVX512VL)))
10898 : : return -1;
10899 : : return 4340; /* fma_fcmaddc_v8hf_maskz_1 */
10900 : :
10901 : : case 3:
10902 : : if (!(
10903 : : #line 7285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10904 : : (TARGET_AVX512FP16 && 1) &&
10905 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10906 : : (TARGET_EVEX512)))
10907 : : return -1;
10908 : : return 4367; /* avx512bw_fcmaddc_v32hf_mask */
10909 : :
10910 : : case 4:
10911 : : if (!(
10912 : : #line 7285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10913 : : (TARGET_AVX512FP16 && 1) &&
10914 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10915 : : (TARGET_AVX512VL)))
10916 : : return -1;
10917 : : return 4371; /* avx512vl_fcmaddc_v16hf_mask */
10918 : :
10919 : : case 5:
10920 : : if (!(
10921 : : #line 7285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10922 : : (TARGET_AVX512FP16 && 1) &&
10923 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10924 : : (TARGET_AVX512VL)))
10925 : : return -1;
10926 : : return 4374; /* avx512fp16_fcmaddc_v8hf_mask */
10927 : :
10928 : : case 6:
10929 : : if (!
10930 : : #line 7474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10931 : : (TARGET_AVX512FP16))
10932 : : return -1;
10933 : : return 4399; /* avx512fp16_fma_fcmaddcsh_v8hf */
10934 : :
10935 : : default:
10936 : : return -1;
10937 : : }
10938 : :
10939 : : case 167:
10940 : : return recog_140 (x1, insn, pnum_clobbers);
10941 : :
10942 : : case 121:
10943 : : x5 = XVECEXP (x3, 0, 0);
10944 : : operands[1] = x5;
10945 : : x6 = XVECEXP (x3, 0, 1);
10946 : : operands[2] = x6;
10947 : : x7 = XVECEXP (x3, 0, 2);
10948 : : operands[3] = x7;
10949 : : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
10950 : : return -1;
10951 : : x8 = XEXP (x2, 1);
10952 : : operands[4] = x8;
10953 : : x4 = XEXP (x2, 2);
10954 : : operands[5] = x4;
10955 : : switch (GET_MODE (operands[0]))
10956 : : {
10957 : : case E_V64QImode:
10958 : : if (pattern477 (x2,
10959 : : E_V64QImode,
10960 : : E_DImode) != 0
10961 : : || !(
10962 : : #line 23223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10963 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
10964 : : #line 633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10965 : : (TARGET_AVX512BW && TARGET_EVEX512)))
10966 : : return -1;
10967 : : return 8637; /* avx512bw_palignrv64qi_mask */
10968 : :
10969 : : case E_V32QImode:
10970 : : if (pattern477 (x2,
10971 : : E_V32QImode,
10972 : : E_SImode) != 0
10973 : : || !(
10974 : : #line 23223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10975 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10976 : : #line 633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10977 : : (TARGET_AVX2)))
10978 : : return -1;
10979 : : return 8638; /* avx2_palignrv32qi_mask */
10980 : :
10981 : : case E_V16QImode:
10982 : : if (pattern477 (x2,
10983 : : E_V16QImode,
10984 : : E_HImode) != 0
10985 : : || !
10986 : : #line 23223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10987 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)))
10988 : : return -1;
10989 : : return 8639; /* ssse3_palignrv16qi_mask */
10990 : :
10991 : : default:
10992 : : return -1;
10993 : : }
10994 : :
10995 : : case 128:
10996 : : switch (pattern473 (x2,
10997 : : E_SImode))
10998 : : {
10999 : : case 0:
11000 : : if (!(
11001 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11002 : : (TARGET_AVX512F) &&
11003 : : #line 23817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11004 : : (TARGET_AVX10_2_512)))
11005 : : return -1;
11006 : : return 8720; /* avx10_2_mpsadbw_mask */
11007 : :
11008 : : case 1:
11009 : : if (!(
11010 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11011 : : (TARGET_AVX512F) && (
11012 : : #line 23829 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11013 : : (TARGET_AVX10_2_256) &&
11014 : : #line 601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11015 : : (TARGET_AVX))))
11016 : : return -1;
11017 : : return 8722; /* avx2_mpsadbw_mask */
11018 : :
11019 : : case 2:
11020 : : if (!(
11021 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11022 : : (TARGET_AVX512F) &&
11023 : : #line 23829 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11024 : : (TARGET_AVX10_2_256)))
11025 : : return -1;
11026 : : return 8724; /* sse4_1_mpsadbw_mask */
11027 : :
11028 : : default:
11029 : : return -1;
11030 : : }
11031 : :
11032 : : case 155:
11033 : : return recog_132 (x1, insn, pnum_clobbers);
11034 : :
11035 : : case 194:
11036 : : return recog_137 (x1, insn, pnum_clobbers);
11037 : :
11038 : : case 166:
11039 : : x4 = XEXP (x2, 2);
11040 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11041 : : return -1;
11042 : : x5 = XVECEXP (x3, 0, 0);
11043 : : operands[1] = x5;
11044 : : x6 = XVECEXP (x3, 0, 1);
11045 : : operands[2] = x6;
11046 : : x7 = XVECEXP (x3, 0, 2);
11047 : : operands[3] = x7;
11048 : : if (!const_0_to_15_operand (operands[3], E_SImode))
11049 : : return -1;
11050 : : switch (pattern457 (x2))
11051 : : {
11052 : : case 0:
11053 : : if (!(
11054 : : #line 29903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11055 : : (TARGET_AVX512F) &&
11056 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11057 : : (TARGET_AVX512FP16)))
11058 : : return -1;
11059 : : return 10038; /* avx512f_vgetmantv8hf */
11060 : :
11061 : : case 1:
11062 : : if (!
11063 : : #line 29903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11064 : : (TARGET_AVX512F))
11065 : : return -1;
11066 : : return 10042; /* avx512f_vgetmantv4sf */
11067 : :
11068 : : case 2:
11069 : : if (!(
11070 : : #line 29903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11071 : : (TARGET_AVX512F) &&
11072 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11073 : : (TARGET_SSE2)))
11074 : : return -1;
11075 : : return 10046; /* avx512f_vgetmantv2df */
11076 : :
11077 : : default:
11078 : : return -1;
11079 : : }
11080 : :
11081 : : case 186:
11082 : : x5 = XVECEXP (x3, 0, 0);
11083 : : operands[1] = x5;
11084 : : x6 = XVECEXP (x3, 0, 1);
11085 : : operands[2] = x6;
11086 : : x7 = XVECEXP (x3, 0, 2);
11087 : : operands[3] = x7;
11088 : : if (!const_0_to_255_operand (operands[3], E_SImode))
11089 : : return -1;
11090 : : x8 = XEXP (x2, 1);
11091 : : operands[4] = x8;
11092 : : x4 = XEXP (x2, 2);
11093 : : operands[5] = x4;
11094 : : switch (GET_MODE (operands[0]))
11095 : : {
11096 : : case E_V8HImode:
11097 : : if (pattern1280 (x2,
11098 : : E_QImode,
11099 : : E_V8HImode,
11100 : : E_V16QImode) != 0
11101 : : || !(
11102 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11103 : : (TARGET_AVX512F) && (
11104 : : #line 29924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11105 : : (TARGET_AVX512BW) &&
11106 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11107 : : (TARGET_AVX512VL))))
11108 : : return -1;
11109 : : return 10051; /* avx512bw_dbpsadbwv8hi_mask */
11110 : :
11111 : : case E_V16HImode:
11112 : : if (pattern1280 (x2,
11113 : : E_HImode,
11114 : : E_V16HImode,
11115 : : E_V32QImode) != 0
11116 : : || !(
11117 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11118 : : (TARGET_AVX512F) && (
11119 : : #line 29924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11120 : : (TARGET_AVX512BW) &&
11121 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11122 : : (TARGET_AVX512VL))))
11123 : : return -1;
11124 : : return 10053; /* avx512bw_dbpsadbwv16hi_mask */
11125 : :
11126 : : case E_V32HImode:
11127 : : if (pattern1280 (x2,
11128 : : E_SImode,
11129 : : E_V32HImode,
11130 : : E_V64QImode) != 0
11131 : : || !(
11132 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11133 : : (TARGET_AVX512F) && (
11134 : : #line 29924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11135 : : (TARGET_AVX512BW) &&
11136 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11137 : : (TARGET_EVEX512))))
11138 : : return -1;
11139 : : return 10055; /* avx512bw_dbpsadbwv32hi_mask */
11140 : :
11141 : : default:
11142 : : return -1;
11143 : : }
11144 : :
11145 : : case 195:
11146 : : switch (pattern476 (x2))
11147 : : {
11148 : : case 0:
11149 : : if (!(
11150 : : #line 30242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11151 : : (TARGET_AVX512IFMA) &&
11152 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11153 : : (TARGET_EVEX512)))
11154 : : return -1;
11155 : : return 10111; /* vpmadd52luqv8di_maskz_1 */
11156 : :
11157 : : case 1:
11158 : : if (!(
11159 : : #line 30242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11160 : : (TARGET_AVX512IFMA) &&
11161 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11162 : : (TARGET_AVX512VL)))
11163 : : return -1;
11164 : : return 10113; /* vpmadd52luqv4di_maskz_1 */
11165 : :
11166 : : case 2:
11167 : : if (!(
11168 : : #line 30242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11169 : : (TARGET_AVX512IFMA) &&
11170 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11171 : : (TARGET_AVX512VL)))
11172 : : return -1;
11173 : : return 10115; /* vpmadd52luqv2di_maskz_1 */
11174 : :
11175 : : case 3:
11176 : : if (!(
11177 : : #line 30258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11178 : : (TARGET_AVX512IFMA) &&
11179 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11180 : : (TARGET_EVEX512)))
11181 : : return -1;
11182 : : return 10117; /* vpmadd52luqv8di_mask */
11183 : :
11184 : : case 4:
11185 : : if (!(
11186 : : #line 30258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11187 : : (TARGET_AVX512IFMA) &&
11188 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11189 : : (TARGET_AVX512VL)))
11190 : : return -1;
11191 : : return 10119; /* vpmadd52luqv4di_mask */
11192 : :
11193 : : case 5:
11194 : : if (!(
11195 : : #line 30258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11196 : : (TARGET_AVX512IFMA) &&
11197 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11198 : : (TARGET_AVX512VL)))
11199 : : return -1;
11200 : : return 10121; /* vpmadd52luqv2di_mask */
11201 : :
11202 : : default:
11203 : : return -1;
11204 : : }
11205 : :
11206 : : case 196:
11207 : : switch (pattern476 (x2))
11208 : : {
11209 : : case 0:
11210 : : if (!(
11211 : : #line 30242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11212 : : (TARGET_AVX512IFMA) &&
11213 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11214 : : (TARGET_EVEX512)))
11215 : : return -1;
11216 : : return 10112; /* vpmadd52huqv8di_maskz_1 */
11217 : :
11218 : : case 1:
11219 : : if (!(
11220 : : #line 30242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11221 : : (TARGET_AVX512IFMA) &&
11222 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11223 : : (TARGET_AVX512VL)))
11224 : : return -1;
11225 : : return 10114; /* vpmadd52huqv4di_maskz_1 */
11226 : :
11227 : : case 2:
11228 : : if (!(
11229 : : #line 30242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11230 : : (TARGET_AVX512IFMA) &&
11231 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11232 : : (TARGET_AVX512VL)))
11233 : : return -1;
11234 : : return 10116; /* vpmadd52huqv2di_maskz_1 */
11235 : :
11236 : : case 3:
11237 : : if (!(
11238 : : #line 30258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11239 : : (TARGET_AVX512IFMA) &&
11240 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11241 : : (TARGET_EVEX512)))
11242 : : return -1;
11243 : : return 10118; /* vpmadd52huqv8di_mask */
11244 : :
11245 : : case 4:
11246 : : if (!(
11247 : : #line 30258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11248 : : (TARGET_AVX512IFMA) &&
11249 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11250 : : (TARGET_AVX512VL)))
11251 : : return -1;
11252 : : return 10120; /* vpmadd52huqv4di_mask */
11253 : :
11254 : : case 5:
11255 : : if (!(
11256 : : #line 30258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11257 : : (TARGET_AVX512IFMA) &&
11258 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11259 : : (TARGET_AVX512VL)))
11260 : : return -1;
11261 : : return 10122; /* vpmadd52huqv2di_mask */
11262 : :
11263 : : default:
11264 : : return -1;
11265 : : }
11266 : :
11267 : : case 198:
11268 : : switch (pattern473 (x2,
11269 : : E_VOIDmode))
11270 : : {
11271 : : case 0:
11272 : : if (!(
11273 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11274 : : (TARGET_AVX512F) && (
11275 : : #line 30346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11276 : : (TARGET_GFNI) &&
11277 : : #line 636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11278 : : (TARGET_AVX512F && TARGET_EVEX512))))
11279 : : return -1;
11280 : : return 10162; /* vgf2p8affineinvqb_v64qi_mask */
11281 : :
11282 : : case 1:
11283 : : if (!(
11284 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11285 : : (TARGET_AVX512F) && (
11286 : : #line 30346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11287 : : (TARGET_GFNI) &&
11288 : : #line 636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11289 : : (TARGET_AVX))))
11290 : : return -1;
11291 : : return 10164; /* vgf2p8affineinvqb_v32qi_mask */
11292 : :
11293 : : case 2:
11294 : : if (!(
11295 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11296 : : (TARGET_AVX512F) &&
11297 : : #line 30346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11298 : : (TARGET_GFNI)))
11299 : : return -1;
11300 : : return 10166; /* vgf2p8affineinvqb_v16qi_mask */
11301 : :
11302 : : default:
11303 : : return -1;
11304 : : }
11305 : :
11306 : : case 199:
11307 : : switch (pattern473 (x2,
11308 : : E_VOIDmode))
11309 : : {
11310 : : case 0:
11311 : : if (!(
11312 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11313 : : (TARGET_AVX512F) && (
11314 : : #line 30363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11315 : : (TARGET_GFNI) &&
11316 : : #line 636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11317 : : (TARGET_AVX512F && TARGET_EVEX512))))
11318 : : return -1;
11319 : : return 10168; /* vgf2p8affineqb_v64qi_mask */
11320 : :
11321 : : case 1:
11322 : : if (!(
11323 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11324 : : (TARGET_AVX512F) && (
11325 : : #line 30363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11326 : : (TARGET_GFNI) &&
11327 : : #line 636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11328 : : (TARGET_AVX))))
11329 : : return -1;
11330 : : return 10170; /* vgf2p8affineqb_v32qi_mask */
11331 : :
11332 : : case 2:
11333 : : if (!(
11334 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11335 : : (TARGET_AVX512F) &&
11336 : : #line 30363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11337 : : (TARGET_GFNI)))
11338 : : return -1;
11339 : : return 10172; /* vgf2p8affineqb_v16qi_mask */
11340 : :
11341 : : default:
11342 : : return -1;
11343 : : }
11344 : :
11345 : : case 202:
11346 : : return recog_141 (x1, insn, pnum_clobbers);
11347 : :
11348 : : case 201:
11349 : : return recog_142 (x1, insn, pnum_clobbers);
11350 : :
11351 : : case 203:
11352 : : return recog_136 (x1, insn, pnum_clobbers);
11353 : :
11354 : : case 204:
11355 : : return recog_135 (x1, insn, pnum_clobbers);
11356 : :
11357 : : case 205:
11358 : : switch (pattern483 (x2))
11359 : : {
11360 : : case 0:
11361 : : if (!(
11362 : : #line 30609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11363 : : (TARGET_AVX512VNNI) &&
11364 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11365 : : (TARGET_EVEX512)))
11366 : : return -1;
11367 : : return 10272; /* vpdpbusd_v16si_mask */
11368 : :
11369 : : case 1:
11370 : : if (!(
11371 : : #line 30609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11372 : : (TARGET_AVX512VNNI) &&
11373 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11374 : : (TARGET_AVX512VL)))
11375 : : return -1;
11376 : : return 10273; /* vpdpbusd_v8si_mask */
11377 : :
11378 : : case 2:
11379 : : if (!(
11380 : : #line 30609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11381 : : (TARGET_AVX512VNNI) &&
11382 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11383 : : (TARGET_AVX512VL)))
11384 : : return -1;
11385 : : return 10274; /* vpdpbusd_v4si_mask */
11386 : :
11387 : : case 3:
11388 : : if (!(
11389 : : #line 30638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11390 : : (TARGET_AVX512VNNI) &&
11391 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11392 : : (TARGET_EVEX512)))
11393 : : return -1;
11394 : : return 10275; /* vpdpbusd_v16si_maskz_1 */
11395 : :
11396 : : case 4:
11397 : : if (!(
11398 : : #line 30638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11399 : : (TARGET_AVX512VNNI) &&
11400 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11401 : : (TARGET_AVX512VL)))
11402 : : return -1;
11403 : : return 10276; /* vpdpbusd_v8si_maskz_1 */
11404 : :
11405 : : case 5:
11406 : : if (!(
11407 : : #line 30638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11408 : : (TARGET_AVX512VNNI) &&
11409 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11410 : : (TARGET_AVX512VL)))
11411 : : return -1;
11412 : : return 10277; /* vpdpbusd_v4si_maskz_1 */
11413 : :
11414 : : default:
11415 : : return -1;
11416 : : }
11417 : :
11418 : : case 206:
11419 : : switch (pattern483 (x2))
11420 : : {
11421 : : case 0:
11422 : : if (!(
11423 : : #line 30678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11424 : : (TARGET_AVX512VNNI) &&
11425 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11426 : : (TARGET_EVEX512)))
11427 : : return -1;
11428 : : return 10281; /* vpdpbusds_v16si_mask */
11429 : :
11430 : : case 1:
11431 : : if (!(
11432 : : #line 30678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11433 : : (TARGET_AVX512VNNI) &&
11434 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11435 : : (TARGET_AVX512VL)))
11436 : : return -1;
11437 : : return 10282; /* vpdpbusds_v8si_mask */
11438 : :
11439 : : case 2:
11440 : : if (!(
11441 : : #line 30678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11442 : : (TARGET_AVX512VNNI) &&
11443 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : : (TARGET_AVX512VL)))
11445 : : return -1;
11446 : : return 10283; /* vpdpbusds_v4si_mask */
11447 : :
11448 : : case 3:
11449 : : if (!(
11450 : : #line 30707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11451 : : (TARGET_AVX512VNNI) &&
11452 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11453 : : (TARGET_EVEX512)))
11454 : : return -1;
11455 : : return 10284; /* vpdpbusds_v16si_maskz_1 */
11456 : :
11457 : : case 4:
11458 : : if (!(
11459 : : #line 30707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11460 : : (TARGET_AVX512VNNI) &&
11461 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11462 : : (TARGET_AVX512VL)))
11463 : : return -1;
11464 : : return 10285; /* vpdpbusds_v8si_maskz_1 */
11465 : :
11466 : : case 5:
11467 : : if (!(
11468 : : #line 30707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11469 : : (TARGET_AVX512VNNI) &&
11470 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11471 : : (TARGET_AVX512VL)))
11472 : : return -1;
11473 : : return 10286; /* vpdpbusds_v4si_maskz_1 */
11474 : :
11475 : : default:
11476 : : return -1;
11477 : : }
11478 : :
11479 : : case 207:
11480 : : switch (pattern483 (x2))
11481 : : {
11482 : : case 0:
11483 : : if (!(
11484 : : #line 30747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11485 : : (TARGET_AVX512VNNI) &&
11486 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11487 : : (TARGET_EVEX512)))
11488 : : return -1;
11489 : : return 10290; /* vpdpwssd_v16si_mask */
11490 : :
11491 : : case 1:
11492 : : if (!(
11493 : : #line 30747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11494 : : (TARGET_AVX512VNNI) &&
11495 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11496 : : (TARGET_AVX512VL)))
11497 : : return -1;
11498 : : return 10291; /* vpdpwssd_v8si_mask */
11499 : :
11500 : : case 2:
11501 : : if (!(
11502 : : #line 30747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11503 : : (TARGET_AVX512VNNI) &&
11504 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11505 : : (TARGET_AVX512VL)))
11506 : : return -1;
11507 : : return 10292; /* vpdpwssd_v4si_mask */
11508 : :
11509 : : case 3:
11510 : : if (!(
11511 : : #line 30776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11512 : : (TARGET_AVX512VNNI) &&
11513 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11514 : : (TARGET_EVEX512)))
11515 : : return -1;
11516 : : return 10293; /* vpdpwssd_v16si_maskz_1 */
11517 : :
11518 : : case 4:
11519 : : if (!(
11520 : : #line 30776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11521 : : (TARGET_AVX512VNNI) &&
11522 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11523 : : (TARGET_AVX512VL)))
11524 : : return -1;
11525 : : return 10294; /* vpdpwssd_v8si_maskz_1 */
11526 : :
11527 : : case 5:
11528 : : if (!(
11529 : : #line 30776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11530 : : (TARGET_AVX512VNNI) &&
11531 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11532 : : (TARGET_AVX512VL)))
11533 : : return -1;
11534 : : return 10295; /* vpdpwssd_v4si_maskz_1 */
11535 : :
11536 : : default:
11537 : : return -1;
11538 : : }
11539 : :
11540 : : case 208:
11541 : : switch (pattern483 (x2))
11542 : : {
11543 : : case 0:
11544 : : if (!(
11545 : : #line 30816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11546 : : (TARGET_AVX512VNNI) &&
11547 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11548 : : (TARGET_EVEX512)))
11549 : : return -1;
11550 : : return 10299; /* vpdpwssds_v16si_mask */
11551 : :
11552 : : case 1:
11553 : : if (!(
11554 : : #line 30816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11555 : : (TARGET_AVX512VNNI) &&
11556 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11557 : : (TARGET_AVX512VL)))
11558 : : return -1;
11559 : : return 10300; /* vpdpwssds_v8si_mask */
11560 : :
11561 : : case 2:
11562 : : if (!(
11563 : : #line 30816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11564 : : (TARGET_AVX512VNNI) &&
11565 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11566 : : (TARGET_AVX512VL)))
11567 : : return -1;
11568 : : return 10301; /* vpdpwssds_v4si_mask */
11569 : :
11570 : : case 3:
11571 : : if (!(
11572 : : #line 30845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11573 : : (TARGET_AVX512VNNI) &&
11574 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11575 : : (TARGET_EVEX512)))
11576 : : return -1;
11577 : : return 10302; /* vpdpwssds_v16si_maskz_1 */
11578 : :
11579 : : case 4:
11580 : : if (!(
11581 : : #line 30845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11582 : : (TARGET_AVX512VNNI) &&
11583 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11584 : : (TARGET_AVX512VL)))
11585 : : return -1;
11586 : : return 10303; /* vpdpwssds_v8si_maskz_1 */
11587 : :
11588 : : case 5:
11589 : : if (!(
11590 : : #line 30845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11591 : : (TARGET_AVX512VNNI) &&
11592 : : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11593 : : (TARGET_AVX512VL)))
11594 : : return -1;
11595 : : return 10304; /* vpdpwssds_v4si_maskz_1 */
11596 : :
11597 : : default:
11598 : : return -1;
11599 : : }
11600 : :
11601 : : case 216:
11602 : : return recog_138 (x1, insn, pnum_clobbers);
11603 : :
11604 : : case 227:
11605 : : switch (pattern485 (x2))
11606 : : {
11607 : : case 0:
11608 : : if (!(
11609 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11610 : : (TARGET_AVX10_2_256) &&
11611 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11612 : : (TARGET_AVX10_2_512)))
11613 : : return -1;
11614 : : return 10385; /* vpdpbssd_v16si_mask */
11615 : :
11616 : : case 1:
11617 : : if (!
11618 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11619 : : (TARGET_AVX10_2_256))
11620 : : return -1;
11621 : : return 10391; /* vpdpbssd_v8si_mask */
11622 : :
11623 : : case 2:
11624 : : if (!
11625 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11626 : : (TARGET_AVX10_2_256))
11627 : : return -1;
11628 : : return 10397; /* vpdpbssd_v4si_mask */
11629 : :
11630 : : case 3:
11631 : : if (!(
11632 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11633 : : (TARGET_AVX10_2_256) &&
11634 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11635 : : (TARGET_AVX10_2_512)))
11636 : : return -1;
11637 : : return 10403; /* *vpdpbssd_v16si_maskz */
11638 : :
11639 : : case 4:
11640 : : if (!
11641 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11642 : : (TARGET_AVX10_2_256))
11643 : : return -1;
11644 : : return 10409; /* *vpdpbssd_v8si_maskz */
11645 : :
11646 : : case 5:
11647 : : if (!
11648 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11649 : : (TARGET_AVX10_2_256))
11650 : : return -1;
11651 : : return 10415; /* *vpdpbssd_v4si_maskz */
11652 : :
11653 : : default:
11654 : : return -1;
11655 : : }
11656 : :
11657 : : case 228:
11658 : : switch (pattern485 (x2))
11659 : : {
11660 : : case 0:
11661 : : if (!(
11662 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11663 : : (TARGET_AVX10_2_256) &&
11664 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11665 : : (TARGET_AVX10_2_512)))
11666 : : return -1;
11667 : : return 10386; /* vpdpbssds_v16si_mask */
11668 : :
11669 : : case 1:
11670 : : if (!
11671 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11672 : : (TARGET_AVX10_2_256))
11673 : : return -1;
11674 : : return 10392; /* vpdpbssds_v8si_mask */
11675 : :
11676 : : case 2:
11677 : : if (!
11678 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11679 : : (TARGET_AVX10_2_256))
11680 : : return -1;
11681 : : return 10398; /* vpdpbssds_v4si_mask */
11682 : :
11683 : : case 3:
11684 : : if (!(
11685 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11686 : : (TARGET_AVX10_2_256) &&
11687 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11688 : : (TARGET_AVX10_2_512)))
11689 : : return -1;
11690 : : return 10404; /* *vpdpbssds_v16si_maskz */
11691 : :
11692 : : case 4:
11693 : : if (!
11694 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11695 : : (TARGET_AVX10_2_256))
11696 : : return -1;
11697 : : return 10410; /* *vpdpbssds_v8si_maskz */
11698 : :
11699 : : case 5:
11700 : : if (!
11701 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11702 : : (TARGET_AVX10_2_256))
11703 : : return -1;
11704 : : return 10416; /* *vpdpbssds_v4si_maskz */
11705 : :
11706 : : default:
11707 : : return -1;
11708 : : }
11709 : :
11710 : : case 229:
11711 : : switch (pattern485 (x2))
11712 : : {
11713 : : case 0:
11714 : : if (!(
11715 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11716 : : (TARGET_AVX10_2_256) &&
11717 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11718 : : (TARGET_AVX10_2_512)))
11719 : : return -1;
11720 : : return 10387; /* vpdpbsud_v16si_mask */
11721 : :
11722 : : case 1:
11723 : : if (!
11724 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11725 : : (TARGET_AVX10_2_256))
11726 : : return -1;
11727 : : return 10393; /* vpdpbsud_v8si_mask */
11728 : :
11729 : : case 2:
11730 : : if (!
11731 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11732 : : (TARGET_AVX10_2_256))
11733 : : return -1;
11734 : : return 10399; /* vpdpbsud_v4si_mask */
11735 : :
11736 : : case 3:
11737 : : if (!(
11738 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11739 : : (TARGET_AVX10_2_256) &&
11740 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11741 : : (TARGET_AVX10_2_512)))
11742 : : return -1;
11743 : : return 10405; /* *vpdpbsud_v16si_maskz */
11744 : :
11745 : : case 4:
11746 : : if (!
11747 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11748 : : (TARGET_AVX10_2_256))
11749 : : return -1;
11750 : : return 10411; /* *vpdpbsud_v8si_maskz */
11751 : :
11752 : : case 5:
11753 : : if (!
11754 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11755 : : (TARGET_AVX10_2_256))
11756 : : return -1;
11757 : : return 10417; /* *vpdpbsud_v4si_maskz */
11758 : :
11759 : : default:
11760 : : return -1;
11761 : : }
11762 : :
11763 : : case 230:
11764 : : switch (pattern485 (x2))
11765 : : {
11766 : : case 0:
11767 : : if (!(
11768 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11769 : : (TARGET_AVX10_2_256) &&
11770 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11771 : : (TARGET_AVX10_2_512)))
11772 : : return -1;
11773 : : return 10388; /* vpdpbsuds_v16si_mask */
11774 : :
11775 : : case 1:
11776 : : if (!
11777 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11778 : : (TARGET_AVX10_2_256))
11779 : : return -1;
11780 : : return 10394; /* vpdpbsuds_v8si_mask */
11781 : :
11782 : : case 2:
11783 : : if (!
11784 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11785 : : (TARGET_AVX10_2_256))
11786 : : return -1;
11787 : : return 10400; /* vpdpbsuds_v4si_mask */
11788 : :
11789 : : case 3:
11790 : : if (!(
11791 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11792 : : (TARGET_AVX10_2_256) &&
11793 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11794 : : (TARGET_AVX10_2_512)))
11795 : : return -1;
11796 : : return 10406; /* *vpdpbsuds_v16si_maskz */
11797 : :
11798 : : case 4:
11799 : : if (!
11800 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11801 : : (TARGET_AVX10_2_256))
11802 : : return -1;
11803 : : return 10412; /* *vpdpbsuds_v8si_maskz */
11804 : :
11805 : : case 5:
11806 : : if (!
11807 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11808 : : (TARGET_AVX10_2_256))
11809 : : return -1;
11810 : : return 10418; /* *vpdpbsuds_v4si_maskz */
11811 : :
11812 : : default:
11813 : : return -1;
11814 : : }
11815 : :
11816 : : case 231:
11817 : : switch (pattern485 (x2))
11818 : : {
11819 : : case 0:
11820 : : if (!(
11821 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11822 : : (TARGET_AVX10_2_256) &&
11823 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11824 : : (TARGET_AVX10_2_512)))
11825 : : return -1;
11826 : : return 10389; /* vpdpbuud_v16si_mask */
11827 : :
11828 : : case 1:
11829 : : if (!
11830 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11831 : : (TARGET_AVX10_2_256))
11832 : : return -1;
11833 : : return 10395; /* vpdpbuud_v8si_mask */
11834 : :
11835 : : case 2:
11836 : : if (!
11837 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11838 : : (TARGET_AVX10_2_256))
11839 : : return -1;
11840 : : return 10401; /* vpdpbuud_v4si_mask */
11841 : :
11842 : : case 3:
11843 : : if (!(
11844 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11845 : : (TARGET_AVX10_2_256) &&
11846 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11847 : : (TARGET_AVX10_2_512)))
11848 : : return -1;
11849 : : return 10407; /* *vpdpbuud_v16si_maskz */
11850 : :
11851 : : case 4:
11852 : : if (!
11853 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11854 : : (TARGET_AVX10_2_256))
11855 : : return -1;
11856 : : return 10413; /* *vpdpbuud_v8si_maskz */
11857 : :
11858 : : case 5:
11859 : : if (!
11860 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11861 : : (TARGET_AVX10_2_256))
11862 : : return -1;
11863 : : return 10419; /* *vpdpbuud_v4si_maskz */
11864 : :
11865 : : default:
11866 : : return -1;
11867 : : }
11868 : :
11869 : : case 232:
11870 : : switch (pattern485 (x2))
11871 : : {
11872 : : case 0:
11873 : : if (!(
11874 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11875 : : (TARGET_AVX10_2_256) &&
11876 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11877 : : (TARGET_AVX10_2_512)))
11878 : : return -1;
11879 : : return 10390; /* vpdpbuuds_v16si_mask */
11880 : :
11881 : : case 1:
11882 : : if (!
11883 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11884 : : (TARGET_AVX10_2_256))
11885 : : return -1;
11886 : : return 10396; /* vpdpbuuds_v8si_mask */
11887 : :
11888 : : case 2:
11889 : : if (!
11890 : : #line 31586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11891 : : (TARGET_AVX10_2_256))
11892 : : return -1;
11893 : : return 10402; /* vpdpbuuds_v4si_mask */
11894 : :
11895 : : case 3:
11896 : : if (!(
11897 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11898 : : (TARGET_AVX10_2_256) &&
11899 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11900 : : (TARGET_AVX10_2_512)))
11901 : : return -1;
11902 : : return 10408; /* *vpdpbuuds_v16si_maskz */
11903 : :
11904 : : case 4:
11905 : : if (!
11906 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11907 : : (TARGET_AVX10_2_256))
11908 : : return -1;
11909 : : return 10414; /* *vpdpbuuds_v8si_maskz */
11910 : :
11911 : : case 5:
11912 : : if (!
11913 : : #line 31613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11914 : : (TARGET_AVX10_2_256))
11915 : : return -1;
11916 : : return 10420; /* *vpdpbuuds_v4si_maskz */
11917 : :
11918 : : default:
11919 : : return -1;
11920 : : }
11921 : :
11922 : : case 233:
11923 : : switch (pattern485 (x2))
11924 : : {
11925 : : case 0:
11926 : : if (!(
11927 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11928 : : (TARGET_AVX10_2_256) &&
11929 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11930 : : (TARGET_AVX10_2_512)))
11931 : : return -1;
11932 : : return 10539; /* vpdpwusd_v16si_mask */
11933 : :
11934 : : case 1:
11935 : : if (!
11936 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11937 : : (TARGET_AVX10_2_256))
11938 : : return -1;
11939 : : return 10545; /* vpdpwusd_v8si_mask */
11940 : :
11941 : : case 2:
11942 : : if (!
11943 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11944 : : (TARGET_AVX10_2_256))
11945 : : return -1;
11946 : : return 10551; /* vpdpwusd_v4si_mask */
11947 : :
11948 : : case 3:
11949 : : if (!(
11950 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11951 : : (TARGET_AVX10_2_256) &&
11952 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11953 : : (TARGET_AVX10_2_512)))
11954 : : return -1;
11955 : : return 10557; /* *vpdpwusd_v16si_maskz */
11956 : :
11957 : : case 4:
11958 : : if (!
11959 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11960 : : (TARGET_AVX10_2_256))
11961 : : return -1;
11962 : : return 10563; /* *vpdpwusd_v8si_maskz */
11963 : :
11964 : : case 5:
11965 : : if (!
11966 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11967 : : (TARGET_AVX10_2_256))
11968 : : return -1;
11969 : : return 10569; /* *vpdpwusd_v4si_maskz */
11970 : :
11971 : : default:
11972 : : return -1;
11973 : : }
11974 : :
11975 : : case 234:
11976 : : switch (pattern485 (x2))
11977 : : {
11978 : : case 0:
11979 : : if (!(
11980 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11981 : : (TARGET_AVX10_2_256) &&
11982 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11983 : : (TARGET_AVX10_2_512)))
11984 : : return -1;
11985 : : return 10540; /* vpdpwusds_v16si_mask */
11986 : :
11987 : : case 1:
11988 : : if (!
11989 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11990 : : (TARGET_AVX10_2_256))
11991 : : return -1;
11992 : : return 10546; /* vpdpwusds_v8si_mask */
11993 : :
11994 : : case 2:
11995 : : if (!
11996 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11997 : : (TARGET_AVX10_2_256))
11998 : : return -1;
11999 : : return 10552; /* vpdpwusds_v4si_mask */
12000 : :
12001 : : case 3:
12002 : : if (!(
12003 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12004 : : (TARGET_AVX10_2_256) &&
12005 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12006 : : (TARGET_AVX10_2_512)))
12007 : : return -1;
12008 : : return 10558; /* *vpdpwusds_v16si_maskz */
12009 : :
12010 : : case 4:
12011 : : if (!
12012 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12013 : : (TARGET_AVX10_2_256))
12014 : : return -1;
12015 : : return 10564; /* *vpdpwusds_v8si_maskz */
12016 : :
12017 : : case 5:
12018 : : if (!
12019 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12020 : : (TARGET_AVX10_2_256))
12021 : : return -1;
12022 : : return 10570; /* *vpdpwusds_v4si_maskz */
12023 : :
12024 : : default:
12025 : : return -1;
12026 : : }
12027 : :
12028 : : case 235:
12029 : : switch (pattern485 (x2))
12030 : : {
12031 : : case 0:
12032 : : if (!(
12033 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12034 : : (TARGET_AVX10_2_256) &&
12035 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12036 : : (TARGET_AVX10_2_512)))
12037 : : return -1;
12038 : : return 10541; /* vpdpwsud_v16si_mask */
12039 : :
12040 : : case 1:
12041 : : if (!
12042 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12043 : : (TARGET_AVX10_2_256))
12044 : : return -1;
12045 : : return 10547; /* vpdpwsud_v8si_mask */
12046 : :
12047 : : case 2:
12048 : : if (!
12049 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12050 : : (TARGET_AVX10_2_256))
12051 : : return -1;
12052 : : return 10553; /* vpdpwsud_v4si_mask */
12053 : :
12054 : : case 3:
12055 : : if (!(
12056 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12057 : : (TARGET_AVX10_2_256) &&
12058 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12059 : : (TARGET_AVX10_2_512)))
12060 : : return -1;
12061 : : return 10559; /* *vpdpwsud_v16si_maskz */
12062 : :
12063 : : case 4:
12064 : : if (!
12065 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12066 : : (TARGET_AVX10_2_256))
12067 : : return -1;
12068 : : return 10565; /* *vpdpwsud_v8si_maskz */
12069 : :
12070 : : case 5:
12071 : : if (!
12072 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12073 : : (TARGET_AVX10_2_256))
12074 : : return -1;
12075 : : return 10571; /* *vpdpwsud_v4si_maskz */
12076 : :
12077 : : default:
12078 : : return -1;
12079 : : }
12080 : :
12081 : : case 236:
12082 : : switch (pattern485 (x2))
12083 : : {
12084 : : case 0:
12085 : : if (!(
12086 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12087 : : (TARGET_AVX10_2_256) &&
12088 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12089 : : (TARGET_AVX10_2_512)))
12090 : : return -1;
12091 : : return 10542; /* vpdpwsuds_v16si_mask */
12092 : :
12093 : : case 1:
12094 : : if (!
12095 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12096 : : (TARGET_AVX10_2_256))
12097 : : return -1;
12098 : : return 10548; /* vpdpwsuds_v8si_mask */
12099 : :
12100 : : case 2:
12101 : : if (!
12102 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12103 : : (TARGET_AVX10_2_256))
12104 : : return -1;
12105 : : return 10554; /* vpdpwsuds_v4si_mask */
12106 : :
12107 : : case 3:
12108 : : if (!(
12109 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12110 : : (TARGET_AVX10_2_256) &&
12111 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12112 : : (TARGET_AVX10_2_512)))
12113 : : return -1;
12114 : : return 10560; /* *vpdpwsuds_v16si_maskz */
12115 : :
12116 : : case 4:
12117 : : if (!
12118 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12119 : : (TARGET_AVX10_2_256))
12120 : : return -1;
12121 : : return 10566; /* *vpdpwsuds_v8si_maskz */
12122 : :
12123 : : case 5:
12124 : : if (!
12125 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12126 : : (TARGET_AVX10_2_256))
12127 : : return -1;
12128 : : return 10572; /* *vpdpwsuds_v4si_maskz */
12129 : :
12130 : : default:
12131 : : return -1;
12132 : : }
12133 : :
12134 : : case 237:
12135 : : switch (pattern485 (x2))
12136 : : {
12137 : : case 0:
12138 : : if (!(
12139 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12140 : : (TARGET_AVX10_2_256) &&
12141 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12142 : : (TARGET_AVX10_2_512)))
12143 : : return -1;
12144 : : return 10543; /* vpdpwuud_v16si_mask */
12145 : :
12146 : : case 1:
12147 : : if (!
12148 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12149 : : (TARGET_AVX10_2_256))
12150 : : return -1;
12151 : : return 10549; /* vpdpwuud_v8si_mask */
12152 : :
12153 : : case 2:
12154 : : if (!
12155 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12156 : : (TARGET_AVX10_2_256))
12157 : : return -1;
12158 : : return 10555; /* vpdpwuud_v4si_mask */
12159 : :
12160 : : case 3:
12161 : : if (!(
12162 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12163 : : (TARGET_AVX10_2_256) &&
12164 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12165 : : (TARGET_AVX10_2_512)))
12166 : : return -1;
12167 : : return 10561; /* *vpdpwuud_v16si_maskz */
12168 : :
12169 : : case 4:
12170 : : if (!
12171 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12172 : : (TARGET_AVX10_2_256))
12173 : : return -1;
12174 : : return 10567; /* *vpdpwuud_v8si_maskz */
12175 : :
12176 : : case 5:
12177 : : if (!
12178 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12179 : : (TARGET_AVX10_2_256))
12180 : : return -1;
12181 : : return 10573; /* *vpdpwuud_v4si_maskz */
12182 : :
12183 : : default:
12184 : : return -1;
12185 : : }
12186 : :
12187 : : case 238:
12188 : : switch (pattern485 (x2))
12189 : : {
12190 : : case 0:
12191 : : if (!(
12192 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12193 : : (TARGET_AVX10_2_256) &&
12194 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12195 : : (TARGET_AVX10_2_512)))
12196 : : return -1;
12197 : : return 10544; /* vpdpwuuds_v16si_mask */
12198 : :
12199 : : case 1:
12200 : : if (!
12201 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12202 : : (TARGET_AVX10_2_256))
12203 : : return -1;
12204 : : return 10550; /* vpdpwuuds_v8si_mask */
12205 : :
12206 : : case 2:
12207 : : if (!
12208 : : #line 31995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12209 : : (TARGET_AVX10_2_256))
12210 : : return -1;
12211 : : return 10556; /* vpdpwuuds_v4si_mask */
12212 : :
12213 : : case 3:
12214 : : if (!(
12215 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12216 : : (TARGET_AVX10_2_256) &&
12217 : : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12218 : : (TARGET_AVX10_2_512)))
12219 : : return -1;
12220 : : return 10562; /* *vpdpwuuds_v16si_maskz */
12221 : :
12222 : : case 4:
12223 : : if (!
12224 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12225 : : (TARGET_AVX10_2_256))
12226 : : return -1;
12227 : : return 10568; /* *vpdpwuuds_v8si_maskz */
12228 : :
12229 : : case 5:
12230 : : if (!
12231 : : #line 32022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12232 : : (TARGET_AVX10_2_256))
12233 : : return -1;
12234 : : return 10574; /* *vpdpwuuds_v4si_maskz */
12235 : :
12236 : : default:
12237 : : return -1;
12238 : : }
12239 : :
12240 : : case 244:
12241 : : return recog_139 (x1, insn, pnum_clobbers);
12242 : :
12243 : : case 278:
12244 : : x5 = XVECEXP (x3, 0, 0);
12245 : : operands[1] = x5;
12246 : : x6 = XVECEXP (x3, 0, 1);
12247 : : operands[2] = x6;
12248 : : x7 = XVECEXP (x3, 0, 2);
12249 : : operands[3] = x7;
12250 : : if (!const_0_to_255_operand (operands[3], E_SImode))
12251 : : return -1;
12252 : : x8 = XEXP (x2, 1);
12253 : : operands[4] = x8;
12254 : : x4 = XEXP (x2, 2);
12255 : : operands[5] = x4;
12256 : : switch (GET_MODE (operands[0]))
12257 : : {
12258 : : case E_V32BFmode:
12259 : : if (pattern1281 (x2,
12260 : : E_SImode,
12261 : : E_V32BFmode) != 0
12262 : : || !(
12263 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12264 : : (TARGET_AVX512F) && (
12265 : : #line 32637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12266 : : (TARGET_AVX10_2_256) &&
12267 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12268 : : (TARGET_AVX10_2_512))))
12269 : : return -1;
12270 : : return 10930; /* avx10_2_minmaxnepbf16_v32bf_mask */
12271 : :
12272 : : case E_V16BFmode:
12273 : : if (pattern1281 (x2,
12274 : : E_HImode,
12275 : : E_V16BFmode) != 0
12276 : : || !(
12277 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12278 : : (TARGET_AVX512F) &&
12279 : : #line 32637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12280 : : (TARGET_AVX10_2_256)))
12281 : : return -1;
12282 : : return 10932; /* avx10_2_minmaxnepbf16_v16bf_mask */
12283 : :
12284 : : case E_V8BFmode:
12285 : : if (pattern1281 (x2,
12286 : : E_QImode,
12287 : : E_V8BFmode) != 0
12288 : : || !(
12289 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12290 : : (TARGET_AVX512F) &&
12291 : : #line 32637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12292 : : (TARGET_AVX10_2_256)))
12293 : : return -1;
12294 : : return 10934; /* avx10_2_minmaxnepbf16_v8bf_mask */
12295 : :
12296 : : default:
12297 : : return -1;
12298 : : }
12299 : :
12300 : : case 279:
12301 : : return recog_134 (x1, insn, pnum_clobbers);
12302 : :
12303 : : default:
12304 : : return -1;
12305 : : }
12306 : : }
12307 : :
12308 : : int
12309 : : recog_171 (rtx x1 ATTRIBUTE_UNUSED,
12310 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12311 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12312 : : {
12313 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12314 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12315 : : rtx x10, x11, x12;
12316 : : int res ATTRIBUTE_UNUSED;
12317 : : x2 = XEXP (x1, 1);
12318 : : x3 = XEXP (x2, 0);
12319 : : x4 = XEXP (x3, 1);
12320 : : x5 = XVECEXP (x4, 0, 1);
12321 : : operands[3] = x5;
12322 : : x6 = XVECEXP (x4, 0, 2);
12323 : : operands[4] = x6;
12324 : : x7 = XVECEXP (x4, 0, 3);
12325 : : operands[5] = x7;
12326 : : x8 = XVECEXP (x4, 0, 5);
12327 : : operands[7] = x8;
12328 : : x9 = XVECEXP (x4, 0, 6);
12329 : : operands[8] = x9;
12330 : : x10 = XVECEXP (x4, 0, 7);
12331 : : operands[9] = x10;
12332 : : x11 = XEXP (x2, 1);
12333 : : operands[10] = x11;
12334 : : x12 = XEXP (x2, 2);
12335 : : operands[11] = x12;
12336 : : if (!register_operand (operands[11], E_QImode))
12337 : : return -1;
12338 : : switch (GET_MODE (operands[0]))
12339 : : {
12340 : : case E_V8DFmode:
12341 : : if (!register_operand (operands[0], E_V8DFmode)
12342 : : || GET_MODE (x2) != E_V8DFmode
12343 : : || GET_MODE (x3) != E_V8DFmode
12344 : : || !register_operand (operands[1], E_V8DFmode)
12345 : : || pattern1804 () != 0
12346 : : || !nonimm_or_0_operand (operands[10], E_V8DFmode)
12347 : : || !(
12348 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12349 : : (TARGET_AVX512F) && (
12350 : : #line 20272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12351 : : (TARGET_AVX512F
12352 : : && (INTVAL (operands[2]) & 1) == 0
12353 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12354 : : && (INTVAL (operands[4]) & 1) == 0
12355 : : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12356 : : && (INTVAL (operands[6]) & 1) == 0
12357 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12358 : : && (INTVAL (operands[8]) & 1) == 0
12359 : : && INTVAL (operands[8]) == INTVAL (operands[9]) - 1) &&
12360 : : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12361 : : (TARGET_EVEX512))))
12362 : : return -1;
12363 : : return 8419; /* *avx512f_shuf_f64x2_1_mask_1 */
12364 : :
12365 : : case E_V8DImode:
12366 : : if (!register_operand (operands[0], E_V8DImode)
12367 : : || GET_MODE (x2) != E_V8DImode
12368 : : || GET_MODE (x3) != E_V8DImode
12369 : : || !nonimm_or_0_operand (operands[10], E_V8DImode))
12370 : : return -1;
12371 : : if (register_operand (operands[1], E_V8DImode)
12372 : : && pattern1804 () == 0
12373 : : && (
12374 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12375 : : (TARGET_AVX512F) && (
12376 : : #line 20272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12377 : : (TARGET_AVX512F
12378 : : && (INTVAL (operands[2]) & 1) == 0
12379 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12380 : : && (INTVAL (operands[4]) & 1) == 0
12381 : : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12382 : : && (INTVAL (operands[6]) & 1) == 0
12383 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12384 : : && (INTVAL (operands[8]) & 1) == 0
12385 : : && INTVAL (operands[8]) == INTVAL (operands[9]) - 1) &&
12386 : : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12387 : : (TARGET_EVEX512))))
12388 : : return 8421; /* *avx512f_shuf_i64x2_1_mask_1 */
12389 : : if (!nonimmediate_operand (operands[1], E_V8DImode)
12390 : : || pattern1805 () != 0
12391 : : || !(
12392 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12393 : : (TARGET_AVX512F) && (
12394 : : #line 27622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12395 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL)
12396 : : && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
12397 : : && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
12398 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
12399 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4))) &&
12400 : : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12401 : : (TARGET_EVEX512))))
12402 : : return -1;
12403 : : return 9173; /* avx512f_permv8di_1_mask */
12404 : :
12405 : : case E_V8SImode:
12406 : : if (pattern755 (x2,
12407 : : E_V8SImode) != 0
12408 : : || pattern1805 () != 0
12409 : : || !nonimm_or_0_operand (operands[10], E_V8SImode)
12410 : : || !(
12411 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12412 : : (TARGET_AVX512F) &&
12413 : : #line 20628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12414 : : (TARGET_AVX2
12415 : : && TARGET_AVX512VL
12416 : : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
12417 : : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
12418 : : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
12419 : : && INTVAL (operands[5]) + 4 == INTVAL (operands[9]))))
12420 : : return -1;
12421 : : return 8437; /* avx2_pshufd_1_mask */
12422 : :
12423 : : default:
12424 : : return -1;
12425 : : }
12426 : : }
12427 : :
12428 : : int
12429 : : recog_184 (rtx x1 ATTRIBUTE_UNUSED,
12430 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12431 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12432 : : {
12433 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12434 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12435 : : int res ATTRIBUTE_UNUSED;
12436 : : x2 = XEXP (x1, 1);
12437 : : x3 = XEXP (x2, 0);
12438 : : switch (XVECLEN (x3, 0))
12439 : : {
12440 : : case 1:
12441 : : return recog_145 (x1, insn, pnum_clobbers);
12442 : :
12443 : : case 2:
12444 : : return recog_144 (x1, insn, pnum_clobbers);
12445 : :
12446 : : case 3:
12447 : : return recog_143 (x1, insn, pnum_clobbers);
12448 : :
12449 : : case 4:
12450 : : x4 = XVECEXP (x3, 0, 0);
12451 : : operands[1] = x4;
12452 : : x5 = XVECEXP (x3, 0, 1);
12453 : : operands[2] = x5;
12454 : : x6 = XVECEXP (x3, 0, 2);
12455 : : operands[3] = x6;
12456 : : x7 = XVECEXP (x3, 0, 3);
12457 : : operands[4] = x7;
12458 : : if (!const_0_to_255_operand (operands[4], E_SImode))
12459 : : return -1;
12460 : : switch (XINT (x3, 1))
12461 : : {
12462 : : case 164:
12463 : : x8 = XEXP (x2, 1);
12464 : : switch (GET_CODE (x8))
12465 : : {
12466 : : case CONST_INT:
12467 : : case CONST_DOUBLE:
12468 : : case CONST_VECTOR:
12469 : : operands[5] = x8;
12470 : : x9 = XEXP (x2, 2);
12471 : : operands[6] = x9;
12472 : : switch (GET_MODE (operands[0]))
12473 : : {
12474 : : case E_V16SImode:
12475 : : if (pattern1457 (x2,
12476 : : E_V16SImode,
12477 : : E_HImode) != 0
12478 : : || !(
12479 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12480 : : (TARGET_AVX512F) &&
12481 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12482 : : (TARGET_EVEX512)))
12483 : : return -1;
12484 : : return 5457; /* avx512f_vternlogv16si_maskz_1 */
12485 : :
12486 : : case E_V8SImode:
12487 : : if (pattern1457 (x2,
12488 : : E_V8SImode,
12489 : : E_QImode) != 0
12490 : : || !(
12491 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12492 : : (TARGET_AVX512F) &&
12493 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12494 : : (TARGET_AVX512VL)))
12495 : : return -1;
12496 : : return 5459; /* avx512vl_vternlogv8si_maskz_1 */
12497 : :
12498 : : case E_V4SImode:
12499 : : if (pattern1457 (x2,
12500 : : E_V4SImode,
12501 : : E_QImode) != 0
12502 : : || !(
12503 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12504 : : (TARGET_AVX512F) &&
12505 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12506 : : (TARGET_AVX512VL)))
12507 : : return -1;
12508 : : return 5461; /* avx512vl_vternlogv4si_maskz_1 */
12509 : :
12510 : : case E_V8DImode:
12511 : : if (pattern1457 (x2,
12512 : : E_V8DImode,
12513 : : E_QImode) != 0
12514 : : || !(
12515 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12516 : : (TARGET_AVX512F) &&
12517 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12518 : : (TARGET_EVEX512)))
12519 : : return -1;
12520 : : return 5463; /* avx512f_vternlogv8di_maskz_1 */
12521 : :
12522 : : case E_V4DImode:
12523 : : if (pattern1457 (x2,
12524 : : E_V4DImode,
12525 : : E_QImode) != 0
12526 : : || !(
12527 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12528 : : (TARGET_AVX512F) &&
12529 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12530 : : (TARGET_AVX512VL)))
12531 : : return -1;
12532 : : return 5465; /* avx512vl_vternlogv4di_maskz_1 */
12533 : :
12534 : : case E_V2DImode:
12535 : : if (pattern1457 (x2,
12536 : : E_V2DImode,
12537 : : E_QImode) != 0
12538 : : || !(
12539 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12540 : : (TARGET_AVX512F) &&
12541 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12542 : : (TARGET_AVX512VL)))
12543 : : return -1;
12544 : : return 5467; /* avx512vl_vternlogv2di_maskz_1 */
12545 : :
12546 : : default:
12547 : : return -1;
12548 : : }
12549 : :
12550 : : case REG:
12551 : : case SUBREG:
12552 : : if (!rtx_equal_p (x8, operands[1]))
12553 : : return -1;
12554 : : x9 = XEXP (x2, 2);
12555 : : operands[5] = x9;
12556 : : switch (GET_MODE (operands[0]))
12557 : : {
12558 : : case E_V16SImode:
12559 : : if (pattern1458 (x2,
12560 : : E_V16SImode,
12561 : : E_HImode) != 0
12562 : : || !(
12563 : : #line 14021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12564 : : (TARGET_AVX512F) &&
12565 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12566 : : (TARGET_EVEX512)))
12567 : : return -1;
12568 : : return 7028; /* *avx512f_vternlogv16si_mask */
12569 : :
12570 : : case E_V8SImode:
12571 : : if (pattern1458 (x2,
12572 : : E_V8SImode,
12573 : : E_QImode) != 0
12574 : : || !(
12575 : : #line 14021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12576 : : (TARGET_AVX512F) &&
12577 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12578 : : (TARGET_AVX512VL)))
12579 : : return -1;
12580 : : return 7029; /* *avx512vl_vternlogv8si_mask */
12581 : :
12582 : : case E_V4SImode:
12583 : : if (pattern1458 (x2,
12584 : : E_V4SImode,
12585 : : E_QImode) != 0
12586 : : || !(
12587 : : #line 14021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12588 : : (TARGET_AVX512F) &&
12589 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12590 : : (TARGET_AVX512VL)))
12591 : : return -1;
12592 : : return 7030; /* *avx512vl_vternlogv4si_mask */
12593 : :
12594 : : case E_V8DImode:
12595 : : if (pattern1458 (x2,
12596 : : E_V8DImode,
12597 : : E_QImode) != 0
12598 : : || !(
12599 : : #line 14021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12600 : : (TARGET_AVX512F) &&
12601 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12602 : : (TARGET_EVEX512)))
12603 : : return -1;
12604 : : return 7031; /* *avx512f_vternlogv8di_mask */
12605 : :
12606 : : case E_V4DImode:
12607 : : if (pattern1458 (x2,
12608 : : E_V4DImode,
12609 : : E_QImode) != 0
12610 : : || !(
12611 : : #line 14021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12612 : : (TARGET_AVX512F) &&
12613 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12614 : : (TARGET_AVX512VL)))
12615 : : return -1;
12616 : : return 7032; /* *avx512vl_vternlogv4di_mask */
12617 : :
12618 : : case E_V2DImode:
12619 : : if (pattern1458 (x2,
12620 : : E_V2DImode,
12621 : : E_QImode) != 0
12622 : : || !(
12623 : : #line 14021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12624 : : (TARGET_AVX512F) &&
12625 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12626 : : (TARGET_AVX512VL)))
12627 : : return -1;
12628 : : return 7033; /* *avx512vl_vternlogv2di_mask */
12629 : :
12630 : : default:
12631 : : return -1;
12632 : : }
12633 : :
12634 : : default:
12635 : : return -1;
12636 : : }
12637 : :
12638 : : case 163:
12639 : : x8 = XEXP (x2, 1);
12640 : : switch (GET_CODE (x8))
12641 : : {
12642 : : case CONST_INT:
12643 : : case CONST_DOUBLE:
12644 : : case CONST_VECTOR:
12645 : : operands[5] = x8;
12646 : : x9 = XEXP (x2, 2);
12647 : : operands[6] = x9;
12648 : : switch (GET_MODE (operands[0]))
12649 : : {
12650 : : case E_V16SFmode:
12651 : : if (pattern1459 (x2,
12652 : : E_V16SFmode,
12653 : : E_V16SImode,
12654 : : E_HImode) != 0
12655 : : || !(
12656 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12657 : : (TARGET_AVX512F && 1) &&
12658 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12659 : : (TARGET_EVEX512)))
12660 : : return -1;
12661 : : return 7098; /* avx512f_fixupimmv16sf_maskz_1 */
12662 : :
12663 : : case E_V8SFmode:
12664 : : if (pattern1459 (x2,
12665 : : E_V8SFmode,
12666 : : E_V8SImode,
12667 : : E_QImode) != 0
12668 : : || !(
12669 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12670 : : (TARGET_AVX512F && 1) &&
12671 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12672 : : (TARGET_AVX512VL)))
12673 : : return -1;
12674 : : return 7102; /* avx512vl_fixupimmv8sf_maskz_1 */
12675 : :
12676 : : case E_V4SFmode:
12677 : : if (pattern1459 (x2,
12678 : : E_V4SFmode,
12679 : : E_V4SImode,
12680 : : E_QImode) != 0
12681 : : || !(
12682 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12683 : : (TARGET_AVX512F && 1) &&
12684 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12685 : : (TARGET_AVX512VL)))
12686 : : return -1;
12687 : : return 7105; /* avx512vl_fixupimmv4sf_maskz_1 */
12688 : :
12689 : : case E_V8DFmode:
12690 : : if (pattern1459 (x2,
12691 : : E_V8DFmode,
12692 : : E_V8DImode,
12693 : : E_QImode) != 0
12694 : : || !(
12695 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12696 : : (TARGET_AVX512F && 1) &&
12697 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12698 : : (TARGET_EVEX512)))
12699 : : return -1;
12700 : : return 7108; /* avx512f_fixupimmv8df_maskz_1 */
12701 : :
12702 : : case E_V4DFmode:
12703 : : if (pattern1459 (x2,
12704 : : E_V4DFmode,
12705 : : E_V4DImode,
12706 : : E_QImode) != 0
12707 : : || !(
12708 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12709 : : (TARGET_AVX512F && 1) &&
12710 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12711 : : (TARGET_AVX512VL)))
12712 : : return -1;
12713 : : return 7112; /* avx512vl_fixupimmv4df_maskz_1 */
12714 : :
12715 : : case E_V2DFmode:
12716 : : if (pattern1459 (x2,
12717 : : E_V2DFmode,
12718 : : E_V2DImode,
12719 : : E_QImode) != 0
12720 : : || !(
12721 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12722 : : (TARGET_AVX512F && 1) &&
12723 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12724 : : (TARGET_AVX512VL)))
12725 : : return -1;
12726 : : return 7115; /* avx512vl_fixupimmv2df_maskz_1 */
12727 : :
12728 : : default:
12729 : : return -1;
12730 : : }
12731 : :
12732 : : case REG:
12733 : : case SUBREG:
12734 : : x9 = XEXP (x2, 2);
12735 : : switch (GET_CODE (x9))
12736 : : {
12737 : : case REG:
12738 : : case SUBREG:
12739 : : operands[5] = x9;
12740 : : if (!rtx_equal_p (x8, operands[1]))
12741 : : return -1;
12742 : : switch (GET_MODE (operands[0]))
12743 : : {
12744 : : case E_V16SFmode:
12745 : : if (pattern1515 (x2,
12746 : : E_V16SImode,
12747 : : E_V16SFmode,
12748 : : E_HImode) != 0
12749 : : || !(
12750 : : #line 14162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12751 : : (TARGET_AVX512F && 1) &&
12752 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12753 : : (TARGET_EVEX512)))
12754 : : return -1;
12755 : : return 7116; /* avx512f_fixupimmv16sf_mask */
12756 : :
12757 : : case E_V8SFmode:
12758 : : if (pattern1515 (x2,
12759 : : E_V8SImode,
12760 : : E_V8SFmode,
12761 : : E_QImode) != 0
12762 : : || !(
12763 : : #line 14162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12764 : : (TARGET_AVX512F && 1) &&
12765 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12766 : : (TARGET_AVX512VL)))
12767 : : return -1;
12768 : : return 7118; /* avx512vl_fixupimmv8sf_mask */
12769 : :
12770 : : case E_V4SFmode:
12771 : : if (pattern1515 (x2,
12772 : : E_V4SImode,
12773 : : E_V4SFmode,
12774 : : E_QImode) != 0
12775 : : || !(
12776 : : #line 14162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12777 : : (TARGET_AVX512F && 1) &&
12778 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12779 : : (TARGET_AVX512VL)))
12780 : : return -1;
12781 : : return 7120; /* avx512vl_fixupimmv4sf_mask */
12782 : :
12783 : : case E_V8DFmode:
12784 : : if (pattern1515 (x2,
12785 : : E_V8DImode,
12786 : : E_V8DFmode,
12787 : : E_QImode) != 0
12788 : : || !(
12789 : : #line 14162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12790 : : (TARGET_AVX512F && 1) &&
12791 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12792 : : (TARGET_EVEX512)))
12793 : : return -1;
12794 : : return 7121; /* avx512f_fixupimmv8df_mask */
12795 : :
12796 : : case E_V4DFmode:
12797 : : if (pattern1515 (x2,
12798 : : E_V4DImode,
12799 : : E_V4DFmode,
12800 : : E_QImode) != 0
12801 : : || !(
12802 : : #line 14162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12803 : : (TARGET_AVX512F && 1) &&
12804 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12805 : : (TARGET_AVX512VL)))
12806 : : return -1;
12807 : : return 7123; /* avx512vl_fixupimmv4df_mask */
12808 : :
12809 : : case E_V2DFmode:
12810 : : if (pattern1515 (x2,
12811 : : E_V2DImode,
12812 : : E_V2DFmode,
12813 : : E_QImode) != 0
12814 : : || !(
12815 : : #line 14162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12816 : : (TARGET_AVX512F && 1) &&
12817 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12818 : : (TARGET_AVX512VL)))
12819 : : return -1;
12820 : : return 7125; /* avx512vl_fixupimmv2df_mask */
12821 : :
12822 : : default:
12823 : : return -1;
12824 : : }
12825 : :
12826 : : case CONST_INT:
12827 : : if (XWINT (x9, 0) != 1L
12828 : : || !rtx_equal_p (x8, operands[2]))
12829 : : return -1;
12830 : : switch (GET_MODE (operands[0]))
12831 : : {
12832 : : case E_V4SFmode:
12833 : : if (pattern1516 (x2,
12834 : : E_V4SImode,
12835 : : E_V4SFmode) != 0
12836 : : || !
12837 : : #line 14194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12838 : : (TARGET_AVX512F))
12839 : : return -1;
12840 : : return 7126; /* avx512f_sfixupimmv4sf */
12841 : :
12842 : : case E_V2DFmode:
12843 : : if (pattern1516 (x2,
12844 : : E_V2DImode,
12845 : : E_V2DFmode) != 0
12846 : : || !(
12847 : : #line 14194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12848 : : (TARGET_AVX512F) &&
12849 : : #line 475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12850 : : (TARGET_SSE2)))
12851 : : return -1;
12852 : : return 7130; /* avx512f_sfixupimmv2df */
12853 : :
12854 : : default:
12855 : : return -1;
12856 : : }
12857 : :
12858 : : default:
12859 : : return -1;
12860 : : }
12861 : :
12862 : : default:
12863 : : return -1;
12864 : : }
12865 : :
12866 : : default:
12867 : : return -1;
12868 : : }
12869 : :
12870 : : default:
12871 : : return -1;
12872 : : }
12873 : : }
12874 : :
12875 : : int
12876 : : recog_188 (rtx x1 ATTRIBUTE_UNUSED,
12877 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12878 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12879 : : {
12880 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12881 : : rtx x2;
12882 : : int res ATTRIBUTE_UNUSED;
12883 : : x2 = XEXP (x1, 1);
12884 : : switch (pattern139 (x2))
12885 : : {
12886 : : case 0:
12887 : : if (nonimmediate_operand (operands[1], E_V16HImode)
12888 : : && nonmemory_operand (operands[2], E_DImode)
12889 : : && (
12890 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12891 : : (TARGET_AVX512F) && (
12892 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12893 : : (TARGET_AVX512VL) &&
12894 : : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12895 : : (TARGET_AVX512BW))))
12896 : : return 7641; /* ashlv16hi3_mask */
12897 : : if (!register_operand (operands[1], E_V16HImode)
12898 : : || !nonimmediate_operand (operands[2], E_V16HImode)
12899 : : || !(
12900 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12901 : : (TARGET_AVX512F) && (
12902 : : #line 28934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12903 : : (TARGET_AVX512BW) &&
12904 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12905 : : (TARGET_AVX512VL))))
12906 : : return -1;
12907 : : return 9596; /* avx512vl_ashlvv16hi_mask */
12908 : :
12909 : : case 1:
12910 : : if (nonimmediate_operand (operands[1], E_V8HImode)
12911 : : && nonmemory_operand (operands[2], E_DImode)
12912 : : && (
12913 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12914 : : (TARGET_AVX512F) && (
12915 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12916 : : (TARGET_AVX512VL) &&
12917 : : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12918 : : (TARGET_AVX512BW))))
12919 : : return 7645; /* ashlv8hi3_mask */
12920 : : if (!register_operand (operands[1], E_V8HImode)
12921 : : || !nonimmediate_operand (operands[2], E_V8HImode)
12922 : : || !(
12923 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12924 : : (TARGET_AVX512F) && (
12925 : : #line 28934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12926 : : (TARGET_AVX512BW) &&
12927 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12928 : : (TARGET_AVX512VL))))
12929 : : return -1;
12930 : : return 9592; /* avx512vl_ashlvv8hi_mask */
12931 : :
12932 : : case 2:
12933 : : if (nonimmediate_operand (operands[1], E_V8SImode)
12934 : : && nonmemory_operand (operands[2], E_DImode)
12935 : : && (
12936 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12937 : : (TARGET_AVX512F) &&
12938 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12939 : : (TARGET_AVX512VL)))
12940 : : return 7649; /* ashlv8si3_mask */
12941 : : if (!register_operand (operands[1], E_V8SImode)
12942 : : || !nonimmediate_operand (operands[2], E_V8SImode)
12943 : : || !(
12944 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12945 : : (TARGET_AVX512F) &&
12946 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12947 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12948 : : return -1;
12949 : : return 9572; /* avx2_ashlvv8si_mask */
12950 : :
12951 : : case 3:
12952 : : if (nonimmediate_operand (operands[1], E_V4SImode)
12953 : : && nonmemory_operand (operands[2], E_DImode)
12954 : : && (
12955 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12956 : : (TARGET_AVX512F) &&
12957 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12958 : : (TARGET_AVX512VL)))
12959 : : return 7653; /* ashlv4si3_mask */
12960 : : if (!register_operand (operands[1], E_V4SImode)
12961 : : || !nonimmediate_operand (operands[2], E_V4SImode)
12962 : : || !(
12963 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12964 : : (TARGET_AVX512F) &&
12965 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12966 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12967 : : return -1;
12968 : : return 9576; /* avx2_ashlvv4si_mask */
12969 : :
12970 : : case 4:
12971 : : if (nonimmediate_operand (operands[1], E_V4DImode)
12972 : : && nonmemory_operand (operands[2], E_DImode)
12973 : : && (
12974 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12975 : : (TARGET_AVX512F) &&
12976 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12977 : : (TARGET_AVX512VL)))
12978 : : return 7657; /* ashlv4di3_mask */
12979 : : if (!register_operand (operands[1], E_V4DImode)
12980 : : || !nonimmediate_operand (operands[2], E_V4DImode)
12981 : : || !(
12982 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12983 : : (TARGET_AVX512F) &&
12984 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12985 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12986 : : return -1;
12987 : : return 9584; /* avx2_ashlvv4di_mask */
12988 : :
12989 : : case 5:
12990 : : if (nonimmediate_operand (operands[1], E_V2DImode)
12991 : : && nonmemory_operand (operands[2], E_DImode)
12992 : : && (
12993 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12994 : : (TARGET_AVX512F) &&
12995 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12996 : : (TARGET_AVX512VL)))
12997 : : return 7661; /* ashlv2di3_mask */
12998 : : if (!register_operand (operands[1], E_V2DImode)
12999 : : || !nonimmediate_operand (operands[2], E_V2DImode)
13000 : : || !(
13001 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13002 : : (TARGET_AVX512F) &&
13003 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13004 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
13005 : : return -1;
13006 : : return 9588; /* avx2_ashlvv2di_mask */
13007 : :
13008 : : case 6:
13009 : : if (nonimmediate_operand (operands[1], E_V32HImode)
13010 : : && nonmemory_operand (operands[2], E_DImode)
13011 : : && (
13012 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13013 : : (TARGET_AVX512F) && (
13014 : : #line 17378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13015 : : (TARGET_AVX512F) &&
13016 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13017 : : (TARGET_AVX512BW && TARGET_EVEX512))))
13018 : : return 7681; /* ashlv32hi3_mask */
13019 : : if (!register_operand (operands[1], E_V32HImode)
13020 : : || !nonimmediate_operand (operands[2], E_V32HImode)
13021 : : || !(
13022 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13023 : : (TARGET_AVX512F) && (
13024 : : #line 28934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13025 : : (TARGET_AVX512BW) &&
13026 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13027 : : (TARGET_EVEX512))))
13028 : : return -1;
13029 : : return 9600; /* avx512bw_ashlvv32hi_mask */
13030 : :
13031 : : case 7:
13032 : : if (nonimmediate_operand (operands[1], E_V16SImode)
13033 : : && nonmemory_operand (operands[2], E_DImode)
13034 : : && (
13035 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13036 : : (TARGET_AVX512F) && (
13037 : : #line 17378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13038 : : (TARGET_AVX512F) &&
13039 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13040 : : (TARGET_EVEX512))))
13041 : : return 7685; /* ashlv16si3_mask */
13042 : : if (!register_operand (operands[1], E_V16SImode)
13043 : : || !nonimmediate_operand (operands[2], E_V16SImode)
13044 : : || !(
13045 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13046 : : (TARGET_AVX512F) && (
13047 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13048 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
13049 : : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13050 : : (TARGET_AVX512F && TARGET_EVEX512))))
13051 : : return -1;
13052 : : return 9568; /* avx512f_ashlvv16si_mask */
13053 : :
13054 : : case 8:
13055 : : if (nonimmediate_operand (operands[1], E_V8DImode)
13056 : : && nonmemory_operand (operands[2], E_DImode)
13057 : : && (
13058 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13059 : : (TARGET_AVX512F) && (
13060 : : #line 17378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13061 : : (TARGET_AVX512F) &&
13062 : : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13063 : : (TARGET_EVEX512))))
13064 : : return 7689; /* ashlv8di3_mask */
13065 : : if (!register_operand (operands[1], E_V8DImode)
13066 : : || !nonimmediate_operand (operands[2], E_V8DImode)
13067 : : || !(
13068 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13069 : : (TARGET_AVX512F) && (
13070 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13071 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
13072 : : #line 805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13073 : : (TARGET_AVX512F && TARGET_EVEX512))))
13074 : : return -1;
13075 : : return 9580; /* avx512f_ashlvv8di_mask */
13076 : :
13077 : : default:
13078 : : return -1;
13079 : : }
13080 : : }
13081 : :
13082 : : int
13083 : : recog_195 (rtx x1 ATTRIBUTE_UNUSED,
13084 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13085 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13086 : : {
13087 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13088 : : rtx x2;
13089 : : int res ATTRIBUTE_UNUSED;
13090 : : x2 = XEXP (x1, 1);
13091 : : switch (pattern135 (x2))
13092 : : {
13093 : : case 0:
13094 : : if (pattern774 (x2,
13095 : : E_V8HImode,
13096 : : E_QImode,
13097 : : E_V8HFmode) != 0
13098 : : || !(
13099 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13100 : : (TARGET_AVX512F) && (
13101 : : #line 7865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13102 : : (TARGET_AVX512FP16 && 1) &&
13103 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13104 : : (TARGET_AVX512VL))))
13105 : : return -1;
13106 : : return 4604; /* avx512fp16_fix_truncv8hi2_mask */
13107 : :
13108 : : case 1:
13109 : : if (pattern774 (x2,
13110 : : E_V16HImode,
13111 : : E_HImode,
13112 : : E_V16HFmode) != 0
13113 : : || !(
13114 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13115 : : (TARGET_AVX512F) && (
13116 : : #line 7865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13117 : : (TARGET_AVX512FP16 && 1) &&
13118 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13119 : : (TARGET_AVX512VL))))
13120 : : return -1;
13121 : : return 4609; /* avx512fp16_fix_truncv16hi2_mask */
13122 : :
13123 : : case 2:
13124 : : if (pattern774 (x2,
13125 : : E_V32HImode,
13126 : : E_SImode,
13127 : : E_V32HFmode) != 0
13128 : : || !(
13129 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13130 : : (TARGET_AVX512F) && (
13131 : : #line 7865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13132 : : (TARGET_AVX512FP16 && 1) &&
13133 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13134 : : (TARGET_EVEX512))))
13135 : : return -1;
13136 : : return 4617; /* avx512fp16_fix_truncv32hi2_mask */
13137 : :
13138 : : case 3:
13139 : : if (pattern773 (x2,
13140 : : E_V8SImode,
13141 : : E_QImode) != 0)
13142 : : return -1;
13143 : : switch (GET_MODE (operands[1]))
13144 : : {
13145 : : case E_V8HFmode:
13146 : : if (!vector_operand (operands[1], E_V8HFmode)
13147 : : || !(
13148 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13149 : : (TARGET_AVX512F) && (
13150 : : #line 7865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13151 : : (TARGET_AVX512FP16 && 1) &&
13152 : : #line 695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13153 : : (TARGET_AVX512VL))))
13154 : : return -1;
13155 : : return 4625; /* avx512fp16_fix_truncv8si2_mask */
13156 : :
13157 : : case E_V8SFmode:
13158 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13159 : : || !(
13160 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13161 : : (TARGET_AVX512F) &&
13162 : : #line 8793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13163 : : (TARGET_AVX && TARGET_AVX512VL)))
13164 : : return -1;
13165 : : return 4889; /* fix_truncv8sfv8si2_mask */
13166 : :
13167 : : case E_V8DFmode:
13168 : : if (!vector_operand (operands[1], E_V8DFmode)
13169 : : || !(
13170 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13171 : : (TARGET_AVX512F) &&
13172 : : #line 9568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13173 : : (TARGET_AVX512F && TARGET_EVEX512)))
13174 : : return -1;
13175 : : return 5031; /* fix_truncv8dfv8si2_mask */
13176 : :
13177 : : default:
13178 : : return -1;
13179 : : }
13180 : :
13181 : : case 4:
13182 : : switch (pattern895 (x2))
13183 : : {
13184 : : case 0:
13185 : : if (!(
13186 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13187 : : (TARGET_AVX512F) && (
13188 : : #line 7865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13189 : : (TARGET_AVX512FP16 && 1) &&
13190 : : #line 695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13191 : : (TARGET_EVEX512))))
13192 : : return -1;
13193 : : return 4633; /* avx512fp16_fix_truncv16si2_mask */
13194 : :
13195 : : case 1:
13196 : : if (!(
13197 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13198 : : (TARGET_AVX512F) &&
13199 : : #line 8773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13200 : : (TARGET_AVX512F && TARGET_EVEX512)))
13201 : : return -1;
13202 : : return 4878; /* fix_truncv16sfv16si2_mask */
13203 : :
13204 : : default:
13205 : : return -1;
13206 : : }
13207 : :
13208 : : case 5:
13209 : : switch (pattern896 (x2,
13210 : : E_V8DImode))
13211 : : {
13212 : : case 0:
13213 : : if (!(
13214 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13215 : : (TARGET_AVX512F) && (
13216 : : #line 7865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13217 : : (TARGET_AVX512FP16 && 1) &&
13218 : : #line 696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13219 : : (TARGET_EVEX512))))
13220 : : return -1;
13221 : : return 4641; /* avx512fp16_fix_truncv8di2_mask */
13222 : :
13223 : : case 1:
13224 : : if (!(
13225 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13226 : : (TARGET_AVX512F) && (
13227 : : #line 9699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13228 : : (TARGET_AVX512DQ && 1) &&
13229 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13230 : : (TARGET_EVEX512))))
13231 : : return -1;
13232 : : return 5076; /* fix_truncv8dfv8di2_mask */
13233 : :
13234 : : case 2:
13235 : : if (!(
13236 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13237 : : (TARGET_AVX512F) && (
13238 : : #line 9742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13239 : : (TARGET_AVX512DQ) &&
13240 : : #line 627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13241 : : (TARGET_EVEX512))))
13242 : : return -1;
13243 : : return 5131; /* fix_truncv8sfv8di2_mask */
13244 : :
13245 : : default:
13246 : : return -1;
13247 : : }
13248 : :
13249 : : case 6:
13250 : : if (pattern773 (x2,
13251 : : E_V4SImode,
13252 : : E_QImode) != 0)
13253 : : return -1;
13254 : : switch (GET_MODE (operands[1]))
13255 : : {
13256 : : case E_V4HFmode:
13257 : : if (!memory_operand (operands[1], E_V4HFmode)
13258 : : || !(
13259 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13260 : : (TARGET_AVX512F) &&
13261 : : #line 7915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13262 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13263 : : return -1;
13264 : : return 4668; /* *avx512fp16_fix_truncv4si2_load_mask */
13265 : :
13266 : : case E_V4SFmode:
13267 : : if (!vector_operand (operands[1], E_V4SFmode)
13268 : : || !(
13269 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13270 : : (TARGET_AVX512F) &&
13271 : : #line 8823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13272 : : (TARGET_SSE2 && TARGET_AVX512VL)))
13273 : : return -1;
13274 : : return 4893; /* fix_truncv4sfv4si2_mask */
13275 : :
13276 : : case E_V4DFmode:
13277 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13278 : : || !(
13279 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13280 : : (TARGET_AVX512F) &&
13281 : : #line 9658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13282 : : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
13283 : : return -1;
13284 : : return 5047; /* fix_truncv4dfv4si2_mask */
13285 : :
13286 : : default:
13287 : : return -1;
13288 : : }
13289 : :
13290 : : case 7:
13291 : : switch (pattern897 (x2))
13292 : : {
13293 : : case 0:
13294 : : if (!(
13295 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13296 : : (TARGET_AVX512F) &&
13297 : : #line 7915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13298 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13299 : : return -1;
13300 : : return 4672; /* *avx512fp16_fix_truncv4di2_load_mask */
13301 : :
13302 : : case 1:
13303 : : if (!(
13304 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13305 : : (TARGET_AVX512F) && (
13306 : : #line 9699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13307 : : (TARGET_AVX512DQ && 1) &&
13308 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13309 : : (TARGET_AVX512VL))))
13310 : : return -1;
13311 : : return 5084; /* fix_truncv4dfv4di2_mask */
13312 : :
13313 : : case 2:
13314 : : if (!(
13315 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13316 : : (TARGET_AVX512F) && (
13317 : : #line 9742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13318 : : (TARGET_AVX512DQ) &&
13319 : : #line 627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13320 : : (TARGET_AVX512VL))))
13321 : : return -1;
13322 : : return 5135; /* fix_truncv4sfv4di2_mask */
13323 : :
13324 : : default:
13325 : : return -1;
13326 : : }
13327 : :
13328 : : case 8:
13329 : : switch (pattern898 (x2))
13330 : : {
13331 : : case 0:
13332 : : if (!(
13333 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13334 : : (TARGET_AVX512F) &&
13335 : : #line 7965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13336 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13337 : : return -1;
13338 : : return 4684; /* *avx512fp16_fix_truncv2di2_load_mask */
13339 : :
13340 : : case 1:
13341 : : if (!(
13342 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13343 : : (TARGET_AVX512F) && (
13344 : : #line 9699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13345 : : (TARGET_AVX512DQ && 1) &&
13346 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13347 : : (TARGET_AVX512VL))))
13348 : : return -1;
13349 : : return 5091; /* fix_truncv2dfv2di2_mask */
13350 : :
13351 : : default:
13352 : : return -1;
13353 : : }
13354 : :
13355 : : case 9:
13356 : : if (!(
13357 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13358 : : (TARGET_AVX512F) &&
13359 : : #line 7905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13360 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13361 : : return -1;
13362 : : return 4660; /* avx512fp16_fix_truncv4si2_mask */
13363 : :
13364 : : case 10:
13365 : : if (!(
13366 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13367 : : (TARGET_AVX512F) &&
13368 : : #line 7905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13369 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13370 : : return -1;
13371 : : return 4664; /* avx512fp16_fix_truncv4di2_mask */
13372 : :
13373 : : case 11:
13374 : : if (!(
13375 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13376 : : (TARGET_AVX512F) &&
13377 : : #line 7955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13378 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13379 : : return -1;
13380 : : return 4680; /* avx512fp16_fix_truncv2di2_mask */
13381 : :
13382 : : case 12:
13383 : : if (!(
13384 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13385 : : (TARGET_AVX512F) &&
13386 : : #line 9765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13387 : : (TARGET_AVX512DQ && TARGET_AVX512VL)))
13388 : : return -1;
13389 : : return 5143; /* avx512dq_fix_truncv2sfv2di2_mask */
13390 : :
13391 : : default:
13392 : : return -1;
13393 : : }
13394 : : }
13395 : :
13396 : : int
13397 : : recog_202 (rtx x1 ATTRIBUTE_UNUSED,
13398 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13399 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13400 : : {
13401 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13402 : : rtx x2;
13403 : : int res ATTRIBUTE_UNUSED;
13404 : : x2 = XEXP (x1, 1);
13405 : : switch (pattern133 (x2))
13406 : : {
13407 : : case 0:
13408 : : switch (pattern891 (x2))
13409 : : {
13410 : : case 0:
13411 : : if (!(
13412 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13413 : : (TARGET_AVX512F) && (
13414 : : #line 7633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13415 : : (TARGET_AVX512FP16 && 1) &&
13416 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13417 : : (TARGET_AVX512VL))))
13418 : : return -1;
13419 : : return 4476; /* avx512fp16_vcvtw2ph_v8hi_mask */
13420 : :
13421 : : case 1:
13422 : : if (!(
13423 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13424 : : (TARGET_AVX512F) && (
13425 : : #line 7633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13426 : : (TARGET_AVX512FP16 && 1) &&
13427 : : #line 695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13428 : : (TARGET_AVX512VL))))
13429 : : return -1;
13430 : : return 4497; /* avx512fp16_vcvtdq2ph_v8si_mask */
13431 : :
13432 : : case 2:
13433 : : if (!(
13434 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13435 : : (TARGET_AVX512F) && (
13436 : : #line 7633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13437 : : (TARGET_AVX512FP16 && 1) &&
13438 : : #line 696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13439 : : (TARGET_EVEX512))))
13440 : : return -1;
13441 : : return 4513; /* avx512fp16_vcvtqq2ph_v8di_mask */
13442 : :
13443 : : default:
13444 : : return -1;
13445 : : }
13446 : :
13447 : : case 1:
13448 : : switch (pattern892 (x2))
13449 : : {
13450 : : case 0:
13451 : : if (!(
13452 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13453 : : (TARGET_AVX512F) && (
13454 : : #line 7633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13455 : : (TARGET_AVX512FP16 && 1) &&
13456 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13457 : : (TARGET_AVX512VL))))
13458 : : return -1;
13459 : : return 4481; /* avx512fp16_vcvtw2ph_v16hi_mask */
13460 : :
13461 : : case 1:
13462 : : if (!(
13463 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13464 : : (TARGET_AVX512F) && (
13465 : : #line 7633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13466 : : (TARGET_AVX512FP16 && 1) &&
13467 : : #line 695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13468 : : (TARGET_EVEX512))))
13469 : : return -1;
13470 : : return 4505; /* avx512fp16_vcvtdq2ph_v16si_mask */
13471 : :
13472 : : default:
13473 : : return -1;
13474 : : }
13475 : :
13476 : : case 2:
13477 : : if (pattern774 (x2,
13478 : : E_V32HFmode,
13479 : : E_SImode,
13480 : : E_V32HImode) != 0
13481 : : || !(
13482 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13483 : : (TARGET_AVX512F) && (
13484 : : #line 7633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13485 : : (TARGET_AVX512FP16 && 1) &&
13486 : : #line 694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13487 : : (TARGET_EVEX512))))
13488 : : return -1;
13489 : : return 4489; /* avx512fp16_vcvtw2ph_v32hi_mask */
13490 : :
13491 : : case 3:
13492 : : if (pattern774 (x2,
13493 : : E_V16SFmode,
13494 : : E_HImode,
13495 : : E_V16SImode) != 0
13496 : : || !(
13497 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13498 : : (TARGET_AVX512F) && (
13499 : : #line 8637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13500 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && 1) &&
13501 : : #line 434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13502 : : (TARGET_AVX512F && TARGET_EVEX512))))
13503 : : return -1;
13504 : : return 4810; /* floatv16siv16sf2_mask */
13505 : :
13506 : : case 4:
13507 : : if (pattern773 (x2,
13508 : : E_V8SFmode,
13509 : : E_QImode) != 0)
13510 : : return -1;
13511 : : switch (GET_MODE (operands[1]))
13512 : : {
13513 : : case E_V8SImode:
13514 : : if (!vector_operand (operands[1], E_V8SImode)
13515 : : || !(
13516 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13517 : : (TARGET_AVX512F) && (
13518 : : #line 8637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13519 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && 1) &&
13520 : : #line 434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13521 : : (TARGET_AVX))))
13522 : : return -1;
13523 : : return 4814; /* floatv8siv8sf2_mask */
13524 : :
13525 : : case E_V8DImode:
13526 : : if (!nonimmediate_operand (operands[1], E_V8DImode)
13527 : : || !(
13528 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13529 : : (TARGET_AVX512F) && (
13530 : : #line 9185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13531 : : (TARGET_AVX512DQ && 1) &&
13532 : : #line 627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13533 : : (TARGET_EVEX512))))
13534 : : return -1;
13535 : : return 4968; /* floatv8div8sf2_mask */
13536 : :
13537 : : default:
13538 : : return -1;
13539 : : }
13540 : :
13541 : : case 5:
13542 : : if (pattern773 (x2,
13543 : : E_V4SFmode,
13544 : : E_QImode) != 0)
13545 : : return -1;
13546 : : switch (GET_MODE (operands[1]))
13547 : : {
13548 : : case E_V4SImode:
13549 : : if (!vector_operand (operands[1], E_V4SImode)
13550 : : || !(
13551 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13552 : : (TARGET_AVX512F) &&
13553 : : #line 8637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13554 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && 1)))
13555 : : return -1;
13556 : : return 4817; /* floatv4siv4sf2_mask */
13557 : :
13558 : : case E_V4DImode:
13559 : : if (!nonimmediate_operand (operands[1], E_V4DImode)
13560 : : || !(
13561 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13562 : : (TARGET_AVX512F) && (
13563 : : #line 9185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13564 : : (TARGET_AVX512DQ && 1) &&
13565 : : #line 627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13566 : : (TARGET_AVX512VL))))
13567 : : return -1;
13568 : : return 4976; /* floatv4div4sf2_mask */
13569 : :
13570 : : default:
13571 : : return -1;
13572 : : }
13573 : :
13574 : : case 6:
13575 : : switch (pattern893 (x2,
13576 : : E_V8DFmode))
13577 : : {
13578 : : case 0:
13579 : : if (!(
13580 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13581 : : (TARGET_AVX512F) && (
13582 : : #line 9161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13583 : : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) &&
13584 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13585 : : (TARGET_AVX512F && TARGET_EVEX512))))
13586 : : return -1;
13587 : : return 4943; /* floatv8siv8df2_mask */
13588 : :
13589 : : case 1:
13590 : : if (!(
13591 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13592 : : (TARGET_AVX512F) && (
13593 : : #line 9171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13594 : : (TARGET_AVX512DQ && 1) &&
13595 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13596 : : (TARGET_EVEX512))))
13597 : : return -1;
13598 : : return 4948; /* floatv8div8df2_mask */
13599 : :
13600 : : default:
13601 : : return -1;
13602 : : }
13603 : :
13604 : : case 7:
13605 : : switch (pattern894 (x2,
13606 : : E_V4DFmode))
13607 : : {
13608 : : case 0:
13609 : : if (!(
13610 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13611 : : (TARGET_AVX512F) &&
13612 : : #line 9161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13613 : : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL))))
13614 : : return -1;
13615 : : return 4945; /* floatv4siv4df2_mask */
13616 : :
13617 : : case 1:
13618 : : if (!(
13619 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13620 : : (TARGET_AVX512F) && (
13621 : : #line 9171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13622 : : (TARGET_AVX512DQ && 1) &&
13623 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13624 : : (TARGET_AVX512VL))))
13625 : : return -1;
13626 : : return 4956; /* floatv4div4df2_mask */
13627 : :
13628 : : default:
13629 : : return -1;
13630 : : }
13631 : :
13632 : : case 8:
13633 : : if (pattern146 (x2,
13634 : : E_V2DFmode,
13635 : : E_V2DImode,
13636 : : E_QImode) != 0
13637 : : || !(
13638 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13639 : : (TARGET_AVX512F) && (
13640 : : #line 9171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13641 : : (TARGET_AVX512DQ && 1) &&
13642 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13643 : : (TARGET_AVX512VL))))
13644 : : return -1;
13645 : : return 4963; /* floatv2div2df2_mask */
13646 : :
13647 : : case 9:
13648 : : if (!(
13649 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13650 : : (TARGET_AVX512F) &&
13651 : : #line 9387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13652 : : (TARGET_SSE2 && TARGET_AVX512VL)))
13653 : : return -1;
13654 : : return 4997; /* sse2_cvtdq2pd_mask */
13655 : :
13656 : : default:
13657 : : return -1;
13658 : : }
13659 : : }
13660 : :
13661 : : int
13662 : : recog_214 (rtx x1 ATTRIBUTE_UNUSED,
13663 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13664 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13665 : : {
13666 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13667 : : rtx x2, x3;
13668 : : int res ATTRIBUTE_UNUSED;
13669 : : x2 = XEXP (x1, 1);
13670 : : x3 = XVECEXP (x2, 0, 0);
13671 : : operands[1] = x3;
13672 : : switch (GET_MODE (operands[0]))
13673 : : {
13674 : : case E_V8SFmode:
13675 : : if (!register_operand (operands[0], E_V8SFmode)
13676 : : || GET_MODE (x2) != E_V8SFmode
13677 : : || !vector_operand (operands[1], E_V8SFmode)
13678 : : || !(
13679 : : #line 2912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13680 : : (TARGET_SSE) &&
13681 : : #line 441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13682 : : (TARGET_AVX)))
13683 : : return -1;
13684 : : return 2875; /* avx_rcpv8sf2 */
13685 : :
13686 : : case E_V4SFmode:
13687 : : if (!register_operand (operands[0], E_V4SFmode)
13688 : : || GET_MODE (x2) != E_V4SFmode
13689 : : || !vector_operand (operands[1], E_V4SFmode)
13690 : : || !
13691 : : #line 2912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13692 : : (TARGET_SSE))
13693 : : return -1;
13694 : : return 2876; /* sse_rcpv4sf2 */
13695 : :
13696 : : case E_V32HFmode:
13697 : : if (!register_operand (operands[0], E_V32HFmode)
13698 : : || GET_MODE (x2) != E_V32HFmode
13699 : : || !nonimmediate_operand (operands[1], E_V32HFmode)
13700 : : || !(
13701 : : #line 2966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13702 : : (TARGET_AVX512FP16) &&
13703 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13704 : : (TARGET_EVEX512)))
13705 : : return -1;
13706 : : return 2879; /* avx512fp16_rcpv32hf2 */
13707 : :
13708 : : case E_V16HFmode:
13709 : : if (!register_operand (operands[0], E_V16HFmode)
13710 : : || GET_MODE (x2) != E_V16HFmode
13711 : : || !nonimmediate_operand (operands[1], E_V16HFmode)
13712 : : || !(
13713 : : #line 2966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13714 : : (TARGET_AVX512FP16) &&
13715 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13716 : : (TARGET_AVX512VL)))
13717 : : return -1;
13718 : : return 2881; /* avx512fp16_rcpv16hf2 */
13719 : :
13720 : : case E_V8HFmode:
13721 : : if (!register_operand (operands[0], E_V8HFmode)
13722 : : || GET_MODE (x2) != E_V8HFmode
13723 : : || !nonimmediate_operand (operands[1], E_V8HFmode)
13724 : : || !(
13725 : : #line 2966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13726 : : (TARGET_AVX512FP16) &&
13727 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13728 : : (TARGET_AVX512VL)))
13729 : : return -1;
13730 : : return 2883; /* avx512fp16_rcpv8hf2 */
13731 : :
13732 : : case E_V32BFmode:
13733 : : if (!register_operand (operands[0], E_V32BFmode)
13734 : : || GET_MODE (x2) != E_V32BFmode
13735 : : || !nonimmediate_operand (operands[1], E_V32BFmode)
13736 : : || !(
13737 : : #line 32396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13738 : : (TARGET_AVX10_2_256) &&
13739 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13740 : : (TARGET_AVX10_2_512)))
13741 : : return -1;
13742 : : return 10686; /* avx10_2_rcppbf16_v32bf */
13743 : :
13744 : : case E_V16BFmode:
13745 : : if (!register_operand (operands[0], E_V16BFmode)
13746 : : || GET_MODE (x2) != E_V16BFmode
13747 : : || !nonimmediate_operand (operands[1], E_V16BFmode)
13748 : : || !
13749 : : #line 32396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13750 : : (TARGET_AVX10_2_256))
13751 : : return -1;
13752 : : return 10688; /* avx10_2_rcppbf16_v16bf */
13753 : :
13754 : : case E_V8BFmode:
13755 : : if (!register_operand (operands[0], E_V8BFmode)
13756 : : || GET_MODE (x2) != E_V8BFmode
13757 : : || !nonimmediate_operand (operands[1], E_V8BFmode)
13758 : : || !
13759 : : #line 32396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13760 : : (TARGET_AVX10_2_256))
13761 : : return -1;
13762 : : return 10690; /* avx10_2_rcppbf16_v8bf */
13763 : :
13764 : : default:
13765 : : return -1;
13766 : : }
13767 : : }
13768 : :
13769 : : int
13770 : : recog_220 (rtx x1 ATTRIBUTE_UNUSED,
13771 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13772 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13773 : : {
13774 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13775 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13776 : : int res ATTRIBUTE_UNUSED;
13777 : : x2 = XEXP (x1, 1);
13778 : : x3 = XVECEXP (x2, 0, 0);
13779 : : x4 = XEXP (x3, 0);
13780 : : switch (XINT (x4, 1))
13781 : : {
13782 : : case 63:
13783 : : switch (pattern912 (x2))
13784 : : {
13785 : : case 0:
13786 : : if (!(
13787 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13788 : : (TARGET_AVX512F) && (
13789 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13790 : : (TARGET_AVX512F) && (
13791 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13792 : : (TARGET_SSE
13793 : : && (64 == 64 || TARGET_AVX512VL)
13794 : : && ((V32HFmode == V16SFmode
13795 : : || V32HFmode == V8DFmode
13796 : : || V32HFmode == V8DImode
13797 : : || V32HFmode == V16SImode
13798 : : || V32HFmode == V32HImode
13799 : : || V32HFmode == V32HFmode)
13800 : : || (TARGET_AVX10_2_256
13801 : : && (V32HFmode == V8SFmode
13802 : : || V32HFmode == V4DFmode
13803 : : || V32HFmode == V4DImode
13804 : : || V32HFmode == V8SImode
13805 : : || V32HFmode == V16HImode
13806 : : || V32HFmode == V16HFmode)))) &&
13807 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13808 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))))
13809 : : return -1;
13810 : : return 3064; /* ieee_maxv32hf3_mask_round */
13811 : :
13812 : : case 1:
13813 : : if (!(
13814 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13815 : : (TARGET_AVX512F) && (
13816 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13817 : : (TARGET_AVX512F) && (
13818 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13819 : : (TARGET_SSE
13820 : : && (32 == 64 || TARGET_AVX512VL)
13821 : : && ((V16HFmode == V16SFmode
13822 : : || V16HFmode == V8DFmode
13823 : : || V16HFmode == V8DImode
13824 : : || V16HFmode == V16SImode
13825 : : || V16HFmode == V32HImode
13826 : : || V16HFmode == V32HFmode)
13827 : : || (TARGET_AVX10_2_256
13828 : : && (V16HFmode == V8SFmode
13829 : : || V16HFmode == V4DFmode
13830 : : || V16HFmode == V4DImode
13831 : : || V16HFmode == V8SImode
13832 : : || V16HFmode == V16HImode
13833 : : || V16HFmode == V16HFmode)))) &&
13834 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13835 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
13836 : : return -1;
13837 : : return 3072; /* ieee_maxv16hf3_mask_round */
13838 : :
13839 : : case 2:
13840 : : if (!(
13841 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13842 : : (TARGET_AVX512F) && (
13843 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13844 : : (TARGET_AVX512F) && (
13845 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13846 : : (TARGET_SSE
13847 : : && (64 == 64 || TARGET_AVX512VL)
13848 : : && ((V16SFmode == V16SFmode
13849 : : || V16SFmode == V8DFmode
13850 : : || V16SFmode == V8DImode
13851 : : || V16SFmode == V16SImode
13852 : : || V16SFmode == V32HImode
13853 : : || V16SFmode == V32HFmode)
13854 : : || (TARGET_AVX10_2_256
13855 : : && (V16SFmode == V8SFmode
13856 : : || V16SFmode == V4DFmode
13857 : : || V16SFmode == V4DImode
13858 : : || V16SFmode == V8SImode
13859 : : || V16SFmode == V16HImode
13860 : : || V16SFmode == V16HFmode)))) &&
13861 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13862 : : (TARGET_AVX512F && TARGET_EVEX512)))))
13863 : : return -1;
13864 : : return 3084; /* ieee_maxv16sf3_mask_round */
13865 : :
13866 : : case 3:
13867 : : if (!(
13868 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13869 : : (TARGET_AVX512F) && (
13870 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13871 : : (TARGET_AVX512F) && (
13872 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13873 : : (TARGET_SSE
13874 : : && (32 == 64 || TARGET_AVX512VL)
13875 : : && ((V8SFmode == V16SFmode
13876 : : || V8SFmode == V8DFmode
13877 : : || V8SFmode == V8DImode
13878 : : || V8SFmode == V16SImode
13879 : : || V8SFmode == V32HImode
13880 : : || V8SFmode == V32HFmode)
13881 : : || (TARGET_AVX10_2_256
13882 : : && (V8SFmode == V8SFmode
13883 : : || V8SFmode == V4DFmode
13884 : : || V8SFmode == V4DImode
13885 : : || V8SFmode == V8SImode
13886 : : || V8SFmode == V16HImode
13887 : : || V8SFmode == V16HFmode)))) &&
13888 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13889 : : (TARGET_AVX)))))
13890 : : return -1;
13891 : : return 3092; /* ieee_maxv8sf3_mask_round */
13892 : :
13893 : : case 4:
13894 : : if (!(
13895 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13896 : : (TARGET_AVX512F) && (
13897 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13898 : : (TARGET_AVX512F) && (
13899 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13900 : : (TARGET_SSE
13901 : : && (64 == 64 || TARGET_AVX512VL)
13902 : : && ((V8DFmode == V16SFmode
13903 : : || V8DFmode == V8DFmode
13904 : : || V8DFmode == V8DImode
13905 : : || V8DFmode == V16SImode
13906 : : || V8DFmode == V32HImode
13907 : : || V8DFmode == V32HFmode)
13908 : : || (TARGET_AVX10_2_256
13909 : : && (V8DFmode == V8SFmode
13910 : : || V8DFmode == V4DFmode
13911 : : || V8DFmode == V4DImode
13912 : : || V8DFmode == V8SImode
13913 : : || V8DFmode == V16HImode
13914 : : || V8DFmode == V16HFmode)))) &&
13915 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13916 : : (TARGET_AVX512F && TARGET_EVEX512)))))
13917 : : return -1;
13918 : : return 3104; /* ieee_maxv8df3_mask_round */
13919 : :
13920 : : case 5:
13921 : : if (!(
13922 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13923 : : (TARGET_AVX512F) && (
13924 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13925 : : (TARGET_AVX512F) && (
13926 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13927 : : (TARGET_SSE
13928 : : && (32 == 64 || TARGET_AVX512VL)
13929 : : && ((V4DFmode == V16SFmode
13930 : : || V4DFmode == V8DFmode
13931 : : || V4DFmode == V8DImode
13932 : : || V4DFmode == V16SImode
13933 : : || V4DFmode == V32HImode
13934 : : || V4DFmode == V32HFmode)
13935 : : || (TARGET_AVX10_2_256
13936 : : && (V4DFmode == V8SFmode
13937 : : || V4DFmode == V4DFmode
13938 : : || V4DFmode == V4DImode
13939 : : || V4DFmode == V8SImode
13940 : : || V4DFmode == V16HImode
13941 : : || V4DFmode == V16HFmode)))) &&
13942 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13943 : : (TARGET_AVX)))))
13944 : : return -1;
13945 : : return 3112; /* ieee_maxv4df3_mask_round */
13946 : :
13947 : : case 6:
13948 : : if (!(
13949 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13950 : : (TARGET_AVX512F) && (
13951 : : #line 3486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13952 : : (TARGET_SSE) &&
13953 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13954 : : (TARGET_AVX512FP16))))
13955 : : return -1;
13956 : : return 3153; /* avx512fp16_ieee_vmmaxv8hf3_round */
13957 : :
13958 : : case 7:
13959 : : if (!(
13960 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13961 : : (TARGET_AVX512F) &&
13962 : : #line 3486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13963 : : (TARGET_SSE)))
13964 : : return -1;
13965 : : return 3161; /* sse_ieee_vmmaxv4sf3_round */
13966 : :
13967 : : case 8:
13968 : : if (!(
13969 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13970 : : (TARGET_AVX512F) && (
13971 : : #line 3486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13972 : : (TARGET_SSE) &&
13973 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13974 : : (TARGET_SSE2))))
13975 : : return -1;
13976 : : return 3169; /* sse2_ieee_vmmaxv2df3_round */
13977 : :
13978 : : default:
13979 : : return -1;
13980 : : }
13981 : :
13982 : : case 62:
13983 : : switch (pattern912 (x2))
13984 : : {
13985 : : case 0:
13986 : : if (!(
13987 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13988 : : (TARGET_AVX512F) && (
13989 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13990 : : (TARGET_AVX512F) && (
13991 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13992 : : (TARGET_SSE
13993 : : && (64 == 64 || TARGET_AVX512VL)
13994 : : && ((V32HFmode == V16SFmode
13995 : : || V32HFmode == V8DFmode
13996 : : || V32HFmode == V8DImode
13997 : : || V32HFmode == V16SImode
13998 : : || V32HFmode == V32HImode
13999 : : || V32HFmode == V32HFmode)
14000 : : || (TARGET_AVX10_2_256
14001 : : && (V32HFmode == V8SFmode
14002 : : || V32HFmode == V4DFmode
14003 : : || V32HFmode == V4DImode
14004 : : || V32HFmode == V8SImode
14005 : : || V32HFmode == V16HImode
14006 : : || V32HFmode == V16HFmode)))) &&
14007 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14008 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))))
14009 : : return -1;
14010 : : return 3068; /* ieee_minv32hf3_mask_round */
14011 : :
14012 : : case 1:
14013 : : if (!(
14014 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14015 : : (TARGET_AVX512F) && (
14016 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14017 : : (TARGET_AVX512F) && (
14018 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14019 : : (TARGET_SSE
14020 : : && (32 == 64 || TARGET_AVX512VL)
14021 : : && ((V16HFmode == V16SFmode
14022 : : || V16HFmode == V8DFmode
14023 : : || V16HFmode == V8DImode
14024 : : || V16HFmode == V16SImode
14025 : : || V16HFmode == V32HImode
14026 : : || V16HFmode == V32HFmode)
14027 : : || (TARGET_AVX10_2_256
14028 : : && (V16HFmode == V8SFmode
14029 : : || V16HFmode == V4DFmode
14030 : : || V16HFmode == V4DImode
14031 : : || V16HFmode == V8SImode
14032 : : || V16HFmode == V16HImode
14033 : : || V16HFmode == V16HFmode)))) &&
14034 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14035 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14036 : : return -1;
14037 : : return 3076; /* ieee_minv16hf3_mask_round */
14038 : :
14039 : : case 2:
14040 : : if (!(
14041 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14042 : : (TARGET_AVX512F) && (
14043 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14044 : : (TARGET_AVX512F) && (
14045 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14046 : : (TARGET_SSE
14047 : : && (64 == 64 || TARGET_AVX512VL)
14048 : : && ((V16SFmode == V16SFmode
14049 : : || V16SFmode == V8DFmode
14050 : : || V16SFmode == V8DImode
14051 : : || V16SFmode == V16SImode
14052 : : || V16SFmode == V32HImode
14053 : : || V16SFmode == V32HFmode)
14054 : : || (TARGET_AVX10_2_256
14055 : : && (V16SFmode == V8SFmode
14056 : : || V16SFmode == V4DFmode
14057 : : || V16SFmode == V4DImode
14058 : : || V16SFmode == V8SImode
14059 : : || V16SFmode == V16HImode
14060 : : || V16SFmode == V16HFmode)))) &&
14061 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14062 : : (TARGET_AVX512F && TARGET_EVEX512)))))
14063 : : return -1;
14064 : : return 3088; /* ieee_minv16sf3_mask_round */
14065 : :
14066 : : case 3:
14067 : : if (!(
14068 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14069 : : (TARGET_AVX512F) && (
14070 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14071 : : (TARGET_AVX512F) && (
14072 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14073 : : (TARGET_SSE
14074 : : && (32 == 64 || TARGET_AVX512VL)
14075 : : && ((V8SFmode == V16SFmode
14076 : : || V8SFmode == V8DFmode
14077 : : || V8SFmode == V8DImode
14078 : : || V8SFmode == V16SImode
14079 : : || V8SFmode == V32HImode
14080 : : || V8SFmode == V32HFmode)
14081 : : || (TARGET_AVX10_2_256
14082 : : && (V8SFmode == V8SFmode
14083 : : || V8SFmode == V4DFmode
14084 : : || V8SFmode == V4DImode
14085 : : || V8SFmode == V8SImode
14086 : : || V8SFmode == V16HImode
14087 : : || V8SFmode == V16HFmode)))) &&
14088 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14089 : : (TARGET_AVX)))))
14090 : : return -1;
14091 : : return 3096; /* ieee_minv8sf3_mask_round */
14092 : :
14093 : : case 4:
14094 : : if (!(
14095 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14096 : : (TARGET_AVX512F) && (
14097 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14098 : : (TARGET_AVX512F) && (
14099 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14100 : : (TARGET_SSE
14101 : : && (64 == 64 || TARGET_AVX512VL)
14102 : : && ((V8DFmode == V16SFmode
14103 : : || V8DFmode == V8DFmode
14104 : : || V8DFmode == V8DImode
14105 : : || V8DFmode == V16SImode
14106 : : || V8DFmode == V32HImode
14107 : : || V8DFmode == V32HFmode)
14108 : : || (TARGET_AVX10_2_256
14109 : : && (V8DFmode == V8SFmode
14110 : : || V8DFmode == V4DFmode
14111 : : || V8DFmode == V4DImode
14112 : : || V8DFmode == V8SImode
14113 : : || V8DFmode == V16HImode
14114 : : || V8DFmode == V16HFmode)))) &&
14115 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14116 : : (TARGET_AVX512F && TARGET_EVEX512)))))
14117 : : return -1;
14118 : : return 3108; /* ieee_minv8df3_mask_round */
14119 : :
14120 : : case 5:
14121 : : if (!(
14122 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14123 : : (TARGET_AVX512F) && (
14124 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14125 : : (TARGET_AVX512F) && (
14126 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14127 : : (TARGET_SSE
14128 : : && (32 == 64 || TARGET_AVX512VL)
14129 : : && ((V4DFmode == V16SFmode
14130 : : || V4DFmode == V8DFmode
14131 : : || V4DFmode == V8DImode
14132 : : || V4DFmode == V16SImode
14133 : : || V4DFmode == V32HImode
14134 : : || V4DFmode == V32HFmode)
14135 : : || (TARGET_AVX10_2_256
14136 : : && (V4DFmode == V8SFmode
14137 : : || V4DFmode == V4DFmode
14138 : : || V4DFmode == V4DImode
14139 : : || V4DFmode == V8SImode
14140 : : || V4DFmode == V16HImode
14141 : : || V4DFmode == V16HFmode)))) &&
14142 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14143 : : (TARGET_AVX)))))
14144 : : return -1;
14145 : : return 3116; /* ieee_minv4df3_mask_round */
14146 : :
14147 : : case 6:
14148 : : if (!(
14149 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14150 : : (TARGET_AVX512F) && (
14151 : : #line 3486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14152 : : (TARGET_SSE) &&
14153 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14154 : : (TARGET_AVX512FP16))))
14155 : : return -1;
14156 : : return 3157; /* avx512fp16_ieee_vmminv8hf3_round */
14157 : :
14158 : : case 7:
14159 : : if (!(
14160 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14161 : : (TARGET_AVX512F) &&
14162 : : #line 3486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14163 : : (TARGET_SSE)))
14164 : : return -1;
14165 : : return 3165; /* sse_ieee_vmminv4sf3_round */
14166 : :
14167 : : case 8:
14168 : : if (!(
14169 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14170 : : (TARGET_AVX512F) && (
14171 : : #line 3486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14172 : : (TARGET_SSE) &&
14173 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14174 : : (TARGET_SSE2))))
14175 : : return -1;
14176 : : return 3173; /* sse2_ieee_vmminv2df3_round */
14177 : :
14178 : : default:
14179 : : return -1;
14180 : : }
14181 : :
14182 : : case 192:
14183 : : x5 = XVECEXP (x4, 0, 0);
14184 : : operands[1] = x5;
14185 : : x6 = XVECEXP (x4, 0, 1);
14186 : : operands[2] = x6;
14187 : : if (!const_0_to_255_operand (operands[2], E_SImode))
14188 : : return -1;
14189 : : x7 = XEXP (x3, 1);
14190 : : operands[3] = x7;
14191 : : x8 = XEXP (x3, 2);
14192 : : operands[4] = x8;
14193 : : x9 = XVECEXP (x2, 0, 1);
14194 : : operands[5] = x9;
14195 : : if (!const48_operand (operands[5], E_SImode))
14196 : : return -1;
14197 : : switch (GET_MODE (operands[0]))
14198 : : {
14199 : : case E_V32HFmode:
14200 : : if (pattern1551 (x2,
14201 : : E_V32HFmode,
14202 : : E_SImode) != 0
14203 : : || !(
14204 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14205 : : (TARGET_AVX512F) && (
14206 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14207 : : (TARGET_AVX512F) && (
14208 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14209 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) && ((V32HFmode == V16SFmode
14210 : : || V32HFmode == V8DFmode
14211 : : || V32HFmode == V8DImode
14212 : : || V32HFmode == V16SImode
14213 : : || V32HFmode == V32HImode
14214 : : || V32HFmode == V32HFmode)
14215 : : || (TARGET_AVX10_2_256
14216 : : && (V32HFmode == V8SFmode
14217 : : || V32HFmode == V4DFmode
14218 : : || V32HFmode == V4DImode
14219 : : || V32HFmode == V8SImode
14220 : : || V32HFmode == V16HImode
14221 : : || V32HFmode == V16HFmode)))) &&
14222 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14223 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))))
14224 : : return -1;
14225 : : return 3192; /* reducepv32hf_mask_round */
14226 : :
14227 : : case E_V16HFmode:
14228 : : if (pattern1551 (x2,
14229 : : E_V16HFmode,
14230 : : E_HImode) != 0
14231 : : || !(
14232 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14233 : : (TARGET_AVX512F) && (
14234 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14235 : : (TARGET_AVX512F) && (
14236 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14237 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) && ((V16HFmode == V16SFmode
14238 : : || V16HFmode == V8DFmode
14239 : : || V16HFmode == V8DImode
14240 : : || V16HFmode == V16SImode
14241 : : || V16HFmode == V32HImode
14242 : : || V16HFmode == V32HFmode)
14243 : : || (TARGET_AVX10_2_256
14244 : : && (V16HFmode == V8SFmode
14245 : : || V16HFmode == V4DFmode
14246 : : || V16HFmode == V4DImode
14247 : : || V16HFmode == V8SImode
14248 : : || V16HFmode == V16HImode
14249 : : || V16HFmode == V16HFmode)))) &&
14250 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14251 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14252 : : return -1;
14253 : : return 3196; /* reducepv16hf_mask_round */
14254 : :
14255 : : case E_V16SFmode:
14256 : : if (pattern1551 (x2,
14257 : : E_V16SFmode,
14258 : : E_HImode) != 0
14259 : : || !(
14260 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14261 : : (TARGET_AVX512F) && (
14262 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14263 : : (TARGET_AVX512F) && (
14264 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14265 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode))) && ((V16SFmode == V16SFmode
14266 : : || V16SFmode == V8DFmode
14267 : : || V16SFmode == V8DImode
14268 : : || V16SFmode == V16SImode
14269 : : || V16SFmode == V32HImode
14270 : : || V16SFmode == V32HFmode)
14271 : : || (TARGET_AVX10_2_256
14272 : : && (V16SFmode == V8SFmode
14273 : : || V16SFmode == V4DFmode
14274 : : || V16SFmode == V4DImode
14275 : : || V16SFmode == V8SImode
14276 : : || V16SFmode == V16HImode
14277 : : || V16SFmode == V16HFmode)))) &&
14278 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14279 : : (TARGET_EVEX512)))))
14280 : : return -1;
14281 : : return 3202; /* reducepv16sf_mask_round */
14282 : :
14283 : : case E_V8SFmode:
14284 : : if (pattern1551 (x2,
14285 : : E_V8SFmode,
14286 : : E_QImode) != 0
14287 : : || !(
14288 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14289 : : (TARGET_AVX512F) && (
14290 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14291 : : (TARGET_AVX512F) && (
14292 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14293 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) && ((V8SFmode == V16SFmode
14294 : : || V8SFmode == V8DFmode
14295 : : || V8SFmode == V8DImode
14296 : : || V8SFmode == V16SImode
14297 : : || V8SFmode == V32HImode
14298 : : || V8SFmode == V32HFmode)
14299 : : || (TARGET_AVX10_2_256
14300 : : && (V8SFmode == V8SFmode
14301 : : || V8SFmode == V4DFmode
14302 : : || V8SFmode == V4DImode
14303 : : || V8SFmode == V8SImode
14304 : : || V8SFmode == V16HImode
14305 : : || V8SFmode == V16HFmode)))) &&
14306 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14307 : : (TARGET_AVX512VL)))))
14308 : : return -1;
14309 : : return 3206; /* reducepv8sf_mask_round */
14310 : :
14311 : : case E_V8DFmode:
14312 : : if (pattern1551 (x2,
14313 : : E_V8DFmode,
14314 : : E_QImode) != 0
14315 : : || !(
14316 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14317 : : (TARGET_AVX512F) && (
14318 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14319 : : (TARGET_AVX512F) && (
14320 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14321 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode))) && ((V8DFmode == V16SFmode
14322 : : || V8DFmode == V8DFmode
14323 : : || V8DFmode == V8DImode
14324 : : || V8DFmode == V16SImode
14325 : : || V8DFmode == V32HImode
14326 : : || V8DFmode == V32HFmode)
14327 : : || (TARGET_AVX10_2_256
14328 : : && (V8DFmode == V8SFmode
14329 : : || V8DFmode == V4DFmode
14330 : : || V8DFmode == V4DImode
14331 : : || V8DFmode == V8SImode
14332 : : || V8DFmode == V16HImode
14333 : : || V8DFmode == V16HFmode)))) &&
14334 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14335 : : (TARGET_EVEX512)))))
14336 : : return -1;
14337 : : return 3212; /* reducepv8df_mask_round */
14338 : :
14339 : : case E_V4DFmode:
14340 : : if (pattern1551 (x2,
14341 : : E_V4DFmode,
14342 : : E_QImode) != 0
14343 : : || !(
14344 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14345 : : (TARGET_AVX512F) && (
14346 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14347 : : (TARGET_AVX512F) && (
14348 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14349 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) && ((V4DFmode == V16SFmode
14350 : : || V4DFmode == V8DFmode
14351 : : || V4DFmode == V8DImode
14352 : : || V4DFmode == V16SImode
14353 : : || V4DFmode == V32HImode
14354 : : || V4DFmode == V32HFmode)
14355 : : || (TARGET_AVX10_2_256
14356 : : && (V4DFmode == V8SFmode
14357 : : || V4DFmode == V4DFmode
14358 : : || V4DFmode == V4DImode
14359 : : || V4DFmode == V8SImode
14360 : : || V4DFmode == V16HImode
14361 : : || V4DFmode == V16HFmode)))) &&
14362 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14363 : : (TARGET_AVX512VL)))))
14364 : : return -1;
14365 : : return 3216; /* reducepv4df_mask_round */
14366 : :
14367 : : default:
14368 : : return -1;
14369 : : }
14370 : :
14371 : : case 221:
14372 : : switch (pattern914 (x2))
14373 : : {
14374 : : case 0:
14375 : : if (!(
14376 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14377 : : (TARGET_AVX512F) && (
14378 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14379 : : (TARGET_AVX512F) && (
14380 : : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14381 : : (TARGET_AVX512FP16 && ((V32HFmode == V16SFmode
14382 : : || V32HFmode == V8DFmode
14383 : : || V32HFmode == V8DImode
14384 : : || V32HFmode == V16SImode
14385 : : || V32HFmode == V32HImode
14386 : : || V32HFmode == V32HFmode)
14387 : : || (TARGET_AVX10_2_256
14388 : : && (V32HFmode == V8SFmode
14389 : : || V32HFmode == V4DFmode
14390 : : || V32HFmode == V4DImode
14391 : : || V32HFmode == V8SImode
14392 : : || V32HFmode == V16HImode
14393 : : || V32HFmode == V16HFmode)))) &&
14394 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14395 : : (TARGET_EVEX512)))))
14396 : : return -1;
14397 : : return 4378; /* avx512bw_fmulc_v32hf_mask_round */
14398 : :
14399 : : case 1:
14400 : : if (!(
14401 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14402 : : (TARGET_AVX512F) && (
14403 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14404 : : (TARGET_AVX512F) && (
14405 : : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14406 : : (TARGET_AVX512FP16 && ((V16HFmode == V16SFmode
14407 : : || V16HFmode == V8DFmode
14408 : : || V16HFmode == V8DImode
14409 : : || V16HFmode == V16SImode
14410 : : || V16HFmode == V32HImode
14411 : : || V16HFmode == V32HFmode)
14412 : : || (TARGET_AVX10_2_256
14413 : : && (V16HFmode == V8SFmode
14414 : : || V16HFmode == V4DFmode
14415 : : || V16HFmode == V4DImode
14416 : : || V16HFmode == V8SImode
14417 : : || V16HFmode == V16HImode
14418 : : || V16HFmode == V16HFmode)))) &&
14419 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14420 : : (TARGET_AVX512VL)))))
14421 : : return -1;
14422 : : return 4386; /* avx512vl_fmulc_v16hf_mask_round */
14423 : :
14424 : : case 2:
14425 : : if (!(
14426 : : #line 460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14427 : : (TARGET_AVX512F) &&
14428 : : #line 7509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14429 : : (TARGET_AVX512FP16)))
14430 : : return -1;
14431 : : return 4408; /* avx512fp16_fmulcsh_v8hf_round */
14432 : :
14433 : : default:
14434 : : return -1;
14435 : : }
14436 : :
14437 : : case 222:
14438 : : switch (pattern914 (x2))
14439 : : {
14440 : : case 0:
14441 : : if (!(
14442 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14443 : : (TARGET_AVX512F) && (
14444 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14445 : : (TARGET_AVX512F) && (
14446 : : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14447 : : (TARGET_AVX512FP16 && ((V32HFmode == V16SFmode
14448 : : || V32HFmode == V8DFmode
14449 : : || V32HFmode == V8DImode
14450 : : || V32HFmode == V16SImode
14451 : : || V32HFmode == V32HImode
14452 : : || V32HFmode == V32HFmode)
14453 : : || (TARGET_AVX10_2_256
14454 : : && (V32HFmode == V8SFmode
14455 : : || V32HFmode == V4DFmode
14456 : : || V32HFmode == V4DImode
14457 : : || V32HFmode == V8SImode
14458 : : || V32HFmode == V16HImode
14459 : : || V32HFmode == V16HFmode)))) &&
14460 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14461 : : (TARGET_EVEX512)))))
14462 : : return -1;
14463 : : return 4382; /* avx512bw_fcmulc_v32hf_mask_round */
14464 : :
14465 : : case 1:
14466 : : if (!(
14467 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14468 : : (TARGET_AVX512F) && (
14469 : : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14470 : : (TARGET_AVX512F) && (
14471 : : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14472 : : (TARGET_AVX512FP16 && ((V16HFmode == V16SFmode
14473 : : || V16HFmode == V8DFmode
14474 : : || V16HFmode == V8DImode
14475 : : || V16HFmode == V16SImode
14476 : : || V16HFmode == V32HImode
14477 : : || V16HFmode == V32HFmode)
14478 : : || (TARGET_AVX10_2_256
14479 : : && (V16HFmode == V8SFmode
14480 : : || V16HFmode == V4DFmode
14481 : : || V16HFmode == V4DImode
14482 : : || V16HFmode == V8SImode
14483 : : || V16HFmode == V16HImode
14484 : : || V16HFmode == V16HFmode)))) &&
14485 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14486 : : (TARGET_AVX512VL)))))
14487 : : return -1;
14488 : : return 4390; /* avx512vl_fcmulc_v16hf_mask_round */
14489 : :
14490 : : case 2:
14491 : : if (!(
14492 : : #line 460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14493 : : (TARGET_AVX512F) &&
14494 : : #line 7509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14495 : : (TARGET_AVX512FP16)))
14496 : : return -1;
14497 : : return 4412; /* avx512fp16_fcmulcsh_v8hf_round */
14498 : :
14499 : : default:
14500 : : return -1;
14501 : : }
14502 : :
14503 : : case 58:
14504 : : x5 = XVECEXP (x4, 0, 0);
14505 : : operands[1] = x5;
14506 : : x6 = XVECEXP (x4, 0, 1);
14507 : : operands[2] = x6;
14508 : : x9 = XVECEXP (x2, 0, 1);
14509 : : if (!const_4_or_8_to_11_operand (x9, E_SImode))
14510 : : return -1;
14511 : : x8 = XEXP (x3, 2);
14512 : : switch (GET_CODE (x8))
14513 : : {
14514 : : case CONST_INT:
14515 : : if (XWINT (x8, 0) != 1L)
14516 : : return -1;
14517 : : operands[3] = x9;
14518 : : switch (pattern1406 (x2))
14519 : : {
14520 : : case 0:
14521 : : if (!(
14522 : : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14523 : : (TARGET_AVX512F) && (
14524 : : #line 13612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14525 : : (TARGET_AVX512F) &&
14526 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14527 : : (TARGET_AVX512FP16))))
14528 : : return -1;
14529 : : return 5415; /* avx512f_vmscalefv8hf_round */
14530 : :
14531 : : case 1:
14532 : : if (!
14533 : : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14534 : : (TARGET_AVX512F))
14535 : : return -1;
14536 : : return 5419; /* avx512f_vmscalefv4sf_round */
14537 : :
14538 : : case 2:
14539 : : if (!(
14540 : : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14541 : : (TARGET_AVX512F) && (
14542 : : #line 13612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14543 : : (TARGET_AVX512F) &&
14544 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14545 : : (TARGET_SSE2))))
14546 : : return -1;
14547 : : return 5423; /* avx512f_vmscalefv2df_round */
14548 : :
14549 : : default:
14550 : : return -1;
14551 : : }
14552 : :
14553 : : case REG:
14554 : : case SUBREG:
14555 : : operands[4] = x8;
14556 : : x7 = XEXP (x3, 1);
14557 : : operands[3] = x7;
14558 : : operands[5] = x9;
14559 : : switch (GET_MODE (operands[0]))
14560 : : {
14561 : : case E_V32HFmode:
14562 : : if (pattern1552 (x2,
14563 : : E_V32HFmode,
14564 : : E_SImode) != 0
14565 : : || !(
14566 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14567 : : (TARGET_AVX512F) && (
14568 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14569 : : (TARGET_AVX512F) && (
14570 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14571 : : (TARGET_AVX512F && ((V32HFmode == V16SFmode
14572 : : || V32HFmode == V8DFmode
14573 : : || V32HFmode == V8DImode
14574 : : || V32HFmode == V16SImode
14575 : : || V32HFmode == V32HImode
14576 : : || V32HFmode == V32HFmode)
14577 : : || (TARGET_AVX10_2_256
14578 : : && (V32HFmode == V8SFmode
14579 : : || V32HFmode == V4DFmode
14580 : : || V32HFmode == V4DImode
14581 : : || V32HFmode == V8SImode
14582 : : || V32HFmode == V16HImode
14583 : : || V32HFmode == V16HFmode)))) &&
14584 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14585 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))))
14586 : : return -1;
14587 : : return 5429; /* avx512bw_scalefv32hf_mask_round */
14588 : :
14589 : : case E_V16HFmode:
14590 : : if (pattern1552 (x2,
14591 : : E_V16HFmode,
14592 : : E_HImode) != 0
14593 : : || !(
14594 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14595 : : (TARGET_AVX512F) && (
14596 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14597 : : (TARGET_AVX512F) && (
14598 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14599 : : (TARGET_AVX512F && ((V16HFmode == V16SFmode
14600 : : || V16HFmode == V8DFmode
14601 : : || V16HFmode == V8DImode
14602 : : || V16HFmode == V16SImode
14603 : : || V16HFmode == V32HImode
14604 : : || V16HFmode == V32HFmode)
14605 : : || (TARGET_AVX10_2_256
14606 : : && (V16HFmode == V8SFmode
14607 : : || V16HFmode == V4DFmode
14608 : : || V16HFmode == V4DImode
14609 : : || V16HFmode == V8SImode
14610 : : || V16HFmode == V16HImode
14611 : : || V16HFmode == V16HFmode)))) &&
14612 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14613 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14614 : : return -1;
14615 : : return 5433; /* avx512vl_scalefv16hf_mask_round */
14616 : :
14617 : : case E_V16SFmode:
14618 : : if (pattern1552 (x2,
14619 : : E_V16SFmode,
14620 : : E_HImode) != 0
14621 : : || !(
14622 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14623 : : (TARGET_AVX512F) && (
14624 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14625 : : (TARGET_AVX512F) && (
14626 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14627 : : (TARGET_AVX512F && ((V16SFmode == V16SFmode
14628 : : || V16SFmode == V8DFmode
14629 : : || V16SFmode == V8DImode
14630 : : || V16SFmode == V16SImode
14631 : : || V16SFmode == V32HImode
14632 : : || V16SFmode == V32HFmode)
14633 : : || (TARGET_AVX10_2_256
14634 : : && (V16SFmode == V8SFmode
14635 : : || V16SFmode == V4DFmode
14636 : : || V16SFmode == V4DImode
14637 : : || V16SFmode == V8SImode
14638 : : || V16SFmode == V16HImode
14639 : : || V16SFmode == V16HFmode)))) &&
14640 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14641 : : (TARGET_EVEX512)))))
14642 : : return -1;
14643 : : return 5439; /* avx512f_scalefv16sf_mask_round */
14644 : :
14645 : : case E_V8SFmode:
14646 : : if (pattern1552 (x2,
14647 : : E_V8SFmode,
14648 : : E_QImode) != 0
14649 : : || !(
14650 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14651 : : (TARGET_AVX512F) && (
14652 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14653 : : (TARGET_AVX512F) && (
14654 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14655 : : (TARGET_AVX512F && ((V8SFmode == V16SFmode
14656 : : || V8SFmode == V8DFmode
14657 : : || V8SFmode == V8DImode
14658 : : || V8SFmode == V16SImode
14659 : : || V8SFmode == V32HImode
14660 : : || V8SFmode == V32HFmode)
14661 : : || (TARGET_AVX10_2_256
14662 : : && (V8SFmode == V8SFmode
14663 : : || V8SFmode == V4DFmode
14664 : : || V8SFmode == V4DImode
14665 : : || V8SFmode == V8SImode
14666 : : || V8SFmode == V16HImode
14667 : : || V8SFmode == V16HFmode)))) &&
14668 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14669 : : (TARGET_AVX512VL)))))
14670 : : return -1;
14671 : : return 5443; /* avx512vl_scalefv8sf_mask_round */
14672 : :
14673 : : case E_V8DFmode:
14674 : : if (pattern1552 (x2,
14675 : : E_V8DFmode,
14676 : : E_QImode) != 0
14677 : : || !(
14678 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14679 : : (TARGET_AVX512F) && (
14680 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14681 : : (TARGET_AVX512F) && (
14682 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14683 : : (TARGET_AVX512F && ((V8DFmode == V16SFmode
14684 : : || V8DFmode == V8DFmode
14685 : : || V8DFmode == V8DImode
14686 : : || V8DFmode == V16SImode
14687 : : || V8DFmode == V32HImode
14688 : : || V8DFmode == V32HFmode)
14689 : : || (TARGET_AVX10_2_256
14690 : : && (V8DFmode == V8SFmode
14691 : : || V8DFmode == V4DFmode
14692 : : || V8DFmode == V4DImode
14693 : : || V8DFmode == V8SImode
14694 : : || V8DFmode == V16HImode
14695 : : || V8DFmode == V16HFmode)))) &&
14696 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14697 : : (TARGET_EVEX512)))))
14698 : : return -1;
14699 : : return 5449; /* avx512f_scalefv8df_mask_round */
14700 : :
14701 : : case E_V4DFmode:
14702 : : if (pattern1552 (x2,
14703 : : E_V4DFmode,
14704 : : E_QImode) != 0
14705 : : || !(
14706 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14707 : : (TARGET_AVX512F) && (
14708 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14709 : : (TARGET_AVX512F) && (
14710 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14711 : : (TARGET_AVX512F && ((V4DFmode == V16SFmode
14712 : : || V4DFmode == V8DFmode
14713 : : || V4DFmode == V8DImode
14714 : : || V4DFmode == V16SImode
14715 : : || V4DFmode == V32HImode
14716 : : || V4DFmode == V32HFmode)
14717 : : || (TARGET_AVX10_2_256
14718 : : && (V4DFmode == V8SFmode
14719 : : || V4DFmode == V4DFmode
14720 : : || V4DFmode == V4DImode
14721 : : || V4DFmode == V8SImode
14722 : : || V4DFmode == V16HImode
14723 : : || V4DFmode == V16HFmode)))) &&
14724 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14725 : : (TARGET_AVX512VL)))))
14726 : : return -1;
14727 : : return 5453; /* avx512vl_scalefv4df_mask_round */
14728 : :
14729 : : default:
14730 : : return -1;
14731 : : }
14732 : :
14733 : : default:
14734 : : return -1;
14735 : : }
14736 : :
14737 : : case 165:
14738 : : x8 = XEXP (x3, 2);
14739 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14740 : : return -1;
14741 : : x5 = XVECEXP (x4, 0, 0);
14742 : : operands[1] = x5;
14743 : : x6 = XVECEXP (x4, 0, 1);
14744 : : operands[2] = x6;
14745 : : x9 = XVECEXP (x2, 0, 1);
14746 : : operands[3] = x9;
14747 : : if (!const48_operand (operands[3], E_SImode))
14748 : : return -1;
14749 : : switch (pattern1406 (x2))
14750 : : {
14751 : : case 0:
14752 : : if (!(
14753 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14754 : : (TARGET_AVX512F) && (
14755 : : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14756 : : (TARGET_AVX512F) &&
14757 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14758 : : (TARGET_AVX512FP16))))
14759 : : return -1;
14760 : : return 7066; /* avx512f_sgetexpv8hf_round */
14761 : :
14762 : : case 1:
14763 : : if (!
14764 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14765 : : (TARGET_AVX512F))
14766 : : return -1;
14767 : : return 7070; /* avx512f_sgetexpv4sf_round */
14768 : :
14769 : : case 2:
14770 : : if (!(
14771 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14772 : : (TARGET_AVX512F) && (
14773 : : #line 14045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14774 : : (TARGET_AVX512F) &&
14775 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14776 : : (TARGET_SSE2))))
14777 : : return -1;
14778 : : return 7074; /* avx512f_sgetexpv2df_round */
14779 : :
14780 : : default:
14781 : : return -1;
14782 : : }
14783 : :
14784 : : case 94:
14785 : : x6 = XVECEXP (x4, 0, 1);
14786 : : if (!const_0_to_255_operand (x6, E_SImode))
14787 : : return -1;
14788 : : x9 = XVECEXP (x2, 0, 1);
14789 : : if (!const48_operand (x9, E_SImode))
14790 : : return -1;
14791 : : x8 = XEXP (x3, 2);
14792 : : switch (GET_CODE (x8))
14793 : : {
14794 : : case REG:
14795 : : case SUBREG:
14796 : : operands[4] = x8;
14797 : : x5 = XVECEXP (x4, 0, 0);
14798 : : operands[1] = x5;
14799 : : operands[2] = x6;
14800 : : x7 = XEXP (x3, 1);
14801 : : operands[3] = x7;
14802 : : operands[5] = x9;
14803 : : switch (GET_MODE (operands[0]))
14804 : : {
14805 : : case E_V32HFmode:
14806 : : if (pattern1553 (x2,
14807 : : E_V32HFmode,
14808 : : E_SImode) != 0
14809 : : || !(
14810 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14811 : : (TARGET_AVX512F) && (
14812 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14813 : : (TARGET_AVX512F) && (
14814 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14815 : : (TARGET_AVX512F && ((V32HFmode == V16SFmode
14816 : : || V32HFmode == V8DFmode
14817 : : || V32HFmode == V8DImode
14818 : : || V32HFmode == V16SImode
14819 : : || V32HFmode == V32HImode
14820 : : || V32HFmode == V32HFmode)
14821 : : || (TARGET_AVX10_2_256
14822 : : && (V32HFmode == V8SFmode
14823 : : || V32HFmode == V4DFmode
14824 : : || V32HFmode == V4DImode
14825 : : || V32HFmode == V8SImode
14826 : : || V32HFmode == V16HImode
14827 : : || V32HFmode == V16HFmode)))) &&
14828 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14829 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))))
14830 : : return -1;
14831 : : return 7141; /* avx512bw_rndscalev32hf_mask_round */
14832 : :
14833 : : case E_V16HFmode:
14834 : : if (pattern1553 (x2,
14835 : : E_V16HFmode,
14836 : : E_HImode) != 0
14837 : : || !(
14838 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14839 : : (TARGET_AVX512F) && (
14840 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14841 : : (TARGET_AVX512F) && (
14842 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14843 : : (TARGET_AVX512F && ((V16HFmode == V16SFmode
14844 : : || V16HFmode == V8DFmode
14845 : : || V16HFmode == V8DImode
14846 : : || V16HFmode == V16SImode
14847 : : || V16HFmode == V32HImode
14848 : : || V16HFmode == V32HFmode)
14849 : : || (TARGET_AVX10_2_256
14850 : : && (V16HFmode == V8SFmode
14851 : : || V16HFmode == V4DFmode
14852 : : || V16HFmode == V4DImode
14853 : : || V16HFmode == V8SImode
14854 : : || V16HFmode == V16HImode
14855 : : || V16HFmode == V16HFmode)))) &&
14856 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14857 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14858 : : return -1;
14859 : : return 7145; /* avx512vl_rndscalev16hf_mask_round */
14860 : :
14861 : : case E_V16SFmode:
14862 : : if (pattern1553 (x2,
14863 : : E_V16SFmode,
14864 : : E_HImode) != 0
14865 : : || !(
14866 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14867 : : (TARGET_AVX512F) && (
14868 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14869 : : (TARGET_AVX512F) && (
14870 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14871 : : (TARGET_AVX512F && ((V16SFmode == V16SFmode
14872 : : || V16SFmode == V8DFmode
14873 : : || V16SFmode == V8DImode
14874 : : || V16SFmode == V16SImode
14875 : : || V16SFmode == V32HImode
14876 : : || V16SFmode == V32HFmode)
14877 : : || (TARGET_AVX10_2_256
14878 : : && (V16SFmode == V8SFmode
14879 : : || V16SFmode == V4DFmode
14880 : : || V16SFmode == V4DImode
14881 : : || V16SFmode == V8SImode
14882 : : || V16SFmode == V16HImode
14883 : : || V16SFmode == V16HFmode)))) &&
14884 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14885 : : (TARGET_EVEX512)))))
14886 : : return -1;
14887 : : return 7151; /* avx512f_rndscalev16sf_mask_round */
14888 : :
14889 : : case E_V8SFmode:
14890 : : if (pattern1553 (x2,
14891 : : E_V8SFmode,
14892 : : E_QImode) != 0
14893 : : || !(
14894 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14895 : : (TARGET_AVX512F) && (
14896 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14897 : : (TARGET_AVX512F) && (
14898 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14899 : : (TARGET_AVX512F && ((V8SFmode == V16SFmode
14900 : : || V8SFmode == V8DFmode
14901 : : || V8SFmode == V8DImode
14902 : : || V8SFmode == V16SImode
14903 : : || V8SFmode == V32HImode
14904 : : || V8SFmode == V32HFmode)
14905 : : || (TARGET_AVX10_2_256
14906 : : && (V8SFmode == V8SFmode
14907 : : || V8SFmode == V4DFmode
14908 : : || V8SFmode == V4DImode
14909 : : || V8SFmode == V8SImode
14910 : : || V8SFmode == V16HImode
14911 : : || V8SFmode == V16HFmode)))) &&
14912 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14913 : : (TARGET_AVX512VL)))))
14914 : : return -1;
14915 : : return 7155; /* avx512vl_rndscalev8sf_mask_round */
14916 : :
14917 : : case E_V8DFmode:
14918 : : if (pattern1553 (x2,
14919 : : E_V8DFmode,
14920 : : E_QImode) != 0
14921 : : || !(
14922 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14923 : : (TARGET_AVX512F) && (
14924 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14925 : : (TARGET_AVX512F) && (
14926 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14927 : : (TARGET_AVX512F && ((V8DFmode == V16SFmode
14928 : : || V8DFmode == V8DFmode
14929 : : || V8DFmode == V8DImode
14930 : : || V8DFmode == V16SImode
14931 : : || V8DFmode == V32HImode
14932 : : || V8DFmode == V32HFmode)
14933 : : || (TARGET_AVX10_2_256
14934 : : && (V8DFmode == V8SFmode
14935 : : || V8DFmode == V4DFmode
14936 : : || V8DFmode == V4DImode
14937 : : || V8DFmode == V8SImode
14938 : : || V8DFmode == V16HImode
14939 : : || V8DFmode == V16HFmode)))) &&
14940 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14941 : : (TARGET_EVEX512)))))
14942 : : return -1;
14943 : : return 7161; /* avx512f_rndscalev8df_mask_round */
14944 : :
14945 : : case E_V4DFmode:
14946 : : if (pattern1553 (x2,
14947 : : E_V4DFmode,
14948 : : E_QImode) != 0
14949 : : || !(
14950 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14951 : : (TARGET_AVX512F) && (
14952 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14953 : : (TARGET_AVX512F) && (
14954 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14955 : : (TARGET_AVX512F && ((V4DFmode == V16SFmode
14956 : : || V4DFmode == V8DFmode
14957 : : || V4DFmode == V8DImode
14958 : : || V4DFmode == V16SImode
14959 : : || V4DFmode == V32HImode
14960 : : || V4DFmode == V32HFmode)
14961 : : || (TARGET_AVX10_2_256
14962 : : && (V4DFmode == V8SFmode
14963 : : || V4DFmode == V4DFmode
14964 : : || V4DFmode == V4DImode
14965 : : || V4DFmode == V8SImode
14966 : : || V4DFmode == V16HImode
14967 : : || V4DFmode == V16HFmode)))) &&
14968 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14969 : : (TARGET_AVX512VL)))))
14970 : : return -1;
14971 : : return 7165; /* avx512vl_rndscalev4df_mask_round */
14972 : :
14973 : : default:
14974 : : return -1;
14975 : : }
14976 : :
14977 : : case CONST_INT:
14978 : : if (XWINT (x8, 0) != 1L)
14979 : : return -1;
14980 : : x5 = XVECEXP (x4, 0, 0);
14981 : : operands[2] = x5;
14982 : : operands[3] = x6;
14983 : : x7 = XEXP (x3, 1);
14984 : : operands[1] = x7;
14985 : : operands[4] = x9;
14986 : : switch (GET_MODE (operands[0]))
14987 : : {
14988 : : case E_V8HFmode:
14989 : : if (pattern1584 (x2,
14990 : : E_V8HFmode) != 0
14991 : : || !(
14992 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14993 : : (TARGET_AVX512F) && (
14994 : : #line 14239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14995 : : (TARGET_AVX512F) &&
14996 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14997 : : (TARGET_AVX512FP16))))
14998 : : return -1;
14999 : : return 7170; /* avx512f_rndscalev8hf_round */
15000 : :
15001 : : case E_V4SFmode:
15002 : : if (pattern1584 (x2,
15003 : : E_V4SFmode) != 0
15004 : : || !
15005 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15006 : : (TARGET_AVX512F))
15007 : : return -1;
15008 : : return 7174; /* avx512f_rndscalev4sf_round */
15009 : :
15010 : : case E_V2DFmode:
15011 : : if (pattern1584 (x2,
15012 : : E_V2DFmode) != 0
15013 : : || !(
15014 : : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15015 : : (TARGET_AVX512F) && (
15016 : : #line 14239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15017 : : (TARGET_AVX512F) &&
15018 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15019 : : (TARGET_SSE2))))
15020 : : return -1;
15021 : : return 7178; /* avx512f_rndscalev2df_round */
15022 : :
15023 : : default:
15024 : : return -1;
15025 : : }
15026 : :
15027 : : default:
15028 : : return -1;
15029 : : }
15030 : :
15031 : : case 150:
15032 : : if (GET_MODE (x4) != E_V16HImode
15033 : : || !register_operand (operands[0], E_V16HImode)
15034 : : || GET_MODE (x2) != E_V16HImode
15035 : : || GET_MODE (x3) != E_V16HImode)
15036 : : return -1;
15037 : : x5 = XVECEXP (x4, 0, 0);
15038 : : operands[1] = x5;
15039 : : if (!register_operand (operands[1], E_V16SFmode))
15040 : : return -1;
15041 : : x6 = XVECEXP (x4, 0, 1);
15042 : : operands[2] = x6;
15043 : : if (!const_0_to_255_operand (operands[2], E_SImode))
15044 : : return -1;
15045 : : x7 = XEXP (x3, 1);
15046 : : operands[3] = x7;
15047 : : if (!nonimm_or_0_operand (operands[3], E_V16HImode))
15048 : : return -1;
15049 : : x8 = XEXP (x3, 2);
15050 : : operands[4] = x8;
15051 : : if (!register_operand (operands[4], E_HImode))
15052 : : return -1;
15053 : : x9 = XVECEXP (x2, 0, 1);
15054 : : operands[5] = x9;
15055 : : if (!const48_operand (operands[5], E_SImode)
15056 : : || !(
15057 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15058 : : (TARGET_AVX512F) && (
15059 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15060 : : (TARGET_AVX512F) &&
15061 : : #line 29218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15062 : : (TARGET_AVX512F && TARGET_EVEX512))))
15063 : : return -1;
15064 : : return 9665; /* avx512f_vcvtps2ph512_mask_round */
15065 : :
15066 : : case 166:
15067 : : x5 = XVECEXP (x4, 0, 0);
15068 : : operands[1] = x5;
15069 : : x6 = XVECEXP (x4, 0, 1);
15070 : : operands[2] = x6;
15071 : : if (!const_0_to_15_operand (operands[2], E_SImode))
15072 : : return -1;
15073 : : x7 = XEXP (x3, 1);
15074 : : operands[3] = x7;
15075 : : x8 = XEXP (x3, 2);
15076 : : operands[4] = x8;
15077 : : x9 = XVECEXP (x2, 0, 1);
15078 : : operands[5] = x9;
15079 : : if (!const48_operand (operands[5], E_SImode))
15080 : : return -1;
15081 : : switch (GET_MODE (operands[0]))
15082 : : {
15083 : : case E_V32HFmode:
15084 : : if (pattern1553 (x2,
15085 : : E_V32HFmode,
15086 : : E_SImode) != 0
15087 : : || !(
15088 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15089 : : (TARGET_AVX512F) && (
15090 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15091 : : (TARGET_AVX512F) && (
15092 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15093 : : (TARGET_AVX512F && ((V32HFmode == V16SFmode
15094 : : || V32HFmode == V8DFmode
15095 : : || V32HFmode == V8DImode
15096 : : || V32HFmode == V16SImode
15097 : : || V32HFmode == V32HImode
15098 : : || V32HFmode == V32HFmode)
15099 : : || (TARGET_AVX10_2_256
15100 : : && (V32HFmode == V8SFmode
15101 : : || V32HFmode == V4DFmode
15102 : : || V32HFmode == V4DImode
15103 : : || V32HFmode == V8SImode
15104 : : || V32HFmode == V16HImode
15105 : : || V32HFmode == V16HFmode)))) &&
15106 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15107 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))))
15108 : : return -1;
15109 : : return 10011; /* avx512bw_getmantv32hf_mask_round */
15110 : :
15111 : : case E_V16HFmode:
15112 : : if (pattern1553 (x2,
15113 : : E_V16HFmode,
15114 : : E_HImode) != 0
15115 : : || !(
15116 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15117 : : (TARGET_AVX512F) && (
15118 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15119 : : (TARGET_AVX512F) && (
15120 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15121 : : (TARGET_AVX512F && ((V16HFmode == V16SFmode
15122 : : || V16HFmode == V8DFmode
15123 : : || V16HFmode == V8DImode
15124 : : || V16HFmode == V16SImode
15125 : : || V16HFmode == V32HImode
15126 : : || V16HFmode == V32HFmode)
15127 : : || (TARGET_AVX10_2_256
15128 : : && (V16HFmode == V8SFmode
15129 : : || V16HFmode == V4DFmode
15130 : : || V16HFmode == V4DImode
15131 : : || V16HFmode == V8SImode
15132 : : || V16HFmode == V16HImode
15133 : : || V16HFmode == V16HFmode)))) &&
15134 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15135 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
15136 : : return -1;
15137 : : return 10015; /* avx512vl_getmantv16hf_mask_round */
15138 : :
15139 : : case E_V16SFmode:
15140 : : if (pattern1553 (x2,
15141 : : E_V16SFmode,
15142 : : E_HImode) != 0
15143 : : || !(
15144 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15145 : : (TARGET_AVX512F) && (
15146 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15147 : : (TARGET_AVX512F) && (
15148 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15149 : : (TARGET_AVX512F && ((V16SFmode == V16SFmode
15150 : : || V16SFmode == V8DFmode
15151 : : || V16SFmode == V8DImode
15152 : : || V16SFmode == V16SImode
15153 : : || V16SFmode == V32HImode
15154 : : || V16SFmode == V32HFmode)
15155 : : || (TARGET_AVX10_2_256
15156 : : && (V16SFmode == V8SFmode
15157 : : || V16SFmode == V4DFmode
15158 : : || V16SFmode == V4DImode
15159 : : || V16SFmode == V8SImode
15160 : : || V16SFmode == V16HImode
15161 : : || V16SFmode == V16HFmode)))) &&
15162 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15163 : : (TARGET_EVEX512)))))
15164 : : return -1;
15165 : : return 10021; /* avx512f_getmantv16sf_mask_round */
15166 : :
15167 : : case E_V8SFmode:
15168 : : if (pattern1553 (x2,
15169 : : E_V8SFmode,
15170 : : E_QImode) != 0
15171 : : || !(
15172 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15173 : : (TARGET_AVX512F) && (
15174 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15175 : : (TARGET_AVX512F) && (
15176 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15177 : : (TARGET_AVX512F && ((V8SFmode == V16SFmode
15178 : : || V8SFmode == V8DFmode
15179 : : || V8SFmode == V8DImode
15180 : : || V8SFmode == V16SImode
15181 : : || V8SFmode == V32HImode
15182 : : || V8SFmode == V32HFmode)
15183 : : || (TARGET_AVX10_2_256
15184 : : && (V8SFmode == V8SFmode
15185 : : || V8SFmode == V4DFmode
15186 : : || V8SFmode == V4DImode
15187 : : || V8SFmode == V8SImode
15188 : : || V8SFmode == V16HImode
15189 : : || V8SFmode == V16HFmode)))) &&
15190 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15191 : : (TARGET_AVX512VL)))))
15192 : : return -1;
15193 : : return 10025; /* avx512vl_getmantv8sf_mask_round */
15194 : :
15195 : : case E_V8DFmode:
15196 : : if (pattern1553 (x2,
15197 : : E_V8DFmode,
15198 : : E_QImode) != 0
15199 : : || !(
15200 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15201 : : (TARGET_AVX512F) && (
15202 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15203 : : (TARGET_AVX512F) && (
15204 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15205 : : (TARGET_AVX512F && ((V8DFmode == V16SFmode
15206 : : || V8DFmode == V8DFmode
15207 : : || V8DFmode == V8DImode
15208 : : || V8DFmode == V16SImode
15209 : : || V8DFmode == V32HImode
15210 : : || V8DFmode == V32HFmode)
15211 : : || (TARGET_AVX10_2_256
15212 : : && (V8DFmode == V8SFmode
15213 : : || V8DFmode == V4DFmode
15214 : : || V8DFmode == V4DImode
15215 : : || V8DFmode == V8SImode
15216 : : || V8DFmode == V16HImode
15217 : : || V8DFmode == V16HFmode)))) &&
15218 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15219 : : (TARGET_EVEX512)))))
15220 : : return -1;
15221 : : return 10031; /* avx512f_getmantv8df_mask_round */
15222 : :
15223 : : case E_V4DFmode:
15224 : : if (pattern1553 (x2,
15225 : : E_V4DFmode,
15226 : : E_QImode) != 0
15227 : : || !(
15228 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15229 : : (TARGET_AVX512F) && (
15230 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15231 : : (TARGET_AVX512F) && (
15232 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15233 : : (TARGET_AVX512F && ((V4DFmode == V16SFmode
15234 : : || V4DFmode == V8DFmode
15235 : : || V4DFmode == V8DImode
15236 : : || V4DFmode == V16SImode
15237 : : || V4DFmode == V32HImode
15238 : : || V4DFmode == V32HFmode)
15239 : : || (TARGET_AVX10_2_256
15240 : : && (V4DFmode == V8SFmode
15241 : : || V4DFmode == V4DFmode
15242 : : || V4DFmode == V4DImode
15243 : : || V4DFmode == V8SImode
15244 : : || V4DFmode == V16HImode
15245 : : || V4DFmode == V16HFmode)))) &&
15246 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15247 : : (TARGET_AVX512VL)))))
15248 : : return -1;
15249 : : return 10035; /* avx512vl_getmantv4df_mask_round */
15250 : :
15251 : : default:
15252 : : return -1;
15253 : : }
15254 : :
15255 : : default:
15256 : : return -1;
15257 : : }
15258 : : }
15259 : :
15260 : : int
15261 : : recog_238 (rtx x1 ATTRIBUTE_UNUSED,
15262 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15263 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15264 : : {
15265 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15266 : : rtx x2, x3, x4, x5;
15267 : : int res ATTRIBUTE_UNUSED;
15268 : : x2 = XEXP (x1, 0);
15269 : : operands[0] = x2;
15270 : : x3 = XEXP (x1, 1);
15271 : : x4 = XVECEXP (x3, 0, 0);
15272 : : operands[1] = x4;
15273 : : x5 = XVECEXP (x3, 0, 1);
15274 : : operands[2] = x5;
15275 : : if (!const_0_to_255_operand (operands[2], E_SImode))
15276 : : return -1;
15277 : : switch (GET_MODE (operands[0]))
15278 : : {
15279 : : case E_V32HFmode:
15280 : : if (!register_operand (operands[0], E_V32HFmode)
15281 : : || GET_MODE (x3) != E_V32HFmode
15282 : : || !vector_operand (operands[1], E_V32HFmode)
15283 : : || !(
15284 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15285 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) && 1) &&
15286 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15287 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))
15288 : : return -1;
15289 : : return 3189; /* *reducepv32hf */
15290 : :
15291 : : case E_V16HFmode:
15292 : : if (!register_operand (operands[0], E_V16HFmode)
15293 : : || GET_MODE (x3) != E_V16HFmode
15294 : : || !vector_operand (operands[1], E_V16HFmode)
15295 : : || !(
15296 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15297 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) && 1) &&
15298 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15299 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15300 : : return -1;
15301 : : return 3193; /* *reducepv16hf */
15302 : :
15303 : : case E_V8HFmode:
15304 : : if (!register_operand (operands[0], E_V8HFmode)
15305 : : || GET_MODE (x3) != E_V8HFmode
15306 : : || !vector_operand (operands[1], E_V8HFmode)
15307 : : || !(
15308 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15309 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) && 1) &&
15310 : : #line 527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15311 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15312 : : return -1;
15313 : : return 3197; /* *reducepv8hf */
15314 : :
15315 : : case E_V16SFmode:
15316 : : if (!register_operand (operands[0], E_V16SFmode)
15317 : : || GET_MODE (x3) != E_V16SFmode
15318 : : || !vector_operand (operands[1], E_V16SFmode)
15319 : : || !(
15320 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15321 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode))) && 1) &&
15322 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15323 : : (TARGET_EVEX512)))
15324 : : return -1;
15325 : : return 3199; /* *reducepv16sf */
15326 : :
15327 : : case E_V8SFmode:
15328 : : if (!register_operand (operands[0], E_V8SFmode)
15329 : : || GET_MODE (x3) != E_V8SFmode
15330 : : || !vector_operand (operands[1], E_V8SFmode)
15331 : : || !(
15332 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15333 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) && 1) &&
15334 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15335 : : (TARGET_AVX512VL)))
15336 : : return -1;
15337 : : return 3203; /* *reducepv8sf */
15338 : :
15339 : : case E_V4SFmode:
15340 : : if (!register_operand (operands[0], E_V4SFmode)
15341 : : || GET_MODE (x3) != E_V4SFmode
15342 : : || !vector_operand (operands[1], E_V4SFmode)
15343 : : || !(
15344 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15345 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) && 1) &&
15346 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15347 : : (TARGET_AVX512VL)))
15348 : : return -1;
15349 : : return 3207; /* *reducepv4sf */
15350 : :
15351 : : case E_V8DFmode:
15352 : : if (!register_operand (operands[0], E_V8DFmode)
15353 : : || GET_MODE (x3) != E_V8DFmode
15354 : : || !vector_operand (operands[1], E_V8DFmode)
15355 : : || !(
15356 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15357 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode))) && 1) &&
15358 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15359 : : (TARGET_EVEX512)))
15360 : : return -1;
15361 : : return 3209; /* *reducepv8df */
15362 : :
15363 : : case E_V4DFmode:
15364 : : if (!register_operand (operands[0], E_V4DFmode)
15365 : : || GET_MODE (x3) != E_V4DFmode
15366 : : || !vector_operand (operands[1], E_V4DFmode)
15367 : : || !(
15368 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15369 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) && 1) &&
15370 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15371 : : (TARGET_AVX512VL)))
15372 : : return -1;
15373 : : return 3213; /* *reducepv4df */
15374 : :
15375 : : case E_V2DFmode:
15376 : : if (!register_operand (operands[0], E_V2DFmode)
15377 : : || GET_MODE (x3) != E_V2DFmode
15378 : : || !vector_operand (operands[1], E_V2DFmode)
15379 : : || !(
15380 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15381 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) && 1) &&
15382 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15383 : : (TARGET_AVX512VL)))
15384 : : return -1;
15385 : : return 3217; /* *reducepv2df */
15386 : :
15387 : : default:
15388 : : return -1;
15389 : : }
15390 : : }
15391 : :
15392 : : int
15393 : : recog_241 (rtx x1 ATTRIBUTE_UNUSED,
15394 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15395 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15396 : : {
15397 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15398 : : rtx x2, x3, x4, x5;
15399 : : int res ATTRIBUTE_UNUSED;
15400 : : x2 = XEXP (x1, 0);
15401 : : operands[0] = x2;
15402 : : x3 = XEXP (x1, 1);
15403 : : x4 = XVECEXP (x3, 0, 0);
15404 : : operands[2] = x4;
15405 : : x5 = XVECEXP (x3, 0, 1);
15406 : : operands[1] = x5;
15407 : : switch (GET_MODE (operands[0]))
15408 : : {
15409 : : case E_V4SFmode:
15410 : : if (pattern786 (x3,
15411 : : E_V4SFmode,
15412 : : E_V4SImode) != 0
15413 : : || !
15414 : : #line 28621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15415 : : (TARGET_AVX))
15416 : : return -1;
15417 : : return 9482; /* avx_maskloadps */
15418 : :
15419 : : case E_V2DFmode:
15420 : : if (pattern786 (x3,
15421 : : E_V2DFmode,
15422 : : E_V2DImode) != 0
15423 : : || !
15424 : : #line 28621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15425 : : (TARGET_AVX))
15426 : : return -1;
15427 : : return 9483; /* avx_maskloadpd */
15428 : :
15429 : : case E_V4DImode:
15430 : : if (pattern787 (x3,
15431 : : E_V4DImode) != 0
15432 : : || !
15433 : : #line 28621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15434 : : (TARGET_AVX))
15435 : : return -1;
15436 : : return 9484; /* avx2_maskloadq256 */
15437 : :
15438 : : case E_V2DImode:
15439 : : if (pattern787 (x3,
15440 : : E_V2DImode) != 0
15441 : : || !
15442 : : #line 28621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15443 : : (TARGET_AVX))
15444 : : return -1;
15445 : : return 9485; /* avx2_maskloadq */
15446 : :
15447 : : case E_V8SFmode:
15448 : : if (pattern786 (x3,
15449 : : E_V8SFmode,
15450 : : E_V8SImode) != 0
15451 : : || !
15452 : : #line 28621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15453 : : (TARGET_AVX))
15454 : : return -1;
15455 : : return 9486; /* avx_maskloadps256 */
15456 : :
15457 : : case E_V4DFmode:
15458 : : if (pattern786 (x3,
15459 : : E_V4DFmode,
15460 : : E_V4DImode) != 0
15461 : : || !
15462 : : #line 28621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15463 : : (TARGET_AVX))
15464 : : return -1;
15465 : : return 9487; /* avx_maskloadpd256 */
15466 : :
15467 : : case E_V8SImode:
15468 : : if (pattern787 (x3,
15469 : : E_V8SImode) != 0
15470 : : || !
15471 : : #line 28621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15472 : : (TARGET_AVX))
15473 : : return -1;
15474 : : return 9488; /* avx2_maskloadd256 */
15475 : :
15476 : : case E_V4SImode:
15477 : : if (pattern787 (x3,
15478 : : E_V4SImode) != 0
15479 : : || !
15480 : : #line 28621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15481 : : (TARGET_AVX))
15482 : : return -1;
15483 : : return 9489; /* avx2_maskloadd */
15484 : :
15485 : : default:
15486 : : return -1;
15487 : : }
15488 : : }
15489 : :
15490 : : int
15491 : : recog_243 (rtx x1 ATTRIBUTE_UNUSED,
15492 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15493 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15494 : : {
15495 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15496 : : rtx x2, x3, x4, x5;
15497 : : int res ATTRIBUTE_UNUSED;
15498 : : x2 = XEXP (x1, 0);
15499 : : operands[0] = x2;
15500 : : x3 = XEXP (x1, 1);
15501 : : x4 = XVECEXP (x3, 0, 0);
15502 : : operands[1] = x4;
15503 : : x5 = XVECEXP (x3, 0, 1);
15504 : : operands[2] = x5;
15505 : : switch (GET_MODE (operands[0]))
15506 : : {
15507 : : case E_V32QImode:
15508 : : if (pattern149 (x3,
15509 : : E_V32QImode) != 0
15510 : : || !(
15511 : : #line 23184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15512 : : (TARGET_SSSE3) &&
15513 : : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15514 : : (TARGET_AVX2)))
15515 : : return -1;
15516 : : return 8628; /* avx2_psignv32qi3 */
15517 : :
15518 : : case E_V16QImode:
15519 : : if (pattern149 (x3,
15520 : : E_V16QImode) != 0
15521 : : || !
15522 : : #line 23184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15523 : : (TARGET_SSSE3))
15524 : : return -1;
15525 : : return 8629; /* ssse3_psignv16qi3 */
15526 : :
15527 : : case E_V16HImode:
15528 : : if (pattern149 (x3,
15529 : : E_V16HImode) != 0
15530 : : || !(
15531 : : #line 23184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15532 : : (TARGET_SSSE3) &&
15533 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15534 : : (TARGET_AVX2)))
15535 : : return -1;
15536 : : return 8630; /* avx2_psignv16hi3 */
15537 : :
15538 : : case E_V8HImode:
15539 : : if (pattern149 (x3,
15540 : : E_V8HImode) != 0
15541 : : || !
15542 : : #line 23184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15543 : : (TARGET_SSSE3))
15544 : : return -1;
15545 : : return 8631; /* ssse3_psignv8hi3 */
15546 : :
15547 : : case E_V8SImode:
15548 : : if (pattern149 (x3,
15549 : : E_V8SImode) != 0
15550 : : || !(
15551 : : #line 23184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15552 : : (TARGET_SSSE3) &&
15553 : : #line 755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15554 : : (TARGET_AVX2)))
15555 : : return -1;
15556 : : return 8632; /* avx2_psignv8si3 */
15557 : :
15558 : : case E_V4SImode:
15559 : : if (pattern149 (x3,
15560 : : E_V4SImode) != 0
15561 : : || !
15562 : : #line 23184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15563 : : (TARGET_SSSE3))
15564 : : return -1;
15565 : : return 8633; /* ssse3_psignv4si3 */
15566 : :
15567 : : default:
15568 : : return -1;
15569 : : }
15570 : : }
15571 : :
15572 : : int
15573 : : recog_247 (rtx x1 ATTRIBUTE_UNUSED,
15574 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15575 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15576 : : {
15577 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15578 : : rtx x2, x3, x4, x5, x6, x7;
15579 : : int res ATTRIBUTE_UNUSED;
15580 : : x2 = XEXP (x1, 0);
15581 : : operands[0] = x2;
15582 : : x3 = XEXP (x1, 1);
15583 : : x4 = XVECEXP (x3, 0, 0);
15584 : : operands[1] = x4;
15585 : : x5 = XVECEXP (x3, 0, 1);
15586 : : operands[2] = x5;
15587 : : x6 = XVECEXP (x3, 0, 2);
15588 : : switch (GET_CODE (x6))
15589 : : {
15590 : : case REG:
15591 : : case SUBREG:
15592 : : case MEM:
15593 : : operands[3] = x6;
15594 : : switch (GET_MODE (operands[0]))
15595 : : {
15596 : : case E_V8SFmode:
15597 : : if (!register_operand (operands[0], E_V8SFmode)
15598 : : || GET_MODE (x3) != E_V8SFmode)
15599 : : return -1;
15600 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
15601 : : && nonimmediate_operand (operands[2], E_V8SFmode)
15602 : : && nonimmediate_operand (operands[3], E_V8SFmode)
15603 : : && (
15604 : : #line 6390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15605 : : (TARGET_FMA || TARGET_FMA4) &&
15606 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15607 : : (TARGET_AVX)))
15608 : : return 4083; /* *fma_fmaddsub_v8sf */
15609 : : if (!vector_operand (operands[1], E_V8SFmode)
15610 : : || !vector_operand (operands[2], E_V8SFmode)
15611 : : || !vector_operand (operands[3], E_V8SFmode)
15612 : : || !(
15613 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15614 : : (TARGET_AVX512F && 1 && 1) &&
15615 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15616 : : (TARGET_AVX512VL)))
15617 : : return -1;
15618 : : return 4101; /* *fma_fmaddsub_v8sf */
15619 : :
15620 : : case E_V4SFmode:
15621 : : if (!register_operand (operands[0], E_V4SFmode)
15622 : : || GET_MODE (x3) != E_V4SFmode)
15623 : : return -1;
15624 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
15625 : : && nonimmediate_operand (operands[2], E_V4SFmode)
15626 : : && nonimmediate_operand (operands[3], E_V4SFmode)
15627 : : &&
15628 : : #line 6390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15629 : : (TARGET_FMA || TARGET_FMA4))
15630 : : return 4084; /* *fma_fmaddsub_v4sf */
15631 : : if (!vector_operand (operands[1], E_V4SFmode)
15632 : : || !vector_operand (operands[2], E_V4SFmode)
15633 : : || !vector_operand (operands[3], E_V4SFmode)
15634 : : || !(
15635 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15636 : : (TARGET_AVX512F && 1 && 1) &&
15637 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15638 : : (TARGET_AVX512VL)))
15639 : : return -1;
15640 : : return 4105; /* *fma_fmaddsub_v4sf */
15641 : :
15642 : : case E_V4DFmode:
15643 : : if (!register_operand (operands[0], E_V4DFmode)
15644 : : || GET_MODE (x3) != E_V4DFmode)
15645 : : return -1;
15646 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
15647 : : && nonimmediate_operand (operands[2], E_V4DFmode)
15648 : : && nonimmediate_operand (operands[3], E_V4DFmode)
15649 : : && (
15650 : : #line 6390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15651 : : (TARGET_FMA || TARGET_FMA4) &&
15652 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15653 : : (TARGET_AVX)))
15654 : : return 4085; /* *fma_fmaddsub_v4df */
15655 : : if (!vector_operand (operands[1], E_V4DFmode)
15656 : : || !vector_operand (operands[2], E_V4DFmode)
15657 : : || !vector_operand (operands[3], E_V4DFmode)
15658 : : || !(
15659 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15660 : : (TARGET_AVX512F && 1 && 1) &&
15661 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15662 : : (TARGET_AVX512VL)))
15663 : : return -1;
15664 : : return 4111; /* *fma_fmaddsub_v4df */
15665 : :
15666 : : case E_V2DFmode:
15667 : : if (!register_operand (operands[0], E_V2DFmode)
15668 : : || GET_MODE (x3) != E_V2DFmode)
15669 : : return -1;
15670 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
15671 : : && nonimmediate_operand (operands[2], E_V2DFmode)
15672 : : && nonimmediate_operand (operands[3], E_V2DFmode)
15673 : : && (
15674 : : #line 6390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15675 : : (TARGET_FMA || TARGET_FMA4) &&
15676 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15677 : : (TARGET_SSE2)))
15678 : : return 4086; /* *fma_fmaddsub_v2df */
15679 : : if (!vector_operand (operands[1], E_V2DFmode)
15680 : : || !vector_operand (operands[2], E_V2DFmode)
15681 : : || !vector_operand (operands[3], E_V2DFmode)
15682 : : || !(
15683 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15684 : : (TARGET_AVX512F && 1 && 1) &&
15685 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15686 : : (TARGET_AVX512VL)))
15687 : : return -1;
15688 : : return 4115; /* *fma_fmaddsub_v2df */
15689 : :
15690 : : case E_V32HFmode:
15691 : : if (pattern666 (x3,
15692 : : E_V32HFmode) != 0
15693 : : || !(
15694 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15695 : : (TARGET_AVX512F && 1 && 1) &&
15696 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15697 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))
15698 : : return -1;
15699 : : return 4087; /* *fma_fmaddsub_v32hf */
15700 : :
15701 : : case E_V16HFmode:
15702 : : if (pattern666 (x3,
15703 : : E_V16HFmode) != 0
15704 : : || !(
15705 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15706 : : (TARGET_AVX512F && 1 && 1) &&
15707 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15708 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15709 : : return -1;
15710 : : return 4091; /* *fma_fmaddsub_v16hf */
15711 : :
15712 : : case E_V8HFmode:
15713 : : if (pattern666 (x3,
15714 : : E_V8HFmode) != 0
15715 : : || !(
15716 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15717 : : (TARGET_AVX512F && 1 && 1) &&
15718 : : #line 527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15719 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15720 : : return -1;
15721 : : return 4095; /* *fma_fmaddsub_v8hf */
15722 : :
15723 : : case E_V16SFmode:
15724 : : if (pattern666 (x3,
15725 : : E_V16SFmode) != 0
15726 : : || !(
15727 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15728 : : (TARGET_AVX512F && 1 && 1) &&
15729 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15730 : : (TARGET_EVEX512)))
15731 : : return -1;
15732 : : return 4097; /* *fma_fmaddsub_v16sf */
15733 : :
15734 : : case E_V8DFmode:
15735 : : if (pattern666 (x3,
15736 : : E_V8DFmode) != 0
15737 : : || !(
15738 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15739 : : (TARGET_AVX512F && 1 && 1) &&
15740 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15741 : : (TARGET_EVEX512)))
15742 : : return -1;
15743 : : return 4107; /* *fma_fmaddsub_v8df */
15744 : :
15745 : : default:
15746 : : return -1;
15747 : : }
15748 : :
15749 : : case NEG:
15750 : : x7 = XEXP (x6, 0);
15751 : : operands[3] = x7;
15752 : : switch (GET_MODE (operands[0]))
15753 : : {
15754 : : case E_V8SFmode:
15755 : : if (!register_operand (operands[0], E_V8SFmode)
15756 : : || GET_MODE (x3) != E_V8SFmode
15757 : : || GET_MODE (x6) != E_V8SFmode)
15758 : : return -1;
15759 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
15760 : : && nonimmediate_operand (operands[2], E_V8SFmode)
15761 : : && nonimmediate_operand (operands[3], E_V8SFmode)
15762 : : && (
15763 : : #line 6459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15764 : : (TARGET_FMA || TARGET_FMA4) &&
15765 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15766 : : (TARGET_AVX)))
15767 : : return 4147; /* *fma_fmsubadd_v8sf */
15768 : : if (!vector_operand (operands[1], E_V8SFmode)
15769 : : || !vector_operand (operands[2], E_V8SFmode)
15770 : : || !vector_operand (operands[3], E_V8SFmode)
15771 : : || !(
15772 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15773 : : (TARGET_AVX512F && 1 && 1) &&
15774 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15775 : : (TARGET_AVX512VL)))
15776 : : return -1;
15777 : : return 4165; /* *fma_fmsubadd_v8sf */
15778 : :
15779 : : case E_V4SFmode:
15780 : : if (!register_operand (operands[0], E_V4SFmode)
15781 : : || GET_MODE (x3) != E_V4SFmode
15782 : : || GET_MODE (x6) != E_V4SFmode)
15783 : : return -1;
15784 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
15785 : : && nonimmediate_operand (operands[2], E_V4SFmode)
15786 : : && nonimmediate_operand (operands[3], E_V4SFmode)
15787 : : &&
15788 : : #line 6459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15789 : : (TARGET_FMA || TARGET_FMA4))
15790 : : return 4148; /* *fma_fmsubadd_v4sf */
15791 : : if (!vector_operand (operands[1], E_V4SFmode)
15792 : : || !vector_operand (operands[2], E_V4SFmode)
15793 : : || !vector_operand (operands[3], E_V4SFmode)
15794 : : || !(
15795 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15796 : : (TARGET_AVX512F && 1 && 1) &&
15797 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15798 : : (TARGET_AVX512VL)))
15799 : : return -1;
15800 : : return 4169; /* *fma_fmsubadd_v4sf */
15801 : :
15802 : : case E_V4DFmode:
15803 : : if (!register_operand (operands[0], E_V4DFmode)
15804 : : || GET_MODE (x3) != E_V4DFmode
15805 : : || GET_MODE (x6) != E_V4DFmode)
15806 : : return -1;
15807 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
15808 : : && nonimmediate_operand (operands[2], E_V4DFmode)
15809 : : && nonimmediate_operand (operands[3], E_V4DFmode)
15810 : : && (
15811 : : #line 6459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15812 : : (TARGET_FMA || TARGET_FMA4) &&
15813 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15814 : : (TARGET_AVX)))
15815 : : return 4149; /* *fma_fmsubadd_v4df */
15816 : : if (!vector_operand (operands[1], E_V4DFmode)
15817 : : || !vector_operand (operands[2], E_V4DFmode)
15818 : : || !vector_operand (operands[3], E_V4DFmode)
15819 : : || !(
15820 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15821 : : (TARGET_AVX512F && 1 && 1) &&
15822 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15823 : : (TARGET_AVX512VL)))
15824 : : return -1;
15825 : : return 4175; /* *fma_fmsubadd_v4df */
15826 : :
15827 : : case E_V2DFmode:
15828 : : if (!register_operand (operands[0], E_V2DFmode)
15829 : : || GET_MODE (x3) != E_V2DFmode
15830 : : || GET_MODE (x6) != E_V2DFmode)
15831 : : return -1;
15832 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
15833 : : && nonimmediate_operand (operands[2], E_V2DFmode)
15834 : : && nonimmediate_operand (operands[3], E_V2DFmode)
15835 : : && (
15836 : : #line 6459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15837 : : (TARGET_FMA || TARGET_FMA4) &&
15838 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15839 : : (TARGET_SSE2)))
15840 : : return 4150; /* *fma_fmsubadd_v2df */
15841 : : if (!vector_operand (operands[1], E_V2DFmode)
15842 : : || !vector_operand (operands[2], E_V2DFmode)
15843 : : || !vector_operand (operands[3], E_V2DFmode)
15844 : : || !(
15845 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15846 : : (TARGET_AVX512F && 1 && 1) &&
15847 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15848 : : (TARGET_AVX512VL)))
15849 : : return -1;
15850 : : return 4179; /* *fma_fmsubadd_v2df */
15851 : :
15852 : : case E_V32HFmode:
15853 : : if (pattern1027 (x3,
15854 : : E_V32HFmode) != 0
15855 : : || !(
15856 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15857 : : (TARGET_AVX512F && 1 && 1) &&
15858 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15859 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))
15860 : : return -1;
15861 : : return 4151; /* *fma_fmsubadd_v32hf */
15862 : :
15863 : : case E_V16HFmode:
15864 : : if (pattern1027 (x3,
15865 : : E_V16HFmode) != 0
15866 : : || !(
15867 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15868 : : (TARGET_AVX512F && 1 && 1) &&
15869 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15870 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15871 : : return -1;
15872 : : return 4155; /* *fma_fmsubadd_v16hf */
15873 : :
15874 : : case E_V8HFmode:
15875 : : if (pattern1027 (x3,
15876 : : E_V8HFmode) != 0
15877 : : || !(
15878 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15879 : : (TARGET_AVX512F && 1 && 1) &&
15880 : : #line 527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15881 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15882 : : return -1;
15883 : : return 4159; /* *fma_fmsubadd_v8hf */
15884 : :
15885 : : case E_V16SFmode:
15886 : : if (pattern1027 (x3,
15887 : : E_V16SFmode) != 0
15888 : : || !(
15889 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15890 : : (TARGET_AVX512F && 1 && 1) &&
15891 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15892 : : (TARGET_EVEX512)))
15893 : : return -1;
15894 : : return 4161; /* *fma_fmsubadd_v16sf */
15895 : :
15896 : : case E_V8DFmode:
15897 : : if (pattern1027 (x3,
15898 : : E_V8DFmode) != 0
15899 : : || !(
15900 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15901 : : (TARGET_AVX512F && 1 && 1) &&
15902 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15903 : : (TARGET_EVEX512)))
15904 : : return -1;
15905 : : return 4171; /* *fma_fmsubadd_v8df */
15906 : :
15907 : : default:
15908 : : return -1;
15909 : : }
15910 : :
15911 : : default:
15912 : : return -1;
15913 : : }
15914 : : }
15915 : :
15916 : : int
15917 : : recog_249 (rtx x1 ATTRIBUTE_UNUSED,
15918 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15919 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15920 : : {
15921 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15922 : : rtx x2, x3, x4, x5, x6;
15923 : : int res ATTRIBUTE_UNUSED;
15924 : : x2 = XEXP (x1, 0);
15925 : : operands[0] = x2;
15926 : : x3 = XEXP (x1, 1);
15927 : : x4 = XVECEXP (x3, 0, 0);
15928 : : operands[1] = x4;
15929 : : x5 = XVECEXP (x3, 0, 1);
15930 : : operands[2] = x5;
15931 : : x6 = XVECEXP (x3, 0, 2);
15932 : : operands[3] = x6;
15933 : : switch (GET_CODE (operands[3]))
15934 : : {
15935 : : case REG:
15936 : : case SUBREG:
15937 : : switch (GET_MODE (operands[0]))
15938 : : {
15939 : : case E_V16SImode:
15940 : : if (pattern1029 (x3,
15941 : : E_HImode,
15942 : : E_V16SImode) != 0
15943 : : || !(
15944 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15945 : : (TARGET_AVX512F) &&
15946 : : #line 1010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15947 : : (TARGET_EVEX512)))
15948 : : return -1;
15949 : : return 9920; /* expandv16si_mask */
15950 : :
15951 : : case E_V16SFmode:
15952 : : if (pattern1029 (x3,
15953 : : E_HImode,
15954 : : E_V16SFmode) != 0
15955 : : || !(
15956 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15957 : : (TARGET_AVX512F) &&
15958 : : #line 1010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15959 : : (TARGET_EVEX512)))
15960 : : return -1;
15961 : : return 9921; /* expandv16sf_mask */
15962 : :
15963 : : case E_V8DImode:
15964 : : if (pattern1029 (x3,
15965 : : E_QImode,
15966 : : E_V8DImode) != 0
15967 : : || !(
15968 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15969 : : (TARGET_AVX512F) &&
15970 : : #line 1011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15971 : : (TARGET_EVEX512)))
15972 : : return -1;
15973 : : return 9922; /* expandv8di_mask */
15974 : :
15975 : : case E_V8DFmode:
15976 : : if (pattern1029 (x3,
15977 : : E_QImode,
15978 : : E_V8DFmode) != 0
15979 : : || !(
15980 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15981 : : (TARGET_AVX512F) &&
15982 : : #line 1011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15983 : : (TARGET_EVEX512)))
15984 : : return -1;
15985 : : return 9923; /* expandv8df_mask */
15986 : :
15987 : : case E_V8SImode:
15988 : : if (pattern1029 (x3,
15989 : : E_QImode,
15990 : : E_V8SImode) != 0
15991 : : || !(
15992 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15993 : : (TARGET_AVX512F) &&
15994 : : #line 1012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15995 : : (TARGET_AVX512VL)))
15996 : : return -1;
15997 : : return 9924; /* expandv8si_mask */
15998 : :
15999 : : case E_V8SFmode:
16000 : : if (pattern1029 (x3,
16001 : : E_QImode,
16002 : : E_V8SFmode) != 0
16003 : : || !(
16004 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16005 : : (TARGET_AVX512F) &&
16006 : : #line 1012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16007 : : (TARGET_AVX512VL)))
16008 : : return -1;
16009 : : return 9925; /* expandv8sf_mask */
16010 : :
16011 : : case E_V4DImode:
16012 : : if (pattern1029 (x3,
16013 : : E_QImode,
16014 : : E_V4DImode) != 0
16015 : : || !(
16016 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16017 : : (TARGET_AVX512F) &&
16018 : : #line 1013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16019 : : (TARGET_AVX512VL)))
16020 : : return -1;
16021 : : return 9926; /* expandv4di_mask */
16022 : :
16023 : : case E_V4DFmode:
16024 : : if (pattern1029 (x3,
16025 : : E_QImode,
16026 : : E_V4DFmode) != 0
16027 : : || !(
16028 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16029 : : (TARGET_AVX512F) &&
16030 : : #line 1013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16031 : : (TARGET_AVX512VL)))
16032 : : return -1;
16033 : : return 9927; /* expandv4df_mask */
16034 : :
16035 : : case E_V4SImode:
16036 : : if (pattern1029 (x3,
16037 : : E_QImode,
16038 : : E_V4SImode) != 0
16039 : : || !(
16040 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16041 : : (TARGET_AVX512F) &&
16042 : : #line 1014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16043 : : (TARGET_AVX512VL)))
16044 : : return -1;
16045 : : return 9928; /* expandv4si_mask */
16046 : :
16047 : : case E_V4SFmode:
16048 : : if (pattern1029 (x3,
16049 : : E_QImode,
16050 : : E_V4SFmode) != 0
16051 : : || !(
16052 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16053 : : (TARGET_AVX512F) &&
16054 : : #line 1014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16055 : : (TARGET_AVX512VL)))
16056 : : return -1;
16057 : : return 9929; /* expandv4sf_mask */
16058 : :
16059 : : case E_V2DImode:
16060 : : if (pattern1029 (x3,
16061 : : E_QImode,
16062 : : E_V2DImode) != 0
16063 : : || !(
16064 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16065 : : (TARGET_AVX512F) &&
16066 : : #line 1015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16067 : : (TARGET_AVX512VL)))
16068 : : return -1;
16069 : : return 9930; /* expandv2di_mask */
16070 : :
16071 : : case E_V2DFmode:
16072 : : if (pattern1029 (x3,
16073 : : E_QImode,
16074 : : E_V2DFmode) != 0
16075 : : || !(
16076 : : #line 29718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16077 : : (TARGET_AVX512F) &&
16078 : : #line 1015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16079 : : (TARGET_AVX512VL)))
16080 : : return -1;
16081 : : return 9931; /* expandv2df_mask */
16082 : :
16083 : : case E_V64QImode:
16084 : : if (pattern1029 (x3,
16085 : : E_DImode,
16086 : : E_V64QImode) != 0
16087 : : || !(
16088 : : #line 29732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16089 : : (TARGET_AVX512VBMI2) &&
16090 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16091 : : (TARGET_EVEX512)))
16092 : : return -1;
16093 : : return 9932; /* expandv64qi_mask */
16094 : :
16095 : : case E_V16QImode:
16096 : : if (pattern1029 (x3,
16097 : : E_HImode,
16098 : : E_V16QImode) != 0
16099 : : || !(
16100 : : #line 29732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16101 : : (TARGET_AVX512VBMI2) &&
16102 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16103 : : (TARGET_AVX512VL)))
16104 : : return -1;
16105 : : return 9933; /* expandv16qi_mask */
16106 : :
16107 : : case E_V32QImode:
16108 : : if (pattern1029 (x3,
16109 : : E_SImode,
16110 : : E_V32QImode) != 0
16111 : : || !(
16112 : : #line 29732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16113 : : (TARGET_AVX512VBMI2) &&
16114 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16115 : : (TARGET_AVX512VL)))
16116 : : return -1;
16117 : : return 9934; /* expandv32qi_mask */
16118 : :
16119 : : case E_V32HImode:
16120 : : if (pattern1029 (x3,
16121 : : E_SImode,
16122 : : E_V32HImode) != 0
16123 : : || !(
16124 : : #line 29732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16125 : : (TARGET_AVX512VBMI2) &&
16126 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16127 : : (TARGET_EVEX512)))
16128 : : return -1;
16129 : : return 9935; /* expandv32hi_mask */
16130 : :
16131 : : case E_V16HImode:
16132 : : if (pattern1029 (x3,
16133 : : E_HImode,
16134 : : E_V16HImode) != 0
16135 : : || !(
16136 : : #line 29732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16137 : : (TARGET_AVX512VBMI2) &&
16138 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16139 : : (TARGET_AVX512VL)))
16140 : : return -1;
16141 : : return 9936; /* expandv16hi_mask */
16142 : :
16143 : : case E_V8HImode:
16144 : : if (pattern1029 (x3,
16145 : : E_QImode,
16146 : : E_V8HImode) != 0
16147 : : || !(
16148 : : #line 29732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16149 : : (TARGET_AVX512VBMI2) &&
16150 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16151 : : (TARGET_AVX512VL)))
16152 : : return -1;
16153 : : return 9937; /* expandv8hi_mask */
16154 : :
16155 : : default:
16156 : : return -1;
16157 : : }
16158 : :
16159 : : case CONST_INT:
16160 : : switch (pattern918 (x3))
16161 : : {
16162 : : case 0:
16163 : : if (!(
16164 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16165 : : (ix86_pre_reload_split ()
16166 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V16SImode)) >= 4)) &&
16167 : : #line 1017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16168 : : (TARGET_AVX512F && TARGET_EVEX512)))
16169 : : return -1;
16170 : : return 9938; /* *expandv16si_mask */
16171 : :
16172 : : case 1:
16173 : : if (!(
16174 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16175 : : (ix86_pre_reload_split ()
16176 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V16SFmode)) >= 4)) &&
16177 : : #line 1018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16178 : : (TARGET_AVX512F && TARGET_EVEX512)))
16179 : : return -1;
16180 : : return 9939; /* *expandv16sf_mask */
16181 : :
16182 : : case 2:
16183 : : if (!(
16184 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16185 : : (ix86_pre_reload_split ()
16186 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V8DImode)) >= 4)) &&
16187 : : #line 1019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16188 : : (TARGET_AVX512F && TARGET_EVEX512)))
16189 : : return -1;
16190 : : return 9940; /* *expandv8di_mask */
16191 : :
16192 : : case 3:
16193 : : if (!(
16194 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16195 : : (ix86_pre_reload_split ()
16196 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V8DFmode)) >= 4)) &&
16197 : : #line 1020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16198 : : (TARGET_AVX512F && TARGET_EVEX512)))
16199 : : return -1;
16200 : : return 9941; /* *expandv8df_mask */
16201 : :
16202 : : case 4:
16203 : : if (!(
16204 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16205 : : (ix86_pre_reload_split ()
16206 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V8SImode)) >= 4)) &&
16207 : : #line 1021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16208 : : (TARGET_AVX512VL)))
16209 : : return -1;
16210 : : return 9942; /* *expandv8si_mask */
16211 : :
16212 : : case 5:
16213 : : if (!(
16214 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16215 : : (ix86_pre_reload_split ()
16216 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V8SFmode)) >= 4)) &&
16217 : : #line 1021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16218 : : (TARGET_AVX512VL)))
16219 : : return -1;
16220 : : return 9943; /* *expandv8sf_mask */
16221 : :
16222 : : case 6:
16223 : : if (!(
16224 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16225 : : (ix86_pre_reload_split ()
16226 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V4DImode)) >= 4)) &&
16227 : : #line 1022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16228 : : (TARGET_AVX512VL)))
16229 : : return -1;
16230 : : return 9944; /* *expandv4di_mask */
16231 : :
16232 : : case 7:
16233 : : if (!(
16234 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16235 : : (ix86_pre_reload_split ()
16236 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V4DFmode)) >= 4)) &&
16237 : : #line 1022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16238 : : (TARGET_AVX512VL)))
16239 : : return -1;
16240 : : return 9945; /* *expandv4df_mask */
16241 : :
16242 : : case 8:
16243 : : if (!(
16244 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16245 : : (ix86_pre_reload_split ()
16246 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V4SImode)) >= 4)) &&
16247 : : #line 1023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16248 : : (TARGET_AVX512VL)))
16249 : : return -1;
16250 : : return 9946; /* *expandv4si_mask */
16251 : :
16252 : : case 9:
16253 : : if (!(
16254 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16255 : : (ix86_pre_reload_split ()
16256 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V4SFmode)) >= 4)) &&
16257 : : #line 1023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16258 : : (TARGET_AVX512VL)))
16259 : : return -1;
16260 : : return 9947; /* *expandv4sf_mask */
16261 : :
16262 : : case 10:
16263 : : if (!(
16264 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16265 : : (ix86_pre_reload_split ()
16266 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V2DImode)) >= 4)) &&
16267 : : #line 1024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16268 : : (TARGET_AVX512VL)))
16269 : : return -1;
16270 : : return 9948; /* *expandv2di_mask */
16271 : :
16272 : : case 11:
16273 : : if (!(
16274 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16275 : : (ix86_pre_reload_split ()
16276 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V2DFmode)) >= 4)) &&
16277 : : #line 1024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16278 : : (TARGET_AVX512VL)))
16279 : : return -1;
16280 : : return 9949; /* *expandv2df_mask */
16281 : :
16282 : : case 12:
16283 : : if (!(
16284 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16285 : : (ix86_pre_reload_split ()
16286 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V64QImode)) >= 4)) &&
16287 : : #line 1025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16288 : : (TARGET_EVEX512)))
16289 : : return -1;
16290 : : return 9950; /* *expandv64qi_mask */
16291 : :
16292 : : case 13:
16293 : : if (!(
16294 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16295 : : (ix86_pre_reload_split ()
16296 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V16QImode)) >= 4)) &&
16297 : : #line 1025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16298 : : (TARGET_AVX512VL)))
16299 : : return -1;
16300 : : return 9951; /* *expandv16qi_mask */
16301 : :
16302 : : case 14:
16303 : : if (!(
16304 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16305 : : (ix86_pre_reload_split ()
16306 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V32QImode)) >= 4)) &&
16307 : : #line 1025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16308 : : (TARGET_AVX512VL)))
16309 : : return -1;
16310 : : return 9952; /* *expandv32qi_mask */
16311 : :
16312 : : case 15:
16313 : : if (!(
16314 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16315 : : (ix86_pre_reload_split ()
16316 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V32HImode)) >= 4)) &&
16317 : : #line 1026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16318 : : (TARGET_EVEX512)))
16319 : : return -1;
16320 : : return 9953; /* *expandv32hi_mask */
16321 : :
16322 : : case 16:
16323 : : if (!(
16324 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16325 : : (ix86_pre_reload_split ()
16326 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V16HImode)) >= 4)) &&
16327 : : #line 1026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16328 : : (TARGET_AVX512VL)))
16329 : : return -1;
16330 : : return 9954; /* *expandv16hi_mask */
16331 : :
16332 : : case 17:
16333 : : if (!(
16334 : : #line 29746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16335 : : (ix86_pre_reload_split ()
16336 : : && (TARGET_AVX512VBMI2 || GET_MODE_SIZE (GET_MODE_INNER (V8HImode)) >= 4)) &&
16337 : : #line 1026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16338 : : (TARGET_AVX512VL)))
16339 : : return -1;
16340 : : return 9955; /* *expandv8hi_mask */
16341 : :
16342 : : default:
16343 : : return -1;
16344 : : }
16345 : :
16346 : : default:
16347 : : return -1;
16348 : : }
16349 : : }
16350 : :
16351 : : int
16352 : : recog_256 (rtx x1 ATTRIBUTE_UNUSED,
16353 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16354 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16355 : : {
16356 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16357 : : int res ATTRIBUTE_UNUSED;
16358 : : switch (pattern173 (x1))
16359 : : {
16360 : : case 0:
16361 : : if (!(
16362 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16363 : : (TARGET_AVX512VBMI2) &&
16364 : : #line 758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16365 : : (TARGET_EVEX512)))
16366 : : return -1;
16367 : : return 10242; /* vpshldv_v32hi */
16368 : :
16369 : : case 1:
16370 : : if (!(
16371 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16372 : : (TARGET_AVX512VBMI2) &&
16373 : : #line 758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16374 : : (TARGET_EVEX512)))
16375 : : return -1;
16376 : : return 10243; /* vpshldv_v16si */
16377 : :
16378 : : case 2:
16379 : : if (!(
16380 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16381 : : (TARGET_AVX512VBMI2) &&
16382 : : #line 758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16383 : : (TARGET_EVEX512)))
16384 : : return -1;
16385 : : return 10244; /* vpshldv_v8di */
16386 : :
16387 : : case 3:
16388 : : if (!(
16389 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16390 : : (TARGET_AVX512VBMI2) &&
16391 : : #line 759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16392 : : (TARGET_AVX512VL)))
16393 : : return -1;
16394 : : return 10245; /* vpshldv_v16hi */
16395 : :
16396 : : case 4:
16397 : : if (!(
16398 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16399 : : (TARGET_AVX512VBMI2) &&
16400 : : #line 759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16401 : : (TARGET_AVX512VL)))
16402 : : return -1;
16403 : : return 10246; /* vpshldv_v8si */
16404 : :
16405 : : case 5:
16406 : : if (!(
16407 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16408 : : (TARGET_AVX512VBMI2) &&
16409 : : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16410 : : (TARGET_AVX512VL)))
16411 : : return -1;
16412 : : return 10247; /* vpshldv_v4di */
16413 : :
16414 : : case 6:
16415 : : if (!(
16416 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16417 : : (TARGET_AVX512VBMI2) &&
16418 : : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16419 : : (TARGET_AVX512VL)))
16420 : : return -1;
16421 : : return 10248; /* vpshldv_v8hi */
16422 : :
16423 : : case 7:
16424 : : if (!(
16425 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16426 : : (TARGET_AVX512VBMI2) &&
16427 : : #line 761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16428 : : (TARGET_AVX512VL)))
16429 : : return -1;
16430 : : return 10249; /* vpshldv_v4si */
16431 : :
16432 : : case 8:
16433 : : if (!(
16434 : : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16435 : : (TARGET_AVX512VBMI2) &&
16436 : : #line 761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16437 : : (TARGET_AVX512VL)))
16438 : : return -1;
16439 : : return 10250; /* vpshldv_v2di */
16440 : :
16441 : : default:
16442 : : return -1;
16443 : : }
16444 : : }
16445 : :
16446 : : int
16447 : : recog_261 (rtx x1 ATTRIBUTE_UNUSED,
16448 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16449 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16450 : : {
16451 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16452 : : rtx x2, x3, x4, x5, x6;
16453 : : int res ATTRIBUTE_UNUSED;
16454 : : x2 = XEXP (x1, 0);
16455 : : operands[0] = x2;
16456 : : x3 = XEXP (x1, 1);
16457 : : x4 = XVECEXP (x3, 0, 0);
16458 : : operands[1] = x4;
16459 : : x5 = XVECEXP (x3, 0, 1);
16460 : : operands[2] = x5;
16461 : : x6 = XVECEXP (x3, 0, 2);
16462 : : operands[3] = x6;
16463 : : if (!const_0_to_255_operand (operands[3], E_SImode))
16464 : : return -1;
16465 : : switch (GET_MODE (operands[0]))
16466 : : {
16467 : : case E_V8SFmode:
16468 : : if (pattern151 (x3,
16469 : : E_V8SFmode) != 0
16470 : : || !(
16471 : : #line 23755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16472 : : (TARGET_SSE4_1) &&
16473 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16474 : : (TARGET_AVX)))
16475 : : return -1;
16476 : : return 8710; /* avx_dpps256 */
16477 : :
16478 : : case E_V4SFmode:
16479 : : if (pattern151 (x3,
16480 : : E_V4SFmode) != 0
16481 : : || !
16482 : : #line 23755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16483 : : (TARGET_SSE4_1))
16484 : : return -1;
16485 : : return 8711; /* sse4_1_dpps */
16486 : :
16487 : : case E_V4DFmode:
16488 : : if (pattern151 (x3,
16489 : : E_V4DFmode) != 0
16490 : : || !(
16491 : : #line 23755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16492 : : (TARGET_SSE4_1) &&
16493 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16494 : : (TARGET_AVX)))
16495 : : return -1;
16496 : : return 8712; /* avx_dppd256 */
16497 : :
16498 : : case E_V2DFmode:
16499 : : if (pattern151 (x3,
16500 : : E_V2DFmode) != 0
16501 : : || !(
16502 : : #line 23755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16503 : : (TARGET_SSE4_1) &&
16504 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16505 : : (TARGET_SSE2)))
16506 : : return -1;
16507 : : return 8713; /* sse4_1_dppd */
16508 : :
16509 : : default:
16510 : : return -1;
16511 : : }
16512 : : }
16513 : :
16514 : : int
16515 : : recog_265 (rtx x1 ATTRIBUTE_UNUSED,
16516 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16517 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16518 : : {
16519 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16520 : : rtx x2, x3, x4, x5, x6;
16521 : : int res ATTRIBUTE_UNUSED;
16522 : : x2 = XEXP (x1, 1);
16523 : : switch (XINT (x2, 1))
16524 : : {
16525 : : case 51:
16526 : : return recog_248 (x1, insn, pnum_clobbers);
16527 : :
16528 : : case 59:
16529 : : x3 = XEXP (x1, 0);
16530 : : operands[0] = x3;
16531 : : x4 = XVECEXP (x2, 0, 0);
16532 : : operands[1] = x4;
16533 : : x5 = XVECEXP (x2, 0, 1);
16534 : : operands[2] = x5;
16535 : : x6 = XVECEXP (x2, 0, 2);
16536 : : operands[3] = x6;
16537 : : if (!cmpps_imm_operand (operands[3], E_SImode))
16538 : : return -1;
16539 : : switch (GET_MODE (operands[0]))
16540 : : {
16541 : : case E_V8SFmode:
16542 : : if (pattern60 (x2,
16543 : : E_V8SFmode) != 0
16544 : : || !(
16545 : : #line 4097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16546 : : (TARGET_SSE) &&
16547 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16548 : : (TARGET_AVX)))
16549 : : return -1;
16550 : : return 3231; /* avx_cmpv8sf3 */
16551 : :
16552 : : case E_V4SFmode:
16553 : : if (pattern60 (x2,
16554 : : E_V4SFmode) != 0
16555 : : || !
16556 : : #line 4097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16557 : : (TARGET_SSE))
16558 : : return -1;
16559 : : return 3232; /* avx_cmpv4sf3 */
16560 : :
16561 : : case E_V4DFmode:
16562 : : if (pattern60 (x2,
16563 : : E_V4DFmode) != 0
16564 : : || !(
16565 : : #line 4097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16566 : : (TARGET_SSE) &&
16567 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16568 : : (TARGET_AVX)))
16569 : : return -1;
16570 : : return 3233; /* avx_cmpv4df3 */
16571 : :
16572 : : case E_V2DFmode:
16573 : : if (pattern60 (x2,
16574 : : E_V2DFmode) != 0
16575 : : || !(
16576 : : #line 4097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16577 : : (TARGET_SSE) &&
16578 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16579 : : (TARGET_SSE2)))
16580 : : return -1;
16581 : : return 3234; /* avx_cmpv2df3 */
16582 : :
16583 : : default:
16584 : : return -1;
16585 : : }
16586 : :
16587 : : case 133:
16588 : : return recog_247 (x1, insn, pnum_clobbers);
16589 : :
16590 : : case 217:
16591 : : return recog_263 (x1, insn, pnum_clobbers);
16592 : :
16593 : : case 219:
16594 : : x3 = XEXP (x1, 0);
16595 : : operands[0] = x3;
16596 : : x4 = XVECEXP (x2, 0, 0);
16597 : : operands[1] = x4;
16598 : : x5 = XVECEXP (x2, 0, 1);
16599 : : operands[2] = x5;
16600 : : switch (pattern667 (x2))
16601 : : {
16602 : : case 0:
16603 : : if ((
16604 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16605 : : (TARGET_AVX512FP16 && 1 && 1) &&
16606 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16607 : : (TARGET_EVEX512)))
16608 : : return 4325; /* fma_fcmaddc_v32hf */
16609 : : break;
16610 : :
16611 : : case 1:
16612 : : if ((
16613 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16614 : : (TARGET_AVX512FP16 && 1 && 1) &&
16615 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16616 : : (TARGET_AVX512VL)))
16617 : : return 4333; /* fma_fcmaddc_v16hf */
16618 : : break;
16619 : :
16620 : : case 2:
16621 : : if ((
16622 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16623 : : (TARGET_AVX512FP16 && 1 && 1) &&
16624 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16625 : : (TARGET_AVX512VL)))
16626 : : return 4339; /* fma_fcmaddc_v8hf */
16627 : : break;
16628 : :
16629 : : default:
16630 : : break;
16631 : : }
16632 : : if (GET_CODE (x5) != SUBREG
16633 : : || maybe_ne (SUBREG_BYTE (x5), 0))
16634 : : return -1;
16635 : : switch (pattern593 (x2))
16636 : : {
16637 : : case 0:
16638 : : if (!(
16639 : : #line 7253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16640 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
16641 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16642 : : (TARGET_EVEX512)))
16643 : : return -1;
16644 : : return 4362; /* fma_v32hf_fcmaddc_bcst */
16645 : :
16646 : : case 1:
16647 : : if (!(
16648 : : #line 7253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16649 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
16650 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16651 : : (TARGET_AVX512VL)))
16652 : : return -1;
16653 : : return 4363; /* fma_v16hf_fcmaddc_bcst */
16654 : :
16655 : : case 2:
16656 : : if (!(
16657 : : #line 7253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16658 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
16659 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16660 : : (TARGET_AVX512VL)))
16661 : : return -1;
16662 : : return 4364; /* fma_v8hf_fcmaddc_bcst */
16663 : :
16664 : : default:
16665 : : return -1;
16666 : : }
16667 : :
16668 : : case 218:
16669 : : switch (pattern166 (x1))
16670 : : {
16671 : : case 0:
16672 : : if (!(
16673 : : #line 7212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16674 : : (TARGET_AVX512FP16) &&
16675 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16676 : : (TARGET_EVEX512)))
16677 : : return -1;
16678 : : return 4353; /* fma_fmaddc_v16sf_pair */
16679 : :
16680 : : case 1:
16681 : : if (!(
16682 : : #line 7212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16683 : : (TARGET_AVX512FP16) &&
16684 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16685 : : (TARGET_AVX512VL)))
16686 : : return -1;
16687 : : return 4355; /* fma_fmaddc_v8sf_pair */
16688 : :
16689 : : case 2:
16690 : : if (!(
16691 : : #line 7212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16692 : : (TARGET_AVX512FP16) &&
16693 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16694 : : (TARGET_AVX512VL)))
16695 : : return -1;
16696 : : return 4357; /* fma_fmaddc_v4sf_pair */
16697 : :
16698 : : default:
16699 : : return -1;
16700 : : }
16701 : :
16702 : : case 220:
16703 : : switch (pattern166 (x1))
16704 : : {
16705 : : case 0:
16706 : : if (!(
16707 : : #line 7212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16708 : : (TARGET_AVX512FP16) &&
16709 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16710 : : (TARGET_EVEX512)))
16711 : : return -1;
16712 : : return 4354; /* fma_fcmaddc_v16sf_pair */
16713 : :
16714 : : case 1:
16715 : : if (!(
16716 : : #line 7212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16717 : : (TARGET_AVX512FP16) &&
16718 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16719 : : (TARGET_AVX512VL)))
16720 : : return -1;
16721 : : return 4356; /* fma_fcmaddc_v8sf_pair */
16722 : :
16723 : : case 2:
16724 : : if (!(
16725 : : #line 7212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16726 : : (TARGET_AVX512FP16) &&
16727 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16728 : : (TARGET_AVX512VL)))
16729 : : return -1;
16730 : : return 4358; /* fma_fcmaddc_v4sf_pair */
16731 : :
16732 : : default:
16733 : : return -1;
16734 : : }
16735 : :
16736 : : case 50:
16737 : : x3 = XEXP (x1, 0);
16738 : : operands[0] = x3;
16739 : : x4 = XVECEXP (x2, 0, 0);
16740 : : operands[2] = x4;
16741 : : x5 = XVECEXP (x2, 0, 1);
16742 : : operands[1] = x5;
16743 : : x6 = XVECEXP (x2, 0, 2);
16744 : : operands[3] = x6;
16745 : : if (!const_0_to_255_operand (operands[3], E_SImode))
16746 : : return -1;
16747 : : switch (GET_MODE (operands[0]))
16748 : : {
16749 : : case E_V4SImode:
16750 : : if (pattern970 (x2,
16751 : : E_V4SImode) != 0
16752 : : || !
16753 : : #line 12230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16754 : : (TARGET_SSE4_1))
16755 : : return -1;
16756 : : return 5328; /* sse4_1_insertps_v4si */
16757 : :
16758 : : case E_V4SFmode:
16759 : : if (pattern970 (x2,
16760 : : E_V4SFmode) != 0
16761 : : || !
16762 : : #line 12230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16763 : : (TARGET_SSE4_1))
16764 : : return -1;
16765 : : return 5329; /* sse4_1_insertps_v4sf */
16766 : :
16767 : : default:
16768 : : return -1;
16769 : : }
16770 : :
16771 : : case 167:
16772 : : return recog_255 (x1, insn, pnum_clobbers);
16773 : :
16774 : : case 155:
16775 : : return recog_250 (x1, insn, pnum_clobbers);
16776 : :
16777 : : case 47:
16778 : : return recog_246 (x1, insn, pnum_clobbers);
16779 : :
16780 : : case 121:
16781 : : x3 = XEXP (x1, 0);
16782 : : operands[0] = x3;
16783 : : x4 = XVECEXP (x2, 0, 0);
16784 : : operands[1] = x4;
16785 : : x5 = XVECEXP (x2, 0, 1);
16786 : : operands[2] = x5;
16787 : : x6 = XVECEXP (x2, 0, 2);
16788 : : operands[3] = x6;
16789 : : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
16790 : : return -1;
16791 : : switch (GET_MODE (operands[0]))
16792 : : {
16793 : : case E_V4TImode:
16794 : : if (pattern149 (x2,
16795 : : E_V4TImode) != 0
16796 : : || !(
16797 : : #line 23241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16798 : : (TARGET_SSSE3) &&
16799 : : #line 726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16800 : : (TARGET_AVX512BW && TARGET_EVEX512)))
16801 : : return -1;
16802 : : return 8640; /* avx512bw_palignrv4ti */
16803 : :
16804 : : case E_V2TImode:
16805 : : if (pattern149 (x2,
16806 : : E_V2TImode) != 0
16807 : : || !(
16808 : : #line 23241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16809 : : (TARGET_SSSE3) &&
16810 : : #line 726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16811 : : (TARGET_AVX2)))
16812 : : return -1;
16813 : : return 8641; /* avx2_palignrv2ti */
16814 : :
16815 : : case E_V1TImode:
16816 : : if (pattern149 (x2,
16817 : : E_V1TImode) != 0
16818 : : || !
16819 : : #line 23241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16820 : : (TARGET_SSSE3))
16821 : : return -1;
16822 : : return 8642; /* ssse3_palignrv1ti */
16823 : :
16824 : : default:
16825 : : return -1;
16826 : : }
16827 : :
16828 : : case 122:
16829 : : if (GET_MODE (x2) != E_V2DImode)
16830 : : return -1;
16831 : : x3 = XEXP (x1, 0);
16832 : : operands[0] = x3;
16833 : : if (!register_operand (operands[0], E_V2DImode))
16834 : : return -1;
16835 : : x4 = XVECEXP (x2, 0, 0);
16836 : : operands[1] = x4;
16837 : : if (!register_operand (operands[1], E_V2DImode))
16838 : : return -1;
16839 : : x5 = XVECEXP (x2, 0, 1);
16840 : : operands[2] = x5;
16841 : : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
16842 : : return -1;
16843 : : x6 = XVECEXP (x2, 0, 2);
16844 : : operands[3] = x6;
16845 : : if (!const_0_to_255_operand (operands[3], E_VOIDmode)
16846 : : || !
16847 : : #line 23435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16848 : : (TARGET_SSE4A))
16849 : : return -1;
16850 : : return 8672; /* sse4a_extrqi */
16851 : :
16852 : : case 126:
16853 : : return recog_261 (x1, insn, pnum_clobbers);
16854 : :
16855 : : case 128:
16856 : : return recog_262 (x1, insn, pnum_clobbers);
16857 : :
16858 : : case 53:
16859 : : if (pattern62 (x1,
16860 : : E_V16QImode) != 0)
16861 : : return -1;
16862 : : x6 = XVECEXP (x2, 0, 2);
16863 : : operands[3] = x6;
16864 : : if (!nonimmediate_operand (operands[3], E_V16QImode)
16865 : : || !
16866 : : #line 26483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16867 : : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
16868 : : return -1;
16869 : : return 9025; /* xop_pperm */
16870 : :
16871 : : case 135:
16872 : : return recog_260 (x1, insn, pnum_clobbers);
16873 : :
16874 : : case 143:
16875 : : if (pattern157 (x1,
16876 : : E_V2DImode) != 0)
16877 : : return -1;
16878 : : x6 = XVECEXP (x2, 0, 2);
16879 : : operands[3] = x6;
16880 : : if (!const_0_to_255_operand (operands[3], E_SImode)
16881 : : || !
16882 : : #line 27196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16883 : : (TARGET_PCLMUL))
16884 : : return -1;
16885 : : return 9084; /* pclmulqdq */
16886 : :
16887 : : case 152:
16888 : : if (pattern62 (x1,
16889 : : E_V4DImode) != 0)
16890 : : return -1;
16891 : : x6 = XVECEXP (x2, 0, 2);
16892 : : operands[3] = x6;
16893 : : if (!const_0_to_255_operand (operands[3], E_SImode)
16894 : : || !
16895 : : #line 27653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16896 : : (TARGET_AVX2))
16897 : : return -1;
16898 : : return 9174; /* avx2_permv2ti */
16899 : :
16900 : : case 146:
16901 : : x3 = XEXP (x1, 0);
16902 : : operands[0] = x3;
16903 : : x4 = XVECEXP (x2, 0, 0);
16904 : : operands[1] = x4;
16905 : : x5 = XVECEXP (x2, 0, 1);
16906 : : operands[2] = x5;
16907 : : x6 = XVECEXP (x2, 0, 2);
16908 : : operands[3] = x6;
16909 : : if (!const_0_to_255_operand (operands[3], E_SImode))
16910 : : return -1;
16911 : : switch (GET_MODE (operands[0]))
16912 : : {
16913 : : case E_V8SImode:
16914 : : if (pattern60 (x2,
16915 : : E_V8SImode) != 0
16916 : : || !
16917 : : #line 28306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16918 : : (TARGET_AVX))
16919 : : return -1;
16920 : : return 9444; /* *avx_vperm2f128v8si_full */
16921 : :
16922 : : case E_V8SFmode:
16923 : : if (pattern60 (x2,
16924 : : E_V8SFmode) != 0
16925 : : || !
16926 : : #line 28306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16927 : : (TARGET_AVX))
16928 : : return -1;
16929 : : return 9445; /* *avx_vperm2f128v8sf_full */
16930 : :
16931 : : case E_V4DFmode:
16932 : : if (pattern60 (x2,
16933 : : E_V4DFmode) != 0
16934 : : || !
16935 : : #line 28306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16936 : : (TARGET_AVX))
16937 : : return -1;
16938 : : return 9446; /* *avx_vperm2f128v4df_full */
16939 : :
16940 : : default:
16941 : : return -1;
16942 : : }
16943 : :
16944 : : case 153:
16945 : : return recog_245 (x1, insn, pnum_clobbers);
16946 : :
16947 : : case 169:
16948 : : return recog_252 (x1, insn, pnum_clobbers);
16949 : :
16950 : : case 170:
16951 : : return recog_251 (x1, insn, pnum_clobbers);
16952 : :
16953 : : case 171:
16954 : : return recog_249 (x1, insn, pnum_clobbers);
16955 : :
16956 : : case 194:
16957 : : return recog_254 (x1, insn, pnum_clobbers);
16958 : :
16959 : : case 186:
16960 : : x3 = XEXP (x1, 0);
16961 : : operands[0] = x3;
16962 : : x4 = XVECEXP (x2, 0, 0);
16963 : : operands[1] = x4;
16964 : : x5 = XVECEXP (x2, 0, 1);
16965 : : operands[2] = x5;
16966 : : x6 = XVECEXP (x2, 0, 2);
16967 : : operands[3] = x6;
16968 : : if (!const_0_to_255_operand (operands[3], E_SImode))
16969 : : return -1;
16970 : : switch (GET_MODE (operands[0]))
16971 : : {
16972 : : case E_V8HImode:
16973 : : if (pattern160 (x2,
16974 : : E_V8HImode,
16975 : : E_V16QImode) != 0
16976 : : || !(
16977 : : #line 29924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16978 : : (TARGET_AVX512BW) &&
16979 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16980 : : (TARGET_AVX512VL)))
16981 : : return -1;
16982 : : return 10050; /* *avx512bw_dbpsadbwv8hi */
16983 : :
16984 : : case E_V16HImode:
16985 : : if (pattern160 (x2,
16986 : : E_V16HImode,
16987 : : E_V32QImode) != 0
16988 : : || !(
16989 : : #line 29924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16990 : : (TARGET_AVX512BW) &&
16991 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16992 : : (TARGET_AVX512VL)))
16993 : : return -1;
16994 : : return 10052; /* *avx512bw_dbpsadbwv16hi */
16995 : :
16996 : : case E_V32HImode:
16997 : : if (pattern160 (x2,
16998 : : E_V32HImode,
16999 : : E_V64QImode) != 0
17000 : : || !(
17001 : : #line 29924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17002 : : (TARGET_AVX512BW) &&
17003 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17004 : : (TARGET_EVEX512)))
17005 : : return -1;
17006 : : return 10054; /* *avx512bw_dbpsadbwv32hi */
17007 : :
17008 : : default:
17009 : : return -1;
17010 : : }
17011 : :
17012 : : case 182:
17013 : : if (pattern157 (x1,
17014 : : E_V4SImode) != 0)
17015 : : return -1;
17016 : : x6 = XVECEXP (x2, 0, 2);
17017 : : operands[3] = x6;
17018 : : if (!const_0_to_3_operand (operands[3], E_SImode)
17019 : : || !
17020 : : #line 29992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17021 : : (TARGET_SHA))
17022 : : return -1;
17023 : : return 10083; /* sha1rnds4 */
17024 : :
17025 : : case 185:
17026 : : if (pattern157 (x1,
17027 : : E_V4SImode) != 0)
17028 : : return -1;
17029 : : x6 = XVECEXP (x2, 0, 2);
17030 : : operands[3] = x6;
17031 : : if (!register_operand (operands[3], E_V4SImode)
17032 : : || !
17033 : : #line 30027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17034 : : (TARGET_SHA))
17035 : : return -1;
17036 : : return 10086; /* sha256rnds2 */
17037 : :
17038 : : case 224:
17039 : : if (pattern168 (x1) != 0
17040 : : || !
17041 : : #line 30040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17042 : : (TARGET_SM3))
17043 : : return -1;
17044 : : return 10087; /* vsm3msg1 */
17045 : :
17046 : : case 225:
17047 : : if (pattern168 (x1) != 0
17048 : : || !
17049 : : #line 30052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17050 : : (TARGET_SM3))
17051 : : return -1;
17052 : : return 10088; /* vsm3msg2 */
17053 : :
17054 : : case 241:
17055 : : if (pattern156 (x1,
17056 : : E_V4DImode) != 0)
17057 : : return -1;
17058 : : x6 = XVECEXP (x2, 0, 2);
17059 : : operands[3] = x6;
17060 : : if (!register_operand (operands[3], E_V2DImode)
17061 : : || !
17062 : : #line 30100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17063 : : (TARGET_SHA512))
17064 : : return -1;
17065 : : return 10092; /* vsha512rnds2 */
17066 : :
17067 : : case 195:
17068 : : switch (pattern170 (x1))
17069 : : {
17070 : : case 0:
17071 : : if (!
17072 : : #line 30209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17073 : : (TARGET_AVX512IFMA && TARGET_EVEX512))
17074 : : return -1;
17075 : : return 10105; /* vpmadd52luqv8di */
17076 : :
17077 : : case 1:
17078 : : if (!(
17079 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17080 : : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)) &&
17081 : : #line 705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17082 : : (TARGET_AVX2)))
17083 : : return -1;
17084 : : return 10107; /* vpmadd52luqv4di */
17085 : :
17086 : : case 2:
17087 : : if (!
17088 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17089 : : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)))
17090 : : return -1;
17091 : : return 10109; /* vpmadd52luqv2di */
17092 : :
17093 : : default:
17094 : : return -1;
17095 : : }
17096 : :
17097 : : case 196:
17098 : : switch (pattern170 (x1))
17099 : : {
17100 : : case 0:
17101 : : if (!
17102 : : #line 30209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17103 : : (TARGET_AVX512IFMA && TARGET_EVEX512))
17104 : : return -1;
17105 : : return 10106; /* vpmadd52huqv8di */
17106 : :
17107 : : case 1:
17108 : : if (!(
17109 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17110 : : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)) &&
17111 : : #line 705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17112 : : (TARGET_AVX2)))
17113 : : return -1;
17114 : : return 10108; /* vpmadd52huqv4di */
17115 : :
17116 : : case 2:
17117 : : if (!
17118 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17119 : : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)))
17120 : : return -1;
17121 : : return 10110; /* vpmadd52huqv2di */
17122 : :
17123 : : default:
17124 : : return -1;
17125 : : }
17126 : :
17127 : : case 198:
17128 : : switch (pattern171 (x1))
17129 : : {
17130 : : case 0:
17131 : : if (!(
17132 : : #line 30346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17133 : : (TARGET_GFNI) &&
17134 : : #line 636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17135 : : (TARGET_AVX512F && TARGET_EVEX512)))
17136 : : return -1;
17137 : : return 10161; /* vgf2p8affineinvqb_v64qi */
17138 : :
17139 : : case 1:
17140 : : if (!(
17141 : : #line 30346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17142 : : (TARGET_GFNI) &&
17143 : : #line 636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17144 : : (TARGET_AVX)))
17145 : : return -1;
17146 : : return 10163; /* vgf2p8affineinvqb_v32qi */
17147 : :
17148 : : case 2:
17149 : : if (!
17150 : : #line 30346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17151 : : (TARGET_GFNI))
17152 : : return -1;
17153 : : return 10165; /* vgf2p8affineinvqb_v16qi */
17154 : :
17155 : : default:
17156 : : return -1;
17157 : : }
17158 : :
17159 : : case 199:
17160 : : switch (pattern171 (x1))
17161 : : {
17162 : : case 0:
17163 : : if (!(
17164 : : #line 30363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17165 : : (TARGET_GFNI) &&
17166 : : #line 636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17167 : : (TARGET_AVX512F && TARGET_EVEX512)))
17168 : : return -1;
17169 : : return 10167; /* vgf2p8affineqb_v64qi */
17170 : :
17171 : : case 1:
17172 : : if (!(
17173 : : #line 30363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17174 : : (TARGET_GFNI) &&
17175 : : #line 636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17176 : : (TARGET_AVX)))
17177 : : return -1;
17178 : : return 10169; /* vgf2p8affineqb_v32qi */
17179 : :
17180 : : case 2:
17181 : : if (!
17182 : : #line 30363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17183 : : (TARGET_GFNI))
17184 : : return -1;
17185 : : return 10171; /* vgf2p8affineqb_v16qi */
17186 : :
17187 : : default:
17188 : : return -1;
17189 : : }
17190 : :
17191 : : case 202:
17192 : : return recog_259 (x1, insn, pnum_clobbers);
17193 : :
17194 : : case 201:
17195 : : return recog_257 (x1, insn, pnum_clobbers);
17196 : :
17197 : : case 203:
17198 : : return recog_258 (x1, insn, pnum_clobbers);
17199 : :
17200 : : case 204:
17201 : : return recog_256 (x1, insn, pnum_clobbers);
17202 : :
17203 : : case 205:
17204 : : switch (pattern174 (x1))
17205 : : {
17206 : : case 0:
17207 : : if (!
17208 : : #line 30580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17209 : : (TARGET_AVX512VNNI && TARGET_EVEX512))
17210 : : return -1;
17211 : : return 10269; /* vpdpbusd_v16si */
17212 : :
17213 : : case 1:
17214 : : if (!(
17215 : : #line 30591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17216 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
17217 : : #line 669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17218 : : (TARGET_AVX2)))
17219 : : return -1;
17220 : : return 10270; /* vpdpbusd_v8si */
17221 : :
17222 : : case 2:
17223 : : if (!
17224 : : #line 30591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17225 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
17226 : : return -1;
17227 : : return 10271; /* vpdpbusd_v4si */
17228 : :
17229 : : default:
17230 : : return -1;
17231 : : }
17232 : :
17233 : : case 206:
17234 : : switch (pattern174 (x1))
17235 : : {
17236 : : case 0:
17237 : : if (!
17238 : : #line 30649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17239 : : (TARGET_AVX512VNNI && TARGET_EVEX512))
17240 : : return -1;
17241 : : return 10278; /* vpdpbusds_v16si */
17242 : :
17243 : : case 1:
17244 : : if (!(
17245 : : #line 30660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17246 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
17247 : : #line 669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17248 : : (TARGET_AVX2)))
17249 : : return -1;
17250 : : return 10279; /* vpdpbusds_v8si */
17251 : :
17252 : : case 2:
17253 : : if (!
17254 : : #line 30660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17255 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
17256 : : return -1;
17257 : : return 10280; /* vpdpbusds_v4si */
17258 : :
17259 : : default:
17260 : : return -1;
17261 : : }
17262 : :
17263 : : case 207:
17264 : : switch (pattern174 (x1))
17265 : : {
17266 : : case 0:
17267 : : if (!
17268 : : #line 30718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17269 : : (TARGET_AVX512VNNI && TARGET_EVEX512))
17270 : : return -1;
17271 : : return 10287; /* vpdpwssd_v16si */
17272 : :
17273 : : case 1:
17274 : : if (!(
17275 : : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17276 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
17277 : : #line 669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17278 : : (TARGET_AVX2)))
17279 : : return -1;
17280 : : return 10288; /* vpdpwssd_v8si */
17281 : :
17282 : : case 2:
17283 : : if (!
17284 : : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17285 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
17286 : : return -1;
17287 : : return 10289; /* vpdpwssd_v4si */
17288 : :
17289 : : default:
17290 : : return -1;
17291 : : }
17292 : :
17293 : : case 208:
17294 : : switch (pattern174 (x1))
17295 : : {
17296 : : case 0:
17297 : : if (!
17298 : : #line 30787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17299 : : (TARGET_AVX512VNNI && TARGET_EVEX512))
17300 : : return -1;
17301 : : return 10296; /* vpdpwssds_v16si */
17302 : :
17303 : : case 1:
17304 : : if (!(
17305 : : #line 30798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17306 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
17307 : : #line 669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17308 : : (TARGET_AVX2)))
17309 : : return -1;
17310 : : return 10297; /* vpdpwssds_v8si */
17311 : :
17312 : : case 2:
17313 : : if (!
17314 : : #line 30798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17315 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
17316 : : return -1;
17317 : : return 10298; /* vpdpwssds_v4si */
17318 : :
17319 : : default:
17320 : : return -1;
17321 : : }
17322 : :
17323 : : case 213:
17324 : : x3 = XEXP (x1, 0);
17325 : : operands[0] = x3;
17326 : : x4 = XVECEXP (x2, 0, 0);
17327 : : operands[1] = x4;
17328 : : x5 = XVECEXP (x2, 0, 1);
17329 : : operands[2] = x5;
17330 : : x6 = XVECEXP (x2, 0, 2);
17331 : : operands[3] = x6;
17332 : : if (!const_0_to_255_operand (operands[3], E_SImode))
17333 : : return -1;
17334 : : switch (GET_MODE (operands[0]))
17335 : : {
17336 : : case E_V8DImode:
17337 : : if (pattern149 (x2,
17338 : : E_V8DImode) != 0
17339 : : || !(
17340 : : #line 30911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17341 : : (TARGET_VPCLMULQDQ) &&
17342 : : #line 621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17343 : : (TARGET_AVX512F && TARGET_EVEX512)))
17344 : : return -1;
17345 : : return 10317; /* vpclmulqdq_v8di */
17346 : :
17347 : : case E_V4DImode:
17348 : : if (pattern149 (x2,
17349 : : E_V4DImode) != 0
17350 : : || !
17351 : : #line 30911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17352 : : (TARGET_VPCLMULQDQ))
17353 : : return -1;
17354 : : return 10318; /* vpclmulqdq_v4di */
17355 : :
17356 : : case E_V2DImode:
17357 : : if (pattern149 (x2,
17358 : : E_V2DImode) != 0
17359 : : || !(
17360 : : #line 30911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17361 : : (TARGET_VPCLMULQDQ) &&
17362 : : #line 621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17363 : : (TARGET_AVX512VL)))
17364 : : return -1;
17365 : : return 10319; /* vpclmulqdq_v2di */
17366 : :
17367 : : default:
17368 : : return -1;
17369 : : }
17370 : :
17371 : : case 216:
17372 : : x3 = XEXP (x1, 0);
17373 : : operands[0] = x3;
17374 : : x4 = XVECEXP (x2, 0, 0);
17375 : : operands[1] = x4;
17376 : : x5 = XVECEXP (x2, 0, 1);
17377 : : operands[2] = x5;
17378 : : x6 = XVECEXP (x2, 0, 2);
17379 : : operands[3] = x6;
17380 : : switch (GET_MODE (operands[0]))
17381 : : {
17382 : : case E_V16SFmode:
17383 : : if (pattern919 (x2,
17384 : : E_V32BFmode,
17385 : : E_V16SFmode) != 0
17386 : : || !(
17387 : : #line 31190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17388 : : (TARGET_AVX512BF16) &&
17389 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17390 : : (TARGET_EVEX512)))
17391 : : return -1;
17392 : : return 10347; /* avx512f_dpbf16ps_v16sf */
17393 : :
17394 : : case E_V8SFmode:
17395 : : if (pattern919 (x2,
17396 : : E_V16BFmode,
17397 : : E_V8SFmode) != 0
17398 : : || !(
17399 : : #line 31190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17400 : : (TARGET_AVX512BF16) &&
17401 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17402 : : (TARGET_AVX512VL)))
17403 : : return -1;
17404 : : return 10349; /* avx512f_dpbf16ps_v8sf */
17405 : :
17406 : : case E_V4SFmode:
17407 : : if (pattern919 (x2,
17408 : : E_V8BFmode,
17409 : : E_V4SFmode) != 0
17410 : : || !(
17411 : : #line 31190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17412 : : (TARGET_AVX512BF16) &&
17413 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17414 : : (TARGET_AVX512VL)))
17415 : : return -1;
17416 : : return 10351; /* avx512f_dpbf16ps_v4sf */
17417 : :
17418 : : default:
17419 : : return -1;
17420 : : }
17421 : :
17422 : : case 227:
17423 : : switch (pattern175 (x1))
17424 : : {
17425 : : case 0:
17426 : : if (!(
17427 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17428 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256) &&
17429 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17430 : : (TARGET_AVX)))
17431 : : return -1;
17432 : : return 10367; /* vpdpbssd_v8si */
17433 : :
17434 : : case 1:
17435 : : if (!
17436 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17437 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256))
17438 : : return -1;
17439 : : return 10373; /* vpdpbssd_v4si */
17440 : :
17441 : : case 2:
17442 : : if (!
17443 : : #line 31572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17444 : : (TARGET_AVX10_2_512))
17445 : : return -1;
17446 : : return 10379; /* vpdpbssd_v16si */
17447 : :
17448 : : default:
17449 : : return -1;
17450 : : }
17451 : :
17452 : : case 228:
17453 : : switch (pattern175 (x1))
17454 : : {
17455 : : case 0:
17456 : : if (!(
17457 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17458 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256) &&
17459 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17460 : : (TARGET_AVX)))
17461 : : return -1;
17462 : : return 10368; /* vpdpbssds_v8si */
17463 : :
17464 : : case 1:
17465 : : if (!
17466 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17467 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256))
17468 : : return -1;
17469 : : return 10374; /* vpdpbssds_v4si */
17470 : :
17471 : : case 2:
17472 : : if (!
17473 : : #line 31572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17474 : : (TARGET_AVX10_2_512))
17475 : : return -1;
17476 : : return 10380; /* vpdpbssds_v16si */
17477 : :
17478 : : default:
17479 : : return -1;
17480 : : }
17481 : :
17482 : : case 229:
17483 : : switch (pattern175 (x1))
17484 : : {
17485 : : case 0:
17486 : : if (!(
17487 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17488 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256) &&
17489 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17490 : : (TARGET_AVX)))
17491 : : return -1;
17492 : : return 10369; /* vpdpbsud_v8si */
17493 : :
17494 : : case 1:
17495 : : if (!
17496 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17497 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256))
17498 : : return -1;
17499 : : return 10375; /* vpdpbsud_v4si */
17500 : :
17501 : : case 2:
17502 : : if (!
17503 : : #line 31572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17504 : : (TARGET_AVX10_2_512))
17505 : : return -1;
17506 : : return 10381; /* vpdpbsud_v16si */
17507 : :
17508 : : default:
17509 : : return -1;
17510 : : }
17511 : :
17512 : : case 230:
17513 : : switch (pattern175 (x1))
17514 : : {
17515 : : case 0:
17516 : : if (!(
17517 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17518 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256) &&
17519 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17520 : : (TARGET_AVX)))
17521 : : return -1;
17522 : : return 10370; /* vpdpbsuds_v8si */
17523 : :
17524 : : case 1:
17525 : : if (!
17526 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17527 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256))
17528 : : return -1;
17529 : : return 10376; /* vpdpbsuds_v4si */
17530 : :
17531 : : case 2:
17532 : : if (!
17533 : : #line 31572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17534 : : (TARGET_AVX10_2_512))
17535 : : return -1;
17536 : : return 10382; /* vpdpbsuds_v16si */
17537 : :
17538 : : default:
17539 : : return -1;
17540 : : }
17541 : :
17542 : : case 231:
17543 : : switch (pattern175 (x1))
17544 : : {
17545 : : case 0:
17546 : : if (!(
17547 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17548 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256) &&
17549 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17550 : : (TARGET_AVX)))
17551 : : return -1;
17552 : : return 10371; /* vpdpbuud_v8si */
17553 : :
17554 : : case 1:
17555 : : if (!
17556 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17557 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256))
17558 : : return -1;
17559 : : return 10377; /* vpdpbuud_v4si */
17560 : :
17561 : : case 2:
17562 : : if (!
17563 : : #line 31572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17564 : : (TARGET_AVX10_2_512))
17565 : : return -1;
17566 : : return 10383; /* vpdpbuud_v16si */
17567 : :
17568 : : default:
17569 : : return -1;
17570 : : }
17571 : :
17572 : : case 232:
17573 : : switch (pattern175 (x1))
17574 : : {
17575 : : case 0:
17576 : : if (!(
17577 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17578 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256) &&
17579 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17580 : : (TARGET_AVX)))
17581 : : return -1;
17582 : : return 10372; /* vpdpbuuds_v8si */
17583 : :
17584 : : case 1:
17585 : : if (!
17586 : : #line 31561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17587 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2_256))
17588 : : return -1;
17589 : : return 10378; /* vpdpbuuds_v4si */
17590 : :
17591 : : case 2:
17592 : : if (!
17593 : : #line 31572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17594 : : (TARGET_AVX10_2_512))
17595 : : return -1;
17596 : : return 10384; /* vpdpbuuds_v16si */
17597 : :
17598 : : default:
17599 : : return -1;
17600 : : }
17601 : :
17602 : : case 233:
17603 : : switch (pattern175 (x1))
17604 : : {
17605 : : case 0:
17606 : : if (!(
17607 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17608 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256) &&
17609 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17610 : : (TARGET_AVX)))
17611 : : return -1;
17612 : : return 10521; /* vpdpwusd_v8si */
17613 : :
17614 : : case 1:
17615 : : if (!
17616 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17617 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256))
17618 : : return -1;
17619 : : return 10527; /* vpdpwusd_v4si */
17620 : :
17621 : : case 2:
17622 : : if (!
17623 : : #line 31981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17624 : : (TARGET_AVX10_2_512))
17625 : : return -1;
17626 : : return 10533; /* vpdpwusd_v16si */
17627 : :
17628 : : default:
17629 : : return -1;
17630 : : }
17631 : :
17632 : : case 234:
17633 : : switch (pattern175 (x1))
17634 : : {
17635 : : case 0:
17636 : : if (!(
17637 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17638 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256) &&
17639 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17640 : : (TARGET_AVX)))
17641 : : return -1;
17642 : : return 10522; /* vpdpwusds_v8si */
17643 : :
17644 : : case 1:
17645 : : if (!
17646 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17647 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256))
17648 : : return -1;
17649 : : return 10528; /* vpdpwusds_v4si */
17650 : :
17651 : : case 2:
17652 : : if (!
17653 : : #line 31981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17654 : : (TARGET_AVX10_2_512))
17655 : : return -1;
17656 : : return 10534; /* vpdpwusds_v16si */
17657 : :
17658 : : default:
17659 : : return -1;
17660 : : }
17661 : :
17662 : : case 235:
17663 : : switch (pattern175 (x1))
17664 : : {
17665 : : case 0:
17666 : : if (!(
17667 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17668 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256) &&
17669 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17670 : : (TARGET_AVX)))
17671 : : return -1;
17672 : : return 10523; /* vpdpwsud_v8si */
17673 : :
17674 : : case 1:
17675 : : if (!
17676 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17677 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256))
17678 : : return -1;
17679 : : return 10529; /* vpdpwsud_v4si */
17680 : :
17681 : : case 2:
17682 : : if (!
17683 : : #line 31981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17684 : : (TARGET_AVX10_2_512))
17685 : : return -1;
17686 : : return 10535; /* vpdpwsud_v16si */
17687 : :
17688 : : default:
17689 : : return -1;
17690 : : }
17691 : :
17692 : : case 236:
17693 : : switch (pattern175 (x1))
17694 : : {
17695 : : case 0:
17696 : : if (!(
17697 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17698 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256) &&
17699 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17700 : : (TARGET_AVX)))
17701 : : return -1;
17702 : : return 10524; /* vpdpwsuds_v8si */
17703 : :
17704 : : case 1:
17705 : : if (!
17706 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17707 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256))
17708 : : return -1;
17709 : : return 10530; /* vpdpwsuds_v4si */
17710 : :
17711 : : case 2:
17712 : : if (!
17713 : : #line 31981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17714 : : (TARGET_AVX10_2_512))
17715 : : return -1;
17716 : : return 10536; /* vpdpwsuds_v16si */
17717 : :
17718 : : default:
17719 : : return -1;
17720 : : }
17721 : :
17722 : : case 237:
17723 : : switch (pattern175 (x1))
17724 : : {
17725 : : case 0:
17726 : : if (!(
17727 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17728 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256) &&
17729 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17730 : : (TARGET_AVX)))
17731 : : return -1;
17732 : : return 10525; /* vpdpwuud_v8si */
17733 : :
17734 : : case 1:
17735 : : if (!
17736 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17737 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256))
17738 : : return -1;
17739 : : return 10531; /* vpdpwuud_v4si */
17740 : :
17741 : : case 2:
17742 : : if (!
17743 : : #line 31981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17744 : : (TARGET_AVX10_2_512))
17745 : : return -1;
17746 : : return 10537; /* vpdpwuud_v16si */
17747 : :
17748 : : default:
17749 : : return -1;
17750 : : }
17751 : :
17752 : : case 238:
17753 : : switch (pattern175 (x1))
17754 : : {
17755 : : case 0:
17756 : : if (!(
17757 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17758 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256) &&
17759 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17760 : : (TARGET_AVX)))
17761 : : return -1;
17762 : : return 10526; /* vpdpwuuds_v8si */
17763 : :
17764 : : case 1:
17765 : : if (!
17766 : : #line 31970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17767 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2_256))
17768 : : return -1;
17769 : : return 10532; /* vpdpwuuds_v4si */
17770 : :
17771 : : case 2:
17772 : : if (!
17773 : : #line 31981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17774 : : (TARGET_AVX10_2_512))
17775 : : return -1;
17776 : : return 10538; /* vpdpwuuds_v16si */
17777 : :
17778 : : default:
17779 : : return -1;
17780 : : }
17781 : :
17782 : : case 244:
17783 : : x3 = XEXP (x1, 0);
17784 : : operands[0] = x3;
17785 : : x4 = XVECEXP (x2, 0, 0);
17786 : : operands[1] = x4;
17787 : : x5 = XVECEXP (x2, 0, 1);
17788 : : operands[2] = x5;
17789 : : x6 = XVECEXP (x2, 0, 2);
17790 : : operands[3] = x6;
17791 : : switch (GET_MODE (operands[0]))
17792 : : {
17793 : : case E_V16SFmode:
17794 : : if (pattern169 (x2,
17795 : : E_V16SFmode) != 0
17796 : : || !(
17797 : : #line 32033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17798 : : (TARGET_AVX10_2_256) &&
17799 : : #line 546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17800 : : (TARGET_AVX10_2_512)))
17801 : : return -1;
17802 : : return 10575; /* vdpphps_v16sf */
17803 : :
17804 : : case E_V8SFmode:
17805 : : if (pattern169 (x2,
17806 : : E_V8SFmode) != 0
17807 : : || !
17808 : : #line 32033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17809 : : (TARGET_AVX10_2_256))
17810 : : return -1;
17811 : : return 10576; /* vdpphps_v8sf */
17812 : :
17813 : : case E_V4SFmode:
17814 : : if (pattern169 (x2,
17815 : : E_V4SFmode) != 0
17816 : : || !
17817 : : #line 32033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17818 : : (TARGET_AVX10_2_256))
17819 : : return -1;
17820 : : return 10577; /* vdpphps_v4sf */
17821 : :
17822 : : default:
17823 : : return -1;
17824 : : }
17825 : :
17826 : : case 278:
17827 : : x3 = XEXP (x1, 0);
17828 : : operands[0] = x3;
17829 : : x4 = XVECEXP (x2, 0, 0);
17830 : : operands[1] = x4;
17831 : : x5 = XVECEXP (x2, 0, 1);
17832 : : operands[2] = x5;
17833 : : x6 = XVECEXP (x2, 0, 2);
17834 : : operands[3] = x6;
17835 : : if (!const_0_to_255_operand (operands[3], E_SImode))
17836 : : return -1;
17837 : : switch (GET_MODE (operands[0]))
17838 : : {
17839 : : case E_V32BFmode:
17840 : : if (pattern1030 (x2,
17841 : : E_V32BFmode) != 0
17842 : : || !(
17843 : : #line 32637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17844 : : (TARGET_AVX10_2_256) &&
17845 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17846 : : (TARGET_AVX10_2_512)))
17847 : : return -1;
17848 : : return 10929; /* avx10_2_minmaxnepbf16_v32bf */
17849 : :
17850 : : case E_V16BFmode:
17851 : : if (pattern1030 (x2,
17852 : : E_V16BFmode) != 0
17853 : : || !
17854 : : #line 32637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17855 : : (TARGET_AVX10_2_256))
17856 : : return -1;
17857 : : return 10931; /* avx10_2_minmaxnepbf16_v16bf */
17858 : :
17859 : : case E_V8BFmode:
17860 : : if (pattern1030 (x2,
17861 : : E_V8BFmode) != 0
17862 : : || !
17863 : : #line 32637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17864 : : (TARGET_AVX10_2_256))
17865 : : return -1;
17866 : : return 10933; /* avx10_2_minmaxnepbf16_v8bf */
17867 : :
17868 : : default:
17869 : : return -1;
17870 : : }
17871 : :
17872 : : case 279:
17873 : : return recog_253 (x1, insn, pnum_clobbers);
17874 : :
17875 : : default:
17876 : : return -1;
17877 : : }
17878 : : }
17879 : :
17880 : : int
17881 : : recog_288 (rtx x1 ATTRIBUTE_UNUSED,
17882 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17883 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17884 : : {
17885 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17886 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
17887 : : rtx x10, x11;
17888 : : int res ATTRIBUTE_UNUSED;
17889 : : x2 = XEXP (x1, 1);
17890 : : x3 = XEXP (x2, 1);
17891 : : if (pattern930 (x3) != 0)
17892 : : return -1;
17893 : : x4 = XVECEXP (x3, 0, 0);
17894 : : switch (XWINT (x4, 0))
17895 : : {
17896 : : case 8L:
17897 : : x5 = XVECEXP (x3, 0, 1);
17898 : : if (XWINT (x5, 0) != 9L)
17899 : : return -1;
17900 : : x6 = XVECEXP (x3, 0, 2);
17901 : : if (XWINT (x6, 0) != 10L)
17902 : : return -1;
17903 : : x7 = XVECEXP (x3, 0, 3);
17904 : : if (XWINT (x7, 0) != 11L)
17905 : : return -1;
17906 : : x8 = XVECEXP (x3, 0, 4);
17907 : : if (XWINT (x8, 0) != 12L)
17908 : : return -1;
17909 : : x9 = XVECEXP (x3, 0, 5);
17910 : : if (XWINT (x9, 0) != 13L)
17911 : : return -1;
17912 : : x10 = XVECEXP (x3, 0, 6);
17913 : : if (XWINT (x10, 0) != 14L)
17914 : : return -1;
17915 : : x11 = XVECEXP (x3, 0, 7);
17916 : : if (XWINT (x11, 0) != 15L)
17917 : : return -1;
17918 : : switch (GET_MODE (operands[0]))
17919 : : {
17920 : : case E_V8SFmode:
17921 : : if (!nonimmediate_operand (operands[0], E_V8SFmode)
17922 : : || GET_MODE (x2) != E_V8SFmode
17923 : : || !register_operand (operands[1], E_V16SFmode)
17924 : : || !(
17925 : : #line 12707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17926 : : (TARGET_AVX512F) &&
17927 : : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17928 : : (TARGET_EVEX512)))
17929 : : return -1;
17930 : : return 5352; /* vec_extract_hi_v16sf */
17931 : :
17932 : : case E_V8SImode:
17933 : : if (!nonimmediate_operand (operands[0], E_V8SImode)
17934 : : || GET_MODE (x2) != E_V8SImode
17935 : : || !register_operand (operands[1], E_V16SImode)
17936 : : || !(
17937 : : #line 12707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17938 : : (TARGET_AVX512F) &&
17939 : : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17940 : : (TARGET_EVEX512)))
17941 : : return -1;
17942 : : return 5353; /* vec_extract_hi_v16si */
17943 : :
17944 : : case E_V8HImode:
17945 : : if (!nonimmediate_operand (operands[0], E_V8HImode)
17946 : : || GET_MODE (x2) != E_V8HImode
17947 : : || !register_operand (operands[1], E_V16HImode)
17948 : : || !
17949 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17950 : : (TARGET_AVX))
17951 : : return -1;
17952 : : return 5383; /* vec_extract_hi_v16hi */
17953 : :
17954 : : case E_V8HFmode:
17955 : : if (!nonimmediate_operand (operands[0], E_V8HFmode)
17956 : : || GET_MODE (x2) != E_V8HFmode
17957 : : || !register_operand (operands[1], E_V16HFmode)
17958 : : || !
17959 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17960 : : (TARGET_AVX))
17961 : : return -1;
17962 : : return 5384; /* vec_extract_hi_v16hf */
17963 : :
17964 : : case E_V8BFmode:
17965 : : if (!nonimmediate_operand (operands[0], E_V8BFmode)
17966 : : || GET_MODE (x2) != E_V8BFmode
17967 : : || !register_operand (operands[1], E_V16BFmode)
17968 : : || !
17969 : : #line 13095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17970 : : (TARGET_AVX))
17971 : : return -1;
17972 : : return 5385; /* vec_extract_hi_v16bf */
17973 : :
17974 : : default:
17975 : : return -1;
17976 : : }
17977 : :
17978 : : case 0L:
17979 : : x5 = XVECEXP (x3, 0, 1);
17980 : : if (XWINT (x5, 0) != 1L)
17981 : : return -1;
17982 : : x6 = XVECEXP (x3, 0, 2);
17983 : : if (XWINT (x6, 0) != 2L)
17984 : : return -1;
17985 : : x7 = XVECEXP (x3, 0, 3);
17986 : : if (XWINT (x7, 0) != 3L)
17987 : : return -1;
17988 : : x8 = XVECEXP (x3, 0, 4);
17989 : : if (XWINT (x8, 0) != 4L)
17990 : : return -1;
17991 : : x9 = XVECEXP (x3, 0, 5);
17992 : : if (XWINT (x9, 0) != 5L)
17993 : : return -1;
17994 : : x10 = XVECEXP (x3, 0, 6);
17995 : : if (XWINT (x10, 0) != 6L)
17996 : : return -1;
17997 : : x11 = XVECEXP (x3, 0, 7);
17998 : : if (XWINT (x11, 0) != 7L)
17999 : : return -1;
18000 : : switch (pattern1533 (x2))
18001 : : {
18002 : : case 0:
18003 : : if (!(
18004 : : #line 12812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18005 : : (TARGET_AVX512F
18006 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
18007 : : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18008 : : (TARGET_EVEX512)))
18009 : : return -1;
18010 : : return 5356; /* vec_extract_lo_v16sf */
18011 : :
18012 : : case 1:
18013 : : if (!(
18014 : : #line 12812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18015 : : (TARGET_AVX512F
18016 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
18017 : : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18018 : : (TARGET_EVEX512)))
18019 : : return -1;
18020 : : return 5357; /* vec_extract_lo_v16si */
18021 : :
18022 : : case 2:
18023 : : if (!
18024 : : #line 13081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18025 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
18026 : : return -1;
18027 : : return 5380; /* vec_extract_lo_v16hi */
18028 : :
18029 : : case 3:
18030 : : if (!
18031 : : #line 13081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18032 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
18033 : : return -1;
18034 : : return 5381; /* vec_extract_lo_v16hf */
18035 : :
18036 : : case 4:
18037 : : if (!
18038 : : #line 13081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18039 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
18040 : : return -1;
18041 : : return 5382; /* vec_extract_lo_v16bf */
18042 : :
18043 : : default:
18044 : : return -1;
18045 : : }
18046 : :
18047 : : default:
18048 : : return -1;
18049 : : }
18050 : : }
18051 : :
18052 : : int
18053 : : recog_296 (rtx x1 ATTRIBUTE_UNUSED,
18054 : : rtx_insn *insn ATTRIBUTE_UNUSED,
18055 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
18056 : : {
18057 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18058 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
18059 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
18060 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
18061 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
18062 : : rtx x34, x35;
18063 : : int res ATTRIBUTE_UNUSED;
18064 : : x2 = XEXP (x1, 1);
18065 : : x3 = XEXP (x2, 1);
18066 : : if (pattern673 (x3) != 0
18067 : : || !nonimmediate_operand (operands[0], E_V32QImode)
18068 : : || GET_MODE (x2) != E_V32QImode)
18069 : : return -1;
18070 : : x4 = XVECEXP (x3, 0, 0);
18071 : : switch (XWINT (x4, 0))
18072 : : {
18073 : : case 0L:
18074 : : if (pattern1764 (x3) != 0)
18075 : : return -1;
18076 : : x5 = XVECEXP (x3, 0, 16);
18077 : : if (XWINT (x5, 0) != 16L)
18078 : : return -1;
18079 : : x6 = XVECEXP (x3, 0, 17);
18080 : : if (XWINT (x6, 0) != 17L)
18081 : : return -1;
18082 : : x7 = XVECEXP (x3, 0, 18);
18083 : : if (XWINT (x7, 0) != 18L)
18084 : : return -1;
18085 : : x8 = XVECEXP (x3, 0, 19);
18086 : : if (XWINT (x8, 0) != 19L)
18087 : : return -1;
18088 : : x9 = XVECEXP (x3, 0, 20);
18089 : : if (XWINT (x9, 0) != 20L)
18090 : : return -1;
18091 : : x10 = XVECEXP (x3, 0, 21);
18092 : : if (XWINT (x10, 0) != 21L)
18093 : : return -1;
18094 : : x11 = XVECEXP (x3, 0, 22);
18095 : : if (XWINT (x11, 0) != 22L)
18096 : : return -1;
18097 : : x12 = XVECEXP (x3, 0, 23);
18098 : : if (XWINT (x12, 0) != 23L
18099 : : || pattern1882 (x3) != 0)
18100 : : return -1;
18101 : : x13 = XVECEXP (x3, 0, 28);
18102 : : if (XWINT (x13, 0) != 28L)
18103 : : return -1;
18104 : : x14 = XVECEXP (x3, 0, 29);
18105 : : if (XWINT (x14, 0) != 29L)
18106 : : return -1;
18107 : : x15 = XVECEXP (x3, 0, 30);
18108 : : if (XWINT (x15, 0) != 30L)
18109 : : return -1;
18110 : : x16 = XVECEXP (x3, 0, 31);
18111 : : if (XWINT (x16, 0) != 31L
18112 : : || !nonimmediate_operand (operands[1], E_V64QImode)
18113 : : || !
18114 : : #line 13127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18115 : : (TARGET_AVX512F && TARGET_EVEX512
18116 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
18117 : : return -1;
18118 : : return 5386; /* vec_extract_lo_v64qi */
18119 : :
18120 : : case 32L:
18121 : : x17 = XVECEXP (x3, 0, 1);
18122 : : if (XWINT (x17, 0) != 33L)
18123 : : return -1;
18124 : : x18 = XVECEXP (x3, 0, 2);
18125 : : if (XWINT (x18, 0) != 34L)
18126 : : return -1;
18127 : : x19 = XVECEXP (x3, 0, 3);
18128 : : if (XWINT (x19, 0) != 35L)
18129 : : return -1;
18130 : : x20 = XVECEXP (x3, 0, 4);
18131 : : if (XWINT (x20, 0) != 36L)
18132 : : return -1;
18133 : : x21 = XVECEXP (x3, 0, 5);
18134 : : if (XWINT (x21, 0) != 37L)
18135 : : return -1;
18136 : : x22 = XVECEXP (x3, 0, 6);
18137 : : if (XWINT (x22, 0) != 38L)
18138 : : return -1;
18139 : : x23 = XVECEXP (x3, 0, 7);
18140 : : if (XWINT (x23, 0) != 39L)
18141 : : return -1;
18142 : : x24 = XVECEXP (x3, 0, 8);
18143 : : if (XWINT (x24, 0) != 40L)
18144 : : return -1;
18145 : : x25 = XVECEXP (x3, 0, 9);
18146 : : if (XWINT (x25, 0) != 41L)
18147 : : return -1;
18148 : : x26 = XVECEXP (x3, 0, 10);
18149 : : if (XWINT (x26, 0) != 42L)
18150 : : return -1;
18151 : : x27 = XVECEXP (x3, 0, 11);
18152 : : if (XWINT (x27, 0) != 43L)
18153 : : return -1;
18154 : : x28 = XVECEXP (x3, 0, 12);
18155 : : if (XWINT (x28, 0) != 44L)
18156 : : return -1;
18157 : : x29 = XVECEXP (x3, 0, 13);
18158 : : if (XWINT (x29, 0) != 45L)
18159 : : return -1;
18160 : : x30 = XVECEXP (x3, 0, 14);
18161 : : if (XWINT (x30, 0) != 46L)
18162 : : return -1;
18163 : : x31 = XVECEXP (x3, 0, 15);
18164 : : if (XWINT (x31, 0) != 47L)
18165 : : return -1;
18166 : : x5 = XVECEXP (x3, 0, 16);
18167 : : if (XWINT (x5, 0) != 48L)
18168 : : return -1;
18169 : : x6 = XVECEXP (x3, 0, 17);
18170 : : if (XWINT (x6, 0) != 49L)
18171 : : return -1;
18172 : : x7 = XVECEXP (x3, 0, 18);
18173 : : if (XWINT (x7, 0) != 50L)
18174 : : return -1;
18175 : : x8 = XVECEXP (x3, 0, 19);
18176 : : if (XWINT (x8, 0) != 51L)
18177 : : return -1;
18178 : : x9 = XVECEXP (x3, 0, 20);
18179 : : if (XWINT (x9, 0) != 52L)
18180 : : return -1;
18181 : : x10 = XVECEXP (x3, 0, 21);
18182 : : if (XWINT (x10, 0) != 53L)
18183 : : return -1;
18184 : : x11 = XVECEXP (x3, 0, 22);
18185 : : if (XWINT (x11, 0) != 54L)
18186 : : return -1;
18187 : : x12 = XVECEXP (x3, 0, 23);
18188 : : if (XWINT (x12, 0) != 55L)
18189 : : return -1;
18190 : : x32 = XVECEXP (x3, 0, 24);
18191 : : if (XWINT (x32, 0) != 56L)
18192 : : return -1;
18193 : : x33 = XVECEXP (x3, 0, 25);
18194 : : if (XWINT (x33, 0) != 57L)
18195 : : return -1;
18196 : : x34 = XVECEXP (x3, 0, 26);
18197 : : if (XWINT (x34, 0) != 58L)
18198 : : return -1;
18199 : : x35 = XVECEXP (x3, 0, 27);
18200 : : if (XWINT (x35, 0) != 59L)
18201 : : return -1;
18202 : : x13 = XVECEXP (x3, 0, 28);
18203 : : if (XWINT (x13, 0) != 60L)
18204 : : return -1;
18205 : : x14 = XVECEXP (x3, 0, 29);
18206 : : if (XWINT (x14, 0) != 61L)
18207 : : return -1;
18208 : : x15 = XVECEXP (x3, 0, 30);
18209 : : if (XWINT (x15, 0) != 62L)
18210 : : return -1;
18211 : : x16 = XVECEXP (x3, 0, 31);
18212 : : if (XWINT (x16, 0) != 63L
18213 : : || !register_operand (operands[1], E_V64QImode)
18214 : : || !
18215 : : #line 13176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18216 : : (TARGET_AVX512F && TARGET_EVEX512))
18217 : : return -1;
18218 : : return 5387; /* vec_extract_hi_v64qi */
18219 : :
18220 : : default:
18221 : : return -1;
18222 : : }
18223 : : }
18224 : :
18225 : : int
18226 : : recog_306 (rtx x1 ATTRIBUTE_UNUSED,
18227 : : rtx_insn *insn ATTRIBUTE_UNUSED,
18228 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
18229 : : {
18230 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18231 : : rtx x2, x3, x4;
18232 : : int res ATTRIBUTE_UNUSED;
18233 : : x2 = XEXP (x1, 1);
18234 : : x3 = XEXP (x2, 0);
18235 : : x4 = XEXP (x3, 0);
18236 : : switch (GET_CODE (x4))
18237 : : {
18238 : : case REG:
18239 : : case SUBREG:
18240 : : case MEM:
18241 : : case NOT:
18242 : : switch (pattern533 (x2))
18243 : : {
18244 : : case 0:
18245 : : if (!(
18246 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18247 : : ((64 == 64 || TARGET_AVX512VL
18248 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18249 : : && ix86_pre_reload_split ()
18250 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18251 : : STRIP_UNARY (operands[4]))
18252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18253 : : STRIP_UNARY (operands[4]))
18254 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18255 : : STRIP_UNARY (operands[3]))
18256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18257 : : STRIP_UNARY (operands[3])))) &&
18258 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18259 : : (TARGET_AVX512F && TARGET_EVEX512)))
18260 : : return -1;
18261 : : return 5536; /* *avx512bw_vpternlogv64qi_1 */
18262 : :
18263 : : case 1:
18264 : : if (!(
18265 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18266 : : ((32 == 64 || TARGET_AVX512VL
18267 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18268 : : && ix86_pre_reload_split ()
18269 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18270 : : STRIP_UNARY (operands[4]))
18271 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18272 : : STRIP_UNARY (operands[4]))
18273 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18274 : : STRIP_UNARY (operands[3]))
18275 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18276 : : STRIP_UNARY (operands[3])))) &&
18277 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18278 : : (TARGET_AVX)))
18279 : : return -1;
18280 : : return 5563; /* *avx512vl_vpternlogv32qi_1 */
18281 : :
18282 : : case 2:
18283 : : if (!
18284 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18285 : : ((16 == 64 || TARGET_AVX512VL
18286 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18287 : : && ix86_pre_reload_split ()
18288 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18289 : : STRIP_UNARY (operands[4]))
18290 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18291 : : STRIP_UNARY (operands[4]))
18292 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18293 : : STRIP_UNARY (operands[3]))
18294 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18295 : : STRIP_UNARY (operands[3])))))
18296 : : return -1;
18297 : : return 5590; /* *avx512vl_vpternlogv16qi_1 */
18298 : :
18299 : : case 3:
18300 : : if (!(
18301 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18302 : : ((64 == 64 || TARGET_AVX512VL
18303 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18304 : : && ix86_pre_reload_split ()
18305 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18306 : : STRIP_UNARY (operands[4]))
18307 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18308 : : STRIP_UNARY (operands[4]))
18309 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18310 : : STRIP_UNARY (operands[3]))
18311 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18312 : : STRIP_UNARY (operands[3])))) &&
18313 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18314 : : (TARGET_AVX512F && TARGET_EVEX512)))
18315 : : return -1;
18316 : : return 5617; /* *avx512bw_vpternlogv32hi_1 */
18317 : :
18318 : : case 4:
18319 : : if (!(
18320 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18321 : : ((32 == 64 || TARGET_AVX512VL
18322 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18323 : : && ix86_pre_reload_split ()
18324 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18325 : : STRIP_UNARY (operands[4]))
18326 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18327 : : STRIP_UNARY (operands[4]))
18328 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18329 : : STRIP_UNARY (operands[3]))
18330 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18331 : : STRIP_UNARY (operands[3])))) &&
18332 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18333 : : (TARGET_AVX)))
18334 : : return -1;
18335 : : return 5644; /* *avx512vl_vpternlogv16hi_1 */
18336 : :
18337 : : case 5:
18338 : : if (!
18339 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18340 : : ((16 == 64 || TARGET_AVX512VL
18341 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18342 : : && ix86_pre_reload_split ()
18343 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18344 : : STRIP_UNARY (operands[4]))
18345 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18346 : : STRIP_UNARY (operands[4]))
18347 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18348 : : STRIP_UNARY (operands[3]))
18349 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18350 : : STRIP_UNARY (operands[3])))))
18351 : : return -1;
18352 : : return 5671; /* *avx512vl_vpternlogv8hi_1 */
18353 : :
18354 : : case 6:
18355 : : if (!(
18356 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18357 : : ((64 == 64 || TARGET_AVX512VL
18358 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18359 : : && ix86_pre_reload_split ()
18360 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18361 : : STRIP_UNARY (operands[4]))
18362 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18363 : : STRIP_UNARY (operands[4]))
18364 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18365 : : STRIP_UNARY (operands[3]))
18366 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18367 : : STRIP_UNARY (operands[3])))) &&
18368 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18369 : : (TARGET_AVX512F && TARGET_EVEX512)))
18370 : : return -1;
18371 : : return 5698; /* *avx512f_vpternlogv16si_1 */
18372 : :
18373 : : case 7:
18374 : : if (!(
18375 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18376 : : ((32 == 64 || TARGET_AVX512VL
18377 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18378 : : && ix86_pre_reload_split ()
18379 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18380 : : STRIP_UNARY (operands[4]))
18381 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18382 : : STRIP_UNARY (operands[4]))
18383 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18384 : : STRIP_UNARY (operands[3]))
18385 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18386 : : STRIP_UNARY (operands[3])))) &&
18387 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18388 : : (TARGET_AVX)))
18389 : : return -1;
18390 : : return 5725; /* *avx512vl_vpternlogv8si_1 */
18391 : :
18392 : : case 8:
18393 : : if (!
18394 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18395 : : ((16 == 64 || TARGET_AVX512VL
18396 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18397 : : && ix86_pre_reload_split ()
18398 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18399 : : STRIP_UNARY (operands[4]))
18400 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18401 : : STRIP_UNARY (operands[4]))
18402 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18403 : : STRIP_UNARY (operands[3]))
18404 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18405 : : STRIP_UNARY (operands[3])))))
18406 : : return -1;
18407 : : return 5752; /* *avx512vl_vpternlogv4si_1 */
18408 : :
18409 : : case 9:
18410 : : if (!(
18411 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18412 : : ((64 == 64 || TARGET_AVX512VL
18413 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18414 : : && ix86_pre_reload_split ()
18415 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18416 : : STRIP_UNARY (operands[4]))
18417 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18418 : : STRIP_UNARY (operands[4]))
18419 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18420 : : STRIP_UNARY (operands[3]))
18421 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18422 : : STRIP_UNARY (operands[3])))) &&
18423 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18424 : : (TARGET_AVX512F && TARGET_EVEX512)))
18425 : : return -1;
18426 : : return 5779; /* *avx512f_vpternlogv8di_1 */
18427 : :
18428 : : case 10:
18429 : : if (!(
18430 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18431 : : ((32 == 64 || TARGET_AVX512VL
18432 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18433 : : && ix86_pre_reload_split ()
18434 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18435 : : STRIP_UNARY (operands[4]))
18436 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18437 : : STRIP_UNARY (operands[4]))
18438 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18439 : : STRIP_UNARY (operands[3]))
18440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18441 : : STRIP_UNARY (operands[3])))) &&
18442 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18443 : : (TARGET_AVX)))
18444 : : return -1;
18445 : : return 5806; /* *avx512vl_vpternlogv4di_1 */
18446 : :
18447 : : case 11:
18448 : : if (!
18449 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18450 : : ((16 == 64 || TARGET_AVX512VL
18451 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18452 : : && ix86_pre_reload_split ()
18453 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18454 : : STRIP_UNARY (operands[4]))
18455 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18456 : : STRIP_UNARY (operands[4]))
18457 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18458 : : STRIP_UNARY (operands[3]))
18459 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18460 : : STRIP_UNARY (operands[3])))))
18461 : : return -1;
18462 : : return 5833; /* *avx512vl_vpternlogv2di_1 */
18463 : :
18464 : : case 12:
18465 : : if (!(
18466 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18467 : : ((64 == 64 || TARGET_AVX512VL
18468 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18469 : : && ix86_pre_reload_split ()
18470 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18471 : : STRIP_UNARY (operands[4]))
18472 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18473 : : STRIP_UNARY (operands[4]))
18474 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18475 : : STRIP_UNARY (operands[3]))
18476 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18477 : : STRIP_UNARY (operands[3])))) &&
18478 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18479 : : (TARGET_AVX512F && TARGET_EVEX512)))
18480 : : return -1;
18481 : : return 5539; /* *avx512bw_vpternlogv64qi_1 */
18482 : :
18483 : : case 13:
18484 : : if (!(
18485 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18486 : : ((32 == 64 || TARGET_AVX512VL
18487 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18488 : : && ix86_pre_reload_split ()
18489 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18490 : : STRIP_UNARY (operands[4]))
18491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18492 : : STRIP_UNARY (operands[4]))
18493 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18494 : : STRIP_UNARY (operands[3]))
18495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18496 : : STRIP_UNARY (operands[3])))) &&
18497 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18498 : : (TARGET_AVX)))
18499 : : return -1;
18500 : : return 5566; /* *avx512vl_vpternlogv32qi_1 */
18501 : :
18502 : : case 14:
18503 : : if (!
18504 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18505 : : ((16 == 64 || TARGET_AVX512VL
18506 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18507 : : && ix86_pre_reload_split ()
18508 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18509 : : STRIP_UNARY (operands[4]))
18510 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18511 : : STRIP_UNARY (operands[4]))
18512 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18513 : : STRIP_UNARY (operands[3]))
18514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18515 : : STRIP_UNARY (operands[3])))))
18516 : : return -1;
18517 : : return 5593; /* *avx512vl_vpternlogv16qi_1 */
18518 : :
18519 : : case 15:
18520 : : if (!(
18521 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18522 : : ((64 == 64 || TARGET_AVX512VL
18523 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18524 : : && ix86_pre_reload_split ()
18525 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18526 : : STRIP_UNARY (operands[4]))
18527 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18528 : : STRIP_UNARY (operands[4]))
18529 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18530 : : STRIP_UNARY (operands[3]))
18531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18532 : : STRIP_UNARY (operands[3])))) &&
18533 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18534 : : (TARGET_AVX512F && TARGET_EVEX512)))
18535 : : return -1;
18536 : : return 5620; /* *avx512bw_vpternlogv32hi_1 */
18537 : :
18538 : : case 16:
18539 : : if (!(
18540 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18541 : : ((32 == 64 || TARGET_AVX512VL
18542 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18543 : : && ix86_pre_reload_split ()
18544 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18545 : : STRIP_UNARY (operands[4]))
18546 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18547 : : STRIP_UNARY (operands[4]))
18548 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18549 : : STRIP_UNARY (operands[3]))
18550 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18551 : : STRIP_UNARY (operands[3])))) &&
18552 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18553 : : (TARGET_AVX)))
18554 : : return -1;
18555 : : return 5647; /* *avx512vl_vpternlogv16hi_1 */
18556 : :
18557 : : case 17:
18558 : : if (!
18559 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18560 : : ((16 == 64 || TARGET_AVX512VL
18561 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18562 : : && ix86_pre_reload_split ()
18563 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18564 : : STRIP_UNARY (operands[4]))
18565 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18566 : : STRIP_UNARY (operands[4]))
18567 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18568 : : STRIP_UNARY (operands[3]))
18569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18570 : : STRIP_UNARY (operands[3])))))
18571 : : return -1;
18572 : : return 5674; /* *avx512vl_vpternlogv8hi_1 */
18573 : :
18574 : : case 18:
18575 : : if (!(
18576 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18577 : : ((64 == 64 || TARGET_AVX512VL
18578 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18579 : : && ix86_pre_reload_split ()
18580 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18581 : : STRIP_UNARY (operands[4]))
18582 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18583 : : STRIP_UNARY (operands[4]))
18584 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18585 : : STRIP_UNARY (operands[3]))
18586 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18587 : : STRIP_UNARY (operands[3])))) &&
18588 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18589 : : (TARGET_AVX512F && TARGET_EVEX512)))
18590 : : return -1;
18591 : : return 5701; /* *avx512f_vpternlogv16si_1 */
18592 : :
18593 : : case 19:
18594 : : if (!(
18595 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18596 : : ((32 == 64 || TARGET_AVX512VL
18597 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18598 : : && ix86_pre_reload_split ()
18599 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18600 : : STRIP_UNARY (operands[4]))
18601 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18602 : : STRIP_UNARY (operands[4]))
18603 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18604 : : STRIP_UNARY (operands[3]))
18605 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18606 : : STRIP_UNARY (operands[3])))) &&
18607 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18608 : : (TARGET_AVX)))
18609 : : return -1;
18610 : : return 5728; /* *avx512vl_vpternlogv8si_1 */
18611 : :
18612 : : case 20:
18613 : : if (!
18614 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18615 : : ((16 == 64 || TARGET_AVX512VL
18616 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18617 : : && ix86_pre_reload_split ()
18618 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18619 : : STRIP_UNARY (operands[4]))
18620 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18621 : : STRIP_UNARY (operands[4]))
18622 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18623 : : STRIP_UNARY (operands[3]))
18624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18625 : : STRIP_UNARY (operands[3])))))
18626 : : return -1;
18627 : : return 5755; /* *avx512vl_vpternlogv4si_1 */
18628 : :
18629 : : case 21:
18630 : : if (!(
18631 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18632 : : ((64 == 64 || TARGET_AVX512VL
18633 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18634 : : && ix86_pre_reload_split ()
18635 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18636 : : STRIP_UNARY (operands[4]))
18637 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18638 : : STRIP_UNARY (operands[4]))
18639 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18640 : : STRIP_UNARY (operands[3]))
18641 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18642 : : STRIP_UNARY (operands[3])))) &&
18643 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18644 : : (TARGET_AVX512F && TARGET_EVEX512)))
18645 : : return -1;
18646 : : return 5782; /* *avx512f_vpternlogv8di_1 */
18647 : :
18648 : : case 22:
18649 : : if (!(
18650 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18651 : : ((32 == 64 || TARGET_AVX512VL
18652 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18653 : : && ix86_pre_reload_split ()
18654 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18655 : : STRIP_UNARY (operands[4]))
18656 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18657 : : STRIP_UNARY (operands[4]))
18658 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18659 : : STRIP_UNARY (operands[3]))
18660 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18661 : : STRIP_UNARY (operands[3])))) &&
18662 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18663 : : (TARGET_AVX)))
18664 : : return -1;
18665 : : return 5809; /* *avx512vl_vpternlogv4di_1 */
18666 : :
18667 : : case 23:
18668 : : if (!
18669 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18670 : : ((16 == 64 || TARGET_AVX512VL
18671 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18672 : : && ix86_pre_reload_split ()
18673 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18674 : : STRIP_UNARY (operands[4]))
18675 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18676 : : STRIP_UNARY (operands[4]))
18677 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18678 : : STRIP_UNARY (operands[3]))
18679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18680 : : STRIP_UNARY (operands[3])))))
18681 : : return -1;
18682 : : return 5836; /* *avx512vl_vpternlogv2di_1 */
18683 : :
18684 : : case 24:
18685 : : if (!(
18686 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18687 : : ((64 == 64 || TARGET_AVX512VL
18688 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18689 : : && ix86_pre_reload_split ()
18690 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18691 : : STRIP_UNARY (operands[4]))
18692 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18693 : : STRIP_UNARY (operands[4]))
18694 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18695 : : STRIP_UNARY (operands[3]))
18696 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18697 : : STRIP_UNARY (operands[3])))) &&
18698 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18699 : : (TARGET_AVX512F && TARGET_EVEX512)))
18700 : : return -1;
18701 : : return 5542; /* *avx512bw_vpternlogv64qi_1 */
18702 : :
18703 : : case 25:
18704 : : if (!(
18705 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18706 : : ((32 == 64 || TARGET_AVX512VL
18707 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18708 : : && ix86_pre_reload_split ()
18709 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18710 : : STRIP_UNARY (operands[4]))
18711 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18712 : : STRIP_UNARY (operands[4]))
18713 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18714 : : STRIP_UNARY (operands[3]))
18715 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18716 : : STRIP_UNARY (operands[3])))) &&
18717 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18718 : : (TARGET_AVX)))
18719 : : return -1;
18720 : : return 5569; /* *avx512vl_vpternlogv32qi_1 */
18721 : :
18722 : : case 26:
18723 : : if (!
18724 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18725 : : ((16 == 64 || TARGET_AVX512VL
18726 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18727 : : && ix86_pre_reload_split ()
18728 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18729 : : STRIP_UNARY (operands[4]))
18730 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18731 : : STRIP_UNARY (operands[4]))
18732 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18733 : : STRIP_UNARY (operands[3]))
18734 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18735 : : STRIP_UNARY (operands[3])))))
18736 : : return -1;
18737 : : return 5596; /* *avx512vl_vpternlogv16qi_1 */
18738 : :
18739 : : case 27:
18740 : : if (!(
18741 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18742 : : ((64 == 64 || TARGET_AVX512VL
18743 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18744 : : && ix86_pre_reload_split ()
18745 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18746 : : STRIP_UNARY (operands[4]))
18747 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18748 : : STRIP_UNARY (operands[4]))
18749 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18750 : : STRIP_UNARY (operands[3]))
18751 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18752 : : STRIP_UNARY (operands[3])))) &&
18753 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18754 : : (TARGET_AVX512F && TARGET_EVEX512)))
18755 : : return -1;
18756 : : return 5623; /* *avx512bw_vpternlogv32hi_1 */
18757 : :
18758 : : case 28:
18759 : : if (!(
18760 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18761 : : ((32 == 64 || TARGET_AVX512VL
18762 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18763 : : && ix86_pre_reload_split ()
18764 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18765 : : STRIP_UNARY (operands[4]))
18766 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18767 : : STRIP_UNARY (operands[4]))
18768 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18769 : : STRIP_UNARY (operands[3]))
18770 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18771 : : STRIP_UNARY (operands[3])))) &&
18772 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18773 : : (TARGET_AVX)))
18774 : : return -1;
18775 : : return 5650; /* *avx512vl_vpternlogv16hi_1 */
18776 : :
18777 : : case 29:
18778 : : if (!
18779 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18780 : : ((16 == 64 || TARGET_AVX512VL
18781 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18782 : : && ix86_pre_reload_split ()
18783 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18784 : : STRIP_UNARY (operands[4]))
18785 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18786 : : STRIP_UNARY (operands[4]))
18787 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18788 : : STRIP_UNARY (operands[3]))
18789 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18790 : : STRIP_UNARY (operands[3])))))
18791 : : return -1;
18792 : : return 5677; /* *avx512vl_vpternlogv8hi_1 */
18793 : :
18794 : : case 30:
18795 : : if (!(
18796 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18797 : : ((64 == 64 || TARGET_AVX512VL
18798 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18799 : : && ix86_pre_reload_split ()
18800 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18801 : : STRIP_UNARY (operands[4]))
18802 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18803 : : STRIP_UNARY (operands[4]))
18804 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18805 : : STRIP_UNARY (operands[3]))
18806 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18807 : : STRIP_UNARY (operands[3])))) &&
18808 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18809 : : (TARGET_AVX512F && TARGET_EVEX512)))
18810 : : return -1;
18811 : : return 5704; /* *avx512f_vpternlogv16si_1 */
18812 : :
18813 : : case 31:
18814 : : if (!(
18815 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18816 : : ((32 == 64 || TARGET_AVX512VL
18817 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18818 : : && ix86_pre_reload_split ()
18819 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18820 : : STRIP_UNARY (operands[4]))
18821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18822 : : STRIP_UNARY (operands[4]))
18823 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18824 : : STRIP_UNARY (operands[3]))
18825 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18826 : : STRIP_UNARY (operands[3])))) &&
18827 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18828 : : (TARGET_AVX)))
18829 : : return -1;
18830 : : return 5731; /* *avx512vl_vpternlogv8si_1 */
18831 : :
18832 : : case 32:
18833 : : if (!
18834 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18835 : : ((16 == 64 || TARGET_AVX512VL
18836 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18837 : : && ix86_pre_reload_split ()
18838 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18839 : : STRIP_UNARY (operands[4]))
18840 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18841 : : STRIP_UNARY (operands[4]))
18842 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18843 : : STRIP_UNARY (operands[3]))
18844 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18845 : : STRIP_UNARY (operands[3])))))
18846 : : return -1;
18847 : : return 5758; /* *avx512vl_vpternlogv4si_1 */
18848 : :
18849 : : case 33:
18850 : : if (!(
18851 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18852 : : ((64 == 64 || TARGET_AVX512VL
18853 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18854 : : && ix86_pre_reload_split ()
18855 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18856 : : STRIP_UNARY (operands[4]))
18857 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18858 : : STRIP_UNARY (operands[4]))
18859 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18860 : : STRIP_UNARY (operands[3]))
18861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18862 : : STRIP_UNARY (operands[3])))) &&
18863 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18864 : : (TARGET_AVX512F && TARGET_EVEX512)))
18865 : : return -1;
18866 : : return 5785; /* *avx512f_vpternlogv8di_1 */
18867 : :
18868 : : case 34:
18869 : : if (!(
18870 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18871 : : ((32 == 64 || TARGET_AVX512VL
18872 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18873 : : && ix86_pre_reload_split ()
18874 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18875 : : STRIP_UNARY (operands[4]))
18876 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18877 : : STRIP_UNARY (operands[4]))
18878 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18879 : : STRIP_UNARY (operands[3]))
18880 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18881 : : STRIP_UNARY (operands[3])))) &&
18882 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18883 : : (TARGET_AVX)))
18884 : : return -1;
18885 : : return 5812; /* *avx512vl_vpternlogv4di_1 */
18886 : :
18887 : : case 35:
18888 : : if (!
18889 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18890 : : ((16 == 64 || TARGET_AVX512VL
18891 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18892 : : && ix86_pre_reload_split ()
18893 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18894 : : STRIP_UNARY (operands[4]))
18895 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18896 : : STRIP_UNARY (operands[4]))
18897 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18898 : : STRIP_UNARY (operands[3]))
18899 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18900 : : STRIP_UNARY (operands[3])))))
18901 : : return -1;
18902 : : return 5839; /* *avx512vl_vpternlogv2di_1 */
18903 : :
18904 : : case 36:
18905 : : if (!(
18906 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18907 : : ((64 == 64 || TARGET_AVX512VL
18908 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18909 : : && ix86_pre_reload_split ()) &&
18910 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18911 : : (TARGET_AVX512F && TARGET_EVEX512)))
18912 : : return -1;
18913 : : return 6820; /* *avx512bw_vpternlogv64qi_3 */
18914 : :
18915 : : case 37:
18916 : : if (!(
18917 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18918 : : ((32 == 64 || TARGET_AVX512VL
18919 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18920 : : && ix86_pre_reload_split ()) &&
18921 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18922 : : (TARGET_AVX)))
18923 : : return -1;
18924 : : return 6829; /* *avx512vl_vpternlogv32qi_3 */
18925 : :
18926 : : case 38:
18927 : : if (!
18928 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18929 : : ((16 == 64 || TARGET_AVX512VL
18930 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18931 : : && ix86_pre_reload_split ()))
18932 : : return -1;
18933 : : return 6838; /* *avx512vl_vpternlogv16qi_3 */
18934 : :
18935 : : case 39:
18936 : : if (!(
18937 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18938 : : ((64 == 64 || TARGET_AVX512VL
18939 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18940 : : && ix86_pre_reload_split ()) &&
18941 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18942 : : (TARGET_AVX512F && TARGET_EVEX512)))
18943 : : return -1;
18944 : : return 6847; /* *avx512bw_vpternlogv32hi_3 */
18945 : :
18946 : : case 40:
18947 : : if (!(
18948 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18949 : : ((32 == 64 || TARGET_AVX512VL
18950 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18951 : : && ix86_pre_reload_split ()) &&
18952 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18953 : : (TARGET_AVX)))
18954 : : return -1;
18955 : : return 6856; /* *avx512vl_vpternlogv16hi_3 */
18956 : :
18957 : : case 41:
18958 : : if (!
18959 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18960 : : ((16 == 64 || TARGET_AVX512VL
18961 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18962 : : && ix86_pre_reload_split ()))
18963 : : return -1;
18964 : : return 6865; /* *avx512vl_vpternlogv8hi_3 */
18965 : :
18966 : : case 42:
18967 : : if (!(
18968 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18969 : : ((64 == 64 || TARGET_AVX512VL
18970 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18971 : : && ix86_pre_reload_split ()) &&
18972 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18973 : : (TARGET_AVX512F && TARGET_EVEX512)))
18974 : : return -1;
18975 : : return 6874; /* *avx512f_vpternlogv16si_3 */
18976 : :
18977 : : case 43:
18978 : : if (!(
18979 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18980 : : ((32 == 64 || TARGET_AVX512VL
18981 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18982 : : && ix86_pre_reload_split ()) &&
18983 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18984 : : (TARGET_AVX)))
18985 : : return -1;
18986 : : return 6883; /* *avx512vl_vpternlogv8si_3 */
18987 : :
18988 : : case 44:
18989 : : if (!
18990 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18991 : : ((16 == 64 || TARGET_AVX512VL
18992 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18993 : : && ix86_pre_reload_split ()))
18994 : : return -1;
18995 : : return 6892; /* *avx512vl_vpternlogv4si_3 */
18996 : :
18997 : : case 45:
18998 : : if (!(
18999 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19000 : : ((64 == 64 || TARGET_AVX512VL
19001 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19002 : : && ix86_pre_reload_split ()) &&
19003 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19004 : : (TARGET_AVX512F && TARGET_EVEX512)))
19005 : : return -1;
19006 : : return 6901; /* *avx512f_vpternlogv8di_3 */
19007 : :
19008 : : case 46:
19009 : : if (!(
19010 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19011 : : ((32 == 64 || TARGET_AVX512VL
19012 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19013 : : && ix86_pre_reload_split ()) &&
19014 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19015 : : (TARGET_AVX)))
19016 : : return -1;
19017 : : return 6910; /* *avx512vl_vpternlogv4di_3 */
19018 : :
19019 : : case 47:
19020 : : if (!
19021 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19022 : : ((16 == 64 || TARGET_AVX512VL
19023 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19024 : : && ix86_pre_reload_split ()))
19025 : : return -1;
19026 : : return 6919; /* *avx512vl_vpternlogv2di_3 */
19027 : :
19028 : : default:
19029 : : return -1;
19030 : : }
19031 : :
19032 : : case AND:
19033 : : switch (pattern535 (x2))
19034 : : {
19035 : : case 0:
19036 : : if (!(
19037 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19038 : : ((64 == 64 || TARGET_AVX512VL
19039 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19040 : : && ix86_pre_reload_split ()
19041 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19042 : : STRIP_UNARY (operands[4]))
19043 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19044 : : STRIP_UNARY (operands[4]))
19045 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19046 : : STRIP_UNARY (operands[3]))
19047 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19048 : : STRIP_UNARY (operands[3])))) &&
19049 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19050 : : (TARGET_AVX512F && TARGET_EVEX512)))
19051 : : return -1;
19052 : : return 6184; /* *avx512bw_vpternlogv64qi_2 */
19053 : :
19054 : : case 1:
19055 : : if (!(
19056 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19057 : : ((32 == 64 || TARGET_AVX512VL
19058 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19059 : : && ix86_pre_reload_split ()
19060 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19061 : : STRIP_UNARY (operands[4]))
19062 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19063 : : STRIP_UNARY (operands[4]))
19064 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19065 : : STRIP_UNARY (operands[3]))
19066 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19067 : : STRIP_UNARY (operands[3])))) &&
19068 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19069 : : (TARGET_AVX)))
19070 : : return -1;
19071 : : return 6211; /* *avx512vl_vpternlogv32qi_2 */
19072 : :
19073 : : case 2:
19074 : : if (!
19075 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19076 : : ((16 == 64 || TARGET_AVX512VL
19077 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19078 : : && ix86_pre_reload_split ()
19079 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19080 : : STRIP_UNARY (operands[4]))
19081 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19082 : : STRIP_UNARY (operands[4]))
19083 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19084 : : STRIP_UNARY (operands[3]))
19085 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19086 : : STRIP_UNARY (operands[3])))))
19087 : : return -1;
19088 : : return 6238; /* *avx512vl_vpternlogv16qi_2 */
19089 : :
19090 : : case 3:
19091 : : if (!(
19092 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19093 : : ((64 == 64 || TARGET_AVX512VL
19094 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19095 : : && ix86_pre_reload_split ()
19096 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19097 : : STRIP_UNARY (operands[4]))
19098 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19099 : : STRIP_UNARY (operands[4]))
19100 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19101 : : STRIP_UNARY (operands[3]))
19102 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19103 : : STRIP_UNARY (operands[3])))) &&
19104 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19105 : : (TARGET_AVX512F && TARGET_EVEX512)))
19106 : : return -1;
19107 : : return 6265; /* *avx512bw_vpternlogv32hi_2 */
19108 : :
19109 : : case 4:
19110 : : if (!(
19111 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19112 : : ((32 == 64 || TARGET_AVX512VL
19113 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19114 : : && ix86_pre_reload_split ()
19115 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19116 : : STRIP_UNARY (operands[4]))
19117 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19118 : : STRIP_UNARY (operands[4]))
19119 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19120 : : STRIP_UNARY (operands[3]))
19121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19122 : : STRIP_UNARY (operands[3])))) &&
19123 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19124 : : (TARGET_AVX)))
19125 : : return -1;
19126 : : return 6292; /* *avx512vl_vpternlogv16hi_2 */
19127 : :
19128 : : case 5:
19129 : : if (!
19130 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19131 : : ((16 == 64 || TARGET_AVX512VL
19132 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19133 : : && ix86_pre_reload_split ()
19134 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19135 : : STRIP_UNARY (operands[4]))
19136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19137 : : STRIP_UNARY (operands[4]))
19138 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19139 : : STRIP_UNARY (operands[3]))
19140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19141 : : STRIP_UNARY (operands[3])))))
19142 : : return -1;
19143 : : return 6319; /* *avx512vl_vpternlogv8hi_2 */
19144 : :
19145 : : case 6:
19146 : : if (!(
19147 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19148 : : ((64 == 64 || TARGET_AVX512VL
19149 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19150 : : && ix86_pre_reload_split ()
19151 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19152 : : STRIP_UNARY (operands[4]))
19153 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19154 : : STRIP_UNARY (operands[4]))
19155 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19156 : : STRIP_UNARY (operands[3]))
19157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19158 : : STRIP_UNARY (operands[3])))) &&
19159 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19160 : : (TARGET_AVX512F && TARGET_EVEX512)))
19161 : : return -1;
19162 : : return 6346; /* *avx512f_vpternlogv16si_2 */
19163 : :
19164 : : case 7:
19165 : : if (!(
19166 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19167 : : ((32 == 64 || TARGET_AVX512VL
19168 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19169 : : && ix86_pre_reload_split ()
19170 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19171 : : STRIP_UNARY (operands[4]))
19172 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19173 : : STRIP_UNARY (operands[4]))
19174 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19175 : : STRIP_UNARY (operands[3]))
19176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19177 : : STRIP_UNARY (operands[3])))) &&
19178 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19179 : : (TARGET_AVX)))
19180 : : return -1;
19181 : : return 6373; /* *avx512vl_vpternlogv8si_2 */
19182 : :
19183 : : case 8:
19184 : : if (!
19185 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19186 : : ((16 == 64 || TARGET_AVX512VL
19187 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19188 : : && ix86_pre_reload_split ()
19189 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19190 : : STRIP_UNARY (operands[4]))
19191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19192 : : STRIP_UNARY (operands[4]))
19193 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19194 : : STRIP_UNARY (operands[3]))
19195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19196 : : STRIP_UNARY (operands[3])))))
19197 : : return -1;
19198 : : return 6400; /* *avx512vl_vpternlogv4si_2 */
19199 : :
19200 : : case 9:
19201 : : if (!(
19202 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19203 : : ((64 == 64 || TARGET_AVX512VL
19204 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19205 : : && ix86_pre_reload_split ()
19206 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19207 : : STRIP_UNARY (operands[4]))
19208 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19209 : : STRIP_UNARY (operands[4]))
19210 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19211 : : STRIP_UNARY (operands[3]))
19212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19213 : : STRIP_UNARY (operands[3])))) &&
19214 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19215 : : (TARGET_AVX512F && TARGET_EVEX512)))
19216 : : return -1;
19217 : : return 6427; /* *avx512f_vpternlogv8di_2 */
19218 : :
19219 : : case 10:
19220 : : if (!(
19221 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19222 : : ((32 == 64 || TARGET_AVX512VL
19223 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19224 : : && ix86_pre_reload_split ()
19225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19226 : : STRIP_UNARY (operands[4]))
19227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19228 : : STRIP_UNARY (operands[4]))
19229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19230 : : STRIP_UNARY (operands[3]))
19231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19232 : : STRIP_UNARY (operands[3])))) &&
19233 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19234 : : (TARGET_AVX)))
19235 : : return -1;
19236 : : return 6454; /* *avx512vl_vpternlogv4di_2 */
19237 : :
19238 : : case 11:
19239 : : if (!
19240 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19241 : : ((16 == 64 || TARGET_AVX512VL
19242 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19243 : : && ix86_pre_reload_split ()
19244 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19245 : : STRIP_UNARY (operands[4]))
19246 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19247 : : STRIP_UNARY (operands[4]))
19248 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19249 : : STRIP_UNARY (operands[3]))
19250 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19251 : : STRIP_UNARY (operands[3])))))
19252 : : return -1;
19253 : : return 6481; /* *avx512vl_vpternlogv2di_2 */
19254 : :
19255 : : default:
19256 : : return -1;
19257 : : }
19258 : :
19259 : : case IOR:
19260 : : switch (pattern535 (x2))
19261 : : {
19262 : : case 0:
19263 : : if (!(
19264 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19265 : : ((64 == 64 || TARGET_AVX512VL
19266 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19267 : : && ix86_pre_reload_split ()
19268 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19269 : : STRIP_UNARY (operands[4]))
19270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19271 : : STRIP_UNARY (operands[4]))
19272 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19273 : : STRIP_UNARY (operands[3]))
19274 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19275 : : STRIP_UNARY (operands[3])))) &&
19276 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19277 : : (TARGET_AVX512F && TARGET_EVEX512)))
19278 : : return -1;
19279 : : return 6187; /* *avx512bw_vpternlogv64qi_2 */
19280 : :
19281 : : case 1:
19282 : : if (!(
19283 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19284 : : ((32 == 64 || TARGET_AVX512VL
19285 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19286 : : && ix86_pre_reload_split ()
19287 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19288 : : STRIP_UNARY (operands[4]))
19289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19290 : : STRIP_UNARY (operands[4]))
19291 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19292 : : STRIP_UNARY (operands[3]))
19293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19294 : : STRIP_UNARY (operands[3])))) &&
19295 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19296 : : (TARGET_AVX)))
19297 : : return -1;
19298 : : return 6214; /* *avx512vl_vpternlogv32qi_2 */
19299 : :
19300 : : case 2:
19301 : : if (!
19302 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19303 : : ((16 == 64 || TARGET_AVX512VL
19304 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19305 : : && ix86_pre_reload_split ()
19306 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19307 : : STRIP_UNARY (operands[4]))
19308 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19309 : : STRIP_UNARY (operands[4]))
19310 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19311 : : STRIP_UNARY (operands[3]))
19312 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19313 : : STRIP_UNARY (operands[3])))))
19314 : : return -1;
19315 : : return 6241; /* *avx512vl_vpternlogv16qi_2 */
19316 : :
19317 : : case 3:
19318 : : if (!(
19319 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19320 : : ((64 == 64 || TARGET_AVX512VL
19321 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19322 : : && ix86_pre_reload_split ()
19323 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19324 : : STRIP_UNARY (operands[4]))
19325 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19326 : : STRIP_UNARY (operands[4]))
19327 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19328 : : STRIP_UNARY (operands[3]))
19329 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19330 : : STRIP_UNARY (operands[3])))) &&
19331 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19332 : : (TARGET_AVX512F && TARGET_EVEX512)))
19333 : : return -1;
19334 : : return 6268; /* *avx512bw_vpternlogv32hi_2 */
19335 : :
19336 : : case 4:
19337 : : if (!(
19338 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19339 : : ((32 == 64 || TARGET_AVX512VL
19340 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19341 : : && ix86_pre_reload_split ()
19342 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19343 : : STRIP_UNARY (operands[4]))
19344 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19345 : : STRIP_UNARY (operands[4]))
19346 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19347 : : STRIP_UNARY (operands[3]))
19348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19349 : : STRIP_UNARY (operands[3])))) &&
19350 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19351 : : (TARGET_AVX)))
19352 : : return -1;
19353 : : return 6295; /* *avx512vl_vpternlogv16hi_2 */
19354 : :
19355 : : case 5:
19356 : : if (!
19357 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19358 : : ((16 == 64 || TARGET_AVX512VL
19359 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19360 : : && ix86_pre_reload_split ()
19361 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19362 : : STRIP_UNARY (operands[4]))
19363 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19364 : : STRIP_UNARY (operands[4]))
19365 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19366 : : STRIP_UNARY (operands[3]))
19367 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19368 : : STRIP_UNARY (operands[3])))))
19369 : : return -1;
19370 : : return 6322; /* *avx512vl_vpternlogv8hi_2 */
19371 : :
19372 : : case 6:
19373 : : if (!(
19374 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19375 : : ((64 == 64 || TARGET_AVX512VL
19376 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19377 : : && ix86_pre_reload_split ()
19378 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19379 : : STRIP_UNARY (operands[4]))
19380 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19381 : : STRIP_UNARY (operands[4]))
19382 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19383 : : STRIP_UNARY (operands[3]))
19384 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19385 : : STRIP_UNARY (operands[3])))) &&
19386 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19387 : : (TARGET_AVX512F && TARGET_EVEX512)))
19388 : : return -1;
19389 : : return 6349; /* *avx512f_vpternlogv16si_2 */
19390 : :
19391 : : case 7:
19392 : : if (!(
19393 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19394 : : ((32 == 64 || TARGET_AVX512VL
19395 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19396 : : && ix86_pre_reload_split ()
19397 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19398 : : STRIP_UNARY (operands[4]))
19399 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19400 : : STRIP_UNARY (operands[4]))
19401 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19402 : : STRIP_UNARY (operands[3]))
19403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19404 : : STRIP_UNARY (operands[3])))) &&
19405 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19406 : : (TARGET_AVX)))
19407 : : return -1;
19408 : : return 6376; /* *avx512vl_vpternlogv8si_2 */
19409 : :
19410 : : case 8:
19411 : : if (!
19412 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19413 : : ((16 == 64 || TARGET_AVX512VL
19414 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19415 : : && ix86_pre_reload_split ()
19416 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19417 : : STRIP_UNARY (operands[4]))
19418 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19419 : : STRIP_UNARY (operands[4]))
19420 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19421 : : STRIP_UNARY (operands[3]))
19422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19423 : : STRIP_UNARY (operands[3])))))
19424 : : return -1;
19425 : : return 6403; /* *avx512vl_vpternlogv4si_2 */
19426 : :
19427 : : case 9:
19428 : : if (!(
19429 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19430 : : ((64 == 64 || TARGET_AVX512VL
19431 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19432 : : && ix86_pre_reload_split ()
19433 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19434 : : STRIP_UNARY (operands[4]))
19435 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19436 : : STRIP_UNARY (operands[4]))
19437 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19438 : : STRIP_UNARY (operands[3]))
19439 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19440 : : STRIP_UNARY (operands[3])))) &&
19441 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19442 : : (TARGET_AVX512F && TARGET_EVEX512)))
19443 : : return -1;
19444 : : return 6430; /* *avx512f_vpternlogv8di_2 */
19445 : :
19446 : : case 10:
19447 : : if (!(
19448 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19449 : : ((32 == 64 || TARGET_AVX512VL
19450 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19451 : : && ix86_pre_reload_split ()
19452 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19453 : : STRIP_UNARY (operands[4]))
19454 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19455 : : STRIP_UNARY (operands[4]))
19456 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19457 : : STRIP_UNARY (operands[3]))
19458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19459 : : STRIP_UNARY (operands[3])))) &&
19460 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19461 : : (TARGET_AVX)))
19462 : : return -1;
19463 : : return 6457; /* *avx512vl_vpternlogv4di_2 */
19464 : :
19465 : : case 11:
19466 : : if (!
19467 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19468 : : ((16 == 64 || TARGET_AVX512VL
19469 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19470 : : && ix86_pre_reload_split ()
19471 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19472 : : STRIP_UNARY (operands[4]))
19473 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19474 : : STRIP_UNARY (operands[4]))
19475 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19476 : : STRIP_UNARY (operands[3]))
19477 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19478 : : STRIP_UNARY (operands[3])))))
19479 : : return -1;
19480 : : return 6484; /* *avx512vl_vpternlogv2di_2 */
19481 : :
19482 : : default:
19483 : : return -1;
19484 : : }
19485 : :
19486 : : case XOR:
19487 : : switch (pattern535 (x2))
19488 : : {
19489 : : case 0:
19490 : : if (!(
19491 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19492 : : ((64 == 64 || TARGET_AVX512VL
19493 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19494 : : && ix86_pre_reload_split ()
19495 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19496 : : STRIP_UNARY (operands[4]))
19497 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19498 : : STRIP_UNARY (operands[4]))
19499 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19500 : : STRIP_UNARY (operands[3]))
19501 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19502 : : STRIP_UNARY (operands[3])))) &&
19503 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19504 : : (TARGET_AVX512F && TARGET_EVEX512)))
19505 : : return -1;
19506 : : return 6190; /* *avx512bw_vpternlogv64qi_2 */
19507 : :
19508 : : case 1:
19509 : : if (!(
19510 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19511 : : ((32 == 64 || TARGET_AVX512VL
19512 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19513 : : && ix86_pre_reload_split ()
19514 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19515 : : STRIP_UNARY (operands[4]))
19516 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19517 : : STRIP_UNARY (operands[4]))
19518 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19519 : : STRIP_UNARY (operands[3]))
19520 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19521 : : STRIP_UNARY (operands[3])))) &&
19522 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19523 : : (TARGET_AVX)))
19524 : : return -1;
19525 : : return 6217; /* *avx512vl_vpternlogv32qi_2 */
19526 : :
19527 : : case 2:
19528 : : if (!
19529 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19530 : : ((16 == 64 || TARGET_AVX512VL
19531 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19532 : : && ix86_pre_reload_split ()
19533 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19534 : : STRIP_UNARY (operands[4]))
19535 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19536 : : STRIP_UNARY (operands[4]))
19537 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19538 : : STRIP_UNARY (operands[3]))
19539 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19540 : : STRIP_UNARY (operands[3])))))
19541 : : return -1;
19542 : : return 6244; /* *avx512vl_vpternlogv16qi_2 */
19543 : :
19544 : : case 3:
19545 : : if (!(
19546 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19547 : : ((64 == 64 || TARGET_AVX512VL
19548 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19549 : : && ix86_pre_reload_split ()
19550 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19551 : : STRIP_UNARY (operands[4]))
19552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19553 : : STRIP_UNARY (operands[4]))
19554 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19555 : : STRIP_UNARY (operands[3]))
19556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19557 : : STRIP_UNARY (operands[3])))) &&
19558 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19559 : : (TARGET_AVX512F && TARGET_EVEX512)))
19560 : : return -1;
19561 : : return 6271; /* *avx512bw_vpternlogv32hi_2 */
19562 : :
19563 : : case 4:
19564 : : if (!(
19565 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19566 : : ((32 == 64 || TARGET_AVX512VL
19567 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19568 : : && ix86_pre_reload_split ()
19569 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19570 : : STRIP_UNARY (operands[4]))
19571 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19572 : : STRIP_UNARY (operands[4]))
19573 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19574 : : STRIP_UNARY (operands[3]))
19575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19576 : : STRIP_UNARY (operands[3])))) &&
19577 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19578 : : (TARGET_AVX)))
19579 : : return -1;
19580 : : return 6298; /* *avx512vl_vpternlogv16hi_2 */
19581 : :
19582 : : case 5:
19583 : : if (!
19584 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19585 : : ((16 == 64 || TARGET_AVX512VL
19586 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19587 : : && ix86_pre_reload_split ()
19588 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19589 : : STRIP_UNARY (operands[4]))
19590 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19591 : : STRIP_UNARY (operands[4]))
19592 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19593 : : STRIP_UNARY (operands[3]))
19594 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19595 : : STRIP_UNARY (operands[3])))))
19596 : : return -1;
19597 : : return 6325; /* *avx512vl_vpternlogv8hi_2 */
19598 : :
19599 : : case 6:
19600 : : if (!(
19601 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19602 : : ((64 == 64 || TARGET_AVX512VL
19603 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19604 : : && ix86_pre_reload_split ()
19605 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19606 : : STRIP_UNARY (operands[4]))
19607 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19608 : : STRIP_UNARY (operands[4]))
19609 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19610 : : STRIP_UNARY (operands[3]))
19611 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19612 : : STRIP_UNARY (operands[3])))) &&
19613 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19614 : : (TARGET_AVX512F && TARGET_EVEX512)))
19615 : : return -1;
19616 : : return 6352; /* *avx512f_vpternlogv16si_2 */
19617 : :
19618 : : case 7:
19619 : : if (!(
19620 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19621 : : ((32 == 64 || TARGET_AVX512VL
19622 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19623 : : && ix86_pre_reload_split ()
19624 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19625 : : STRIP_UNARY (operands[4]))
19626 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19627 : : STRIP_UNARY (operands[4]))
19628 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19629 : : STRIP_UNARY (operands[3]))
19630 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19631 : : STRIP_UNARY (operands[3])))) &&
19632 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19633 : : (TARGET_AVX)))
19634 : : return -1;
19635 : : return 6379; /* *avx512vl_vpternlogv8si_2 */
19636 : :
19637 : : case 8:
19638 : : if (!
19639 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19640 : : ((16 == 64 || TARGET_AVX512VL
19641 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19642 : : && ix86_pre_reload_split ()
19643 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19644 : : STRIP_UNARY (operands[4]))
19645 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19646 : : STRIP_UNARY (operands[4]))
19647 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19648 : : STRIP_UNARY (operands[3]))
19649 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19650 : : STRIP_UNARY (operands[3])))))
19651 : : return -1;
19652 : : return 6406; /* *avx512vl_vpternlogv4si_2 */
19653 : :
19654 : : case 9:
19655 : : if (!(
19656 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19657 : : ((64 == 64 || TARGET_AVX512VL
19658 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19659 : : && ix86_pre_reload_split ()
19660 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19661 : : STRIP_UNARY (operands[4]))
19662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19663 : : STRIP_UNARY (operands[4]))
19664 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19665 : : STRIP_UNARY (operands[3]))
19666 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19667 : : STRIP_UNARY (operands[3])))) &&
19668 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19669 : : (TARGET_AVX512F && TARGET_EVEX512)))
19670 : : return -1;
19671 : : return 6433; /* *avx512f_vpternlogv8di_2 */
19672 : :
19673 : : case 10:
19674 : : if (!(
19675 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19676 : : ((32 == 64 || TARGET_AVX512VL
19677 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19678 : : && ix86_pre_reload_split ()
19679 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19680 : : STRIP_UNARY (operands[4]))
19681 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19682 : : STRIP_UNARY (operands[4]))
19683 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19684 : : STRIP_UNARY (operands[3]))
19685 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19686 : : STRIP_UNARY (operands[3])))) &&
19687 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19688 : : (TARGET_AVX)))
19689 : : return -1;
19690 : : return 6460; /* *avx512vl_vpternlogv4di_2 */
19691 : :
19692 : : case 11:
19693 : : if (!
19694 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19695 : : ((16 == 64 || TARGET_AVX512VL
19696 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19697 : : && ix86_pre_reload_split ()
19698 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19699 : : STRIP_UNARY (operands[4]))
19700 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19701 : : STRIP_UNARY (operands[4]))
19702 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19703 : : STRIP_UNARY (operands[3]))
19704 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19705 : : STRIP_UNARY (operands[3])))))
19706 : : return -1;
19707 : : return 6487; /* *avx512vl_vpternlogv2di_2 */
19708 : :
19709 : : default:
19710 : : return -1;
19711 : : }
19712 : :
19713 : : default:
19714 : : return -1;
19715 : : }
19716 : : }
19717 : :
19718 : : int
19719 : : recog_315 (rtx x1 ATTRIBUTE_UNUSED,
19720 : : rtx_insn *insn ATTRIBUTE_UNUSED,
19721 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
19722 : : {
19723 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19724 : : rtx x2, x3, x4, x5;
19725 : : int res ATTRIBUTE_UNUSED;
19726 : : x2 = XEXP (x1, 1);
19727 : : x3 = XEXP (x2, 0);
19728 : : switch (GET_CODE (x3))
19729 : : {
19730 : : case REG:
19731 : : case SUBREG:
19732 : : case MEM:
19733 : : case VEC_DUPLICATE:
19734 : : operands[1] = x3;
19735 : : x4 = XEXP (x2, 1);
19736 : : operands[2] = x4;
19737 : : switch (GET_MODE (operands[0]))
19738 : : {
19739 : : case E_V16BFmode:
19740 : : if (pattern25 (x2,
19741 : : E_V16BFmode) != 0
19742 : : || !(
19743 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19744 : : (TARGET_SSE && 1
19745 : : && (!false || 16 != 16)
19746 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19747 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19748 : : (TARGET_AVX)))
19749 : : return -1;
19750 : : return 3707; /* *iorv16bf3 */
19751 : :
19752 : : case E_V8BFmode:
19753 : : if (pattern25 (x2,
19754 : : E_V8BFmode) != 0
19755 : : || !(
19756 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19757 : : (TARGET_SSE && 1
19758 : : && (!false || 16 != 16)
19759 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19760 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19761 : : (TARGET_SSE2)))
19762 : : return -1;
19763 : : return 3710; /* *iorv8bf3 */
19764 : :
19765 : : case E_V16HFmode:
19766 : : if (pattern25 (x2,
19767 : : E_V16HFmode) != 0
19768 : : || !(
19769 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19770 : : (TARGET_SSE && 1
19771 : : && (!false || 16 != 16)
19772 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19773 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19774 : : (TARGET_AVX)))
19775 : : return -1;
19776 : : return 3713; /* *iorv16hf3 */
19777 : :
19778 : : case E_V8HFmode:
19779 : : if (pattern25 (x2,
19780 : : E_V8HFmode) != 0
19781 : : || !(
19782 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19783 : : (TARGET_SSE && 1
19784 : : && (!false || 16 != 16)
19785 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19786 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19787 : : (TARGET_SSE2)))
19788 : : return -1;
19789 : : return 3716; /* *iorv8hf3 */
19790 : :
19791 : : case E_V8SFmode:
19792 : : if (pattern25 (x2,
19793 : : E_V8SFmode) != 0
19794 : : || !(
19795 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19796 : : (TARGET_SSE && 1
19797 : : && (!false || 32 != 16)
19798 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19799 : : #line 429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19800 : : (TARGET_AVX)))
19801 : : return -1;
19802 : : return 3720; /* *iorv8sf3 */
19803 : :
19804 : : case E_V4SFmode:
19805 : : if (pattern25 (x2,
19806 : : E_V4SFmode) != 0
19807 : : || !
19808 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19809 : : (TARGET_SSE && 1
19810 : : && (!false || 32 != 16)
19811 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19812 : : return -1;
19813 : : return 3726; /* *iorv4sf3 */
19814 : :
19815 : : case E_V4DFmode:
19816 : : if (pattern25 (x2,
19817 : : E_V4DFmode) != 0
19818 : : || !(
19819 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19820 : : (TARGET_SSE && 1
19821 : : && (!false || 64 != 16)
19822 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19823 : : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19824 : : (TARGET_AVX)))
19825 : : return -1;
19826 : : return 3732; /* *iorv4df3 */
19827 : :
19828 : : case E_V2DFmode:
19829 : : if (pattern25 (x2,
19830 : : E_V2DFmode) != 0
19831 : : || !(
19832 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19833 : : (TARGET_SSE && 1
19834 : : && (!false || 64 != 16)
19835 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19836 : : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19837 : : (TARGET_SSE2)))
19838 : : return -1;
19839 : : return 3738; /* *iorv2df3 */
19840 : :
19841 : : case E_V32BFmode:
19842 : : if (pattern5 (x2,
19843 : : E_V32BFmode) != 0
19844 : : || !(
19845 : : #line 5419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19846 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
19847 : : && (!false || 16 != 16)) &&
19848 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19849 : : (TARGET_EVEX512)))
19850 : : return -1;
19851 : : return 3743; /* *iorv32bf3 */
19852 : :
19853 : : case E_V32HFmode:
19854 : : if (pattern5 (x2,
19855 : : E_V32HFmode) != 0
19856 : : || !(
19857 : : #line 5419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19858 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
19859 : : && (!false || 16 != 16)) &&
19860 : : #line 493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19861 : : (TARGET_EVEX512)))
19862 : : return -1;
19863 : : return 3746; /* *iorv32hf3 */
19864 : :
19865 : : case E_V16SFmode:
19866 : : if (pattern5 (x2,
19867 : : E_V16SFmode) != 0
19868 : : || !(
19869 : : #line 5419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19870 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
19871 : : && (!false || 32 != 16)) &&
19872 : : #line 494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19873 : : (TARGET_EVEX512)))
19874 : : return -1;
19875 : : return 3750; /* *iorv16sf3 */
19876 : :
19877 : : case E_V8DFmode:
19878 : : if (pattern5 (x2,
19879 : : E_V8DFmode) != 0
19880 : : || !(
19881 : : #line 5419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19882 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
19883 : : && (!false || 64 != 16)) &&
19884 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19885 : : (TARGET_EVEX512)))
19886 : : return -1;
19887 : : return 3756; /* *iorv8df3 */
19888 : :
19889 : : case E_V16SImode:
19890 : : if (pattern179 (x2,
19891 : : E_V16SImode) != 0
19892 : : || !(
19893 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19894 : : (TARGET_SSE && 1
19895 : : && ix86_binary_operator_ok (IOR, V16SImode, operands)) &&
19896 : : #line 808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19897 : : (TARGET_AVX512F && TARGET_EVEX512)))
19898 : : return -1;
19899 : : return 8003; /* *iorv16si3 */
19900 : :
19901 : : case E_V8SImode:
19902 : : if (pattern179 (x2,
19903 : : E_V8SImode) != 0
19904 : : || !(
19905 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19906 : : (TARGET_SSE && 1
19907 : : && ix86_binary_operator_ok (IOR, V8SImode, operands)) &&
19908 : : #line 808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19909 : : (TARGET_AVX)))
19910 : : return -1;
19911 : : return 8009; /* *iorv8si3 */
19912 : :
19913 : : case E_V4SImode:
19914 : : if (pattern179 (x2,
19915 : : E_V4SImode) != 0
19916 : : || !
19917 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19918 : : (TARGET_SSE && 1
19919 : : && ix86_binary_operator_ok (IOR, V4SImode, operands)))
19920 : : return -1;
19921 : : return 8015; /* *iorv4si3 */
19922 : :
19923 : : case E_V8DImode:
19924 : : if (pattern179 (x2,
19925 : : E_V8DImode) != 0
19926 : : || !(
19927 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19928 : : (TARGET_SSE && 1
19929 : : && ix86_binary_operator_ok (IOR, V8DImode, operands)) &&
19930 : : #line 809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19931 : : (TARGET_AVX512F && TARGET_EVEX512)))
19932 : : return -1;
19933 : : return 8021; /* *iorv8di3 */
19934 : :
19935 : : case E_V4DImode:
19936 : : if (pattern179 (x2,
19937 : : E_V4DImode) != 0
19938 : : || !(
19939 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19940 : : (TARGET_SSE && 1
19941 : : && ix86_binary_operator_ok (IOR, V4DImode, operands)) &&
19942 : : #line 809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19943 : : (TARGET_AVX)))
19944 : : return -1;
19945 : : return 8027; /* *iorv4di3 */
19946 : :
19947 : : case E_V2DImode:
19948 : : if (pattern179 (x2,
19949 : : E_V2DImode) != 0
19950 : : || !
19951 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19952 : : (TARGET_SSE && 1
19953 : : && ix86_binary_operator_ok (IOR, V2DImode, operands)))
19954 : : return -1;
19955 : : return 8033; /* *iorv2di3 */
19956 : :
19957 : : case E_V64QImode:
19958 : : if (pattern25 (x2,
19959 : : E_V64QImode) != 0
19960 : : || !(
19961 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19962 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19963 : : #line 812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19964 : : (TARGET_AVX512F && TARGET_EVEX512)))
19965 : : return -1;
19966 : : return 8038; /* *iorv64qi3 */
19967 : :
19968 : : case E_V32QImode:
19969 : : if (pattern25 (x2,
19970 : : E_V32QImode) != 0
19971 : : || !(
19972 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19973 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19974 : : #line 812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19975 : : (TARGET_AVX)))
19976 : : return -1;
19977 : : return 8041; /* *iorv32qi3 */
19978 : :
19979 : : case E_V16QImode:
19980 : : if (pattern25 (x2,
19981 : : E_V16QImode) != 0
19982 : : || !
19983 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19984 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19985 : : return -1;
19986 : : return 8044; /* *iorv16qi3 */
19987 : :
19988 : : case E_V32HImode:
19989 : : if (pattern25 (x2,
19990 : : E_V32HImode) != 0
19991 : : || !(
19992 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19993 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19994 : : #line 813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19995 : : (TARGET_AVX512F && TARGET_EVEX512)))
19996 : : return -1;
19997 : : return 8047; /* *iorv32hi3 */
19998 : :
19999 : : case E_V16HImode:
20000 : : if (pattern25 (x2,
20001 : : E_V16HImode) != 0
20002 : : || !(
20003 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20004 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20005 : : #line 813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20006 : : (TARGET_AVX)))
20007 : : return -1;
20008 : : return 8050; /* *iorv16hi3 */
20009 : :
20010 : : case E_V8HImode:
20011 : : if (pattern25 (x2,
20012 : : E_V8HImode) != 0
20013 : : || !
20014 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20015 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20016 : : return -1;
20017 : : return 8053; /* *iorv8hi3 */
20018 : :
20019 : : case E_V1TImode:
20020 : : if (pattern670 (x2,
20021 : : E_V1TImode) != 0
20022 : : || !
20023 : : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20024 : : (TARGET_SSE2))
20025 : : return -1;
20026 : : return 8056; /* iorv1ti3 */
20027 : :
20028 : : default:
20029 : : return -1;
20030 : : }
20031 : :
20032 : : case AND:
20033 : : x5 = XEXP (x3, 0);
20034 : : switch (GET_CODE (x5))
20035 : : {
20036 : : case REG:
20037 : : case SUBREG:
20038 : : case MEM:
20039 : : case NOT:
20040 : : switch (pattern533 (x2))
20041 : : {
20042 : : case 0:
20043 : : if (!(
20044 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20045 : : ((64 == 64 || TARGET_AVX512VL
20046 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20047 : : && ix86_pre_reload_split ()
20048 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20049 : : STRIP_UNARY (operands[4]))
20050 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20051 : : STRIP_UNARY (operands[4]))
20052 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20053 : : STRIP_UNARY (operands[3]))
20054 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20055 : : STRIP_UNARY (operands[3])))) &&
20056 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20057 : : (TARGET_AVX512F && TARGET_EVEX512)))
20058 : : return -1;
20059 : : return 5517; /* *avx512bw_vpternlogv64qi_1 */
20060 : :
20061 : : case 1:
20062 : : if (!(
20063 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20064 : : ((32 == 64 || TARGET_AVX512VL
20065 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20066 : : && ix86_pre_reload_split ()
20067 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20068 : : STRIP_UNARY (operands[4]))
20069 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20070 : : STRIP_UNARY (operands[4]))
20071 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20072 : : STRIP_UNARY (operands[3]))
20073 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20074 : : STRIP_UNARY (operands[3])))) &&
20075 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20076 : : (TARGET_AVX)))
20077 : : return -1;
20078 : : return 5544; /* *avx512vl_vpternlogv32qi_1 */
20079 : :
20080 : : case 2:
20081 : : if (!
20082 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20083 : : ((16 == 64 || TARGET_AVX512VL
20084 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20085 : : && ix86_pre_reload_split ()
20086 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20087 : : STRIP_UNARY (operands[4]))
20088 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20089 : : STRIP_UNARY (operands[4]))
20090 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20091 : : STRIP_UNARY (operands[3]))
20092 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20093 : : STRIP_UNARY (operands[3])))))
20094 : : return -1;
20095 : : return 5571; /* *avx512vl_vpternlogv16qi_1 */
20096 : :
20097 : : case 3:
20098 : : if (!(
20099 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20100 : : ((64 == 64 || TARGET_AVX512VL
20101 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20102 : : && ix86_pre_reload_split ()
20103 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20104 : : STRIP_UNARY (operands[4]))
20105 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20106 : : STRIP_UNARY (operands[4]))
20107 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20108 : : STRIP_UNARY (operands[3]))
20109 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20110 : : STRIP_UNARY (operands[3])))) &&
20111 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20112 : : (TARGET_AVX512F && TARGET_EVEX512)))
20113 : : return -1;
20114 : : return 5598; /* *avx512bw_vpternlogv32hi_1 */
20115 : :
20116 : : case 4:
20117 : : if (!(
20118 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20119 : : ((32 == 64 || TARGET_AVX512VL
20120 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20121 : : && ix86_pre_reload_split ()
20122 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20123 : : STRIP_UNARY (operands[4]))
20124 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20125 : : STRIP_UNARY (operands[4]))
20126 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20127 : : STRIP_UNARY (operands[3]))
20128 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20129 : : STRIP_UNARY (operands[3])))) &&
20130 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20131 : : (TARGET_AVX)))
20132 : : return -1;
20133 : : return 5625; /* *avx512vl_vpternlogv16hi_1 */
20134 : :
20135 : : case 5:
20136 : : if (!
20137 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20138 : : ((16 == 64 || TARGET_AVX512VL
20139 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20140 : : && ix86_pre_reload_split ()
20141 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20142 : : STRIP_UNARY (operands[4]))
20143 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20144 : : STRIP_UNARY (operands[4]))
20145 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20146 : : STRIP_UNARY (operands[3]))
20147 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20148 : : STRIP_UNARY (operands[3])))))
20149 : : return -1;
20150 : : return 5652; /* *avx512vl_vpternlogv8hi_1 */
20151 : :
20152 : : case 6:
20153 : : if (!(
20154 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20155 : : ((64 == 64 || TARGET_AVX512VL
20156 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20157 : : && ix86_pre_reload_split ()
20158 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20159 : : STRIP_UNARY (operands[4]))
20160 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20161 : : STRIP_UNARY (operands[4]))
20162 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20163 : : STRIP_UNARY (operands[3]))
20164 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20165 : : STRIP_UNARY (operands[3])))) &&
20166 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20167 : : (TARGET_AVX512F && TARGET_EVEX512)))
20168 : : return -1;
20169 : : return 5679; /* *avx512f_vpternlogv16si_1 */
20170 : :
20171 : : case 7:
20172 : : if (!(
20173 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20174 : : ((32 == 64 || TARGET_AVX512VL
20175 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20176 : : && ix86_pre_reload_split ()
20177 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20178 : : STRIP_UNARY (operands[4]))
20179 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20180 : : STRIP_UNARY (operands[4]))
20181 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20182 : : STRIP_UNARY (operands[3]))
20183 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20184 : : STRIP_UNARY (operands[3])))) &&
20185 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20186 : : (TARGET_AVX)))
20187 : : return -1;
20188 : : return 5706; /* *avx512vl_vpternlogv8si_1 */
20189 : :
20190 : : case 8:
20191 : : if (!
20192 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20193 : : ((16 == 64 || TARGET_AVX512VL
20194 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20195 : : && ix86_pre_reload_split ()
20196 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20197 : : STRIP_UNARY (operands[4]))
20198 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20199 : : STRIP_UNARY (operands[4]))
20200 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20201 : : STRIP_UNARY (operands[3]))
20202 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20203 : : STRIP_UNARY (operands[3])))))
20204 : : return -1;
20205 : : return 5733; /* *avx512vl_vpternlogv4si_1 */
20206 : :
20207 : : case 9:
20208 : : if (!(
20209 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20210 : : ((64 == 64 || TARGET_AVX512VL
20211 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20212 : : && ix86_pre_reload_split ()
20213 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20214 : : STRIP_UNARY (operands[4]))
20215 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20216 : : STRIP_UNARY (operands[4]))
20217 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20218 : : STRIP_UNARY (operands[3]))
20219 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20220 : : STRIP_UNARY (operands[3])))) &&
20221 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20222 : : (TARGET_AVX512F && TARGET_EVEX512)))
20223 : : return -1;
20224 : : return 5760; /* *avx512f_vpternlogv8di_1 */
20225 : :
20226 : : case 10:
20227 : : if (!(
20228 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20229 : : ((32 == 64 || TARGET_AVX512VL
20230 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20231 : : && ix86_pre_reload_split ()
20232 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20233 : : STRIP_UNARY (operands[4]))
20234 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20235 : : STRIP_UNARY (operands[4]))
20236 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20237 : : STRIP_UNARY (operands[3]))
20238 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20239 : : STRIP_UNARY (operands[3])))) &&
20240 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20241 : : (TARGET_AVX)))
20242 : : return -1;
20243 : : return 5787; /* *avx512vl_vpternlogv4di_1 */
20244 : :
20245 : : case 11:
20246 : : if (!
20247 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20248 : : ((16 == 64 || TARGET_AVX512VL
20249 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20250 : : && ix86_pre_reload_split ()
20251 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20252 : : STRIP_UNARY (operands[4]))
20253 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20254 : : STRIP_UNARY (operands[4]))
20255 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20256 : : STRIP_UNARY (operands[3]))
20257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20258 : : STRIP_UNARY (operands[3])))))
20259 : : return -1;
20260 : : return 5814; /* *avx512vl_vpternlogv2di_1 */
20261 : :
20262 : : case 12:
20263 : : if (!(
20264 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20265 : : ((64 == 64 || TARGET_AVX512VL
20266 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20267 : : && ix86_pre_reload_split ()
20268 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20269 : : STRIP_UNARY (operands[4]))
20270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20271 : : STRIP_UNARY (operands[4]))
20272 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20273 : : STRIP_UNARY (operands[3]))
20274 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20275 : : STRIP_UNARY (operands[3])))) &&
20276 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20277 : : (TARGET_AVX512F && TARGET_EVEX512)))
20278 : : return -1;
20279 : : return 5520; /* *avx512bw_vpternlogv64qi_1 */
20280 : :
20281 : : case 13:
20282 : : if (!(
20283 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20284 : : ((32 == 64 || TARGET_AVX512VL
20285 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20286 : : && ix86_pre_reload_split ()
20287 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20288 : : STRIP_UNARY (operands[4]))
20289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20290 : : STRIP_UNARY (operands[4]))
20291 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20292 : : STRIP_UNARY (operands[3]))
20293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20294 : : STRIP_UNARY (operands[3])))) &&
20295 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20296 : : (TARGET_AVX)))
20297 : : return -1;
20298 : : return 5547; /* *avx512vl_vpternlogv32qi_1 */
20299 : :
20300 : : case 14:
20301 : : if (!
20302 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20303 : : ((16 == 64 || TARGET_AVX512VL
20304 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20305 : : && ix86_pre_reload_split ()
20306 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20307 : : STRIP_UNARY (operands[4]))
20308 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20309 : : STRIP_UNARY (operands[4]))
20310 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20311 : : STRIP_UNARY (operands[3]))
20312 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20313 : : STRIP_UNARY (operands[3])))))
20314 : : return -1;
20315 : : return 5574; /* *avx512vl_vpternlogv16qi_1 */
20316 : :
20317 : : case 15:
20318 : : if (!(
20319 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20320 : : ((64 == 64 || TARGET_AVX512VL
20321 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20322 : : && ix86_pre_reload_split ()
20323 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20324 : : STRIP_UNARY (operands[4]))
20325 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20326 : : STRIP_UNARY (operands[4]))
20327 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20328 : : STRIP_UNARY (operands[3]))
20329 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20330 : : STRIP_UNARY (operands[3])))) &&
20331 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20332 : : (TARGET_AVX512F && TARGET_EVEX512)))
20333 : : return -1;
20334 : : return 5601; /* *avx512bw_vpternlogv32hi_1 */
20335 : :
20336 : : case 16:
20337 : : if (!(
20338 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20339 : : ((32 == 64 || TARGET_AVX512VL
20340 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20341 : : && ix86_pre_reload_split ()
20342 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20343 : : STRIP_UNARY (operands[4]))
20344 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20345 : : STRIP_UNARY (operands[4]))
20346 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20347 : : STRIP_UNARY (operands[3]))
20348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20349 : : STRIP_UNARY (operands[3])))) &&
20350 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20351 : : (TARGET_AVX)))
20352 : : return -1;
20353 : : return 5628; /* *avx512vl_vpternlogv16hi_1 */
20354 : :
20355 : : case 17:
20356 : : if (!
20357 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20358 : : ((16 == 64 || TARGET_AVX512VL
20359 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20360 : : && ix86_pre_reload_split ()
20361 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20362 : : STRIP_UNARY (operands[4]))
20363 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20364 : : STRIP_UNARY (operands[4]))
20365 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20366 : : STRIP_UNARY (operands[3]))
20367 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20368 : : STRIP_UNARY (operands[3])))))
20369 : : return -1;
20370 : : return 5655; /* *avx512vl_vpternlogv8hi_1 */
20371 : :
20372 : : case 18:
20373 : : if (!(
20374 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20375 : : ((64 == 64 || TARGET_AVX512VL
20376 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20377 : : && ix86_pre_reload_split ()
20378 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20379 : : STRIP_UNARY (operands[4]))
20380 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20381 : : STRIP_UNARY (operands[4]))
20382 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20383 : : STRIP_UNARY (operands[3]))
20384 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20385 : : STRIP_UNARY (operands[3])))) &&
20386 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20387 : : (TARGET_AVX512F && TARGET_EVEX512)))
20388 : : return -1;
20389 : : return 5682; /* *avx512f_vpternlogv16si_1 */
20390 : :
20391 : : case 19:
20392 : : if (!(
20393 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20394 : : ((32 == 64 || TARGET_AVX512VL
20395 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20396 : : && ix86_pre_reload_split ()
20397 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20398 : : STRIP_UNARY (operands[4]))
20399 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20400 : : STRIP_UNARY (operands[4]))
20401 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20402 : : STRIP_UNARY (operands[3]))
20403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20404 : : STRIP_UNARY (operands[3])))) &&
20405 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20406 : : (TARGET_AVX)))
20407 : : return -1;
20408 : : return 5709; /* *avx512vl_vpternlogv8si_1 */
20409 : :
20410 : : case 20:
20411 : : if (!
20412 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20413 : : ((16 == 64 || TARGET_AVX512VL
20414 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20415 : : && ix86_pre_reload_split ()
20416 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20417 : : STRIP_UNARY (operands[4]))
20418 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20419 : : STRIP_UNARY (operands[4]))
20420 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20421 : : STRIP_UNARY (operands[3]))
20422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20423 : : STRIP_UNARY (operands[3])))))
20424 : : return -1;
20425 : : return 5736; /* *avx512vl_vpternlogv4si_1 */
20426 : :
20427 : : case 21:
20428 : : if (!(
20429 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20430 : : ((64 == 64 || TARGET_AVX512VL
20431 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20432 : : && ix86_pre_reload_split ()
20433 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20434 : : STRIP_UNARY (operands[4]))
20435 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20436 : : STRIP_UNARY (operands[4]))
20437 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20438 : : STRIP_UNARY (operands[3]))
20439 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20440 : : STRIP_UNARY (operands[3])))) &&
20441 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20442 : : (TARGET_AVX512F && TARGET_EVEX512)))
20443 : : return -1;
20444 : : return 5763; /* *avx512f_vpternlogv8di_1 */
20445 : :
20446 : : case 22:
20447 : : if (!(
20448 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20449 : : ((32 == 64 || TARGET_AVX512VL
20450 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20451 : : && ix86_pre_reload_split ()
20452 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20453 : : STRIP_UNARY (operands[4]))
20454 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20455 : : STRIP_UNARY (operands[4]))
20456 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20457 : : STRIP_UNARY (operands[3]))
20458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20459 : : STRIP_UNARY (operands[3])))) &&
20460 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20461 : : (TARGET_AVX)))
20462 : : return -1;
20463 : : return 5790; /* *avx512vl_vpternlogv4di_1 */
20464 : :
20465 : : case 23:
20466 : : if (!
20467 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20468 : : ((16 == 64 || TARGET_AVX512VL
20469 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20470 : : && ix86_pre_reload_split ()
20471 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20472 : : STRIP_UNARY (operands[4]))
20473 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20474 : : STRIP_UNARY (operands[4]))
20475 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20476 : : STRIP_UNARY (operands[3]))
20477 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20478 : : STRIP_UNARY (operands[3])))))
20479 : : return -1;
20480 : : return 5817; /* *avx512vl_vpternlogv2di_1 */
20481 : :
20482 : : case 24:
20483 : : if (!(
20484 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20485 : : ((64 == 64 || TARGET_AVX512VL
20486 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20487 : : && ix86_pre_reload_split ()
20488 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20489 : : STRIP_UNARY (operands[4]))
20490 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20491 : : STRIP_UNARY (operands[4]))
20492 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20493 : : STRIP_UNARY (operands[3]))
20494 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20495 : : STRIP_UNARY (operands[3])))) &&
20496 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20497 : : (TARGET_AVX512F && TARGET_EVEX512)))
20498 : : return -1;
20499 : : return 5523; /* *avx512bw_vpternlogv64qi_1 */
20500 : :
20501 : : case 25:
20502 : : if (!(
20503 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20504 : : ((32 == 64 || TARGET_AVX512VL
20505 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20506 : : && ix86_pre_reload_split ()
20507 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20508 : : STRIP_UNARY (operands[4]))
20509 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20510 : : STRIP_UNARY (operands[4]))
20511 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20512 : : STRIP_UNARY (operands[3]))
20513 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20514 : : STRIP_UNARY (operands[3])))) &&
20515 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20516 : : (TARGET_AVX)))
20517 : : return -1;
20518 : : return 5550; /* *avx512vl_vpternlogv32qi_1 */
20519 : :
20520 : : case 26:
20521 : : if (!
20522 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20523 : : ((16 == 64 || TARGET_AVX512VL
20524 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20525 : : && ix86_pre_reload_split ()
20526 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20527 : : STRIP_UNARY (operands[4]))
20528 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20529 : : STRIP_UNARY (operands[4]))
20530 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20531 : : STRIP_UNARY (operands[3]))
20532 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20533 : : STRIP_UNARY (operands[3])))))
20534 : : return -1;
20535 : : return 5577; /* *avx512vl_vpternlogv16qi_1 */
20536 : :
20537 : : case 27:
20538 : : if (!(
20539 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20540 : : ((64 == 64 || TARGET_AVX512VL
20541 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20542 : : && ix86_pre_reload_split ()
20543 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20544 : : STRIP_UNARY (operands[4]))
20545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20546 : : STRIP_UNARY (operands[4]))
20547 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20548 : : STRIP_UNARY (operands[3]))
20549 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20550 : : STRIP_UNARY (operands[3])))) &&
20551 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20552 : : (TARGET_AVX512F && TARGET_EVEX512)))
20553 : : return -1;
20554 : : return 5604; /* *avx512bw_vpternlogv32hi_1 */
20555 : :
20556 : : case 28:
20557 : : if (!(
20558 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20559 : : ((32 == 64 || TARGET_AVX512VL
20560 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20561 : : && ix86_pre_reload_split ()
20562 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20563 : : STRIP_UNARY (operands[4]))
20564 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20565 : : STRIP_UNARY (operands[4]))
20566 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20567 : : STRIP_UNARY (operands[3]))
20568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20569 : : STRIP_UNARY (operands[3])))) &&
20570 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20571 : : (TARGET_AVX)))
20572 : : return -1;
20573 : : return 5631; /* *avx512vl_vpternlogv16hi_1 */
20574 : :
20575 : : case 29:
20576 : : if (!
20577 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20578 : : ((16 == 64 || TARGET_AVX512VL
20579 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20580 : : && ix86_pre_reload_split ()
20581 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20582 : : STRIP_UNARY (operands[4]))
20583 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20584 : : STRIP_UNARY (operands[4]))
20585 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20586 : : STRIP_UNARY (operands[3]))
20587 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20588 : : STRIP_UNARY (operands[3])))))
20589 : : return -1;
20590 : : return 5658; /* *avx512vl_vpternlogv8hi_1 */
20591 : :
20592 : : case 30:
20593 : : if (!(
20594 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20595 : : ((64 == 64 || TARGET_AVX512VL
20596 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20597 : : && ix86_pre_reload_split ()
20598 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20599 : : STRIP_UNARY (operands[4]))
20600 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20601 : : STRIP_UNARY (operands[4]))
20602 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20603 : : STRIP_UNARY (operands[3]))
20604 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20605 : : STRIP_UNARY (operands[3])))) &&
20606 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20607 : : (TARGET_AVX512F && TARGET_EVEX512)))
20608 : : return -1;
20609 : : return 5685; /* *avx512f_vpternlogv16si_1 */
20610 : :
20611 : : case 31:
20612 : : if (!(
20613 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20614 : : ((32 == 64 || TARGET_AVX512VL
20615 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20616 : : && ix86_pre_reload_split ()
20617 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20618 : : STRIP_UNARY (operands[4]))
20619 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20620 : : STRIP_UNARY (operands[4]))
20621 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20622 : : STRIP_UNARY (operands[3]))
20623 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20624 : : STRIP_UNARY (operands[3])))) &&
20625 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20626 : : (TARGET_AVX)))
20627 : : return -1;
20628 : : return 5712; /* *avx512vl_vpternlogv8si_1 */
20629 : :
20630 : : case 32:
20631 : : if (!
20632 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20633 : : ((16 == 64 || TARGET_AVX512VL
20634 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20635 : : && ix86_pre_reload_split ()
20636 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20637 : : STRIP_UNARY (operands[4]))
20638 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20639 : : STRIP_UNARY (operands[4]))
20640 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20641 : : STRIP_UNARY (operands[3]))
20642 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20643 : : STRIP_UNARY (operands[3])))))
20644 : : return -1;
20645 : : return 5739; /* *avx512vl_vpternlogv4si_1 */
20646 : :
20647 : : case 33:
20648 : : if (!(
20649 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20650 : : ((64 == 64 || TARGET_AVX512VL
20651 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20652 : : && ix86_pre_reload_split ()
20653 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20654 : : STRIP_UNARY (operands[4]))
20655 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20656 : : STRIP_UNARY (operands[4]))
20657 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20658 : : STRIP_UNARY (operands[3]))
20659 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20660 : : STRIP_UNARY (operands[3])))) &&
20661 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20662 : : (TARGET_AVX512F && TARGET_EVEX512)))
20663 : : return -1;
20664 : : return 5766; /* *avx512f_vpternlogv8di_1 */
20665 : :
20666 : : case 34:
20667 : : if (!(
20668 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20669 : : ((32 == 64 || TARGET_AVX512VL
20670 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20671 : : && ix86_pre_reload_split ()
20672 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20673 : : STRIP_UNARY (operands[4]))
20674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20675 : : STRIP_UNARY (operands[4]))
20676 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20677 : : STRIP_UNARY (operands[3]))
20678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20679 : : STRIP_UNARY (operands[3])))) &&
20680 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20681 : : (TARGET_AVX)))
20682 : : return -1;
20683 : : return 5793; /* *avx512vl_vpternlogv4di_1 */
20684 : :
20685 : : case 35:
20686 : : if (!
20687 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20688 : : ((16 == 64 || TARGET_AVX512VL
20689 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20690 : : && ix86_pre_reload_split ()
20691 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20692 : : STRIP_UNARY (operands[4]))
20693 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20694 : : STRIP_UNARY (operands[4]))
20695 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20696 : : STRIP_UNARY (operands[3]))
20697 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20698 : : STRIP_UNARY (operands[3])))))
20699 : : return -1;
20700 : : return 5820; /* *avx512vl_vpternlogv2di_1 */
20701 : :
20702 : : case 36:
20703 : : if (!(
20704 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20705 : : ((64 == 64 || TARGET_AVX512VL
20706 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20707 : : && ix86_pre_reload_split ()) &&
20708 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20709 : : (TARGET_AVX512F && TARGET_EVEX512)))
20710 : : return -1;
20711 : : return 6813; /* *avx512bw_vpternlogv64qi_3 */
20712 : :
20713 : : case 37:
20714 : : if (!(
20715 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20716 : : ((32 == 64 || TARGET_AVX512VL
20717 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20718 : : && ix86_pre_reload_split ()) &&
20719 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20720 : : (TARGET_AVX)))
20721 : : return -1;
20722 : : return 6822; /* *avx512vl_vpternlogv32qi_3 */
20723 : :
20724 : : case 38:
20725 : : if (!
20726 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20727 : : ((16 == 64 || TARGET_AVX512VL
20728 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20729 : : && ix86_pre_reload_split ()))
20730 : : return -1;
20731 : : return 6831; /* *avx512vl_vpternlogv16qi_3 */
20732 : :
20733 : : case 39:
20734 : : if (!(
20735 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20736 : : ((64 == 64 || TARGET_AVX512VL
20737 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20738 : : && ix86_pre_reload_split ()) &&
20739 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20740 : : (TARGET_AVX512F && TARGET_EVEX512)))
20741 : : return -1;
20742 : : return 6840; /* *avx512bw_vpternlogv32hi_3 */
20743 : :
20744 : : case 40:
20745 : : if (!(
20746 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20747 : : ((32 == 64 || TARGET_AVX512VL
20748 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20749 : : && ix86_pre_reload_split ()) &&
20750 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20751 : : (TARGET_AVX)))
20752 : : return -1;
20753 : : return 6849; /* *avx512vl_vpternlogv16hi_3 */
20754 : :
20755 : : case 41:
20756 : : if (!
20757 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20758 : : ((16 == 64 || TARGET_AVX512VL
20759 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20760 : : && ix86_pre_reload_split ()))
20761 : : return -1;
20762 : : return 6858; /* *avx512vl_vpternlogv8hi_3 */
20763 : :
20764 : : case 42:
20765 : : if (!(
20766 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20767 : : ((64 == 64 || TARGET_AVX512VL
20768 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20769 : : && ix86_pre_reload_split ()) &&
20770 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20771 : : (TARGET_AVX512F && TARGET_EVEX512)))
20772 : : return -1;
20773 : : return 6867; /* *avx512f_vpternlogv16si_3 */
20774 : :
20775 : : case 43:
20776 : : if (!(
20777 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20778 : : ((32 == 64 || TARGET_AVX512VL
20779 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20780 : : && ix86_pre_reload_split ()) &&
20781 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20782 : : (TARGET_AVX)))
20783 : : return -1;
20784 : : return 6876; /* *avx512vl_vpternlogv8si_3 */
20785 : :
20786 : : case 44:
20787 : : if (!
20788 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20789 : : ((16 == 64 || TARGET_AVX512VL
20790 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20791 : : && ix86_pre_reload_split ()))
20792 : : return -1;
20793 : : return 6885; /* *avx512vl_vpternlogv4si_3 */
20794 : :
20795 : : case 45:
20796 : : if (!(
20797 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20798 : : ((64 == 64 || TARGET_AVX512VL
20799 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20800 : : && ix86_pre_reload_split ()) &&
20801 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20802 : : (TARGET_AVX512F && TARGET_EVEX512)))
20803 : : return -1;
20804 : : return 6894; /* *avx512f_vpternlogv8di_3 */
20805 : :
20806 : : case 46:
20807 : : if (!(
20808 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20809 : : ((32 == 64 || TARGET_AVX512VL
20810 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20811 : : && ix86_pre_reload_split ()) &&
20812 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20813 : : (TARGET_AVX)))
20814 : : return -1;
20815 : : return 6903; /* *avx512vl_vpternlogv4di_3 */
20816 : :
20817 : : case 47:
20818 : : if (!
20819 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20820 : : ((16 == 64 || TARGET_AVX512VL
20821 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20822 : : && ix86_pre_reload_split ()))
20823 : : return -1;
20824 : : return 6912; /* *avx512vl_vpternlogv2di_3 */
20825 : :
20826 : : default:
20827 : : return -1;
20828 : : }
20829 : :
20830 : : case AND:
20831 : : switch (pattern535 (x2))
20832 : : {
20833 : : case 0:
20834 : : if (!(
20835 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20836 : : ((64 == 64 || TARGET_AVX512VL
20837 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20838 : : && ix86_pre_reload_split ()
20839 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20840 : : STRIP_UNARY (operands[4]))
20841 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20842 : : STRIP_UNARY (operands[4]))
20843 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20844 : : STRIP_UNARY (operands[3]))
20845 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20846 : : STRIP_UNARY (operands[3])))) &&
20847 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20848 : : (TARGET_AVX512F && TARGET_EVEX512)))
20849 : : return -1;
20850 : : return 6165; /* *avx512bw_vpternlogv64qi_2 */
20851 : :
20852 : : case 1:
20853 : : if (!(
20854 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20855 : : ((32 == 64 || TARGET_AVX512VL
20856 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20857 : : && ix86_pre_reload_split ()
20858 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20859 : : STRIP_UNARY (operands[4]))
20860 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20861 : : STRIP_UNARY (operands[4]))
20862 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20863 : : STRIP_UNARY (operands[3]))
20864 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20865 : : STRIP_UNARY (operands[3])))) &&
20866 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20867 : : (TARGET_AVX)))
20868 : : return -1;
20869 : : return 6192; /* *avx512vl_vpternlogv32qi_2 */
20870 : :
20871 : : case 2:
20872 : : if (!
20873 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20874 : : ((16 == 64 || TARGET_AVX512VL
20875 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20876 : : && ix86_pre_reload_split ()
20877 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20878 : : STRIP_UNARY (operands[4]))
20879 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20880 : : STRIP_UNARY (operands[4]))
20881 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20882 : : STRIP_UNARY (operands[3]))
20883 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20884 : : STRIP_UNARY (operands[3])))))
20885 : : return -1;
20886 : : return 6219; /* *avx512vl_vpternlogv16qi_2 */
20887 : :
20888 : : case 3:
20889 : : if (!(
20890 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20891 : : ((64 == 64 || TARGET_AVX512VL
20892 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20893 : : && ix86_pre_reload_split ()
20894 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20895 : : STRIP_UNARY (operands[4]))
20896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20897 : : STRIP_UNARY (operands[4]))
20898 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20899 : : STRIP_UNARY (operands[3]))
20900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20901 : : STRIP_UNARY (operands[3])))) &&
20902 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20903 : : (TARGET_AVX512F && TARGET_EVEX512)))
20904 : : return -1;
20905 : : return 6246; /* *avx512bw_vpternlogv32hi_2 */
20906 : :
20907 : : case 4:
20908 : : if (!(
20909 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20910 : : ((32 == 64 || TARGET_AVX512VL
20911 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20912 : : && ix86_pre_reload_split ()
20913 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20914 : : STRIP_UNARY (operands[4]))
20915 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20916 : : STRIP_UNARY (operands[4]))
20917 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20918 : : STRIP_UNARY (operands[3]))
20919 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20920 : : STRIP_UNARY (operands[3])))) &&
20921 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20922 : : (TARGET_AVX)))
20923 : : return -1;
20924 : : return 6273; /* *avx512vl_vpternlogv16hi_2 */
20925 : :
20926 : : case 5:
20927 : : if (!
20928 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20929 : : ((16 == 64 || TARGET_AVX512VL
20930 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20931 : : && ix86_pre_reload_split ()
20932 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20933 : : STRIP_UNARY (operands[4]))
20934 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20935 : : STRIP_UNARY (operands[4]))
20936 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20937 : : STRIP_UNARY (operands[3]))
20938 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20939 : : STRIP_UNARY (operands[3])))))
20940 : : return -1;
20941 : : return 6300; /* *avx512vl_vpternlogv8hi_2 */
20942 : :
20943 : : case 6:
20944 : : if (!(
20945 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20946 : : ((64 == 64 || TARGET_AVX512VL
20947 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20948 : : && ix86_pre_reload_split ()
20949 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20950 : : STRIP_UNARY (operands[4]))
20951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20952 : : STRIP_UNARY (operands[4]))
20953 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20954 : : STRIP_UNARY (operands[3]))
20955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20956 : : STRIP_UNARY (operands[3])))) &&
20957 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20958 : : (TARGET_AVX512F && TARGET_EVEX512)))
20959 : : return -1;
20960 : : return 6327; /* *avx512f_vpternlogv16si_2 */
20961 : :
20962 : : case 7:
20963 : : if (!(
20964 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20965 : : ((32 == 64 || TARGET_AVX512VL
20966 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20967 : : && ix86_pre_reload_split ()
20968 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20969 : : STRIP_UNARY (operands[4]))
20970 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20971 : : STRIP_UNARY (operands[4]))
20972 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20973 : : STRIP_UNARY (operands[3]))
20974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20975 : : STRIP_UNARY (operands[3])))) &&
20976 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20977 : : (TARGET_AVX)))
20978 : : return -1;
20979 : : return 6354; /* *avx512vl_vpternlogv8si_2 */
20980 : :
20981 : : case 8:
20982 : : if (!
20983 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20984 : : ((16 == 64 || TARGET_AVX512VL
20985 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
20986 : : && ix86_pre_reload_split ()
20987 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20988 : : STRIP_UNARY (operands[4]))
20989 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20990 : : STRIP_UNARY (operands[4]))
20991 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20992 : : STRIP_UNARY (operands[3]))
20993 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20994 : : STRIP_UNARY (operands[3])))))
20995 : : return -1;
20996 : : return 6381; /* *avx512vl_vpternlogv4si_2 */
20997 : :
20998 : : case 9:
20999 : : if (!(
21000 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21001 : : ((64 == 64 || TARGET_AVX512VL
21002 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21003 : : && ix86_pre_reload_split ()
21004 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21005 : : STRIP_UNARY (operands[4]))
21006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21007 : : STRIP_UNARY (operands[4]))
21008 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21009 : : STRIP_UNARY (operands[3]))
21010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21011 : : STRIP_UNARY (operands[3])))) &&
21012 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21013 : : (TARGET_AVX512F && TARGET_EVEX512)))
21014 : : return -1;
21015 : : return 6408; /* *avx512f_vpternlogv8di_2 */
21016 : :
21017 : : case 10:
21018 : : if (!(
21019 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21020 : : ((32 == 64 || TARGET_AVX512VL
21021 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21022 : : && ix86_pre_reload_split ()
21023 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21024 : : STRIP_UNARY (operands[4]))
21025 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21026 : : STRIP_UNARY (operands[4]))
21027 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21028 : : STRIP_UNARY (operands[3]))
21029 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21030 : : STRIP_UNARY (operands[3])))) &&
21031 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21032 : : (TARGET_AVX)))
21033 : : return -1;
21034 : : return 6435; /* *avx512vl_vpternlogv4di_2 */
21035 : :
21036 : : case 11:
21037 : : if (!
21038 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21039 : : ((16 == 64 || TARGET_AVX512VL
21040 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21041 : : && ix86_pre_reload_split ()
21042 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21043 : : STRIP_UNARY (operands[4]))
21044 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21045 : : STRIP_UNARY (operands[4]))
21046 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21047 : : STRIP_UNARY (operands[3]))
21048 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21049 : : STRIP_UNARY (operands[3])))))
21050 : : return -1;
21051 : : return 6462; /* *avx512vl_vpternlogv2di_2 */
21052 : :
21053 : : default:
21054 : : return -1;
21055 : : }
21056 : :
21057 : : case IOR:
21058 : : switch (pattern535 (x2))
21059 : : {
21060 : : case 0:
21061 : : if (!(
21062 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21063 : : ((64 == 64 || TARGET_AVX512VL
21064 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21065 : : && ix86_pre_reload_split ()
21066 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21067 : : STRIP_UNARY (operands[4]))
21068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21069 : : STRIP_UNARY (operands[4]))
21070 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21071 : : STRIP_UNARY (operands[3]))
21072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21073 : : STRIP_UNARY (operands[3])))) &&
21074 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21075 : : (TARGET_AVX512F && TARGET_EVEX512)))
21076 : : return -1;
21077 : : return 6168; /* *avx512bw_vpternlogv64qi_2 */
21078 : :
21079 : : case 1:
21080 : : if (!(
21081 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21082 : : ((32 == 64 || TARGET_AVX512VL
21083 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21084 : : && ix86_pre_reload_split ()
21085 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21086 : : STRIP_UNARY (operands[4]))
21087 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21088 : : STRIP_UNARY (operands[4]))
21089 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21090 : : STRIP_UNARY (operands[3]))
21091 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21092 : : STRIP_UNARY (operands[3])))) &&
21093 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21094 : : (TARGET_AVX)))
21095 : : return -1;
21096 : : return 6195; /* *avx512vl_vpternlogv32qi_2 */
21097 : :
21098 : : case 2:
21099 : : if (!
21100 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21101 : : ((16 == 64 || TARGET_AVX512VL
21102 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21103 : : && ix86_pre_reload_split ()
21104 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21105 : : STRIP_UNARY (operands[4]))
21106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21107 : : STRIP_UNARY (operands[4]))
21108 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21109 : : STRIP_UNARY (operands[3]))
21110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21111 : : STRIP_UNARY (operands[3])))))
21112 : : return -1;
21113 : : return 6222; /* *avx512vl_vpternlogv16qi_2 */
21114 : :
21115 : : case 3:
21116 : : if (!(
21117 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21118 : : ((64 == 64 || TARGET_AVX512VL
21119 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21120 : : && ix86_pre_reload_split ()
21121 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21122 : : STRIP_UNARY (operands[4]))
21123 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21124 : : STRIP_UNARY (operands[4]))
21125 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21126 : : STRIP_UNARY (operands[3]))
21127 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21128 : : STRIP_UNARY (operands[3])))) &&
21129 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21130 : : (TARGET_AVX512F && TARGET_EVEX512)))
21131 : : return -1;
21132 : : return 6249; /* *avx512bw_vpternlogv32hi_2 */
21133 : :
21134 : : case 4:
21135 : : if (!(
21136 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21137 : : ((32 == 64 || TARGET_AVX512VL
21138 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21139 : : && ix86_pre_reload_split ()
21140 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21141 : : STRIP_UNARY (operands[4]))
21142 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21143 : : STRIP_UNARY (operands[4]))
21144 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21145 : : STRIP_UNARY (operands[3]))
21146 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21147 : : STRIP_UNARY (operands[3])))) &&
21148 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21149 : : (TARGET_AVX)))
21150 : : return -1;
21151 : : return 6276; /* *avx512vl_vpternlogv16hi_2 */
21152 : :
21153 : : case 5:
21154 : : if (!
21155 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21156 : : ((16 == 64 || TARGET_AVX512VL
21157 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21158 : : && ix86_pre_reload_split ()
21159 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21160 : : STRIP_UNARY (operands[4]))
21161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21162 : : STRIP_UNARY (operands[4]))
21163 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21164 : : STRIP_UNARY (operands[3]))
21165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21166 : : STRIP_UNARY (operands[3])))))
21167 : : return -1;
21168 : : return 6303; /* *avx512vl_vpternlogv8hi_2 */
21169 : :
21170 : : case 6:
21171 : : if (!(
21172 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21173 : : ((64 == 64 || TARGET_AVX512VL
21174 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21175 : : && ix86_pre_reload_split ()
21176 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21177 : : STRIP_UNARY (operands[4]))
21178 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21179 : : STRIP_UNARY (operands[4]))
21180 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21181 : : STRIP_UNARY (operands[3]))
21182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21183 : : STRIP_UNARY (operands[3])))) &&
21184 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21185 : : (TARGET_AVX512F && TARGET_EVEX512)))
21186 : : return -1;
21187 : : return 6330; /* *avx512f_vpternlogv16si_2 */
21188 : :
21189 : : case 7:
21190 : : if (!(
21191 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21192 : : ((32 == 64 || TARGET_AVX512VL
21193 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21194 : : && ix86_pre_reload_split ()
21195 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21196 : : STRIP_UNARY (operands[4]))
21197 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21198 : : STRIP_UNARY (operands[4]))
21199 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21200 : : STRIP_UNARY (operands[3]))
21201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21202 : : STRIP_UNARY (operands[3])))) &&
21203 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21204 : : (TARGET_AVX)))
21205 : : return -1;
21206 : : return 6357; /* *avx512vl_vpternlogv8si_2 */
21207 : :
21208 : : case 8:
21209 : : if (!
21210 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21211 : : ((16 == 64 || TARGET_AVX512VL
21212 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21213 : : && ix86_pre_reload_split ()
21214 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21215 : : STRIP_UNARY (operands[4]))
21216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21217 : : STRIP_UNARY (operands[4]))
21218 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21219 : : STRIP_UNARY (operands[3]))
21220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21221 : : STRIP_UNARY (operands[3])))))
21222 : : return -1;
21223 : : return 6384; /* *avx512vl_vpternlogv4si_2 */
21224 : :
21225 : : case 9:
21226 : : if (!(
21227 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21228 : : ((64 == 64 || TARGET_AVX512VL
21229 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21230 : : && ix86_pre_reload_split ()
21231 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21232 : : STRIP_UNARY (operands[4]))
21233 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21234 : : STRIP_UNARY (operands[4]))
21235 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21236 : : STRIP_UNARY (operands[3]))
21237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21238 : : STRIP_UNARY (operands[3])))) &&
21239 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21240 : : (TARGET_AVX512F && TARGET_EVEX512)))
21241 : : return -1;
21242 : : return 6411; /* *avx512f_vpternlogv8di_2 */
21243 : :
21244 : : case 10:
21245 : : if (!(
21246 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21247 : : ((32 == 64 || TARGET_AVX512VL
21248 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21249 : : && ix86_pre_reload_split ()
21250 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21251 : : STRIP_UNARY (operands[4]))
21252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21253 : : STRIP_UNARY (operands[4]))
21254 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21255 : : STRIP_UNARY (operands[3]))
21256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21257 : : STRIP_UNARY (operands[3])))) &&
21258 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21259 : : (TARGET_AVX)))
21260 : : return -1;
21261 : : return 6438; /* *avx512vl_vpternlogv4di_2 */
21262 : :
21263 : : case 11:
21264 : : if (!
21265 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21266 : : ((16 == 64 || TARGET_AVX512VL
21267 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21268 : : && ix86_pre_reload_split ()
21269 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21270 : : STRIP_UNARY (operands[4]))
21271 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21272 : : STRIP_UNARY (operands[4]))
21273 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21274 : : STRIP_UNARY (operands[3]))
21275 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21276 : : STRIP_UNARY (operands[3])))))
21277 : : return -1;
21278 : : return 6465; /* *avx512vl_vpternlogv2di_2 */
21279 : :
21280 : : default:
21281 : : return -1;
21282 : : }
21283 : :
21284 : : case XOR:
21285 : : switch (pattern535 (x2))
21286 : : {
21287 : : case 0:
21288 : : if (!(
21289 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21290 : : ((64 == 64 || TARGET_AVX512VL
21291 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21292 : : && ix86_pre_reload_split ()
21293 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21294 : : STRIP_UNARY (operands[4]))
21295 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21296 : : STRIP_UNARY (operands[4]))
21297 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21298 : : STRIP_UNARY (operands[3]))
21299 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21300 : : STRIP_UNARY (operands[3])))) &&
21301 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21302 : : (TARGET_AVX512F && TARGET_EVEX512)))
21303 : : return -1;
21304 : : return 6171; /* *avx512bw_vpternlogv64qi_2 */
21305 : :
21306 : : case 1:
21307 : : if (!(
21308 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21309 : : ((32 == 64 || TARGET_AVX512VL
21310 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21311 : : && ix86_pre_reload_split ()
21312 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21313 : : STRIP_UNARY (operands[4]))
21314 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21315 : : STRIP_UNARY (operands[4]))
21316 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21317 : : STRIP_UNARY (operands[3]))
21318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21319 : : STRIP_UNARY (operands[3])))) &&
21320 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21321 : : (TARGET_AVX)))
21322 : : return -1;
21323 : : return 6198; /* *avx512vl_vpternlogv32qi_2 */
21324 : :
21325 : : case 2:
21326 : : if (!
21327 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21328 : : ((16 == 64 || TARGET_AVX512VL
21329 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21330 : : && ix86_pre_reload_split ()
21331 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21332 : : STRIP_UNARY (operands[4]))
21333 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21334 : : STRIP_UNARY (operands[4]))
21335 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21336 : : STRIP_UNARY (operands[3]))
21337 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21338 : : STRIP_UNARY (operands[3])))))
21339 : : return -1;
21340 : : return 6225; /* *avx512vl_vpternlogv16qi_2 */
21341 : :
21342 : : case 3:
21343 : : if (!(
21344 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21345 : : ((64 == 64 || TARGET_AVX512VL
21346 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21347 : : && ix86_pre_reload_split ()
21348 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21349 : : STRIP_UNARY (operands[4]))
21350 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21351 : : STRIP_UNARY (operands[4]))
21352 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21353 : : STRIP_UNARY (operands[3]))
21354 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21355 : : STRIP_UNARY (operands[3])))) &&
21356 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21357 : : (TARGET_AVX512F && TARGET_EVEX512)))
21358 : : return -1;
21359 : : return 6252; /* *avx512bw_vpternlogv32hi_2 */
21360 : :
21361 : : case 4:
21362 : : if (!(
21363 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21364 : : ((32 == 64 || TARGET_AVX512VL
21365 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21366 : : && ix86_pre_reload_split ()
21367 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21368 : : STRIP_UNARY (operands[4]))
21369 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21370 : : STRIP_UNARY (operands[4]))
21371 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21372 : : STRIP_UNARY (operands[3]))
21373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21374 : : STRIP_UNARY (operands[3])))) &&
21375 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21376 : : (TARGET_AVX)))
21377 : : return -1;
21378 : : return 6279; /* *avx512vl_vpternlogv16hi_2 */
21379 : :
21380 : : case 5:
21381 : : if (!
21382 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21383 : : ((16 == 64 || TARGET_AVX512VL
21384 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21385 : : && ix86_pre_reload_split ()
21386 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21387 : : STRIP_UNARY (operands[4]))
21388 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21389 : : STRIP_UNARY (operands[4]))
21390 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21391 : : STRIP_UNARY (operands[3]))
21392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21393 : : STRIP_UNARY (operands[3])))))
21394 : : return -1;
21395 : : return 6306; /* *avx512vl_vpternlogv8hi_2 */
21396 : :
21397 : : case 6:
21398 : : if (!(
21399 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21400 : : ((64 == 64 || TARGET_AVX512VL
21401 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21402 : : && ix86_pre_reload_split ()
21403 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21404 : : STRIP_UNARY (operands[4]))
21405 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21406 : : STRIP_UNARY (operands[4]))
21407 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21408 : : STRIP_UNARY (operands[3]))
21409 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21410 : : STRIP_UNARY (operands[3])))) &&
21411 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21412 : : (TARGET_AVX512F && TARGET_EVEX512)))
21413 : : return -1;
21414 : : return 6333; /* *avx512f_vpternlogv16si_2 */
21415 : :
21416 : : case 7:
21417 : : if (!(
21418 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21419 : : ((32 == 64 || TARGET_AVX512VL
21420 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21421 : : && ix86_pre_reload_split ()
21422 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21423 : : STRIP_UNARY (operands[4]))
21424 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21425 : : STRIP_UNARY (operands[4]))
21426 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21427 : : STRIP_UNARY (operands[3]))
21428 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21429 : : STRIP_UNARY (operands[3])))) &&
21430 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21431 : : (TARGET_AVX)))
21432 : : return -1;
21433 : : return 6360; /* *avx512vl_vpternlogv8si_2 */
21434 : :
21435 : : case 8:
21436 : : if (!
21437 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21438 : : ((16 == 64 || TARGET_AVX512VL
21439 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21440 : : && ix86_pre_reload_split ()
21441 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21442 : : STRIP_UNARY (operands[4]))
21443 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21444 : : STRIP_UNARY (operands[4]))
21445 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21446 : : STRIP_UNARY (operands[3]))
21447 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21448 : : STRIP_UNARY (operands[3])))))
21449 : : return -1;
21450 : : return 6387; /* *avx512vl_vpternlogv4si_2 */
21451 : :
21452 : : case 9:
21453 : : if (!(
21454 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21455 : : ((64 == 64 || TARGET_AVX512VL
21456 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21457 : : && ix86_pre_reload_split ()
21458 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21459 : : STRIP_UNARY (operands[4]))
21460 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21461 : : STRIP_UNARY (operands[4]))
21462 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21463 : : STRIP_UNARY (operands[3]))
21464 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21465 : : STRIP_UNARY (operands[3])))) &&
21466 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21467 : : (TARGET_AVX512F && TARGET_EVEX512)))
21468 : : return -1;
21469 : : return 6414; /* *avx512f_vpternlogv8di_2 */
21470 : :
21471 : : case 10:
21472 : : if (!(
21473 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21474 : : ((32 == 64 || TARGET_AVX512VL
21475 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21476 : : && ix86_pre_reload_split ()
21477 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21478 : : STRIP_UNARY (operands[4]))
21479 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21480 : : STRIP_UNARY (operands[4]))
21481 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21482 : : STRIP_UNARY (operands[3]))
21483 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21484 : : STRIP_UNARY (operands[3])))) &&
21485 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21486 : : (TARGET_AVX)))
21487 : : return -1;
21488 : : return 6441; /* *avx512vl_vpternlogv4di_2 */
21489 : :
21490 : : case 11:
21491 : : if (!
21492 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21493 : : ((16 == 64 || TARGET_AVX512VL
21494 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21495 : : && ix86_pre_reload_split ()
21496 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21497 : : STRIP_UNARY (operands[4]))
21498 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21499 : : STRIP_UNARY (operands[4]))
21500 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21501 : : STRIP_UNARY (operands[3]))
21502 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21503 : : STRIP_UNARY (operands[3])))))
21504 : : return -1;
21505 : : return 6468; /* *avx512vl_vpternlogv2di_2 */
21506 : :
21507 : : default:
21508 : : return -1;
21509 : : }
21510 : :
21511 : : default:
21512 : : return -1;
21513 : : }
21514 : :
21515 : : case IOR:
21516 : : return recog_305 (x1, insn, pnum_clobbers);
21517 : :
21518 : : case XOR:
21519 : : return recog_304 (x1, insn, pnum_clobbers);
21520 : :
21521 : : case NOT:
21522 : : switch (pattern335 (x2))
21523 : : {
21524 : : case 0:
21525 : : switch (GET_MODE (operands[0]))
21526 : : {
21527 : : case E_V16SImode:
21528 : : if (pattern933 (x2,
21529 : : E_V16SImode) != 0
21530 : : || !(
21531 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21532 : : ((64 == 64 || TARGET_AVX512VL
21533 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21534 : : && (register_operand (operands[1], V16SImode)
21535 : : || register_operand (operands[2], V16SImode))) &&
21536 : : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21537 : : (TARGET_AVX512F && TARGET_EVEX512)))
21538 : : return -1;
21539 : : return 8058; /* *iornotv16si3 */
21540 : :
21541 : : case E_V8DImode:
21542 : : if (pattern933 (x2,
21543 : : E_V8DImode) != 0
21544 : : || !(
21545 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21546 : : ((64 == 64 || TARGET_AVX512VL
21547 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21548 : : && (register_operand (operands[1], V8DImode)
21549 : : || register_operand (operands[2], V8DImode))) &&
21550 : : #line 570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21551 : : (TARGET_AVX512F && TARGET_EVEX512)))
21552 : : return -1;
21553 : : return 8059; /* *iornotv8di3 */
21554 : :
21555 : : case E_V64QImode:
21556 : : if (pattern933 (x2,
21557 : : E_V64QImode) != 0
21558 : : || !(
21559 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21560 : : ((64 == 64 || TARGET_AVX512VL
21561 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21562 : : && (register_operand (operands[1], V64QImode)
21563 : : || register_operand (operands[2], V64QImode))) &&
21564 : : #line 571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21565 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21566 : : return -1;
21567 : : return 8060; /* *iornotv64qi3 */
21568 : :
21569 : : case E_V32QImode:
21570 : : if (pattern933 (x2,
21571 : : E_V32QImode) != 0
21572 : : || !(
21573 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21574 : : ((32 == 64 || TARGET_AVX512VL
21575 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21576 : : && (register_operand (operands[1], V32QImode)
21577 : : || register_operand (operands[2], V32QImode))) &&
21578 : : #line 571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21579 : : (TARGET_AVX)))
21580 : : return -1;
21581 : : return 8061; /* *iornotv32qi3 */
21582 : :
21583 : : case E_V16QImode:
21584 : : if (pattern933 (x2,
21585 : : E_V16QImode) != 0
21586 : : || !
21587 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21588 : : ((16 == 64 || TARGET_AVX512VL
21589 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21590 : : && (register_operand (operands[1], V16QImode)
21591 : : || register_operand (operands[2], V16QImode))))
21592 : : return -1;
21593 : : return 8062; /* *iornotv16qi3 */
21594 : :
21595 : : case E_V32HImode:
21596 : : if (pattern933 (x2,
21597 : : E_V32HImode) != 0
21598 : : || !(
21599 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21600 : : ((64 == 64 || TARGET_AVX512VL
21601 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21602 : : && (register_operand (operands[1], V32HImode)
21603 : : || register_operand (operands[2], V32HImode))) &&
21604 : : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21605 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21606 : : return -1;
21607 : : return 8063; /* *iornotv32hi3 */
21608 : :
21609 : : case E_V16HImode:
21610 : : if (pattern933 (x2,
21611 : : E_V16HImode) != 0
21612 : : || !(
21613 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21614 : : ((32 == 64 || TARGET_AVX512VL
21615 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21616 : : && (register_operand (operands[1], V16HImode)
21617 : : || register_operand (operands[2], V16HImode))) &&
21618 : : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21619 : : (TARGET_AVX)))
21620 : : return -1;
21621 : : return 8064; /* *iornotv16hi3 */
21622 : :
21623 : : case E_V8HImode:
21624 : : if (pattern933 (x2,
21625 : : E_V8HImode) != 0
21626 : : || !
21627 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21628 : : ((16 == 64 || TARGET_AVX512VL
21629 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21630 : : && (register_operand (operands[1], V8HImode)
21631 : : || register_operand (operands[2], V8HImode))))
21632 : : return -1;
21633 : : return 8065; /* *iornotv8hi3 */
21634 : :
21635 : : case E_V8SImode:
21636 : : if (pattern933 (x2,
21637 : : E_V8SImode) != 0
21638 : : || !(
21639 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21640 : : ((32 == 64 || TARGET_AVX512VL
21641 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21642 : : && (register_operand (operands[1], V8SImode)
21643 : : || register_operand (operands[2], V8SImode))) &&
21644 : : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21645 : : (TARGET_AVX)))
21646 : : return -1;
21647 : : return 8066; /* *iornotv8si3 */
21648 : :
21649 : : case E_V4SImode:
21650 : : if (pattern933 (x2,
21651 : : E_V4SImode) != 0
21652 : : || !
21653 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21654 : : ((16 == 64 || TARGET_AVX512VL
21655 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21656 : : && (register_operand (operands[1], V4SImode)
21657 : : || register_operand (operands[2], V4SImode))))
21658 : : return -1;
21659 : : return 8067; /* *iornotv4si3 */
21660 : :
21661 : : case E_V4DImode:
21662 : : if (pattern933 (x2,
21663 : : E_V4DImode) != 0
21664 : : || !(
21665 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21666 : : ((32 == 64 || TARGET_AVX512VL
21667 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21668 : : && (register_operand (operands[1], V4DImode)
21669 : : || register_operand (operands[2], V4DImode))) &&
21670 : : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21671 : : (TARGET_AVX)))
21672 : : return -1;
21673 : : return 8068; /* *iornotv4di3 */
21674 : :
21675 : : case E_V2DImode:
21676 : : if (pattern933 (x2,
21677 : : E_V2DImode) != 0
21678 : : || !
21679 : : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21680 : : ((16 == 64 || TARGET_AVX512VL
21681 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21682 : : && (register_operand (operands[1], V2DImode)
21683 : : || register_operand (operands[2], V2DImode))))
21684 : : return -1;
21685 : : return 8069; /* *iornotv2di3 */
21686 : :
21687 : : default:
21688 : : return -1;
21689 : : }
21690 : :
21691 : : case 1:
21692 : : if (!(
21693 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21694 : : ((64 == 64 || TARGET_AVX512VL
21695 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21696 : : && (register_operand (operands[1], V16SImode)
21697 : : || register_operand (operands[2], V16SImode))) &&
21698 : : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21699 : : (TARGET_AVX512F && TARGET_EVEX512)))
21700 : : return -1;
21701 : : return 8083; /* *nandv16si3 */
21702 : :
21703 : : case 2:
21704 : : if (!(
21705 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21706 : : ((64 == 64 || TARGET_AVX512VL
21707 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21708 : : && (register_operand (operands[1], V8DImode)
21709 : : || register_operand (operands[2], V8DImode))) &&
21710 : : #line 570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21711 : : (TARGET_AVX512F && TARGET_EVEX512)))
21712 : : return -1;
21713 : : return 8085; /* *nandv8di3 */
21714 : :
21715 : : case 3:
21716 : : if (!(
21717 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21718 : : ((64 == 64 || TARGET_AVX512VL
21719 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21720 : : && (register_operand (operands[1], V64QImode)
21721 : : || register_operand (operands[2], V64QImode))) &&
21722 : : #line 571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21723 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21724 : : return -1;
21725 : : return 8087; /* *nandv64qi3 */
21726 : :
21727 : : case 4:
21728 : : if (!(
21729 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21730 : : ((32 == 64 || TARGET_AVX512VL
21731 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21732 : : && (register_operand (operands[1], V32QImode)
21733 : : || register_operand (operands[2], V32QImode))) &&
21734 : : #line 571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21735 : : (TARGET_AVX)))
21736 : : return -1;
21737 : : return 8089; /* *nandv32qi3 */
21738 : :
21739 : : case 5:
21740 : : if (!
21741 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21742 : : ((16 == 64 || TARGET_AVX512VL
21743 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21744 : : && (register_operand (operands[1], V16QImode)
21745 : : || register_operand (operands[2], V16QImode))))
21746 : : return -1;
21747 : : return 8091; /* *nandv16qi3 */
21748 : :
21749 : : case 6:
21750 : : if (!(
21751 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21752 : : ((64 == 64 || TARGET_AVX512VL
21753 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21754 : : && (register_operand (operands[1], V32HImode)
21755 : : || register_operand (operands[2], V32HImode))) &&
21756 : : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21757 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21758 : : return -1;
21759 : : return 8093; /* *nandv32hi3 */
21760 : :
21761 : : case 7:
21762 : : if (!(
21763 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21764 : : ((32 == 64 || TARGET_AVX512VL
21765 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21766 : : && (register_operand (operands[1], V16HImode)
21767 : : || register_operand (operands[2], V16HImode))) &&
21768 : : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21769 : : (TARGET_AVX)))
21770 : : return -1;
21771 : : return 8095; /* *nandv16hi3 */
21772 : :
21773 : : case 8:
21774 : : if (!
21775 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21776 : : ((16 == 64 || TARGET_AVX512VL
21777 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21778 : : && (register_operand (operands[1], V8HImode)
21779 : : || register_operand (operands[2], V8HImode))))
21780 : : return -1;
21781 : : return 8097; /* *nandv8hi3 */
21782 : :
21783 : : case 9:
21784 : : if (!(
21785 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21786 : : ((32 == 64 || TARGET_AVX512VL
21787 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21788 : : && (register_operand (operands[1], V8SImode)
21789 : : || register_operand (operands[2], V8SImode))) &&
21790 : : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21791 : : (TARGET_AVX)))
21792 : : return -1;
21793 : : return 8099; /* *nandv8si3 */
21794 : :
21795 : : case 10:
21796 : : if (!
21797 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21798 : : ((16 == 64 || TARGET_AVX512VL
21799 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21800 : : && (register_operand (operands[1], V4SImode)
21801 : : || register_operand (operands[2], V4SImode))))
21802 : : return -1;
21803 : : return 8101; /* *nandv4si3 */
21804 : :
21805 : : case 11:
21806 : : if (!(
21807 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21808 : : ((32 == 64 || TARGET_AVX512VL
21809 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21810 : : && (register_operand (operands[1], V4DImode)
21811 : : || register_operand (operands[2], V4DImode))) &&
21812 : : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21813 : : (TARGET_AVX)))
21814 : : return -1;
21815 : : return 8103; /* *nandv4di3 */
21816 : :
21817 : : case 12:
21818 : : if (!
21819 : : #line 19021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21820 : : ((16 == 64 || TARGET_AVX512VL
21821 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
21822 : : && (register_operand (operands[1], V2DImode)
21823 : : || register_operand (operands[2], V2DImode))))
21824 : : return -1;
21825 : : return 8105; /* *nandv2di3 */
21826 : :
21827 : : default:
21828 : : return -1;
21829 : : }
21830 : :
21831 : : default:
21832 : : return -1;
21833 : : }
21834 : : }
21835 : :
21836 : : int
21837 : : recog_338 (rtx x1 ATTRIBUTE_UNUSED,
21838 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21839 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21840 : : {
21841 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21842 : : rtx x2, x3, x4;
21843 : : int res ATTRIBUTE_UNUSED;
21844 : : x2 = XEXP (x1, 0);
21845 : : operands[0] = x2;
21846 : : x3 = XEXP (x1, 1);
21847 : : x4 = XEXP (x3, 0);
21848 : : operands[1] = x4;
21849 : : switch (GET_MODE (operands[0]))
21850 : : {
21851 : : case E_V32HFmode:
21852 : : if (!register_operand (operands[0], E_V32HFmode)
21853 : : || GET_MODE (x3) != E_V32HFmode
21854 : : || !vector_operand (operands[1], E_V32HFmode)
21855 : : || !(
21856 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21857 : : (TARGET_SSE && 1 && 1) &&
21858 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21859 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))
21860 : : return -1;
21861 : : return 2904; /* avx512fp16_sqrtv32hf2 */
21862 : :
21863 : : case E_V16HFmode:
21864 : : if (!register_operand (operands[0], E_V16HFmode)
21865 : : || GET_MODE (x3) != E_V16HFmode
21866 : : || !vector_operand (operands[1], E_V16HFmode)
21867 : : || !(
21868 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21869 : : (TARGET_SSE && 1 && 1) &&
21870 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21871 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21872 : : return -1;
21873 : : return 2908; /* avx512fp16_sqrtv16hf2 */
21874 : :
21875 : : case E_V8HFmode:
21876 : : if (!register_operand (operands[0], E_V8HFmode)
21877 : : || GET_MODE (x3) != E_V8HFmode
21878 : : || !vector_operand (operands[1], E_V8HFmode)
21879 : : || !(
21880 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21881 : : (TARGET_SSE && 1 && 1) &&
21882 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21883 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21884 : : return -1;
21885 : : return 2912; /* avx512fp16_sqrtv8hf2 */
21886 : :
21887 : : case E_V16SFmode:
21888 : : if (!register_operand (operands[0], E_V16SFmode)
21889 : : || GET_MODE (x3) != E_V16SFmode
21890 : : || !vector_operand (operands[1], E_V16SFmode)
21891 : : || !(
21892 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21893 : : (TARGET_SSE && 1 && 1) &&
21894 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21895 : : (TARGET_AVX512F && TARGET_EVEX512)))
21896 : : return -1;
21897 : : return 2914; /* avx512f_sqrtv16sf2 */
21898 : :
21899 : : case E_V8SFmode:
21900 : : if (!register_operand (operands[0], E_V8SFmode)
21901 : : || GET_MODE (x3) != E_V8SFmode
21902 : : || !vector_operand (operands[1], E_V8SFmode)
21903 : : || !(
21904 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21905 : : (TARGET_SSE && 1 && 1) &&
21906 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21907 : : (TARGET_AVX)))
21908 : : return -1;
21909 : : return 2918; /* avx_sqrtv8sf2 */
21910 : :
21911 : : case E_V4SFmode:
21912 : : if (!register_operand (operands[0], E_V4SFmode)
21913 : : || GET_MODE (x3) != E_V4SFmode
21914 : : || !vector_operand (operands[1], E_V4SFmode)
21915 : : || !
21916 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21917 : : (TARGET_SSE && 1 && 1))
21918 : : return -1;
21919 : : return 2922; /* sse_sqrtv4sf2 */
21920 : :
21921 : : case E_V8DFmode:
21922 : : if (!register_operand (operands[0], E_V8DFmode)
21923 : : || GET_MODE (x3) != E_V8DFmode
21924 : : || !vector_operand (operands[1], E_V8DFmode)
21925 : : || !(
21926 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21927 : : (TARGET_SSE && 1 && 1) &&
21928 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21929 : : (TARGET_AVX512F && TARGET_EVEX512)))
21930 : : return -1;
21931 : : return 2924; /* avx512f_sqrtv8df2 */
21932 : :
21933 : : case E_V4DFmode:
21934 : : if (!register_operand (operands[0], E_V4DFmode)
21935 : : || GET_MODE (x3) != E_V4DFmode
21936 : : || !vector_operand (operands[1], E_V4DFmode)
21937 : : || !(
21938 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21939 : : (TARGET_SSE && 1 && 1) &&
21940 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21941 : : (TARGET_AVX)))
21942 : : return -1;
21943 : : return 2928; /* avx_sqrtv4df2 */
21944 : :
21945 : : case E_V2DFmode:
21946 : : if (!register_operand (operands[0], E_V2DFmode)
21947 : : || GET_MODE (x3) != E_V2DFmode
21948 : : || !vector_operand (operands[1], E_V2DFmode)
21949 : : || !(
21950 : : #line 3065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21951 : : (TARGET_SSE && 1 && 1) &&
21952 : : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21953 : : (TARGET_SSE2)))
21954 : : return -1;
21955 : : return 2932; /* sse2_sqrtv2df2 */
21956 : :
21957 : : case E_V32BFmode:
21958 : : if (!register_operand (operands[0], E_V32BFmode)
21959 : : || GET_MODE (x3) != E_V32BFmode
21960 : : || !nonimmediate_operand (operands[1], E_V32BFmode)
21961 : : || !(
21962 : : #line 32387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21963 : : (TARGET_AVX10_2_256) &&
21964 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21965 : : (TARGET_AVX10_2_512)))
21966 : : return -1;
21967 : : return 10680; /* avx10_2_sqrtnepbf16_v32bf */
21968 : :
21969 : : case E_V16BFmode:
21970 : : if (!register_operand (operands[0], E_V16BFmode)
21971 : : || GET_MODE (x3) != E_V16BFmode
21972 : : || !nonimmediate_operand (operands[1], E_V16BFmode)
21973 : : || !
21974 : : #line 32387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21975 : : (TARGET_AVX10_2_256))
21976 : : return -1;
21977 : : return 10682; /* avx10_2_sqrtnepbf16_v16bf */
21978 : :
21979 : : case E_V8BFmode:
21980 : : if (!register_operand (operands[0], E_V8BFmode)
21981 : : || GET_MODE (x3) != E_V8BFmode
21982 : : || !nonimmediate_operand (operands[1], E_V8BFmode)
21983 : : || !
21984 : : #line 32387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21985 : : (TARGET_AVX10_2_256))
21986 : : return -1;
21987 : : return 10684; /* avx10_2_sqrtnepbf16_v8bf */
21988 : :
21989 : : default:
21990 : : return -1;
21991 : : }
21992 : : }
21993 : :
21994 : : int
21995 : : recog_344 (rtx x1 ATTRIBUTE_UNUSED,
21996 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21997 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21998 : : {
21999 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22000 : : rtx x2, x3, x4, x5, x6;
22001 : : int res ATTRIBUTE_UNUSED;
22002 : : x2 = XEXP (x1, 0);
22003 : : operands[0] = x2;
22004 : : x3 = XEXP (x1, 1);
22005 : : switch (GET_CODE (x3))
22006 : : {
22007 : : case AND:
22008 : : res = recog_303 (x1, insn, pnum_clobbers);
22009 : : if (res >= 0)
22010 : : return res;
22011 : : break;
22012 : :
22013 : : case IOR:
22014 : : res = recog_315 (x1, insn, pnum_clobbers);
22015 : : if (res >= 0)
22016 : : return res;
22017 : : break;
22018 : :
22019 : : case XOR:
22020 : : res = recog_308 (x1, insn, pnum_clobbers);
22021 : : if (res >= 0)
22022 : : return res;
22023 : : break;
22024 : :
22025 : : case NOT:
22026 : : x4 = XEXP (x3, 0);
22027 : : if (GET_CODE (x4) == XOR)
22028 : : {
22029 : : x5 = XEXP (x4, 0);
22030 : : operands[1] = x5;
22031 : : x6 = XEXP (x4, 1);
22032 : : operands[2] = x6;
22033 : : switch (GET_MODE (operands[0]))
22034 : : {
22035 : : case E_V16SImode:
22036 : : if (pattern809 (x3,
22037 : : E_V16SImode) == 0
22038 : : && (
22039 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22040 : : ((64 == 64 || TARGET_AVX512VL
22041 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22042 : : && (register_operand (operands[1], V16SImode)
22043 : : || register_operand (operands[2], V16SImode))) &&
22044 : : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22045 : : (TARGET_AVX512F && TARGET_EVEX512)))
22046 : : return 8070; /* *xnorv16si3 */
22047 : : break;
22048 : :
22049 : : case E_V8DImode:
22050 : : if (pattern809 (x3,
22051 : : E_V8DImode) == 0
22052 : : && (
22053 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22054 : : ((64 == 64 || TARGET_AVX512VL
22055 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22056 : : && (register_operand (operands[1], V8DImode)
22057 : : || register_operand (operands[2], V8DImode))) &&
22058 : : #line 570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22059 : : (TARGET_AVX512F && TARGET_EVEX512)))
22060 : : return 8071; /* *xnorv8di3 */
22061 : : break;
22062 : :
22063 : : case E_V64QImode:
22064 : : if (pattern809 (x3,
22065 : : E_V64QImode) == 0
22066 : : && (
22067 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22068 : : ((64 == 64 || TARGET_AVX512VL
22069 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22070 : : && (register_operand (operands[1], V64QImode)
22071 : : || register_operand (operands[2], V64QImode))) &&
22072 : : #line 571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22073 : : (TARGET_AVX512BW && TARGET_EVEX512)))
22074 : : return 8072; /* *xnorv64qi3 */
22075 : : break;
22076 : :
22077 : : case E_V32QImode:
22078 : : if (pattern809 (x3,
22079 : : E_V32QImode) == 0
22080 : : && (
22081 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22082 : : ((32 == 64 || TARGET_AVX512VL
22083 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22084 : : && (register_operand (operands[1], V32QImode)
22085 : : || register_operand (operands[2], V32QImode))) &&
22086 : : #line 571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22087 : : (TARGET_AVX)))
22088 : : return 8073; /* *xnorv32qi3 */
22089 : : break;
22090 : :
22091 : : case E_V16QImode:
22092 : : if (pattern809 (x3,
22093 : : E_V16QImode) == 0
22094 : : &&
22095 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22096 : : ((16 == 64 || TARGET_AVX512VL
22097 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22098 : : && (register_operand (operands[1], V16QImode)
22099 : : || register_operand (operands[2], V16QImode))))
22100 : : return 8074; /* *xnorv16qi3 */
22101 : : break;
22102 : :
22103 : : case E_V32HImode:
22104 : : if (pattern809 (x3,
22105 : : E_V32HImode) == 0
22106 : : && (
22107 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22108 : : ((64 == 64 || TARGET_AVX512VL
22109 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22110 : : && (register_operand (operands[1], V32HImode)
22111 : : || register_operand (operands[2], V32HImode))) &&
22112 : : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22113 : : (TARGET_AVX512BW && TARGET_EVEX512)))
22114 : : return 8075; /* *xnorv32hi3 */
22115 : : break;
22116 : :
22117 : : case E_V16HImode:
22118 : : if (pattern809 (x3,
22119 : : E_V16HImode) == 0
22120 : : && (
22121 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22122 : : ((32 == 64 || TARGET_AVX512VL
22123 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22124 : : && (register_operand (operands[1], V16HImode)
22125 : : || register_operand (operands[2], V16HImode))) &&
22126 : : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22127 : : (TARGET_AVX)))
22128 : : return 8076; /* *xnorv16hi3 */
22129 : : break;
22130 : :
22131 : : case E_V8HImode:
22132 : : if (pattern809 (x3,
22133 : : E_V8HImode) == 0
22134 : : &&
22135 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22136 : : ((16 == 64 || TARGET_AVX512VL
22137 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22138 : : && (register_operand (operands[1], V8HImode)
22139 : : || register_operand (operands[2], V8HImode))))
22140 : : return 8077; /* *xnorv8hi3 */
22141 : : break;
22142 : :
22143 : : case E_V8SImode:
22144 : : if (pattern809 (x3,
22145 : : E_V8SImode) == 0
22146 : : && (
22147 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22148 : : ((32 == 64 || TARGET_AVX512VL
22149 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22150 : : && (register_operand (operands[1], V8SImode)
22151 : : || register_operand (operands[2], V8SImode))) &&
22152 : : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22153 : : (TARGET_AVX)))
22154 : : return 8078; /* *xnorv8si3 */
22155 : : break;
22156 : :
22157 : : case E_V4SImode:
22158 : : if (pattern809 (x3,
22159 : : E_V4SImode) == 0
22160 : : &&
22161 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22162 : : ((16 == 64 || TARGET_AVX512VL
22163 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22164 : : && (register_operand (operands[1], V4SImode)
22165 : : || register_operand (operands[2], V4SImode))))
22166 : : return 8079; /* *xnorv4si3 */
22167 : : break;
22168 : :
22169 : : case E_V4DImode:
22170 : : if (pattern809 (x3,
22171 : : E_V4DImode) == 0
22172 : : && (
22173 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22174 : : ((32 == 64 || TARGET_AVX512VL
22175 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22176 : : && (register_operand (operands[1], V4DImode)
22177 : : || register_operand (operands[2], V4DImode))) &&
22178 : : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22179 : : (TARGET_AVX)))
22180 : : return 8080; /* *xnorv4di3 */
22181 : : break;
22182 : :
22183 : : case E_V2DImode:
22184 : : if (pattern809 (x3,
22185 : : E_V2DImode) == 0
22186 : : &&
22187 : : #line 18990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22188 : : ((16 == 64 || TARGET_AVX512VL
22189 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22190 : : && (register_operand (operands[1], V2DImode)
22191 : : || register_operand (operands[2], V2DImode))))
22192 : : return 8081; /* *xnorv2di3 */
22193 : : break;
22194 : :
22195 : : default:
22196 : : break;
22197 : : }
22198 : : }
22199 : : break;
22200 : :
22201 : : default:
22202 : : break;
22203 : : }
22204 : : operands[1] = x3;
22205 : : switch (pattern192 ())
22206 : : {
22207 : : case 0:
22208 : : if ((
22209 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22210 : : ((64 == 64 || TARGET_AVX512VL
22211 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22212 : : && ix86_pre_reload_split ()) &&
22213 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22214 : : (TARGET_AVX512F && TARGET_EVEX512)))
22215 : : return 5504; /* *avx512bw_vpternlogv32hf_0 */
22216 : : break;
22217 : :
22218 : : case 1:
22219 : : if ((
22220 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22221 : : ((32 == 64 || TARGET_AVX512VL
22222 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22223 : : && ix86_pre_reload_split ()) &&
22224 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22225 : : (TARGET_AVX)))
22226 : : return 5505; /* *avx512vl_vpternlogv16hf_0 */
22227 : : break;
22228 : :
22229 : : case 2:
22230 : : if (
22231 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22232 : : ((16 == 64 || TARGET_AVX512VL
22233 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22234 : : && ix86_pre_reload_split ()))
22235 : : return 5506; /* *avx512fp16_vpternlogv8hf_0 */
22236 : : break;
22237 : :
22238 : : case 3:
22239 : : if ((
22240 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22241 : : ((64 == 64 || TARGET_AVX512VL
22242 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22243 : : && ix86_pre_reload_split ()) &&
22244 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22245 : : (TARGET_AVX512F && TARGET_EVEX512)))
22246 : : return 5507; /* *avx512bw_vpternlogv32bf_0 */
22247 : : break;
22248 : :
22249 : : case 4:
22250 : : if ((
22251 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22252 : : ((32 == 64 || TARGET_AVX512VL
22253 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22254 : : && ix86_pre_reload_split ()) &&
22255 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22256 : : (TARGET_AVX)))
22257 : : return 5508; /* *avx512vl_vpternlogv16bf_0 */
22258 : : break;
22259 : :
22260 : : case 5:
22261 : : if (
22262 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22263 : : ((16 == 64 || TARGET_AVX512VL
22264 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22265 : : && ix86_pre_reload_split ()))
22266 : : return 5509; /* *avx512vl_vpternlogv8bf_0 */
22267 : : break;
22268 : :
22269 : : case 6:
22270 : : if ((
22271 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22272 : : ((64 == 64 || TARGET_AVX512VL
22273 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22274 : : && ix86_pre_reload_split ()) &&
22275 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22276 : : (TARGET_AVX512F && TARGET_EVEX512)))
22277 : : return 5510; /* *avx512f_vpternlogv16sf_0 */
22278 : : break;
22279 : :
22280 : : case 7:
22281 : : if ((
22282 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22283 : : ((32 == 64 || TARGET_AVX512VL
22284 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22285 : : && ix86_pre_reload_split ()) &&
22286 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22287 : : (TARGET_AVX)))
22288 : : return 5511; /* *avx512vl_vpternlogv8sf_0 */
22289 : : break;
22290 : :
22291 : : case 8:
22292 : : if (
22293 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22294 : : ((16 == 64 || TARGET_AVX512VL
22295 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22296 : : && ix86_pre_reload_split ()))
22297 : : return 5512; /* *avx512vl_vpternlogv4sf_0 */
22298 : : break;
22299 : :
22300 : : case 9:
22301 : : if ((
22302 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22303 : : ((64 == 64 || TARGET_AVX512VL
22304 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22305 : : && ix86_pre_reload_split ()) &&
22306 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22307 : : (TARGET_AVX512F && TARGET_EVEX512)))
22308 : : return 5513; /* *avx512f_vpternlogv8df_0 */
22309 : : break;
22310 : :
22311 : : case 10:
22312 : : if ((
22313 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22314 : : ((32 == 64 || TARGET_AVX512VL
22315 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22316 : : && ix86_pre_reload_split ()) &&
22317 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22318 : : (TARGET_AVX)))
22319 : : return 5514; /* *avx512vl_vpternlogv4df_0 */
22320 : : break;
22321 : :
22322 : : case 11:
22323 : : if ((
22324 : : #line 13747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22325 : : ((16 == 64 || TARGET_AVX512VL
22326 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
22327 : : && ix86_pre_reload_split ()) &&
22328 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22329 : : (TARGET_SSE2)))
22330 : : return 5515; /* *avx512vl_vpternlogv2df_0 */
22331 : : break;
22332 : :
22333 : : default:
22334 : : break;
22335 : : }
22336 : : switch (GET_CODE (x3))
22337 : : {
22338 : : case AND:
22339 : : return recog_314 (x1, insn, pnum_clobbers);
22340 : :
22341 : : case IOR:
22342 : : return recog_313 (x1, insn, pnum_clobbers);
22343 : :
22344 : : case XOR:
22345 : : return recog_312 (x1, insn, pnum_clobbers);
22346 : :
22347 : : default:
22348 : : return -1;
22349 : : }
22350 : : }
22351 : :
22352 : : int
22353 : : recog_357 (rtx x1 ATTRIBUTE_UNUSED,
22354 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22355 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22356 : : {
22357 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22358 : : rtx x2, x3, x4, x5, x6;
22359 : : int res ATTRIBUTE_UNUSED;
22360 : : x2 = XVECEXP (x1, 0, 1);
22361 : : if (GET_CODE (x2) != USE)
22362 : : return -1;
22363 : : x3 = XEXP (x2, 0);
22364 : : if (GET_CODE (x3) != LABEL_REF)
22365 : : return -1;
22366 : : x4 = XVECEXP (x1, 0, 0);
22367 : : x5 = XEXP (x4, 1);
22368 : : operands[0] = x5;
22369 : : x6 = XEXP (x3, 0);
22370 : : operands[1] = x6;
22371 : : switch (GET_MODE (operands[0]))
22372 : : {
22373 : : case E_SImode:
22374 : : if (!indirect_branch_operand (operands[0], E_SImode)
22375 : : || !
22376 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22377 : : (word_mode == SImode))
22378 : : return -1;
22379 : : return 1462; /* *tablejump_1 */
22380 : :
22381 : : case E_DImode:
22382 : : if (!indirect_branch_operand (operands[0], E_DImode)
22383 : : || !
22384 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22385 : : (word_mode == DImode))
22386 : : return -1;
22387 : : return 1463; /* *tablejump_1 */
22388 : :
22389 : : default:
22390 : : return -1;
22391 : : }
22392 : : }
22393 : :
22394 : : int
22395 : : recog_360 (rtx x1 ATTRIBUTE_UNUSED,
22396 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22397 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22398 : : {
22399 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22400 : : rtx x2, x3, x4, x5, x6;
22401 : : int res ATTRIBUTE_UNUSED;
22402 : : x2 = XVECEXP (x1, 0, 0);
22403 : : x3 = XEXP (x2, 1);
22404 : : x4 = XEXP (x3, 1);
22405 : : if (GET_CODE (x4) != CONST_INT)
22406 : : return -1;
22407 : : x5 = XVECEXP (x1, 0, 1);
22408 : : if (pattern227 (x5,
22409 : : E_CCmode,
22410 : : 17) != 0)
22411 : : return -1;
22412 : : x6 = XEXP (x3, 0);
22413 : : operands[1] = x6;
22414 : : res = recog_359 (x1, insn, pnum_clobbers);
22415 : : if (res >= 0)
22416 : : return res;
22417 : : if (XWINT (x4, 0) != 8L
22418 : : || pattern717 (x2) != 0)
22419 : : return -1;
22420 : : switch (pattern1418 (x2))
22421 : : {
22422 : : case 0:
22423 : : if (!
22424 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22425 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
22426 : : return -1;
22427 : : return 800; /* *andqi_exthi_3 */
22428 : :
22429 : : case 1:
22430 : : if (!
22431 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22432 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
22433 : : return -1;
22434 : : return 803; /* *andqi_extsi_3 */
22435 : :
22436 : : case 2:
22437 : : if (!(
22438 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22439 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
22440 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22441 : : (TARGET_64BIT)))
22442 : : return -1;
22443 : : return 806; /* *andqi_extdi_3 */
22444 : :
22445 : : case 3:
22446 : : if (!
22447 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22448 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
22449 : : return -1;
22450 : : return 801; /* *iorqi_exthi_3 */
22451 : :
22452 : : case 4:
22453 : : if (!
22454 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22455 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
22456 : : return -1;
22457 : : return 804; /* *iorqi_extsi_3 */
22458 : :
22459 : : case 5:
22460 : : if (!(
22461 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22462 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
22463 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22464 : : (TARGET_64BIT)))
22465 : : return -1;
22466 : : return 807; /* *iorqi_extdi_3 */
22467 : :
22468 : : case 6:
22469 : : if (!
22470 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22471 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
22472 : : return -1;
22473 : : return 802; /* *xorqi_exthi_3 */
22474 : :
22475 : : case 7:
22476 : : if (!
22477 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22478 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
22479 : : return -1;
22480 : : return 805; /* *xorqi_extsi_3 */
22481 : :
22482 : : case 8:
22483 : : if (!(
22484 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22485 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
22486 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22487 : : (TARGET_64BIT)))
22488 : : return -1;
22489 : : return 808; /* *xorqi_extdi_3 */
22490 : :
22491 : : default:
22492 : : return -1;
22493 : : }
22494 : : }
22495 : :
22496 : : int
22497 : : recog_365 (rtx x1 ATTRIBUTE_UNUSED,
22498 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22499 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22500 : : {
22501 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22502 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22503 : : int res ATTRIBUTE_UNUSED;
22504 : : x2 = XVECEXP (x1, 0, 0);
22505 : : x3 = XEXP (x2, 1);
22506 : : switch (XINT (x3, 1))
22507 : : {
22508 : : case 106:
22509 : : if (pattern542 (x1) != 0)
22510 : : return -1;
22511 : : x4 = XEXP (x2, 0);
22512 : : operands[0] = x4;
22513 : : if (!register_operand (operands[0], E_DImode))
22514 : : return -1;
22515 : : x5 = XVECEXP (x3, 0, 0);
22516 : : operands[1] = x5;
22517 : : if (!pop_operand (operands[1], E_TImode))
22518 : : return -1;
22519 : : x6 = XVECEXP (x1, 0, 1);
22520 : : x7 = XEXP (x6, 0);
22521 : : operands[2] = x7;
22522 : : if (!register_operand (operands[2], E_DImode)
22523 : : || !
22524 : : #line 3901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22525 : : (TARGET_APX_PUSH2POP2))
22526 : : return -1;
22527 : : return 160; /* pop2_di */
22528 : :
22529 : : case 14:
22530 : : if (GET_MODE (x3) != E_SImode)
22531 : : return -1;
22532 : : x6 = XVECEXP (x1, 0, 1);
22533 : : if (pattern351 (x6) != 0)
22534 : : return -1;
22535 : : x4 = XEXP (x2, 0);
22536 : : operands[0] = x4;
22537 : : if (!register_operand (operands[0], E_SImode))
22538 : : return -1;
22539 : : x5 = XVECEXP (x3, 0, 0);
22540 : : switch (GET_CODE (x5))
22541 : : {
22542 : : case CONST_INT:
22543 : : if (XWINT (x5, 0) != 0L
22544 : : || !
22545 : : #line 20780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22546 : : (!TARGET_64BIT))
22547 : : return -1;
22548 : : return 1498; /* *set_got */
22549 : :
22550 : : case LABEL_REF:
22551 : : x8 = XEXP (x5, 0);
22552 : : operands[1] = x8;
22553 : : if (!
22554 : : #line 20802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22555 : : (!TARGET_64BIT))
22556 : : return -1;
22557 : : return 1499; /* *set_got_labelled */
22558 : :
22559 : : default:
22560 : : return -1;
22561 : : }
22562 : :
22563 : : case 97:
22564 : : switch (pattern545 (x1))
22565 : : {
22566 : : case 0:
22567 : : if (!
22568 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22569 : : (TARGET_BMI))
22570 : : return -1;
22571 : : return 1550; /* tzcnt_si */
22572 : :
22573 : : case 1:
22574 : : if (!(((
22575 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22576 : : (TARGET_64BIT) &&
22577 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22578 : : (TARGET_BMI)) &&
22579 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22580 : : (TARGET_64BIT)) &&
22581 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22582 : : (TARGET_BMI)))
22583 : : return -1;
22584 : : return 1552; /* tzcnt_di */
22585 : :
22586 : : case 2:
22587 : : if (!(
22588 : : #line 21741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22589 : : (true) &&
22590 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22591 : : (TARGET_BMI)))
22592 : : return -1;
22593 : : return 1563; /* tzcnt_hi */
22594 : :
22595 : : case 3:
22596 : : if ((
22597 : : #line 21715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22598 : : (TARGET_APX_NF) &&
22599 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22600 : : (TARGET_BMI)))
22601 : : return 1554; /* *tzcnt_si_falsedep_nf */
22602 : : if (pnum_clobbers == NULL
22603 : : || !
22604 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22605 : : (TARGET_BMI))
22606 : : return -1;
22607 : : *pnum_clobbers = 1;
22608 : : return 1558; /* *tzcnt_si_falsedep */
22609 : :
22610 : : case 4:
22611 : : if ((
22612 : : #line 21715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22613 : : (TARGET_APX_NF) && ((
22614 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22615 : : (TARGET_64BIT) &&
22616 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22617 : : (TARGET_BMI)) &&
22618 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22619 : : (TARGET_64BIT))))
22620 : : return 1556; /* *tzcnt_di_falsedep_nf */
22621 : : if (pnum_clobbers == NULL
22622 : : || !((
22623 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22624 : : (TARGET_64BIT) &&
22625 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22626 : : (TARGET_BMI)) &&
22627 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22628 : : (TARGET_64BIT)))
22629 : : return -1;
22630 : : *pnum_clobbers = 1;
22631 : : return 1560; /* *tzcnt_di_falsedep */
22632 : :
22633 : : default:
22634 : : return -1;
22635 : : }
22636 : :
22637 : : case 96:
22638 : : switch (pattern545 (x1))
22639 : : {
22640 : : case 0:
22641 : : if (!
22642 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22643 : : (TARGET_LZCNT))
22644 : : return -1;
22645 : : return 1551; /* lzcnt_si */
22646 : :
22647 : : case 1:
22648 : : if (!(((
22649 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22650 : : (TARGET_64BIT) &&
22651 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22652 : : (TARGET_LZCNT)) &&
22653 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22654 : : (TARGET_64BIT)) &&
22655 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22656 : : (TARGET_LZCNT)))
22657 : : return -1;
22658 : : return 1553; /* lzcnt_di */
22659 : :
22660 : : case 2:
22661 : : if (!(
22662 : : #line 21741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22663 : : (true) &&
22664 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22665 : : (TARGET_LZCNT)))
22666 : : return -1;
22667 : : return 1565; /* lzcnt_hi */
22668 : :
22669 : : case 3:
22670 : : if ((
22671 : : #line 21715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22672 : : (TARGET_APX_NF) &&
22673 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22674 : : (TARGET_LZCNT)))
22675 : : return 1555; /* *lzcnt_si_falsedep_nf */
22676 : : if (pnum_clobbers == NULL
22677 : : || !
22678 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22679 : : (TARGET_LZCNT))
22680 : : return -1;
22681 : : *pnum_clobbers = 1;
22682 : : return 1559; /* *lzcnt_si_falsedep */
22683 : :
22684 : : case 4:
22685 : : if ((
22686 : : #line 21715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22687 : : (TARGET_APX_NF) && ((
22688 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22689 : : (TARGET_64BIT) &&
22690 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22691 : : (TARGET_LZCNT)) &&
22692 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22693 : : (TARGET_64BIT))))
22694 : : return 1557; /* *lzcnt_di_falsedep_nf */
22695 : : if (pnum_clobbers == NULL
22696 : : || !((
22697 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22698 : : (TARGET_64BIT) &&
22699 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22700 : : (TARGET_LZCNT)) &&
22701 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22702 : : (TARGET_64BIT)))
22703 : : return -1;
22704 : : *pnum_clobbers = 1;
22705 : : return 1561; /* *lzcnt_di_falsedep */
22706 : :
22707 : : default:
22708 : : return -1;
22709 : : }
22710 : :
22711 : : case 27:
22712 : : if (GET_MODE (x3) != E_CCmode)
22713 : : return -1;
22714 : : x4 = XEXP (x2, 0);
22715 : : if (GET_CODE (x4) != REG
22716 : : || REGNO (x4) != 17
22717 : : || GET_MODE (x4) != E_CCmode)
22718 : : return -1;
22719 : : x6 = XVECEXP (x1, 0, 1);
22720 : : if (GET_CODE (x6) != CLOBBER)
22721 : : return -1;
22722 : : x5 = XVECEXP (x3, 0, 0);
22723 : : operands[0] = x5;
22724 : : if (!register_operand (operands[0], E_HImode))
22725 : : return -1;
22726 : : x7 = XEXP (x6, 0);
22727 : : if (!rtx_equal_p (x7, operands[0]))
22728 : : return -1;
22729 : : return 1641; /* parityhi2_cmp */
22730 : :
22731 : : case 80:
22732 : : if (pattern546 (x1,
22733 : : 81) != 0
22734 : : || !
22735 : : #line 23931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22736 : : (TARGET_USE_FANCY_MATH_387
22737 : : && flag_unsafe_math_optimizations))
22738 : : return -1;
22739 : : return 1713; /* sincosxf3 */
22740 : :
22741 : : case 82:
22742 : : if (pattern546 (x1,
22743 : : 83) != 0
22744 : : || !
22745 : : #line 24446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22746 : : (TARGET_USE_FANCY_MATH_387
22747 : : && flag_unsafe_math_optimizations))
22748 : : return -1;
22749 : : return 1718; /* fxtractxf3_i387 */
22750 : :
22751 : : case 70:
22752 : : if (GET_MODE (x3) != E_DImode)
22753 : : return -1;
22754 : : x6 = XVECEXP (x1, 0, 1);
22755 : : if (GET_CODE (x6) != CLOBBER)
22756 : : return -1;
22757 : : x4 = XEXP (x2, 0);
22758 : : operands[0] = x4;
22759 : : if (!nonimmediate_operand (operands[0], E_DImode))
22760 : : return -1;
22761 : : x5 = XVECEXP (x3, 0, 0);
22762 : : operands[1] = x5;
22763 : : if (!register_operand (operands[1], E_XFmode))
22764 : : return -1;
22765 : : x7 = XEXP (x6, 0);
22766 : : operands[2] = x7;
22767 : : if (!scratch_operand (operands[2], E_XFmode)
22768 : : || !
22769 : : #line 24992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22770 : : (TARGET_USE_FANCY_MATH_387))
22771 : : return -1;
22772 : : return 1727; /* lrintxfdi2 */
22773 : :
22774 : : case 74:
22775 : : if (pattern547 (x1) != 0
22776 : : || !
22777 : : #line 25091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22778 : : (TARGET_USE_FANCY_MATH_387
22779 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22780 : : && ix86_pre_reload_split ()))
22781 : : return -1;
22782 : : return 1730; /* frndintxf2_roundeven */
22783 : :
22784 : : case 75:
22785 : : if (pattern547 (x1) != 0
22786 : : || !
22787 : : #line 25091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22788 : : (TARGET_USE_FANCY_MATH_387
22789 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22790 : : && ix86_pre_reload_split ()))
22791 : : return -1;
22792 : : return 1731; /* frndintxf2_floor */
22793 : :
22794 : : case 76:
22795 : : if (pattern547 (x1) != 0
22796 : : || !
22797 : : #line 25091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22798 : : (TARGET_USE_FANCY_MATH_387
22799 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22800 : : && ix86_pre_reload_split ()))
22801 : : return -1;
22802 : : return 1732; /* frndintxf2_ceil */
22803 : :
22804 : : case 77:
22805 : : if (pattern547 (x1) != 0
22806 : : || !
22807 : : #line 25091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22808 : : (TARGET_USE_FANCY_MATH_387
22809 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22810 : : && ix86_pre_reload_split ()))
22811 : : return -1;
22812 : : return 1733; /* frndintxf2_trunc */
22813 : :
22814 : : case 78:
22815 : : switch (pattern549 (x1))
22816 : : {
22817 : : case 0:
22818 : : if (!
22819 : : #line 25208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22820 : : (TARGET_USE_FANCY_MATH_387
22821 : : && flag_unsafe_math_optimizations
22822 : : && ix86_pre_reload_split ()))
22823 : : return -1;
22824 : : return 1738; /* *fisthi2_floor_1 */
22825 : :
22826 : : case 1:
22827 : : if (!
22828 : : #line 25208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22829 : : (TARGET_USE_FANCY_MATH_387
22830 : : && flag_unsafe_math_optimizations
22831 : : && ix86_pre_reload_split ()))
22832 : : return -1;
22833 : : return 1740; /* *fistsi2_floor_1 */
22834 : :
22835 : : case 2:
22836 : : if (!
22837 : : #line 25208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22838 : : (TARGET_USE_FANCY_MATH_387
22839 : : && flag_unsafe_math_optimizations
22840 : : && ix86_pre_reload_split ()))
22841 : : return -1;
22842 : : return 1742; /* *fistdi2_floor_1 */
22843 : :
22844 : : default:
22845 : : return -1;
22846 : : }
22847 : :
22848 : : case 79:
22849 : : switch (pattern549 (x1))
22850 : : {
22851 : : case 0:
22852 : : if (!
22853 : : #line 25208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22854 : : (TARGET_USE_FANCY_MATH_387
22855 : : && flag_unsafe_math_optimizations
22856 : : && ix86_pre_reload_split ()))
22857 : : return -1;
22858 : : return 1739; /* *fisthi2_ceil_1 */
22859 : :
22860 : : case 1:
22861 : : if (!
22862 : : #line 25208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22863 : : (TARGET_USE_FANCY_MATH_387
22864 : : && flag_unsafe_math_optimizations
22865 : : && ix86_pre_reload_split ()))
22866 : : return -1;
22867 : : return 1741; /* *fistsi2_ceil_1 */
22868 : :
22869 : : case 2:
22870 : : if (!
22871 : : #line 25208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22872 : : (TARGET_USE_FANCY_MATH_387
22873 : : && flag_unsafe_math_optimizations
22874 : : && ix86_pre_reload_split ()))
22875 : : return -1;
22876 : : return 1743; /* *fistdi2_ceil_1 */
22877 : :
22878 : : default:
22879 : : return -1;
22880 : : }
22881 : :
22882 : : case 18:
22883 : : if (pattern550 (x1) != 0)
22884 : : return -1;
22885 : : x5 = XVECEXP (x3, 0, 0);
22886 : : operands[1] = x5;
22887 : : switch (GET_MODE (operands[0]))
22888 : : {
22889 : : case E_SImode:
22890 : : if (!memory_operand (operands[0], E_SImode)
22891 : : || GET_MODE (x3) != E_SImode
22892 : : || !const0_operand (operands[1], E_SImode)
22893 : : || !
22894 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22895 : : (word_mode == SImode))
22896 : : return -1;
22897 : : return 1855; /* probe_stack_1_si */
22898 : :
22899 : : case E_DImode:
22900 : : if (!memory_operand (operands[0], E_DImode)
22901 : : || GET_MODE (x3) != E_DImode
22902 : : || !const0_operand (operands[1], E_DImode)
22903 : : || !
22904 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22905 : : (word_mode == DImode))
22906 : : return -1;
22907 : : return 1856; /* probe_stack_1_di */
22908 : :
22909 : : default:
22910 : : return -1;
22911 : : }
22912 : :
22913 : : case 92:
22914 : : x6 = XVECEXP (x1, 0, 1);
22915 : : if (GET_CODE (x6) != SET)
22916 : : return -1;
22917 : : if (pnum_clobbers != NULL)
22918 : : {
22919 : : res = recog_361 (x1, insn, pnum_clobbers);
22920 : : if (res >= 0)
22921 : : return res;
22922 : : }
22923 : : x4 = XEXP (x2, 0);
22924 : : operands[0] = x4;
22925 : : x5 = XVECEXP (x3, 0, 0);
22926 : : operands[3] = x5;
22927 : : x7 = XEXP (x6, 0);
22928 : : operands[1] = x7;
22929 : : x9 = XEXP (x6, 1);
22930 : : operands[2] = x9;
22931 : : switch (GET_MODE (operands[0]))
22932 : : {
22933 : : case E_SImode:
22934 : : switch (pattern1235 (x3,
22935 : : E_SImode))
22936 : : {
22937 : : case 0:
22938 : : if (general_operand (operands[2], E_SImode)
22939 : : && (
22940 : : #line 27334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22941 : : (reload_completed) &&
22942 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22943 : : (ptr_mode == SImode)))
22944 : : return 1865; /* *stack_protect_set_2_si_si */
22945 : : if (address_no_seg_operand (operands[2], E_SImode)
22946 : : &&
22947 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22948 : : (ptr_mode == SImode))
22949 : : return 1869; /* *stack_protect_set_3_si_si */
22950 : : break;
22951 : :
22952 : : case 1:
22953 : : if (general_operand (operands[2], E_DImode)
22954 : : && (
22955 : : #line 27353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22956 : : (TARGET_64BIT && reload_completed) &&
22957 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22958 : : (ptr_mode == SImode)))
22959 : : return 1867; /* *stack_protect_set_2_si_di */
22960 : : if (address_no_seg_operand (operands[2], E_DImode)
22961 : : && ((
22962 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22963 : : (ptr_mode == SImode) &&
22964 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22965 : : (TARGET_64BIT)) &&
22966 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22967 : : (TARGET_64BIT)))
22968 : : return 1870; /* *stack_protect_set_3_si_di */
22969 : : break;
22970 : :
22971 : : default:
22972 : : break;
22973 : : }
22974 : : break;
22975 : :
22976 : : case E_DImode:
22977 : : switch (pattern1235 (x3,
22978 : : E_DImode))
22979 : : {
22980 : : case 0:
22981 : : if (general_operand (operands[2], E_SImode)
22982 : : && (
22983 : : #line 27334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22984 : : (reload_completed) &&
22985 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22986 : : (ptr_mode == DImode)))
22987 : : return 1866; /* *stack_protect_set_2_di_si */
22988 : : if (address_no_seg_operand (operands[2], E_SImode)
22989 : : &&
22990 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22991 : : (ptr_mode == DImode))
22992 : : return 1871; /* *stack_protect_set_3_di_si */
22993 : : break;
22994 : :
22995 : : case 1:
22996 : : if (general_operand (operands[2], E_DImode)
22997 : : && (
22998 : : #line 27353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22999 : : (TARGET_64BIT && reload_completed) &&
23000 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23001 : : (ptr_mode == DImode)))
23002 : : return 1868; /* *stack_protect_set_2_di_di */
23003 : : if (address_no_seg_operand (operands[2], E_DImode)
23004 : : && ((
23005 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23006 : : (ptr_mode == DImode) &&
23007 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23008 : : (TARGET_64BIT)) &&
23009 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23010 : : (TARGET_64BIT)))
23011 : : return 1872; /* *stack_protect_set_3_di_di */
23012 : : break;
23013 : :
23014 : : default:
23015 : : break;
23016 : : }
23017 : : break;
23018 : :
23019 : : default:
23020 : : break;
23021 : : }
23022 : : if (!register_operand (operands[1], E_DImode)
23023 : : || GET_MODE (x9) != E_DImode)
23024 : : return -1;
23025 : : switch (GET_CODE (x9))
23026 : : {
23027 : : case ZERO_EXTEND:
23028 : : switch (pattern1320 (x1))
23029 : : {
23030 : : case 0:
23031 : : if (!(
23032 : : #line 27447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23033 : : (TARGET_64BIT && reload_completed) &&
23034 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23035 : : (ptr_mode == SImode)))
23036 : : return -1;
23037 : : return 1873; /* *stack_protect_set_4z_si_di */
23038 : :
23039 : : case 1:
23040 : : if (!(
23041 : : #line 27447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23042 : : (TARGET_64BIT && reload_completed) &&
23043 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23044 : : (ptr_mode == DImode)))
23045 : : return -1;
23046 : : return 1874; /* *stack_protect_set_4z_di_di */
23047 : :
23048 : : default:
23049 : : return -1;
23050 : : }
23051 : :
23052 : : case SIGN_EXTEND:
23053 : : switch (pattern1320 (x1))
23054 : : {
23055 : : case 0:
23056 : : if (!(
23057 : : #line 27465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23058 : : (TARGET_64BIT && reload_completed) &&
23059 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23060 : : (ptr_mode == SImode)))
23061 : : return -1;
23062 : : return 1875; /* *stack_protect_set_4s_si_di */
23063 : :
23064 : : case 1:
23065 : : if (!(
23066 : : #line 27465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23067 : : (TARGET_64BIT && reload_completed) &&
23068 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23069 : : (ptr_mode == DImode)))
23070 : : return -1;
23071 : : return 1876; /* *stack_protect_set_4s_di_di */
23072 : :
23073 : : default:
23074 : : return -1;
23075 : : }
23076 : :
23077 : : default:
23078 : : return -1;
23079 : : }
23080 : :
23081 : : case 118:
23082 : : if (GET_MODE (x3) != E_V4SImode)
23083 : : return -1;
23084 : : x6 = XVECEXP (x1, 0, 1);
23085 : : if (GET_CODE (x6) != CLOBBER)
23086 : : return -1;
23087 : : x4 = XEXP (x2, 0);
23088 : : operands[0] = x4;
23089 : : if (!register_operand (operands[0], E_V4SImode))
23090 : : return -1;
23091 : : x5 = XVECEXP (x3, 0, 0);
23092 : : operands[1] = x5;
23093 : : if (!nonimmediate_operand (operands[1], E_DImode))
23094 : : return -1;
23095 : : x7 = XEXP (x6, 0);
23096 : : operands[2] = x7;
23097 : : if (!scratch_operand (operands[2], E_V4SImode)
23098 : : || !
23099 : : #line 1878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23100 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
23101 : : return -1;
23102 : : return 2552; /* movdi_to_sse */
23103 : :
23104 : : case 283:
23105 : : if (GET_MODE (x3) != E_BLKmode
23106 : : || pattern338 (x1) != 0)
23107 : : return -1;
23108 : : x5 = XVECEXP (x3, 0, 0);
23109 : : if (!rtx_equal_p (x5, operands[0]))
23110 : : return -1;
23111 : : return 11010; /* mfence_nosse */
23112 : :
23113 : : case 288:
23114 : : if (pnum_clobbers == NULL
23115 : : || GET_MODE (x3) != E_DImode)
23116 : : return -1;
23117 : : x6 = XVECEXP (x1, 0, 1);
23118 : : if (GET_CODE (x6) != CLOBBER)
23119 : : return -1;
23120 : : x4 = XEXP (x2, 0);
23121 : : operands[0] = x4;
23122 : : if (!nonimmediate_operand (operands[0], E_DImode))
23123 : : return -1;
23124 : : x5 = XVECEXP (x3, 0, 0);
23125 : : operands[1] = x5;
23126 : : if (!memory_operand (operands[1], E_DImode))
23127 : : return -1;
23128 : : x7 = XEXP (x6, 0);
23129 : : operands[2] = x7;
23130 : : if (!memory_operand (operands[2], E_DImode)
23131 : : || !
23132 : : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23133 : : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
23134 : : return -1;
23135 : : *pnum_clobbers = 1;
23136 : : return 11011; /* atomic_loaddi_fpu */
23137 : :
23138 : : case 289:
23139 : : if (pnum_clobbers == NULL
23140 : : || GET_MODE (x3) != E_DImode)
23141 : : return -1;
23142 : : x6 = XVECEXP (x1, 0, 1);
23143 : : if (GET_CODE (x6) != CLOBBER)
23144 : : return -1;
23145 : : x4 = XEXP (x2, 0);
23146 : : operands[0] = x4;
23147 : : if (!memory_operand (operands[0], E_DImode))
23148 : : return -1;
23149 : : x5 = XVECEXP (x3, 0, 0);
23150 : : operands[1] = x5;
23151 : : if (!nonimmediate_operand (operands[1], E_DImode))
23152 : : return -1;
23153 : : x7 = XEXP (x6, 0);
23154 : : operands[2] = x7;
23155 : : if (!memory_operand (operands[2], E_DImode)
23156 : : || !
23157 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23158 : : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
23159 : : return -1;
23160 : : *pnum_clobbers = 1;
23161 : : return 11016; /* atomic_storedi_fpu */
23162 : :
23163 : : default:
23164 : : return -1;
23165 : : }
23166 : : }
23167 : :
23168 : : int
23169 : : recog_378 (rtx x1 ATTRIBUTE_UNUSED,
23170 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23171 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23172 : : {
23173 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23174 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23175 : : rtx x10, x11;
23176 : : int res ATTRIBUTE_UNUSED;
23177 : : x2 = XVECEXP (x1, 0, 0);
23178 : : x3 = XEXP (x2, 1);
23179 : : x4 = XEXP (x3, 1);
23180 : : if (!rtx_equal_p (x4, operands[1]))
23181 : : return -1;
23182 : : x5 = XEXP (x2, 0);
23183 : : if (GET_MODE (x5) != E_CCCmode
23184 : : || GET_MODE (x3) != E_CCCmode)
23185 : : return -1;
23186 : : x6 = XVECEXP (x1, 0, 1);
23187 : : switch (GET_CODE (x6))
23188 : : {
23189 : : case CLOBBER:
23190 : : x7 = XEXP (x6, 0);
23191 : : operands[0] = x7;
23192 : : x8 = XEXP (x3, 0);
23193 : : switch (pattern951 (x8))
23194 : : {
23195 : : case 0:
23196 : : if (!
23197 : : #line 9931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23198 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23199 : : return -1;
23200 : : return 534; /* *addqi3_cconly_overflow_1 */
23201 : :
23202 : : case 1:
23203 : : if (!
23204 : : #line 9931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23205 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23206 : : return -1;
23207 : : return 535; /* *addhi3_cconly_overflow_1 */
23208 : :
23209 : : case 2:
23210 : : if (!
23211 : : #line 9931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23212 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23213 : : return -1;
23214 : : return 536; /* *addsi3_cconly_overflow_1 */
23215 : :
23216 : : case 3:
23217 : : if (!(
23218 : : #line 9931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23219 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23220 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23221 : : (TARGET_64BIT)))
23222 : : return -1;
23223 : : return 537; /* *adddi3_cconly_overflow_1 */
23224 : :
23225 : : default:
23226 : : return -1;
23227 : : }
23228 : :
23229 : : case SET:
23230 : : x7 = XEXP (x6, 0);
23231 : : operands[0] = x7;
23232 : : x9 = XEXP (x6, 1);
23233 : : switch (GET_CODE (x9))
23234 : : {
23235 : : case PLUS:
23236 : : x10 = XEXP (x9, 0);
23237 : : if (!rtx_equal_p (x10, operands[1]))
23238 : : return -1;
23239 : : x11 = XEXP (x9, 1);
23240 : : if (!rtx_equal_p (x11, operands[2]))
23241 : : return -1;
23242 : : x8 = XEXP (x3, 0);
23243 : : switch (GET_MODE (x8))
23244 : : {
23245 : : case E_QImode:
23246 : : if (pattern1423 (x9,
23247 : : E_QImode) != 0
23248 : : || !
23249 : : #line 9949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23250 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
23251 : : return -1;
23252 : : return 538; /* addqi3_cc_overflow_1 */
23253 : :
23254 : : case E_HImode:
23255 : : if (pattern1423 (x9,
23256 : : E_HImode) != 0
23257 : : || !
23258 : : #line 9949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23259 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
23260 : : return -1;
23261 : : return 539; /* addhi3_cc_overflow_1 */
23262 : :
23263 : : case E_SImode:
23264 : : if (pattern1424 (x9,
23265 : : E_SImode) != 0
23266 : : || !
23267 : : #line 9949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23268 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
23269 : : return -1;
23270 : : return 540; /* addsi3_cc_overflow_1 */
23271 : :
23272 : : case E_DImode:
23273 : : if (pattern1424 (x9,
23274 : : E_DImode) != 0
23275 : : || !(
23276 : : #line 9949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23277 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
23278 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23279 : : (TARGET_64BIT)))
23280 : : return -1;
23281 : : return 541; /* adddi3_cc_overflow_1 */
23282 : :
23283 : : case E_TImode:
23284 : : if (pattern1661 (x9,
23285 : : E_TImode) != 0
23286 : : || !(
23287 : : #line 10081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23288 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
23289 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23290 : : (TARGET_64BIT)))
23291 : : return -1;
23292 : : return 553; /* *addti3_doubleword_cc_overflow_1 */
23293 : :
23294 : : default:
23295 : : return -1;
23296 : : }
23297 : :
23298 : : case ZERO_EXTEND:
23299 : : if (pattern1426 (x1,
23300 : : PLUS) != 0
23301 : : || !
23302 : : #line 10007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23303 : : (TARGET_64BIT
23304 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
23305 : : return -1;
23306 : : return 542; /* *addsi3_zext_cc_overflow_1 */
23307 : :
23308 : : default:
23309 : : return -1;
23310 : : }
23311 : :
23312 : : default:
23313 : : return -1;
23314 : : }
23315 : : }
23316 : :
23317 : : int
23318 : : recog_383 (rtx x1 ATTRIBUTE_UNUSED,
23319 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23320 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23321 : : {
23322 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23323 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23324 : : rtx x10, x11, x12, x13, x14, x15;
23325 : : int res ATTRIBUTE_UNUSED;
23326 : : x2 = XVECEXP (x1, 0, 0);
23327 : : x3 = XEXP (x2, 0);
23328 : : if (GET_CODE (x3) != REG
23329 : : || REGNO (x3) != 17)
23330 : : return -1;
23331 : : x4 = XEXP (x2, 1);
23332 : : x5 = XEXP (x4, 0);
23333 : : x6 = XEXP (x5, 0);
23334 : : switch (GET_CODE (x6))
23335 : : {
23336 : : case REG:
23337 : : case SUBREG:
23338 : : case MEM:
23339 : : operands[1] = x6;
23340 : : x7 = XEXP (x5, 1);
23341 : : operands[2] = x7;
23342 : : x8 = XEXP (x4, 1);
23343 : : switch (GET_CODE (x8))
23344 : : {
23345 : : case CONST_INT:
23346 : : res = recog_377 (x1, insn, pnum_clobbers);
23347 : : if (res >= 0)
23348 : : return res;
23349 : : break;
23350 : :
23351 : : case REG:
23352 : : case SUBREG:
23353 : : case MEM:
23354 : : res = recog_378 (x1, insn, pnum_clobbers);
23355 : : if (res >= 0)
23356 : : return res;
23357 : : break;
23358 : :
23359 : : default:
23360 : : break;
23361 : : }
23362 : : if (GET_MODE (x3) != E_CCCmode
23363 : : || GET_MODE (x4) != E_CCCmode)
23364 : : return -1;
23365 : : x9 = XVECEXP (x1, 0, 1);
23366 : : switch (GET_CODE (x9))
23367 : : {
23368 : : case CLOBBER:
23369 : : x10 = XEXP (x9, 0);
23370 : : operands[0] = x10;
23371 : : if (!rtx_equal_p (x8, operands[2]))
23372 : : return -1;
23373 : : switch (pattern951 (x5))
23374 : : {
23375 : : case 0:
23376 : : if (!
23377 : : #line 10025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23378 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23379 : : return -1;
23380 : : return 543; /* *addqi3_cconly_overflow_2 */
23381 : :
23382 : : case 1:
23383 : : if (!
23384 : : #line 10025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23385 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23386 : : return -1;
23387 : : return 544; /* *addhi3_cconly_overflow_2 */
23388 : :
23389 : : case 2:
23390 : : if (!
23391 : : #line 10025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23392 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23393 : : return -1;
23394 : : return 545; /* *addsi3_cconly_overflow_2 */
23395 : :
23396 : : case 3:
23397 : : if (!(
23398 : : #line 10025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23399 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23400 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23401 : : (TARGET_64BIT)))
23402 : : return -1;
23403 : : return 546; /* *adddi3_cconly_overflow_2 */
23404 : :
23405 : : default:
23406 : : return -1;
23407 : : }
23408 : :
23409 : : case SET:
23410 : : x10 = XEXP (x9, 0);
23411 : : operands[0] = x10;
23412 : : x11 = XEXP (x9, 1);
23413 : : switch (GET_CODE (x11))
23414 : : {
23415 : : case PLUS:
23416 : : x12 = XEXP (x11, 0);
23417 : : if (!rtx_equal_p (x12, operands[1]))
23418 : : return -1;
23419 : : x13 = XEXP (x11, 1);
23420 : : if (!rtx_equal_p (x13, operands[2]))
23421 : : return -1;
23422 : : switch (GET_MODE (x5))
23423 : : {
23424 : : case E_QImode:
23425 : : if (pattern1625 (x1,
23426 : : E_QImode) != 0
23427 : : || !
23428 : : #line 10043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23429 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
23430 : : return -1;
23431 : : return 547; /* *addqi3_cc_overflow_2 */
23432 : :
23433 : : case E_HImode:
23434 : : if (pattern1625 (x1,
23435 : : E_HImode) != 0
23436 : : || !
23437 : : #line 10043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23438 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
23439 : : return -1;
23440 : : return 548; /* *addhi3_cc_overflow_2 */
23441 : :
23442 : : case E_SImode:
23443 : : if (!nonimmediate_operand (operands[1], E_SImode)
23444 : : || !x86_64_general_operand (operands[2], E_SImode)
23445 : : || !nonimmediate_operand (operands[0], E_SImode)
23446 : : || GET_MODE (x11) != E_SImode
23447 : : || !rtx_equal_p (x8, operands[2])
23448 : : || !
23449 : : #line 10043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23450 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
23451 : : return -1;
23452 : : return 549; /* *addsi3_cc_overflow_2 */
23453 : :
23454 : : case E_DImode:
23455 : : if (!nonimmediate_operand (operands[1], E_DImode)
23456 : : || !nonimmediate_operand (operands[0], E_DImode)
23457 : : || GET_MODE (x11) != E_DImode)
23458 : : return -1;
23459 : : if (x86_64_general_operand (operands[2], E_DImode)
23460 : : && rtx_equal_p (x8, operands[2])
23461 : : && (
23462 : : #line 10043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23463 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
23464 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23465 : : (TARGET_64BIT)))
23466 : : return 550; /* *adddi3_cc_overflow_2 */
23467 : : if (!x86_64_hilo_general_operand (operands[2], E_DImode)
23468 : : || !rtx_equal_p (x8, operands[1])
23469 : : || !(
23470 : : #line 10081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23471 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
23472 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23473 : : (!TARGET_64BIT)))
23474 : : return -1;
23475 : : return 552; /* *adddi3_doubleword_cc_overflow_1 */
23476 : :
23477 : : default:
23478 : : return -1;
23479 : : }
23480 : :
23481 : : case ZERO_EXTEND:
23482 : : if (GET_MODE (x11) != E_DImode)
23483 : : return -1;
23484 : : x12 = XEXP (x11, 0);
23485 : : if (GET_CODE (x12) != PLUS
23486 : : || GET_MODE (x12) != E_SImode
23487 : : || GET_MODE (x5) != E_SImode
23488 : : || !nonimmediate_operand (operands[1], E_SImode)
23489 : : || !x86_64_general_operand (operands[2], E_SImode)
23490 : : || !register_operand (operands[0], E_DImode)
23491 : : || !rtx_equal_p (x8, operands[2]))
23492 : : return -1;
23493 : : x14 = XEXP (x12, 0);
23494 : : if (!rtx_equal_p (x14, operands[1]))
23495 : : return -1;
23496 : : x15 = XEXP (x12, 1);
23497 : : if (!rtx_equal_p (x15, operands[2])
23498 : : || !
23499 : : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23500 : : (TARGET_64BIT
23501 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
23502 : : return -1;
23503 : : return 551; /* *addsi3_zext_cc_overflow_2 */
23504 : :
23505 : : default:
23506 : : return -1;
23507 : : }
23508 : :
23509 : : default:
23510 : : return -1;
23511 : : }
23512 : :
23513 : : case UNSPEC_VOLATILE:
23514 : : if (XVECLEN (x6, 0) != 2
23515 : : || XINT (x6, 1) != 110)
23516 : : return -1;
23517 : : x8 = XEXP (x4, 1);
23518 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23519 : : return -1;
23520 : : x9 = XVECEXP (x1, 0, 1);
23521 : : if (GET_CODE (x9) != SET)
23522 : : return -1;
23523 : : switch (pattern1236 (x1,
23524 : : PLUS))
23525 : : {
23526 : : case 0:
23527 : : return 11076; /* atomic_add_fetch_cmp_0qi_1 */
23528 : :
23529 : : case 1:
23530 : : return 11077; /* atomic_add_fetch_cmp_0hi_1 */
23531 : :
23532 : : case 2:
23533 : : return 11078; /* atomic_add_fetch_cmp_0si_1 */
23534 : :
23535 : : case 3:
23536 : : if (!
23537 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23538 : : (TARGET_64BIT))
23539 : : return -1;
23540 : : return 11079; /* atomic_add_fetch_cmp_0di_1 */
23541 : :
23542 : : default:
23543 : : return -1;
23544 : : }
23545 : :
23546 : : default:
23547 : : return -1;
23548 : : }
23549 : : }
23550 : :
23551 : : int
23552 : : recog_387 (rtx x1 ATTRIBUTE_UNUSED,
23553 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23554 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23555 : : {
23556 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23557 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23558 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23559 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
23560 : : rtx x26, x27, x28, x29, x30;
23561 : : int res ATTRIBUTE_UNUSED;
23562 : : x2 = XVECEXP (x1, 0, 0);
23563 : : x3 = XEXP (x2, 1);
23564 : : x4 = XEXP (x3, 0);
23565 : : switch (GET_CODE (x4))
23566 : : {
23567 : : case PLUS:
23568 : : return recog_383 (x1, insn, pnum_clobbers);
23569 : :
23570 : : case NEG:
23571 : : return recog_386 (x1, insn, pnum_clobbers);
23572 : :
23573 : : case REG:
23574 : : case SUBREG:
23575 : : case MEM:
23576 : : operands[1] = x4;
23577 : : x5 = XEXP (x2, 0);
23578 : : if (GET_CODE (x5) != REG
23579 : : || REGNO (x5) != 17)
23580 : : return -1;
23581 : : x6 = XEXP (x3, 1);
23582 : : operands[2] = x6;
23583 : : res = recog_379 (x1, insn, pnum_clobbers);
23584 : : if (res >= 0)
23585 : : return res;
23586 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23587 : : return -1;
23588 : : x7 = XVECEXP (x1, 0, 1);
23589 : : if (GET_CODE (x7) != SET)
23590 : : return -1;
23591 : : x8 = XEXP (x7, 0);
23592 : : operands[0] = x8;
23593 : : x9 = XEXP (x7, 1);
23594 : : switch (GET_CODE (x9))
23595 : : {
23596 : : case CTZ:
23597 : : x10 = XEXP (x9, 0);
23598 : : if (!rtx_equal_p (x10, operands[1]))
23599 : : return -1;
23600 : : switch (GET_MODE (x5))
23601 : : {
23602 : : case E_CCCmode:
23603 : : if (GET_MODE (x3) != E_CCCmode)
23604 : : return -1;
23605 : : switch (pattern1495 (x9))
23606 : : {
23607 : : case 0:
23608 : : if (!
23609 : : #line 21021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23610 : : (TARGET_BMI))
23611 : : return -1;
23612 : : return 1508; /* *tzcntsi_1 */
23613 : :
23614 : : case 1:
23615 : : if (!(
23616 : : #line 21021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23617 : : (TARGET_BMI) &&
23618 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23619 : : (TARGET_64BIT)))
23620 : : return -1;
23621 : : return 1509; /* *tzcntdi_1 */
23622 : :
23623 : : default:
23624 : : return -1;
23625 : : }
23626 : :
23627 : : case E_CCZmode:
23628 : : if (GET_MODE (x3) != E_CCZmode)
23629 : : return -1;
23630 : : switch (pattern1495 (x9))
23631 : : {
23632 : : case 0:
23633 : : return 1512; /* *bsfsi_1 */
23634 : :
23635 : : case 1:
23636 : : if (!
23637 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23638 : : (TARGET_64BIT))
23639 : : return -1;
23640 : : return 1513; /* *bsfdi_1 */
23641 : :
23642 : : default:
23643 : : return -1;
23644 : : }
23645 : :
23646 : : default:
23647 : : return -1;
23648 : : }
23649 : :
23650 : : case MINUS:
23651 : : x10 = XEXP (x9, 0);
23652 : : if (GET_CODE (x10) != CONST_INT)
23653 : : return -1;
23654 : : x11 = XEXP (x9, 1);
23655 : : if (GET_CODE (x11) != CLZ
23656 : : || GET_MODE (x5) != E_CCZmode
23657 : : || GET_MODE (x3) != E_CCZmode)
23658 : : return -1;
23659 : : x12 = XEXP (x11, 0);
23660 : : if (!rtx_equal_p (x12, operands[1]))
23661 : : return -1;
23662 : : switch (XWINT (x10, 0))
23663 : : {
23664 : : case 63L:
23665 : : if (pattern1626 (x9,
23666 : : E_DImode) != 0
23667 : : || !
23668 : : #line 21246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23669 : : (TARGET_64BIT))
23670 : : return -1;
23671 : : return 1524; /* bsr_rex64 */
23672 : :
23673 : : case 31L:
23674 : : if (pattern1626 (x9,
23675 : : E_SImode) != 0)
23676 : : return -1;
23677 : : return 1527; /* bsr */
23678 : :
23679 : : default:
23680 : : return -1;
23681 : : }
23682 : :
23683 : : default:
23684 : : return -1;
23685 : : }
23686 : :
23687 : : case MINUS:
23688 : : x6 = XEXP (x3, 1);
23689 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23690 : : return -1;
23691 : : x5 = XEXP (x2, 0);
23692 : : if (GET_CODE (x5) != REG
23693 : : || REGNO (x5) != 17)
23694 : : return -1;
23695 : : x7 = XVECEXP (x1, 0, 1);
23696 : : if (GET_CODE (x7) != SET)
23697 : : return -1;
23698 : : x13 = XEXP (x4, 0);
23699 : : switch (GET_CODE (x13))
23700 : : {
23701 : : case REG:
23702 : : case SUBREG:
23703 : : case MEM:
23704 : : operands[1] = x13;
23705 : : x14 = XEXP (x4, 1);
23706 : : operands[2] = x14;
23707 : : x8 = XEXP (x7, 0);
23708 : : operands[0] = x8;
23709 : : x9 = XEXP (x7, 1);
23710 : : switch (GET_CODE (x9))
23711 : : {
23712 : : case MINUS:
23713 : : switch (pattern1425 (x1))
23714 : : {
23715 : : case 0:
23716 : : if (!
23717 : : #line 8276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23718 : : (ix86_match_ccmode (insn, CCGOCmode)
23719 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
23720 : : return -1;
23721 : : return 411; /* *subqi_2 */
23722 : :
23723 : : case 1:
23724 : : if (!
23725 : : #line 8276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23726 : : (ix86_match_ccmode (insn, CCGOCmode)
23727 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
23728 : : return -1;
23729 : : return 412; /* *subhi_2 */
23730 : :
23731 : : case 2:
23732 : : if (!
23733 : : #line 8276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23734 : : (ix86_match_ccmode (insn, CCGOCmode)
23735 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
23736 : : return -1;
23737 : : return 413; /* *subsi_2 */
23738 : :
23739 : : case 3:
23740 : : if (!(
23741 : : #line 8276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23742 : : (ix86_match_ccmode (insn, CCGOCmode)
23743 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
23744 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23745 : : (TARGET_64BIT)))
23746 : : return -1;
23747 : : return 414; /* *subdi_2 */
23748 : :
23749 : : default:
23750 : : return -1;
23751 : : }
23752 : :
23753 : : case ZERO_EXTEND:
23754 : : if (pattern1426 (x1,
23755 : : MINUS) != 0
23756 : : || !
23757 : : #line 8297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23758 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
23759 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
23760 : : return -1;
23761 : : return 415; /* *subsi_2_zext */
23762 : :
23763 : : default:
23764 : : return -1;
23765 : : }
23766 : :
23767 : : case UNSPEC_VOLATILE:
23768 : : if (XVECLEN (x13, 0) != 2
23769 : : || XINT (x13, 1) != 110)
23770 : : return -1;
23771 : : switch (pattern1236 (x1,
23772 : : MINUS))
23773 : : {
23774 : : case 0:
23775 : : return 11080; /* atomic_sub_fetch_cmp_0qi_1 */
23776 : :
23777 : : case 1:
23778 : : return 11081; /* atomic_sub_fetch_cmp_0hi_1 */
23779 : :
23780 : : case 2:
23781 : : return 11082; /* atomic_sub_fetch_cmp_0si_1 */
23782 : :
23783 : : case 3:
23784 : : if (!
23785 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23786 : : (TARGET_64BIT))
23787 : : return -1;
23788 : : return 11083; /* atomic_sub_fetch_cmp_0di_1 */
23789 : :
23790 : : default:
23791 : : return -1;
23792 : : }
23793 : :
23794 : : default:
23795 : : return -1;
23796 : : }
23797 : :
23798 : : case ZERO_EXTEND:
23799 : : return recog_384 (x1, insn, pnum_clobbers);
23800 : :
23801 : : case AND:
23802 : : return recog_385 (x1, insn, pnum_clobbers);
23803 : :
23804 : : case IOR:
23805 : : switch (pattern364 (x1,
23806 : : IOR))
23807 : : {
23808 : : case 0:
23809 : : if (general_operand (operands[2], E_QImode))
23810 : : {
23811 : : switch (pattern950 (x1,
23812 : : IOR))
23813 : : {
23814 : : case 0:
23815 : : if (
23816 : : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23817 : : (ix86_match_ccmode (insn, CCNOmode)))
23818 : : return 783; /* *iorqi_exthi_1_cc */
23819 : : break;
23820 : :
23821 : : case 1:
23822 : : if (
23823 : : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23824 : : (ix86_match_ccmode (insn, CCNOmode)))
23825 : : return 786; /* *iorqi_extsi_1_cc */
23826 : : break;
23827 : :
23828 : : case 2:
23829 : : if ((
23830 : : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23831 : : (ix86_match_ccmode (insn, CCNOmode)) &&
23832 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23833 : : (TARGET_64BIT)))
23834 : : return 789; /* *iorqi_extdi_1_cc */
23835 : : break;
23836 : :
23837 : : default:
23838 : : break;
23839 : : }
23840 : : }
23841 : : x5 = XEXP (x2, 0);
23842 : : if (GET_CODE (x5) != REG)
23843 : : return -1;
23844 : : switch (pattern952 (x1))
23845 : : {
23846 : : case 0:
23847 : : x7 = XVECEXP (x1, 0, 1);
23848 : : x9 = XEXP (x7, 1);
23849 : : switch (GET_CODE (x9))
23850 : : {
23851 : : case IOR:
23852 : : switch (pattern1430 (x1))
23853 : : {
23854 : : case 0:
23855 : : if (!
23856 : : #line 13881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23857 : : (ix86_match_ccmode (insn, CCNOmode)
23858 : : && ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)))
23859 : : return -1;
23860 : : return 872; /* *iorqi_2 */
23861 : :
23862 : : case 1:
23863 : : if (!
23864 : : #line 13881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23865 : : (ix86_match_ccmode (insn, CCNOmode)
23866 : : && ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)))
23867 : : return -1;
23868 : : return 874; /* *iorhi_2 */
23869 : :
23870 : : case 2:
23871 : : if (!
23872 : : #line 13881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23873 : : (ix86_match_ccmode (insn, CCNOmode)
23874 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
23875 : : return -1;
23876 : : return 876; /* *iorsi_2 */
23877 : :
23878 : : case 3:
23879 : : if (!(
23880 : : #line 13881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23881 : : (ix86_match_ccmode (insn, CCNOmode)
23882 : : && ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
23883 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23884 : : (TARGET_64BIT)))
23885 : : return -1;
23886 : : return 878; /* *iordi_2 */
23887 : :
23888 : : case 4:
23889 : : if (!
23890 : : #line 13919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23891 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
23892 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
23893 : : return -1;
23894 : : return 882; /* *iorsi_2_zext_imm */
23895 : :
23896 : : default:
23897 : : return -1;
23898 : : }
23899 : :
23900 : : case ZERO_EXTEND:
23901 : : if (pattern1426 (x1,
23902 : : IOR) != 0
23903 : : || !
23904 : : #line 13901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23905 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
23906 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
23907 : : return -1;
23908 : : return 880; /* *iorsi_2_zext */
23909 : :
23910 : : default:
23911 : : return -1;
23912 : : }
23913 : :
23914 : : case 1:
23915 : : if (!
23916 : : #line 13935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23917 : : (ix86_match_ccmode (insn, CCNOmode)
23918 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23919 : : return -1;
23920 : : return 884; /* *iorqi_3 */
23921 : :
23922 : : case 2:
23923 : : if (!
23924 : : #line 13935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23925 : : (ix86_match_ccmode (insn, CCNOmode)
23926 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23927 : : return -1;
23928 : : return 886; /* *iorhi_3 */
23929 : :
23930 : : case 3:
23931 : : if (!
23932 : : #line 13935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23933 : : (ix86_match_ccmode (insn, CCNOmode)
23934 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23935 : : return -1;
23936 : : return 888; /* *iorsi_3 */
23937 : :
23938 : : case 4:
23939 : : if (!(
23940 : : #line 13935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23941 : : (ix86_match_ccmode (insn, CCNOmode)
23942 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23943 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23944 : : (TARGET_64BIT)))
23945 : : return -1;
23946 : : return 890; /* *iordi_3 */
23947 : :
23948 : : default:
23949 : : return -1;
23950 : : }
23951 : :
23952 : : case 1:
23953 : : return 11085; /* atomic_or_fetch_cmp_0qi_1 */
23954 : :
23955 : : case 2:
23956 : : return 11088; /* atomic_or_fetch_cmp_0hi_1 */
23957 : :
23958 : : case 3:
23959 : : return 11091; /* atomic_or_fetch_cmp_0si_1 */
23960 : :
23961 : : case 4:
23962 : : if (!
23963 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23964 : : (TARGET_64BIT))
23965 : : return -1;
23966 : : return 11094; /* atomic_or_fetch_cmp_0di_1 */
23967 : :
23968 : : default:
23969 : : return -1;
23970 : : }
23971 : :
23972 : : case XOR:
23973 : : switch (pattern364 (x1,
23974 : : XOR))
23975 : : {
23976 : : case 0:
23977 : : if (general_operand (operands[2], E_QImode))
23978 : : {
23979 : : switch (pattern950 (x1,
23980 : : XOR))
23981 : : {
23982 : : case 0:
23983 : : if (
23984 : : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23985 : : (ix86_match_ccmode (insn, CCNOmode)))
23986 : : return 784; /* *xorqi_exthi_1_cc */
23987 : : break;
23988 : :
23989 : : case 1:
23990 : : if (
23991 : : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23992 : : (ix86_match_ccmode (insn, CCNOmode)))
23993 : : return 787; /* *xorqi_extsi_1_cc */
23994 : : break;
23995 : :
23996 : : case 2:
23997 : : if ((
23998 : : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23999 : : (ix86_match_ccmode (insn, CCNOmode)) &&
24000 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24001 : : (TARGET_64BIT)))
24002 : : return 790; /* *xorqi_extdi_1_cc */
24003 : : break;
24004 : :
24005 : : default:
24006 : : break;
24007 : : }
24008 : : }
24009 : : x5 = XEXP (x2, 0);
24010 : : if (GET_CODE (x5) != REG)
24011 : : return -1;
24012 : : switch (pattern952 (x1))
24013 : : {
24014 : : case 0:
24015 : : x7 = XVECEXP (x1, 0, 1);
24016 : : x9 = XEXP (x7, 1);
24017 : : switch (GET_CODE (x9))
24018 : : {
24019 : : case XOR:
24020 : : switch (pattern1430 (x1))
24021 : : {
24022 : : case 0:
24023 : : if (!
24024 : : #line 13881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24025 : : (ix86_match_ccmode (insn, CCNOmode)
24026 : : && ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
24027 : : return -1;
24028 : : return 873; /* *xorqi_2 */
24029 : :
24030 : : case 1:
24031 : : if (!
24032 : : #line 13881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24033 : : (ix86_match_ccmode (insn, CCNOmode)
24034 : : && ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
24035 : : return -1;
24036 : : return 875; /* *xorhi_2 */
24037 : :
24038 : : case 2:
24039 : : if (!
24040 : : #line 13881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24041 : : (ix86_match_ccmode (insn, CCNOmode)
24042 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
24043 : : return -1;
24044 : : return 877; /* *xorsi_2 */
24045 : :
24046 : : case 3:
24047 : : if (!(
24048 : : #line 13881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24049 : : (ix86_match_ccmode (insn, CCNOmode)
24050 : : && ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
24051 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24052 : : (TARGET_64BIT)))
24053 : : return -1;
24054 : : return 879; /* *xordi_2 */
24055 : :
24056 : : case 4:
24057 : : if (!
24058 : : #line 13919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24059 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
24060 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
24061 : : return -1;
24062 : : return 883; /* *xorsi_2_zext_imm */
24063 : :
24064 : : default:
24065 : : return -1;
24066 : : }
24067 : :
24068 : : case ZERO_EXTEND:
24069 : : if (pattern1426 (x1,
24070 : : XOR) != 0
24071 : : || !
24072 : : #line 13901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24073 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
24074 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
24075 : : return -1;
24076 : : return 881; /* *xorsi_2_zext */
24077 : :
24078 : : default:
24079 : : return -1;
24080 : : }
24081 : :
24082 : : case 1:
24083 : : if (!
24084 : : #line 13935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24085 : : (ix86_match_ccmode (insn, CCNOmode)
24086 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
24087 : : return -1;
24088 : : return 885; /* *xorqi_3 */
24089 : :
24090 : : case 2:
24091 : : if (!
24092 : : #line 13935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24093 : : (ix86_match_ccmode (insn, CCNOmode)
24094 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
24095 : : return -1;
24096 : : return 887; /* *xorhi_3 */
24097 : :
24098 : : case 3:
24099 : : if (!
24100 : : #line 13935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24101 : : (ix86_match_ccmode (insn, CCNOmode)
24102 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
24103 : : return -1;
24104 : : return 889; /* *xorsi_3 */
24105 : :
24106 : : case 4:
24107 : : if (!(
24108 : : #line 13935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24109 : : (ix86_match_ccmode (insn, CCNOmode)
24110 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
24111 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24112 : : (TARGET_64BIT)))
24113 : : return -1;
24114 : : return 891; /* *xordi_3 */
24115 : :
24116 : : default:
24117 : : return -1;
24118 : : }
24119 : :
24120 : : case 1:
24121 : : return 11086; /* atomic_xor_fetch_cmp_0qi_1 */
24122 : :
24123 : : case 2:
24124 : : return 11089; /* atomic_xor_fetch_cmp_0hi_1 */
24125 : :
24126 : : case 3:
24127 : : return 11092; /* atomic_xor_fetch_cmp_0si_1 */
24128 : :
24129 : : case 4:
24130 : : if (!
24131 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24132 : : (TARGET_64BIT))
24133 : : return -1;
24134 : : return 11095; /* atomic_xor_fetch_cmp_0di_1 */
24135 : :
24136 : : default:
24137 : : return -1;
24138 : : }
24139 : :
24140 : : case NOT:
24141 : : x6 = XEXP (x3, 1);
24142 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24143 : : return -1;
24144 : : x5 = XEXP (x2, 0);
24145 : : if (GET_CODE (x5) != REG
24146 : : || REGNO (x5) != 17)
24147 : : return -1;
24148 : : x7 = XVECEXP (x1, 0, 1);
24149 : : if (GET_CODE (x7) != SET)
24150 : : return -1;
24151 : : x13 = XEXP (x4, 0);
24152 : : operands[1] = x13;
24153 : : x8 = XEXP (x7, 0);
24154 : : operands[0] = x8;
24155 : : x9 = XEXP (x7, 1);
24156 : : switch (GET_CODE (x9))
24157 : : {
24158 : : case NOT:
24159 : : switch (pattern1238 (x1))
24160 : : {
24161 : : case 0:
24162 : : if (!
24163 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24164 : : (ix86_match_ccmode (insn, CCNOmode)
24165 : : && ix86_unary_operator_ok (NOT, QImode, operands, TARGET_APX_NDD)))
24166 : : return -1;
24167 : : return 1044; /* *one_cmplqi2_2 */
24168 : :
24169 : : case 1:
24170 : : if (!
24171 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24172 : : (ix86_match_ccmode (insn, CCNOmode)
24173 : : && ix86_unary_operator_ok (NOT, HImode, operands, TARGET_APX_NDD)))
24174 : : return -1;
24175 : : return 1045; /* *one_cmplhi2_2 */
24176 : :
24177 : : case 2:
24178 : : if (!
24179 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24180 : : (ix86_match_ccmode (insn, CCNOmode)
24181 : : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
24182 : : return -1;
24183 : : return 1046; /* *one_cmplsi2_2 */
24184 : :
24185 : : case 3:
24186 : : if (!(
24187 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24188 : : (ix86_match_ccmode (insn, CCNOmode)
24189 : : && ix86_unary_operator_ok (NOT, DImode, operands, TARGET_APX_NDD)) &&
24190 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24191 : : (TARGET_64BIT)))
24192 : : return -1;
24193 : : return 1047; /* *one_cmpldi2_2 */
24194 : :
24195 : : default:
24196 : : return -1;
24197 : : }
24198 : :
24199 : : case ZERO_EXTEND:
24200 : : if (pattern1239 (x1,
24201 : : NOT) != 0
24202 : : || !
24203 : : #line 15105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24204 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
24205 : : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
24206 : : return -1;
24207 : : return 1048; /* *one_cmplsi2_2_zext */
24208 : :
24209 : : default:
24210 : : return -1;
24211 : : }
24212 : :
24213 : : case ASHIFT:
24214 : : switch (pattern365 (x1))
24215 : : {
24216 : : case 0:
24217 : : x7 = XVECEXP (x1, 0, 1);
24218 : : x9 = XEXP (x7, 1);
24219 : : switch (GET_CODE (x9))
24220 : : {
24221 : : case ASHIFT:
24222 : : switch (pattern1322 (x1))
24223 : : {
24224 : : case 0:
24225 : : if (!
24226 : : #line 16351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24227 : : ((optimize_function_for_size_p (cfun)
24228 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24229 : : || (operands[2] == const1_rtx
24230 : : && (TARGET_SHIFT1
24231 : : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
24232 : : && ix86_match_ccmode (insn, CCGOCmode)
24233 : : && ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)))
24234 : : return -1;
24235 : : return 1110; /* *ashlqi3_cmp */
24236 : :
24237 : : case 1:
24238 : : if (!
24239 : : #line 16351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24240 : : ((optimize_function_for_size_p (cfun)
24241 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24242 : : || (operands[2] == const1_rtx
24243 : : && (TARGET_SHIFT1
24244 : : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
24245 : : && ix86_match_ccmode (insn, CCGOCmode)
24246 : : && ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)))
24247 : : return -1;
24248 : : return 1111; /* *ashlhi3_cmp */
24249 : :
24250 : : case 2:
24251 : : if (!
24252 : : #line 16351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24253 : : ((optimize_function_for_size_p (cfun)
24254 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24255 : : || (operands[2] == const1_rtx
24256 : : && (TARGET_SHIFT1
24257 : : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
24258 : : && ix86_match_ccmode (insn, CCGOCmode)
24259 : : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
24260 : : return -1;
24261 : : return 1112; /* *ashlsi3_cmp */
24262 : :
24263 : : case 3:
24264 : : if (!(
24265 : : #line 16351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24266 : : ((optimize_function_for_size_p (cfun)
24267 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24268 : : || (operands[2] == const1_rtx
24269 : : && (TARGET_SHIFT1
24270 : : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
24271 : : && ix86_match_ccmode (insn, CCGOCmode)
24272 : : && ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)) &&
24273 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24274 : : (TARGET_64BIT)))
24275 : : return -1;
24276 : : return 1113; /* *ashldi3_cmp */
24277 : :
24278 : : default:
24279 : : return -1;
24280 : : }
24281 : :
24282 : : case ZERO_EXTEND:
24283 : : if (pattern1323 (x1,
24284 : : ASHIFT) != 0
24285 : : || !
24286 : : #line 16405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24287 : : (TARGET_64BIT
24288 : : && (optimize_function_for_size_p (cfun)
24289 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24290 : : || (operands[2] == const1_rtx
24291 : : && (TARGET_SHIFT1
24292 : : || TARGET_DOUBLE_WITH_ADD)))
24293 : : && ix86_match_ccmode (insn, CCGOCmode)
24294 : : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
24295 : : return -1;
24296 : : return 1114; /* *ashlsi3_cmp_zext */
24297 : :
24298 : : default:
24299 : : return -1;
24300 : : }
24301 : :
24302 : : case 1:
24303 : : if (!
24304 : : #line 16458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24305 : : ((optimize_function_for_size_p (cfun)
24306 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24307 : : || (operands[2] == const1_rtx
24308 : : && (TARGET_SHIFT1
24309 : : || TARGET_DOUBLE_WITH_ADD)))
24310 : : && ix86_match_ccmode (insn, CCGOCmode)))
24311 : : return -1;
24312 : : return 1115; /* *ashlqi3_cconly */
24313 : :
24314 : : case 2:
24315 : : if (!
24316 : : #line 16458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24317 : : ((optimize_function_for_size_p (cfun)
24318 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24319 : : || (operands[2] == const1_rtx
24320 : : && (TARGET_SHIFT1
24321 : : || TARGET_DOUBLE_WITH_ADD)))
24322 : : && ix86_match_ccmode (insn, CCGOCmode)))
24323 : : return -1;
24324 : : return 1116; /* *ashlhi3_cconly */
24325 : :
24326 : : case 3:
24327 : : if (!
24328 : : #line 16458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24329 : : ((optimize_function_for_size_p (cfun)
24330 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24331 : : || (operands[2] == const1_rtx
24332 : : && (TARGET_SHIFT1
24333 : : || TARGET_DOUBLE_WITH_ADD)))
24334 : : && ix86_match_ccmode (insn, CCGOCmode)))
24335 : : return -1;
24336 : : return 1117; /* *ashlsi3_cconly */
24337 : :
24338 : : case 4:
24339 : : if (!(
24340 : : #line 16458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24341 : : ((optimize_function_for_size_p (cfun)
24342 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24343 : : || (operands[2] == const1_rtx
24344 : : && (TARGET_SHIFT1
24345 : : || TARGET_DOUBLE_WITH_ADD)))
24346 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
24347 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24348 : : (TARGET_64BIT)))
24349 : : return -1;
24350 : : return 1118; /* *ashldi3_cconly */
24351 : :
24352 : : default:
24353 : : return -1;
24354 : : }
24355 : :
24356 : : case LSHIFTRT:
24357 : : switch (pattern365 (x1))
24358 : : {
24359 : : case 0:
24360 : : x7 = XVECEXP (x1, 0, 1);
24361 : : x9 = XEXP (x7, 1);
24362 : : switch (GET_CODE (x9))
24363 : : {
24364 : : case LSHIFTRT:
24365 : : switch (pattern1322 (x1))
24366 : : {
24367 : : case 0:
24368 : : if (!
24369 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24370 : : ((optimize_function_for_size_p (cfun)
24371 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24372 : : || (operands[2] == const1_rtx
24373 : : && TARGET_SHIFT1))
24374 : : && ix86_match_ccmode (insn, CCGOCmode)
24375 : : && ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)))
24376 : : return -1;
24377 : : return 1220; /* *lshrqi3_cmp */
24378 : :
24379 : : case 1:
24380 : : if (!
24381 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24382 : : ((optimize_function_for_size_p (cfun)
24383 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24384 : : || (operands[2] == const1_rtx
24385 : : && TARGET_SHIFT1))
24386 : : && ix86_match_ccmode (insn, CCGOCmode)
24387 : : && ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)))
24388 : : return -1;
24389 : : return 1222; /* *lshrhi3_cmp */
24390 : :
24391 : : case 2:
24392 : : if (!
24393 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24394 : : ((optimize_function_for_size_p (cfun)
24395 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24396 : : || (operands[2] == const1_rtx
24397 : : && TARGET_SHIFT1))
24398 : : && ix86_match_ccmode (insn, CCGOCmode)
24399 : : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
24400 : : return -1;
24401 : : return 1224; /* *lshrsi3_cmp */
24402 : :
24403 : : case 3:
24404 : : if (!(
24405 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24406 : : ((optimize_function_for_size_p (cfun)
24407 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24408 : : || (operands[2] == const1_rtx
24409 : : && TARGET_SHIFT1))
24410 : : && ix86_match_ccmode (insn, CCGOCmode)
24411 : : && ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)) &&
24412 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24413 : : (TARGET_64BIT)))
24414 : : return -1;
24415 : : return 1226; /* *lshrdi3_cmp */
24416 : :
24417 : : default:
24418 : : return -1;
24419 : : }
24420 : :
24421 : : case ZERO_EXTEND:
24422 : : if (pattern1323 (x1,
24423 : : LSHIFTRT) != 0
24424 : : || !
24425 : : #line 17734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24426 : : (TARGET_64BIT
24427 : : && (optimize_function_for_size_p (cfun)
24428 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24429 : : || (operands[2] == const1_rtx
24430 : : && TARGET_SHIFT1))
24431 : : && ix86_match_ccmode (insn, CCGOCmode)
24432 : : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
24433 : : return -1;
24434 : : return 1228; /* *lshrsi3_cmp_zext */
24435 : :
24436 : : default:
24437 : : return -1;
24438 : : }
24439 : :
24440 : : case 1:
24441 : : if (!
24442 : : #line 17770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24443 : : ((optimize_function_for_size_p (cfun)
24444 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24445 : : || (operands[2] == const1_rtx
24446 : : && TARGET_SHIFT1))
24447 : : && ix86_match_ccmode (insn, CCGOCmode)))
24448 : : return -1;
24449 : : return 1230; /* *lshrqi3_cconly */
24450 : :
24451 : : case 2:
24452 : : if (!
24453 : : #line 17770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24454 : : ((optimize_function_for_size_p (cfun)
24455 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24456 : : || (operands[2] == const1_rtx
24457 : : && TARGET_SHIFT1))
24458 : : && ix86_match_ccmode (insn, CCGOCmode)))
24459 : : return -1;
24460 : : return 1232; /* *lshrhi3_cconly */
24461 : :
24462 : : case 3:
24463 : : if (!
24464 : : #line 17770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24465 : : ((optimize_function_for_size_p (cfun)
24466 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24467 : : || (operands[2] == const1_rtx
24468 : : && TARGET_SHIFT1))
24469 : : && ix86_match_ccmode (insn, CCGOCmode)))
24470 : : return -1;
24471 : : return 1234; /* *lshrsi3_cconly */
24472 : :
24473 : : case 4:
24474 : : if (!(
24475 : : #line 17770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24476 : : ((optimize_function_for_size_p (cfun)
24477 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24478 : : || (operands[2] == const1_rtx
24479 : : && TARGET_SHIFT1))
24480 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
24481 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24482 : : (TARGET_64BIT)))
24483 : : return -1;
24484 : : return 1236; /* *lshrdi3_cconly */
24485 : :
24486 : : default:
24487 : : return -1;
24488 : : }
24489 : :
24490 : : case ASHIFTRT:
24491 : : switch (pattern365 (x1))
24492 : : {
24493 : : case 0:
24494 : : x7 = XVECEXP (x1, 0, 1);
24495 : : x9 = XEXP (x7, 1);
24496 : : switch (GET_CODE (x9))
24497 : : {
24498 : : case ASHIFTRT:
24499 : : switch (pattern1322 (x1))
24500 : : {
24501 : : case 0:
24502 : : if (!
24503 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24504 : : ((optimize_function_for_size_p (cfun)
24505 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24506 : : || (operands[2] == const1_rtx
24507 : : && TARGET_SHIFT1))
24508 : : && ix86_match_ccmode (insn, CCGOCmode)
24509 : : && ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)))
24510 : : return -1;
24511 : : return 1221; /* *ashrqi3_cmp */
24512 : :
24513 : : case 1:
24514 : : if (!
24515 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24516 : : ((optimize_function_for_size_p (cfun)
24517 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24518 : : || (operands[2] == const1_rtx
24519 : : && TARGET_SHIFT1))
24520 : : && ix86_match_ccmode (insn, CCGOCmode)
24521 : : && ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)))
24522 : : return -1;
24523 : : return 1223; /* *ashrhi3_cmp */
24524 : :
24525 : : case 2:
24526 : : if (!
24527 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24528 : : ((optimize_function_for_size_p (cfun)
24529 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24530 : : || (operands[2] == const1_rtx
24531 : : && TARGET_SHIFT1))
24532 : : && ix86_match_ccmode (insn, CCGOCmode)
24533 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
24534 : : return -1;
24535 : : return 1225; /* *ashrsi3_cmp */
24536 : :
24537 : : case 3:
24538 : : if (!(
24539 : : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24540 : : ((optimize_function_for_size_p (cfun)
24541 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24542 : : || (operands[2] == const1_rtx
24543 : : && TARGET_SHIFT1))
24544 : : && ix86_match_ccmode (insn, CCGOCmode)
24545 : : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)) &&
24546 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24547 : : (TARGET_64BIT)))
24548 : : return -1;
24549 : : return 1227; /* *ashrdi3_cmp */
24550 : :
24551 : : default:
24552 : : return -1;
24553 : : }
24554 : :
24555 : : case ZERO_EXTEND:
24556 : : if (pattern1323 (x1,
24557 : : ASHIFTRT) != 0
24558 : : || !
24559 : : #line 17734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24560 : : (TARGET_64BIT
24561 : : && (optimize_function_for_size_p (cfun)
24562 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24563 : : || (operands[2] == const1_rtx
24564 : : && TARGET_SHIFT1))
24565 : : && ix86_match_ccmode (insn, CCGOCmode)
24566 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
24567 : : return -1;
24568 : : return 1229; /* *ashrsi3_cmp_zext */
24569 : :
24570 : : default:
24571 : : return -1;
24572 : : }
24573 : :
24574 : : case 1:
24575 : : if (!
24576 : : #line 17770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24577 : : ((optimize_function_for_size_p (cfun)
24578 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24579 : : || (operands[2] == const1_rtx
24580 : : && TARGET_SHIFT1))
24581 : : && ix86_match_ccmode (insn, CCGOCmode)))
24582 : : return -1;
24583 : : return 1231; /* *ashrqi3_cconly */
24584 : :
24585 : : case 2:
24586 : : if (!
24587 : : #line 17770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24588 : : ((optimize_function_for_size_p (cfun)
24589 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24590 : : || (operands[2] == const1_rtx
24591 : : && TARGET_SHIFT1))
24592 : : && ix86_match_ccmode (insn, CCGOCmode)))
24593 : : return -1;
24594 : : return 1233; /* *ashrhi3_cconly */
24595 : :
24596 : : case 3:
24597 : : if (!
24598 : : #line 17770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24599 : : ((optimize_function_for_size_p (cfun)
24600 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24601 : : || (operands[2] == const1_rtx
24602 : : && TARGET_SHIFT1))
24603 : : && ix86_match_ccmode (insn, CCGOCmode)))
24604 : : return -1;
24605 : : return 1235; /* *ashrsi3_cconly */
24606 : :
24607 : : case 4:
24608 : : if (!(
24609 : : #line 17770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24610 : : ((optimize_function_for_size_p (cfun)
24611 : : || !TARGET_PARTIAL_FLAG_REG_STALL
24612 : : || (operands[2] == const1_rtx
24613 : : && TARGET_SHIFT1))
24614 : : && ix86_match_ccmode (insn, CCGOCmode)) &&
24615 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24616 : : (TARGET_64BIT)))
24617 : : return -1;
24618 : : return 1237; /* *ashrdi3_cconly */
24619 : :
24620 : : default:
24621 : : return -1;
24622 : : }
24623 : :
24624 : : case UNSPEC:
24625 : : if (XVECLEN (x4, 0) != 2
24626 : : || XINT (x4, 1) != 98
24627 : : || pattern683 (x1) != 0)
24628 : : return -1;
24629 : : x15 = XVECEXP (x4, 0, 0);
24630 : : operands[1] = x15;
24631 : : x16 = XVECEXP (x4, 0, 1);
24632 : : operands[2] = x16;
24633 : : x7 = XVECEXP (x1, 0, 1);
24634 : : x8 = XEXP (x7, 0);
24635 : : operands[0] = x8;
24636 : : switch (GET_MODE (x4))
24637 : : {
24638 : : case E_SImode:
24639 : : if (!nonimmediate_operand (operands[1], E_SImode)
24640 : : || !register_operand (operands[2], E_SImode)
24641 : : || !scratch_operand (operands[0], E_SImode)
24642 : : || !
24643 : : #line 21771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24644 : : (TARGET_BMI))
24645 : : return -1;
24646 : : return 1568; /* *bmi_bextr_si_ccz */
24647 : :
24648 : : case E_DImode:
24649 : : if (!nonimmediate_operand (operands[1], E_DImode)
24650 : : || !register_operand (operands[2], E_DImode)
24651 : : || !scratch_operand (operands[0], E_DImode)
24652 : : || !(
24653 : : #line 21771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24654 : : (TARGET_BMI) &&
24655 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24656 : : (TARGET_64BIT)))
24657 : : return -1;
24658 : : return 1569; /* *bmi_bextr_di_ccz */
24659 : :
24660 : : default:
24661 : : return -1;
24662 : : }
24663 : :
24664 : : case IF_THEN_ELSE:
24665 : : x13 = XEXP (x4, 0);
24666 : : if (GET_CODE (x13) != NE
24667 : : || GET_MODE (x13) != E_QImode)
24668 : : return -1;
24669 : : x17 = XEXP (x13, 1);
24670 : : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24671 : : return -1;
24672 : : x14 = XEXP (x4, 1);
24673 : : if (GET_CODE (x14) != ZERO_EXTRACT)
24674 : : return -1;
24675 : : x18 = XEXP (x14, 1);
24676 : : if (GET_CODE (x18) != UMIN
24677 : : || GET_MODE (x18) != E_QImode)
24678 : : return -1;
24679 : : x19 = XEXP (x14, 2);
24680 : : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24681 : : return -1;
24682 : : x20 = XEXP (x4, 2);
24683 : : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24684 : : || pattern683 (x1) != 0)
24685 : : return -1;
24686 : : x21 = XEXP (x13, 0);
24687 : : operands[2] = x21;
24688 : : if (!register_operand (operands[2], E_QImode))
24689 : : return -1;
24690 : : x22 = XEXP (x14, 0);
24691 : : operands[1] = x22;
24692 : : x23 = XEXP (x18, 1);
24693 : : operands[3] = x23;
24694 : : if (!const_int_operand (operands[3], E_QImode))
24695 : : return -1;
24696 : : x7 = XVECEXP (x1, 0, 1);
24697 : : x8 = XEXP (x7, 0);
24698 : : operands[0] = x8;
24699 : : x24 = XEXP (x18, 0);
24700 : : if (!rtx_equal_p (x24, operands[2]))
24701 : : return -1;
24702 : : switch (GET_MODE (x4))
24703 : : {
24704 : : case E_SImode:
24705 : : if (GET_MODE (x14) != E_SImode
24706 : : || !nonimmediate_operand (operands[1], E_SImode)
24707 : : || !scratch_operand (operands[0], E_SImode)
24708 : : || !
24709 : : #line 21934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24710 : : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
24711 : : return -1;
24712 : : return 1586; /* *bmi2_bzhi_si3_1_ccz */
24713 : :
24714 : : case E_DImode:
24715 : : if (GET_MODE (x14) != E_DImode
24716 : : || !nonimmediate_operand (operands[1], E_DImode)
24717 : : || !scratch_operand (operands[0], E_DImode)
24718 : : || !(
24719 : : #line 21934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24720 : : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
24721 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24722 : : (TARGET_64BIT)))
24723 : : return -1;
24724 : : return 1587; /* *bmi2_bzhi_di3_1_ccz */
24725 : :
24726 : : default:
24727 : : return -1;
24728 : : }
24729 : :
24730 : : case UNSPEC_VOLATILE:
24731 : : if (XVECLEN (x4, 0) != 2
24732 : : || XINT (x4, 1) != 110)
24733 : : return -1;
24734 : : x6 = XEXP (x3, 1);
24735 : : if (GET_CODE (x6) != CONST_INT)
24736 : : return -1;
24737 : : operands[2] = x6;
24738 : : res = recog_382 (x1, insn, pnum_clobbers);
24739 : : if (res >= 0)
24740 : : return res;
24741 : : if (XWINT (x6, 0) != 0L)
24742 : : return -1;
24743 : : x5 = XEXP (x2, 0);
24744 : : if (GET_CODE (x5) != REG
24745 : : || REGNO (x5) != 17
24746 : : || GET_MODE (x5) != E_CCCmode)
24747 : : return -1;
24748 : : x7 = XVECEXP (x1, 0, 1);
24749 : : if (GET_CODE (x7) != SET)
24750 : : return -1;
24751 : : x8 = XEXP (x7, 0);
24752 : : if (GET_CODE (x8) != ZERO_EXTRACT)
24753 : : return -1;
24754 : : x25 = XEXP (x8, 1);
24755 : : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
24756 : : || GET_MODE (x3) != E_CCCmode)
24757 : : return -1;
24758 : : x15 = XVECEXP (x4, 0, 0);
24759 : : operands[0] = x15;
24760 : : x16 = XVECEXP (x4, 0, 1);
24761 : : operands[2] = x16;
24762 : : if (!const_int_operand (operands[2], E_SImode))
24763 : : return -1;
24764 : : x26 = XEXP (x8, 2);
24765 : : operands[1] = x26;
24766 : : x27 = XEXP (x8, 0);
24767 : : if (!rtx_equal_p (x27, operands[0]))
24768 : : return -1;
24769 : : x9 = XEXP (x7, 1);
24770 : : switch (GET_CODE (x9))
24771 : : {
24772 : : case CONST_INT:
24773 : : switch (XWINT (x9, 0))
24774 : : {
24775 : : case 1L:
24776 : : switch (pattern1756 (x1))
24777 : : {
24778 : : case 0:
24779 : : return 11067; /* atomic_bit_test_and_sethi_1 */
24780 : :
24781 : : case 1:
24782 : : return 11068; /* atomic_bit_test_and_setsi_1 */
24783 : :
24784 : : case 2:
24785 : : if (!
24786 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24787 : : (TARGET_64BIT))
24788 : : return -1;
24789 : : return 11069; /* atomic_bit_test_and_setdi_1 */
24790 : :
24791 : : default:
24792 : : return -1;
24793 : : }
24794 : :
24795 : : case 0L:
24796 : : switch (pattern1756 (x1))
24797 : : {
24798 : : case 0:
24799 : : return 11073; /* atomic_bit_test_and_resethi_1 */
24800 : :
24801 : : case 1:
24802 : : return 11074; /* atomic_bit_test_and_resetsi_1 */
24803 : :
24804 : : case 2:
24805 : : if (!
24806 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24807 : : (TARGET_64BIT))
24808 : : return -1;
24809 : : return 11075; /* atomic_bit_test_and_resetdi_1 */
24810 : :
24811 : : default:
24812 : : return -1;
24813 : : }
24814 : :
24815 : : default:
24816 : : return -1;
24817 : : }
24818 : :
24819 : : case NOT:
24820 : : x10 = XEXP (x9, 0);
24821 : : if (GET_CODE (x10) != ZERO_EXTRACT)
24822 : : return -1;
24823 : : x28 = XEXP (x10, 1);
24824 : : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24825 : : return -1;
24826 : : x29 = XEXP (x10, 0);
24827 : : if (!rtx_equal_p (x29, operands[0]))
24828 : : return -1;
24829 : : x30 = XEXP (x10, 2);
24830 : : if (!rtx_equal_p (x30, operands[1]))
24831 : : return -1;
24832 : : switch (GET_MODE (x4))
24833 : : {
24834 : : case E_HImode:
24835 : : if (pattern1821 (x7,
24836 : : E_HImode) != 0)
24837 : : return -1;
24838 : : return 11070; /* atomic_bit_test_and_complementhi_1 */
24839 : :
24840 : : case E_SImode:
24841 : : if (pattern1821 (x7,
24842 : : E_SImode) != 0)
24843 : : return -1;
24844 : : return 11071; /* atomic_bit_test_and_complementsi_1 */
24845 : :
24846 : : case E_DImode:
24847 : : if (pattern1821 (x7,
24848 : : E_DImode) != 0
24849 : : || !
24850 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24851 : : (TARGET_64BIT))
24852 : : return -1;
24853 : : return 11072; /* atomic_bit_test_and_complementdi_1 */
24854 : :
24855 : : default:
24856 : : return -1;
24857 : : }
24858 : :
24859 : : default:
24860 : : return -1;
24861 : : }
24862 : :
24863 : : default:
24864 : : return -1;
24865 : : }
24866 : : }
24867 : :
24868 : : int
24869 : : recog_427 (rtx x1 ATTRIBUTE_UNUSED,
24870 : : rtx_insn *insn ATTRIBUTE_UNUSED,
24871 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
24872 : : {
24873 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24874 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24875 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24876 : : rtx x18, x19;
24877 : : int res ATTRIBUTE_UNUSED;
24878 : : x2 = XVECEXP (x1, 0, 0);
24879 : : x3 = XEXP (x2, 1);
24880 : : switch (GET_CODE (x3))
24881 : : {
24882 : : case UNSPEC:
24883 : : return recog_422 (x1, insn, pnum_clobbers);
24884 : :
24885 : : case SIGN_EXTEND:
24886 : : x4 = XVECEXP (x1, 0, 2);
24887 : : if (GET_CODE (x4) != CLOBBER)
24888 : : return -1;
24889 : : x5 = XEXP (x2, 0);
24890 : : operands[0] = x5;
24891 : : x6 = XEXP (x3, 0);
24892 : : switch (GET_CODE (x6))
24893 : : {
24894 : : case REG:
24895 : : case SUBREG:
24896 : : operands[1] = x6;
24897 : : x7 = XVECEXP (x1, 0, 1);
24898 : : if (pattern227 (x7,
24899 : : E_CCmode,
24900 : : 17) != 0)
24901 : : return -1;
24902 : : x8 = XEXP (x4, 0);
24903 : : operands[2] = x8;
24904 : : switch (GET_MODE (operands[0]))
24905 : : {
24906 : : case E_DImode:
24907 : : if (pattern1441 (x3,
24908 : : E_SImode,
24909 : : E_DImode) != 0
24910 : : || !
24911 : : #line 4985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24912 : : (!TARGET_64BIT))
24913 : : return -1;
24914 : : return 185; /* extendsidi2_1 */
24915 : :
24916 : : case E_TImode:
24917 : : if (pattern1441 (x3,
24918 : : E_DImode,
24919 : : E_TImode) != 0
24920 : : || !
24921 : : #line 4993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24922 : : (TARGET_64BIT))
24923 : : return -1;
24924 : : return 186; /* extendditi2 */
24925 : :
24926 : : default:
24927 : : return -1;
24928 : : }
24929 : :
24930 : : case CTZ:
24931 : : if (GET_MODE (x6) != E_SImode)
24932 : : return -1;
24933 : : x7 = XVECEXP (x1, 0, 1);
24934 : : if (GET_CODE (x7) != UNSPEC
24935 : : || XVECLEN (x7, 0) != 1
24936 : : || XINT (x7, 1) != 38)
24937 : : return -1;
24938 : : x8 = XEXP (x4, 0);
24939 : : if (GET_CODE (x8) != REG
24940 : : || REGNO (x8) != 17
24941 : : || GET_MODE (x8) != E_CCmode
24942 : : || !register_operand (operands[0], E_DImode)
24943 : : || GET_MODE (x3) != E_DImode)
24944 : : return -1;
24945 : : x9 = XEXP (x6, 0);
24946 : : operands[1] = x9;
24947 : : if (!nonimmediate_operand (operands[1], E_SImode))
24948 : : return -1;
24949 : : x10 = XVECEXP (x7, 0, 0);
24950 : : operands[2] = x10;
24951 : : if (!register_operand (operands[2], E_DImode)
24952 : : || !
24953 : : #line 21224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24954 : : (TARGET_64BIT))
24955 : : return -1;
24956 : : return 1522; /* *ctzsidi2_sext_falsedep */
24957 : :
24958 : : default:
24959 : : return -1;
24960 : : }
24961 : :
24962 : : case FIX:
24963 : : x7 = XVECEXP (x1, 0, 1);
24964 : : if (GET_CODE (x7) != USE)
24965 : : return -1;
24966 : : x4 = XVECEXP (x1, 0, 2);
24967 : : if (GET_CODE (x4) != USE)
24968 : : return -1;
24969 : : x5 = XEXP (x2, 0);
24970 : : operands[0] = x5;
24971 : : x6 = XEXP (x3, 0);
24972 : : operands[1] = x6;
24973 : : if (!register_operand (operands[1], E_VOIDmode))
24974 : : return -1;
24975 : : switch (pattern824 (x1, pnum_clobbers))
24976 : : {
24977 : : case 0:
24978 : : if (!
24979 : : #line 6021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24980 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24981 : : && !TARGET_FISTTP
24982 : : && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
24983 : : return -1;
24984 : : *pnum_clobbers = 1;
24985 : : return 235; /* fix_truncdi_i387 */
24986 : :
24987 : : case 1:
24988 : : if (!
24989 : : #line 6034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24990 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24991 : : && !TARGET_FISTTP
24992 : : && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
24993 : : return -1;
24994 : : return 236; /* fix_trunchi_i387 */
24995 : :
24996 : : case 2:
24997 : : if (!
24998 : : #line 6034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24999 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
25000 : : && !TARGET_FISTTP
25001 : : && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
25002 : : return -1;
25003 : : return 237; /* fix_truncsi_i387 */
25004 : :
25005 : : default:
25006 : : return -1;
25007 : : }
25008 : :
25009 : : case UNSIGNED_FLOAT:
25010 : : x7 = XVECEXP (x1, 0, 1);
25011 : : if (GET_CODE (x7) != CLOBBER)
25012 : : return -1;
25013 : : x4 = XVECEXP (x1, 0, 2);
25014 : : if (GET_CODE (x4) != CLOBBER)
25015 : : return -1;
25016 : : switch (pattern573 (x1))
25017 : : {
25018 : : case 0:
25019 : : if (!
25020 : : #line 6297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25021 : : (!TARGET_64BIT
25022 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
25023 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
25024 : : return -1;
25025 : : return 261; /* floatunssisf2_i387_with_xmm */
25026 : :
25027 : : case 1:
25028 : : if (!
25029 : : #line 6297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25030 : : (!TARGET_64BIT
25031 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
25032 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
25033 : : return -1;
25034 : : return 262; /* floatunssidf2_i387_with_xmm */
25035 : :
25036 : : case 2:
25037 : : if (!
25038 : : #line 6297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25039 : : (!TARGET_64BIT
25040 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
25041 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
25042 : : return -1;
25043 : : return 263; /* floatunssixf2_i387_with_xmm */
25044 : :
25045 : : default:
25046 : : return -1;
25047 : : }
25048 : :
25049 : : case EQ:
25050 : : return recog_426 (x1, insn, pnum_clobbers);
25051 : :
25052 : : case SMUL_HIGHPART:
25053 : : switch (pattern215 (x1))
25054 : : {
25055 : : case 0:
25056 : : if (!
25057 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25058 : : (!TARGET_64BIT))
25059 : : return -1;
25060 : : return 627; /* smulsi3_highpart */
25061 : :
25062 : : case 1:
25063 : : if (!
25064 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25065 : : (TARGET_64BIT))
25066 : : return -1;
25067 : : return 629; /* smuldi3_highpart */
25068 : :
25069 : : default:
25070 : : return -1;
25071 : : }
25072 : :
25073 : : case UMUL_HIGHPART:
25074 : : switch (pattern215 (x1))
25075 : : {
25076 : : case 0:
25077 : : if (!
25078 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25079 : : (!TARGET_64BIT))
25080 : : return -1;
25081 : : return 628; /* umulsi3_highpart */
25082 : :
25083 : : case 1:
25084 : : if (!
25085 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25086 : : (TARGET_64BIT))
25087 : : return -1;
25088 : : return 630; /* umuldi3_highpart */
25089 : :
25090 : : default:
25091 : : return -1;
25092 : : }
25093 : :
25094 : : case ZERO_EXTEND:
25095 : : return recog_423 (x1, insn, pnum_clobbers);
25096 : :
25097 : : case TRUNCATE:
25098 : : x6 = XEXP (x3, 0);
25099 : : if (GET_CODE (x6) != LSHIFTRT)
25100 : : return -1;
25101 : : x9 = XEXP (x6, 0);
25102 : : if (GET_CODE (x9) != MULT)
25103 : : return -1;
25104 : : x11 = XEXP (x6, 1);
25105 : : if (GET_CODE (x11) != CONST_INT)
25106 : : return -1;
25107 : : x7 = XVECEXP (x1, 0, 1);
25108 : : if (GET_CODE (x7) != CLOBBER
25109 : : || pattern828 (x1) != 0)
25110 : : return -1;
25111 : : x12 = XEXP (x7, 0);
25112 : : operands[3] = x12;
25113 : : x13 = XEXP (x9, 0);
25114 : : switch (GET_CODE (x13))
25115 : : {
25116 : : case SIGN_EXTEND:
25117 : : switch (pattern1501 (x3,
25118 : : SIGN_EXTEND))
25119 : : {
25120 : : case 0:
25121 : : if (!
25122 : : #line 11174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25123 : : (TARGET_64BIT
25124 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
25125 : : return -1;
25126 : : return 633; /* *smuldi3_highpart_1 */
25127 : :
25128 : : case 1:
25129 : : if (!
25130 : : #line 11223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25131 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
25132 : : return -1;
25133 : : return 637; /* *smulsi3_highpart_1 */
25134 : :
25135 : : default:
25136 : : return -1;
25137 : : }
25138 : :
25139 : : case ZERO_EXTEND:
25140 : : switch (pattern1501 (x3,
25141 : : ZERO_EXTEND))
25142 : : {
25143 : : case 0:
25144 : : if (!
25145 : : #line 11174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25146 : : (TARGET_64BIT
25147 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
25148 : : return -1;
25149 : : return 634; /* *umuldi3_highpart_1 */
25150 : :
25151 : : case 1:
25152 : : if (!
25153 : : #line 11223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25154 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
25155 : : return -1;
25156 : : return 638; /* *umulsi3_highpart_1 */
25157 : :
25158 : : default:
25159 : : return -1;
25160 : : }
25161 : :
25162 : : default:
25163 : : return -1;
25164 : : }
25165 : :
25166 : : case DIV:
25167 : : switch (pattern216 (x1))
25168 : : {
25169 : : case 0:
25170 : : switch (pattern1336 (x1, pnum_clobbers))
25171 : : {
25172 : : case 0:
25173 : : *pnum_clobbers = 1;
25174 : : return 639; /* divmodsi4_1 */
25175 : :
25176 : : case 1:
25177 : : if (!
25178 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25179 : : (TARGET_64BIT))
25180 : : return -1;
25181 : : *pnum_clobbers = 1;
25182 : : return 640; /* divmoddi4_1 */
25183 : :
25184 : : case 2:
25185 : : if (!
25186 : : #line 1191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25187 : : (TARGET_HIMODE_MATH))
25188 : : return -1;
25189 : : return 647; /* *divmodhi4 */
25190 : :
25191 : : case 3:
25192 : : return 648; /* *divmodsi4 */
25193 : :
25194 : : case 4:
25195 : : if (!
25196 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25197 : : (TARGET_64BIT))
25198 : : return -1;
25199 : : return 649; /* *divmoddi4 */
25200 : :
25201 : : case 5:
25202 : : if ((
25203 : : #line 11851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25204 : : (TARGET_APX_NF) &&
25205 : : #line 1191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25206 : : (TARGET_HIMODE_MATH)))
25207 : : return 661; /* *divmodhi4_noext_nf */
25208 : : if (pnum_clobbers == NULL
25209 : : || !
25210 : : #line 1191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25211 : : (TARGET_HIMODE_MATH))
25212 : : return -1;
25213 : : *pnum_clobbers = 1;
25214 : : return 667; /* *divmodhi4_noext */
25215 : :
25216 : : case 6:
25217 : : if (
25218 : : #line 11851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25219 : : (TARGET_APX_NF))
25220 : : return 663; /* *divmodsi4_noext_nf */
25221 : : if (pnum_clobbers == NULL)
25222 : : return -1;
25223 : : *pnum_clobbers = 1;
25224 : : return 669; /* *divmodsi4_noext */
25225 : :
25226 : : case 7:
25227 : : if ((
25228 : : #line 11851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25229 : : (TARGET_APX_NF) &&
25230 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25231 : : (TARGET_64BIT)))
25232 : : return 665; /* *divmoddi4_noext_nf */
25233 : : if (pnum_clobbers == NULL
25234 : : || !
25235 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25236 : : (TARGET_64BIT))
25237 : : return -1;
25238 : : *pnum_clobbers = 1;
25239 : : return 671; /* *divmoddi4_noext */
25240 : :
25241 : : default:
25242 : : return -1;
25243 : : }
25244 : :
25245 : : case 1:
25246 : : if (!const_int_operand (operands[2], E_SImode))
25247 : : return -1;
25248 : : x4 = XVECEXP (x1, 0, 2);
25249 : : if (pattern953 (x4,
25250 : : E_CCmode,
25251 : : 17) != 0
25252 : : || pattern1496 (x1) != 0
25253 : : || !
25254 : : #line 11907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25255 : : (!optimize_function_for_size_p (cfun)))
25256 : : return -1;
25257 : : return 677; /* *divmodsi4_const */
25258 : :
25259 : : default:
25260 : : return -1;
25261 : : }
25262 : :
25263 : : case UDIV:
25264 : : switch (pattern217 (x1))
25265 : : {
25266 : : case 0:
25267 : : switch (pattern1336 (x1, pnum_clobbers))
25268 : : {
25269 : : case 0:
25270 : : *pnum_clobbers = 1;
25271 : : return 641; /* udivmodsi4_1 */
25272 : :
25273 : : case 1:
25274 : : if (!
25275 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25276 : : (TARGET_64BIT))
25277 : : return -1;
25278 : : *pnum_clobbers = 1;
25279 : : return 642; /* udivmoddi4_1 */
25280 : :
25281 : : case 2:
25282 : : if (!
25283 : : #line 1191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25284 : : (TARGET_HIMODE_MATH))
25285 : : return -1;
25286 : : return 650; /* *udivmodhi4 */
25287 : :
25288 : : case 3:
25289 : : return 651; /* *udivmodsi4 */
25290 : :
25291 : : case 4:
25292 : : if (!
25293 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25294 : : (TARGET_64BIT))
25295 : : return -1;
25296 : : return 652; /* *udivmoddi4 */
25297 : :
25298 : : case 5:
25299 : : if ((
25300 : : #line 11851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25301 : : (TARGET_APX_NF) &&
25302 : : #line 1191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25303 : : (TARGET_HIMODE_MATH)))
25304 : : return 662; /* *udivmodhi4_noext_nf */
25305 : : if (pnum_clobbers == NULL
25306 : : || !
25307 : : #line 1191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25308 : : (TARGET_HIMODE_MATH))
25309 : : return -1;
25310 : : *pnum_clobbers = 1;
25311 : : return 668; /* *udivmodhi4_noext */
25312 : :
25313 : : case 6:
25314 : : if (
25315 : : #line 11851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25316 : : (TARGET_APX_NF))
25317 : : return 664; /* *udivmodsi4_noext_nf */
25318 : : if (pnum_clobbers == NULL)
25319 : : return -1;
25320 : : *pnum_clobbers = 1;
25321 : : return 670; /* *udivmodsi4_noext */
25322 : :
25323 : : case 7:
25324 : : if ((
25325 : : #line 11851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25326 : : (TARGET_APX_NF) &&
25327 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25328 : : (TARGET_64BIT)))
25329 : : return 666; /* *udivmoddi4_noext_nf */
25330 : : if (pnum_clobbers == NULL
25331 : : || !
25332 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25333 : : (TARGET_64BIT))
25334 : : return -1;
25335 : : *pnum_clobbers = 1;
25336 : : return 672; /* *udivmoddi4_noext */
25337 : :
25338 : : default:
25339 : : return -1;
25340 : : }
25341 : :
25342 : : case 1:
25343 : : x4 = XVECEXP (x1, 0, 2);
25344 : : if (pattern953 (x4,
25345 : : E_CCmode,
25346 : : 17) != 0)
25347 : : return -1;
25348 : : switch (GET_MODE (operands[0]))
25349 : : {
25350 : : case E_SImode:
25351 : : if (pattern1497 (x1,
25352 : : E_SImode) != 0
25353 : : || !
25354 : : #line 11660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25355 : : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
25356 : : return -1;
25357 : : return 653; /* *udivmodsi4_pow2 */
25358 : :
25359 : : case E_DImode:
25360 : : if (pattern1497 (x1,
25361 : : E_DImode) != 0
25362 : : || !(
25363 : : #line 11660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25364 : : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)) &&
25365 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25366 : : (TARGET_64BIT)))
25367 : : return -1;
25368 : : return 654; /* *udivmoddi4_pow2 */
25369 : :
25370 : : default:
25371 : : return -1;
25372 : : }
25373 : :
25374 : : default:
25375 : : return -1;
25376 : : }
25377 : :
25378 : : case ABS:
25379 : : switch (pattern219 (x1))
25380 : : {
25381 : : case 0:
25382 : : if (!
25383 : : #line 14834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25384 : : (TARGET_AVX512FP16))
25385 : : return -1;
25386 : : return 1016; /* *abshf2_1 */
25387 : :
25388 : : case 1:
25389 : : if (!
25390 : : #line 14850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25391 : : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
25392 : : return -1;
25393 : : return 1018; /* *abssf2_1 */
25394 : :
25395 : : case 2:
25396 : : if (!
25397 : : #line 14850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25398 : : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
25399 : : return -1;
25400 : : return 1020; /* *absdf2_1 */
25401 : :
25402 : : default:
25403 : : return -1;
25404 : : }
25405 : :
25406 : : case NEG:
25407 : : switch (pattern219 (x1))
25408 : : {
25409 : : case 0:
25410 : : if (!
25411 : : #line 14834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25412 : : (TARGET_AVX512FP16))
25413 : : return -1;
25414 : : return 1017; /* *neghf2_1 */
25415 : :
25416 : : case 1:
25417 : : if (!
25418 : : #line 14850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25419 : : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
25420 : : return -1;
25421 : : return 1019; /* *negsf2_1 */
25422 : :
25423 : : case 2:
25424 : : if (!
25425 : : #line 14850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25426 : : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
25427 : : return -1;
25428 : : return 1021; /* *negdf2_1 */
25429 : :
25430 : : default:
25431 : : return -1;
25432 : : }
25433 : :
25434 : : case ROTATE:
25435 : : switch (pattern221 (x1))
25436 : : {
25437 : : case 0:
25438 : : if (!
25439 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25440 : : (!TARGET_64BIT))
25441 : : return -1;
25442 : : return 1332; /* ix86_rotldi3_doubleword */
25443 : :
25444 : : case 1:
25445 : : if (!
25446 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25447 : : (TARGET_64BIT))
25448 : : return -1;
25449 : : return 1333; /* ix86_rotlti3_doubleword */
25450 : :
25451 : : default:
25452 : : return -1;
25453 : : }
25454 : :
25455 : : case ROTATERT:
25456 : : switch (pattern221 (x1))
25457 : : {
25458 : : case 0:
25459 : : if (!
25460 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25461 : : (!TARGET_64BIT))
25462 : : return -1;
25463 : : return 1334; /* ix86_rotrdi3_doubleword */
25464 : :
25465 : : case 1:
25466 : : if (!
25467 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25468 : : (TARGET_64BIT))
25469 : : return -1;
25470 : : return 1335; /* ix86_rotrti3_doubleword */
25471 : :
25472 : : default:
25473 : : return -1;
25474 : : }
25475 : :
25476 : : case CALL:
25477 : : x6 = XEXP (x3, 0);
25478 : : if (GET_CODE (x6) != MEM
25479 : : || GET_MODE (x6) != E_QImode
25480 : : || pattern382 (x1) != 0)
25481 : : return -1;
25482 : : x5 = XEXP (x2, 0);
25483 : : operands[0] = x5;
25484 : : x9 = XEXP (x6, 0);
25485 : : operands[1] = x9;
25486 : : if (!memory_operand (operands[1], E_SImode))
25487 : : return -1;
25488 : : x14 = XEXP (x3, 1);
25489 : : operands[2] = x14;
25490 : : x7 = XVECEXP (x1, 0, 1);
25491 : : x15 = XEXP (x7, 1);
25492 : : x16 = XEXP (x15, 1);
25493 : : operands[3] = x16;
25494 : : if (!immediate_operand (operands[3], E_SImode)
25495 : : || !
25496 : : #line 20483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25497 : : (!TARGET_64BIT))
25498 : : return -1;
25499 : : return 1485; /* *sibcall_value_pop_memory */
25500 : :
25501 : : case PLUS:
25502 : : x4 = XVECEXP (x1, 0, 2);
25503 : : if (pattern222 (x4) != 0)
25504 : : return -1;
25505 : : x6 = XEXP (x3, 0);
25506 : : if (GET_CODE (x6) == REG
25507 : : && REGNO (x6) == 6)
25508 : : {
25509 : : x14 = XEXP (x3, 1);
25510 : : if (GET_CODE (x14) == CONST_INT)
25511 : : {
25512 : : x5 = XEXP (x2, 0);
25513 : : if (GET_CODE (x5) == REG
25514 : : && REGNO (x5) == 7)
25515 : : {
25516 : : x7 = XVECEXP (x1, 0, 1);
25517 : : if (pattern712 (x7,
25518 : : 6,
25519 : : MEM) == 0)
25520 : : {
25521 : : switch (XWINT (x14, 0))
25522 : : {
25523 : : case 4L:
25524 : : if (pattern1679 (x1,
25525 : : E_SImode) == 0
25526 : : &&
25527 : : #line 20889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25528 : : (!TARGET_64BIT))
25529 : : return 1504; /* *leave */
25530 : : break;
25531 : :
25532 : : case 8L:
25533 : : if (pattern1679 (x1,
25534 : : E_DImode) == 0
25535 : : &&
25536 : : #line 20897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25537 : : (TARGET_64BIT))
25538 : : return 1505; /* *leave_rex64 */
25539 : : break;
25540 : :
25541 : : default:
25542 : : break;
25543 : : }
25544 : : }
25545 : : }
25546 : : }
25547 : : }
25548 : : x7 = XVECEXP (x1, 0, 1);
25549 : : if (GET_CODE (x7) != CLOBBER)
25550 : : return -1;
25551 : : x12 = XEXP (x7, 0);
25552 : : if (GET_CODE (x12) != REG
25553 : : || REGNO (x12) != 17
25554 : : || GET_MODE (x12) != E_CCmode)
25555 : : return -1;
25556 : : x5 = XEXP (x2, 0);
25557 : : operands[0] = x5;
25558 : : operands[1] = x6;
25559 : : x14 = XEXP (x3, 1);
25560 : : operands[2] = x14;
25561 : : switch (GET_MODE (operands[0]))
25562 : : {
25563 : : case E_SImode:
25564 : : if (pattern1505 (x3,
25565 : : E_SImode) != 0
25566 : : || !
25567 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25568 : : (Pmode == SImode))
25569 : : return -1;
25570 : : return 1849; /* pro_epilogue_adjust_stack_add_si */
25571 : :
25572 : : case E_DImode:
25573 : : if (pattern1505 (x3,
25574 : : E_DImode) != 0
25575 : : || !
25576 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25577 : : (Pmode == DImode))
25578 : : return -1;
25579 : : return 1850; /* pro_epilogue_adjust_stack_add_di */
25580 : :
25581 : : default:
25582 : : return -1;
25583 : : }
25584 : :
25585 : : case FFS:
25586 : : if (GET_MODE (x3) != E_SImode)
25587 : : return -1;
25588 : : x7 = XVECEXP (x1, 0, 1);
25589 : : if (GET_CODE (x7) != CLOBBER)
25590 : : return -1;
25591 : : x4 = XVECEXP (x1, 0, 2);
25592 : : if (GET_CODE (x4) != CLOBBER
25593 : : || pattern711 (x1) != 0
25594 : : || !
25595 : : #line 20992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25596 : : (!TARGET_CMOVE))
25597 : : return -1;
25598 : : return 1507; /* ffssi2_no_cmove */
25599 : :
25600 : : case COMPARE:
25601 : : if (GET_MODE (x3) != E_CCCmode)
25602 : : return -1;
25603 : : x14 = XEXP (x3, 1);
25604 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
25605 : : || pattern574 (x1,
25606 : : CTZ,
25607 : : E_CCCmode) != 0)
25608 : : return -1;
25609 : : x4 = XVECEXP (x1, 0, 2);
25610 : : if (GET_CODE (x4) != UNSPEC
25611 : : || XVECLEN (x4, 0) != 1
25612 : : || XINT (x4, 1) != 38)
25613 : : return -1;
25614 : : x6 = XEXP (x3, 0);
25615 : : operands[1] = x6;
25616 : : x7 = XVECEXP (x1, 0, 1);
25617 : : x12 = XEXP (x7, 0);
25618 : : operands[0] = x12;
25619 : : x17 = XVECEXP (x4, 0, 0);
25620 : : operands[2] = x17;
25621 : : x15 = XEXP (x7, 1);
25622 : : x18 = XEXP (x15, 0);
25623 : : if (!rtx_equal_p (x18, operands[1]))
25624 : : return -1;
25625 : : switch (GET_MODE (operands[1]))
25626 : : {
25627 : : case E_SImode:
25628 : : if (pattern1658 (x15,
25629 : : E_SImode) != 0
25630 : : || !
25631 : : #line 21050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25632 : : (TARGET_BMI))
25633 : : return -1;
25634 : : return 1510; /* *tzcntsi_1_falsedep */
25635 : :
25636 : : case E_DImode:
25637 : : if (pattern1658 (x15,
25638 : : E_DImode) != 0
25639 : : || !(
25640 : : #line 21050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25641 : : (TARGET_BMI) &&
25642 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25643 : : (TARGET_64BIT)))
25644 : : return -1;
25645 : : return 1511; /* *tzcntdi_1_falsedep */
25646 : :
25647 : : default:
25648 : : return -1;
25649 : : }
25650 : :
25651 : : case CTZ:
25652 : : switch (pattern225 (x1))
25653 : : {
25654 : : case 0:
25655 : : return 1516; /* *ctzsi2_falsedep */
25656 : :
25657 : : case 1:
25658 : : if (!
25659 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25660 : : (TARGET_64BIT))
25661 : : return -1;
25662 : : return 1517; /* *ctzdi2_falsedep */
25663 : :
25664 : : default:
25665 : : return -1;
25666 : : }
25667 : :
25668 : : case AND:
25669 : : if (GET_MODE (x3) != E_DImode)
25670 : : return -1;
25671 : : x6 = XEXP (x3, 0);
25672 : : if (GET_CODE (x6) != SUBREG
25673 : : || maybe_ne (SUBREG_BYTE (x6), 0)
25674 : : || GET_MODE (x6) != E_DImode)
25675 : : return -1;
25676 : : x14 = XEXP (x3, 1);
25677 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
25678 : : return -1;
25679 : : x7 = XVECEXP (x1, 0, 1);
25680 : : if (GET_CODE (x7) != UNSPEC
25681 : : || XVECLEN (x7, 0) != 1
25682 : : || XINT (x7, 1) != 38
25683 : : || pattern828 (x1) != 0
25684 : : || !register_operand (operands[0], E_DImode))
25685 : : return -1;
25686 : : x9 = XEXP (x6, 0);
25687 : : if (GET_MODE (x9) != E_SImode)
25688 : : return -1;
25689 : : x10 = XVECEXP (x7, 0, 0);
25690 : : operands[2] = x10;
25691 : : if (!register_operand (operands[2], E_DImode))
25692 : : return -1;
25693 : : switch (GET_CODE (x9))
25694 : : {
25695 : : case CTZ:
25696 : : x13 = XEXP (x9, 0);
25697 : : operands[1] = x13;
25698 : : if (!nonimmediate_operand (operands[1], E_SImode)
25699 : : || !
25700 : : #line 21172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25701 : : (TARGET_BMI && TARGET_64BIT))
25702 : : return -1;
25703 : : return 1519; /* *ctzsi2_zext_falsedep */
25704 : :
25705 : : case CLZ:
25706 : : x13 = XEXP (x9, 0);
25707 : : operands[1] = x13;
25708 : : switch (GET_MODE (operands[1]))
25709 : : {
25710 : : case E_SImode:
25711 : : if (!nonimmediate_operand (operands[1], E_SImode)
25712 : : || !
25713 : : #line 21608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25714 : : (TARGET_LZCNT))
25715 : : return -1;
25716 : : return 1541; /* *clzsi2_lzcnt_zext_falsedep */
25717 : :
25718 : : case E_DImode:
25719 : : if (!nonimmediate_operand (operands[1], E_DImode)
25720 : : || !(
25721 : : #line 21608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25722 : : (TARGET_LZCNT) &&
25723 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25724 : : (TARGET_64BIT)))
25725 : : return -1;
25726 : : return 1542; /* *clzsi2_lzcnt_zext_falsedep */
25727 : :
25728 : : default:
25729 : : return -1;
25730 : : }
25731 : :
25732 : : case POPCOUNT:
25733 : : x13 = XEXP (x9, 0);
25734 : : operands[1] = x13;
25735 : : if (!nonimmediate_operand (operands[1], E_SImode)
25736 : : || !
25737 : : #line 22295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25738 : : (TARGET_POPCNT && TARGET_64BIT))
25739 : : return -1;
25740 : : return 1627; /* *popcountsi2_zext_falsedep */
25741 : :
25742 : : default:
25743 : : return -1;
25744 : : }
25745 : :
25746 : : case CLZ:
25747 : : switch (pattern225 (x1))
25748 : : {
25749 : : case 0:
25750 : : if (!
25751 : : #line 21565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25752 : : (TARGET_LZCNT))
25753 : : return -1;
25754 : : return 1538; /* *clzsi2_lzcnt_falsedep */
25755 : :
25756 : : case 1:
25757 : : if (!(
25758 : : #line 21565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25759 : : (TARGET_LZCNT) &&
25760 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25761 : : (TARGET_64BIT)))
25762 : : return -1;
25763 : : return 1539; /* *clzdi2_lzcnt_falsedep */
25764 : :
25765 : : default:
25766 : : return -1;
25767 : : }
25768 : :
25769 : : case POPCOUNT:
25770 : : switch (pattern225 (x1))
25771 : : {
25772 : : case 0:
25773 : : if (!
25774 : : #line 22240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25775 : : (TARGET_POPCNT))
25776 : : return -1;
25777 : : return 1624; /* *popcountsi2_falsedep */
25778 : :
25779 : : case 1:
25780 : : if (!(
25781 : : #line 22240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25782 : : (TARGET_POPCNT) &&
25783 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25784 : : (TARGET_64BIT)))
25785 : : return -1;
25786 : : return 1625; /* *popcountdi2_falsedep */
25787 : :
25788 : : default:
25789 : : return -1;
25790 : : }
25791 : :
25792 : : case MEM:
25793 : : return recog_425 (x1, insn, pnum_clobbers);
25794 : :
25795 : : case REG:
25796 : : case SUBREG:
25797 : : operands[2] = x3;
25798 : : if (pattern226 (x1) != 0)
25799 : : return -1;
25800 : : x4 = XVECEXP (x1, 0, 2);
25801 : : if (pattern381 (x4,
25802 : : 36) != 0)
25803 : : return -1;
25804 : : x5 = XEXP (x2, 0);
25805 : : x19 = XEXP (x5, 0);
25806 : : operands[1] = x19;
25807 : : x7 = XVECEXP (x1, 0, 1);
25808 : : x12 = XEXP (x7, 0);
25809 : : operands[0] = x12;
25810 : : x15 = XEXP (x7, 1);
25811 : : x18 = XEXP (x15, 0);
25812 : : if (!rtx_equal_p (x18, operands[1]))
25813 : : return -1;
25814 : : x16 = XEXP (x15, 1);
25815 : : switch (XWINT (x16, 0))
25816 : : {
25817 : : case 8L:
25818 : : switch (pattern1573 (x1,
25819 : : E_DImode))
25820 : : {
25821 : : case 0:
25822 : : if (!(
25823 : : #line 25704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25824 : : (TARGET_64BIT
25825 : : && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25826 : : && ix86_check_no_addr_space (insn)) &&
25827 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25828 : : (Pmode == SImode)))
25829 : : return -1;
25830 : : return 1769; /* *strsetdi_rex_1 */
25831 : :
25832 : : case 1:
25833 : : if (!(
25834 : : #line 25704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25835 : : (TARGET_64BIT
25836 : : && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25837 : : && ix86_check_no_addr_space (insn)) &&
25838 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25839 : : (Pmode == DImode)))
25840 : : return -1;
25841 : : return 1770; /* *strsetdi_rex_1 */
25842 : :
25843 : : default:
25844 : : return -1;
25845 : : }
25846 : :
25847 : : case 4L:
25848 : : switch (pattern1573 (x1,
25849 : : E_SImode))
25850 : : {
25851 : : case 0:
25852 : : if (!(
25853 : : #line 25719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25854 : : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25855 : : && ix86_check_no_addr_space (insn)) &&
25856 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25857 : : (Pmode == SImode)))
25858 : : return -1;
25859 : : return 1771; /* *strsetsi_1 */
25860 : :
25861 : : case 1:
25862 : : if (!(
25863 : : #line 25719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25864 : : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25865 : : && ix86_check_no_addr_space (insn)) &&
25866 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25867 : : (Pmode == DImode)))
25868 : : return -1;
25869 : : return 1772; /* *strsetsi_1 */
25870 : :
25871 : : default:
25872 : : return -1;
25873 : : }
25874 : :
25875 : : case 2L:
25876 : : switch (pattern1573 (x1,
25877 : : E_HImode))
25878 : : {
25879 : : case 0:
25880 : : if (!(
25881 : : #line 25733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25882 : : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25883 : : && ix86_check_no_addr_space (insn)) &&
25884 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25885 : : (Pmode == SImode)))
25886 : : return -1;
25887 : : return 1773; /* *strsethi_1 */
25888 : :
25889 : : case 1:
25890 : : if (!(
25891 : : #line 25733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25892 : : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25893 : : && ix86_check_no_addr_space (insn)) &&
25894 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25895 : : (Pmode == DImode)))
25896 : : return -1;
25897 : : return 1774; /* *strsethi_1 */
25898 : :
25899 : : default:
25900 : : return -1;
25901 : : }
25902 : :
25903 : : case 1L:
25904 : : switch (pattern1573 (x1,
25905 : : E_QImode))
25906 : : {
25907 : : case 0:
25908 : : if (!(
25909 : : #line 25747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25910 : : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25911 : : && ix86_check_no_addr_space (insn)) &&
25912 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25913 : : (Pmode == SImode)))
25914 : : return -1;
25915 : : return 1775; /* *strsetqi_1 */
25916 : :
25917 : : case 1:
25918 : : if (!(
25919 : : #line 25747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25920 : : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25921 : : && ix86_check_no_addr_space (insn)) &&
25922 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25923 : : (Pmode == DImode)))
25924 : : return -1;
25925 : : return 1776; /* *strsetqi_1 */
25926 : :
25927 : : default:
25928 : : return -1;
25929 : : }
25930 : :
25931 : : default:
25932 : : return -1;
25933 : : }
25934 : :
25935 : : case MINUS:
25936 : : x7 = XVECEXP (x1, 0, 1);
25937 : : if (pattern227 (x7,
25938 : : E_CCmode,
25939 : : 17) != 0)
25940 : : return -1;
25941 : : x4 = XVECEXP (x1, 0, 2);
25942 : : if (pattern222 (x4) != 0)
25943 : : return -1;
25944 : : x5 = XEXP (x2, 0);
25945 : : operands[0] = x5;
25946 : : x6 = XEXP (x3, 0);
25947 : : operands[1] = x6;
25948 : : x14 = XEXP (x3, 1);
25949 : : operands[2] = x14;
25950 : : switch (GET_MODE (operands[0]))
25951 : : {
25952 : : case E_SImode:
25953 : : if (pattern568 (x3,
25954 : : E_SImode) != 0
25955 : : || !
25956 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25957 : : (Pmode == SImode))
25958 : : return -1;
25959 : : return 1851; /* pro_epilogue_adjust_stack_sub_si */
25960 : :
25961 : : case E_DImode:
25962 : : if (pattern568 (x3,
25963 : : E_DImode) != 0
25964 : : || !
25965 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25966 : : (Pmode == DImode))
25967 : : return -1;
25968 : : return 1852; /* pro_epilogue_adjust_stack_sub_di */
25969 : :
25970 : : default:
25971 : : return -1;
25972 : : }
25973 : :
25974 : : case UNSPEC_VOLATILE:
25975 : : return recog_424 (x1, insn, pnum_clobbers);
25976 : :
25977 : : default:
25978 : : return -1;
25979 : : }
25980 : : }
25981 : :
25982 : : rtx_insn *
25983 : : split_12 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25984 : : {
25985 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25986 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25987 : : rtx x10, x11;
25988 : : rtx_insn *res ATTRIBUTE_UNUSED;
25989 : : x2 = XEXP (x1, 1);
25990 : : x3 = XEXP (x2, 0);
25991 : : switch (GET_CODE (x3))
25992 : : {
25993 : : case NE:
25994 : : case EQ:
25995 : : operands[5] = x3;
25996 : : if (bt_comparison_operator (operands[5], E_VOIDmode))
25997 : : {
25998 : : res = split_3 (x1, insn);
25999 : : if (res != NULL_RTX)
26000 : : return res;
26001 : : }
26002 : : x4 = XEXP (x3, 0);
26003 : : if (!ix86_comparison_operator (x4, E_VOIDmode))
26004 : : return NULL;
26005 : : operands[0] = x4;
26006 : : x5 = XEXP (x4, 0);
26007 : : if (GET_CODE (x5) != REG
26008 : : || REGNO (x5) != 17)
26009 : : return NULL;
26010 : : x6 = XEXP (x4, 1);
26011 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26012 : : return NULL;
26013 : : x7 = XEXP (x3, 1);
26014 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26015 : : return NULL;
26016 : : x8 = XEXP (x2, 1);
26017 : : if (GET_CODE (x8) != LABEL_REF)
26018 : : return NULL;
26019 : : x9 = XEXP (x2, 2);
26020 : : if (GET_CODE (x9) != PC)
26021 : : return NULL;
26022 : : x10 = XEXP (x1, 0);
26023 : : if (GET_CODE (x10) != PC)
26024 : : return NULL;
26025 : : x11 = XEXP (x8, 0);
26026 : : operands[1] = x11;
26027 : : switch (GET_CODE (x3))
26028 : : {
26029 : : case NE:
26030 : : return gen_split_866 (insn, operands);
26031 : :
26032 : : case EQ:
26033 : : return gen_split_867 (insn, operands);
26034 : :
26035 : : default:
26036 : : return NULL;
26037 : : }
26038 : :
26039 : : case GEU:
26040 : : case LTU:
26041 : : operands[1] = x3;
26042 : : if (!add_comparison_operator (operands[1], E_VOIDmode))
26043 : : return NULL;
26044 : : x4 = XEXP (x3, 0);
26045 : : if (GET_CODE (x4) != NOT)
26046 : : return NULL;
26047 : : x8 = XEXP (x2, 1);
26048 : : if (GET_CODE (x8) != LABEL_REF)
26049 : : return NULL;
26050 : : x9 = XEXP (x2, 2);
26051 : : if (GET_CODE (x9) != PC)
26052 : : return NULL;
26053 : : x10 = XEXP (x1, 0);
26054 : : if (GET_CODE (x10) != PC)
26055 : : return NULL;
26056 : : x5 = XEXP (x4, 0);
26057 : : operands[2] = x5;
26058 : : x7 = XEXP (x3, 1);
26059 : : operands[3] = x7;
26060 : : x11 = XEXP (x8, 0);
26061 : : operands[0] = x11;
26062 : : switch (GET_MODE (x4))
26063 : : {
26064 : : case E_QImode:
26065 : : if (!register_operand (operands[2], E_QImode)
26066 : : || !nonimmediate_operand (operands[3], E_QImode))
26067 : : return NULL;
26068 : : return gen_split_861 (insn, operands);
26069 : :
26070 : : case E_HImode:
26071 : : if (!register_operand (operands[2], E_HImode)
26072 : : || !nonimmediate_operand (operands[3], E_HImode))
26073 : : return NULL;
26074 : : return gen_split_862 (insn, operands);
26075 : :
26076 : : case E_SImode:
26077 : : if (!register_operand (operands[2], E_SImode)
26078 : : || !nonimmediate_operand (operands[3], E_SImode))
26079 : : return NULL;
26080 : : return gen_split_863 (insn, operands);
26081 : :
26082 : : case E_DImode:
26083 : : if (!register_operand (operands[2], E_DImode)
26084 : : || !nonimmediate_operand (operands[3], E_DImode)
26085 : : || !
26086 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26087 : : (TARGET_64BIT))
26088 : : return NULL;
26089 : : return gen_split_864 (insn, operands);
26090 : :
26091 : : default:
26092 : : return NULL;
26093 : : }
26094 : :
26095 : : case GTU:
26096 : : case LEU:
26097 : : operands[1] = x3;
26098 : : if (!shr_comparison_operator (operands[1], E_VOIDmode))
26099 : : return NULL;
26100 : : x8 = XEXP (x2, 1);
26101 : : if (GET_CODE (x8) != LABEL_REF)
26102 : : return NULL;
26103 : : x9 = XEXP (x2, 2);
26104 : : if (GET_CODE (x9) != PC)
26105 : : return NULL;
26106 : : x10 = XEXP (x1, 0);
26107 : : if (GET_CODE (x10) != PC)
26108 : : return NULL;
26109 : : x4 = XEXP (x3, 0);
26110 : : operands[2] = x4;
26111 : : if (!register_operand (operands[2], E_DImode))
26112 : : return NULL;
26113 : : x7 = XEXP (x3, 1);
26114 : : operands[3] = x7;
26115 : : if (!const_int_operand (operands[3], E_VOIDmode))
26116 : : return NULL;
26117 : : x11 = XEXP (x8, 0);
26118 : : operands[0] = x11;
26119 : : if (!
26120 : : #line 19749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26121 : : (TARGET_64BIT
26122 : : && IN_RANGE (exact_log2 (UINTVAL (operands[3]) + 1), 32, 63)))
26123 : : return NULL;
26124 : : return gen_split_865 (insn, operands);
26125 : :
26126 : : default:
26127 : : return NULL;
26128 : : }
26129 : : }
26130 : :
26131 : : rtx_insn *
26132 : : split_16 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26133 : : {
26134 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26135 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
26136 : : rtx_insn *res ATTRIBUTE_UNUSED;
26137 : : x2 = XVECEXP (x1, 0, 0);
26138 : : x3 = XEXP (x2, 1);
26139 : : x4 = XEXP (x3, 1);
26140 : : switch (GET_CODE (x4))
26141 : : {
26142 : : case CONST_INT:
26143 : : case CONST_WIDE_INT:
26144 : : case CONST_POLY_INT:
26145 : : case CONST_FIXED:
26146 : : case CONST_DOUBLE:
26147 : : case CONST_VECTOR:
26148 : : case CONST:
26149 : : case REG:
26150 : : case SUBREG:
26151 : : case MEM:
26152 : : case LABEL_REF:
26153 : : case SYMBOL_REF:
26154 : : case HIGH:
26155 : : operands[2] = x4;
26156 : : x5 = XEXP (x2, 0);
26157 : : switch (GET_CODE (x5))
26158 : : {
26159 : : case REG:
26160 : : case SUBREG:
26161 : : case MEM:
26162 : : operands[0] = x5;
26163 : : switch (GET_MODE (operands[0]))
26164 : : {
26165 : : case E_DImode:
26166 : : if (pattern564 (x3,
26167 : : E_DImode) == 0
26168 : : && ((
26169 : : #line 8069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26170 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
26171 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26172 : : (!TARGET_64BIT)) &&
26173 : : #line 8071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26174 : : ( reload_completed)))
26175 : : return gen_split_168 (insn, operands);
26176 : : break;
26177 : :
26178 : : case E_TImode:
26179 : : if (pattern564 (x3,
26180 : : E_TImode) == 0
26181 : : && ((
26182 : : #line 8069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26183 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
26184 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26185 : : (TARGET_64BIT)) &&
26186 : : #line 8071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26187 : : ( reload_completed)))
26188 : : return gen_split_169 (insn, operands);
26189 : : break;
26190 : :
26191 : : default:
26192 : : break;
26193 : : }
26194 : : break;
26195 : :
26196 : : case STRICT_LOW_PART:
26197 : : switch (pattern1325 (x2))
26198 : : {
26199 : : case 0:
26200 : : if ((
26201 : : #line 8189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26202 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26203 : : #line 8193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26204 : : ( reload_completed
26205 : : && !(rtx_equal_p (operands[0], operands[1])))))
26206 : : return gen_split_172 (insn, operands);
26207 : : break;
26208 : :
26209 : : case 1:
26210 : : if ((
26211 : : #line 8189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26212 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26213 : : #line 8193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26214 : : ( reload_completed
26215 : : && !(rtx_equal_p (operands[0], operands[1])))))
26216 : : return gen_split_173 (insn, operands);
26217 : : break;
26218 : :
26219 : : default:
26220 : : break;
26221 : : }
26222 : : break;
26223 : :
26224 : : default:
26225 : : break;
26226 : : }
26227 : : if (GET_CODE (x4) != SUBREG
26228 : : || pattern817 (x4) != 0
26229 : : || GET_CODE (x5) != STRICT_LOW_PART)
26230 : : return NULL;
26231 : : x6 = XEXP (x5, 0);
26232 : : operands[0] = x6;
26233 : : if (!register_operand (operands[0], E_QImode)
26234 : : || GET_MODE (x3) != E_QImode
26235 : : || !nonimmediate_operand (operands[1], E_QImode))
26236 : : return NULL;
26237 : : x7 = XEXP (x4, 0);
26238 : : x8 = XEXP (x7, 0);
26239 : : operands[2] = x8;
26240 : : if (!int248_register_operand (operands[2], E_VOIDmode))
26241 : : return NULL;
26242 : : switch (pattern1795 ())
26243 : : {
26244 : : case 0:
26245 : : if (!(
26246 : : #line 8215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26247 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26248 : : #line 8219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26249 : : ( reload_completed
26250 : : && !rtx_equal_p (operands[0], operands[1]))))
26251 : : return NULL;
26252 : : return gen_split_174 (insn, operands);
26253 : :
26254 : : case 1:
26255 : : if (!(
26256 : : #line 8215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26257 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26258 : : #line 8219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26259 : : ( reload_completed
26260 : : && !rtx_equal_p (operands[0], operands[1]))))
26261 : : return NULL;
26262 : : return gen_split_175 (insn, operands);
26263 : :
26264 : : case 2:
26265 : : if (!((
26266 : : #line 8215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26267 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26268 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26269 : : (TARGET_64BIT)) &&
26270 : : #line 8219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26271 : : ( reload_completed
26272 : : && !rtx_equal_p (operands[0], operands[1]))))
26273 : : return NULL;
26274 : : return gen_split_176 (insn, operands);
26275 : :
26276 : : default:
26277 : : return NULL;
26278 : : }
26279 : :
26280 : : case ZERO_EXTEND:
26281 : : switch (pattern1163 (x2))
26282 : : {
26283 : : case 0:
26284 : : if (!((
26285 : : #line 8103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26286 : : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
26287 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26288 : : (!TARGET_64BIT)) &&
26289 : : #line 8105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26290 : : ( reload_completed)))
26291 : : return NULL;
26292 : : return gen_split_170 (insn, operands);
26293 : :
26294 : : case 1:
26295 : : if (!((
26296 : : #line 8103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26297 : : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
26298 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26299 : : (TARGET_64BIT)) &&
26300 : : #line 8105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26301 : : ( reload_completed)))
26302 : : return NULL;
26303 : : return gen_split_171 (insn, operands);
26304 : :
26305 : : default:
26306 : : return NULL;
26307 : : }
26308 : :
26309 : : case EQ:
26310 : : x9 = XEXP (x4, 1);
26311 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26312 : : return NULL;
26313 : : switch (pattern690 (x2))
26314 : : {
26315 : : case 0:
26316 : : if (!(
26317 : : #line 10307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26318 : : (ix86_unary_operator_ok (MINUS, QImode, operands)
26319 : : && ix86_pre_reload_split ()) &&
26320 : : #line 10310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26321 : : ( 1)))
26322 : : return NULL;
26323 : : return gen_split_230 (insn, operands);
26324 : :
26325 : : case 1:
26326 : : if (!(
26327 : : #line 10307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26328 : : (ix86_unary_operator_ok (MINUS, HImode, operands)
26329 : : && ix86_pre_reload_split ()) &&
26330 : : #line 10310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26331 : : ( 1)))
26332 : : return NULL;
26333 : : return gen_split_231 (insn, operands);
26334 : :
26335 : : case 2:
26336 : : if (!(
26337 : : #line 10307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26338 : : (ix86_unary_operator_ok (MINUS, SImode, operands)
26339 : : && ix86_pre_reload_split ()) &&
26340 : : #line 10310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26341 : : ( 1)))
26342 : : return NULL;
26343 : : return gen_split_232 (insn, operands);
26344 : :
26345 : : case 3:
26346 : : if (!((
26347 : : #line 10307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26348 : : (ix86_unary_operator_ok (MINUS, DImode, operands)
26349 : : && ix86_pre_reload_split ()) &&
26350 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26351 : : (TARGET_64BIT)) &&
26352 : : #line 10310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26353 : : ( 1)))
26354 : : return NULL;
26355 : : return gen_split_233 (insn, operands);
26356 : :
26357 : : default:
26358 : : return NULL;
26359 : : }
26360 : :
26361 : : case NE:
26362 : : x9 = XEXP (x4, 1);
26363 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26364 : : return NULL;
26365 : : switch (pattern690 (x2))
26366 : : {
26367 : : case 0:
26368 : : if (!(
26369 : : #line 10328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26370 : : (ix86_unary_operator_ok (MINUS, QImode, operands)
26371 : : && ix86_pre_reload_split ()) &&
26372 : : #line 10331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26373 : : ( 1)))
26374 : : return NULL;
26375 : : return gen_split_234 (insn, operands);
26376 : :
26377 : : case 1:
26378 : : if (!(
26379 : : #line 10328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26380 : : (ix86_unary_operator_ok (MINUS, HImode, operands)
26381 : : && ix86_pre_reload_split ()) &&
26382 : : #line 10331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26383 : : ( 1)))
26384 : : return NULL;
26385 : : return gen_split_235 (insn, operands);
26386 : :
26387 : : case 2:
26388 : : if (!(
26389 : : #line 10328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26390 : : (ix86_unary_operator_ok (MINUS, SImode, operands)
26391 : : && ix86_pre_reload_split ()) &&
26392 : : #line 10331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26393 : : ( 1)))
26394 : : return NULL;
26395 : : return gen_split_236 (insn, operands);
26396 : :
26397 : : case 3:
26398 : : if (!((
26399 : : #line 10328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26400 : : (ix86_unary_operator_ok (MINUS, DImode, operands)
26401 : : && ix86_pre_reload_split ()) &&
26402 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26403 : : (TARGET_64BIT)) &&
26404 : : #line 10331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26405 : : ( 1)))
26406 : : return NULL;
26407 : : return gen_split_237 (insn, operands);
26408 : :
26409 : : default:
26410 : : return NULL;
26411 : : }
26412 : :
26413 : : default:
26414 : : return NULL;
26415 : : }
26416 : : }
26417 : :
26418 : : rtx_insn *
26419 : : split_26 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26420 : : {
26421 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26422 : : rtx x2, x3, x4, x5, x6, x7;
26423 : : rtx_insn *res ATTRIBUTE_UNUSED;
26424 : : x2 = XVECEXP (x1, 0, 1);
26425 : : if (pattern227 (x2,
26426 : : E_CCmode,
26427 : : 17) != 0)
26428 : : return NULL;
26429 : : x3 = XVECEXP (x1, 0, 0);
26430 : : x4 = XEXP (x3, 1);
26431 : : x5 = XEXP (x4, 0);
26432 : : switch (GET_CODE (x5))
26433 : : {
26434 : : case CONST_INT:
26435 : : case CONST_WIDE_INT:
26436 : : case CONST_POLY_INT:
26437 : : case CONST_FIXED:
26438 : : case CONST_DOUBLE:
26439 : : case CONST_VECTOR:
26440 : : case CONST:
26441 : : case REG:
26442 : : case SUBREG:
26443 : : case MEM:
26444 : : case LABEL_REF:
26445 : : case SYMBOL_REF:
26446 : : case HIGH:
26447 : : switch (pattern199 (x3))
26448 : : {
26449 : : case 0:
26450 : : x6 = XEXP (x3, 0);
26451 : : operands[0] = x6;
26452 : : x7 = XEXP (x4, 1);
26453 : : switch (GET_CODE (x7))
26454 : : {
26455 : : case REG:
26456 : : case SUBREG:
26457 : : if (GET_CODE (x7) == SUBREG)
26458 : : {
26459 : : switch (pattern1333 (x4))
26460 : : {
26461 : : case 0:
26462 : : if (((
26463 : : #line 15203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26464 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
26465 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
26466 : : == (2 * 4 * BITS_PER_UNIT - 1)))
26467 : : && ix86_pre_reload_split ()) &&
26468 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26469 : : (!TARGET_64BIT)) &&
26470 : : #line 15208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26471 : : ( 1)))
26472 : : return gen_split_552 (insn, operands);
26473 : : break;
26474 : :
26475 : : case 1:
26476 : : if (((
26477 : : #line 15203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26478 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
26479 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
26480 : : == (2 * 8 * BITS_PER_UNIT - 1)))
26481 : : && ix86_pre_reload_split ()) &&
26482 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26483 : : (TARGET_64BIT)) &&
26484 : : #line 15208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26485 : : ( 1)))
26486 : : return gen_split_553 (insn, operands);
26487 : : break;
26488 : :
26489 : : default:
26490 : : break;
26491 : : }
26492 : : }
26493 : : operands[2] = x7;
26494 : : if (register_operand (operands[2], E_QImode)
26495 : : && register_operand (operands[0], E_SImode)
26496 : : && GET_MODE (x4) == E_SImode
26497 : : && nonimmediate_operand (operands[1], E_SImode)
26498 : : &&
26499 : : #line 15998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26500 : : (TARGET_BMI2 && reload_completed))
26501 : : return gen_split_572 (insn, operands);
26502 : : if (GET_CODE (x7) == SUBREG
26503 : : && known_eq (SUBREG_BYTE (x7), 0)
26504 : : && GET_MODE (x7) == E_QImode)
26505 : : {
26506 : : switch (pattern1166 (x4,
26507 : : E_SImode))
26508 : : {
26509 : : case 0:
26510 : : if ((
26511 : : #line 17860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26512 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
26513 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
26514 : : == 4 * BITS_PER_UNIT - 1
26515 : : && ix86_pre_reload_split ()) &&
26516 : : #line 17865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26517 : : ( 1)))
26518 : : return gen_split_638 (insn, operands);
26519 : : break;
26520 : :
26521 : : case 1:
26522 : : if ((
26523 : : #line 17908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26524 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
26525 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26526 : : && ix86_pre_reload_split ()) &&
26527 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26528 : : ( 1)))
26529 : : return gen_split_650 (insn, operands);
26530 : : break;
26531 : :
26532 : : case 2:
26533 : : if ((
26534 : : #line 17954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26535 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
26536 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26537 : : && ix86_pre_reload_split ()) &&
26538 : : #line 17958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26539 : : ( 1)))
26540 : : return gen_split_662 (insn, operands);
26541 : : break;
26542 : :
26543 : : default:
26544 : : break;
26545 : : }
26546 : : }
26547 : : break;
26548 : :
26549 : : case CONST_INT:
26550 : : operands[2] = x7;
26551 : : if (const_0_to_3_operand (operands[2], E_VOIDmode))
26552 : : {
26553 : : switch (GET_MODE (operands[0]))
26554 : : {
26555 : : case E_QImode:
26556 : : if (general_reg_operand (operands[0], E_QImode)
26557 : : && GET_MODE (x4) == E_QImode
26558 : : && index_reg_operand (operands[1], E_QImode)
26559 : : &&
26560 : : #line 16293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26561 : : (reload_completed
26562 : : && REGNO (operands[0]) != REGNO (operands[1])))
26563 : : return gen_split_577 (insn, operands);
26564 : : break;
26565 : :
26566 : : case E_HImode:
26567 : : if (general_reg_operand (operands[0], E_HImode)
26568 : : && GET_MODE (x4) == E_HImode
26569 : : && index_reg_operand (operands[1], E_HImode)
26570 : : &&
26571 : : #line 16293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26572 : : (reload_completed
26573 : : && REGNO (operands[0]) != REGNO (operands[1])))
26574 : : return gen_split_578 (insn, operands);
26575 : : break;
26576 : :
26577 : : case E_SImode:
26578 : : if (general_reg_operand (operands[0], E_SImode)
26579 : : && GET_MODE (x4) == E_SImode
26580 : : && index_reg_operand (operands[1], E_SImode)
26581 : : &&
26582 : : #line 16293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26583 : : (reload_completed
26584 : : && REGNO (operands[0]) != REGNO (operands[1])))
26585 : : return gen_split_579 (insn, operands);
26586 : : break;
26587 : :
26588 : : default:
26589 : : break;
26590 : : }
26591 : : }
26592 : : break;
26593 : :
26594 : : default:
26595 : : break;
26596 : : }
26597 : : operands[2] = x7;
26598 : : res = split_19 (x1, insn);
26599 : : if (res != NULL_RTX)
26600 : : return res;
26601 : : if (GET_CODE (x7) != SUBREG)
26602 : : return NULL;
26603 : : switch (pattern1167 (x3,
26604 : : E_DImode))
26605 : : {
26606 : : case 0:
26607 : : if (!((
26608 : : #line 17860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26609 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
26610 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
26611 : : == 8 * BITS_PER_UNIT - 1
26612 : : && ix86_pre_reload_split ()) &&
26613 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26614 : : (TARGET_64BIT)) &&
26615 : : #line 17865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26616 : : ( 1)))
26617 : : return NULL;
26618 : : return gen_split_641 (insn, operands);
26619 : :
26620 : : case 1:
26621 : : if (!((
26622 : : #line 17908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26623 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
26624 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26625 : : && ix86_pre_reload_split ()) &&
26626 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26627 : : (TARGET_64BIT)) &&
26628 : : #line 17912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26629 : : ( 1)))
26630 : : return NULL;
26631 : : return gen_split_653 (insn, operands);
26632 : :
26633 : : case 2:
26634 : : if (!((
26635 : : #line 17954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26636 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
26637 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26638 : : && ix86_pre_reload_split ()) &&
26639 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26640 : : (TARGET_64BIT)) &&
26641 : : #line 17958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26642 : : ( 1)))
26643 : : return NULL;
26644 : : return gen_split_665 (insn, operands);
26645 : :
26646 : : default:
26647 : : return NULL;
26648 : : }
26649 : :
26650 : : case 1:
26651 : : if (register_operand (operands[0], E_DImode)
26652 : : && register_operand (operands[1], E_DImode)
26653 : : && ((
26654 : : #line 15264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26655 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
26656 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
26657 : : == (2 * 4 * BITS_PER_UNIT - 1)))
26658 : : && ix86_pre_reload_split ()) &&
26659 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26660 : : (!TARGET_64BIT)) &&
26661 : : #line 15269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26662 : : ( 1)))
26663 : : return gen_split_554 (insn, operands);
26664 : : if (!nonimmediate_operand (operands[0], E_DImode)
26665 : : || !nonimmediate_operand (operands[1], E_DImode)
26666 : : || !((
26667 : : #line 17885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26668 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
26669 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
26670 : : == 8 * BITS_PER_UNIT - 1
26671 : : && ix86_pre_reload_split ()) &&
26672 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26673 : : (TARGET_64BIT)) &&
26674 : : #line 17890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26675 : : ( 1)))
26676 : : return NULL;
26677 : : return gen_split_647 (insn, operands);
26678 : :
26679 : : case 2:
26680 : : if (!((
26681 : : #line 15264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26682 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
26683 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
26684 : : == (2 * 8 * BITS_PER_UNIT - 1)))
26685 : : && ix86_pre_reload_split ()) &&
26686 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26687 : : (TARGET_64BIT)) &&
26688 : : #line 15269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26689 : : ( 1)))
26690 : : return NULL;
26691 : : return gen_split_555 (insn, operands);
26692 : :
26693 : : case 3:
26694 : : if (!(
26695 : : #line 17885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26696 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
26697 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
26698 : : == 4 * BITS_PER_UNIT - 1
26699 : : && ix86_pre_reload_split ()) &&
26700 : : #line 17890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26701 : : ( 1)))
26702 : : return NULL;
26703 : : return gen_split_644 (insn, operands);
26704 : :
26705 : : case 4:
26706 : : if (!(
26707 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26708 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
26709 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26710 : : && ix86_pre_reload_split ()) &&
26711 : : #line 17936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26712 : : ( 1)))
26713 : : return NULL;
26714 : : return gen_split_656 (insn, operands);
26715 : :
26716 : : case 5:
26717 : : if (!((
26718 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26719 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
26720 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26721 : : && ix86_pre_reload_split ()) &&
26722 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26723 : : (TARGET_64BIT)) &&
26724 : : #line 17936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26725 : : ( 1)))
26726 : : return NULL;
26727 : : return gen_split_659 (insn, operands);
26728 : :
26729 : : case 6:
26730 : : if (!(
26731 : : #line 17984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26732 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
26733 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26734 : : && ix86_pre_reload_split ()) &&
26735 : : #line 17988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26736 : : ( 1)))
26737 : : return NULL;
26738 : : return gen_split_668 (insn, operands);
26739 : :
26740 : : case 7:
26741 : : if (!((
26742 : : #line 17984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26743 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
26744 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26745 : : && ix86_pre_reload_split ()) &&
26746 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26747 : : (TARGET_64BIT)) &&
26748 : : #line 17988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26749 : : ( 1)))
26750 : : return NULL;
26751 : : return gen_split_671 (insn, operands);
26752 : :
26753 : : default:
26754 : : return NULL;
26755 : : }
26756 : :
26757 : : case SIGN_EXTEND:
26758 : : switch (pattern378 (x3))
26759 : : {
26760 : : case 0:
26761 : : if (!((
26762 : : #line 15365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26763 : : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
26764 : : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
26765 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26766 : : (!TARGET_64BIT)) &&
26767 : : #line 15368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26768 : : ( reload_completed)))
26769 : : return NULL;
26770 : : return gen_split_558 (insn, operands);
26771 : :
26772 : : case 1:
26773 : : if (!((
26774 : : #line 15365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26775 : : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
26776 : : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
26777 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26778 : : (TARGET_64BIT)) &&
26779 : : #line 15368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26780 : : ( reload_completed)))
26781 : : return NULL;
26782 : : return gen_split_560 (insn, operands);
26783 : :
26784 : : default:
26785 : : return NULL;
26786 : : }
26787 : :
26788 : : case ZERO_EXTEND:
26789 : : switch (pattern378 (x3))
26790 : : {
26791 : : case 0:
26792 : : if (!((
26793 : : #line 15365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26794 : : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
26795 : : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
26796 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26797 : : (!TARGET_64BIT)) &&
26798 : : #line 15368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26799 : : ( reload_completed)))
26800 : : return NULL;
26801 : : return gen_split_559 (insn, operands);
26802 : :
26803 : : case 1:
26804 : : if (!((
26805 : : #line 15365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26806 : : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
26807 : : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
26808 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26809 : : (TARGET_64BIT)) &&
26810 : : #line 15368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26811 : : ( reload_completed)))
26812 : : return NULL;
26813 : : return gen_split_561 (insn, operands);
26814 : :
26815 : : default:
26816 : : return NULL;
26817 : : }
26818 : :
26819 : : default:
26820 : : return NULL;
26821 : : }
26822 : : }
26823 : :
26824 : : rtx_insn *
26825 : : split_34 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26826 : : {
26827 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26828 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
26829 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
26830 : : rtx x18, x19, x20, x21, x22;
26831 : : rtx_insn *res ATTRIBUTE_UNUSED;
26832 : : x2 = XVECEXP (x1, 0, 0);
26833 : : switch (GET_CODE (x2))
26834 : : {
26835 : : case SET:
26836 : : x3 = XEXP (x2, 1);
26837 : : switch (GET_CODE (x3))
26838 : : {
26839 : : case SIGN_EXTRACT:
26840 : : case ZERO_EXTRACT:
26841 : : x4 = XEXP (x3, 1);
26842 : : if (GET_CODE (x4) != CONST_INT)
26843 : : return NULL;
26844 : : if (XWINT (x4, 0) == 1L)
26845 : : {
26846 : : res = split_14 (x1, insn);
26847 : : if (res != NULL_RTX)
26848 : : return res;
26849 : : }
26850 : : if (XWINT (x4, 0) != 8L
26851 : : || pattern717 (x2) != 0)
26852 : : return NULL;
26853 : : x5 = XVECEXP (x1, 0, 1);
26854 : : if (pattern227 (x5,
26855 : : E_CCmode,
26856 : : 17) != 0)
26857 : : return NULL;
26858 : : switch (pattern1418 (x2))
26859 : : {
26860 : : case 0:
26861 : : if (!(
26862 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26863 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26864 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26865 : : ( reload_completed
26866 : : && !(rtx_equal_p (operands[0], operands[1])
26867 : : || rtx_equal_p (operands[0], operands[2])))))
26868 : : return NULL;
26869 : : return gen_split_358 (insn, operands);
26870 : :
26871 : : case 1:
26872 : : if (!(
26873 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26874 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26875 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26876 : : ( reload_completed
26877 : : && !(rtx_equal_p (operands[0], operands[1])
26878 : : || rtx_equal_p (operands[0], operands[2])))))
26879 : : return NULL;
26880 : : return gen_split_361 (insn, operands);
26881 : :
26882 : : case 2:
26883 : : if (!((
26884 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26885 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26886 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26887 : : (TARGET_64BIT)) &&
26888 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26889 : : ( reload_completed
26890 : : && !(rtx_equal_p (operands[0], operands[1])
26891 : : || rtx_equal_p (operands[0], operands[2])))))
26892 : : return NULL;
26893 : : return gen_split_364 (insn, operands);
26894 : :
26895 : : case 3:
26896 : : if (!(
26897 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26898 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26899 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26900 : : ( reload_completed
26901 : : && !(rtx_equal_p (operands[0], operands[1])
26902 : : || rtx_equal_p (operands[0], operands[2])))))
26903 : : return NULL;
26904 : : return gen_split_359 (insn, operands);
26905 : :
26906 : : case 4:
26907 : : if (!(
26908 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26909 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26910 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26911 : : ( reload_completed
26912 : : && !(rtx_equal_p (operands[0], operands[1])
26913 : : || rtx_equal_p (operands[0], operands[2])))))
26914 : : return NULL;
26915 : : return gen_split_362 (insn, operands);
26916 : :
26917 : : case 5:
26918 : : if (!((
26919 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26920 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26921 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26922 : : (TARGET_64BIT)) &&
26923 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26924 : : ( reload_completed
26925 : : && !(rtx_equal_p (operands[0], operands[1])
26926 : : || rtx_equal_p (operands[0], operands[2])))))
26927 : : return NULL;
26928 : : return gen_split_365 (insn, operands);
26929 : :
26930 : : case 6:
26931 : : if (!(
26932 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26933 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26934 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26935 : : ( reload_completed
26936 : : && !(rtx_equal_p (operands[0], operands[1])
26937 : : || rtx_equal_p (operands[0], operands[2])))))
26938 : : return NULL;
26939 : : return gen_split_360 (insn, operands);
26940 : :
26941 : : case 7:
26942 : : if (!(
26943 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26944 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26945 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26946 : : ( reload_completed
26947 : : && !(rtx_equal_p (operands[0], operands[1])
26948 : : || rtx_equal_p (operands[0], operands[2])))))
26949 : : return NULL;
26950 : : return gen_split_363 (insn, operands);
26951 : :
26952 : : case 8:
26953 : : if (!((
26954 : : #line 13228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26955 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
26956 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26957 : : (TARGET_64BIT)) &&
26958 : : #line 13232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26959 : : ( reload_completed
26960 : : && !(rtx_equal_p (operands[0], operands[1])
26961 : : || rtx_equal_p (operands[0], operands[2])))))
26962 : : return NULL;
26963 : : return gen_split_366 (insn, operands);
26964 : :
26965 : : default:
26966 : : return NULL;
26967 : : }
26968 : :
26969 : : case ZERO_EXTEND:
26970 : : return split_30 (x1, insn);
26971 : :
26972 : : case FIX:
26973 : : x5 = XVECEXP (x1, 0, 1);
26974 : : if (pattern351 (x5) != 0)
26975 : : return NULL;
26976 : : x6 = XEXP (x2, 0);
26977 : : operands[0] = x6;
26978 : : x7 = XEXP (x3, 0);
26979 : : operands[1] = x7;
26980 : : if (!register_operand (operands[1], E_VOIDmode))
26981 : : return NULL;
26982 : : switch (pattern548 (x3))
26983 : : {
26984 : : case 0:
26985 : : if (!(
26986 : : #line 5993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26987 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
26988 : : && !TARGET_FISTTP
26989 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
26990 : : && (TARGET_64BIT || HImode != DImode))
26991 : : && ix86_pre_reload_split ()) &&
26992 : : #line 5999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26993 : : ( 1)))
26994 : : return NULL;
26995 : : return gen_split_76 (insn, operands);
26996 : :
26997 : : case 1:
26998 : : if (!(
26999 : : #line 5993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27000 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
27001 : : && !TARGET_FISTTP
27002 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
27003 : : && (TARGET_64BIT || SImode != DImode))
27004 : : && ix86_pre_reload_split ()) &&
27005 : : #line 5999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27006 : : ( 1)))
27007 : : return NULL;
27008 : : return gen_split_77 (insn, operands);
27009 : :
27010 : : case 2:
27011 : : if (!(
27012 : : #line 5993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27013 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
27014 : : && !TARGET_FISTTP
27015 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
27016 : : && (TARGET_64BIT || DImode != DImode))
27017 : : && ix86_pre_reload_split ()) &&
27018 : : #line 5999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27019 : : ( 1)))
27020 : : return NULL;
27021 : : return gen_split_78 (insn, operands);
27022 : :
27023 : : default:
27024 : : return NULL;
27025 : : }
27026 : :
27027 : : case MULT:
27028 : : if (pattern338 (x1) != 0)
27029 : : return NULL;
27030 : : x7 = XEXP (x3, 0);
27031 : : switch (GET_CODE (x7))
27032 : : {
27033 : : case REG:
27034 : : if (!rtx_equal_p (x7, operands[0]))
27035 : : return NULL;
27036 : : x4 = XEXP (x3, 1);
27037 : : operands[1] = x4;
27038 : : switch (GET_MODE (operands[0]))
27039 : : {
27040 : : case E_SImode:
27041 : : if (!general_reg_operand (operands[0], E_SImode)
27042 : : || GET_MODE (x3) != E_SImode
27043 : : || !const1248_operand (operands[1], E_SImode)
27044 : : || !
27045 : : #line 6420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27046 : : (reload_completed))
27047 : : return NULL;
27048 : : return gen_split_94 (insn, operands);
27049 : :
27050 : : case E_DImode:
27051 : : if (!general_reg_operand (operands[0], E_DImode)
27052 : : || GET_MODE (x3) != E_DImode
27053 : : || !const1248_operand (operands[1], E_DImode)
27054 : : || !(
27055 : : #line 6420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27056 : : (reload_completed) &&
27057 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27058 : : (TARGET_64BIT)))
27059 : : return NULL;
27060 : : return gen_split_95 (insn, operands);
27061 : :
27062 : : default:
27063 : : return NULL;
27064 : : }
27065 : :
27066 : : case ZERO_EXTEND:
27067 : : x4 = XEXP (x3, 1);
27068 : : if (GET_CODE (x4) != ZERO_EXTEND)
27069 : : return NULL;
27070 : : x8 = XEXP (x7, 0);
27071 : : operands[1] = x8;
27072 : : x9 = XEXP (x4, 0);
27073 : : operands[2] = x9;
27074 : : switch (GET_MODE (operands[0]))
27075 : : {
27076 : : case E_DImode:
27077 : : if (pattern562 (x3,
27078 : : E_SImode,
27079 : : E_DImode) != 0
27080 : : || !(
27081 : : #line 11021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27082 : : (TARGET_BMI2 && reload_completed
27083 : : && REGNO (operands[1]) == DX_REG) &&
27084 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27085 : : (!TARGET_64BIT)))
27086 : : return NULL;
27087 : : return gen_split_238 (insn, operands);
27088 : :
27089 : : case E_TImode:
27090 : : if (pattern562 (x3,
27091 : : E_DImode,
27092 : : E_TImode) != 0
27093 : : || !(
27094 : : #line 11021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27095 : : (TARGET_BMI2 && reload_completed
27096 : : && REGNO (operands[1]) == DX_REG) &&
27097 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27098 : : (TARGET_64BIT)))
27099 : : return NULL;
27100 : : return gen_split_239 (insn, operands);
27101 : :
27102 : : default:
27103 : : return NULL;
27104 : : }
27105 : :
27106 : : default:
27107 : : return NULL;
27108 : : }
27109 : :
27110 : : case PLUS:
27111 : : return split_25 (x1, insn);
27112 : :
27113 : : case SUBREG:
27114 : : return split_23 (x1, insn);
27115 : :
27116 : : case NE:
27117 : : case EQ:
27118 : : case GE:
27119 : : case GT:
27120 : : case LE:
27121 : : case LT:
27122 : : case LTGT:
27123 : : case GEU:
27124 : : case GTU:
27125 : : case LEU:
27126 : : case LTU:
27127 : : case UNORDERED:
27128 : : case ORDERED:
27129 : : case UNEQ:
27130 : : case UNGE:
27131 : : case UNGT:
27132 : : case UNLE:
27133 : : case UNLT:
27134 : : if (GET_CODE (x3) == EQ)
27135 : : {
27136 : : x7 = XEXP (x3, 0);
27137 : : switch (GET_CODE (x7))
27138 : : {
27139 : : case PLUS:
27140 : : switch (pattern721 (x1,
27141 : : PLUS))
27142 : : {
27143 : : case 0:
27144 : : if (((
27145 : : #line 7713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27146 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
27147 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27148 : : (!TARGET_64BIT)) &&
27149 : : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27150 : : ( reload_completed)))
27151 : : return gen_split_146 (insn, operands);
27152 : : break;
27153 : :
27154 : : case 1:
27155 : : if (((
27156 : : #line 7713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27157 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
27158 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27159 : : (TARGET_64BIT)) &&
27160 : : #line 7715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27161 : : ( reload_completed)))
27162 : : return gen_split_147 (insn, operands);
27163 : : break;
27164 : :
27165 : : case 2:
27166 : : if (((
27167 : : #line 7759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27168 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
27169 : : && CONST_SCALAR_INT_P (operands[2])
27170 : : && rtx_equal_p (operands[2], operands[3])) &&
27171 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27172 : : (!TARGET_64BIT)) &&
27173 : : #line 7763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27174 : : ( reload_completed)))
27175 : : return gen_split_148 (insn, operands);
27176 : : break;
27177 : :
27178 : : case 3:
27179 : : if (((
27180 : : #line 7759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27181 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)
27182 : : && CONST_SCALAR_INT_P (operands[2])
27183 : : && rtx_equal_p (operands[2], operands[3])) &&
27184 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27185 : : (TARGET_64BIT)) &&
27186 : : #line 7763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27187 : : ( reload_completed)))
27188 : : return gen_split_149 (insn, operands);
27189 : : break;
27190 : :
27191 : : default:
27192 : : break;
27193 : : }
27194 : : break;
27195 : :
27196 : : case MINUS:
27197 : : switch (pattern721 (x1,
27198 : : MINUS))
27199 : : {
27200 : : case 0:
27201 : : if (((
27202 : : #line 8485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27203 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
27204 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27205 : : (!TARGET_64BIT)) &&
27206 : : #line 8487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27207 : : ( reload_completed)))
27208 : : return gen_split_186 (insn, operands);
27209 : : break;
27210 : :
27211 : : case 1:
27212 : : if (((
27213 : : #line 8485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27214 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
27215 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27216 : : (TARGET_64BIT)) &&
27217 : : #line 8487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27218 : : ( reload_completed)))
27219 : : return gen_split_187 (insn, operands);
27220 : : break;
27221 : :
27222 : : case 2:
27223 : : if (((
27224 : : #line 8529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27225 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
27226 : : && CONST_SCALAR_INT_P (operands[2])
27227 : : && rtx_equal_p (operands[2], operands[3])) &&
27228 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27229 : : (!TARGET_64BIT)) &&
27230 : : #line 8533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27231 : : ( reload_completed)))
27232 : : return gen_split_188 (insn, operands);
27233 : : break;
27234 : :
27235 : : case 3:
27236 : : if (((
27237 : : #line 8529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27238 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
27239 : : && CONST_SCALAR_INT_P (operands[2])
27240 : : && rtx_equal_p (operands[2], operands[3])) &&
27241 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27242 : : (TARGET_64BIT)) &&
27243 : : #line 8533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27244 : : ( reload_completed)))
27245 : : return gen_split_189 (insn, operands);
27246 : : break;
27247 : :
27248 : : default:
27249 : : break;
27250 : : }
27251 : : break;
27252 : :
27253 : : case ZERO_EXTRACT:
27254 : : switch (pattern686 (x1))
27255 : : {
27256 : : case 0:
27257 : : if ((
27258 : : #line 19404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27259 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
27260 : : #line 19406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27261 : : ( 1)))
27262 : : return gen_split_842 (insn, operands);
27263 : : break;
27264 : :
27265 : : case 1:
27266 : : if (((
27267 : : #line 19404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27268 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
27269 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27270 : : (TARGET_64BIT)) &&
27271 : : #line 19406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27272 : : ( 1)))
27273 : : return gen_split_843 (insn, operands);
27274 : : break;
27275 : :
27276 : : default:
27277 : : break;
27278 : : }
27279 : : break;
27280 : :
27281 : : default:
27282 : : break;
27283 : : }
27284 : : }
27285 : : operands[1] = x3;
27286 : : switch (pattern367 (x1))
27287 : : {
27288 : : case 0:
27289 : : if (!(
27290 : : #line 19517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27291 : : (!TARGET_PARTIAL_REG_STALL
27292 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
27293 : : #line 19520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27294 : : ( reload_completed)))
27295 : : return NULL;
27296 : : return gen_split_852 (insn, operands);
27297 : :
27298 : : case 1:
27299 : : if (!(
27300 : : #line 19517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27301 : : (!TARGET_PARTIAL_REG_STALL
27302 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
27303 : : #line 19520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27304 : : ( reload_completed)))
27305 : : return NULL;
27306 : : return gen_split_853 (insn, operands);
27307 : :
27308 : : default:
27309 : : return NULL;
27310 : : }
27311 : :
27312 : : case MINUS:
27313 : : x5 = XVECEXP (x1, 0, 1);
27314 : : if (pattern227 (x5,
27315 : : E_CCmode,
27316 : : 17) != 0)
27317 : : return NULL;
27318 : : x7 = XEXP (x3, 0);
27319 : : switch (GET_CODE (x7))
27320 : : {
27321 : : case CONST_INT:
27322 : : case CONST_WIDE_INT:
27323 : : case CONST_POLY_INT:
27324 : : case CONST_FIXED:
27325 : : case CONST_DOUBLE:
27326 : : case CONST_VECTOR:
27327 : : case CONST:
27328 : : case REG:
27329 : : case SUBREG:
27330 : : case MEM:
27331 : : case LABEL_REF:
27332 : : case SYMBOL_REF:
27333 : : case HIGH:
27334 : : operands[1] = x7;
27335 : : res = split_16 (x1, insn);
27336 : : if (res != NULL_RTX)
27337 : : return res;
27338 : : if (GET_CODE (x7) != SUBREG)
27339 : : return NULL;
27340 : : switch (pattern1046 (x2))
27341 : : {
27342 : : case 0:
27343 : : if (!(
27344 : : #line 8248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27345 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
27346 : : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27347 : : ( reload_completed)))
27348 : : return NULL;
27349 : : return gen_split_177 (insn, operands);
27350 : :
27351 : : case 1:
27352 : : if (!(
27353 : : #line 8248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27354 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
27355 : : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27356 : : ( reload_completed)))
27357 : : return NULL;
27358 : : return gen_split_178 (insn, operands);
27359 : :
27360 : : case 2:
27361 : : if (!((
27362 : : #line 8248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27363 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
27364 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27365 : : (TARGET_64BIT)) &&
27366 : : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27367 : : ( reload_completed)))
27368 : : return NULL;
27369 : : return gen_split_179 (insn, operands);
27370 : :
27371 : : case 3:
27372 : : if (!
27373 : : #line 8339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27374 : : ( reload_completed))
27375 : : return NULL;
27376 : : return gen_split_180 (insn, operands);
27377 : :
27378 : : case 4:
27379 : : if (!
27380 : : #line 8339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27381 : : ( reload_completed))
27382 : : return NULL;
27383 : : return gen_split_181 (insn, operands);
27384 : :
27385 : : case 5:
27386 : : if (!(
27387 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27388 : : (TARGET_64BIT) &&
27389 : : #line 8339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27390 : : ( reload_completed)))
27391 : : return NULL;
27392 : : return gen_split_182 (insn, operands);
27393 : :
27394 : : default:
27395 : : return NULL;
27396 : : }
27397 : :
27398 : : case MINUS:
27399 : : x10 = XEXP (x7, 1);
27400 : : if (GET_CODE (x10) != EQ)
27401 : : return NULL;
27402 : : x11 = XEXP (x10, 1);
27403 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
27404 : : return NULL;
27405 : : x6 = XEXP (x2, 0);
27406 : : operands[0] = x6;
27407 : : x8 = XEXP (x7, 0);
27408 : : operands[1] = x8;
27409 : : x12 = XEXP (x10, 0);
27410 : : operands[3] = x12;
27411 : : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
27412 : : return NULL;
27413 : : x4 = XEXP (x3, 1);
27414 : : operands[2] = x4;
27415 : : switch (GET_MODE (operands[0]))
27416 : : {
27417 : : case E_QImode:
27418 : : if (pattern1566 (x3,
27419 : : E_QImode) != 0
27420 : : || !(
27421 : : #line 10230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27422 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
27423 : : && ix86_pre_reload_split ()) &&
27424 : : #line 10233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27425 : : ( 1)))
27426 : : return NULL;
27427 : : return gen_split_218 (insn, operands);
27428 : :
27429 : : case E_HImode:
27430 : : if (pattern1566 (x3,
27431 : : E_HImode) != 0
27432 : : || !(
27433 : : #line 10230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27434 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
27435 : : && ix86_pre_reload_split ()) &&
27436 : : #line 10233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27437 : : ( 1)))
27438 : : return NULL;
27439 : : return gen_split_219 (insn, operands);
27440 : :
27441 : : case E_SImode:
27442 : : if (pattern1567 (x3,
27443 : : E_SImode) != 0
27444 : : || !(
27445 : : #line 10230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27446 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
27447 : : && ix86_pre_reload_split ()) &&
27448 : : #line 10233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27449 : : ( 1)))
27450 : : return NULL;
27451 : : return gen_split_220 (insn, operands);
27452 : :
27453 : : case E_DImode:
27454 : : if (pattern1567 (x3,
27455 : : E_DImode) != 0
27456 : : || !((
27457 : : #line 10230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27458 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
27459 : : && ix86_pre_reload_split ()) &&
27460 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27461 : : (TARGET_64BIT)) &&
27462 : : #line 10233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27463 : : ( 1)))
27464 : : return NULL;
27465 : : return gen_split_221 (insn, operands);
27466 : :
27467 : : default:
27468 : : return NULL;
27469 : : }
27470 : :
27471 : : default:
27472 : : return NULL;
27473 : : }
27474 : :
27475 : : case IF_THEN_ELSE:
27476 : : x7 = XEXP (x3, 0);
27477 : : if (!bt_comparison_operator (x7, E_VOIDmode))
27478 : : return NULL;
27479 : : x10 = XEXP (x7, 1);
27480 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
27481 : : return NULL;
27482 : : switch (pattern692 (x1))
27483 : : {
27484 : : case 0:
27485 : : x8 = XEXP (x7, 0);
27486 : : operands[2] = x8;
27487 : : x4 = XEXP (x3, 1);
27488 : : if (GET_CODE (x4) != PLUS)
27489 : : return NULL;
27490 : : x13 = XEXP (x4, 1);
27491 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
27492 : : return NULL;
27493 : : x6 = XEXP (x2, 0);
27494 : : operands[0] = x6;
27495 : : operands[1] = x7;
27496 : : switch (pattern1575 (x3))
27497 : : {
27498 : : case 0:
27499 : : if (!(
27500 : : #line 8750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27501 : : (TARGET_CMOVE) &&
27502 : : #line 8752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27503 : : ( reload_completed)))
27504 : : return NULL;
27505 : : return gen_split_190 (insn, operands);
27506 : :
27507 : : case 1:
27508 : : if (!(
27509 : : #line 8750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27510 : : (TARGET_CMOVE) &&
27511 : : #line 8752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27512 : : ( reload_completed)))
27513 : : return NULL;
27514 : : return gen_split_191 (insn, operands);
27515 : :
27516 : : case 2:
27517 : : if (!((
27518 : : #line 8750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27519 : : (TARGET_CMOVE) &&
27520 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27521 : : (TARGET_64BIT)) &&
27522 : : #line 8752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27523 : : ( reload_completed)))
27524 : : return NULL;
27525 : : return gen_split_192 (insn, operands);
27526 : :
27527 : : default:
27528 : : return NULL;
27529 : : }
27530 : :
27531 : : case 1:
27532 : : x8 = XEXP (x7, 0);
27533 : : x14 = XEXP (x8, 1);
27534 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
27535 : : return NULL;
27536 : : switch (pattern1337 (x2))
27537 : : {
27538 : : case 0:
27539 : : x15 = XEXP (x8, 2);
27540 : : operands[2] = x15;
27541 : : switch (pattern1682 (x3))
27542 : : {
27543 : : case 0:
27544 : : if ((
27545 : : #line 19209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27546 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27547 : : && (CONST_INT_P (operands[2])
27548 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
27549 : : && INTVAL (operands[2])
27550 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
27551 : : : !memory_operand (operands[1], SImode))
27552 : : && ix86_pre_reload_split ()) &&
27553 : : #line 19217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27554 : : ( 1)))
27555 : : return gen_split_820 (insn, operands);
27556 : : break;
27557 : :
27558 : : case 1:
27559 : : if (((
27560 : : #line 19209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27561 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27562 : : && (CONST_INT_P (operands[2])
27563 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
27564 : : && INTVAL (operands[2])
27565 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
27566 : : : !memory_operand (operands[1], DImode))
27567 : : && ix86_pre_reload_split ()) &&
27568 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27569 : : (TARGET_64BIT)) &&
27570 : : #line 19217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27571 : : ( 1)))
27572 : : return gen_split_821 (insn, operands);
27573 : : break;
27574 : :
27575 : : default:
27576 : : break;
27577 : : }
27578 : : if (GET_CODE (x15) != SUBREG)
27579 : : return NULL;
27580 : : switch (pattern1684 (x3))
27581 : : {
27582 : : case 0:
27583 : : if (!(
27584 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27585 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27586 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
27587 : : == GET_MODE_BITSIZE (SImode)-1
27588 : : && ix86_pre_reload_split ()) &&
27589 : : #line 19290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27590 : : ( 1)))
27591 : : return NULL;
27592 : : return gen_split_824 (insn, operands);
27593 : :
27594 : : case 1:
27595 : : if (!(
27596 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27597 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27598 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
27599 : : == GET_MODE_BITSIZE (SImode)-1
27600 : : && ix86_pre_reload_split ()) &&
27601 : : #line 19290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27602 : : ( 1)))
27603 : : return NULL;
27604 : : return gen_split_826 (insn, operands);
27605 : :
27606 : : case 2:
27607 : : if (!((
27608 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27609 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27610 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
27611 : : == GET_MODE_BITSIZE (SImode)-1
27612 : : && ix86_pre_reload_split ()) &&
27613 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27614 : : (TARGET_64BIT)) &&
27615 : : #line 19290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27616 : : ( 1)))
27617 : : return NULL;
27618 : : return gen_split_828 (insn, operands);
27619 : :
27620 : : case 3:
27621 : : if (!((
27622 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27623 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27624 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
27625 : : == GET_MODE_BITSIZE (DImode)-1
27626 : : && ix86_pre_reload_split ()) &&
27627 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27628 : : (TARGET_64BIT)) &&
27629 : : #line 19290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27630 : : ( 1)))
27631 : : return NULL;
27632 : : return gen_split_825 (insn, operands);
27633 : :
27634 : : case 4:
27635 : : if (!((
27636 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27637 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27638 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
27639 : : == GET_MODE_BITSIZE (DImode)-1
27640 : : && ix86_pre_reload_split ()) &&
27641 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27642 : : (TARGET_64BIT)) &&
27643 : : #line 19290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27644 : : ( 1)))
27645 : : return NULL;
27646 : : return gen_split_827 (insn, operands);
27647 : :
27648 : : case 5:
27649 : : if (!((
27650 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27651 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27652 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
27653 : : == GET_MODE_BITSIZE (DImode)-1
27654 : : && ix86_pre_reload_split ()) &&
27655 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27656 : : (TARGET_64BIT)) &&
27657 : : #line 19290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27658 : : ( 1)))
27659 : : return NULL;
27660 : : return gen_split_829 (insn, operands);
27661 : :
27662 : : default:
27663 : : return NULL;
27664 : : }
27665 : :
27666 : : case 1:
27667 : : if (!(
27668 : : #line 19248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27669 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27670 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
27671 : : == GET_MODE_BITSIZE (SImode)-1
27672 : : && ix86_pre_reload_split ()) &&
27673 : : #line 19253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27674 : : ( 1)))
27675 : : return NULL;
27676 : : return gen_split_822 (insn, operands);
27677 : :
27678 : : case 2:
27679 : : if (!((
27680 : : #line 19248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27681 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
27682 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
27683 : : == GET_MODE_BITSIZE (DImode)-1
27684 : : && ix86_pre_reload_split ()) &&
27685 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27686 : : (TARGET_64BIT)) &&
27687 : : #line 19253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27688 : : ( 1)))
27689 : : return NULL;
27690 : : return gen_split_823 (insn, operands);
27691 : :
27692 : : default:
27693 : : return NULL;
27694 : : }
27695 : :
27696 : : default:
27697 : : return NULL;
27698 : : }
27699 : :
27700 : : case COMPARE:
27701 : : return split_24 (x1, insn);
27702 : :
27703 : : case AND:
27704 : : return split_21 (x1, insn);
27705 : :
27706 : : case IOR:
27707 : : return split_22 (x1, insn);
27708 : :
27709 : : case XOR:
27710 : : return split_20 (x1, insn);
27711 : :
27712 : : case NOT:
27713 : : x7 = XEXP (x3, 0);
27714 : : if (GET_CODE (x7) != XOR
27715 : : || pattern339 (x1) != 0)
27716 : : return NULL;
27717 : : switch (GET_MODE (operands[0]))
27718 : : {
27719 : : case E_HImode:
27720 : : if (pattern1330 (x3,
27721 : : E_HImode) != 0
27722 : : || !(
27723 : : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27724 : : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)) &&
27725 : : #line 13609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27726 : : ( reload_completed)))
27727 : : return NULL;
27728 : : return gen_split_391 (insn, operands);
27729 : :
27730 : : case E_SImode:
27731 : : if (pattern1331 (x3,
27732 : : E_SImode) != 0
27733 : : || !(
27734 : : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27735 : : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)) &&
27736 : : #line 13609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27737 : : ( reload_completed)))
27738 : : return NULL;
27739 : : return gen_split_392 (insn, operands);
27740 : :
27741 : : case E_DImode:
27742 : : if (pattern1331 (x3,
27743 : : E_DImode) != 0
27744 : : || !((
27745 : : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27746 : : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
27747 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27748 : : (TARGET_64BIT)) &&
27749 : : #line 13609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27750 : : ( reload_completed)))
27751 : : return NULL;
27752 : : return gen_split_393 (insn, operands);
27753 : :
27754 : : case E_QImode:
27755 : : if (pattern1330 (x3,
27756 : : E_QImode) != 0
27757 : : || !(
27758 : : #line 13807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27759 : : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)) &&
27760 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27761 : : ( reload_completed)))
27762 : : return NULL;
27763 : : return gen_split_399 (insn, operands);
27764 : :
27765 : : default:
27766 : : return NULL;
27767 : : }
27768 : :
27769 : : case NEG:
27770 : : return split_27 (x1, insn);
27771 : :
27772 : : case ABS:
27773 : : return split_29 (x1, insn);
27774 : :
27775 : : case ASHIFT:
27776 : : return split_26 (x1, insn);
27777 : :
27778 : : case LSHIFTRT:
27779 : : return split_28 (x1, insn);
27780 : :
27781 : : case ASHIFTRT:
27782 : : return split_31 (x1, insn);
27783 : :
27784 : : case ROTATE:
27785 : : return split_33 (x1, insn);
27786 : :
27787 : : case ROTATERT:
27788 : : return split_32 (x1, insn);
27789 : :
27790 : : case CONST_INT:
27791 : : if (XWINT (x3, 0) != 0L)
27792 : : return NULL;
27793 : : x6 = XEXP (x2, 0);
27794 : : if (GET_CODE (x6) != ZERO_EXTRACT
27795 : : || GET_MODE (x6) != E_HImode)
27796 : : return NULL;
27797 : : x16 = XEXP (x6, 1);
27798 : : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
27799 : : return NULL;
27800 : : x5 = XVECEXP (x1, 0, 1);
27801 : : if (pattern227 (x5,
27802 : : E_CCmode,
27803 : : 17) != 0)
27804 : : return NULL;
27805 : : x17 = XEXP (x6, 0);
27806 : : operands[0] = x17;
27807 : : x18 = XEXP (x6, 2);
27808 : : operands[1] = x18;
27809 : : if (!register_operand (operands[1], E_QImode))
27810 : : return NULL;
27811 : : switch (GET_MODE (operands[0]))
27812 : : {
27813 : : case E_QImode:
27814 : : if (nonimmediate_operand (operands[0], E_QImode)
27815 : : && (
27816 : : #line 18983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27817 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
27818 : : #line 18985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27819 : : ( MEM_P (operands[0]))))
27820 : : return gen_split_810 (insn, operands);
27821 : : if (!register_operand (operands[0], E_QImode)
27822 : : || !
27823 : : #line 19007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27824 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
27825 : : return NULL;
27826 : : return gen_split_812 (insn, operands);
27827 : :
27828 : : case E_HImode:
27829 : : if (nonimmediate_operand (operands[0], E_HImode)
27830 : : && (
27831 : : #line 18983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27832 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
27833 : : #line 18985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27834 : : ( MEM_P (operands[0]))))
27835 : : return gen_split_811 (insn, operands);
27836 : : if (!register_operand (operands[0], E_HImode)
27837 : : || !
27838 : : #line 19007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27839 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
27840 : : return NULL;
27841 : : return gen_split_813 (insn, operands);
27842 : :
27843 : : default:
27844 : : return NULL;
27845 : : }
27846 : :
27847 : : case CTZ:
27848 : : switch (pattern405 (x1))
27849 : : {
27850 : : case 0:
27851 : : if (!
27852 : : #line 21089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27853 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
27854 : : && TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
27855 : : && optimize_function_for_speed_p (cfun)
27856 : : && !reg_mentioned_p (operands[0], operands[1])))
27857 : : return NULL;
27858 : : return gen_split_873 (insn, operands);
27859 : :
27860 : : case 1:
27861 : : if (!(
27862 : : #line 21089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27863 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
27864 : : && TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
27865 : : && optimize_function_for_speed_p (cfun)
27866 : : && !reg_mentioned_p (operands[0], operands[1])) &&
27867 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27868 : : (TARGET_64BIT)))
27869 : : return NULL;
27870 : : return gen_split_874 (insn, operands);
27871 : :
27872 : : default:
27873 : : return NULL;
27874 : : }
27875 : :
27876 : : case SIGN_EXTEND:
27877 : : if (GET_MODE (x3) != E_DImode)
27878 : : return NULL;
27879 : : x5 = XVECEXP (x1, 0, 1);
27880 : : if (pattern351 (x5) != 0)
27881 : : return NULL;
27882 : : x6 = XEXP (x2, 0);
27883 : : operands[0] = x6;
27884 : : if (!register_operand (operands[0], E_DImode))
27885 : : return NULL;
27886 : : x7 = XEXP (x3, 0);
27887 : : if (GET_MODE (x7) != E_SImode)
27888 : : return NULL;
27889 : : switch (GET_CODE (x7))
27890 : : {
27891 : : case CTZ:
27892 : : x8 = XEXP (x7, 0);
27893 : : operands[1] = x8;
27894 : : if (!nonimmediate_operand (operands[1], E_SImode)
27895 : : || !
27896 : : #line 21195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27897 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
27898 : : && TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
27899 : : && optimize_function_for_speed_p (cfun)
27900 : : && !reg_mentioned_p (operands[0], operands[1])))
27901 : : return NULL;
27902 : : return gen_split_876 (insn, operands);
27903 : :
27904 : : case XOR:
27905 : : x8 = XEXP (x7, 0);
27906 : : if (GET_CODE (x8) != MINUS
27907 : : || GET_MODE (x8) != E_SImode)
27908 : : return NULL;
27909 : : x19 = XEXP (x8, 0);
27910 : : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
27911 : : return NULL;
27912 : : x14 = XEXP (x8, 1);
27913 : : if (GET_CODE (x14) != CLZ
27914 : : || GET_MODE (x14) != E_SImode)
27915 : : return NULL;
27916 : : x10 = XEXP (x7, 1);
27917 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
27918 : : return NULL;
27919 : : x20 = XEXP (x14, 0);
27920 : : operands[1] = x20;
27921 : : if (!nonimmediate_operand (operands[1], E_SImode)
27922 : : || !(
27923 : : #line 21356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27924 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) &&
27925 : : #line 21358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27926 : : ( 1)))
27927 : : return NULL;
27928 : : return gen_split_879 (insn, operands);
27929 : :
27930 : : default:
27931 : : return NULL;
27932 : : }
27933 : :
27934 : : case CLZ:
27935 : : switch (pattern405 (x1))
27936 : : {
27937 : : case 0:
27938 : : if (!(
27939 : : #line 21527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27940 : : (TARGET_LZCNT) &&
27941 : : #line 21529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27942 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
27943 : : && optimize_function_for_speed_p (cfun)
27944 : : && !reg_mentioned_p (operands[0], operands[1]))))
27945 : : return NULL;
27946 : : return gen_split_886 (insn, operands);
27947 : :
27948 : : case 1:
27949 : : if (!((
27950 : : #line 21527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27951 : : (TARGET_LZCNT) &&
27952 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27953 : : (TARGET_64BIT)) &&
27954 : : #line 21529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27955 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
27956 : : && optimize_function_for_speed_p (cfun)
27957 : : && !reg_mentioned_p (operands[0], operands[1]))))
27958 : : return NULL;
27959 : : return gen_split_887 (insn, operands);
27960 : :
27961 : : default:
27962 : : return NULL;
27963 : : }
27964 : :
27965 : : case UNSPEC:
27966 : : if (XVECLEN (x3, 0) != 1)
27967 : : return NULL;
27968 : : x5 = XVECEXP (x1, 0, 1);
27969 : : if (pattern227 (x5,
27970 : : E_CCmode,
27971 : : 17) != 0)
27972 : : return NULL;
27973 : : x6 = XEXP (x2, 0);
27974 : : operands[0] = x6;
27975 : : x21 = XVECEXP (x3, 0, 0);
27976 : : operands[1] = x21;
27977 : : switch (XINT (x3, 1))
27978 : : {
27979 : : case 97:
27980 : : switch (pattern1339 (x3))
27981 : : {
27982 : : case 0:
27983 : : if (!(
27984 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27985 : : (TARGET_BMI) &&
27986 : : #line 21691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27987 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
27988 : : && optimize_function_for_speed_p (cfun)
27989 : : && !reg_mentioned_p (operands[0], operands[1]))))
27990 : : return NULL;
27991 : : return gen_split_894 (insn, operands);
27992 : :
27993 : : case 1:
27994 : : if (!((((
27995 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27996 : : (TARGET_64BIT) &&
27997 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27998 : : (TARGET_BMI)) &&
27999 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28000 : : (TARGET_64BIT)) &&
28001 : : #line 21651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28002 : : (TARGET_BMI)) &&
28003 : : #line 21691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28004 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
28005 : : && optimize_function_for_speed_p (cfun)
28006 : : && !reg_mentioned_p (operands[0], operands[1]))))
28007 : : return NULL;
28008 : : return gen_split_896 (insn, operands);
28009 : :
28010 : : default:
28011 : : return NULL;
28012 : : }
28013 : :
28014 : : case 96:
28015 : : switch (pattern1339 (x3))
28016 : : {
28017 : : case 0:
28018 : : if (!(
28019 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28020 : : (TARGET_LZCNT) &&
28021 : : #line 21691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28022 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
28023 : : && optimize_function_for_speed_p (cfun)
28024 : : && !reg_mentioned_p (operands[0], operands[1]))))
28025 : : return NULL;
28026 : : return gen_split_895 (insn, operands);
28027 : :
28028 : : case 1:
28029 : : if (!((((
28030 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28031 : : (TARGET_64BIT) &&
28032 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28033 : : (TARGET_LZCNT)) &&
28034 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28035 : : (TARGET_64BIT)) &&
28036 : : #line 21652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28037 : : (TARGET_LZCNT)) &&
28038 : : #line 21691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28039 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
28040 : : && optimize_function_for_speed_p (cfun)
28041 : : && !reg_mentioned_p (operands[0], operands[1]))))
28042 : : return NULL;
28043 : : return gen_split_897 (insn, operands);
28044 : :
28045 : : default:
28046 : : return NULL;
28047 : : }
28048 : :
28049 : : default:
28050 : : return NULL;
28051 : : }
28052 : :
28053 : : case POPCOUNT:
28054 : : x5 = XVECEXP (x1, 0, 1);
28055 : : if (pattern351 (x5) != 0)
28056 : : return NULL;
28057 : : x6 = XEXP (x2, 0);
28058 : : operands[0] = x6;
28059 : : x7 = XEXP (x3, 0);
28060 : : switch (GET_CODE (x7))
28061 : : {
28062 : : case REG:
28063 : : case SUBREG:
28064 : : case MEM:
28065 : : operands[1] = x7;
28066 : : switch (pattern404 (x3))
28067 : : {
28068 : : case 0:
28069 : : if (!(
28070 : : #line 22190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28071 : : (TARGET_POPCNT) &&
28072 : : #line 22198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28073 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
28074 : : && optimize_function_for_speed_p (cfun)
28075 : : && !reg_mentioned_p (operands[0], operands[1]))))
28076 : : return NULL;
28077 : : return gen_split_900 (insn, operands);
28078 : :
28079 : : case 1:
28080 : : if (!((
28081 : : #line 22190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28082 : : (TARGET_POPCNT) &&
28083 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28084 : : (TARGET_64BIT)) &&
28085 : : #line 22198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28086 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
28087 : : && optimize_function_for_speed_p (cfun)
28088 : : && !reg_mentioned_p (operands[0], operands[1]))))
28089 : : return NULL;
28090 : : return gen_split_901 (insn, operands);
28091 : :
28092 : : default:
28093 : : return NULL;
28094 : : }
28095 : :
28096 : : case ZERO_EXTEND:
28097 : : if (pattern1176 (x3,
28098 : : E_HImode,
28099 : : E_SImode) != 0
28100 : : || !(
28101 : : #line 22360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28102 : : (TARGET_POPCNT
28103 : : && ix86_pre_reload_split ()) &&
28104 : : #line 22363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28105 : : ( 1)))
28106 : : return NULL;
28107 : : return gen_split_904 (insn, operands);
28108 : :
28109 : : default:
28110 : : return NULL;
28111 : : }
28112 : :
28113 : : default:
28114 : : return NULL;
28115 : : }
28116 : :
28117 : : case SIMPLE_RETURN:
28118 : : x5 = XVECEXP (x1, 0, 1);
28119 : : if (GET_CODE (x5) != USE)
28120 : : return NULL;
28121 : : x22 = XEXP (x5, 0);
28122 : : operands[0] = x22;
28123 : : if (!const_int_operand (operands[0], E_SImode)
28124 : : || !(
28125 : : #line 20684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28126 : : (reload_completed) &&
28127 : : #line 20686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28128 : : ( cfun->machine->function_return_type != indirect_branch_keep)))
28129 : : return NULL;
28130 : : return gen_split_868 (insn, operands);
28131 : :
28132 : : default:
28133 : : return NULL;
28134 : : }
28135 : : }
28136 : :
28137 : : rtx_insn *
28138 : : split_66 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28139 : : {
28140 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28141 : : rtx x2, x3, x4, x5, x6, x7;
28142 : : rtx_insn *res ATTRIBUTE_UNUSED;
28143 : : x2 = XEXP (x1, 1);
28144 : : x3 = XEXP (x2, 0);
28145 : : switch (GET_CODE (x3))
28146 : : {
28147 : : case REG:
28148 : : case SUBREG:
28149 : : case MEM:
28150 : : operands[1] = x3;
28151 : : x4 = XEXP (x2, 1);
28152 : : operands[2] = x4;
28153 : : switch (GET_MODE (operands[0]))
28154 : : {
28155 : : case E_V32BFmode:
28156 : : if (pattern956 (x2,
28157 : : E_V32BFmode) != 0
28158 : : || !((
28159 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28160 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28161 : : #line 412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28162 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28163 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28164 : : ( 1)))
28165 : : return NULL;
28166 : : return gen_split_1478 (insn, operands);
28167 : :
28168 : : case E_V16BFmode:
28169 : : if (pattern956 (x2,
28170 : : E_V16BFmode) != 0
28171 : : || !((
28172 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28173 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28174 : : #line 413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28175 : : (TARGET_AVX)) &&
28176 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28177 : : ( 1)))
28178 : : return NULL;
28179 : : return gen_split_1479 (insn, operands);
28180 : :
28181 : : case E_V8BFmode:
28182 : : if (pattern956 (x2,
28183 : : E_V8BFmode) != 0
28184 : : || !((
28185 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28186 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28187 : : #line 413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28188 : : (TARGET_SSE2)) &&
28189 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28190 : : ( 1)))
28191 : : return NULL;
28192 : : return gen_split_1480 (insn, operands);
28193 : :
28194 : : case E_V32HFmode:
28195 : : if (pattern956 (x2,
28196 : : E_V32HFmode) != 0
28197 : : || !((
28198 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28199 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28200 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28201 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28202 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28203 : : ( 1)))
28204 : : return NULL;
28205 : : return gen_split_1481 (insn, operands);
28206 : :
28207 : : case E_V16HFmode:
28208 : : if (pattern956 (x2,
28209 : : E_V16HFmode) != 0
28210 : : || !((
28211 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28212 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28213 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28214 : : (TARGET_AVX)) &&
28215 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28216 : : ( 1)))
28217 : : return NULL;
28218 : : return gen_split_1482 (insn, operands);
28219 : :
28220 : : case E_V8HFmode:
28221 : : if (pattern956 (x2,
28222 : : E_V8HFmode) != 0
28223 : : || !((
28224 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28225 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28226 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28227 : : (TARGET_SSE2)) &&
28228 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28229 : : ( 1)))
28230 : : return NULL;
28231 : : return gen_split_1483 (insn, operands);
28232 : :
28233 : : case E_V16SFmode:
28234 : : if (pattern956 (x2,
28235 : : E_V16SFmode) != 0
28236 : : || !((
28237 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28238 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28239 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28240 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28241 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28242 : : ( 1)))
28243 : : return NULL;
28244 : : return gen_split_1484 (insn, operands);
28245 : :
28246 : : case E_V8SFmode:
28247 : : if (pattern956 (x2,
28248 : : E_V8SFmode) != 0
28249 : : || !((
28250 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28251 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28252 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28253 : : (TARGET_AVX)) &&
28254 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28255 : : ( 1)))
28256 : : return NULL;
28257 : : return gen_split_1485 (insn, operands);
28258 : :
28259 : : case E_V4SFmode:
28260 : : if (pattern956 (x2,
28261 : : E_V4SFmode) != 0
28262 : : || !(
28263 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28264 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28265 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28266 : : ( 1)))
28267 : : return NULL;
28268 : : return gen_split_1486 (insn, operands);
28269 : :
28270 : : case E_V8DFmode:
28271 : : if (pattern956 (x2,
28272 : : E_V8DFmode) != 0
28273 : : || !((
28274 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28275 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28276 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28277 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28278 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28279 : : ( 1)))
28280 : : return NULL;
28281 : : return gen_split_1487 (insn, operands);
28282 : :
28283 : : case E_V4DFmode:
28284 : : if (pattern956 (x2,
28285 : : E_V4DFmode) != 0
28286 : : || !((
28287 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28288 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28289 : : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28290 : : (TARGET_AVX)) &&
28291 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28292 : : ( 1)))
28293 : : return NULL;
28294 : : return gen_split_1488 (insn, operands);
28295 : :
28296 : : case E_V2DFmode:
28297 : : if (pattern956 (x2,
28298 : : E_V2DFmode) != 0
28299 : : || !((
28300 : : #line 5457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28301 : : (TARGET_SSE && ix86_pre_reload_split ()) &&
28302 : : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28303 : : (TARGET_SSE2)) &&
28304 : : #line 5459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28305 : : ( 1)))
28306 : : return NULL;
28307 : : return gen_split_1489 (insn, operands);
28308 : :
28309 : : default:
28310 : : return NULL;
28311 : : }
28312 : :
28313 : : case AND:
28314 : : x5 = XEXP (x3, 0);
28315 : : switch (GET_CODE (x5))
28316 : : {
28317 : : case REG:
28318 : : case SUBREG:
28319 : : case MEM:
28320 : : case NOT:
28321 : : switch (pattern533 (x2))
28322 : : {
28323 : : case 0:
28324 : : if (!((
28325 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28326 : : ((64 == 64 || TARGET_AVX512VL
28327 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28328 : : && ix86_pre_reload_split ()
28329 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28330 : : STRIP_UNARY (operands[4]))
28331 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28332 : : STRIP_UNARY (operands[4]))
28333 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28334 : : STRIP_UNARY (operands[3]))
28335 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28336 : : STRIP_UNARY (operands[3])))) &&
28337 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28338 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28339 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28340 : : ( 1)))
28341 : : return NULL;
28342 : : return gen_split_1649 (insn, operands);
28343 : :
28344 : : case 1:
28345 : : if (!((
28346 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28347 : : ((32 == 64 || TARGET_AVX512VL
28348 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28349 : : && ix86_pre_reload_split ()
28350 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28351 : : STRIP_UNARY (operands[4]))
28352 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28353 : : STRIP_UNARY (operands[4]))
28354 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28355 : : STRIP_UNARY (operands[3]))
28356 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28357 : : STRIP_UNARY (operands[3])))) &&
28358 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28359 : : (TARGET_AVX)) &&
28360 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28361 : : ( 1)))
28362 : : return NULL;
28363 : : return gen_split_1676 (insn, operands);
28364 : :
28365 : : case 2:
28366 : : if (!(
28367 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28368 : : ((16 == 64 || TARGET_AVX512VL
28369 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28370 : : && ix86_pre_reload_split ()
28371 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28372 : : STRIP_UNARY (operands[4]))
28373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28374 : : STRIP_UNARY (operands[4]))
28375 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28376 : : STRIP_UNARY (operands[3]))
28377 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28378 : : STRIP_UNARY (operands[3])))) &&
28379 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28380 : : ( 1)))
28381 : : return NULL;
28382 : : return gen_split_1703 (insn, operands);
28383 : :
28384 : : case 3:
28385 : : if (!((
28386 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28387 : : ((64 == 64 || TARGET_AVX512VL
28388 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28389 : : && ix86_pre_reload_split ()
28390 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28391 : : STRIP_UNARY (operands[4]))
28392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28393 : : STRIP_UNARY (operands[4]))
28394 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28395 : : STRIP_UNARY (operands[3]))
28396 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28397 : : STRIP_UNARY (operands[3])))) &&
28398 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28399 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28400 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28401 : : ( 1)))
28402 : : return NULL;
28403 : : return gen_split_1730 (insn, operands);
28404 : :
28405 : : case 4:
28406 : : if (!((
28407 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28408 : : ((32 == 64 || TARGET_AVX512VL
28409 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28410 : : && ix86_pre_reload_split ()
28411 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28412 : : STRIP_UNARY (operands[4]))
28413 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28414 : : STRIP_UNARY (operands[4]))
28415 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28416 : : STRIP_UNARY (operands[3]))
28417 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28418 : : STRIP_UNARY (operands[3])))) &&
28419 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28420 : : (TARGET_AVX)) &&
28421 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28422 : : ( 1)))
28423 : : return NULL;
28424 : : return gen_split_1757 (insn, operands);
28425 : :
28426 : : case 5:
28427 : : if (!(
28428 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28429 : : ((16 == 64 || TARGET_AVX512VL
28430 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28431 : : && ix86_pre_reload_split ()
28432 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28433 : : STRIP_UNARY (operands[4]))
28434 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28435 : : STRIP_UNARY (operands[4]))
28436 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28437 : : STRIP_UNARY (operands[3]))
28438 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28439 : : STRIP_UNARY (operands[3])))) &&
28440 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28441 : : ( 1)))
28442 : : return NULL;
28443 : : return gen_split_1784 (insn, operands);
28444 : :
28445 : : case 6:
28446 : : if (!((
28447 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28448 : : ((64 == 64 || TARGET_AVX512VL
28449 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28450 : : && ix86_pre_reload_split ()
28451 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28452 : : STRIP_UNARY (operands[4]))
28453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28454 : : STRIP_UNARY (operands[4]))
28455 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28456 : : STRIP_UNARY (operands[3]))
28457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28458 : : STRIP_UNARY (operands[3])))) &&
28459 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28460 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28461 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28462 : : ( 1)))
28463 : : return NULL;
28464 : : return gen_split_1811 (insn, operands);
28465 : :
28466 : : case 7:
28467 : : if (!((
28468 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28469 : : ((32 == 64 || TARGET_AVX512VL
28470 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28471 : : && ix86_pre_reload_split ()
28472 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28473 : : STRIP_UNARY (operands[4]))
28474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28475 : : STRIP_UNARY (operands[4]))
28476 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28477 : : STRIP_UNARY (operands[3]))
28478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28479 : : STRIP_UNARY (operands[3])))) &&
28480 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28481 : : (TARGET_AVX)) &&
28482 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28483 : : ( 1)))
28484 : : return NULL;
28485 : : return gen_split_1838 (insn, operands);
28486 : :
28487 : : case 8:
28488 : : if (!(
28489 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28490 : : ((16 == 64 || TARGET_AVX512VL
28491 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28492 : : && ix86_pre_reload_split ()
28493 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28494 : : STRIP_UNARY (operands[4]))
28495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28496 : : STRIP_UNARY (operands[4]))
28497 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28498 : : STRIP_UNARY (operands[3]))
28499 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28500 : : STRIP_UNARY (operands[3])))) &&
28501 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28502 : : ( 1)))
28503 : : return NULL;
28504 : : return gen_split_1865 (insn, operands);
28505 : :
28506 : : case 9:
28507 : : if (!((
28508 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28509 : : ((64 == 64 || TARGET_AVX512VL
28510 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28511 : : && ix86_pre_reload_split ()
28512 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28513 : : STRIP_UNARY (operands[4]))
28514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28515 : : STRIP_UNARY (operands[4]))
28516 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28517 : : STRIP_UNARY (operands[3]))
28518 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28519 : : STRIP_UNARY (operands[3])))) &&
28520 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28521 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28522 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28523 : : ( 1)))
28524 : : return NULL;
28525 : : return gen_split_1892 (insn, operands);
28526 : :
28527 : : case 10:
28528 : : if (!((
28529 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28530 : : ((32 == 64 || TARGET_AVX512VL
28531 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28532 : : && ix86_pre_reload_split ()
28533 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28534 : : STRIP_UNARY (operands[4]))
28535 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28536 : : STRIP_UNARY (operands[4]))
28537 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28538 : : STRIP_UNARY (operands[3]))
28539 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28540 : : STRIP_UNARY (operands[3])))) &&
28541 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28542 : : (TARGET_AVX)) &&
28543 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28544 : : ( 1)))
28545 : : return NULL;
28546 : : return gen_split_1919 (insn, operands);
28547 : :
28548 : : case 11:
28549 : : if (!(
28550 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28551 : : ((16 == 64 || TARGET_AVX512VL
28552 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28553 : : && ix86_pre_reload_split ()
28554 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28555 : : STRIP_UNARY (operands[4]))
28556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28557 : : STRIP_UNARY (operands[4]))
28558 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28559 : : STRIP_UNARY (operands[3]))
28560 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28561 : : STRIP_UNARY (operands[3])))) &&
28562 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28563 : : ( 1)))
28564 : : return NULL;
28565 : : return gen_split_1946 (insn, operands);
28566 : :
28567 : : case 12:
28568 : : if (!((
28569 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28570 : : ((64 == 64 || TARGET_AVX512VL
28571 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28572 : : && ix86_pre_reload_split ()
28573 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28574 : : STRIP_UNARY (operands[4]))
28575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28576 : : STRIP_UNARY (operands[4]))
28577 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28578 : : STRIP_UNARY (operands[3]))
28579 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28580 : : STRIP_UNARY (operands[3])))) &&
28581 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28582 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28583 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28584 : : ( 1)))
28585 : : return NULL;
28586 : : return gen_split_1652 (insn, operands);
28587 : :
28588 : : case 13:
28589 : : if (!((
28590 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28591 : : ((32 == 64 || TARGET_AVX512VL
28592 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28593 : : && ix86_pre_reload_split ()
28594 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28595 : : STRIP_UNARY (operands[4]))
28596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28597 : : STRIP_UNARY (operands[4]))
28598 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28599 : : STRIP_UNARY (operands[3]))
28600 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28601 : : STRIP_UNARY (operands[3])))) &&
28602 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28603 : : (TARGET_AVX)) &&
28604 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28605 : : ( 1)))
28606 : : return NULL;
28607 : : return gen_split_1679 (insn, operands);
28608 : :
28609 : : case 14:
28610 : : if (!(
28611 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28612 : : ((16 == 64 || TARGET_AVX512VL
28613 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28614 : : && ix86_pre_reload_split ()
28615 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28616 : : STRIP_UNARY (operands[4]))
28617 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28618 : : STRIP_UNARY (operands[4]))
28619 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28620 : : STRIP_UNARY (operands[3]))
28621 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28622 : : STRIP_UNARY (operands[3])))) &&
28623 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28624 : : ( 1)))
28625 : : return NULL;
28626 : : return gen_split_1706 (insn, operands);
28627 : :
28628 : : case 15:
28629 : : if (!((
28630 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28631 : : ((64 == 64 || TARGET_AVX512VL
28632 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28633 : : && ix86_pre_reload_split ()
28634 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28635 : : STRIP_UNARY (operands[4]))
28636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28637 : : STRIP_UNARY (operands[4]))
28638 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28639 : : STRIP_UNARY (operands[3]))
28640 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28641 : : STRIP_UNARY (operands[3])))) &&
28642 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28643 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28644 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28645 : : ( 1)))
28646 : : return NULL;
28647 : : return gen_split_1733 (insn, operands);
28648 : :
28649 : : case 16:
28650 : : if (!((
28651 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28652 : : ((32 == 64 || TARGET_AVX512VL
28653 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28654 : : && ix86_pre_reload_split ()
28655 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28656 : : STRIP_UNARY (operands[4]))
28657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28658 : : STRIP_UNARY (operands[4]))
28659 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28660 : : STRIP_UNARY (operands[3]))
28661 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28662 : : STRIP_UNARY (operands[3])))) &&
28663 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28664 : : (TARGET_AVX)) &&
28665 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28666 : : ( 1)))
28667 : : return NULL;
28668 : : return gen_split_1760 (insn, operands);
28669 : :
28670 : : case 17:
28671 : : if (!(
28672 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28673 : : ((16 == 64 || TARGET_AVX512VL
28674 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28675 : : && ix86_pre_reload_split ()
28676 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28677 : : STRIP_UNARY (operands[4]))
28678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28679 : : STRIP_UNARY (operands[4]))
28680 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28681 : : STRIP_UNARY (operands[3]))
28682 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28683 : : STRIP_UNARY (operands[3])))) &&
28684 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28685 : : ( 1)))
28686 : : return NULL;
28687 : : return gen_split_1787 (insn, operands);
28688 : :
28689 : : case 18:
28690 : : if (!((
28691 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28692 : : ((64 == 64 || TARGET_AVX512VL
28693 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28694 : : && ix86_pre_reload_split ()
28695 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28696 : : STRIP_UNARY (operands[4]))
28697 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28698 : : STRIP_UNARY (operands[4]))
28699 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28700 : : STRIP_UNARY (operands[3]))
28701 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28702 : : STRIP_UNARY (operands[3])))) &&
28703 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28704 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28705 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28706 : : ( 1)))
28707 : : return NULL;
28708 : : return gen_split_1814 (insn, operands);
28709 : :
28710 : : case 19:
28711 : : if (!((
28712 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28713 : : ((32 == 64 || TARGET_AVX512VL
28714 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28715 : : && ix86_pre_reload_split ()
28716 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28717 : : STRIP_UNARY (operands[4]))
28718 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28719 : : STRIP_UNARY (operands[4]))
28720 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28721 : : STRIP_UNARY (operands[3]))
28722 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28723 : : STRIP_UNARY (operands[3])))) &&
28724 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28725 : : (TARGET_AVX)) &&
28726 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28727 : : ( 1)))
28728 : : return NULL;
28729 : : return gen_split_1841 (insn, operands);
28730 : :
28731 : : case 20:
28732 : : if (!(
28733 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28734 : : ((16 == 64 || TARGET_AVX512VL
28735 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28736 : : && ix86_pre_reload_split ()
28737 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28738 : : STRIP_UNARY (operands[4]))
28739 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28740 : : STRIP_UNARY (operands[4]))
28741 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28742 : : STRIP_UNARY (operands[3]))
28743 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28744 : : STRIP_UNARY (operands[3])))) &&
28745 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28746 : : ( 1)))
28747 : : return NULL;
28748 : : return gen_split_1868 (insn, operands);
28749 : :
28750 : : case 21:
28751 : : if (!((
28752 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28753 : : ((64 == 64 || TARGET_AVX512VL
28754 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28755 : : && ix86_pre_reload_split ()
28756 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28757 : : STRIP_UNARY (operands[4]))
28758 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28759 : : STRIP_UNARY (operands[4]))
28760 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28761 : : STRIP_UNARY (operands[3]))
28762 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28763 : : STRIP_UNARY (operands[3])))) &&
28764 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28765 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28766 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28767 : : ( 1)))
28768 : : return NULL;
28769 : : return gen_split_1895 (insn, operands);
28770 : :
28771 : : case 22:
28772 : : if (!((
28773 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28774 : : ((32 == 64 || TARGET_AVX512VL
28775 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28776 : : && ix86_pre_reload_split ()
28777 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28778 : : STRIP_UNARY (operands[4]))
28779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28780 : : STRIP_UNARY (operands[4]))
28781 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28782 : : STRIP_UNARY (operands[3]))
28783 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28784 : : STRIP_UNARY (operands[3])))) &&
28785 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28786 : : (TARGET_AVX)) &&
28787 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28788 : : ( 1)))
28789 : : return NULL;
28790 : : return gen_split_1922 (insn, operands);
28791 : :
28792 : : case 23:
28793 : : if (!(
28794 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28795 : : ((16 == 64 || TARGET_AVX512VL
28796 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28797 : : && ix86_pre_reload_split ()
28798 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28799 : : STRIP_UNARY (operands[4]))
28800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28801 : : STRIP_UNARY (operands[4]))
28802 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28803 : : STRIP_UNARY (operands[3]))
28804 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28805 : : STRIP_UNARY (operands[3])))) &&
28806 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28807 : : ( 1)))
28808 : : return NULL;
28809 : : return gen_split_1949 (insn, operands);
28810 : :
28811 : : case 24:
28812 : : if (!((
28813 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28814 : : ((64 == 64 || TARGET_AVX512VL
28815 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28816 : : && ix86_pre_reload_split ()
28817 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28818 : : STRIP_UNARY (operands[4]))
28819 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28820 : : STRIP_UNARY (operands[4]))
28821 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28822 : : STRIP_UNARY (operands[3]))
28823 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28824 : : STRIP_UNARY (operands[3])))) &&
28825 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28826 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28827 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28828 : : ( 1)))
28829 : : return NULL;
28830 : : return gen_split_1655 (insn, operands);
28831 : :
28832 : : case 25:
28833 : : if (!((
28834 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28835 : : ((32 == 64 || TARGET_AVX512VL
28836 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28837 : : && ix86_pre_reload_split ()
28838 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28839 : : STRIP_UNARY (operands[4]))
28840 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28841 : : STRIP_UNARY (operands[4]))
28842 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28843 : : STRIP_UNARY (operands[3]))
28844 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28845 : : STRIP_UNARY (operands[3])))) &&
28846 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28847 : : (TARGET_AVX)) &&
28848 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28849 : : ( 1)))
28850 : : return NULL;
28851 : : return gen_split_1682 (insn, operands);
28852 : :
28853 : : case 26:
28854 : : if (!(
28855 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28856 : : ((16 == 64 || TARGET_AVX512VL
28857 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28858 : : && ix86_pre_reload_split ()
28859 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28860 : : STRIP_UNARY (operands[4]))
28861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28862 : : STRIP_UNARY (operands[4]))
28863 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28864 : : STRIP_UNARY (operands[3]))
28865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28866 : : STRIP_UNARY (operands[3])))) &&
28867 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28868 : : ( 1)))
28869 : : return NULL;
28870 : : return gen_split_1709 (insn, operands);
28871 : :
28872 : : case 27:
28873 : : if (!((
28874 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28875 : : ((64 == 64 || TARGET_AVX512VL
28876 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28877 : : && ix86_pre_reload_split ()
28878 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28879 : : STRIP_UNARY (operands[4]))
28880 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28881 : : STRIP_UNARY (operands[4]))
28882 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28883 : : STRIP_UNARY (operands[3]))
28884 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28885 : : STRIP_UNARY (operands[3])))) &&
28886 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28887 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28888 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28889 : : ( 1)))
28890 : : return NULL;
28891 : : return gen_split_1736 (insn, operands);
28892 : :
28893 : : case 28:
28894 : : if (!((
28895 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28896 : : ((32 == 64 || TARGET_AVX512VL
28897 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28898 : : && ix86_pre_reload_split ()
28899 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28900 : : STRIP_UNARY (operands[4]))
28901 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28902 : : STRIP_UNARY (operands[4]))
28903 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28904 : : STRIP_UNARY (operands[3]))
28905 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28906 : : STRIP_UNARY (operands[3])))) &&
28907 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28908 : : (TARGET_AVX)) &&
28909 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28910 : : ( 1)))
28911 : : return NULL;
28912 : : return gen_split_1763 (insn, operands);
28913 : :
28914 : : case 29:
28915 : : if (!(
28916 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28917 : : ((16 == 64 || TARGET_AVX512VL
28918 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28919 : : && ix86_pre_reload_split ()
28920 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28921 : : STRIP_UNARY (operands[4]))
28922 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28923 : : STRIP_UNARY (operands[4]))
28924 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28925 : : STRIP_UNARY (operands[3]))
28926 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28927 : : STRIP_UNARY (operands[3])))) &&
28928 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28929 : : ( 1)))
28930 : : return NULL;
28931 : : return gen_split_1790 (insn, operands);
28932 : :
28933 : : case 30:
28934 : : if (!((
28935 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28936 : : ((64 == 64 || TARGET_AVX512VL
28937 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28938 : : && ix86_pre_reload_split ()
28939 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28940 : : STRIP_UNARY (operands[4]))
28941 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28942 : : STRIP_UNARY (operands[4]))
28943 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28944 : : STRIP_UNARY (operands[3]))
28945 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28946 : : STRIP_UNARY (operands[3])))) &&
28947 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28948 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28949 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28950 : : ( 1)))
28951 : : return NULL;
28952 : : return gen_split_1817 (insn, operands);
28953 : :
28954 : : case 31:
28955 : : if (!((
28956 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28957 : : ((32 == 64 || TARGET_AVX512VL
28958 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28959 : : && ix86_pre_reload_split ()
28960 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28961 : : STRIP_UNARY (operands[4]))
28962 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28963 : : STRIP_UNARY (operands[4]))
28964 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28965 : : STRIP_UNARY (operands[3]))
28966 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28967 : : STRIP_UNARY (operands[3])))) &&
28968 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28969 : : (TARGET_AVX)) &&
28970 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28971 : : ( 1)))
28972 : : return NULL;
28973 : : return gen_split_1844 (insn, operands);
28974 : :
28975 : : case 32:
28976 : : if (!(
28977 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28978 : : ((16 == 64 || TARGET_AVX512VL
28979 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28980 : : && ix86_pre_reload_split ()
28981 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28982 : : STRIP_UNARY (operands[4]))
28983 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28984 : : STRIP_UNARY (operands[4]))
28985 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28986 : : STRIP_UNARY (operands[3]))
28987 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28988 : : STRIP_UNARY (operands[3])))) &&
28989 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28990 : : ( 1)))
28991 : : return NULL;
28992 : : return gen_split_1871 (insn, operands);
28993 : :
28994 : : case 33:
28995 : : if (!((
28996 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28997 : : ((64 == 64 || TARGET_AVX512VL
28998 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28999 : : && ix86_pre_reload_split ()
29000 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29001 : : STRIP_UNARY (operands[4]))
29002 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29003 : : STRIP_UNARY (operands[4]))
29004 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29005 : : STRIP_UNARY (operands[3]))
29006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29007 : : STRIP_UNARY (operands[3])))) &&
29008 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29009 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29010 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29011 : : ( 1)))
29012 : : return NULL;
29013 : : return gen_split_1898 (insn, operands);
29014 : :
29015 : : case 34:
29016 : : if (!((
29017 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29018 : : ((32 == 64 || TARGET_AVX512VL
29019 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29020 : : && ix86_pre_reload_split ()
29021 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29022 : : STRIP_UNARY (operands[4]))
29023 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29024 : : STRIP_UNARY (operands[4]))
29025 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29026 : : STRIP_UNARY (operands[3]))
29027 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29028 : : STRIP_UNARY (operands[3])))) &&
29029 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29030 : : (TARGET_AVX)) &&
29031 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29032 : : ( 1)))
29033 : : return NULL;
29034 : : return gen_split_1925 (insn, operands);
29035 : :
29036 : : case 35:
29037 : : if (!(
29038 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29039 : : ((16 == 64 || TARGET_AVX512VL
29040 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29041 : : && ix86_pre_reload_split ()
29042 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29043 : : STRIP_UNARY (operands[4]))
29044 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29045 : : STRIP_UNARY (operands[4]))
29046 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29047 : : STRIP_UNARY (operands[3]))
29048 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29049 : : STRIP_UNARY (operands[3])))) &&
29050 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29051 : : ( 1)))
29052 : : return NULL;
29053 : : return gen_split_1952 (insn, operands);
29054 : :
29055 : : case 36:
29056 : : if (!((
29057 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29058 : : ((64 == 64 || TARGET_AVX512VL
29059 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29060 : : && ix86_pre_reload_split ()) &&
29061 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29062 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29063 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29064 : : ( 1)))
29065 : : return NULL;
29066 : : return gen_split_2945 (insn, operands);
29067 : :
29068 : : case 37:
29069 : : if (!((
29070 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29071 : : ((32 == 64 || TARGET_AVX512VL
29072 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29073 : : && ix86_pre_reload_split ()) &&
29074 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29075 : : (TARGET_AVX)) &&
29076 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29077 : : ( 1)))
29078 : : return NULL;
29079 : : return gen_split_2954 (insn, operands);
29080 : :
29081 : : case 38:
29082 : : if (!(
29083 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29084 : : ((16 == 64 || TARGET_AVX512VL
29085 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29086 : : && ix86_pre_reload_split ()) &&
29087 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29088 : : ( 1)))
29089 : : return NULL;
29090 : : return gen_split_2963 (insn, operands);
29091 : :
29092 : : case 39:
29093 : : if (!((
29094 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29095 : : ((64 == 64 || TARGET_AVX512VL
29096 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29097 : : && ix86_pre_reload_split ()) &&
29098 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29099 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29100 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29101 : : ( 1)))
29102 : : return NULL;
29103 : : return gen_split_2972 (insn, operands);
29104 : :
29105 : : case 40:
29106 : : if (!((
29107 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29108 : : ((32 == 64 || TARGET_AVX512VL
29109 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29110 : : && ix86_pre_reload_split ()) &&
29111 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29112 : : (TARGET_AVX)) &&
29113 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29114 : : ( 1)))
29115 : : return NULL;
29116 : : return gen_split_2981 (insn, operands);
29117 : :
29118 : : case 41:
29119 : : if (!(
29120 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29121 : : ((16 == 64 || TARGET_AVX512VL
29122 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29123 : : && ix86_pre_reload_split ()) &&
29124 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29125 : : ( 1)))
29126 : : return NULL;
29127 : : return gen_split_2990 (insn, operands);
29128 : :
29129 : : case 42:
29130 : : if (!((
29131 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29132 : : ((64 == 64 || TARGET_AVX512VL
29133 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29134 : : && ix86_pre_reload_split ()) &&
29135 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29136 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29137 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29138 : : ( 1)))
29139 : : return NULL;
29140 : : return gen_split_2999 (insn, operands);
29141 : :
29142 : : case 43:
29143 : : if (!((
29144 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29145 : : ((32 == 64 || TARGET_AVX512VL
29146 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29147 : : && ix86_pre_reload_split ()) &&
29148 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29149 : : (TARGET_AVX)) &&
29150 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29151 : : ( 1)))
29152 : : return NULL;
29153 : : return gen_split_3008 (insn, operands);
29154 : :
29155 : : case 44:
29156 : : if (!(
29157 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29158 : : ((16 == 64 || TARGET_AVX512VL
29159 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29160 : : && ix86_pre_reload_split ()) &&
29161 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29162 : : ( 1)))
29163 : : return NULL;
29164 : : return gen_split_3017 (insn, operands);
29165 : :
29166 : : case 45:
29167 : : if (!((
29168 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29169 : : ((64 == 64 || TARGET_AVX512VL
29170 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29171 : : && ix86_pre_reload_split ()) &&
29172 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29173 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29174 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29175 : : ( 1)))
29176 : : return NULL;
29177 : : return gen_split_3026 (insn, operands);
29178 : :
29179 : : case 46:
29180 : : if (!((
29181 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29182 : : ((32 == 64 || TARGET_AVX512VL
29183 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29184 : : && ix86_pre_reload_split ()) &&
29185 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29186 : : (TARGET_AVX)) &&
29187 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29188 : : ( 1)))
29189 : : return NULL;
29190 : : return gen_split_3035 (insn, operands);
29191 : :
29192 : : case 47:
29193 : : if (!(
29194 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29195 : : ((16 == 64 || TARGET_AVX512VL
29196 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29197 : : && ix86_pre_reload_split ()) &&
29198 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29199 : : ( 1)))
29200 : : return NULL;
29201 : : return gen_split_3044 (insn, operands);
29202 : :
29203 : : default:
29204 : : return NULL;
29205 : : }
29206 : :
29207 : : case AND:
29208 : : switch (pattern535 (x2))
29209 : : {
29210 : : case 0:
29211 : : if (!((
29212 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29213 : : ((64 == 64 || TARGET_AVX512VL
29214 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29215 : : && ix86_pre_reload_split ()
29216 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29217 : : STRIP_UNARY (operands[4]))
29218 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29219 : : STRIP_UNARY (operands[4]))
29220 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29221 : : STRIP_UNARY (operands[3]))
29222 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29223 : : STRIP_UNARY (operands[3])))) &&
29224 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29225 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29226 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29227 : : ( 1)))
29228 : : return NULL;
29229 : : return gen_split_2297 (insn, operands);
29230 : :
29231 : : case 1:
29232 : : if (!((
29233 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29234 : : ((32 == 64 || TARGET_AVX512VL
29235 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29236 : : && ix86_pre_reload_split ()
29237 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29238 : : STRIP_UNARY (operands[4]))
29239 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29240 : : STRIP_UNARY (operands[4]))
29241 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29242 : : STRIP_UNARY (operands[3]))
29243 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29244 : : STRIP_UNARY (operands[3])))) &&
29245 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29246 : : (TARGET_AVX)) &&
29247 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29248 : : ( 1)))
29249 : : return NULL;
29250 : : return gen_split_2324 (insn, operands);
29251 : :
29252 : : case 2:
29253 : : if (!(
29254 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29255 : : ((16 == 64 || TARGET_AVX512VL
29256 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29257 : : && ix86_pre_reload_split ()
29258 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29259 : : STRIP_UNARY (operands[4]))
29260 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29261 : : STRIP_UNARY (operands[4]))
29262 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29263 : : STRIP_UNARY (operands[3]))
29264 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29265 : : STRIP_UNARY (operands[3])))) &&
29266 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29267 : : ( 1)))
29268 : : return NULL;
29269 : : return gen_split_2351 (insn, operands);
29270 : :
29271 : : case 3:
29272 : : if (!((
29273 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29274 : : ((64 == 64 || TARGET_AVX512VL
29275 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29276 : : && ix86_pre_reload_split ()
29277 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29278 : : STRIP_UNARY (operands[4]))
29279 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29280 : : STRIP_UNARY (operands[4]))
29281 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29282 : : STRIP_UNARY (operands[3]))
29283 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29284 : : STRIP_UNARY (operands[3])))) &&
29285 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29286 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29287 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29288 : : ( 1)))
29289 : : return NULL;
29290 : : return gen_split_2378 (insn, operands);
29291 : :
29292 : : case 4:
29293 : : if (!((
29294 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29295 : : ((32 == 64 || TARGET_AVX512VL
29296 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29297 : : && ix86_pre_reload_split ()
29298 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29299 : : STRIP_UNARY (operands[4]))
29300 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29301 : : STRIP_UNARY (operands[4]))
29302 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29303 : : STRIP_UNARY (operands[3]))
29304 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29305 : : STRIP_UNARY (operands[3])))) &&
29306 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29307 : : (TARGET_AVX)) &&
29308 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29309 : : ( 1)))
29310 : : return NULL;
29311 : : return gen_split_2405 (insn, operands);
29312 : :
29313 : : case 5:
29314 : : if (!(
29315 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29316 : : ((16 == 64 || TARGET_AVX512VL
29317 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29318 : : && ix86_pre_reload_split ()
29319 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29320 : : STRIP_UNARY (operands[4]))
29321 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29322 : : STRIP_UNARY (operands[4]))
29323 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29324 : : STRIP_UNARY (operands[3]))
29325 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29326 : : STRIP_UNARY (operands[3])))) &&
29327 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29328 : : ( 1)))
29329 : : return NULL;
29330 : : return gen_split_2432 (insn, operands);
29331 : :
29332 : : case 6:
29333 : : if (!((
29334 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29335 : : ((64 == 64 || TARGET_AVX512VL
29336 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29337 : : && ix86_pre_reload_split ()
29338 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29339 : : STRIP_UNARY (operands[4]))
29340 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29341 : : STRIP_UNARY (operands[4]))
29342 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29343 : : STRIP_UNARY (operands[3]))
29344 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29345 : : STRIP_UNARY (operands[3])))) &&
29346 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29347 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29348 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29349 : : ( 1)))
29350 : : return NULL;
29351 : : return gen_split_2459 (insn, operands);
29352 : :
29353 : : case 7:
29354 : : if (!((
29355 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29356 : : ((32 == 64 || TARGET_AVX512VL
29357 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29358 : : && ix86_pre_reload_split ()
29359 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29360 : : STRIP_UNARY (operands[4]))
29361 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29362 : : STRIP_UNARY (operands[4]))
29363 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29364 : : STRIP_UNARY (operands[3]))
29365 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29366 : : STRIP_UNARY (operands[3])))) &&
29367 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29368 : : (TARGET_AVX)) &&
29369 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29370 : : ( 1)))
29371 : : return NULL;
29372 : : return gen_split_2486 (insn, operands);
29373 : :
29374 : : case 8:
29375 : : if (!(
29376 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29377 : : ((16 == 64 || TARGET_AVX512VL
29378 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29379 : : && ix86_pre_reload_split ()
29380 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29381 : : STRIP_UNARY (operands[4]))
29382 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29383 : : STRIP_UNARY (operands[4]))
29384 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29385 : : STRIP_UNARY (operands[3]))
29386 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29387 : : STRIP_UNARY (operands[3])))) &&
29388 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29389 : : ( 1)))
29390 : : return NULL;
29391 : : return gen_split_2513 (insn, operands);
29392 : :
29393 : : case 9:
29394 : : if (!((
29395 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29396 : : ((64 == 64 || TARGET_AVX512VL
29397 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29398 : : && ix86_pre_reload_split ()
29399 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29400 : : STRIP_UNARY (operands[4]))
29401 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29402 : : STRIP_UNARY (operands[4]))
29403 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29404 : : STRIP_UNARY (operands[3]))
29405 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29406 : : STRIP_UNARY (operands[3])))) &&
29407 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29408 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29409 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29410 : : ( 1)))
29411 : : return NULL;
29412 : : return gen_split_2540 (insn, operands);
29413 : :
29414 : : case 10:
29415 : : if (!((
29416 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29417 : : ((32 == 64 || TARGET_AVX512VL
29418 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29419 : : && ix86_pre_reload_split ()
29420 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29421 : : STRIP_UNARY (operands[4]))
29422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29423 : : STRIP_UNARY (operands[4]))
29424 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29425 : : STRIP_UNARY (operands[3]))
29426 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29427 : : STRIP_UNARY (operands[3])))) &&
29428 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29429 : : (TARGET_AVX)) &&
29430 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29431 : : ( 1)))
29432 : : return NULL;
29433 : : return gen_split_2567 (insn, operands);
29434 : :
29435 : : case 11:
29436 : : if (!(
29437 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29438 : : ((16 == 64 || TARGET_AVX512VL
29439 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29440 : : && ix86_pre_reload_split ()
29441 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29442 : : STRIP_UNARY (operands[4]))
29443 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29444 : : STRIP_UNARY (operands[4]))
29445 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29446 : : STRIP_UNARY (operands[3]))
29447 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29448 : : STRIP_UNARY (operands[3])))) &&
29449 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29450 : : ( 1)))
29451 : : return NULL;
29452 : : return gen_split_2594 (insn, operands);
29453 : :
29454 : : default:
29455 : : return NULL;
29456 : : }
29457 : :
29458 : : case IOR:
29459 : : switch (pattern535 (x2))
29460 : : {
29461 : : case 0:
29462 : : if (!((
29463 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29464 : : ((64 == 64 || TARGET_AVX512VL
29465 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29466 : : && ix86_pre_reload_split ()
29467 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29468 : : STRIP_UNARY (operands[4]))
29469 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29470 : : STRIP_UNARY (operands[4]))
29471 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29472 : : STRIP_UNARY (operands[3]))
29473 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29474 : : STRIP_UNARY (operands[3])))) &&
29475 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29476 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29477 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29478 : : ( 1)))
29479 : : return NULL;
29480 : : return gen_split_2300 (insn, operands);
29481 : :
29482 : : case 1:
29483 : : if (!((
29484 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29485 : : ((32 == 64 || TARGET_AVX512VL
29486 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29487 : : && ix86_pre_reload_split ()
29488 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29489 : : STRIP_UNARY (operands[4]))
29490 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29491 : : STRIP_UNARY (operands[4]))
29492 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29493 : : STRIP_UNARY (operands[3]))
29494 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29495 : : STRIP_UNARY (operands[3])))) &&
29496 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29497 : : (TARGET_AVX)) &&
29498 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29499 : : ( 1)))
29500 : : return NULL;
29501 : : return gen_split_2327 (insn, operands);
29502 : :
29503 : : case 2:
29504 : : if (!(
29505 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29506 : : ((16 == 64 || TARGET_AVX512VL
29507 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29508 : : && ix86_pre_reload_split ()
29509 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29510 : : STRIP_UNARY (operands[4]))
29511 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29512 : : STRIP_UNARY (operands[4]))
29513 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29514 : : STRIP_UNARY (operands[3]))
29515 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29516 : : STRIP_UNARY (operands[3])))) &&
29517 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29518 : : ( 1)))
29519 : : return NULL;
29520 : : return gen_split_2354 (insn, operands);
29521 : :
29522 : : case 3:
29523 : : if (!((
29524 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29525 : : ((64 == 64 || TARGET_AVX512VL
29526 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29527 : : && ix86_pre_reload_split ()
29528 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29529 : : STRIP_UNARY (operands[4]))
29530 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29531 : : STRIP_UNARY (operands[4]))
29532 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29533 : : STRIP_UNARY (operands[3]))
29534 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29535 : : STRIP_UNARY (operands[3])))) &&
29536 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29537 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29538 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29539 : : ( 1)))
29540 : : return NULL;
29541 : : return gen_split_2381 (insn, operands);
29542 : :
29543 : : case 4:
29544 : : if (!((
29545 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29546 : : ((32 == 64 || TARGET_AVX512VL
29547 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29548 : : && ix86_pre_reload_split ()
29549 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29550 : : STRIP_UNARY (operands[4]))
29551 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29552 : : STRIP_UNARY (operands[4]))
29553 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29554 : : STRIP_UNARY (operands[3]))
29555 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29556 : : STRIP_UNARY (operands[3])))) &&
29557 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29558 : : (TARGET_AVX)) &&
29559 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29560 : : ( 1)))
29561 : : return NULL;
29562 : : return gen_split_2408 (insn, operands);
29563 : :
29564 : : case 5:
29565 : : if (!(
29566 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29567 : : ((16 == 64 || TARGET_AVX512VL
29568 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29569 : : && ix86_pre_reload_split ()
29570 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29571 : : STRIP_UNARY (operands[4]))
29572 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29573 : : STRIP_UNARY (operands[4]))
29574 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29575 : : STRIP_UNARY (operands[3]))
29576 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29577 : : STRIP_UNARY (operands[3])))) &&
29578 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29579 : : ( 1)))
29580 : : return NULL;
29581 : : return gen_split_2435 (insn, operands);
29582 : :
29583 : : case 6:
29584 : : if (!((
29585 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29586 : : ((64 == 64 || TARGET_AVX512VL
29587 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29588 : : && ix86_pre_reload_split ()
29589 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29590 : : STRIP_UNARY (operands[4]))
29591 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29592 : : STRIP_UNARY (operands[4]))
29593 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29594 : : STRIP_UNARY (operands[3]))
29595 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29596 : : STRIP_UNARY (operands[3])))) &&
29597 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29598 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29599 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29600 : : ( 1)))
29601 : : return NULL;
29602 : : return gen_split_2462 (insn, operands);
29603 : :
29604 : : case 7:
29605 : : if (!((
29606 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29607 : : ((32 == 64 || TARGET_AVX512VL
29608 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29609 : : && ix86_pre_reload_split ()
29610 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29611 : : STRIP_UNARY (operands[4]))
29612 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29613 : : STRIP_UNARY (operands[4]))
29614 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29615 : : STRIP_UNARY (operands[3]))
29616 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29617 : : STRIP_UNARY (operands[3])))) &&
29618 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29619 : : (TARGET_AVX)) &&
29620 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29621 : : ( 1)))
29622 : : return NULL;
29623 : : return gen_split_2489 (insn, operands);
29624 : :
29625 : : case 8:
29626 : : if (!(
29627 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29628 : : ((16 == 64 || TARGET_AVX512VL
29629 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29630 : : && ix86_pre_reload_split ()
29631 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29632 : : STRIP_UNARY (operands[4]))
29633 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29634 : : STRIP_UNARY (operands[4]))
29635 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29636 : : STRIP_UNARY (operands[3]))
29637 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29638 : : STRIP_UNARY (operands[3])))) &&
29639 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29640 : : ( 1)))
29641 : : return NULL;
29642 : : return gen_split_2516 (insn, operands);
29643 : :
29644 : : case 9:
29645 : : if (!((
29646 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29647 : : ((64 == 64 || TARGET_AVX512VL
29648 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29649 : : && ix86_pre_reload_split ()
29650 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29651 : : STRIP_UNARY (operands[4]))
29652 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29653 : : STRIP_UNARY (operands[4]))
29654 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29655 : : STRIP_UNARY (operands[3]))
29656 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29657 : : STRIP_UNARY (operands[3])))) &&
29658 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29659 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29660 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29661 : : ( 1)))
29662 : : return NULL;
29663 : : return gen_split_2543 (insn, operands);
29664 : :
29665 : : case 10:
29666 : : if (!((
29667 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29668 : : ((32 == 64 || TARGET_AVX512VL
29669 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29670 : : && ix86_pre_reload_split ()
29671 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29672 : : STRIP_UNARY (operands[4]))
29673 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29674 : : STRIP_UNARY (operands[4]))
29675 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29676 : : STRIP_UNARY (operands[3]))
29677 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29678 : : STRIP_UNARY (operands[3])))) &&
29679 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29680 : : (TARGET_AVX)) &&
29681 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29682 : : ( 1)))
29683 : : return NULL;
29684 : : return gen_split_2570 (insn, operands);
29685 : :
29686 : : case 11:
29687 : : if (!(
29688 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29689 : : ((16 == 64 || TARGET_AVX512VL
29690 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29691 : : && ix86_pre_reload_split ()
29692 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29693 : : STRIP_UNARY (operands[4]))
29694 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29695 : : STRIP_UNARY (operands[4]))
29696 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29697 : : STRIP_UNARY (operands[3]))
29698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29699 : : STRIP_UNARY (operands[3])))) &&
29700 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29701 : : ( 1)))
29702 : : return NULL;
29703 : : return gen_split_2597 (insn, operands);
29704 : :
29705 : : default:
29706 : : return NULL;
29707 : : }
29708 : :
29709 : : case XOR:
29710 : : switch (pattern535 (x2))
29711 : : {
29712 : : case 0:
29713 : : if (!((
29714 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29715 : : ((64 == 64 || TARGET_AVX512VL
29716 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29717 : : && ix86_pre_reload_split ()
29718 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29719 : : STRIP_UNARY (operands[4]))
29720 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29721 : : STRIP_UNARY (operands[4]))
29722 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29723 : : STRIP_UNARY (operands[3]))
29724 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29725 : : STRIP_UNARY (operands[3])))) &&
29726 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29727 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29728 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29729 : : ( 1)))
29730 : : return NULL;
29731 : : return gen_split_2303 (insn, operands);
29732 : :
29733 : : case 1:
29734 : : if (!((
29735 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29736 : : ((32 == 64 || TARGET_AVX512VL
29737 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29738 : : && ix86_pre_reload_split ()
29739 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29740 : : STRIP_UNARY (operands[4]))
29741 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29742 : : STRIP_UNARY (operands[4]))
29743 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29744 : : STRIP_UNARY (operands[3]))
29745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29746 : : STRIP_UNARY (operands[3])))) &&
29747 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29748 : : (TARGET_AVX)) &&
29749 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29750 : : ( 1)))
29751 : : return NULL;
29752 : : return gen_split_2330 (insn, operands);
29753 : :
29754 : : case 2:
29755 : : if (!(
29756 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29757 : : ((16 == 64 || TARGET_AVX512VL
29758 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29759 : : && ix86_pre_reload_split ()
29760 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29761 : : STRIP_UNARY (operands[4]))
29762 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29763 : : STRIP_UNARY (operands[4]))
29764 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29765 : : STRIP_UNARY (operands[3]))
29766 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29767 : : STRIP_UNARY (operands[3])))) &&
29768 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29769 : : ( 1)))
29770 : : return NULL;
29771 : : return gen_split_2357 (insn, operands);
29772 : :
29773 : : case 3:
29774 : : if (!((
29775 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29776 : : ((64 == 64 || TARGET_AVX512VL
29777 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29778 : : && ix86_pre_reload_split ()
29779 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29780 : : STRIP_UNARY (operands[4]))
29781 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29782 : : STRIP_UNARY (operands[4]))
29783 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29784 : : STRIP_UNARY (operands[3]))
29785 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29786 : : STRIP_UNARY (operands[3])))) &&
29787 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29788 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29789 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29790 : : ( 1)))
29791 : : return NULL;
29792 : : return gen_split_2384 (insn, operands);
29793 : :
29794 : : case 4:
29795 : : if (!((
29796 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29797 : : ((32 == 64 || TARGET_AVX512VL
29798 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29799 : : && ix86_pre_reload_split ()
29800 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29801 : : STRIP_UNARY (operands[4]))
29802 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29803 : : STRIP_UNARY (operands[4]))
29804 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29805 : : STRIP_UNARY (operands[3]))
29806 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29807 : : STRIP_UNARY (operands[3])))) &&
29808 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29809 : : (TARGET_AVX)) &&
29810 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29811 : : ( 1)))
29812 : : return NULL;
29813 : : return gen_split_2411 (insn, operands);
29814 : :
29815 : : case 5:
29816 : : if (!(
29817 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29818 : : ((16 == 64 || TARGET_AVX512VL
29819 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29820 : : && ix86_pre_reload_split ()
29821 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29822 : : STRIP_UNARY (operands[4]))
29823 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29824 : : STRIP_UNARY (operands[4]))
29825 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29826 : : STRIP_UNARY (operands[3]))
29827 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29828 : : STRIP_UNARY (operands[3])))) &&
29829 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29830 : : ( 1)))
29831 : : return NULL;
29832 : : return gen_split_2438 (insn, operands);
29833 : :
29834 : : case 6:
29835 : : if (!((
29836 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29837 : : ((64 == 64 || TARGET_AVX512VL
29838 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29839 : : && ix86_pre_reload_split ()
29840 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29841 : : STRIP_UNARY (operands[4]))
29842 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29843 : : STRIP_UNARY (operands[4]))
29844 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29845 : : STRIP_UNARY (operands[3]))
29846 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29847 : : STRIP_UNARY (operands[3])))) &&
29848 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29849 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29850 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29851 : : ( 1)))
29852 : : return NULL;
29853 : : return gen_split_2465 (insn, operands);
29854 : :
29855 : : case 7:
29856 : : if (!((
29857 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29858 : : ((32 == 64 || TARGET_AVX512VL
29859 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29860 : : && ix86_pre_reload_split ()
29861 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29862 : : STRIP_UNARY (operands[4]))
29863 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29864 : : STRIP_UNARY (operands[4]))
29865 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29866 : : STRIP_UNARY (operands[3]))
29867 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29868 : : STRIP_UNARY (operands[3])))) &&
29869 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29870 : : (TARGET_AVX)) &&
29871 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29872 : : ( 1)))
29873 : : return NULL;
29874 : : return gen_split_2492 (insn, operands);
29875 : :
29876 : : case 8:
29877 : : if (!(
29878 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29879 : : ((16 == 64 || TARGET_AVX512VL
29880 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29881 : : && ix86_pre_reload_split ()
29882 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29883 : : STRIP_UNARY (operands[4]))
29884 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29885 : : STRIP_UNARY (operands[4]))
29886 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29887 : : STRIP_UNARY (operands[3]))
29888 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29889 : : STRIP_UNARY (operands[3])))) &&
29890 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29891 : : ( 1)))
29892 : : return NULL;
29893 : : return gen_split_2519 (insn, operands);
29894 : :
29895 : : case 9:
29896 : : if (!((
29897 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29898 : : ((64 == 64 || TARGET_AVX512VL
29899 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29900 : : && ix86_pre_reload_split ()
29901 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29902 : : STRIP_UNARY (operands[4]))
29903 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29904 : : STRIP_UNARY (operands[4]))
29905 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29906 : : STRIP_UNARY (operands[3]))
29907 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29908 : : STRIP_UNARY (operands[3])))) &&
29909 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29910 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29911 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29912 : : ( 1)))
29913 : : return NULL;
29914 : : return gen_split_2546 (insn, operands);
29915 : :
29916 : : case 10:
29917 : : if (!((
29918 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29919 : : ((32 == 64 || TARGET_AVX512VL
29920 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29921 : : && ix86_pre_reload_split ()
29922 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29923 : : STRIP_UNARY (operands[4]))
29924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29925 : : STRIP_UNARY (operands[4]))
29926 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29927 : : STRIP_UNARY (operands[3]))
29928 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29929 : : STRIP_UNARY (operands[3])))) &&
29930 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29931 : : (TARGET_AVX)) &&
29932 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29933 : : ( 1)))
29934 : : return NULL;
29935 : : return gen_split_2573 (insn, operands);
29936 : :
29937 : : case 11:
29938 : : if (!(
29939 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29940 : : ((16 == 64 || TARGET_AVX512VL
29941 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29942 : : && ix86_pre_reload_split ()
29943 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29944 : : STRIP_UNARY (operands[4]))
29945 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29946 : : STRIP_UNARY (operands[4]))
29947 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29948 : : STRIP_UNARY (operands[3]))
29949 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29950 : : STRIP_UNARY (operands[3])))) &&
29951 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29952 : : ( 1)))
29953 : : return NULL;
29954 : : return gen_split_2600 (insn, operands);
29955 : :
29956 : : default:
29957 : : return NULL;
29958 : : }
29959 : :
29960 : : default:
29961 : : return NULL;
29962 : : }
29963 : :
29964 : : case IOR:
29965 : : return split_65 (x1, insn);
29966 : :
29967 : : case XOR:
29968 : : return split_64 (x1, insn);
29969 : :
29970 : : case GT:
29971 : : switch (pattern337 (x2))
29972 : : {
29973 : : case 0:
29974 : : if (!((
29975 : : #line 17325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29976 : : (TARGET_SSE4_2 && ix86_pre_reload_split ()) &&
29977 : : #line 705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29978 : : (TARGET_AVX2)) &&
29979 : : #line 17327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29980 : : ( 1)))
29981 : : return NULL;
29982 : : return gen_split_3225 (insn, operands);
29983 : :
29984 : : case 1:
29985 : : if (!(
29986 : : #line 17325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29987 : : (TARGET_SSE4_2 && ix86_pre_reload_split ()) &&
29988 : : #line 17327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29989 : : ( 1)))
29990 : : return NULL;
29991 : : return gen_split_3226 (insn, operands);
29992 : :
29993 : : default:
29994 : : return NULL;
29995 : : }
29996 : :
29997 : : case LT:
29998 : : x5 = XEXP (x3, 0);
29999 : : operands[1] = x5;
30000 : : x6 = XEXP (x3, 1);
30001 : : operands[2] = x6;
30002 : : x4 = XEXP (x2, 1);
30003 : : operands[3] = x4;
30004 : : switch (GET_MODE (operands[0]))
30005 : : {
30006 : : case E_V4DImode:
30007 : : if (pattern934 (x2,
30008 : : E_V4DImode) != 0)
30009 : : return NULL;
30010 : : if (((
30011 : : #line 17342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30012 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30013 : : #line 705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30014 : : (TARGET_AVX2)) &&
30015 : : #line 17344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30016 : : ( 1)))
30017 : : return gen_split_3227 (insn, operands);
30018 : : if (!(
30019 : : #line 17354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30020 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30021 : : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30022 : : (TARGET_AVX2)))
30023 : : return NULL;
30024 : : return gen_split_3233 (insn, operands);
30025 : :
30026 : : case E_V2DImode:
30027 : : if (pattern934 (x2,
30028 : : E_V2DImode) != 0)
30029 : : return NULL;
30030 : : if ((
30031 : : #line 17342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30032 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30033 : : #line 17344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30034 : : ( 1)))
30035 : : return gen_split_3228 (insn, operands);
30036 : : if (!
30037 : : #line 17354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30038 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
30039 : : return NULL;
30040 : : return gen_split_3234 (insn, operands);
30041 : :
30042 : : case E_V16HImode:
30043 : : if (pattern934 (x2,
30044 : : E_V16HImode) != 0
30045 : : || !(
30046 : : #line 17354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30047 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30048 : : #line 775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30049 : : (TARGET_AVX2)))
30050 : : return NULL;
30051 : : return gen_split_3229 (insn, operands);
30052 : :
30053 : : case E_V8HImode:
30054 : : if (pattern934 (x2,
30055 : : E_V8HImode) != 0
30056 : : || !
30057 : : #line 17354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30058 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
30059 : : return NULL;
30060 : : return gen_split_3230 (insn, operands);
30061 : :
30062 : : case E_V8SImode:
30063 : : if (pattern934 (x2,
30064 : : E_V8SImode) != 0
30065 : : || !(
30066 : : #line 17354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30067 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30068 : : #line 776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30069 : : (TARGET_AVX2)))
30070 : : return NULL;
30071 : : return gen_split_3231 (insn, operands);
30072 : :
30073 : : case E_V4SImode:
30074 : : if (pattern934 (x2,
30075 : : E_V4SImode) != 0
30076 : : || !
30077 : : #line 17354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30078 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
30079 : : return NULL;
30080 : : return gen_split_3232 (insn, operands);
30081 : :
30082 : : default:
30083 : : return NULL;
30084 : : }
30085 : :
30086 : : case VEC_DUPLICATE:
30087 : : x5 = XEXP (x3, 0);
30088 : : if (GET_CODE (x5) != NOT)
30089 : : return NULL;
30090 : : x7 = XEXP (x5, 0);
30091 : : operands[1] = x7;
30092 : : x4 = XEXP (x2, 1);
30093 : : operands[2] = x4;
30094 : : switch (GET_MODE (operands[0]))
30095 : : {
30096 : : case E_V4SImode:
30097 : : if (pattern1063 (x2,
30098 : : E_V4SImode,
30099 : : E_SImode) != 0)
30100 : : return NULL;
30101 : : if (register_operand (operands[1], E_SImode)
30102 : : &&
30103 : : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30104 : : (TARGET_SSE))
30105 : : return gen_split_3336 (insn, operands);
30106 : : if (!nonimmediate_operand (operands[1], E_SImode)
30107 : : || !
30108 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30109 : : (TARGET_AVX2))
30110 : : return NULL;
30111 : : return gen_split_3346 (insn, operands);
30112 : :
30113 : : case E_V2DImode:
30114 : : if (pattern1063 (x2,
30115 : : E_V2DImode,
30116 : : E_DImode) != 0)
30117 : : return NULL;
30118 : : if (register_operand (operands[1], E_DImode)
30119 : : &&
30120 : : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30121 : : (TARGET_SSE))
30122 : : return gen_split_3337 (insn, operands);
30123 : : if (!nonimmediate_operand (operands[1], E_DImode)
30124 : : || !
30125 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30126 : : (TARGET_AVX2))
30127 : : return NULL;
30128 : : return gen_split_3349 (insn, operands);
30129 : :
30130 : : case E_V64QImode:
30131 : : if (pattern595 (x2,
30132 : : E_V64QImode,
30133 : : E_QImode) != 0
30134 : : || !(
30135 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30136 : : (TARGET_AVX2) &&
30137 : : #line 588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30138 : : (TARGET_AVX512BW && TARGET_EVEX512)))
30139 : : return NULL;
30140 : : return gen_split_3338 (insn, operands);
30141 : :
30142 : : case E_V32QImode:
30143 : : if (pattern595 (x2,
30144 : : E_V32QImode,
30145 : : E_QImode) != 0
30146 : : || !
30147 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30148 : : (TARGET_AVX2))
30149 : : return NULL;
30150 : : return gen_split_3339 (insn, operands);
30151 : :
30152 : : case E_V16QImode:
30153 : : if (pattern595 (x2,
30154 : : E_V16QImode,
30155 : : E_QImode) != 0
30156 : : || !
30157 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30158 : : (TARGET_AVX2))
30159 : : return NULL;
30160 : : return gen_split_3340 (insn, operands);
30161 : :
30162 : : case E_V32HImode:
30163 : : if (pattern595 (x2,
30164 : : E_V32HImode,
30165 : : E_HImode) != 0
30166 : : || !(
30167 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30168 : : (TARGET_AVX2) &&
30169 : : #line 589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30170 : : (TARGET_AVX512BW && TARGET_EVEX512)))
30171 : : return NULL;
30172 : : return gen_split_3341 (insn, operands);
30173 : :
30174 : : case E_V16HImode:
30175 : : if (pattern595 (x2,
30176 : : E_V16HImode,
30177 : : E_HImode) != 0
30178 : : || !
30179 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30180 : : (TARGET_AVX2))
30181 : : return NULL;
30182 : : return gen_split_3342 (insn, operands);
30183 : :
30184 : : case E_V8HImode:
30185 : : if (pattern595 (x2,
30186 : : E_V8HImode,
30187 : : E_HImode) != 0
30188 : : || !
30189 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30190 : : (TARGET_AVX2))
30191 : : return NULL;
30192 : : return gen_split_3343 (insn, operands);
30193 : :
30194 : : case E_V16SImode:
30195 : : if (pattern595 (x2,
30196 : : E_V16SImode,
30197 : : E_SImode) != 0
30198 : : || !(
30199 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30200 : : (TARGET_AVX2) &&
30201 : : #line 590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30202 : : (TARGET_AVX512F && TARGET_EVEX512)))
30203 : : return NULL;
30204 : : return gen_split_3344 (insn, operands);
30205 : :
30206 : : case E_V8SImode:
30207 : : if (pattern595 (x2,
30208 : : E_V8SImode,
30209 : : E_SImode) != 0
30210 : : || !
30211 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30212 : : (TARGET_AVX2))
30213 : : return NULL;
30214 : : return gen_split_3345 (insn, operands);
30215 : :
30216 : : case E_V8DImode:
30217 : : if (pattern595 (x2,
30218 : : E_V8DImode,
30219 : : E_DImode) != 0
30220 : : || !(
30221 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30222 : : (TARGET_AVX2) &&
30223 : : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30224 : : (TARGET_AVX512F && TARGET_EVEX512)))
30225 : : return NULL;
30226 : : return gen_split_3347 (insn, operands);
30227 : :
30228 : : case E_V4DImode:
30229 : : if (pattern595 (x2,
30230 : : E_V4DImode,
30231 : : E_DImode) != 0
30232 : : || !
30233 : : #line 18633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30234 : : (TARGET_AVX2))
30235 : : return NULL;
30236 : : return gen_split_3348 (insn, operands);
30237 : :
30238 : : default:
30239 : : return NULL;
30240 : : }
30241 : :
30242 : : default:
30243 : : return NULL;
30244 : : }
30245 : : }
30246 : :
30247 : : rtx_insn *
30248 : : split_82 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
30249 : : {
30250 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30251 : : rtx x2, x3, x4;
30252 : : rtx_insn *res ATTRIBUTE_UNUSED;
30253 : : x2 = XEXP (x1, 1);
30254 : : x3 = XEXP (x2, 0);
30255 : : switch (GET_CODE (x3))
30256 : : {
30257 : : case NOT:
30258 : : x4 = XEXP (x3, 0);
30259 : : operands[1] = x4;
30260 : : switch (GET_MODE (operands[0]))
30261 : : {
30262 : : case E_V16SImode:
30263 : : if (pattern618 (x2,
30264 : : E_V16SImode,
30265 : : E_SImode) != 0
30266 : : || !(
30267 : : #line 18449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30268 : : (64 == 64 || TARGET_AVX512VL
30269 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256)) &&
30270 : : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30271 : : (TARGET_AVX512F && TARGET_EVEX512)))
30272 : : return NULL;
30273 : : return gen_split_3330 (insn, operands);
30274 : :
30275 : : case E_V8SImode:
30276 : : if (pattern618 (x2,
30277 : : E_V8SImode,
30278 : : E_SImode) != 0
30279 : : || !
30280 : : #line 18449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30281 : : (32 == 64 || TARGET_AVX512VL
30282 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256)))
30283 : : return NULL;
30284 : : return gen_split_3331 (insn, operands);
30285 : :
30286 : : case E_V4SImode:
30287 : : if (pattern618 (x2,
30288 : : E_V4SImode,
30289 : : E_SImode) != 0
30290 : : || !
30291 : : #line 18449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30292 : : (16 == 64 || TARGET_AVX512VL
30293 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256)))
30294 : : return NULL;
30295 : : return gen_split_3332 (insn, operands);
30296 : :
30297 : : case E_V8DImode:
30298 : : if (pattern618 (x2,
30299 : : E_V8DImode,
30300 : : E_DImode) != 0
30301 : : || !(
30302 : : #line 18449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30303 : : (64 == 64 || TARGET_AVX512VL
30304 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256)) &&
30305 : : #line 805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30306 : : (TARGET_AVX512F && TARGET_EVEX512)))
30307 : : return NULL;
30308 : : return gen_split_3333 (insn, operands);
30309 : :
30310 : : case E_V4DImode:
30311 : : if (pattern618 (x2,
30312 : : E_V4DImode,
30313 : : E_DImode) != 0
30314 : : || !
30315 : : #line 18449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30316 : : (32 == 64 || TARGET_AVX512VL
30317 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256)))
30318 : : return NULL;
30319 : : return gen_split_3334 (insn, operands);
30320 : :
30321 : : case E_V2DImode:
30322 : : if (pattern618 (x2,
30323 : : E_V2DImode,
30324 : : E_DImode) != 0
30325 : : || !
30326 : : #line 18449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30327 : : (16 == 64 || TARGET_AVX512VL
30328 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256)))
30329 : : return NULL;
30330 : : return gen_split_3335 (insn, operands);
30331 : :
30332 : : default:
30333 : : return NULL;
30334 : : }
30335 : :
30336 : : case REG:
30337 : : case SUBREG:
30338 : : operands[1] = x3;
30339 : : switch (GET_MODE (operands[0]))
30340 : : {
30341 : : case E_V32QImode:
30342 : : if (!register_operand (operands[0], E_V32QImode)
30343 : : || GET_MODE (x2) != E_V32QImode
30344 : : || !register_operand (operands[1], E_QImode)
30345 : : || !
30346 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30347 : : (TARGET_AVX2
30348 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30349 : : available, because then we can broadcast from GPRs directly.
30350 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30351 : : for V*SI mode it requires just -mavx512vl. */
30352 : : && !(TARGET_AVX512VL
30353 : : && (TARGET_AVX512BW || QImode == SImode))
30354 : : && reload_completed && GENERAL_REG_P (operands[1])))
30355 : : return NULL;
30356 : : return gen_split_3718 (insn, operands);
30357 : :
30358 : : case E_V16QImode:
30359 : : if (!register_operand (operands[0], E_V16QImode)
30360 : : || GET_MODE (x2) != E_V16QImode
30361 : : || !register_operand (operands[1], E_QImode)
30362 : : || !
30363 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30364 : : (TARGET_AVX2
30365 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30366 : : available, because then we can broadcast from GPRs directly.
30367 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30368 : : for V*SI mode it requires just -mavx512vl. */
30369 : : && !(TARGET_AVX512VL
30370 : : && (TARGET_AVX512BW || QImode == SImode))
30371 : : && reload_completed && GENERAL_REG_P (operands[1])))
30372 : : return NULL;
30373 : : return gen_split_3719 (insn, operands);
30374 : :
30375 : : case E_V16HImode:
30376 : : if (!register_operand (operands[0], E_V16HImode)
30377 : : || GET_MODE (x2) != E_V16HImode
30378 : : || !register_operand (operands[1], E_HImode)
30379 : : || !
30380 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30381 : : (TARGET_AVX2
30382 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30383 : : available, because then we can broadcast from GPRs directly.
30384 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30385 : : for V*SI mode it requires just -mavx512vl. */
30386 : : && !(TARGET_AVX512VL
30387 : : && (TARGET_AVX512BW || HImode == SImode))
30388 : : && reload_completed && GENERAL_REG_P (operands[1])))
30389 : : return NULL;
30390 : : return gen_split_3720 (insn, operands);
30391 : :
30392 : : case E_V8HImode:
30393 : : if (!register_operand (operands[0], E_V8HImode)
30394 : : || GET_MODE (x2) != E_V8HImode
30395 : : || !register_operand (operands[1], E_HImode)
30396 : : || !
30397 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30398 : : (TARGET_AVX2
30399 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30400 : : available, because then we can broadcast from GPRs directly.
30401 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30402 : : for V*SI mode it requires just -mavx512vl. */
30403 : : && !(TARGET_AVX512VL
30404 : : && (TARGET_AVX512BW || HImode == SImode))
30405 : : && reload_completed && GENERAL_REG_P (operands[1])))
30406 : : return NULL;
30407 : : return gen_split_3721 (insn, operands);
30408 : :
30409 : : case E_V8SImode:
30410 : : if (!register_operand (operands[0], E_V8SImode)
30411 : : || GET_MODE (x2) != E_V8SImode
30412 : : || !register_operand (operands[1], E_SImode))
30413 : : return NULL;
30414 : : if (
30415 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30416 : : (TARGET_AVX2
30417 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30418 : : available, because then we can broadcast from GPRs directly.
30419 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30420 : : for V*SI mode it requires just -mavx512vl. */
30421 : : && !(TARGET_AVX512VL
30422 : : && (TARGET_AVX512BW || SImode == SImode))
30423 : : && reload_completed && GENERAL_REG_P (operands[1])))
30424 : : return gen_split_3722 (insn, operands);
30425 : : if (!
30426 : : #line 27988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30427 : : (TARGET_AVX && !TARGET_AVX2 && reload_completed))
30428 : : return NULL;
30429 : : return gen_split_3728 (insn, operands);
30430 : :
30431 : : case E_V4SImode:
30432 : : if (!register_operand (operands[0], E_V4SImode)
30433 : : || GET_MODE (x2) != E_V4SImode
30434 : : || !register_operand (operands[1], E_SImode)
30435 : : || !
30436 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30437 : : (TARGET_AVX2
30438 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30439 : : available, because then we can broadcast from GPRs directly.
30440 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30441 : : for V*SI mode it requires just -mavx512vl. */
30442 : : && !(TARGET_AVX512VL
30443 : : && (TARGET_AVX512BW || SImode == SImode))
30444 : : && reload_completed && GENERAL_REG_P (operands[1])))
30445 : : return NULL;
30446 : : return gen_split_3723 (insn, operands);
30447 : :
30448 : : case E_V16HFmode:
30449 : : if (!register_operand (operands[0], E_V16HFmode)
30450 : : || GET_MODE (x2) != E_V16HFmode
30451 : : || !register_operand (operands[1], E_HFmode)
30452 : : || !
30453 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30454 : : (TARGET_AVX2
30455 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30456 : : available, because then we can broadcast from GPRs directly.
30457 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30458 : : for V*SI mode it requires just -mavx512vl. */
30459 : : && !(TARGET_AVX512VL
30460 : : && (TARGET_AVX512BW || HFmode == SImode))
30461 : : && reload_completed && GENERAL_REG_P (operands[1])))
30462 : : return NULL;
30463 : : return gen_split_3724 (insn, operands);
30464 : :
30465 : : case E_V8HFmode:
30466 : : if (!register_operand (operands[0], E_V8HFmode)
30467 : : || GET_MODE (x2) != E_V8HFmode
30468 : : || !register_operand (operands[1], E_HFmode)
30469 : : || !
30470 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30471 : : (TARGET_AVX2
30472 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30473 : : available, because then we can broadcast from GPRs directly.
30474 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30475 : : for V*SI mode it requires just -mavx512vl. */
30476 : : && !(TARGET_AVX512VL
30477 : : && (TARGET_AVX512BW || HFmode == SImode))
30478 : : && reload_completed && GENERAL_REG_P (operands[1])))
30479 : : return NULL;
30480 : : return gen_split_3725 (insn, operands);
30481 : :
30482 : : case E_V16BFmode:
30483 : : if (!register_operand (operands[0], E_V16BFmode)
30484 : : || GET_MODE (x2) != E_V16BFmode
30485 : : || !register_operand (operands[1], E_BFmode)
30486 : : || !
30487 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30488 : : (TARGET_AVX2
30489 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30490 : : available, because then we can broadcast from GPRs directly.
30491 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30492 : : for V*SI mode it requires just -mavx512vl. */
30493 : : && !(TARGET_AVX512VL
30494 : : && (TARGET_AVX512BW || BFmode == SImode))
30495 : : && reload_completed && GENERAL_REG_P (operands[1])))
30496 : : return NULL;
30497 : : return gen_split_3726 (insn, operands);
30498 : :
30499 : : case E_V8BFmode:
30500 : : if (!register_operand (operands[0], E_V8BFmode)
30501 : : || GET_MODE (x2) != E_V8BFmode
30502 : : || !register_operand (operands[1], E_BFmode)
30503 : : || !
30504 : : #line 27965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30505 : : (TARGET_AVX2
30506 : : /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
30507 : : available, because then we can broadcast from GPRs directly.
30508 : : For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
30509 : : for V*SI mode it requires just -mavx512vl. */
30510 : : && !(TARGET_AVX512VL
30511 : : && (TARGET_AVX512BW || BFmode == SImode))
30512 : : && reload_completed && GENERAL_REG_P (operands[1])))
30513 : : return NULL;
30514 : : return gen_split_3727 (insn, operands);
30515 : :
30516 : : case E_V8SFmode:
30517 : : if (!register_operand (operands[0], E_V8SFmode)
30518 : : || GET_MODE (x2) != E_V8SFmode
30519 : : || !register_operand (operands[1], E_SFmode)
30520 : : || !
30521 : : #line 27988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30522 : : (TARGET_AVX && !TARGET_AVX2 && reload_completed))
30523 : : return NULL;
30524 : : return gen_split_3729 (insn, operands);
30525 : :
30526 : : case E_V4DImode:
30527 : : if (!register_operand (operands[0], E_V4DImode)
30528 : : || GET_MODE (x2) != E_V4DImode
30529 : : || !register_operand (operands[1], E_DImode)
30530 : : || !
30531 : : #line 27988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30532 : : (TARGET_AVX && !TARGET_AVX2 && reload_completed))
30533 : : return NULL;
30534 : : return gen_split_3730 (insn, operands);
30535 : :
30536 : : case E_V4DFmode:
30537 : : if (!register_operand (operands[0], E_V4DFmode)
30538 : : || GET_MODE (x2) != E_V4DFmode
30539 : : || !register_operand (operands[1], E_DFmode)
30540 : : || !
30541 : : #line 27988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30542 : : (TARGET_AVX && !TARGET_AVX2 && reload_completed))
30543 : : return NULL;
30544 : : return gen_split_3731 (insn, operands);
30545 : :
30546 : : default:
30547 : : return NULL;
30548 : : }
30549 : :
30550 : : default:
30551 : : return NULL;
30552 : : }
30553 : : }
30554 : :
30555 : : rtx_insn *
30556 : : split_84 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
30557 : : {
30558 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30559 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
30560 : : rtx x10, x11, x12, x13, x14;
30561 : : rtx_insn *res ATTRIBUTE_UNUSED;
30562 : : x2 = XEXP (x1, 1);
30563 : : operands[1] = x2;
30564 : : res = split_81 (x1, insn);
30565 : : if (res != NULL_RTX)
30566 : : return res;
30567 : : switch (GET_CODE (x2))
30568 : : {
30569 : : case UNSPEC:
30570 : : return split_79 (x1, insn);
30571 : :
30572 : : case VEC_MERGE:
30573 : : return split_78 (x1, insn);
30574 : :
30575 : : case VEC_SELECT:
30576 : : return split_83 (x1, insn);
30577 : :
30578 : : case AND:
30579 : : case IOR:
30580 : : case XOR:
30581 : : case NOT:
30582 : : return split_80 (x1, insn);
30583 : :
30584 : : case PLUS:
30585 : : x3 = XEXP (x2, 0);
30586 : : if (GET_CODE (x3) != UNSPEC)
30587 : : return NULL;
30588 : : switch (pattern183 (x2))
30589 : : {
30590 : : case 0:
30591 : : if (!((
30592 : : #line 7161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30593 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30594 : : && ix86_pre_reload_split ()) &&
30595 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30596 : : (TARGET_EVEX512)) &&
30597 : : #line 7164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30598 : : ( 1)))
30599 : : return NULL;
30600 : : return gen_split_1490 (insn, operands);
30601 : :
30602 : : case 1:
30603 : : if (!((
30604 : : #line 7161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30605 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30606 : : && ix86_pre_reload_split ()) &&
30607 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30608 : : (TARGET_AVX512VL)) &&
30609 : : #line 7164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30610 : : ( 1)))
30611 : : return NULL;
30612 : : return gen_split_1491 (insn, operands);
30613 : :
30614 : : case 2:
30615 : : if (!((
30616 : : #line 7161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30617 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30618 : : && ix86_pre_reload_split ()) &&
30619 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30620 : : (TARGET_AVX512VL)) &&
30621 : : #line 7164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30622 : : ( 1)))
30623 : : return NULL;
30624 : : return gen_split_1492 (insn, operands);
30625 : :
30626 : : case 3:
30627 : : if (!((
30628 : : #line 7178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30629 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30630 : : && ix86_pre_reload_split ()) &&
30631 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30632 : : (TARGET_EVEX512)) &&
30633 : : #line 7181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30634 : : ( 1)))
30635 : : return NULL;
30636 : : return gen_split_1493 (insn, operands);
30637 : :
30638 : : case 4:
30639 : : if (!((
30640 : : #line 7178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30641 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30642 : : && ix86_pre_reload_split ()) &&
30643 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30644 : : (TARGET_AVX512VL)) &&
30645 : : #line 7181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30646 : : ( 1)))
30647 : : return NULL;
30648 : : return gen_split_1494 (insn, operands);
30649 : :
30650 : : case 5:
30651 : : if (!((
30652 : : #line 7178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30653 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30654 : : && ix86_pre_reload_split ()) &&
30655 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30656 : : (TARGET_AVX512VL)) &&
30657 : : #line 7181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30658 : : ( 1)))
30659 : : return NULL;
30660 : : return gen_split_1495 (insn, operands);
30661 : :
30662 : : case 6:
30663 : : if (!((
30664 : : #line 7196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30665 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30666 : : && ix86_pre_reload_split ()) &&
30667 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30668 : : (TARGET_EVEX512)) &&
30669 : : #line 7199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30670 : : ( 1)))
30671 : : return NULL;
30672 : : return gen_split_1496 (insn, operands);
30673 : :
30674 : : case 7:
30675 : : if (!((
30676 : : #line 7196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30677 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30678 : : && ix86_pre_reload_split ()) &&
30679 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30680 : : (TARGET_AVX512VL)) &&
30681 : : #line 7199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30682 : : ( 1)))
30683 : : return NULL;
30684 : : return gen_split_1498 (insn, operands);
30685 : :
30686 : : case 8:
30687 : : if (!((
30688 : : #line 7196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30689 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30690 : : && ix86_pre_reload_split ()) &&
30691 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30692 : : (TARGET_AVX512VL)) &&
30693 : : #line 7199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30694 : : ( 1)))
30695 : : return NULL;
30696 : : return gen_split_1500 (insn, operands);
30697 : :
30698 : : case 9:
30699 : : if (!((
30700 : : #line 7196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30701 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30702 : : && ix86_pre_reload_split ()) &&
30703 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30704 : : (TARGET_EVEX512)) &&
30705 : : #line 7199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30706 : : ( 1)))
30707 : : return NULL;
30708 : : return gen_split_1497 (insn, operands);
30709 : :
30710 : : case 10:
30711 : : if (!((
30712 : : #line 7196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30713 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30714 : : && ix86_pre_reload_split ()) &&
30715 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30716 : : (TARGET_AVX512VL)) &&
30717 : : #line 7199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30718 : : ( 1)))
30719 : : return NULL;
30720 : : return gen_split_1499 (insn, operands);
30721 : :
30722 : : case 11:
30723 : : if (!((
30724 : : #line 7196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30725 : : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
30726 : : && ix86_pre_reload_split ()) &&
30727 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30728 : : (TARGET_AVX512VL)) &&
30729 : : #line 7199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30730 : : ( 1)))
30731 : : return NULL;
30732 : : return gen_split_1501 (insn, operands);
30733 : :
30734 : : default:
30735 : : return NULL;
30736 : : }
30737 : :
30738 : : case VEC_CONCAT:
30739 : : x3 = XEXP (x2, 0);
30740 : : switch (GET_CODE (x3))
30741 : : {
30742 : : case ZERO_EXTEND:
30743 : : switch (pattern178 (x2))
30744 : : {
30745 : : case 0:
30746 : : if (!(
30747 : : #line 12097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30748 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
30749 : : #line 12099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30750 : : ( 1)))
30751 : : return NULL;
30752 : : return gen_split_1539 (insn, operands);
30753 : :
30754 : : case 1:
30755 : : if (!(
30756 : : #line 12211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30757 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30758 : : #line 12213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30759 : : ( 1)))
30760 : : return NULL;
30761 : : return gen_split_1543 (insn, operands);
30762 : :
30763 : : default:
30764 : : return NULL;
30765 : : }
30766 : :
30767 : : case VEC_SELECT:
30768 : : if (GET_MODE (x3) != E_DFmode)
30769 : : return NULL;
30770 : : x4 = XEXP (x3, 1);
30771 : : if (GET_CODE (x4) != PARALLEL
30772 : : || XVECLEN (x4, 0) != 1)
30773 : : return NULL;
30774 : : x5 = XVECEXP (x4, 0, 0);
30775 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
30776 : : || !memory_operand (operands[0], E_V2DFmode)
30777 : : || GET_MODE (x2) != E_V2DFmode)
30778 : : return NULL;
30779 : : x6 = XEXP (x2, 1);
30780 : : operands[1] = x6;
30781 : : if (!register_operand (operands[1], E_DFmode))
30782 : : return NULL;
30783 : : x7 = XEXP (x3, 0);
30784 : : if (!rtx_equal_p (x7, operands[0])
30785 : : || !
30786 : : #line 14751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30787 : : (TARGET_SSE2 && reload_completed))
30788 : : return NULL;
30789 : : return gen_split_3165 (insn, operands);
30790 : :
30791 : : case REG:
30792 : : case SUBREG:
30793 : : case MEM:
30794 : : operands[1] = x3;
30795 : : res = split_77 (x1, insn);
30796 : : if (res != NULL_RTX)
30797 : : return res;
30798 : : if (GET_CODE (x3) != SUBREG
30799 : : || pattern597 (x2) != 0
30800 : : || !register_operand (operands[0], E_V4DImode)
30801 : : || GET_MODE (x2) != E_V4DImode)
30802 : : return NULL;
30803 : : x7 = XEXP (x3, 0);
30804 : : x8 = XVECEXP (x7, 0, 0);
30805 : : operands[1] = x8;
30806 : : if (!memory_operand (operands[1], E_V16QImode))
30807 : : return NULL;
30808 : : x6 = XEXP (x2, 1);
30809 : : x9 = XEXP (x6, 0);
30810 : : x10 = XVECEXP (x9, 0, 0);
30811 : : if (!rtx_equal_p (x10, operands[1])
30812 : : || !(
30813 : : #line 27908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30814 : : (TARGET_AVX2 && ix86_pre_reload_split ()) &&
30815 : : #line 27910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30816 : : ( 1)))
30817 : : return NULL;
30818 : : return gen_split_3717 (insn, operands);
30819 : :
30820 : : case VEC_CONCAT:
30821 : : if (pattern408 (x2) != 0)
30822 : : return NULL;
30823 : : x7 = XEXP (x3, 0);
30824 : : operands[1] = x7;
30825 : : switch (GET_MODE (operands[0]))
30826 : : {
30827 : : case E_V16SImode:
30828 : : if (pattern1486 (x2,
30829 : : E_V8SImode,
30830 : : E_V4SImode,
30831 : : E_V16SImode) != 0
30832 : : || !((
30833 : : #line 30138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30834 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
30835 : : #line 1445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30836 : : (TARGET_EVEX512)) &&
30837 : : #line 30140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30838 : : ( reload_completed)))
30839 : : return NULL;
30840 : : return gen_split_3801 (insn, operands);
30841 : :
30842 : : case E_V16SFmode:
30843 : : if (pattern1486 (x2,
30844 : : E_V8SFmode,
30845 : : E_V4SFmode,
30846 : : E_V16SFmode) != 0
30847 : : || !((
30848 : : #line 30138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30849 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
30850 : : #line 1445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30851 : : (TARGET_EVEX512)) &&
30852 : : #line 30140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30853 : : ( reload_completed)))
30854 : : return NULL;
30855 : : return gen_split_3802 (insn, operands);
30856 : :
30857 : : case E_V8DFmode:
30858 : : if (pattern1486 (x2,
30859 : : E_V4DFmode,
30860 : : E_V2DFmode,
30861 : : E_V8DFmode) != 0
30862 : : || !((
30863 : : #line 30138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30864 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
30865 : : #line 1445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30866 : : (TARGET_EVEX512)) &&
30867 : : #line 30140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30868 : : ( reload_completed)))
30869 : : return NULL;
30870 : : return gen_split_3803 (insn, operands);
30871 : :
30872 : : default:
30873 : : return NULL;
30874 : : }
30875 : :
30876 : : default:
30877 : : return NULL;
30878 : : }
30879 : :
30880 : : case EQ:
30881 : : x3 = XEXP (x2, 0);
30882 : : switch (GET_CODE (x3))
30883 : : {
30884 : : case US_MINUS:
30885 : : x7 = XEXP (x3, 0);
30886 : : operands[1] = x7;
30887 : : x4 = XEXP (x3, 1);
30888 : : operands[2] = x4;
30889 : : x6 = XEXP (x2, 1);
30890 : : operands[3] = x6;
30891 : : switch (GET_MODE (operands[0]))
30892 : : {
30893 : : case E_V32QImode:
30894 : : if (pattern957 (x2,
30895 : : E_V32QImode) != 0
30896 : : || !(
30897 : : #line 16337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30898 : : (TARGET_SSE2
30899 : : && (V32QImode != V8HImode || TARGET_SSE4_1)
30900 : : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) &&
30901 : : #line 736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30902 : : (TARGET_AVX2)))
30903 : : return NULL;
30904 : : return gen_split_3208 (insn, operands);
30905 : :
30906 : : case E_V16QImode:
30907 : : if (pattern957 (x2,
30908 : : E_V16QImode) != 0
30909 : : || !
30910 : : #line 16337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30911 : : (TARGET_SSE2
30912 : : && (V16QImode != V8HImode || TARGET_SSE4_1)
30913 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)))
30914 : : return NULL;
30915 : : return gen_split_3209 (insn, operands);
30916 : :
30917 : : case E_V16HImode:
30918 : : if (pattern957 (x2,
30919 : : E_V16HImode) != 0
30920 : : || !(
30921 : : #line 16337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30922 : : (TARGET_SSE2
30923 : : && (V16HImode != V8HImode || TARGET_SSE4_1)
30924 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) &&
30925 : : #line 737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30926 : : (TARGET_AVX2)))
30927 : : return NULL;
30928 : : return gen_split_3210 (insn, operands);
30929 : :
30930 : : case E_V8HImode:
30931 : : if (pattern957 (x2,
30932 : : E_V8HImode) != 0
30933 : : || !
30934 : : #line 16337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30935 : : (TARGET_SSE2
30936 : : && (V8HImode != V8HImode || TARGET_SSE4_1)
30937 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)))
30938 : : return NULL;
30939 : : return gen_split_3211 (insn, operands);
30940 : :
30941 : : default:
30942 : : return NULL;
30943 : : }
30944 : :
30945 : : case EQ:
30946 : : x7 = XEXP (x3, 0);
30947 : : if (GET_CODE (x7) != LSHIFTRT)
30948 : : return NULL;
30949 : : x11 = XEXP (x7, 0);
30950 : : operands[1] = x11;
30951 : : x12 = XEXP (x7, 1);
30952 : : operands[2] = x12;
30953 : : if (!const_int_operand (operands[2], E_SImode))
30954 : : return NULL;
30955 : : x4 = XEXP (x3, 1);
30956 : : operands[3] = x4;
30957 : : x6 = XEXP (x2, 1);
30958 : : operands[4] = x6;
30959 : : switch (GET_MODE (operands[0]))
30960 : : {
30961 : : case E_V16HImode:
30962 : : if (pattern1255 (x2,
30963 : : E_V16HImode) != 0
30964 : : || !(
30965 : : #line 17531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30966 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (HImode) - 1) &&
30967 : : #line 775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30968 : : (TARGET_AVX2)))
30969 : : return NULL;
30970 : : return gen_split_3256 (insn, operands);
30971 : :
30972 : : case E_V8HImode:
30973 : : if (pattern1255 (x2,
30974 : : E_V8HImode) != 0
30975 : : || !
30976 : : #line 17531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30977 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (HImode) - 1))
30978 : : return NULL;
30979 : : return gen_split_3257 (insn, operands);
30980 : :
30981 : : case E_V8SImode:
30982 : : if (pattern1255 (x2,
30983 : : E_V8SImode) != 0
30984 : : || !(
30985 : : #line 17531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30986 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (SImode) - 1) &&
30987 : : #line 776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30988 : : (TARGET_AVX2)))
30989 : : return NULL;
30990 : : return gen_split_3258 (insn, operands);
30991 : :
30992 : : case E_V4SImode:
30993 : : if (pattern1255 (x2,
30994 : : E_V4SImode) != 0
30995 : : || !
30996 : : #line 17531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30997 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (SImode) - 1))
30998 : : return NULL;
30999 : : return gen_split_3259 (insn, operands);
31000 : :
31001 : : case E_V4DImode:
31002 : : if (pattern1255 (x2,
31003 : : E_V4DImode) != 0
31004 : : || !(
31005 : : #line 17531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31006 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (DImode) - 1) &&
31007 : : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31008 : : (TARGET_AVX2)))
31009 : : return NULL;
31010 : : return gen_split_3260 (insn, operands);
31011 : :
31012 : : case E_V2DImode:
31013 : : if (pattern1255 (x2,
31014 : : E_V2DImode) != 0
31015 : : || !
31016 : : #line 17531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31017 : : (INTVAL (operands[2]) == GET_MODE_PRECISION (DImode) - 1))
31018 : : return NULL;
31019 : : return gen_split_3261 (insn, operands);
31020 : :
31021 : : default:
31022 : : return NULL;
31023 : : }
31024 : :
31025 : : default:
31026 : : return NULL;
31027 : : }
31028 : :
31029 : : case LT:
31030 : : x3 = XEXP (x2, 0);
31031 : : operands[1] = x3;
31032 : : x6 = XEXP (x2, 1);
31033 : : operands[2] = x6;
31034 : : switch (GET_MODE (operands[0]))
31035 : : {
31036 : : case E_V16HImode:
31037 : : if (pattern231 (x2,
31038 : : E_V16HImode) != 0
31039 : : || !((
31040 : : #line 17127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31041 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
31042 : : #line 744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31043 : : (TARGET_AVX2)) &&
31044 : : #line 17129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31045 : : ( 1)))
31046 : : return NULL;
31047 : : return gen_split_3212 (insn, operands);
31048 : :
31049 : : case E_V8HImode:
31050 : : if (pattern231 (x2,
31051 : : E_V8HImode) != 0
31052 : : || !(
31053 : : #line 17127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31054 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
31055 : : #line 17129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31056 : : ( 1)))
31057 : : return NULL;
31058 : : return gen_split_3213 (insn, operands);
31059 : :
31060 : : case E_V8SImode:
31061 : : if (pattern231 (x2,
31062 : : E_V8SImode) != 0
31063 : : || !((
31064 : : #line 17127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31065 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
31066 : : #line 745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31067 : : (TARGET_AVX2)) &&
31068 : : #line 17129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31069 : : ( 1)))
31070 : : return NULL;
31071 : : return gen_split_3214 (insn, operands);
31072 : :
31073 : : case E_V4SImode:
31074 : : if (pattern231 (x2,
31075 : : E_V4SImode) != 0
31076 : : || !(
31077 : : #line 17127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31078 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
31079 : : #line 17129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31080 : : ( 1)))
31081 : : return NULL;
31082 : : return gen_split_3215 (insn, operands);
31083 : :
31084 : : default:
31085 : : return NULL;
31086 : : }
31087 : :
31088 : : case ASHIFT:
31089 : : switch (pattern236 (x2))
31090 : : {
31091 : : case 0:
31092 : : if (!(
31093 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31094 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
31095 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31096 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31097 : : (TARGET_AVX512BW && TARGET_EVEX512)))
31098 : : return NULL;
31099 : : return gen_split_3244 (insn, operands);
31100 : :
31101 : : case 1:
31102 : : if (!(
31103 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31104 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
31105 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31106 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31107 : : (TARGET_EVEX512)))
31108 : : return NULL;
31109 : : return gen_split_3247 (insn, operands);
31110 : :
31111 : : case 2:
31112 : : if (!(
31113 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31114 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
31115 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31116 : : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31117 : : (TARGET_EVEX512)))
31118 : : return NULL;
31119 : : return gen_split_3250 (insn, operands);
31120 : :
31121 : : case 3:
31122 : : if (!(
31123 : : #line 17453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31124 : : (TARGET_SSE2 && TARGET_64BIT
31125 : : && ix86_pre_reload_split ()) &&
31126 : : #line 17456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31127 : : ( 1)))
31128 : : return NULL;
31129 : : return gen_split_3253 (insn, operands);
31130 : :
31131 : : default:
31132 : : return NULL;
31133 : : }
31134 : :
31135 : : case LSHIFTRT:
31136 : : switch (pattern236 (x2))
31137 : : {
31138 : : case 0:
31139 : : if (!(
31140 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31141 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
31142 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31143 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31144 : : (TARGET_AVX512BW && TARGET_EVEX512)))
31145 : : return NULL;
31146 : : return gen_split_3245 (insn, operands);
31147 : :
31148 : : case 1:
31149 : : if (!(
31150 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31151 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
31152 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31153 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31154 : : (TARGET_EVEX512)))
31155 : : return NULL;
31156 : : return gen_split_3248 (insn, operands);
31157 : :
31158 : : case 2:
31159 : : if (!(
31160 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31161 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
31162 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31163 : : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31164 : : (TARGET_EVEX512)))
31165 : : return NULL;
31166 : : return gen_split_3251 (insn, operands);
31167 : :
31168 : : case 3:
31169 : : if (!(
31170 : : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31171 : : (TARGET_SSE2 && TARGET_64BIT
31172 : : && ix86_pre_reload_split ()) &&
31173 : : #line 17485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31174 : : ( 1)))
31175 : : return NULL;
31176 : : return gen_split_3254 (insn, operands);
31177 : :
31178 : : default:
31179 : : return NULL;
31180 : : }
31181 : :
31182 : : case ASHIFTRT:
31183 : : x3 = XEXP (x2, 0);
31184 : : operands[1] = x3;
31185 : : x6 = XEXP (x2, 1);
31186 : : operands[2] = x6;
31187 : : switch (GET_CODE (operands[2]))
31188 : : {
31189 : : case CONST_VECTOR:
31190 : : switch (GET_MODE (operands[0]))
31191 : : {
31192 : : case E_V32HImode:
31193 : : if (pattern235 (x2,
31194 : : E_V32HImode) == 0
31195 : : && (
31196 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31197 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V32HImode)
31198 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31199 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31200 : : (TARGET_AVX512BW && TARGET_EVEX512)))
31201 : : return gen_split_3246 (insn, operands);
31202 : : break;
31203 : :
31204 : : case E_V16SImode:
31205 : : if (pattern235 (x2,
31206 : : E_V16SImode) == 0
31207 : : && (
31208 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31209 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V16SImode)
31210 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31211 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31212 : : (TARGET_EVEX512)))
31213 : : return gen_split_3249 (insn, operands);
31214 : : break;
31215 : :
31216 : : case E_V8DImode:
31217 : : if (pattern235 (x2,
31218 : : E_V8DImode) == 0
31219 : : && (
31220 : : #line 17394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31221 : : (TARGET_AVX512F && GET_MODE_UNIT_BITSIZE (V8DImode)
31222 : : > INTVAL (XVECEXP (operands[2], 0, 0))) &&
31223 : : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31224 : : (TARGET_EVEX512)))
31225 : : return gen_split_3252 (insn, operands);
31226 : : break;
31227 : :
31228 : : default:
31229 : : break;
31230 : : }
31231 : : break;
31232 : :
31233 : : case CONST_INT:
31234 : : if (const_0_to_255_operand (operands[2], E_SImode)
31235 : : && register_operand (operands[0], E_V1TImode)
31236 : : && GET_MODE (x2) == E_V1TImode
31237 : : && register_operand (operands[1], E_V1TImode)
31238 : : && (
31239 : : #line 17512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31240 : : (TARGET_SSE2 && TARGET_64BIT
31241 : : && ix86_pre_reload_split ()) &&
31242 : : #line 17515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31243 : : ( 1)))
31244 : : return gen_split_3255 (insn, operands);
31245 : : break;
31246 : :
31247 : : default:
31248 : : break;
31249 : : }
31250 : : if (!nonmemory_operand (operands[2], E_DImode)
31251 : : || !register_operand (operands[0], E_V2DImode)
31252 : : || GET_MODE (x2) != E_V2DImode
31253 : : || !register_operand (operands[1], E_V2DImode)
31254 : : || !(
31255 : : #line 26979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31256 : : (TARGET_SSE2 && !TARGET_AVX512VL && ix86_pre_reload_split ()) &&
31257 : : #line 26981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31258 : : ( 1)))
31259 : : return NULL;
31260 : : return gen_split_3714 (insn, operands);
31261 : :
31262 : : case ROTATE:
31263 : : if (pattern237 (x2) != 0
31264 : : || !(
31265 : : #line 17553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31266 : : (TARGET_SSE2 && TARGET_64BIT
31267 : : && ix86_pre_reload_split ()) &&
31268 : : #line 17556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31269 : : ( 1)))
31270 : : return NULL;
31271 : : return gen_split_3262 (insn, operands);
31272 : :
31273 : : case ROTATERT:
31274 : : if (pattern237 (x2) != 0
31275 : : || !(
31276 : : #line 17582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31277 : : (TARGET_SSE2 && TARGET_64BIT
31278 : : && ix86_pre_reload_split ()) &&
31279 : : #line 17585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31280 : : ( 1)))
31281 : : return NULL;
31282 : : return gen_split_3263 (insn, operands);
31283 : :
31284 : : case VEC_DUPLICATE:
31285 : : return split_82 (x1, insn);
31286 : :
31287 : : case SIGN_EXTEND:
31288 : : x3 = XEXP (x2, 0);
31289 : : if (pattern238 (x3) != 0)
31290 : : return NULL;
31291 : : switch (pattern681 (x2))
31292 : : {
31293 : : case 0:
31294 : : if ((
31295 : : #line 24265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31296 : : (TARGET_SSE4_1 && 1 && 1
31297 : : && ix86_pre_reload_split ()) &&
31298 : : #line 24268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31299 : : ( 1)))
31300 : : return gen_split_3507 (insn, operands);
31301 : : if (!(
31302 : : #line 24265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31303 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL
31304 : : && ix86_pre_reload_split ()) &&
31305 : : #line 24268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31306 : : ( 1)))
31307 : : return NULL;
31308 : : return gen_split_3508 (insn, operands);
31309 : :
31310 : : case 1:
31311 : : if ((
31312 : : #line 24417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31313 : : (TARGET_AVX2 && 1
31314 : : && ix86_pre_reload_split ()) &&
31315 : : #line 24420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31316 : : ( 1)))
31317 : : return gen_split_3515 (insn, operands);
31318 : : if (!(
31319 : : #line 24417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31320 : : (TARGET_AVX2 && TARGET_AVX512VL
31321 : : && ix86_pre_reload_split ()) &&
31322 : : #line 24420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31323 : : ( 1)))
31324 : : return NULL;
31325 : : return gen_split_3516 (insn, operands);
31326 : :
31327 : : case 2:
31328 : : if (!(
31329 : : #line 24781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31330 : : (TARGET_AVX512F && TARGET_EVEX512 && ix86_pre_reload_split ()) &&
31331 : : #line 24783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31332 : : ( 1)))
31333 : : return NULL;
31334 : : return gen_split_3539 (insn, operands);
31335 : :
31336 : : case 3:
31337 : : if ((
31338 : : #line 24651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31339 : : (TARGET_SSE4_1 && 1
31340 : : && ix86_pre_reload_split ()) &&
31341 : : #line 24654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31342 : : ( 1)))
31343 : : return gen_split_3531 (insn, operands);
31344 : : if (!(
31345 : : #line 24651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31346 : : (TARGET_SSE4_1 && TARGET_AVX512VL
31347 : : && ix86_pre_reload_split ()) &&
31348 : : #line 24654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31349 : : ( 1)))
31350 : : return NULL;
31351 : : return gen_split_3532 (insn, operands);
31352 : :
31353 : : case 4:
31354 : : if ((
31355 : : #line 24981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31356 : : (TARGET_AVX2 && 1
31357 : : && ix86_pre_reload_split ()) &&
31358 : : #line 24984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31359 : : ( 1)))
31360 : : return gen_split_3550 (insn, operands);
31361 : : if (!(
31362 : : #line 24981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31363 : : (TARGET_AVX2 && TARGET_AVX512VL
31364 : : && ix86_pre_reload_split ()) &&
31365 : : #line 24984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31366 : : ( 1)))
31367 : : return NULL;
31368 : : return gen_split_3551 (insn, operands);
31369 : :
31370 : : case 5:
31371 : : if ((
31372 : : #line 25206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31373 : : (TARGET_SSE4_1 && 1
31374 : : && ix86_pre_reload_split ()) &&
31375 : : #line 25209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31376 : : ( 1)))
31377 : : return gen_split_3562 (insn, operands);
31378 : : if (!(
31379 : : #line 25206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31380 : : (TARGET_SSE4_1 && TARGET_AVX512VL
31381 : : && ix86_pre_reload_split ()) &&
31382 : : #line 25209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31383 : : ( 1)))
31384 : : return NULL;
31385 : : return gen_split_3563 (insn, operands);
31386 : :
31387 : : case 6:
31388 : : if ((
31389 : : #line 24482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31390 : : (TARGET_SSE4_1 && 1
31391 : : && ix86_pre_reload_split ()) &&
31392 : : #line 24485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31393 : : ( 1)))
31394 : : return gen_split_3519 (insn, operands);
31395 : : if (!(
31396 : : #line 24482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31397 : : (TARGET_SSE4_1 && TARGET_AVX512VL
31398 : : && ix86_pre_reload_split ()) &&
31399 : : #line 24485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31400 : : ( 1)))
31401 : : return NULL;
31402 : : return gen_split_3520 (insn, operands);
31403 : :
31404 : : case 7:
31405 : : if ((
31406 : : #line 24842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31407 : : (TARGET_AVX2 && 1
31408 : : && ix86_pre_reload_split ()) &&
31409 : : #line 24845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31410 : : ( 1)))
31411 : : return gen_split_3543 (insn, operands);
31412 : : if (!(
31413 : : #line 24842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31414 : : (TARGET_AVX2 && TARGET_AVX512VL
31415 : : && ix86_pre_reload_split ()) &&
31416 : : #line 24845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31417 : : ( 1)))
31418 : : return NULL;
31419 : : return gen_split_3544 (insn, operands);
31420 : :
31421 : : case 8:
31422 : : if ((
31423 : : #line 25044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31424 : : (TARGET_SSE4_1 && 1
31425 : : && ix86_pre_reload_split ()) &&
31426 : : #line 25047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31427 : : ( 1)))
31428 : : return gen_split_3554 (insn, operands);
31429 : : if (!(
31430 : : #line 25044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31431 : : (TARGET_SSE4_1 && TARGET_AVX512VL
31432 : : && ix86_pre_reload_split ()) &&
31433 : : #line 25047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31434 : : ( 1)))
31435 : : return NULL;
31436 : : return gen_split_3555 (insn, operands);
31437 : :
31438 : : default:
31439 : : return NULL;
31440 : : }
31441 : :
31442 : : case ZERO_EXTEND:
31443 : : x3 = XEXP (x2, 0);
31444 : : if (pattern238 (x3) != 0)
31445 : : return NULL;
31446 : : x7 = XEXP (x3, 0);
31447 : : x11 = XEXP (x7, 0);
31448 : : switch (GET_CODE (x11))
31449 : : {
31450 : : case VEC_CONCAT:
31451 : : switch (pattern679 (x2))
31452 : : {
31453 : : case 0:
31454 : : if ((
31455 : : #line 24265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31456 : : (TARGET_SSE4_1 && 1 && 1
31457 : : && ix86_pre_reload_split ()) &&
31458 : : #line 24268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31459 : : ( 1)))
31460 : : return gen_split_3509 (insn, operands);
31461 : : if (!(
31462 : : #line 24265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31463 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL
31464 : : && ix86_pre_reload_split ()) &&
31465 : : #line 24268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31466 : : ( 1)))
31467 : : return NULL;
31468 : : return gen_split_3510 (insn, operands);
31469 : :
31470 : : case 1:
31471 : : if ((
31472 : : #line 24417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31473 : : (TARGET_AVX2 && 1
31474 : : && ix86_pre_reload_split ()) &&
31475 : : #line 24420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31476 : : ( 1)))
31477 : : return gen_split_3517 (insn, operands);
31478 : : if (!(
31479 : : #line 24417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31480 : : (TARGET_AVX2 && TARGET_AVX512VL
31481 : : && ix86_pre_reload_split ()) &&
31482 : : #line 24420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31483 : : ( 1)))
31484 : : return NULL;
31485 : : return gen_split_3518 (insn, operands);
31486 : :
31487 : : case 2:
31488 : : if (!(
31489 : : #line 24781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31490 : : (TARGET_AVX512F && TARGET_EVEX512 && ix86_pre_reload_split ()) &&
31491 : : #line 24783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31492 : : ( 1)))
31493 : : return NULL;
31494 : : return gen_split_3541 (insn, operands);
31495 : :
31496 : : case 3:
31497 : : if ((
31498 : : #line 24651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31499 : : (TARGET_SSE4_1 && 1
31500 : : && ix86_pre_reload_split ()) &&
31501 : : #line 24654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31502 : : ( 1)))
31503 : : return gen_split_3533 (insn, operands);
31504 : : if (!(
31505 : : #line 24651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31506 : : (TARGET_SSE4_1 && TARGET_AVX512VL
31507 : : && ix86_pre_reload_split ()) &&
31508 : : #line 24654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31509 : : ( 1)))
31510 : : return NULL;
31511 : : return gen_split_3534 (insn, operands);
31512 : :
31513 : : case 4:
31514 : : if ((
31515 : : #line 24981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31516 : : (TARGET_AVX2 && 1
31517 : : && ix86_pre_reload_split ()) &&
31518 : : #line 24984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31519 : : ( 1)))
31520 : : return gen_split_3552 (insn, operands);
31521 : : if (!(
31522 : : #line 24981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31523 : : (TARGET_AVX2 && TARGET_AVX512VL
31524 : : && ix86_pre_reload_split ()) &&
31525 : : #line 24984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31526 : : ( 1)))
31527 : : return NULL;
31528 : : return gen_split_3553 (insn, operands);
31529 : :
31530 : : case 5:
31531 : : if ((
31532 : : #line 25206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31533 : : (TARGET_SSE4_1 && 1
31534 : : && ix86_pre_reload_split ()) &&
31535 : : #line 25209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31536 : : ( 1)))
31537 : : return gen_split_3564 (insn, operands);
31538 : : if (!(
31539 : : #line 25206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31540 : : (TARGET_SSE4_1 && TARGET_AVX512VL
31541 : : && ix86_pre_reload_split ()) &&
31542 : : #line 25209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31543 : : ( 1)))
31544 : : return NULL;
31545 : : return gen_split_3565 (insn, operands);
31546 : :
31547 : : default:
31548 : : return NULL;
31549 : : }
31550 : :
31551 : : case VEC_MERGE:
31552 : : x13 = XEXP (x11, 0);
31553 : : if (GET_CODE (x13) != VEC_DUPLICATE)
31554 : : return NULL;
31555 : : if (GET_MODE (x13) == E_V4SImode)
31556 : : {
31557 : : switch (pattern1033 (x2))
31558 : : {
31559 : : case 0:
31560 : : if ((
31561 : : #line 24482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31562 : : (TARGET_SSE4_1 && 1
31563 : : && ix86_pre_reload_split ()) &&
31564 : : #line 24485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31565 : : ( 1)))
31566 : : return gen_split_3521 (insn, operands);
31567 : : if ((
31568 : : #line 24482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31569 : : (TARGET_SSE4_1 && TARGET_AVX512VL
31570 : : && ix86_pre_reload_split ()) &&
31571 : : #line 24485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31572 : : ( 1)))
31573 : : return gen_split_3522 (insn, operands);
31574 : : break;
31575 : :
31576 : : case 1:
31577 : : if ((
31578 : : #line 24842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31579 : : (TARGET_AVX2 && 1
31580 : : && ix86_pre_reload_split ()) &&
31581 : : #line 24845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31582 : : ( 1)))
31583 : : return gen_split_3545 (insn, operands);
31584 : : if ((
31585 : : #line 24842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31586 : : (TARGET_AVX2 && TARGET_AVX512VL
31587 : : && ix86_pre_reload_split ()) &&
31588 : : #line 24845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31589 : : ( 1)))
31590 : : return gen_split_3546 (insn, operands);
31591 : : break;
31592 : :
31593 : : case 2:
31594 : : if ((
31595 : : #line 25044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31596 : : (TARGET_SSE4_1 && 1
31597 : : && ix86_pre_reload_split ()) &&
31598 : : #line 25047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31599 : : ( 1)))
31600 : : return gen_split_3556 (insn, operands);
31601 : : if ((
31602 : : #line 25044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31603 : : (TARGET_SSE4_1 && TARGET_AVX512VL
31604 : : && ix86_pre_reload_split ()) &&
31605 : : #line 25047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31606 : : ( 1)))
31607 : : return gen_split_3557 (insn, operands);
31608 : : break;
31609 : :
31610 : : default:
31611 : : break;
31612 : : }
31613 : : }
31614 : : x14 = XEXP (x11, 2);
31615 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
31616 : : return NULL;
31617 : : switch (pattern1034 (x2))
31618 : : {
31619 : : case 0:
31620 : : if (!(
31621 : : #line 24918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31622 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
31623 : : #line 24920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31624 : : ( 1)))
31625 : : return NULL;
31626 : : return gen_split_3547 (insn, operands);
31627 : :
31628 : : case 1:
31629 : : if (!(
31630 : : #line 24918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31631 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
31632 : : #line 24920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31633 : : ( 1)))
31634 : : return NULL;
31635 : : return gen_split_3548 (insn, operands);
31636 : :
31637 : : case 2:
31638 : : if (!(
31639 : : #line 24918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31640 : : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
31641 : : #line 24920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31642 : : ( 1)))
31643 : : return NULL;
31644 : : return gen_split_3549 (insn, operands);
31645 : :
31646 : : default:
31647 : : return NULL;
31648 : : }
31649 : :
31650 : : default:
31651 : : return NULL;
31652 : : }
31653 : :
31654 : : default:
31655 : : return NULL;
31656 : : }
31657 : : }
31658 : :
31659 : : rtx_insn *
31660 : : peephole2_9 (rtx x1 ATTRIBUTE_UNUSED,
31661 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31662 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31663 : : {
31664 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31665 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31666 : : rtx x10, x11, x12;
31667 : : rtx_insn *res ATTRIBUTE_UNUSED;
31668 : : if (peep2_current_count < 2)
31669 : : return NULL;
31670 : : x2 = XEXP (x1, 1);
31671 : : if (GET_MODE (x2) != E_DFmode)
31672 : : return NULL;
31673 : : x3 = XEXP (x2, 1);
31674 : : if (GET_CODE (x3) != PARALLEL
31675 : : || XVECLEN (x3, 0) != 1)
31676 : : return NULL;
31677 : : x4 = XVECEXP (x3, 0, 0);
31678 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
31679 : : return NULL;
31680 : : x5 = XEXP (x1, 0);
31681 : : operands[0] = x5;
31682 : : if (!memory_operand (operands[0], E_DFmode))
31683 : : return NULL;
31684 : : x6 = XEXP (x2, 0);
31685 : : operands[1] = x6;
31686 : : if (!sse_reg_operand (operands[1], E_V2DFmode))
31687 : : return NULL;
31688 : : x7 = PATTERN (peep2_next_insn (1));
31689 : : if (GET_CODE (x7) != SET)
31690 : : return NULL;
31691 : : x8 = XEXP (x7, 1);
31692 : : if (GET_CODE (x8) != VEC_SELECT
31693 : : || GET_MODE (x8) != E_DFmode)
31694 : : return NULL;
31695 : : x9 = XEXP (x8, 1);
31696 : : if (GET_CODE (x9) != PARALLEL
31697 : : || XVECLEN (x9, 0) != 1)
31698 : : return NULL;
31699 : : x10 = XVECEXP (x9, 0, 0);
31700 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
31701 : : return NULL;
31702 : : x11 = XEXP (x7, 0);
31703 : : operands[2] = x11;
31704 : : if (!memory_operand (operands[2], E_DFmode))
31705 : : return NULL;
31706 : : x12 = XEXP (x8, 0);
31707 : : operands[3] = x12;
31708 : : if (!sse_reg_operand (operands[3], E_V2DFmode)
31709 : : || !
31710 : : #line 1977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31711 : : (TARGET_SSE2 && TARGET_SSE_UNALIGNED_STORE_OPTIMAL
31712 : : && ix86_operands_ok_for_move_multiple (operands, false, DFmode)))
31713 : : return NULL;
31714 : : *pmatch_len_ = 1;
31715 : : return gen_peephole2_402 (insn, operands);
31716 : : }
31717 : :
31718 : : rtx_insn *
31719 : : peephole2_10 (rtx x1 ATTRIBUTE_UNUSED,
31720 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31721 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31722 : : {
31723 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31724 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31725 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
31726 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
31727 : : rtx x26, x27, x28, x29;
31728 : : rtx_insn *res ATTRIBUTE_UNUSED;
31729 : : if (address_no_seg_operand (operands[1], E_SImode)
31730 : : &&
31731 : : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31732 : : (ix86_hardreg_mov_ok (operands[0], operands[1])
31733 : : && peep2_regno_dead_p (0, FLAGS_REG)
31734 : : && ix86_avoid_lea_for_addr (peep2_next_insn (0), operands)))
31735 : : {
31736 : : *pmatch_len_ = 0;
31737 : : res = gen_peephole2_60 (insn, operands);
31738 : : if (res != NULL_RTX)
31739 : : return res;
31740 : : }
31741 : : if (peep2_current_count < 2
31742 : : || !memory_operand (operands[1], E_SImode))
31743 : : return NULL;
31744 : : x2 = PATTERN (peep2_next_insn (1));
31745 : : switch (GET_CODE (x2))
31746 : : {
31747 : : case CALL:
31748 : : x3 = XEXP (x2, 0);
31749 : : if (GET_CODE (x3) != MEM
31750 : : || GET_MODE (x3) != E_QImode)
31751 : : return NULL;
31752 : : x4 = XEXP (x2, 1);
31753 : : operands[3] = x4;
31754 : : x5 = XEXP (x3, 0);
31755 : : if (!rtx_equal_p (x5, operands[0])
31756 : : || !(
31757 : : #line 20202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31758 : : (!TARGET_X32
31759 : : && !TARGET_INDIRECT_BRANCH_REGISTER
31760 : : && SIBLING_CALL_P (peep2_next_insn (1))
31761 : : && !reg_mentioned_p (operands[0],
31762 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) &&
31763 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31764 : : (word_mode == SImode)))
31765 : : return NULL;
31766 : : *pmatch_len_ = 1;
31767 : : return gen_peephole2_176 (insn, operands);
31768 : :
31769 : : case UNSPEC_VOLATILE:
31770 : : if (pattern840 (x2) != 0)
31771 : : return NULL;
31772 : : x6 = PATTERN (peep2_next_insn (2));
31773 : : switch (GET_CODE (x6))
31774 : : {
31775 : : case CALL:
31776 : : x7 = XEXP (x6, 0);
31777 : : if (GET_CODE (x7) != MEM
31778 : : || GET_MODE (x7) != E_QImode)
31779 : : return NULL;
31780 : : x8 = XEXP (x6, 1);
31781 : : operands[3] = x8;
31782 : : x9 = XEXP (x7, 0);
31783 : : if (!rtx_equal_p (x9, operands[0])
31784 : : || !(
31785 : : #line 20217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31786 : : (!TARGET_X32
31787 : : && !TARGET_INDIRECT_BRANCH_REGISTER
31788 : : && SIBLING_CALL_P (peep2_next_insn (2))
31789 : : && !reg_mentioned_p (operands[0],
31790 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) &&
31791 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31792 : : (word_mode == SImode)))
31793 : : return NULL;
31794 : : *pmatch_len_ = 2;
31795 : : return gen_peephole2_178 (insn, operands);
31796 : :
31797 : : case PARALLEL:
31798 : : if (XVECLEN (x6, 0) != 2)
31799 : : return NULL;
31800 : : x10 = XVECEXP (x6, 0, 1);
31801 : : if (GET_CODE (x10) != SET)
31802 : : return NULL;
31803 : : x11 = XEXP (x10, 1);
31804 : : if (GET_CODE (x11) != PLUS
31805 : : || GET_MODE (x11) != E_SImode)
31806 : : return NULL;
31807 : : x12 = XEXP (x11, 0);
31808 : : if (GET_CODE (x12) != REG
31809 : : || REGNO (x12) != 7
31810 : : || GET_MODE (x12) != E_SImode)
31811 : : return NULL;
31812 : : x13 = XEXP (x10, 0);
31813 : : if (GET_CODE (x13) != REG
31814 : : || REGNO (x13) != 7
31815 : : || GET_MODE (x13) != E_SImode)
31816 : : return NULL;
31817 : : x14 = XEXP (x11, 1);
31818 : : operands[4] = x14;
31819 : : if (!immediate_operand (operands[4], E_SImode))
31820 : : return NULL;
31821 : : x15 = XVECEXP (x6, 0, 0);
31822 : : switch (GET_CODE (x15))
31823 : : {
31824 : : case CALL:
31825 : : x16 = XEXP (x15, 0);
31826 : : if (GET_CODE (x16) != MEM
31827 : : || GET_MODE (x16) != E_QImode)
31828 : : return NULL;
31829 : : x17 = XEXP (x15, 1);
31830 : : operands[3] = x17;
31831 : : x18 = XEXP (x16, 0);
31832 : : if (!rtx_equal_p (x18, operands[0])
31833 : : || !
31834 : : #line 20298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31835 : : (!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (2))
31836 : : && !reg_mentioned_p (operands[0],
31837 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))))
31838 : : return NULL;
31839 : : *pmatch_len_ = 2;
31840 : : return gen_peephole2_181 (insn, operands);
31841 : :
31842 : : case SET:
31843 : : x17 = XEXP (x15, 1);
31844 : : if (GET_CODE (x17) != CALL)
31845 : : return NULL;
31846 : : x19 = XEXP (x17, 0);
31847 : : if (GET_CODE (x19) != MEM
31848 : : || GET_MODE (x19) != E_QImode)
31849 : : return NULL;
31850 : : x16 = XEXP (x15, 0);
31851 : : operands[2] = x16;
31852 : : x20 = XEXP (x17, 1);
31853 : : operands[3] = x20;
31854 : : x21 = XEXP (x19, 0);
31855 : : if (!rtx_equal_p (x21, operands[0])
31856 : : || !
31857 : : #line 20517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31858 : : (!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (2))
31859 : : && !reg_mentioned_p (operands[0],
31860 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))))
31861 : : return NULL;
31862 : : *pmatch_len_ = 2;
31863 : : return gen_peephole2_189 (insn, operands);
31864 : :
31865 : : default:
31866 : : return NULL;
31867 : : }
31868 : :
31869 : : case SET:
31870 : : if (pattern1343 (x6) != 0
31871 : : || !(
31872 : : #line 20428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31873 : : (!TARGET_X32
31874 : : && !TARGET_INDIRECT_BRANCH_REGISTER
31875 : : && SIBLING_CALL_P (peep2_next_insn (2))
31876 : : && !reg_mentioned_p (operands[0],
31877 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) &&
31878 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31879 : : (word_mode == SImode)))
31880 : : return NULL;
31881 : : *pmatch_len_ = 2;
31882 : : return gen_peephole2_186 (insn, operands);
31883 : :
31884 : : default:
31885 : : return NULL;
31886 : : }
31887 : :
31888 : : case PARALLEL:
31889 : : if (XVECLEN (x2, 0) != 2)
31890 : : return NULL;
31891 : : x22 = XVECEXP (x2, 0, 0);
31892 : : if (GET_CODE (x22) != CALL)
31893 : : return NULL;
31894 : : x23 = XEXP (x22, 0);
31895 : : if (GET_CODE (x23) != MEM
31896 : : || GET_MODE (x23) != E_QImode)
31897 : : return NULL;
31898 : : x24 = XVECEXP (x2, 0, 1);
31899 : : if (pattern1257 (x24) != 0)
31900 : : return NULL;
31901 : : x25 = XEXP (x24, 0);
31902 : : if (GET_CODE (x25) != REG
31903 : : || REGNO (x25) != 7
31904 : : || GET_MODE (x25) != E_SImode)
31905 : : return NULL;
31906 : : x26 = XEXP (x22, 1);
31907 : : operands[3] = x26;
31908 : : x27 = XEXP (x24, 1);
31909 : : x28 = XEXP (x27, 1);
31910 : : operands[4] = x28;
31911 : : if (!immediate_operand (operands[4], E_SImode))
31912 : : return NULL;
31913 : : x29 = XEXP (x23, 0);
31914 : : if (!rtx_equal_p (x29, operands[0])
31915 : : || !
31916 : : #line 20279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31917 : : (!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (1))
31918 : : && !reg_mentioned_p (operands[0],
31919 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))))
31920 : : return NULL;
31921 : : *pmatch_len_ = 1;
31922 : : return gen_peephole2_180 (insn, operands);
31923 : :
31924 : : case SET:
31925 : : switch (pattern841 (x2))
31926 : : {
31927 : : case 0:
31928 : : if (!(
31929 : : #line 20315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31930 : : (!TARGET_X32
31931 : : && !TARGET_INDIRECT_BRANCH_REGISTER
31932 : : && peep2_reg_dead_p (2, operands[0])) &&
31933 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31934 : : (word_mode == SImode)))
31935 : : return NULL;
31936 : : *pmatch_len_ = 1;
31937 : : return gen_peephole2_182 (insn, operands);
31938 : :
31939 : : case 1:
31940 : : if (!(
31941 : : #line 20411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31942 : : (!TARGET_X32
31943 : : && !TARGET_INDIRECT_BRANCH_REGISTER
31944 : : && SIBLING_CALL_P (peep2_next_insn (1))
31945 : : && !reg_mentioned_p (operands[0],
31946 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) &&
31947 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31948 : : (word_mode == SImode)))
31949 : : return NULL;
31950 : : *pmatch_len_ = 1;
31951 : : return gen_peephole2_184 (insn, operands);
31952 : :
31953 : : default:
31954 : : return NULL;
31955 : : }
31956 : :
31957 : : default:
31958 : : return NULL;
31959 : : }
31960 : : }
31961 : :
31962 : : rtx_insn *
31963 : : peephole2_13 (rtx x1 ATTRIBUTE_UNUSED,
31964 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31965 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31966 : : {
31967 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31968 : : rtx x2, x3;
31969 : : rtx_insn *res ATTRIBUTE_UNUSED;
31970 : : x2 = PATTERN (peep2_next_insn (1));
31971 : : if (GET_CODE (x2) != SET)
31972 : : return NULL;
31973 : : x3 = XEXP (x2, 0);
31974 : : if (!general_reg_operand (x3, E_SImode))
31975 : : return NULL;
31976 : : operands[8] = x3;
31977 : : switch (pattern961 (x1,
31978 : : E_SImode,
31979 : : E_DImode))
31980 : : {
31981 : : case 0:
31982 : : if (
31983 : : #line 9660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31984 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31985 : : && peep2_reg_dead_p (4, operands[0])
31986 : : && peep2_reg_dead_p (3, operands[2])
31987 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31988 : : && !reg_overlap_mentioned_p (operands[2], operands[1])
31989 : : && !reg_overlap_mentioned_p (operands[6], operands[9])
31990 : : && (rtx_equal_p (operands[6], operands[0])
31991 : : ? (rtx_equal_p (operands[7], operands[1])
31992 : : && rtx_equal_p (operands[8], operands[2]))
31993 : : : (rtx_equal_p (operands[8], operands[0])
31994 : : && rtx_equal_p (operands[9], operands[1])
31995 : : && rtx_equal_p (operands[6], operands[2])))))
31996 : : {
31997 : : *pmatch_len_ = 3;
31998 : : res = gen_peephole2_100 (insn, operands);
31999 : : if (res != NULL_RTX)
32000 : : return res;
32001 : : }
32002 : : break;
32003 : :
32004 : : case 1:
32005 : : if (
32006 : : #line 9715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32007 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32008 : : && peep2_reg_dead_p (6, operands[0])
32009 : : && peep2_reg_dead_p (3, operands[2])
32010 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32011 : : && !reg_overlap_mentioned_p (operands[2], operands[1])
32012 : : && !reg_overlap_mentioned_p (operands[6], operands[9])
32013 : : && !reg_overlap_mentioned_p (operands[0], operands[10])
32014 : : && !reg_overlap_mentioned_p (operands[10], operands[1])
32015 : : && !reg_overlap_mentioned_p (operands[0], operands[11])
32016 : : && !reg_overlap_mentioned_p (operands[11], operands[1])
32017 : : && (rtx_equal_p (operands[6], operands[0])
32018 : : ? (rtx_equal_p (operands[7], operands[1])
32019 : : && rtx_equal_p (operands[8], operands[2]))
32020 : : : (rtx_equal_p (operands[8], operands[0])
32021 : : && rtx_equal_p (operands[9], operands[1])
32022 : : && rtx_equal_p (operands[6], operands[2])))))
32023 : : {
32024 : : *pmatch_len_ = 5;
32025 : : res = gen_peephole2_102 (insn, operands);
32026 : : if (res != NULL_RTX)
32027 : : return res;
32028 : : }
32029 : : break;
32030 : :
32031 : : default:
32032 : : break;
32033 : : }
32034 : : operands[0] = x3;
32035 : : if (pattern964 (x1,
32036 : : E_SImode) != 0
32037 : : || !
32038 : : #line 26404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32039 : : (TARGET_CMOVE
32040 : : && REGNO (operands[2]) != REGNO (operands[0])
32041 : : && REGNO (operands[2]) != REGNO (operands[1])
32042 : : && peep2_reg_dead_p (2, operands[1])
32043 : : && peep2_reg_dead_p (4, operands[2])
32044 : : && !reg_overlap_mentioned_p (operands[0], operands[3])
32045 : : && !reg_mentioned_p (operands[2], operands[6])))
32046 : : return NULL;
32047 : : *pmatch_len_ = 3;
32048 : : return gen_peephole2_207 (insn, operands);
32049 : : }
32050 : :
32051 : : rtx_insn *
32052 : : peephole2_15 (rtx x1 ATTRIBUTE_UNUSED,
32053 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32054 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32055 : : {
32056 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32057 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
32058 : : rtx_insn *res ATTRIBUTE_UNUSED;
32059 : : if (address_no_seg_operand (operands[1], E_DImode)
32060 : : && (
32061 : : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32062 : : (ix86_hardreg_mov_ok (operands[0], operands[1])
32063 : : && peep2_regno_dead_p (0, FLAGS_REG)
32064 : : && ix86_avoid_lea_for_addr (peep2_next_insn (0), operands)) &&
32065 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32066 : : (TARGET_64BIT)))
32067 : : {
32068 : : *pmatch_len_ = 0;
32069 : : res = gen_peephole2_61 (insn, operands);
32070 : : if (res != NULL_RTX)
32071 : : return res;
32072 : : }
32073 : : if (peep2_current_count < 2
32074 : : || !memory_operand (operands[1], E_DImode))
32075 : : return NULL;
32076 : : x2 = PATTERN (peep2_next_insn (1));
32077 : : switch (GET_CODE (x2))
32078 : : {
32079 : : case CALL:
32080 : : x3 = XEXP (x2, 0);
32081 : : if (GET_CODE (x3) != MEM
32082 : : || GET_MODE (x3) != E_QImode)
32083 : : return NULL;
32084 : : x4 = XEXP (x2, 1);
32085 : : operands[3] = x4;
32086 : : x5 = XEXP (x3, 0);
32087 : : if (!rtx_equal_p (x5, operands[0])
32088 : : || !(
32089 : : #line 20202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32090 : : (!TARGET_X32
32091 : : && !TARGET_INDIRECT_BRANCH_REGISTER
32092 : : && SIBLING_CALL_P (peep2_next_insn (1))
32093 : : && !reg_mentioned_p (operands[0],
32094 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) &&
32095 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32096 : : (word_mode == DImode)))
32097 : : return NULL;
32098 : : *pmatch_len_ = 1;
32099 : : return gen_peephole2_177 (insn, operands);
32100 : :
32101 : : case UNSPEC_VOLATILE:
32102 : : if (pattern840 (x2) != 0)
32103 : : return NULL;
32104 : : x6 = PATTERN (peep2_next_insn (2));
32105 : : switch (GET_CODE (x6))
32106 : : {
32107 : : case CALL:
32108 : : x7 = XEXP (x6, 0);
32109 : : if (GET_CODE (x7) != MEM
32110 : : || GET_MODE (x7) != E_QImode)
32111 : : return NULL;
32112 : : x8 = XEXP (x6, 1);
32113 : : operands[3] = x8;
32114 : : x9 = XEXP (x7, 0);
32115 : : if (!rtx_equal_p (x9, operands[0])
32116 : : || !(
32117 : : #line 20217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32118 : : (!TARGET_X32
32119 : : && !TARGET_INDIRECT_BRANCH_REGISTER
32120 : : && SIBLING_CALL_P (peep2_next_insn (2))
32121 : : && !reg_mentioned_p (operands[0],
32122 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) &&
32123 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32124 : : (word_mode == DImode)))
32125 : : return NULL;
32126 : : *pmatch_len_ = 2;
32127 : : return gen_peephole2_179 (insn, operands);
32128 : :
32129 : : case SET:
32130 : : if (pattern1343 (x6) != 0
32131 : : || !(
32132 : : #line 20428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32133 : : (!TARGET_X32
32134 : : && !TARGET_INDIRECT_BRANCH_REGISTER
32135 : : && SIBLING_CALL_P (peep2_next_insn (2))
32136 : : && !reg_mentioned_p (operands[0],
32137 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) &&
32138 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32139 : : (word_mode == DImode)))
32140 : : return NULL;
32141 : : *pmatch_len_ = 2;
32142 : : return gen_peephole2_187 (insn, operands);
32143 : :
32144 : : default:
32145 : : return NULL;
32146 : : }
32147 : :
32148 : : case SET:
32149 : : switch (pattern841 (x2))
32150 : : {
32151 : : case 0:
32152 : : if (!(
32153 : : #line 20315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32154 : : (!TARGET_X32
32155 : : && !TARGET_INDIRECT_BRANCH_REGISTER
32156 : : && peep2_reg_dead_p (2, operands[0])) &&
32157 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32158 : : (word_mode == DImode)))
32159 : : return NULL;
32160 : : *pmatch_len_ = 1;
32161 : : return gen_peephole2_183 (insn, operands);
32162 : :
32163 : : case 1:
32164 : : if (!(
32165 : : #line 20411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32166 : : (!TARGET_X32
32167 : : && !TARGET_INDIRECT_BRANCH_REGISTER
32168 : : && SIBLING_CALL_P (peep2_next_insn (1))
32169 : : && !reg_mentioned_p (operands[0],
32170 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) &&
32171 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32172 : : (word_mode == DImode)))
32173 : : return NULL;
32174 : : *pmatch_len_ = 1;
32175 : : return gen_peephole2_185 (insn, operands);
32176 : :
32177 : : default:
32178 : : return NULL;
32179 : : }
32180 : :
32181 : : default:
32182 : : return NULL;
32183 : : }
32184 : : }
32185 : :
32186 : : rtx_insn *
32187 : : peephole2_18 (rtx x1 ATTRIBUTE_UNUSED,
32188 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32189 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32190 : : {
32191 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32192 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
32193 : : rtx x10, x11;
32194 : : rtx_insn *res ATTRIBUTE_UNUSED;
32195 : : x2 = XEXP (x1, 0);
32196 : : operands[0] = x2;
32197 : : res = peephole2_16 (x1, insn, pmatch_len_);
32198 : : if (res != NULL_RTX)
32199 : : return res;
32200 : : if (peep2_current_count >= 2)
32201 : : {
32202 : : if (peep2_current_count >= 3
32203 : : && peep2_current_count >= 4)
32204 : : {
32205 : : if (general_reg_operand (x2, E_DImode))
32206 : : {
32207 : : res = peephole2_17 (x1, insn, pmatch_len_);
32208 : : if (res != NULL_RTX)
32209 : : return res;
32210 : : }
32211 : : if (peep2_current_count >= 5
32212 : : && pattern598 (x1,
32213 : : E_DImode) == 0
32214 : : && (
32215 : : #line 26951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32216 : : (optimize_insn_for_size_p ()
32217 : : && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid) &&
32218 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32219 : : (TARGET_64BIT)))
32220 : : {
32221 : : *pmatch_len_ = 4;
32222 : : res = gen_peephole2_224 (insn, operands);
32223 : : if (res != NULL_RTX)
32224 : : return res;
32225 : : }
32226 : : }
32227 : : operands[3] = x2;
32228 : : if (peep2_current_count >= 3)
32229 : : {
32230 : : x3 = XEXP (x1, 1);
32231 : : if (pattern410 (x3,
32232 : : E_DImode) == 0
32233 : : && (
32234 : : #line 26969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32235 : : (optimize_insn_for_size_p ()
32236 : : && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid) &&
32237 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32238 : : (TARGET_64BIT)))
32239 : : {
32240 : : *pmatch_len_ = 2;
32241 : : res = gen_peephole2_226 (insn, operands);
32242 : : if (res != NULL_RTX)
32243 : : return res;
32244 : : }
32245 : : }
32246 : : if (general_reg_operand (operands[3], E_DImode))
32247 : : {
32248 : : x3 = XEXP (x1, 1);
32249 : : switch (pattern411 (x3,
32250 : : E_DImode))
32251 : : {
32252 : : case 0:
32253 : : if ((
32254 : : #line 27394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32255 : : (GET_MODE (operands[2]) == word_mode
32256 : : && peep2_reg_dead_p (0, operands[3])
32257 : : && peep2_reg_dead_p (2, operands[2])
32258 : : && !reg_mentioned_p (operands[3], operands[0])
32259 : : && !reg_mentioned_p (operands[3], operands[1])) && ((((
32260 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32261 : : (TARGET_64BIT) &&
32262 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32263 : : (ptr_mode == SImode)) &&
32264 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32265 : : (ptr_mode == SImode)) &&
32266 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32267 : : (ptr_mode == SImode)) &&
32268 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32269 : : (ptr_mode == SImode))))
32270 : : {
32271 : : *pmatch_len_ = 1;
32272 : : res = gen_peephole2_240 (insn, operands);
32273 : : if (res != NULL_RTX)
32274 : : return res;
32275 : : }
32276 : : break;
32277 : :
32278 : : case 1:
32279 : : if ((
32280 : : #line 27394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32281 : : (GET_MODE (operands[2]) == word_mode
32282 : : && peep2_reg_dead_p (0, operands[3])
32283 : : && peep2_reg_dead_p (2, operands[2])
32284 : : && !reg_mentioned_p (operands[3], operands[0])
32285 : : && !reg_mentioned_p (operands[3], operands[1])) && ((((
32286 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32287 : : (TARGET_64BIT) &&
32288 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32289 : : (ptr_mode == DImode)) &&
32290 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32291 : : (ptr_mode == DImode)) &&
32292 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32293 : : (ptr_mode == DImode)) &&
32294 : : #line 1408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32295 : : (ptr_mode == DImode))))
32296 : : {
32297 : : *pmatch_len_ = 1;
32298 : : res = gen_peephole2_242 (insn, operands);
32299 : : if (res != NULL_RTX)
32300 : : return res;
32301 : : }
32302 : : break;
32303 : :
32304 : : default:
32305 : : break;
32306 : : }
32307 : : }
32308 : : operands[2] = x2;
32309 : : if (memory_operand (operands[2], E_DImode))
32310 : : {
32311 : : x3 = XEXP (x1, 1);
32312 : : operands[0] = x3;
32313 : : if (general_reg_operand (operands[0], E_DImode))
32314 : : {
32315 : : x4 = PATTERN (peep2_next_insn (1));
32316 : : if (GET_CODE (x4) == SET)
32317 : : {
32318 : : x5 = XEXP (x4, 1);
32319 : : if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
32320 : : {
32321 : : x6 = XEXP (x4, 0);
32322 : : operands[1] = x6;
32323 : : if (memory_operand (operands[1], E_DImode)
32324 : : && (
32325 : : #line 26984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32326 : : (optimize_insn_for_size_p ()
32327 : : && INSN_UID (peep2_next_insn (0)) == ix86_last_zero_store_uid) &&
32328 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32329 : : (TARGET_64BIT)))
32330 : : {
32331 : : *pmatch_len_ = 1;
32332 : : res = gen_peephole2_228 (insn, operands);
32333 : : if (res != NULL_RTX)
32334 : : return res;
32335 : : }
32336 : : }
32337 : : }
32338 : : }
32339 : : }
32340 : : }
32341 : : operands[0] = x2;
32342 : : if (peep2_current_count >= 2
32343 : : && general_reg_operand (operands[0], E_DImode))
32344 : : {
32345 : : x3 = XEXP (x1, 1);
32346 : : operands[1] = x3;
32347 : : if (x86_64_general_operand (operands[1], E_DImode))
32348 : : {
32349 : : x4 = PATTERN (peep2_next_insn (1));
32350 : : if (GET_CODE (x4) == SET)
32351 : : {
32352 : : x6 = XEXP (x4, 0);
32353 : : operands[2] = x6;
32354 : : if (general_reg_operand (operands[2], E_DImode))
32355 : : {
32356 : : x5 = XEXP (x4, 1);
32357 : : if (rtx_equal_p (x5, operands[0])
32358 : : && (
32359 : : #line 27001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32360 : : (peep2_reg_dead_p (2, operands[0])) &&
32361 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32362 : : (TARGET_64BIT)))
32363 : : {
32364 : : *pmatch_len_ = 1;
32365 : : res = gen_peephole2_232 (insn, operands);
32366 : : if (res != NULL_RTX)
32367 : : return res;
32368 : : }
32369 : : }
32370 : : }
32371 : : }
32372 : : }
32373 : : x3 = XEXP (x1, 1);
32374 : : operands[1] = x3;
32375 : : if (!memory_operand (operands[1], E_DImode))
32376 : : return NULL;
32377 : : if (push_operand (operands[0], E_DImode)
32378 : : && (
32379 : : #line 27659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32380 : : (!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
32381 : : && !RTX_FRAME_RELATED_P (peep2_next_insn (0))) &&
32382 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32383 : : (TARGET_64BIT)))
32384 : : {
32385 : : *pmatch_len_ = 0;
32386 : : res = gen_peephole2_254 (insn, operands);
32387 : : if (res != NULL_RTX)
32388 : : return res;
32389 : : }
32390 : : if (peep2_current_count < 2
32391 : : || peep2_current_count < 3
32392 : : || !register_operand (operands[0], E_DImode))
32393 : : return NULL;
32394 : : x4 = PATTERN (peep2_next_insn (1));
32395 : : switch (GET_CODE (x4))
32396 : : {
32397 : : case PARALLEL:
32398 : : if (XVECLEN (x4, 0) != 2)
32399 : : return NULL;
32400 : : x7 = XVECEXP (x4, 0, 0);
32401 : : if (GET_CODE (x7) != SET)
32402 : : return NULL;
32403 : : x8 = XEXP (x7, 1);
32404 : : if (GET_CODE (x8) != COMPARE
32405 : : || pattern1258 (x4,
32406 : : E_DImode) != 0)
32407 : : return NULL;
32408 : : x9 = PATTERN (peep2_next_insn (2));
32409 : : if (GET_CODE (x9) != SET)
32410 : : return NULL;
32411 : : x10 = XEXP (x9, 1);
32412 : : if (!rtx_equal_p (x10, operands[0]))
32413 : : return NULL;
32414 : : x11 = XEXP (x9, 0);
32415 : : if (rtx_equal_p (x11, operands[1])
32416 : : && (
32417 : : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32418 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32419 : : && peep2_reg_dead_p (3, operands[0])
32420 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32421 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
32422 : : && ix86_match_ccmode (peep2_next_insn (1),
32423 : : (GET_CODE (operands[3]) == PLUS
32424 : : || GET_CODE (operands[3]) == MINUS)
32425 : : ? CCGOCmode : CCNOmode)) &&
32426 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32427 : : (TARGET_64BIT)))
32428 : : {
32429 : : *pmatch_len_ = 2;
32430 : : res = gen_peephole2_300 (insn, operands);
32431 : : if (res != NULL_RTX)
32432 : : return res;
32433 : : }
32434 : : if (peep2_current_count < 4
32435 : : || pattern1800 (x11,
32436 : : E_DImode) != 0
32437 : : || !(
32438 : : #line 28226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32439 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32440 : : && peep2_reg_dead_p (3, operands[0])
32441 : : && peep2_reg_dead_p (4, operands[4])
32442 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32443 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
32444 : : && !reg_overlap_mentioned_p (operands[4], operands[1])
32445 : : && ix86_match_ccmode (peep2_next_insn (1),
32446 : : (GET_CODE (operands[3]) == PLUS
32447 : : || GET_CODE (operands[3]) == MINUS)
32448 : : ? CCGOCmode : CCNOmode)) &&
32449 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32450 : : (TARGET_64BIT)))
32451 : : return NULL;
32452 : : *pmatch_len_ = 3;
32453 : : return gen_peephole2_324 (insn, operands);
32454 : :
32455 : : case SET:
32456 : : if (pattern843 (x4,
32457 : : E_DImode) != 0
32458 : : || !(
32459 : : #line 28262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32460 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32461 : : && (REGNO (operands[4]) == REGNO (operands[0])
32462 : : || REGNO (operands[4]) == REGNO (operands[3]))
32463 : : && (rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
32464 : : ? 3 : 0], operands[5])
32465 : : ? rtx_equal_p (operands[2], operands[6])
32466 : : : rtx_equal_p (operands[2], operands[5])
32467 : : && rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
32468 : : ? 3 : 0], operands[6]))
32469 : : && peep2_reg_dead_p (4, operands[4])
32470 : : && peep2_reg_dead_p (5, operands[REGNO (operands[4]) == REGNO (operands[0])
32471 : : ? 3 : 0])
32472 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32473 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
32474 : : && !reg_overlap_mentioned_p (operands[3], operands[0])
32475 : : && !reg_overlap_mentioned_p (operands[3], operands[1])
32476 : : && !reg_overlap_mentioned_p (operands[3], operands[2])
32477 : : && (DImode != QImode
32478 : : || immediate_operand (operands[2], QImode)
32479 : : || any_QIreg_operand (operands[2], QImode))) &&
32480 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32481 : : (TARGET_64BIT)))
32482 : : return NULL;
32483 : : *pmatch_len_ = 4;
32484 : : return gen_peephole2_328 (insn, operands);
32485 : :
32486 : : default:
32487 : : return NULL;
32488 : : }
32489 : : }
32490 : :
32491 : : rtx_insn *
32492 : : peephole2_30 (rtx x1 ATTRIBUTE_UNUSED,
32493 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32494 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32495 : : {
32496 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32497 : : rtx x2, x3, x4, x5;
32498 : : rtx_insn *res ATTRIBUTE_UNUSED;
32499 : : if (peep2_current_count >= 2)
32500 : : {
32501 : : x2 = PATTERN (peep2_next_insn (1));
32502 : : if (GET_CODE (x2) == SET)
32503 : : {
32504 : : x3 = XEXP (x2, 1);
32505 : : if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
32506 : : {
32507 : : x4 = XEXP (x2, 0);
32508 : : operands[2] = x4;
32509 : : if (memory_operand (operands[2], E_SImode))
32510 : : {
32511 : : if (peep2_current_count >= 3)
32512 : : {
32513 : : x5 = PATTERN (peep2_next_insn (2));
32514 : : if (pattern1259 (x5,
32515 : : E_SImode) == 0
32516 : : &&
32517 : : #line 26906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32518 : : (optimize_insn_for_size_p () && peep2_regno_dead_p (0, FLAGS_REG)))
32519 : : {
32520 : : *pmatch_len_ = 3;
32521 : : res = gen_peephole2_217 (insn, operands);
32522 : : if (res != NULL_RTX)
32523 : : return res;
32524 : : }
32525 : : }
32526 : : if (
32527 : : #line 26922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32528 : : (optimize_insn_for_size_p () && peep2_regno_dead_p (0, FLAGS_REG)))
32529 : : {
32530 : : *pmatch_len_ = 1;
32531 : : res = gen_peephole2_219 (insn, operands);
32532 : : if (res != NULL_RTX)
32533 : : return res;
32534 : : }
32535 : : }
32536 : : }
32537 : : }
32538 : : }
32539 : : if (!
32540 : : #line 26935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32541 : : (optimize_insn_for_size_p () && peep2_regno_dead_p (0, FLAGS_REG)))
32542 : : return NULL;
32543 : : *pmatch_len_ = 0;
32544 : : return gen_peephole2_221 (insn, operands);
32545 : : }
32546 : :
32547 : : rtx_insn *
32548 : : peephole2_34 (rtx x1 ATTRIBUTE_UNUSED,
32549 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32550 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32551 : : {
32552 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32553 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
32554 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
32555 : : rtx x18;
32556 : : rtx_insn *res ATTRIBUTE_UNUSED;
32557 : : x2 = XEXP (x1, 1);
32558 : : operands[1] = x2;
32559 : : if (!general_operand (operands[1], E_QImode))
32560 : : return NULL;
32561 : : x3 = PATTERN (peep2_next_insn (1));
32562 : : x4 = XVECEXP (x3, 0, 1);
32563 : : if (GET_CODE (x4) != SET)
32564 : : return NULL;
32565 : : x5 = XEXP (x4, 1);
32566 : : if (GET_CODE (x5) != UNSPEC_VOLATILE
32567 : : || XVECLEN (x5, 0) != 1
32568 : : || XINT (x5, 1) != 109
32569 : : || GET_MODE (x5) != E_QImode)
32570 : : return NULL;
32571 : : x6 = XVECEXP (x5, 0, 0);
32572 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
32573 : : return NULL;
32574 : : x7 = XVECEXP (x3, 0, 2);
32575 : : if (GET_CODE (x7) != SET)
32576 : : return NULL;
32577 : : x8 = XEXP (x7, 1);
32578 : : if (GET_CODE (x8) != UNSPEC_VOLATILE
32579 : : || XVECLEN (x8, 0) != 1
32580 : : || XINT (x8, 1) != 109
32581 : : || GET_MODE (x8) != E_CCZmode)
32582 : : return NULL;
32583 : : x9 = XVECEXP (x8, 0, 0);
32584 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
32585 : : return NULL;
32586 : : x10 = XEXP (x7, 0);
32587 : : if (GET_CODE (x10) != REG
32588 : : || REGNO (x10) != 17
32589 : : || GET_MODE (x10) != E_CCZmode)
32590 : : return NULL;
32591 : : x11 = XVECEXP (x3, 0, 0);
32592 : : x12 = XEXP (x11, 1);
32593 : : x13 = XVECEXP (x12, 0, 0);
32594 : : operands[2] = x13;
32595 : : if (!memory_operand (operands[2], E_QImode))
32596 : : return NULL;
32597 : : x14 = XVECEXP (x12, 0, 2);
32598 : : operands[3] = x14;
32599 : : if (!register_operand (operands[3], E_QImode)
32600 : : || pattern1689 (x3) != 0)
32601 : : return NULL;
32602 : : x15 = PATTERN (peep2_next_insn (2));
32603 : : if (pattern1536 (x15) != 0)
32604 : : return NULL;
32605 : : x16 = XEXP (x15, 1);
32606 : : x17 = XEXP (x16, 0);
32607 : : operands[5] = x17;
32608 : : if (!register_operand (operands[5], E_QImode))
32609 : : return NULL;
32610 : : x18 = XEXP (x16, 1);
32611 : : operands[6] = x18;
32612 : : if (!general_operand (operands[6], E_QImode)
32613 : : || !
32614 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32615 : : ((rtx_equal_p (operands[0], operands[5])
32616 : : && rtx_equal_p (operands[1], operands[6]))
32617 : : || (rtx_equal_p (operands[0], operands[6])
32618 : : && rtx_equal_p (operands[1], operands[5]))))
32619 : : return NULL;
32620 : : *pmatch_len_ = 2;
32621 : : return gen_peephole2_403 (insn, operands);
32622 : : }
32623 : :
32624 : : rtx_insn *
32625 : : peephole2_40 (rtx x1 ATTRIBUTE_UNUSED,
32626 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32627 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32628 : : {
32629 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32630 : : rtx x2, x3, x4, x5, x6, x7, x8;
32631 : : rtx_insn *res ATTRIBUTE_UNUSED;
32632 : : x2 = XVECEXP (x1, 0, 1);
32633 : : if (pattern227 (x2,
32634 : : E_CCmode,
32635 : : 17) != 0)
32636 : : return NULL;
32637 : : x3 = XVECEXP (x1, 0, 0);
32638 : : x4 = XEXP (x3, 1);
32639 : : switch (XWINT (x4, 0))
32640 : : {
32641 : : case 0L:
32642 : : res = peephole2_39 (x1, insn, pmatch_len_);
32643 : : if (res != NULL_RTX)
32644 : : return res;
32645 : : break;
32646 : :
32647 : : case 1L:
32648 : : x5 = XEXP (x3, 0);
32649 : : if (GET_CODE (x5) == ZERO_EXTRACT
32650 : : && pattern1066 (x5) == 0
32651 : : &&
32652 : : #line 19077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32653 : : (TARGET_64BIT && !TARGET_USE_BT))
32654 : : {
32655 : : *pmatch_len_ = 0;
32656 : : res = gen_peephole2_165 (insn, operands);
32657 : : if (res != NULL_RTX)
32658 : : return res;
32659 : : }
32660 : : break;
32661 : :
32662 : : default:
32663 : : break;
32664 : : }
32665 : : if (peep2_current_count < 2
32666 : : || peep2_current_count < 3)
32667 : : return NULL;
32668 : : x5 = XEXP (x3, 0);
32669 : : operands[0] = x5;
32670 : : x6 = PATTERN (peep2_next_insn (1));
32671 : : if (pattern413 (x6,
32672 : : UNSPEC_VOLATILE,
32673 : : 3) != 0)
32674 : : return NULL;
32675 : : x7 = XVECEXP (x6, 0, 1);
32676 : : if (GET_CODE (x7) != SET)
32677 : : return NULL;
32678 : : x8 = PATTERN (peep2_next_insn (2));
32679 : : if (pattern1536 (x8) != 0)
32680 : : return NULL;
32681 : : switch (GET_MODE (operands[0]))
32682 : : {
32683 : : case E_SImode:
32684 : : if (!register_operand (operands[0], E_SImode))
32685 : : return NULL;
32686 : : operands[1] = x4;
32687 : : switch (pattern1802 (x6,
32688 : : E_SImode))
32689 : : {
32690 : : case 0:
32691 : : if (
32692 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32693 : : (REGNO (operands[0]) == REGNO (operands[2])))
32694 : : {
32695 : : *pmatch_len_ = 2;
32696 : : res = gen_peephole2_407 (insn, operands);
32697 : : if (res != NULL_RTX)
32698 : : return res;
32699 : : }
32700 : : break;
32701 : :
32702 : : case 1:
32703 : : if (
32704 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32705 : : (REGNO (operands[0]) == REGNO (operands[2])))
32706 : : {
32707 : : *pmatch_len_ = 2;
32708 : : res = gen_peephole2_409 (insn, operands);
32709 : : if (res != NULL_RTX)
32710 : : return res;
32711 : : }
32712 : : break;
32713 : :
32714 : : case 2:
32715 : : if (
32716 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32717 : : (REGNO (operands[0]) == REGNO (operands[2])))
32718 : : {
32719 : : *pmatch_len_ = 2;
32720 : : res = gen_peephole2_411 (insn, operands);
32721 : : if (res != NULL_RTX)
32722 : : return res;
32723 : : }
32724 : : break;
32725 : :
32726 : : case 3:
32727 : : if ((
32728 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32729 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
32730 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32731 : : (TARGET_64BIT)))
32732 : : {
32733 : : *pmatch_len_ = 2;
32734 : : res = gen_peephole2_413 (insn, operands);
32735 : : if (res != NULL_RTX)
32736 : : return res;
32737 : : }
32738 : : break;
32739 : :
32740 : : default:
32741 : : break;
32742 : : }
32743 : : operands[2] = x4;
32744 : : if (pattern1758 (x6,
32745 : : E_SImode) != 0
32746 : : || !
32747 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32748 : : (peep2_reg_dead_p (3, operands[0])
32749 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
32750 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
32751 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
32752 : : return NULL;
32753 : : *pmatch_len_ = 2;
32754 : : return gen_peephole2_421 (insn, operands);
32755 : :
32756 : : case E_DImode:
32757 : : if (!register_operand (operands[0], E_DImode))
32758 : : return NULL;
32759 : : operands[1] = x4;
32760 : : switch (pattern1802 (x6,
32761 : : E_DImode))
32762 : : {
32763 : : case 0:
32764 : : if ((
32765 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32766 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
32767 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32768 : : (TARGET_64BIT)))
32769 : : {
32770 : : *pmatch_len_ = 2;
32771 : : res = gen_peephole2_408 (insn, operands);
32772 : : if (res != NULL_RTX)
32773 : : return res;
32774 : : }
32775 : : break;
32776 : :
32777 : : case 1:
32778 : : if ((
32779 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32780 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
32781 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32782 : : (TARGET_64BIT)))
32783 : : {
32784 : : *pmatch_len_ = 2;
32785 : : res = gen_peephole2_410 (insn, operands);
32786 : : if (res != NULL_RTX)
32787 : : return res;
32788 : : }
32789 : : break;
32790 : :
32791 : : case 2:
32792 : : if ((
32793 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32794 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
32795 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32796 : : (TARGET_64BIT)))
32797 : : {
32798 : : *pmatch_len_ = 2;
32799 : : res = gen_peephole2_412 (insn, operands);
32800 : : if (res != NULL_RTX)
32801 : : return res;
32802 : : }
32803 : : break;
32804 : :
32805 : : case 3:
32806 : : if ((
32807 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32808 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
32809 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32810 : : (TARGET_64BIT)))
32811 : : {
32812 : : *pmatch_len_ = 2;
32813 : : res = gen_peephole2_414 (insn, operands);
32814 : : if (res != NULL_RTX)
32815 : : return res;
32816 : : }
32817 : : break;
32818 : :
32819 : : default:
32820 : : break;
32821 : : }
32822 : : operands[2] = x4;
32823 : : if (pattern1758 (x6,
32824 : : E_DImode) != 0
32825 : : || !(
32826 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32827 : : (peep2_reg_dead_p (3, operands[0])
32828 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
32829 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
32830 : : && !reg_overlap_mentioned_p (operands[0], operands[1])) &&
32831 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32832 : : (TARGET_64BIT)))
32833 : : return NULL;
32834 : : *pmatch_len_ = 2;
32835 : : return gen_peephole2_422 (insn, operands);
32836 : :
32837 : : case E_QImode:
32838 : : if (pattern1759 (x4,
32839 : : E_QImode) != 0
32840 : : || !
32841 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32842 : : (peep2_reg_dead_p (3, operands[0])
32843 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
32844 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
32845 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
32846 : : return NULL;
32847 : : *pmatch_len_ = 2;
32848 : : return gen_peephole2_419 (insn, operands);
32849 : :
32850 : : case E_HImode:
32851 : : if (pattern1759 (x4,
32852 : : E_HImode) != 0
32853 : : || !
32854 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
32855 : : (peep2_reg_dead_p (3, operands[0])
32856 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
32857 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
32858 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
32859 : : return NULL;
32860 : : *pmatch_len_ = 2;
32861 : : return gen_peephole2_420 (insn, operands);
32862 : :
32863 : : default:
32864 : : return NULL;
32865 : : }
32866 : : }
32867 : :
32868 : : rtx_insn *
32869 : : peephole2_48 (rtx x1 ATTRIBUTE_UNUSED,
32870 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32871 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32872 : : {
32873 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32874 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
32875 : : rtx x10, x11, x12, x13, x14;
32876 : : rtx_insn *res ATTRIBUTE_UNUSED;
32877 : : if (peep2_current_count < 3)
32878 : : return NULL;
32879 : : x2 = XVECEXP (x1, 0, 0);
32880 : : x3 = XEXP (x2, 1);
32881 : : operands[2] = x3;
32882 : : x4 = XEXP (x2, 0);
32883 : : operands[0] = x4;
32884 : : x5 = XEXP (x3, 1);
32885 : : operands[1] = x5;
32886 : : x6 = XEXP (x3, 0);
32887 : : if (!rtx_equal_p (x6, operands[0]))
32888 : : return NULL;
32889 : : x7 = PATTERN (peep2_next_insn (1));
32890 : : if (GET_CODE (x7) != SET)
32891 : : return NULL;
32892 : : x8 = XEXP (x7, 1);
32893 : : if (!rtx_equal_p (x8, operands[0]))
32894 : : return NULL;
32895 : : x9 = XEXP (x7, 0);
32896 : : if (!rtx_equal_p (x9, operands[1]))
32897 : : return NULL;
32898 : : x10 = PATTERN (peep2_next_insn (2));
32899 : : if (GET_CODE (x10) != SET)
32900 : : return NULL;
32901 : : x11 = XEXP (x10, 1);
32902 : : if (GET_CODE (x11) != COMPARE)
32903 : : return NULL;
32904 : : x12 = XEXP (x11, 1);
32905 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
32906 : : return NULL;
32907 : : x13 = XEXP (x10, 0);
32908 : : if (GET_CODE (x13) != REG
32909 : : || REGNO (x13) != 17)
32910 : : return NULL;
32911 : : x14 = XEXP (x11, 0);
32912 : : if (!rtx_equal_p (x14, operands[0]))
32913 : : return NULL;
32914 : : switch (GET_MODE (operands[0]))
32915 : : {
32916 : : case E_QImode:
32917 : : if (!register_operand (operands[0], E_QImode)
32918 : : || !plusminuslogic_operator (operands[2], E_QImode)
32919 : : || !memory_operand (operands[1], E_QImode)
32920 : : || !
32921 : : #line 28050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32922 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32923 : : && COMMUTATIVE_ARITH_P (operands[2])
32924 : : && peep2_reg_dead_p (3, operands[0])
32925 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32926 : : && ix86_match_ccmode (peep2_next_insn (2),
32927 : : GET_CODE (operands[2]) == PLUS
32928 : : ? CCGOCmode : CCNOmode)))
32929 : : return NULL;
32930 : : *pmatch_len_ = 2;
32931 : : return gen_peephole2_305 (insn, operands);
32932 : :
32933 : : case E_HImode:
32934 : : if (!register_operand (operands[0], E_HImode)
32935 : : || !plusminuslogic_operator (operands[2], E_HImode)
32936 : : || !memory_operand (operands[1], E_HImode)
32937 : : || !
32938 : : #line 28050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32939 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32940 : : && COMMUTATIVE_ARITH_P (operands[2])
32941 : : && peep2_reg_dead_p (3, operands[0])
32942 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32943 : : && ix86_match_ccmode (peep2_next_insn (2),
32944 : : GET_CODE (operands[2]) == PLUS
32945 : : ? CCGOCmode : CCNOmode)))
32946 : : return NULL;
32947 : : *pmatch_len_ = 2;
32948 : : return gen_peephole2_306 (insn, operands);
32949 : :
32950 : : case E_SImode:
32951 : : if (!register_operand (operands[0], E_SImode)
32952 : : || !plusminuslogic_operator (operands[2], E_SImode)
32953 : : || !memory_operand (operands[1], E_SImode)
32954 : : || !
32955 : : #line 28050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32956 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32957 : : && COMMUTATIVE_ARITH_P (operands[2])
32958 : : && peep2_reg_dead_p (3, operands[0])
32959 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32960 : : && ix86_match_ccmode (peep2_next_insn (2),
32961 : : GET_CODE (operands[2]) == PLUS
32962 : : ? CCGOCmode : CCNOmode)))
32963 : : return NULL;
32964 : : *pmatch_len_ = 2;
32965 : : return gen_peephole2_307 (insn, operands);
32966 : :
32967 : : case E_DImode:
32968 : : if (!register_operand (operands[0], E_DImode)
32969 : : || !plusminuslogic_operator (operands[2], E_DImode)
32970 : : || !memory_operand (operands[1], E_DImode)
32971 : : || !(
32972 : : #line 28050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32973 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32974 : : && COMMUTATIVE_ARITH_P (operands[2])
32975 : : && peep2_reg_dead_p (3, operands[0])
32976 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32977 : : && ix86_match_ccmode (peep2_next_insn (2),
32978 : : GET_CODE (operands[2]) == PLUS
32979 : : ? CCGOCmode : CCNOmode)) &&
32980 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32981 : : (TARGET_64BIT)))
32982 : : return NULL;
32983 : : *pmatch_len_ = 2;
32984 : : return gen_peephole2_308 (insn, operands);
32985 : :
32986 : : default:
32987 : : return NULL;
32988 : : }
32989 : : }
|