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 : 93595 : pattern3 (rtx x1, machine_mode i1)
57 : : {
58 : 93595 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 93595 : int res ATTRIBUTE_UNUSED;
60 : 93595 : if (!register_operand (operands[0], i1)
61 : 92142 : || GET_MODE (x1) != i1
62 : 92142 : || !nonimmediate_operand (operands[1], i1)
63 : 170475 : || !nonimmediate_operand (operands[2], i1))
64 : 37781 : return -1;
65 : : return 0;
66 : : }
67 : :
68 : : int
69 : 252152 : pattern13 (rtx x1, int *pnum_clobbers)
70 : : {
71 : 252152 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
72 : 252152 : rtx x2, x3, x4, x5;
73 : 252152 : int res ATTRIBUTE_UNUSED;
74 : 252152 : if (pnum_clobbers == NULL)
75 : : return -1;
76 : 252152 : x2 = XEXP (x1, 0);
77 : 252152 : operands[0] = x2;
78 : 252152 : x3 = XEXP (x1, 1);
79 : 252152 : x4 = XEXP (x3, 0);
80 : 252152 : operands[1] = x4;
81 : 252152 : x5 = XEXP (x3, 1);
82 : 252152 : operands[2] = x5;
83 : 252152 : switch (GET_MODE (operands[0]))
84 : : {
85 : 42149 : case E_SImode:
86 : 42149 : return pattern12 (x3,
87 : 42149 : E_SImode); /* [-1, 0] */
88 : :
89 : 210003 : case E_DImode:
90 : 210003 : if (pattern12 (x3,
91 : : E_DImode) != 0)
92 : : return -1;
93 : : return 1;
94 : :
95 : : default:
96 : : return -1;
97 : : }
98 : : }
99 : :
100 : : int
101 : 109 : pattern20 (rtx x1, machine_mode i1)
102 : : {
103 : 109 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
104 : 109 : rtx x2;
105 : 109 : int res ATTRIBUTE_UNUSED;
106 : 109 : if (!register_operand (operands[0], i1)
107 : 109 : || GET_MODE (x1) != i1)
108 : : return -1;
109 : 109 : x2 = XEXP (x1, 0);
110 : 109 : switch (GET_MODE (x2))
111 : : {
112 : 0 : case E_HFmode:
113 : 0 : if (!register_operand (operands[1], E_V8HFmode))
114 : : return -1;
115 : : return 0;
116 : :
117 : 74 : case E_SFmode:
118 : 74 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
119 : : return -1;
120 : : return 1;
121 : :
122 : 35 : case E_DFmode:
123 : 35 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
124 : : return -1;
125 : : return 2;
126 : :
127 : : default:
128 : : return -1;
129 : : }
130 : : }
131 : :
132 : : int
133 : 1095 : pattern28 (rtx x1)
134 : : {
135 : 1095 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
136 : 1095 : int res ATTRIBUTE_UNUSED;
137 : 1095 : if (!register_operand (operands[0], E_V1TImode)
138 : 1080 : || GET_MODE (x1) != E_V1TImode
139 : 1080 : || !register_operand (operands[1], E_V1TImode)
140 : 2163 : || !const_0_to_255_operand (operands[2], E_SImode))
141 : 27 : return -1;
142 : : return 0;
143 : : }
144 : :
145 : : int
146 : 67003 : pattern33 (rtx x1)
147 : : {
148 : 67003 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
149 : 67003 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
150 : 67003 : rtx x10, x11, x12;
151 : 67003 : int res ATTRIBUTE_UNUSED;
152 : 67003 : x2 = XVECEXP (x1, 0, 0);
153 : 67003 : if (GET_CODE (x2) != SET)
154 : : return -1;
155 : 17783 : x3 = XEXP (x2, 1);
156 : 17783 : if (GET_CODE (x3) != COMPARE
157 : 245 : || GET_MODE (x3) != E_CCmode)
158 : : return -1;
159 : 245 : x4 = XEXP (x3, 0);
160 : 245 : if (GET_CODE (x4) != MEM
161 : 245 : || GET_MODE (x4) != E_BLKmode)
162 : : return -1;
163 : 245 : x5 = XEXP (x3, 1);
164 : 245 : if (GET_CODE (x5) != MEM
165 : 245 : || GET_MODE (x5) != E_BLKmode)
166 : : return -1;
167 : 245 : x6 = XEXP (x2, 0);
168 : 245 : if (GET_CODE (x6) != REG
169 : 245 : || REGNO (x6) != 17
170 : 490 : || GET_MODE (x6) != E_CCmode)
171 : : return -1;
172 : 245 : x7 = XVECEXP (x1, 0, 1);
173 : 245 : if (GET_CODE (x7) != USE)
174 : : return -1;
175 : 245 : x8 = XVECEXP (x1, 0, 2);
176 : 245 : if (GET_CODE (x8) != USE)
177 : : return -1;
178 : 0 : x9 = XVECEXP (x1, 0, 3);
179 : 0 : if (GET_CODE (x9) != CLOBBER)
180 : : return -1;
181 : 0 : x10 = XVECEXP (x1, 0, 4);
182 : 0 : if (GET_CODE (x10) != CLOBBER)
183 : : return -1;
184 : 0 : x11 = XVECEXP (x1, 0, 5);
185 : 0 : if (GET_CODE (x11) != CLOBBER)
186 : : return -1;
187 : 0 : x12 = XEXP (x4, 0);
188 : 0 : operands[4] = x12;
189 : 0 : return 0;
190 : : }
191 : :
192 : : int
193 : 108931 : pattern37 (rtx x1)
194 : : {
195 : 108931 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
196 : 108931 : rtx x2, x3, x4, x5, x6;
197 : 108931 : int res ATTRIBUTE_UNUSED;
198 : 108931 : x2 = XEXP (x1, 1);
199 : 108931 : x3 = XEXP (x2, 0);
200 : 108931 : if (GET_MODE (x3) != E_TImode)
201 : : return -1;
202 : 8347 : x4 = XEXP (x1, 0);
203 : 8347 : operands[0] = x4;
204 : 8347 : if (!nonimmediate_operand (operands[0], E_TImode)
205 : 8347 : || GET_MODE (x2) != E_TImode)
206 : : return -1;
207 : 8347 : x5 = XEXP (x3, 0);
208 : 8347 : operands[1] = x5;
209 : 8347 : if (!nonimmediate_operand (operands[1], E_DImode))
210 : : return -1;
211 : 6198 : x6 = XEXP (x2, 1);
212 : 6198 : switch (GET_CODE (x6))
213 : : {
214 : 0 : case ASHIFT:
215 : 0 : if (GET_MODE (x6) != E_TImode)
216 : : return -1;
217 : 0 : return pattern36 (x6,
218 : : E_TImode,
219 : 0 : E_DImode); /* [-1, 2] */
220 : :
221 : 2946 : case CONST_INT:
222 : 2946 : case CONST_WIDE_INT:
223 : 2946 : operands[2] = x6;
224 : 2946 : if (!const_scalar_int_operand (operands[2], E_TImode))
225 : : return -1;
226 : : return 3;
227 : :
228 : : default:
229 : : return -1;
230 : : }
231 : : }
232 : :
233 : : int
234 : 350171 : pattern45 (rtx x1)
235 : : {
236 : 350171 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
237 : 350171 : rtx x2, x3, x4, x5, x6, x7, x8;
238 : 350171 : int res ATTRIBUTE_UNUSED;
239 : 350171 : x2 = XEXP (x1, 1);
240 : 350171 : x3 = XEXP (x2, 1);
241 : 350171 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
242 : : return -1;
243 : 348527 : x4 = XEXP (x1, 0);
244 : 348527 : operands[0] = x4;
245 : 348527 : if (!flags_reg_operand (operands[0], E_VOIDmode))
246 : : return -1;
247 : 348527 : operands[1] = x2;
248 : 348527 : if (!compare_operator (operands[1], E_VOIDmode))
249 : : return -1;
250 : 348527 : x5 = XEXP (x2, 0);
251 : 348527 : x6 = XEXP (x5, 0);
252 : 348527 : operands[2] = x6;
253 : 348527 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
254 : : return -1;
255 : 288384 : x7 = XEXP (x5, 1);
256 : 288384 : operands[3] = x7;
257 : 288384 : if (!const_int_operand (operands[3], E_QImode))
258 : : return -1;
259 : 288384 : x8 = XEXP (x5, 2);
260 : 288384 : operands[4] = x8;
261 : 288384 : if (!const_int_operand (operands[4], E_QImode))
262 : : return -1;
263 : 276883 : switch (GET_MODE (x5))
264 : : {
265 : : case E_HImode:
266 : : return 0;
267 : :
268 : : case E_SImode:
269 : : return 1;
270 : :
271 : : case E_DImode:
272 : : return 2;
273 : :
274 : : default:
275 : : return -1;
276 : : }
277 : : }
278 : :
279 : : int
280 : 11069133 : pattern55 (rtx x1, machine_mode i1)
281 : : {
282 : 11069133 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
283 : 11069133 : rtx x2, x3;
284 : 11069133 : int res ATTRIBUTE_UNUSED;
285 : 11069133 : x2 = XEXP (x1, 1);
286 : 11069133 : if (GET_MODE (x2) != i1)
287 : : return -1;
288 : 3811260 : x3 = XEXP (x1, 0);
289 : 3811260 : if (GET_CODE (x3) != REG
290 : 3384334 : || REGNO (x3) != 17
291 : 7164955 : || GET_MODE (x3) != i1)
292 : 457565 : return -1;
293 : : return 0;
294 : : }
295 : :
296 : : int
297 : 246 : pattern56 (rtx x1, machine_mode i1)
298 : : {
299 : 246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
300 : 246 : rtx x2, x3, x4;
301 : 246 : int res ATTRIBUTE_UNUSED;
302 : 246 : x2 = XEXP (x1, 1);
303 : 246 : if (GET_MODE (x2) != i1)
304 : : return -1;
305 : 246 : x3 = XVECEXP (x2, 0, 0);
306 : 246 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
307 : : return -1;
308 : 246 : x4 = XEXP (x1, 0);
309 : 246 : if (GET_CODE (x4) != REG
310 : 246 : || REGNO (x4) != 17
311 : 490 : || GET_MODE (x4) != i1)
312 : 2 : return -1;
313 : : return 0;
314 : : }
315 : :
316 : : int
317 : 48721 : pattern61 (rtx x1)
318 : : {
319 : 48721 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
320 : 48721 : rtx x2, x3, x4, x5;
321 : 48721 : int res ATTRIBUTE_UNUSED;
322 : 48721 : x2 = XEXP (x1, 0);
323 : 48721 : operands[0] = x2;
324 : 48721 : x3 = XEXP (x1, 1);
325 : 48721 : x4 = XVECEXP (x3, 0, 0);
326 : 48721 : operands[1] = x4;
327 : 48721 : x5 = XVECEXP (x3, 0, 1);
328 : 48721 : operands[2] = x5;
329 : 48721 : switch (GET_MODE (operands[0]))
330 : : {
331 : 400 : case E_HFmode:
332 : 400 : return pattern60 (x3,
333 : 400 : E_HFmode); /* [-1, 0] */
334 : :
335 : 31920 : case E_SFmode:
336 : 31920 : if (pattern60 (x3,
337 : : E_SFmode) != 0)
338 : : return -1;
339 : : return 1;
340 : :
341 : 5379 : case E_DFmode:
342 : 5379 : if (pattern60 (x3,
343 : : E_DFmode) != 0)
344 : : return -1;
345 : : return 2;
346 : :
347 : : default:
348 : : return -1;
349 : : }
350 : : }
351 : :
352 : : int
353 : 1170 : pattern70 (rtx x1, machine_mode i1)
354 : : {
355 : 1170 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
356 : 1170 : int res ATTRIBUTE_UNUSED;
357 : 1170 : if (!register_operand (operands[0], i1)
358 : 1170 : || GET_MODE (x1) != i1
359 : 1170 : || !nonimmediate_operand (operands[1], i1)
360 : 1961 : || !general_operand (operands[2], i1))
361 : 379 : return -1;
362 : : return 0;
363 : : }
364 : :
365 : : int
366 : 20135167 : pattern76 (rtx x1)
367 : : {
368 : 20135167 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
369 : 20135167 : rtx x2, x3;
370 : 20135167 : int res ATTRIBUTE_UNUSED;
371 : 20135167 : x2 = XEXP (x1, 0);
372 : 20135167 : if (GET_CODE (x2) != SUBREG
373 : 372873 : || maybe_ne (SUBREG_BYTE (x2), 0)
374 : 20491609 : || GET_MODE (x2) != E_QImode)
375 : : return -1;
376 : 79109 : x3 = XEXP (x2, 0);
377 : 79109 : switch (GET_CODE (x3))
378 : : {
379 : 20771 : case ASHIFTRT:
380 : 20771 : case LSHIFTRT:
381 : 20771 : case SIGN_EXTRACT:
382 : 20771 : case ZERO_EXTRACT:
383 : 20771 : operands[3] = x3;
384 : 20771 : if (GET_MODE (x1) != E_QImode)
385 : : return -1;
386 : : return 0;
387 : :
388 : : default:
389 : : return -1;
390 : : }
391 : : }
392 : :
393 : : int
394 : 16435 : pattern83 (rtx x1)
395 : : {
396 : 16435 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
397 : 16435 : rtx x2, x3, x4, x5, x6, x7, x8;
398 : 16435 : int res ATTRIBUTE_UNUSED;
399 : 16435 : x2 = XEXP (x1, 0);
400 : 16435 : if (GET_CODE (x2) != ZERO_EXTRACT)
401 : : return -1;
402 : 7 : x3 = XEXP (x2, 1);
403 : 7 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
404 : : return -1;
405 : 7 : x4 = XEXP (x2, 2);
406 : 7 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
407 : : return -1;
408 : 7 : x5 = XEXP (x2, 0);
409 : 7 : operands[0] = x5;
410 : 7 : if (!int248_register_operand (operands[0], E_VOIDmode))
411 : : return -1;
412 : 7 : x6 = XEXP (x1, 1);
413 : 7 : x7 = XEXP (x6, 0);
414 : 7 : x8 = XEXP (x7, 0);
415 : 7 : operands[1] = x8;
416 : 7 : if (!int248_register_operand (operands[1], E_VOIDmode))
417 : : return -1;
418 : 7 : switch (GET_MODE (x2))
419 : : {
420 : 0 : case E_HImode:
421 : 0 : if (GET_MODE (x6) != E_HImode
422 : 0 : || !extract_high_operator (operands[2], E_HImode))
423 : 0 : return -1;
424 : : return 0;
425 : :
426 : 7 : case E_SImode:
427 : 7 : if (GET_MODE (x6) != E_SImode
428 : 7 : || !extract_high_operator (operands[2], E_SImode))
429 : 0 : return -1;
430 : : return 1;
431 : :
432 : 0 : case E_DImode:
433 : 0 : if (GET_MODE (x6) != E_DImode
434 : 0 : || !extract_high_operator (operands[2], E_DImode))
435 : 0 : return -1;
436 : : return 2;
437 : :
438 : : default:
439 : : return -1;
440 : : }
441 : : }
442 : :
443 : : int
444 : 738 : pattern97 (rtx x1, machine_mode i1)
445 : : {
446 : 738 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
447 : 738 : rtx x2;
448 : 738 : int res ATTRIBUTE_UNUSED;
449 : 738 : if (!memory_operand (operands[0], i1)
450 : 738 : || GET_MODE (x1) != i1)
451 : : return -1;
452 : 738 : x2 = XEXP (x1, 0);
453 : 738 : if (GET_MODE (x2) != i1
454 : 738 : || !register_operand (operands[1], E_V2DImode))
455 : 0 : return -1;
456 : : return 0;
457 : : }
458 : :
459 : : int
460 : 38480 : pattern102 (rtx x1, int *pnum_clobbers)
461 : : {
462 : 38480 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
463 : 38480 : rtx x2, x3, x4, x5;
464 : 38480 : int res ATTRIBUTE_UNUSED;
465 : 38480 : if (pnum_clobbers == NULL)
466 : : return -1;
467 : 38480 : x2 = XEXP (x1, 0);
468 : 38480 : if (GET_MODE (x2) != E_DImode)
469 : : return -1;
470 : 6105 : x3 = XEXP (x2, 0);
471 : 6105 : if (GET_CODE (x3) != ASHIFT
472 : 290 : || GET_MODE (x3) != E_DImode)
473 : : return -1;
474 : 290 : x4 = XEXP (x3, 0);
475 : 290 : if (GET_CODE (x4) != ZERO_EXTEND
476 : 30 : || GET_MODE (x4) != E_DImode)
477 : : return -1;
478 : 30 : x5 = XEXP (x2, 1);
479 : 30 : if (GET_CODE (x5) != ZERO_EXTEND
480 : 16 : || GET_MODE (x5) != E_DImode)
481 : : return -1;
482 : 16 : return pattern85 (x1,
483 : : E_DImode,
484 : 16 : E_SImode); /* [-1, 1] */
485 : : }
486 : :
487 : : int
488 : 158 : pattern110 (rtx x1, int *pnum_clobbers, machine_mode i1, machine_mode i2)
489 : : {
490 : 158 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
491 : 158 : rtx x2, x3;
492 : 158 : int res ATTRIBUTE_UNUSED;
493 : 158 : if (pnum_clobbers == NULL)
494 : : return -1;
495 : 158 : x2 = XEXP (x1, 0);
496 : 158 : if (GET_MODE (x2) != E_SImode
497 : 157 : || !register_operand (operands[0], i2)
498 : 313 : || GET_MODE (x1) != i2)
499 : 3 : return -1;
500 : 155 : x3 = XEXP (x2, 0);
501 : 155 : operands[1] = x3;
502 : 155 : if (!nonimmediate_operand (operands[1], i1))
503 : : return -1;
504 : : return 0;
505 : : }
506 : :
507 : : int
508 : 14810 : pattern116 (rtx x1)
509 : : {
510 : 14810 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
511 : 14810 : rtx x2, x3, x4;
512 : 14810 : int res ATTRIBUTE_UNUSED;
513 : 14810 : x2 = XEXP (x1, 1);
514 : 14810 : x3 = XEXP (x2, 0);
515 : 14810 : operands[3] = x3;
516 : 14810 : if (!const_int_operand (operands[3], E_QImode))
517 : : return -1;
518 : 4179 : x4 = XEXP (x2, 1);
519 : 4179 : operands[2] = x4;
520 : 4179 : if (!register_operand (operands[2], E_QImode))
521 : : return -1;
522 : 3675 : return pattern14 (x1); /* [-1, 1] */
523 : : }
524 : :
525 : : int
526 : 766 : pattern121 (rtx x1, machine_mode i1)
527 : : {
528 : 766 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
529 : 766 : int res ATTRIBUTE_UNUSED;
530 : 766 : if (!register_operand (operands[0], i1)
531 : 766 : || GET_MODE (x1) != i1)
532 : : return -1;
533 : 718 : switch (GET_MODE (operands[1]))
534 : : {
535 : 44 : case E_V8HFmode:
536 : 44 : if (!register_operand (operands[1], E_V8HFmode))
537 : : return -1;
538 : : return 0;
539 : :
540 : 379 : case E_V4SFmode:
541 : 379 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
542 : : return -1;
543 : : return 1;
544 : :
545 : 295 : case E_V2DFmode:
546 : 295 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
547 : : return -1;
548 : : return 2;
549 : :
550 : : default:
551 : : return -1;
552 : : }
553 : : }
554 : :
555 : : int
556 : 900 : pattern130 (rtx x1, machine_mode i1)
557 : : {
558 : 900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
559 : 900 : rtx x2;
560 : 900 : int res ATTRIBUTE_UNUSED;
561 : 900 : if (!register_operand (operands[0], i1)
562 : 900 : || GET_MODE (x1) != i1)
563 : : return -1;
564 : 876 : x2 = XEXP (x1, 0);
565 : 876 : if (GET_MODE (x2) != i1
566 : 876 : || !register_operand (operands[1], i1)
567 : 1692 : || !nonimmediate_operand (operands[2], i1))
568 : 112 : return -1;
569 : : return 0;
570 : : }
571 : :
572 : : int
573 : 0 : pattern137 (rtx x1)
574 : : {
575 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
576 : 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
577 : 0 : rtx x10, x11;
578 : 0 : int res ATTRIBUTE_UNUSED;
579 : 0 : x2 = XEXP (x1, 1);
580 : 0 : operands[2] = x2;
581 : 0 : x3 = XEXP (x1, 2);
582 : 0 : operands[3] = x3;
583 : 0 : x4 = XEXP (x1, 0);
584 : 0 : x5 = XEXP (x4, 0);
585 : 0 : switch (GET_CODE (x5))
586 : : {
587 : 0 : case REG:
588 : 0 : case SUBREG:
589 : 0 : case MEM:
590 : 0 : operands[1] = x5;
591 : 0 : switch (GET_MODE (operands[0]))
592 : : {
593 : 0 : case E_V8HImode:
594 : 0 : return pattern134 (x1,
595 : : E_V8HImode,
596 : : E_QImode,
597 : 0 : E_V8HFmode); /* [-1, 0] */
598 : :
599 : 0 : case E_V16HImode:
600 : 0 : if (pattern134 (x1,
601 : : E_V16HImode,
602 : : E_HImode,
603 : : E_V16HFmode) != 0)
604 : : return -1;
605 : : return 1;
606 : :
607 : 0 : case E_V32HImode:
608 : 0 : if (pattern134 (x1,
609 : : E_V32HImode,
610 : : E_SImode,
611 : : E_V32HFmode) != 0)
612 : : return -1;
613 : : return 2;
614 : :
615 : 0 : case E_V8SImode:
616 : 0 : if (pattern135 (x1,
617 : : E_V8SImode,
618 : : E_QImode) != 0)
619 : : return -1;
620 : : return 3;
621 : :
622 : 0 : case E_V16SImode:
623 : 0 : if (!register_operand (operands[0], E_V16SImode)
624 : 0 : || GET_MODE (x1) != E_V16SImode
625 : 0 : || GET_MODE (x4) != E_V16SImode
626 : 0 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
627 : 0 : || !register_operand (operands[3], E_HImode))
628 : 0 : return -1;
629 : 0 : switch (GET_MODE (operands[1]))
630 : : {
631 : 0 : case E_V16HFmode:
632 : 0 : if (!vector_operand (operands[1], E_V16HFmode))
633 : : return -1;
634 : : return 4;
635 : :
636 : 0 : case E_V16SFmode:
637 : 0 : if (!vector_operand (operands[1], E_V16SFmode))
638 : : return -1;
639 : : return 5;
640 : :
641 : : default:
642 : : return -1;
643 : : }
644 : :
645 : 0 : case E_V8DImode:
646 : 0 : if (!register_operand (operands[0], E_V8DImode)
647 : 0 : || GET_MODE (x1) != E_V8DImode
648 : 0 : || GET_MODE (x4) != E_V8DImode
649 : 0 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
650 : 0 : || !register_operand (operands[3], E_QImode))
651 : 0 : return -1;
652 : 0 : switch (GET_MODE (operands[1]))
653 : : {
654 : 0 : case E_V8HFmode:
655 : 0 : if (!vector_operand (operands[1], E_V8HFmode))
656 : : return -1;
657 : : return 6;
658 : :
659 : 0 : case E_V8DFmode:
660 : 0 : if (!vector_operand (operands[1], E_V8DFmode))
661 : : return -1;
662 : : return 7;
663 : :
664 : 0 : case E_V8SFmode:
665 : 0 : if (!vector_operand (operands[1], E_V8SFmode))
666 : : return -1;
667 : : return 8;
668 : :
669 : : default:
670 : : return -1;
671 : : }
672 : :
673 : 0 : case E_V4SImode:
674 : 0 : if (pattern135 (x1,
675 : : E_V4SImode,
676 : : E_QImode) != 0)
677 : : return -1;
678 : : return 9;
679 : :
680 : 0 : case E_V4DImode:
681 : 0 : if (!register_operand (operands[0], E_V4DImode)
682 : 0 : || GET_MODE (x1) != E_V4DImode
683 : 0 : || GET_MODE (x4) != E_V4DImode
684 : 0 : || !nonimm_or_0_operand (operands[2], E_V4DImode)
685 : 0 : || !register_operand (operands[3], E_QImode))
686 : 0 : return -1;
687 : 0 : switch (GET_MODE (operands[1]))
688 : : {
689 : 0 : case E_V4HFmode:
690 : 0 : if (!memory_operand (operands[1], E_V4HFmode))
691 : : return -1;
692 : : return 10;
693 : :
694 : 0 : case E_V4DFmode:
695 : 0 : if (!vector_operand (operands[1], E_V4DFmode))
696 : : return -1;
697 : : return 11;
698 : :
699 : 0 : case E_V4SFmode:
700 : 0 : if (!vector_operand (operands[1], E_V4SFmode))
701 : : return -1;
702 : : return 12;
703 : :
704 : : default:
705 : : return -1;
706 : : }
707 : :
708 : 0 : case E_V2DImode:
709 : 0 : if (!register_operand (operands[0], E_V2DImode)
710 : 0 : || GET_MODE (x1) != E_V2DImode
711 : 0 : || GET_MODE (x4) != E_V2DImode
712 : 0 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
713 : 0 : || !register_operand (operands[3], E_QImode))
714 : 0 : return -1;
715 : 0 : switch (GET_MODE (operands[1]))
716 : : {
717 : 0 : case E_V2HFmode:
718 : 0 : if (!memory_operand (operands[1], E_V2HFmode))
719 : : return -1;
720 : : return 13;
721 : :
722 : 0 : case E_V2DFmode:
723 : 0 : if (!vector_operand (operands[1], E_V2DFmode))
724 : : return -1;
725 : : return 14;
726 : :
727 : : default:
728 : : return -1;
729 : : }
730 : :
731 : : default:
732 : : return -1;
733 : : }
734 : :
735 : 0 : case VEC_SELECT:
736 : 0 : x6 = XEXP (x5, 1);
737 : 0 : if (GET_CODE (x6) != PARALLEL)
738 : : return -1;
739 : 0 : x7 = XEXP (x5, 0);
740 : 0 : operands[1] = x7;
741 : 0 : if (!register_operand (operands[3], E_QImode))
742 : : return -1;
743 : 0 : switch (XVECLEN (x6, 0))
744 : : {
745 : 0 : case 4:
746 : 0 : x8 = XVECEXP (x6, 0, 0);
747 : 0 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
748 : : return -1;
749 : 0 : x9 = XVECEXP (x6, 0, 1);
750 : 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
751 : : return -1;
752 : 0 : x10 = XVECEXP (x6, 0, 2);
753 : 0 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
754 : : return -1;
755 : 0 : x11 = XVECEXP (x6, 0, 3);
756 : 0 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
757 : 0 : || GET_MODE (x5) != E_V4HFmode
758 : 0 : || !register_operand (operands[1], E_V8HFmode))
759 : 0 : return -1;
760 : 0 : switch (GET_MODE (operands[0]))
761 : : {
762 : 0 : case E_V4SImode:
763 : 0 : if (pattern136 (x1,
764 : : E_V4SImode) != 0)
765 : : return -1;
766 : : return 15;
767 : :
768 : 0 : case E_V4DImode:
769 : 0 : if (pattern136 (x1,
770 : : E_V4DImode) != 0)
771 : : return -1;
772 : : return 16;
773 : :
774 : : default:
775 : : return -1;
776 : : }
777 : :
778 : 0 : case 2:
779 : 0 : x8 = XVECEXP (x6, 0, 0);
780 : 0 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
781 : : return -1;
782 : 0 : x9 = XVECEXP (x6, 0, 1);
783 : 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
784 : 0 : || !register_operand (operands[0], E_V2DImode)
785 : 0 : || GET_MODE (x1) != E_V2DImode
786 : 0 : || GET_MODE (x4) != E_V2DImode
787 : 0 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
788 : 0 : return -1;
789 : 0 : switch (GET_MODE (x5))
790 : : {
791 : 0 : case E_V2HFmode:
792 : 0 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
793 : : return -1;
794 : : return 17;
795 : :
796 : 0 : case E_V2SFmode:
797 : 0 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
798 : : return -1;
799 : : return 18;
800 : :
801 : : default:
802 : : return -1;
803 : : }
804 : :
805 : : default:
806 : : return -1;
807 : : }
808 : :
809 : : default:
810 : : return -1;
811 : : }
812 : : }
813 : :
814 : : int
815 : 4563 : pattern196 (rtx x1)
816 : : {
817 : 4563 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
818 : 4563 : int res ATTRIBUTE_UNUSED;
819 : 4563 : switch (GET_MODE (operands[0]))
820 : : {
821 : 1476 : case E_QImode:
822 : 1476 : if (!nonimmediate_operand (operands[0], E_QImode)
823 : 1476 : || GET_MODE (x1) != E_QImode
824 : 2952 : || !nonimmediate_operand (operands[1], E_QImode))
825 : 40 : return -1;
826 : : return 0;
827 : :
828 : 1264 : case E_HImode:
829 : 1264 : if (!nonimmediate_operand (operands[0], E_HImode)
830 : 1264 : || GET_MODE (x1) != E_HImode
831 : 2528 : || !nonimmediate_operand (operands[1], E_HImode))
832 : 0 : return -1;
833 : : return 1;
834 : :
835 : 1373 : case E_SImode:
836 : 1373 : if (!nonimmediate_operand (operands[0], E_SImode)
837 : 1373 : || GET_MODE (x1) != E_SImode
838 : 2746 : || !nonimmediate_operand (operands[1], E_SImode))
839 : 199 : return -1;
840 : : return 2;
841 : :
842 : 450 : case E_DImode:
843 : 450 : if (!nonimmediate_operand (operands[0], E_DImode)
844 : 450 : || GET_MODE (x1) != E_DImode
845 : 900 : || !nonimmediate_operand (operands[1], E_DImode))
846 : 131 : return -1;
847 : : return 3;
848 : :
849 : : default:
850 : : return -1;
851 : : }
852 : : }
853 : :
854 : : int
855 : 963811 : pattern202 (rtx x1, machine_mode i1)
856 : : {
857 : 963811 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
858 : 963811 : int res ATTRIBUTE_UNUSED;
859 : 963811 : if (!register_operand (operands[0], i1)
860 : 958436 : || GET_MODE (x1) != i1
861 : 958436 : || !register_operand (operands[1], i1)
862 : 1713766 : || !general_operand (operands[2], i1))
863 : 214097 : return -1;
864 : : return 0;
865 : : }
866 : :
867 : : int
868 : 492408 : pattern205 (rtx x1)
869 : : {
870 : 492408 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
871 : 492408 : rtx x2, x3, x4, x5, x6, x7, x8;
872 : 492408 : int res ATTRIBUTE_UNUSED;
873 : 492408 : x2 = XVECEXP (x1, 0, 0);
874 : 492408 : x3 = XEXP (x2, 0);
875 : 492408 : operands[0] = x3;
876 : 492408 : x4 = XEXP (x2, 1);
877 : 492408 : x5 = XEXP (x4, 0);
878 : 492408 : operands[1] = x5;
879 : 492408 : x6 = XEXP (x4, 1);
880 : 492408 : operands[2] = x6;
881 : 492408 : x7 = XVECEXP (x1, 0, 1);
882 : 492408 : switch (GET_CODE (x7))
883 : : {
884 : 452814 : case CLOBBER:
885 : 452814 : x8 = XEXP (x7, 0);
886 : 452814 : if (GET_CODE (x8) != REG
887 : 452814 : || REGNO (x8) != 17
888 : 905628 : || GET_MODE (x8) != E_CCmode)
889 : : return -1;
890 : 452814 : switch (GET_MODE (operands[0]))
891 : : {
892 : 312293 : case E_DImode:
893 : 312293 : return pattern202 (x4,
894 : 312293 : E_DImode); /* [-1, 0] */
895 : :
896 : 789 : case E_TImode:
897 : 789 : if (pattern202 (x4,
898 : : E_TImode) != 0)
899 : : return -1;
900 : : return 1;
901 : :
902 : 973 : case E_QImode:
903 : 973 : if (pattern202 (x4,
904 : : E_QImode) != 0)
905 : : return -1;
906 : : return 2;
907 : :
908 : 1399 : case E_HImode:
909 : 1399 : if (pattern202 (x4,
910 : : E_HImode) != 0)
911 : : return -1;
912 : : return 3;
913 : :
914 : 137360 : case E_SImode:
915 : 137360 : if (pattern202 (x4,
916 : : E_SImode) != 0)
917 : : return -1;
918 : : return 4;
919 : :
920 : : default:
921 : : return -1;
922 : : }
923 : :
924 : 0 : case UNSPEC:
925 : 0 : if (pattern204 (x1) != 0)
926 : : return -1;
927 : : return 5;
928 : :
929 : : default:
930 : : return -1;
931 : : }
932 : : }
933 : :
934 : : int
935 : 947 : pattern214 (rtx x1)
936 : : {
937 : 947 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
938 : 947 : rtx x2, x3, x4, x5, x6, x7, x8;
939 : 947 : int res ATTRIBUTE_UNUSED;
940 : 947 : x2 = XVECEXP (x1, 0, 0);
941 : 947 : x3 = XEXP (x2, 0);
942 : 947 : operands[0] = x3;
943 : 947 : x4 = XEXP (x2, 1);
944 : 947 : x5 = XEXP (x4, 0);
945 : 947 : operands[1] = x5;
946 : 947 : x6 = XEXP (x4, 1);
947 : 947 : operands[2] = x6;
948 : 947 : x7 = XVECEXP (x1, 0, 2);
949 : 947 : x8 = XEXP (x7, 0);
950 : 947 : operands[3] = x8;
951 : 947 : switch (GET_MODE (operands[0]))
952 : : {
953 : 880 : case E_DImode:
954 : 880 : if (!register_operand (operands[0], E_DImode)
955 : 860 : || GET_MODE (x4) != E_DImode
956 : 860 : || !register_operand (operands[1], E_DImode)
957 : 716 : || !const_1_to_31_operand (operands[2], E_QImode)
958 : 1596 : || !scratch_operand (operands[3], E_SImode))
959 : 164 : return -1;
960 : : return 0;
961 : :
962 : 67 : case E_TImode:
963 : 67 : if (!register_operand (operands[0], E_TImode)
964 : 67 : || GET_MODE (x4) != E_TImode
965 : 67 : || !register_operand (operands[1], E_TImode)
966 : 54 : || !const_1_to_63_operand (operands[2], E_QImode)
967 : 121 : || !scratch_operand (operands[3], E_DImode))
968 : 13 : return -1;
969 : : return 1;
970 : :
971 : : default:
972 : : return -1;
973 : : }
974 : : }
975 : :
976 : : int
977 : 4469 : pattern232 (rtx x1)
978 : : {
979 : 4469 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
980 : 4469 : rtx x2, x3;
981 : 4469 : int res ATTRIBUTE_UNUSED;
982 : 4469 : if (GET_MODE (x1) != E_V1TImode
983 : 4469 : || !register_operand (operands[0], E_V1TImode))
984 : 4438 : return -1;
985 : 31 : x2 = XEXP (x1, 0);
986 : 31 : operands[1] = x2;
987 : 31 : if (!register_operand (operands[1], E_V1TImode))
988 : : return -1;
989 : 31 : x3 = XEXP (x1, 1);
990 : 31 : operands[2] = x3;
991 : 31 : if (!const_0_to_255_operand (operands[2], E_SImode))
992 : : return -1;
993 : : return 0;
994 : : }
995 : :
996 : : int
997 : 711 : pattern239 (rtx x1, machine_mode i1)
998 : : {
999 : 711 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1000 : 711 : rtx x2, x3, x4;
1001 : 711 : int res ATTRIBUTE_UNUSED;
1002 : 711 : if (!register_operand (operands[0], i1)
1003 : 711 : || GET_MODE (x1) != i1)
1004 : : return -1;
1005 : 711 : x2 = XEXP (x1, 0);
1006 : 711 : operands[3] = x2;
1007 : 711 : if (!register_operand (operands[3], i1))
1008 : : return -1;
1009 : 624 : x3 = XEXP (x1, 1);
1010 : 624 : operands[1] = x3;
1011 : 624 : if (!register_operand (operands[1], i1))
1012 : : return -1;
1013 : 456 : x4 = XEXP (x1, 2);
1014 : 456 : operands[2] = x4;
1015 : 456 : if (!register_operand (operands[2], i1))
1016 : : return -1;
1017 : : return 0;
1018 : : }
1019 : :
1020 : : int
1021 : 455 : pattern250 (rtx x1, machine_mode i1)
1022 : : {
1023 : 455 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1024 : 455 : int res ATTRIBUTE_UNUSED;
1025 : 455 : if (!register_operand (operands[0], i1)
1026 : 455 : || GET_MODE (x1) != i1)
1027 : : return -1;
1028 : 437 : return pattern249 (); /* [-1, 2] */
1029 : : }
1030 : :
1031 : : int
1032 : 2337 : pattern253 (rtx x1, int *pnum_clobbers, machine_mode i1)
1033 : : {
1034 : 2337 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1035 : 2337 : int res ATTRIBUTE_UNUSED;
1036 : 2337 : if (pnum_clobbers == NULL
1037 : 2337 : || !register_operand (operands[0], i1)
1038 : 2249 : || GET_MODE (x1) != i1
1039 : 4586 : || !general_operand (operands[1], i1))
1040 : 516 : return -1;
1041 : : return 0;
1042 : : }
1043 : :
1044 : : int
1045 : 0 : pattern263 (rtx x1, machine_mode i1, machine_mode i2, int i3)
1046 : : {
1047 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1048 : 0 : rtx x2, x3, x4, x5, x6;
1049 : 0 : int res ATTRIBUTE_UNUSED;
1050 : 0 : x2 = XEXP (x1, 1);
1051 : 0 : x3 = XVECEXP (x2, 0, 0);
1052 : 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1053 : : return -1;
1054 : 0 : x4 = XVECEXP (x2, 0, 1);
1055 : 0 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3]
1056 : 0 : || !register_operand (operands[0], i2)
1057 : 0 : || GET_MODE (x1) != i2)
1058 : 0 : return -1;
1059 : 0 : x5 = XEXP (x1, 0);
1060 : 0 : x6 = XEXP (x5, 0);
1061 : 0 : operands[1] = x6;
1062 : 0 : if (!nonimmediate_operand (operands[1], i1))
1063 : : return -1;
1064 : : return 0;
1065 : : }
1066 : :
1067 : : int
1068 : 1062 : pattern271 (rtx x1, machine_mode i1)
1069 : : {
1070 : 1062 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1071 : 1062 : rtx x2;
1072 : 1062 : int res ATTRIBUTE_UNUSED;
1073 : 1062 : if (!register_operand (operands[0], i1)
1074 : 1062 : || GET_MODE (x1) != i1)
1075 : : return -1;
1076 : 1015 : x2 = XEXP (x1, 0);
1077 : 1015 : if (GET_MODE (x2) != i1
1078 : 1015 : || !register_operand (operands[3], i1))
1079 : 102 : return -1;
1080 : : return 0;
1081 : : }
1082 : :
1083 : : int
1084 : 717 : pattern276 (rtx x1, rtx_code i1)
1085 : : {
1086 : 717 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1087 : 717 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1088 : 717 : rtx x10, x11, x12;
1089 : 717 : int res ATTRIBUTE_UNUSED;
1090 : 717 : x2 = XEXP (x1, 0);
1091 : 717 : x3 = XEXP (x2, 1);
1092 : 717 : if (GET_MODE (x3) != E_QImode)
1093 : : return -1;
1094 : 658 : x4 = XEXP (x3, 1);
1095 : 658 : if (GET_CODE (x4) != CONST_INT)
1096 : : return -1;
1097 : 658 : x5 = XEXP (x1, 1);
1098 : 658 : if (GET_CODE (x5) != SUBREG
1099 : 658 : || maybe_ne (SUBREG_BYTE (x5), 0))
1100 : : return -1;
1101 : 591 : x6 = XEXP (x5, 0);
1102 : 591 : if (GET_CODE (x6) != i1)
1103 : : return -1;
1104 : 591 : x7 = XEXP (x6, 0);
1105 : 591 : if (GET_CODE (x7) != ZERO_EXTEND)
1106 : : return -1;
1107 : 591 : x8 = XEXP (x6, 1);
1108 : 591 : if (GET_CODE (x8) != MINUS
1109 : 591 : || GET_MODE (x8) != E_QImode)
1110 : : return -1;
1111 : 591 : x9 = XEXP (x8, 0);
1112 : 591 : if (GET_CODE (x9) != CONST_INT)
1113 : : return -1;
1114 : 591 : x10 = XEXP (x8, 1);
1115 : 591 : if (GET_CODE (x10) != AND
1116 : 591 : || GET_MODE (x10) != E_QImode)
1117 : : return -1;
1118 : 591 : x11 = XEXP (x10, 1);
1119 : 591 : if (GET_CODE (x11) != CONST_INT)
1120 : : return -1;
1121 : 591 : x12 = XEXP (x3, 0);
1122 : 591 : if (!nonmemory_operand (x12, E_QImode))
1123 : : return -1;
1124 : 587 : switch (XWINT (x4, 0))
1125 : : {
1126 : 578 : case 63L:
1127 : 578 : if (XWINT (x9, 0) != 64L
1128 : 578 : || XWINT (x11, 0) != 63L
1129 : 1156 : || pattern275 (x1,
1130 : : E_DImode,
1131 : : E_TImode) != 0)
1132 : 32 : return -1;
1133 : : return 0;
1134 : :
1135 : 6 : case 31L:
1136 : 6 : if (XWINT (x9, 0) != 32L
1137 : 6 : || XWINT (x11, 0) != 31L)
1138 : : return -1;
1139 : : return 1;
1140 : :
1141 : : default:
1142 : : return -1;
1143 : : }
1144 : : }
1145 : :
1146 : : int
1147 : 241 : pattern296 (rtx x1, machine_mode i1, machine_mode i2)
1148 : : {
1149 : 241 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1150 : 241 : rtx x2, x3, x4;
1151 : 241 : int res ATTRIBUTE_UNUSED;
1152 : 241 : if (!register_operand (operands[0], i2)
1153 : 241 : || GET_MODE (x1) != i2)
1154 : : return -1;
1155 : 217 : x2 = XEXP (x1, 0);
1156 : 217 : if (GET_MODE (x2) != i2)
1157 : : return -1;
1158 : 217 : x3 = XEXP (x2, 0);
1159 : 217 : if (GET_MODE (x3) != i1)
1160 : : return -1;
1161 : 217 : x4 = XEXP (x3, 0);
1162 : 217 : if (GET_MODE (x4) != i1
1163 : 217 : || !register_operand (operands[1], i2)
1164 : 406 : || !nonimmediate_operand (operands[2], i1))
1165 : 137 : return -1;
1166 : : return 0;
1167 : : }
1168 : :
1169 : : int
1170 : 1510 : pattern302 (rtx x1, rtx_code i1)
1171 : : {
1172 : 1510 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1173 : 1510 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1174 : 1510 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1175 : 1510 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1176 : 1510 : rtx x26, x27, x28;
1177 : 1510 : int res ATTRIBUTE_UNUSED;
1178 : 1510 : x2 = XEXP (x1, 0);
1179 : 1510 : x3 = XEXP (x2, 0);
1180 : 1510 : x4 = XEXP (x3, 0);
1181 : 1510 : if (GET_CODE (x4) != VEC_SELECT)
1182 : : return -1;
1183 : 1510 : x5 = XEXP (x4, 1);
1184 : 1510 : if (GET_CODE (x5) != PARALLEL)
1185 : : return -1;
1186 : 1510 : x6 = XEXP (x2, 1);
1187 : 1510 : if (GET_CODE (x6) != i1)
1188 : : return -1;
1189 : 1422 : x7 = XEXP (x6, 0);
1190 : 1422 : if (GET_CODE (x7) != VEC_SELECT)
1191 : : return -1;
1192 : 1422 : x8 = XEXP (x7, 1);
1193 : 1422 : if (GET_CODE (x8) != PARALLEL)
1194 : : return -1;
1195 : 1422 : x9 = XEXP (x4, 0);
1196 : 1422 : operands[1] = x9;
1197 : 1422 : x10 = XEXP (x7, 0);
1198 : 1422 : operands[2] = x10;
1199 : 1422 : x11 = XEXP (x1, 1);
1200 : 1422 : operands[3] = x11;
1201 : 1422 : x12 = XEXP (x1, 2);
1202 : 1422 : operands[4] = x12;
1203 : 1422 : if (!register_operand (operands[4], E_QImode))
1204 : : return -1;
1205 : 1324 : switch (XVECLEN (x5, 0))
1206 : : {
1207 : 494 : case 8:
1208 : 494 : x13 = XVECEXP (x5, 0, 0);
1209 : 494 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1210 : : return -1;
1211 : 494 : x14 = XVECEXP (x5, 0, 1);
1212 : 494 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1213 : : return -1;
1214 : 494 : x15 = XVECEXP (x5, 0, 2);
1215 : 494 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1216 : : return -1;
1217 : 494 : x16 = XVECEXP (x5, 0, 3);
1218 : 494 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1219 : : return -1;
1220 : 494 : x17 = XVECEXP (x5, 0, 4);
1221 : 494 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1222 : : return -1;
1223 : 494 : x18 = XVECEXP (x5, 0, 5);
1224 : 494 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1225 : : return -1;
1226 : 494 : x19 = XVECEXP (x5, 0, 6);
1227 : 494 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
1228 : : return -1;
1229 : 494 : x20 = XVECEXP (x5, 0, 7);
1230 : 494 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1231 : 494 : || XVECLEN (x8, 0) != 8)
1232 : : return -1;
1233 : 494 : x21 = XVECEXP (x8, 0, 0);
1234 : 494 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1235 : : return -1;
1236 : 494 : x22 = XVECEXP (x8, 0, 1);
1237 : 494 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1238 : : return -1;
1239 : 494 : x23 = XVECEXP (x8, 0, 2);
1240 : 494 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1241 : : return -1;
1242 : 494 : x24 = XVECEXP (x8, 0, 3);
1243 : 494 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1244 : : return -1;
1245 : 494 : x25 = XVECEXP (x8, 0, 4);
1246 : 494 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1247 : : return -1;
1248 : 494 : x26 = XVECEXP (x8, 0, 5);
1249 : 494 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1250 : : return -1;
1251 : 494 : x27 = XVECEXP (x8, 0, 6);
1252 : 494 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
1253 : : return -1;
1254 : 494 : x28 = XVECEXP (x8, 0, 7);
1255 : 494 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1256 : 494 : || pattern301 (x1,
1257 : : E_V8DImode,
1258 : : E_V16SImode,
1259 : : E_V8SImode) != 0)
1260 : 72 : return -1;
1261 : : return 0;
1262 : :
1263 : 452 : case 4:
1264 : 452 : x13 = XVECEXP (x5, 0, 0);
1265 : 452 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1266 : : return -1;
1267 : 452 : x14 = XVECEXP (x5, 0, 1);
1268 : 452 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1269 : : return -1;
1270 : 452 : x15 = XVECEXP (x5, 0, 2);
1271 : 452 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1272 : : return -1;
1273 : 452 : x16 = XVECEXP (x5, 0, 3);
1274 : 452 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1275 : 452 : || XVECLEN (x8, 0) != 4)
1276 : : return -1;
1277 : 452 : x21 = XVECEXP (x8, 0, 0);
1278 : 452 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1279 : : return -1;
1280 : 452 : x22 = XVECEXP (x8, 0, 1);
1281 : 452 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1282 : : return -1;
1283 : 452 : x23 = XVECEXP (x8, 0, 2);
1284 : 452 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1285 : : return -1;
1286 : 452 : x24 = XVECEXP (x8, 0, 3);
1287 : 452 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1288 : 452 : || pattern301 (x1,
1289 : : E_V4DImode,
1290 : : E_V8SImode,
1291 : : E_V4SImode) != 0)
1292 : 72 : return -1;
1293 : : return 1;
1294 : :
1295 : 378 : case 2:
1296 : 378 : x13 = XVECEXP (x5, 0, 0);
1297 : 378 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1298 : : return -1;
1299 : 378 : x14 = XVECEXP (x5, 0, 1);
1300 : 378 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
1301 : 378 : || XVECLEN (x8, 0) != 2)
1302 : : return -1;
1303 : 378 : x21 = XVECEXP (x8, 0, 0);
1304 : 378 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1305 : : return -1;
1306 : 378 : x22 = XVECEXP (x8, 0, 1);
1307 : 378 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
1308 : 378 : || !register_operand (operands[0], E_V2DImode)
1309 : 364 : || GET_MODE (x1) != E_V2DImode
1310 : 364 : || GET_MODE (x2) != E_V2DImode
1311 : 364 : || GET_MODE (x3) != E_V2DImode
1312 : 364 : || GET_MODE (x4) != E_V2SImode
1313 : 364 : || !vector_operand (operands[1], E_V4SImode)
1314 : 364 : || GET_MODE (x6) != E_V2DImode
1315 : 364 : || GET_MODE (x7) != E_V2SImode
1316 : 364 : || !vector_operand (operands[2], E_V4SImode)
1317 : 742 : || !nonimm_or_0_operand (operands[3], E_V2DImode))
1318 : 18 : return -1;
1319 : : return 2;
1320 : :
1321 : : default:
1322 : : return -1;
1323 : : }
1324 : : }
1325 : :
1326 : : int
1327 : 11836 : pattern338 (rtx x1)
1328 : : {
1329 : 11836 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1330 : 11836 : rtx x2, x3, x4, x5, x6, x7, x8;
1331 : 11836 : int res ATTRIBUTE_UNUSED;
1332 : 11836 : x2 = XVECEXP (x1, 0, 1);
1333 : 11836 : if (GET_CODE (x2) != CLOBBER)
1334 : : return -1;
1335 : 8166 : x3 = XEXP (x2, 0);
1336 : 8166 : if (GET_CODE (x3) != REG
1337 : 8166 : || REGNO (x3) != 17
1338 : 16332 : || GET_MODE (x3) != E_CCmode)
1339 : : return -1;
1340 : 8166 : x4 = XVECEXP (x1, 0, 0);
1341 : 8166 : x5 = XEXP (x4, 0);
1342 : 8166 : operands[0] = x5;
1343 : 8166 : x6 = XEXP (x4, 1);
1344 : 8166 : x7 = XEXP (x6, 0);
1345 : 8166 : x8 = XEXP (x7, 0);
1346 : 8166 : operands[1] = x8;
1347 : 8166 : return 0;
1348 : : }
1349 : :
1350 : : int
1351 : 781908 : pattern344 (rtx x1)
1352 : : {
1353 : 781908 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1354 : 781908 : rtx x2;
1355 : 781908 : int res ATTRIBUTE_UNUSED;
1356 : 781908 : if (GET_CODE (x1) != CLOBBER)
1357 : : return -1;
1358 : 659593 : x2 = XEXP (x1, 0);
1359 : 659593 : if (GET_CODE (x2) != REG
1360 : 659592 : || REGNO (x2) != 17
1361 : 1280911 : || GET_MODE (x2) != E_CCmode)
1362 : 38275 : return -1;
1363 : : return 0;
1364 : : }
1365 : :
1366 : : int
1367 : 39 : pattern346 (rtx x1, machine_mode i1, machine_mode i2)
1368 : : {
1369 : 39 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1370 : 39 : rtx x2, x3, x4, x5, x6;
1371 : 39 : int res ATTRIBUTE_UNUSED;
1372 : 39 : if (!register_operand (operands[0], i2)
1373 : 39 : || GET_MODE (x1) != i2)
1374 : : return -1;
1375 : 36 : x2 = XEXP (x1, 0);
1376 : 36 : if (GET_MODE (x2) != i2)
1377 : : return -1;
1378 : 36 : x3 = XEXP (x2, 0);
1379 : 36 : if (GET_MODE (x3) != i2)
1380 : : return -1;
1381 : 36 : x4 = XEXP (x3, 0);
1382 : 36 : if (GET_MODE (x4) != i2
1383 : 36 : || !nonimmediate_operand (operands[2], i1))
1384 : 0 : return -1;
1385 : 36 : x5 = XEXP (x2, 1);
1386 : 36 : if (GET_MODE (x5) != i2
1387 : 36 : || !nonimmediate_operand (operands[4], i1))
1388 : 0 : return -1;
1389 : 36 : x6 = XEXP (x1, 1);
1390 : 36 : if (GET_MODE (x6) != i2
1391 : 36 : || !nonimmediate_operand (operands[1], i1))
1392 : 10 : return -1;
1393 : : return 0;
1394 : : }
1395 : :
1396 : : int
1397 : 29248 : pattern353 (rtx x1)
1398 : : {
1399 : 29248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1400 : 29248 : rtx x2, x3, x4, x5, x6, x7;
1401 : 29248 : int res ATTRIBUTE_UNUSED;
1402 : 29248 : x2 = XVECEXP (x1, 0, 0);
1403 : 29248 : x3 = XEXP (x2, 1);
1404 : 29248 : x4 = XEXP (x3, 0);
1405 : 29248 : x5 = XEXP (x4, 1);
1406 : 29248 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1407 : : return -1;
1408 : 22946 : x6 = XVECEXP (x1, 0, 1);
1409 : 22946 : if (GET_CODE (x6) != CLOBBER)
1410 : : return -1;
1411 : 22077 : x7 = XEXP (x6, 0);
1412 : 22077 : if (GET_CODE (x7) != REG
1413 : 22077 : || REGNO (x7) != 17
1414 : 44154 : || GET_MODE (x7) != E_CCmode)
1415 : : return -1;
1416 : 22077 : return pattern352 (x2); /* [-1, 3] */
1417 : : }
1418 : :
1419 : : int
1420 : 166456 : pattern358 (rtx x1)
1421 : : {
1422 : 166456 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1423 : 166456 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1424 : 166456 : rtx x10;
1425 : 166456 : int res ATTRIBUTE_UNUSED;
1426 : 166456 : x2 = XVECEXP (x1, 0, 0);
1427 : 166456 : x3 = XEXP (x2, 1);
1428 : 166456 : x4 = XEXP (x3, 1);
1429 : 166456 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1430 : : return -1;
1431 : 46954 : x5 = XEXP (x2, 0);
1432 : 46954 : if (GET_CODE (x5) != REG
1433 : 46954 : || REGNO (x5) != 17)
1434 : : return -1;
1435 : 46954 : x6 = XEXP (x3, 0);
1436 : 46954 : x7 = XEXP (x6, 0);
1437 : 46954 : operands[1] = x7;
1438 : 46954 : x8 = XEXP (x6, 1);
1439 : 46954 : operands[2] = x8;
1440 : 46954 : x9 = XVECEXP (x1, 0, 1);
1441 : 46954 : switch (GET_CODE (x9))
1442 : : {
1443 : 41093 : case SET:
1444 : 41093 : x10 = XEXP (x9, 0);
1445 : 41093 : operands[0] = x10;
1446 : 41093 : return 0;
1447 : :
1448 : 5861 : case CLOBBER:
1449 : 5861 : x10 = XEXP (x9, 0);
1450 : 5861 : operands[0] = x10;
1451 : 5861 : switch (GET_MODE (x6))
1452 : : {
1453 : 131 : case E_QImode:
1454 : 131 : if (!nonimmediate_operand (operands[1], E_QImode)
1455 : 128 : || !const_1_to_31_operand (operands[2], E_QImode)
1456 : 259 : || !scratch_operand (operands[0], E_QImode))
1457 : 3 : return -1;
1458 : : return 1;
1459 : :
1460 : 244 : case E_HImode:
1461 : 244 : if (!nonimmediate_operand (operands[1], E_HImode)
1462 : 229 : || !const_1_to_31_operand (operands[2], E_QImode)
1463 : 473 : || !scratch_operand (operands[0], E_HImode))
1464 : 21 : return -1;
1465 : : return 2;
1466 : :
1467 : 156 : case E_SImode:
1468 : 156 : if (!nonimmediate_operand (operands[1], E_SImode)
1469 : 109 : || !const_1_to_31_operand (operands[2], E_QImode)
1470 : 265 : || !scratch_operand (operands[0], E_SImode))
1471 : 50 : return -1;
1472 : : return 3;
1473 : :
1474 : 5330 : case E_DImode:
1475 : 5330 : if (!nonimmediate_operand (operands[1], E_DImode)
1476 : 3841 : || !const_1_to_63_operand (operands[2], E_QImode)
1477 : 9171 : || !scratch_operand (operands[0], E_DImode))
1478 : 1494 : return -1;
1479 : : return 4;
1480 : :
1481 : : default:
1482 : : return -1;
1483 : : }
1484 : :
1485 : : default:
1486 : : return -1;
1487 : : }
1488 : : }
1489 : :
1490 : : int
1491 : 84072 : pattern384 (rtx x1, rtx_code i1)
1492 : : {
1493 : 84072 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1494 : 84072 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1495 : 84072 : rtx x10, x11, x12, x13, x14;
1496 : 84072 : int res ATTRIBUTE_UNUSED;
1497 : 84072 : x2 = XVECEXP (x1, 0, 1);
1498 : 84072 : if (GET_CODE (x2) != SET)
1499 : : return -1;
1500 : 84072 : x3 = XEXP (x2, 1);
1501 : 84072 : if (GET_CODE (x3) != i1)
1502 : : return -1;
1503 : 84072 : x4 = XVECEXP (x1, 0, 3);
1504 : 84072 : x5 = XEXP (x4, 0);
1505 : 84072 : if (GET_CODE (x5) != REG
1506 : 84072 : || REGNO (x5) != 17
1507 : 168144 : || GET_MODE (x5) != E_CCmode)
1508 : : return -1;
1509 : 84072 : x6 = XVECEXP (x1, 0, 0);
1510 : 84072 : x7 = XEXP (x6, 0);
1511 : 84072 : operands[0] = x7;
1512 : 84072 : x8 = XEXP (x6, 1);
1513 : 84072 : x9 = XEXP (x8, 0);
1514 : 84072 : operands[2] = x9;
1515 : 84072 : x10 = XEXP (x8, 1);
1516 : 84072 : operands[3] = x10;
1517 : 84072 : x11 = XEXP (x2, 0);
1518 : 84072 : operands[1] = x11;
1519 : 84072 : x12 = XEXP (x3, 0);
1520 : 84072 : if (!rtx_equal_p (x12, operands[2]))
1521 : : return -1;
1522 : 84072 : x13 = XEXP (x3, 1);
1523 : 84072 : if (!rtx_equal_p (x13, operands[3]))
1524 : : return -1;
1525 : 84072 : x14 = XVECEXP (x1, 0, 2);
1526 : 84072 : switch (GET_CODE (x14))
1527 : : {
1528 : 39 : case UNSPEC:
1529 : 39 : return pattern381 (x1); /* [-1, 1] */
1530 : :
1531 : 84033 : case USE:
1532 : 84033 : res = pattern383 (x1);
1533 : 84033 : if (res >= 0)
1534 : 84033 : return res + 2; /* [2, 4] */
1535 : : return -1;
1536 : :
1537 : : default:
1538 : : return -1;
1539 : : }
1540 : : }
1541 : :
1542 : : int
1543 : 22928590 : pattern402 (rtx x1, machine_mode i1)
1544 : : {
1545 : 22928590 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1546 : 22928590 : rtx x2, x3, x4, x5, x6, x7;
1547 : 22928590 : int res ATTRIBUTE_UNUSED;
1548 : 22928590 : if (!memory_operand (operands[3], i1))
1549 : : return -1;
1550 : 4687526 : operands[0] = x1;
1551 : 4687526 : if (!general_reg_operand (operands[0], i1))
1552 : : return -1;
1553 : 3167648 : x2 = PATTERN (peep2_next_insn (1));
1554 : 3167648 : if (GET_CODE (x2) != SET)
1555 : : return -1;
1556 : 2863846 : x3 = XEXP (x2, 1);
1557 : 2863846 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1558 : : return -1;
1559 : 149186 : x4 = XEXP (x2, 0);
1560 : 149186 : operands[1] = x4;
1561 : 149186 : if (!memory_operand (operands[1], i1))
1562 : : return -1;
1563 : 78844 : x5 = PATTERN (peep2_next_insn (2));
1564 : 78844 : if (GET_CODE (x5) != SET)
1565 : : return -1;
1566 : 76126 : x6 = XEXP (x5, 1);
1567 : 76126 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1568 : : return -1;
1569 : 43237 : x7 = XEXP (x5, 0);
1570 : 43237 : operands[2] = x7;
1571 : 43237 : if (!memory_operand (operands[2], i1))
1572 : : return -1;
1573 : : return 0;
1574 : : }
1575 : :
1576 : : int
1577 : 56 : pattern408 (rtx x1)
1578 : : {
1579 : 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1580 : 56 : rtx x2;
1581 : 56 : int res ATTRIBUTE_UNUSED;
1582 : 56 : if (!register_operand (operands[0], E_HImode)
1583 : 56 : || GET_MODE (x1) != E_HImode)
1584 : : return -1;
1585 : 56 : x2 = XVECEXP (x1, 0, 0);
1586 : 56 : switch (GET_MODE (x2))
1587 : : {
1588 : 28 : case E_V16QImode:
1589 : 28 : if (!vector_operand (operands[1], E_V16QImode)
1590 : 28 : || !vector_operand (operands[2], E_V16QImode)
1591 : 56 : || !const0_operand (operands[3], E_V16QImode))
1592 : 14 : return -1;
1593 : : return 0;
1594 : :
1595 : 28 : case E_V16HImode:
1596 : 28 : if (!vector_operand (operands[1], E_V16HImode)
1597 : 28 : || !vector_operand (operands[2], E_V16HImode)
1598 : 56 : || !const0_operand (operands[3], E_V16HImode))
1599 : 14 : return -1;
1600 : : return 1;
1601 : :
1602 : : default:
1603 : : return -1;
1604 : : }
1605 : : }
1606 : :
1607 : : int
1608 : 197705 : pattern420 (rtx x1)
1609 : : {
1610 : 197705 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1611 : 197705 : rtx x2, x3, x4;
1612 : 197705 : int res ATTRIBUTE_UNUSED;
1613 : 197705 : x2 = XEXP (x1, 0);
1614 : 197705 : x3 = XEXP (x2, 1);
1615 : 197705 : operands[3] = x3;
1616 : 197705 : x4 = XEXP (x1, 1);
1617 : 197705 : operands[4] = x4;
1618 : 197705 : switch (GET_MODE (operands[0]))
1619 : : {
1620 : 127 : case E_QImode:
1621 : 127 : return pattern419 (x1,
1622 : 127 : E_QImode); /* [-1, 0] */
1623 : :
1624 : 258 : case E_HImode:
1625 : 258 : if (pattern419 (x1,
1626 : : E_HImode) != 0)
1627 : : return -1;
1628 : : return 1;
1629 : :
1630 : : default:
1631 : : return -1;
1632 : : }
1633 : : }
1634 : :
1635 : : int
1636 : 44470 : pattern430 (rtx x1)
1637 : : {
1638 : 44470 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1639 : 44470 : rtx x2, x3, x4;
1640 : 44470 : int res ATTRIBUTE_UNUSED;
1641 : 44470 : x2 = XEXP (x1, 0);
1642 : 44470 : x3 = XEXP (x2, 0);
1643 : 44470 : operands[1] = x3;
1644 : 44470 : if (!nonimmediate_operand (operands[1], E_SImode))
1645 : : return -1;
1646 : 18047 : x4 = XEXP (x1, 1);
1647 : 18047 : switch (GET_CODE (x4))
1648 : : {
1649 : : case CONST_INT:
1650 : : case CONST_WIDE_INT:
1651 : : case CONST:
1652 : : case LABEL_REF:
1653 : : case SYMBOL_REF:
1654 : : return 0;
1655 : :
1656 : 0 : case ASHIFT:
1657 : 0 : if (GET_MODE (x4) != E_DImode
1658 : 0 : || !nonimmediate_operand (operands[0], E_DImode))
1659 : 0 : return -1;
1660 : 0 : res = pattern36 (x4,
1661 : : E_DImode,
1662 : : E_SImode);
1663 : 0 : if (res >= 0)
1664 : 0 : return res + 1; /* [1, 3] */
1665 : : return -1;
1666 : :
1667 : : default:
1668 : : return -1;
1669 : : }
1670 : : }
1671 : :
1672 : : int
1673 : 18607 : pattern440 (rtx x1)
1674 : : {
1675 : 18607 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1676 : 18607 : rtx x2, x3, x4;
1677 : 18607 : int res ATTRIBUTE_UNUSED;
1678 : 18607 : x2 = XEXP (x1, 1);
1679 : 18607 : x3 = XEXP (x2, 0);
1680 : 18607 : x4 = XEXP (x3, 0);
1681 : 18607 : operands[2] = x4;
1682 : 18607 : if (!int248_register_operand (operands[2], E_VOIDmode))
1683 : : return -1;
1684 : 15253 : return pattern439 (x1); /* [-1, 1] */
1685 : : }
1686 : :
1687 : : int
1688 : 108 : pattern446 (rtx x1)
1689 : : {
1690 : 108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1691 : 108 : rtx x2, x3, x4, x5, x6;
1692 : 108 : int res ATTRIBUTE_UNUSED;
1693 : 108 : x2 = XVECEXP (x1, 0, 0);
1694 : 108 : x3 = XEXP (x2, 0);
1695 : 108 : operands[1] = x3;
1696 : 108 : x4 = XEXP (x2, 1);
1697 : 108 : operands[2] = x4;
1698 : 108 : x5 = XVECEXP (x1, 0, 1);
1699 : 108 : operands[3] = x5;
1700 : 108 : x6 = XVECEXP (x1, 0, 2);
1701 : 108 : operands[4] = x6;
1702 : 108 : if (!const_0_to_7_operand (operands[4], E_SImode))
1703 : : return -1;
1704 : 108 : switch (GET_MODE (operands[0]))
1705 : : {
1706 : 22 : case E_DImode:
1707 : 22 : return pattern409 (x1,
1708 : : E_V64QImode,
1709 : 22 : E_DImode); /* [-1, 0] */
1710 : :
1711 : 44 : case E_SImode:
1712 : 44 : res = pattern445 (x1);
1713 : 44 : if (res >= 0)
1714 : 16 : return res + 1; /* [1, 2] */
1715 : : return -1;
1716 : :
1717 : : default:
1718 : : return -1;
1719 : : }
1720 : : }
1721 : :
1722 : : int
1723 : 1370 : pattern454 (rtx x1)
1724 : : {
1725 : 1370 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1726 : 1370 : rtx x2, x3, x4, x5, x6;
1727 : 1370 : int res ATTRIBUTE_UNUSED;
1728 : 1370 : x2 = XEXP (x1, 0);
1729 : 1370 : x3 = XVECEXP (x2, 0, 0);
1730 : 1370 : operands[1] = x3;
1731 : 1370 : x4 = XVECEXP (x2, 0, 1);
1732 : 1370 : operands[2] = x4;
1733 : 1370 : x5 = XEXP (x1, 1);
1734 : 1370 : operands[3] = x5;
1735 : 1370 : x6 = XEXP (x1, 2);
1736 : 1370 : operands[4] = x6;
1737 : 1370 : switch (GET_MODE (operands[0]))
1738 : : {
1739 : 472 : case E_V64QImode:
1740 : 472 : return pattern447 (x1,
1741 : : E_V64QImode,
1742 : 472 : E_DImode); /* [-1, 0] */
1743 : :
1744 : 462 : case E_V32QImode:
1745 : 462 : if (pattern447 (x1,
1746 : : E_V32QImode,
1747 : : E_SImode) != 0)
1748 : : return -1;
1749 : : return 1;
1750 : :
1751 : 436 : case E_V16QImode:
1752 : 436 : if (pattern447 (x1,
1753 : : E_V16QImode,
1754 : : E_HImode) != 0)
1755 : : return -1;
1756 : : return 2;
1757 : :
1758 : : default:
1759 : : return -1;
1760 : : }
1761 : : }
1762 : :
1763 : : int
1764 : 5331 : pattern464 (rtx x1, machine_mode i1, machine_mode i2)
1765 : : {
1766 : 5331 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1767 : 5331 : rtx x2;
1768 : 5331 : int res ATTRIBUTE_UNUSED;
1769 : 5331 : if (!register_operand (operands[0], i1)
1770 : 5331 : || GET_MODE (x1) != i1)
1771 : : return -1;
1772 : 5103 : x2 = XEXP (x1, 0);
1773 : 5103 : if (GET_MODE (x2) != i1
1774 : 5103 : || !register_operand (operands[1], i1)
1775 : 5086 : || !vector_operand (operands[2], i1)
1776 : 5042 : || !nonimm_or_0_operand (operands[4], i1)
1777 : 10038 : || !register_operand (operands[5], i2))
1778 : 238 : return -1;
1779 : : return 0;
1780 : : }
1781 : :
1782 : : int
1783 : 6538 : pattern471 (rtx x1, machine_mode i1, machine_mode i2)
1784 : : {
1785 : 6538 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1786 : 6538 : rtx x2;
1787 : 6538 : int res ATTRIBUTE_UNUSED;
1788 : 6538 : if (!register_operand (operands[0], i1)
1789 : 6538 : || GET_MODE (x1) != i1)
1790 : : return -1;
1791 : 6393 : x2 = XEXP (x1, 0);
1792 : 6393 : if (GET_MODE (x2) != i1
1793 : 6393 : || !register_operand (operands[1], i1)
1794 : 6381 : || !register_operand (operands[2], i1)
1795 : 6381 : || !nonimmediate_operand (operands[3], i1)
1796 : 12774 : || !register_operand (operands[4], i2))
1797 : 158 : return -1;
1798 : : return 0;
1799 : : }
1800 : :
1801 : : int
1802 : 640 : pattern480 (rtx x1, machine_mode i1)
1803 : : {
1804 : 640 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1805 : 640 : rtx x2;
1806 : 640 : int res ATTRIBUTE_UNUSED;
1807 : 640 : if (!register_operand (operands[0], i1)
1808 : 640 : || GET_MODE (x1) != i1)
1809 : : return -1;
1810 : 596 : x2 = XVECEXP (x1, 0, 0);
1811 : 596 : if (GET_MODE (x2) != i1
1812 : 596 : || !register_operand (operands[1], i1)
1813 : 1156 : || !register_operand (operands[2], i1))
1814 : 62 : return -1;
1815 : : return 0;
1816 : : }
1817 : :
1818 : : int
1819 : 485 : pattern481 (rtx x1)
1820 : : {
1821 : 485 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1822 : 485 : rtx x2, x3, x4, x5;
1823 : 485 : int res ATTRIBUTE_UNUSED;
1824 : 485 : x2 = XVECEXP (x1, 0, 0);
1825 : 485 : x3 = XEXP (x2, 0);
1826 : 485 : operands[1] = x3;
1827 : 485 : x4 = XEXP (x2, 1);
1828 : 485 : operands[2] = x4;
1829 : 485 : x5 = XVECEXP (x1, 0, 1);
1830 : 485 : operands[3] = x5;
1831 : 485 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
1832 : : return -1;
1833 : 485 : switch (GET_MODE (operands[0]))
1834 : : {
1835 : 165 : case E_V32HFmode:
1836 : 165 : return pattern480 (x1,
1837 : 165 : E_V32HFmode); /* [-1, 0] */
1838 : :
1839 : 0 : case E_V16HFmode:
1840 : 0 : if (pattern480 (x1,
1841 : : E_V16HFmode) != 0)
1842 : : return -1;
1843 : : return 1;
1844 : :
1845 : 0 : case E_V8HFmode:
1846 : 0 : if (pattern480 (x1,
1847 : : E_V8HFmode) != 0)
1848 : : return -1;
1849 : : return 2;
1850 : :
1851 : 170 : case E_V16SFmode:
1852 : 170 : if (pattern480 (x1,
1853 : : E_V16SFmode) != 0)
1854 : : return -1;
1855 : : return 3;
1856 : :
1857 : 0 : case E_V8SFmode:
1858 : 0 : if (pattern480 (x1,
1859 : : E_V8SFmode) != 0)
1860 : : return -1;
1861 : : return 4;
1862 : :
1863 : 0 : case E_V4SFmode:
1864 : 0 : if (pattern480 (x1,
1865 : : E_V4SFmode) != 0)
1866 : : return -1;
1867 : : return 5;
1868 : :
1869 : 150 : case E_V8DFmode:
1870 : 150 : if (pattern480 (x1,
1871 : : E_V8DFmode) != 0)
1872 : : return -1;
1873 : : return 6;
1874 : :
1875 : 0 : case E_V4DFmode:
1876 : 0 : if (pattern480 (x1,
1877 : : E_V4DFmode) != 0)
1878 : : return -1;
1879 : : return 7;
1880 : :
1881 : 0 : case E_V2DFmode:
1882 : 0 : if (pattern480 (x1,
1883 : : E_V2DFmode) != 0)
1884 : : return -1;
1885 : : return 8;
1886 : :
1887 : : default:
1888 : : return -1;
1889 : : }
1890 : : }
1891 : :
1892 : : int
1893 : 1796 : pattern492 (rtx x1)
1894 : : {
1895 : 1796 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1896 : 1796 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1897 : 1796 : rtx x10, x11, x12, x13;
1898 : 1796 : int res ATTRIBUTE_UNUSED;
1899 : 1796 : x2 = XEXP (x1, 0);
1900 : 1796 : x3 = XEXP (x2, 0);
1901 : 1796 : x4 = XEXP (x3, 0);
1902 : 1796 : operands[1] = x4;
1903 : 1796 : x5 = XEXP (x1, 1);
1904 : 1796 : operands[4] = x5;
1905 : 1796 : x6 = XEXP (x2, 1);
1906 : 1796 : switch (GET_CODE (x6))
1907 : : {
1908 : 1292 : case VEC_SELECT:
1909 : 1292 : x7 = XEXP (x6, 1);
1910 : 1292 : if (GET_CODE (x7) != PARALLEL)
1911 : : return -1;
1912 : 1292 : x8 = XEXP (x6, 0);
1913 : 1292 : operands[2] = x8;
1914 : 1292 : x9 = XEXP (x2, 2);
1915 : 1292 : operands[3] = x9;
1916 : 1292 : switch (XVECLEN (x7, 0))
1917 : : {
1918 : 628 : case 4:
1919 : 628 : x10 = XVECEXP (x7, 0, 0);
1920 : 628 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1921 : : return -1;
1922 : 628 : x11 = XVECEXP (x7, 0, 1);
1923 : 628 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1924 : : return -1;
1925 : 628 : x12 = XVECEXP (x7, 0, 2);
1926 : 628 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1927 : : return -1;
1928 : 628 : x13 = XVECEXP (x7, 0, 3);
1929 : 628 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
1930 : 628 : || !register_operand (operands[0], E_V8HFmode)
1931 : 612 : || GET_MODE (x1) != E_V8HFmode
1932 : 612 : || GET_MODE (x2) != E_V4HFmode
1933 : 612 : || GET_MODE (x3) != E_V4HFmode
1934 : 612 : || GET_MODE (x6) != E_V4HFmode
1935 : 1240 : || !nonimm_or_0_operand (operands[2], E_V8HFmode))
1936 : 20 : return -1;
1937 : 608 : return pattern487 (); /* [-1, 1] */
1938 : :
1939 : 664 : case 2:
1940 : 664 : res = pattern489 (x1,
1941 : : E_V2DImode);
1942 : 664 : if (res >= 0)
1943 : 646 : return res + 2; /* [2, 3] */
1944 : : return -1;
1945 : :
1946 : : default:
1947 : : return -1;
1948 : : }
1949 : :
1950 : 504 : case CONST_INT:
1951 : 504 : case CONST_DOUBLE:
1952 : 504 : case CONST_VECTOR:
1953 : 504 : operands[3] = x6;
1954 : 504 : x9 = XEXP (x2, 2);
1955 : 504 : operands[2] = x9;
1956 : 504 : switch (GET_MODE (operands[0]))
1957 : : {
1958 : 378 : case E_V8HFmode:
1959 : 378 : if (!register_operand (operands[0], E_V8HFmode)
1960 : 378 : || GET_MODE (x1) != E_V8HFmode)
1961 : : return -1;
1962 : 360 : switch (GET_MODE (x2))
1963 : : {
1964 : 240 : case E_V4HFmode:
1965 : 240 : if (GET_MODE (x3) != E_V4HFmode
1966 : 240 : || !const0_operand (operands[3], E_V4HFmode))
1967 : 0 : return -1;
1968 : 240 : res = pattern487 ();
1969 : 240 : if (res >= 0)
1970 : 240 : return res + 4; /* [4, 5] */
1971 : : return -1;
1972 : :
1973 : 120 : case E_V2HFmode:
1974 : 120 : if (pattern490 (x3,
1975 : : E_V2DImode) != 0)
1976 : : return -1;
1977 : : return 6;
1978 : :
1979 : : default:
1980 : : return -1;
1981 : : }
1982 : :
1983 : 126 : case E_V4SFmode:
1984 : 126 : if (pattern491 (x1,
1985 : : E_V2DImode) != 0)
1986 : : return -1;
1987 : : return 7;
1988 : :
1989 : : default:
1990 : : return -1;
1991 : : }
1992 : :
1993 : : default:
1994 : : return -1;
1995 : : }
1996 : : }
1997 : :
1998 : : int
1999 : 79857 : pattern518 (rtx x1)
2000 : : {
2001 : 79857 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2002 : 79857 : rtx x2, x3, x4;
2003 : 79857 : int res ATTRIBUTE_UNUSED;
2004 : 79857 : x2 = XEXP (x1, 1);
2005 : 79857 : x3 = XEXP (x2, 0);
2006 : 79857 : operands[3] = x3;
2007 : 79857 : x4 = XEXP (x2, 1);
2008 : 79857 : operands[4] = x4;
2009 : 79857 : switch (GET_MODE (operands[0]))
2010 : : {
2011 : 0 : case E_V64QImode:
2012 : 0 : return pattern517 (x1,
2013 : 0 : E_V64QImode); /* [-1, 0] */
2014 : :
2015 : 0 : case E_V32QImode:
2016 : 0 : if (pattern517 (x1,
2017 : : E_V32QImode) != 0)
2018 : : return -1;
2019 : : return 1;
2020 : :
2021 : 548 : case E_V16QImode:
2022 : 548 : if (pattern517 (x1,
2023 : : E_V16QImode) != 0)
2024 : : return -1;
2025 : : return 2;
2026 : :
2027 : 0 : case E_V32HImode:
2028 : 0 : if (pattern517 (x1,
2029 : : E_V32HImode) != 0)
2030 : : return -1;
2031 : : return 3;
2032 : :
2033 : 0 : case E_V16HImode:
2034 : 0 : if (pattern517 (x1,
2035 : : E_V16HImode) != 0)
2036 : : return -1;
2037 : : return 4;
2038 : :
2039 : 476 : case E_V8HImode:
2040 : 476 : if (pattern517 (x1,
2041 : : E_V8HImode) != 0)
2042 : : return -1;
2043 : : return 5;
2044 : :
2045 : 0 : case E_V16SImode:
2046 : 0 : if (pattern517 (x1,
2047 : : E_V16SImode) != 0)
2048 : : return -1;
2049 : : return 6;
2050 : :
2051 : 6 : case E_V8SImode:
2052 : 6 : if (pattern517 (x1,
2053 : : E_V8SImode) != 0)
2054 : : return -1;
2055 : : return 7;
2056 : :
2057 : 4424 : case E_V4SImode:
2058 : 4424 : if (pattern517 (x1,
2059 : : E_V4SImode) != 0)
2060 : : return -1;
2061 : : return 8;
2062 : :
2063 : 0 : case E_V8DImode:
2064 : 0 : if (pattern517 (x1,
2065 : : E_V8DImode) != 0)
2066 : : return -1;
2067 : : return 9;
2068 : :
2069 : 12 : case E_V4DImode:
2070 : 12 : if (pattern517 (x1,
2071 : : E_V4DImode) != 0)
2072 : : return -1;
2073 : : return 10;
2074 : :
2075 : 252 : case E_V2DImode:
2076 : 252 : if (pattern517 (x1,
2077 : : E_V2DImode) != 0)
2078 : : return -1;
2079 : : return 11;
2080 : :
2081 : : default:
2082 : : return -1;
2083 : : }
2084 : : }
2085 : :
2086 : : int
2087 : 11398 : pattern527 (rtx x1, machine_mode i1)
2088 : : {
2089 : 11398 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2090 : 11398 : rtx x2;
2091 : 11398 : int res ATTRIBUTE_UNUSED;
2092 : 11398 : if (!register_operand (operands[0], i1)
2093 : 11398 : || GET_MODE (x1) != i1)
2094 : : return -1;
2095 : 11140 : x2 = XEXP (x1, 0);
2096 : 11140 : switch (GET_MODE (x2))
2097 : : {
2098 : 509 : case E_V4QImode:
2099 : 509 : if (!register_operand (operands[1], E_V16QImode))
2100 : : return -1;
2101 : : return 0;
2102 : :
2103 : 9759 : case E_V4HImode:
2104 : 9759 : if (!register_operand (operands[1], E_V8HImode))
2105 : : return -1;
2106 : : return 1;
2107 : :
2108 : : default:
2109 : : return -1;
2110 : : }
2111 : : }
2112 : :
2113 : : int
2114 : 13 : pattern529 (rtx x1)
2115 : : {
2116 : 13 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2117 : 13 : rtx x2, x3, x4, x5, x6;
2118 : 13 : int res ATTRIBUTE_UNUSED;
2119 : 13 : x2 = XVECEXP (x1, 0, 0);
2120 : 13 : x3 = XEXP (x2, 1);
2121 : 13 : if (GET_MODE (x3) != E_DImode)
2122 : : return -1;
2123 : 13 : x4 = XVECEXP (x1, 0, 1);
2124 : 13 : if (GET_CODE (x4) != SET)
2125 : : return -1;
2126 : 13 : x5 = XEXP (x4, 1);
2127 : 13 : if (GET_CODE (x5) != UNSPEC
2128 : 13 : || XVECLEN (x5, 0) != 1
2129 : 13 : || XINT (x5, 1) != 108
2130 : 13 : || GET_MODE (x5) != E_DImode)
2131 : : return -1;
2132 : 13 : x6 = XVECEXP (x5, 0, 0);
2133 : 13 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2134 : 0 : return -1;
2135 : : return 0;
2136 : : }
2137 : :
2138 : : int
2139 : 46268 : pattern535 (rtx x1)
2140 : : {
2141 : 46268 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2142 : 46268 : int res ATTRIBUTE_UNUSED;
2143 : 46268 : switch (GET_MODE (operands[0]))
2144 : : {
2145 : 13108 : case E_HImode:
2146 : 13108 : if (!nonimmediate_operand (operands[0], E_HImode)
2147 : 13108 : || GET_MODE (x1) != E_HImode)
2148 : : return -1;
2149 : : return 0;
2150 : :
2151 : 10423 : case E_SImode:
2152 : 10423 : if (!nonimmediate_operand (operands[0], E_SImode)
2153 : 10423 : || GET_MODE (x1) != E_SImode)
2154 : : return -1;
2155 : : return 1;
2156 : :
2157 : 22737 : case E_DImode:
2158 : 22737 : if (!nonimmediate_operand (operands[0], E_DImode)
2159 : 22737 : || GET_MODE (x1) != E_DImode)
2160 : : return -1;
2161 : : return 2;
2162 : :
2163 : : default:
2164 : : return -1;
2165 : : }
2166 : : }
2167 : :
2168 : : int
2169 : 33 : pattern540 (rtx x1, int *pnum_clobbers)
2170 : : {
2171 : 33 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2172 : 33 : rtx x2, x3, x4, x5, x6, x7;
2173 : 33 : int res ATTRIBUTE_UNUSED;
2174 : 33 : x2 = XVECEXP (x1, 0, 0);
2175 : 33 : x3 = XEXP (x2, 1);
2176 : 33 : x4 = XEXP (x3, 0);
2177 : 33 : x5 = XEXP (x4, 0);
2178 : 33 : operands[1] = x5;
2179 : 33 : x6 = XVECEXP (x1, 0, 1);
2180 : 33 : switch (GET_CODE (x6))
2181 : : {
2182 : 33 : case CLOBBER:
2183 : 33 : x7 = XEXP (x6, 0);
2184 : 33 : if (GET_CODE (x7) != REG
2185 : 33 : || REGNO (x7) != 17
2186 : 66 : || GET_MODE (x7) != E_CCmode)
2187 : 0 : return -1;
2188 : : return 0;
2189 : :
2190 : 0 : case UNSPEC:
2191 : 0 : if (pnum_clobbers == NULL
2192 : 0 : || XVECLEN (x6, 0) != 1
2193 : 0 : || XINT (x6, 1) != 39)
2194 : 0 : return -1;
2195 : : return 1;
2196 : :
2197 : : default:
2198 : : return -1;
2199 : : }
2200 : : }
2201 : :
2202 : : int
2203 : 1229201 : pattern549 (rtx x1, machine_mode i1)
2204 : : {
2205 : 1229201 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2206 : 1229201 : int res ATTRIBUTE_UNUSED;
2207 : 1229201 : if (!nonimmediate_operand (operands[0], i1)
2208 : 1229189 : || GET_MODE (x1) != i1
2209 : 1229189 : || !nonimmediate_operand (operands[1], i1)
2210 : 2450014 : || !x86_64_hilo_general_operand (operands[2], i1))
2211 : 32245 : return -1;
2212 : : return 0;
2213 : : }
2214 : :
2215 : : int
2216 : 8244 : pattern553 (rtx x1, machine_mode i1)
2217 : : {
2218 : 8244 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2219 : 8244 : int res ATTRIBUTE_UNUSED;
2220 : 8244 : if (!register_operand (operands[0], i1)
2221 : 8210 : || GET_MODE (x1) != i1
2222 : 8210 : || !register_operand (operands[1], i1)
2223 : 16011 : || !register_operand (operands[2], i1))
2224 : 2262 : return -1;
2225 : : return 0;
2226 : : }
2227 : :
2228 : : int
2229 : 638 : pattern559 (rtx x1)
2230 : : {
2231 : 638 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2232 : 638 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2233 : 638 : int res ATTRIBUTE_UNUSED;
2234 : 638 : x2 = XVECEXP (x1, 0, 0);
2235 : 638 : x3 = XEXP (x2, 0);
2236 : 638 : operands[0] = x3;
2237 : 638 : x4 = XEXP (x2, 1);
2238 : 638 : x5 = XEXP (x4, 0);
2239 : 638 : operands[1] = x5;
2240 : 638 : if (!nonimmediate_operand (operands[1], E_SImode))
2241 : : return -1;
2242 : 605 : x6 = XVECEXP (x1, 0, 1);
2243 : 605 : x7 = XEXP (x6, 0);
2244 : 605 : operands[2] = x7;
2245 : 605 : if (!memory_operand (operands[2], E_DImode))
2246 : : return -1;
2247 : 605 : x8 = XVECEXP (x1, 0, 2);
2248 : 605 : x9 = XEXP (x8, 0);
2249 : 605 : operands[3] = x9;
2250 : 605 : if (!scratch_operand (operands[3], E_DImode))
2251 : : return -1;
2252 : 604 : return pattern378 (x4); /* [-1, 2] */
2253 : : }
2254 : :
2255 : : int
2256 : 347 : pattern567 (rtx x1)
2257 : : {
2258 : 347 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2259 : 347 : rtx x2, x3, x4, x5, x6;
2260 : 347 : int res ATTRIBUTE_UNUSED;
2261 : 347 : x2 = XEXP (x1, 1);
2262 : 347 : if (GET_MODE (x2) != E_QImode)
2263 : : return -1;
2264 : 347 : switch (GET_CODE (x2))
2265 : : {
2266 : 311 : case SUBREG:
2267 : 311 : if (maybe_ne (SUBREG_BYTE (x2), 0))
2268 : : return -1;
2269 : 311 : x3 = XEXP (x2, 0);
2270 : 311 : switch (GET_CODE (x3))
2271 : : {
2272 : 100 : case AND:
2273 : 100 : operands[4] = x3;
2274 : 100 : if (!and_operator (operands[4], E_VOIDmode))
2275 : : return -1;
2276 : 100 : return pattern565 (x1); /* [-1, 3] */
2277 : :
2278 : 0 : case PLUS:
2279 : 0 : res = pattern565 (x1);
2280 : 0 : if (res >= 0)
2281 : 0 : return res + 4; /* [4, 7] */
2282 : : return -1;
2283 : :
2284 : 0 : case MINUS:
2285 : 0 : x4 = XEXP (x3, 0);
2286 : 0 : operands[3] = x4;
2287 : 0 : if (!const_int_operand (operands[3], E_VOIDmode))
2288 : : return -1;
2289 : 0 : x5 = XEXP (x3, 1);
2290 : 0 : operands[2] = x5;
2291 : 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
2292 : : return -1;
2293 : 0 : res = pattern564 (x1);
2294 : 0 : if (res >= 0)
2295 : 0 : return res + 8; /* [8, 11] */
2296 : : return -1;
2297 : :
2298 : : default:
2299 : : return -1;
2300 : : }
2301 : :
2302 : 7 : case AND:
2303 : 7 : res = pattern566 (x1);
2304 : 7 : if (res >= 0)
2305 : 4 : return res + 12; /* [12, 15] */
2306 : : return -1;
2307 : :
2308 : 11 : case PLUS:
2309 : 11 : res = pattern566 (x1);
2310 : 11 : if (res >= 0)
2311 : 11 : return res + 16; /* [16, 19] */
2312 : : return -1;
2313 : :
2314 : 8 : case MINUS:
2315 : 8 : x3 = XEXP (x2, 0);
2316 : 8 : operands[3] = x3;
2317 : 8 : if (!const_int_operand (operands[3], E_QImode))
2318 : : return -1;
2319 : 4 : x6 = XEXP (x2, 1);
2320 : 4 : operands[2] = x6;
2321 : 4 : if (!register_operand (operands[2], E_QImode))
2322 : : return -1;
2323 : 4 : res = pattern564 (x1);
2324 : 4 : if (res >= 0)
2325 : 4 : return res + 20; /* [20, 23] */
2326 : : return -1;
2327 : :
2328 : : default:
2329 : : return -1;
2330 : : }
2331 : : }
2332 : :
2333 : : int
2334 : 64 : pattern584 (rtx x1)
2335 : : {
2336 : 64 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2337 : 64 : rtx x2, x3, x4, x5;
2338 : 64 : int res ATTRIBUTE_UNUSED;
2339 : 64 : x2 = XEXP (x1, 0);
2340 : 64 : x3 = XEXP (x2, 0);
2341 : 64 : if (GET_CODE (x3) != NOT)
2342 : : return -1;
2343 : 8 : x4 = XEXP (x3, 0);
2344 : 8 : operands[1] = x4;
2345 : 8 : x5 = XEXP (x1, 1);
2346 : 8 : operands[2] = x5;
2347 : 8 : switch (GET_MODE (operands[0]))
2348 : : {
2349 : 2 : case E_V16SImode:
2350 : 2 : return pattern583 (x1,
2351 : : E_V16SImode,
2352 : 2 : E_SImode); /* [-1, 0] */
2353 : :
2354 : 2 : case E_V8DImode:
2355 : 2 : if (pattern583 (x1,
2356 : : E_V8DImode,
2357 : : E_DImode) != 0)
2358 : : return -1;
2359 : : return 1;
2360 : :
2361 : 2 : case E_V64QImode:
2362 : 2 : if (pattern583 (x1,
2363 : : E_V64QImode,
2364 : : E_QImode) != 0)
2365 : : return -1;
2366 : : return 2;
2367 : :
2368 : 0 : case E_V32QImode:
2369 : 0 : if (pattern583 (x1,
2370 : : E_V32QImode,
2371 : : E_QImode) != 0)
2372 : : return -1;
2373 : : return 3;
2374 : :
2375 : 0 : case E_V16QImode:
2376 : 0 : if (pattern583 (x1,
2377 : : E_V16QImode,
2378 : : E_QImode) != 0)
2379 : : return -1;
2380 : : return 4;
2381 : :
2382 : 2 : case E_V32HImode:
2383 : 2 : if (pattern583 (x1,
2384 : : E_V32HImode,
2385 : : E_HImode) != 0)
2386 : : return -1;
2387 : : return 5;
2388 : :
2389 : 0 : case E_V16HImode:
2390 : 0 : if (pattern583 (x1,
2391 : : E_V16HImode,
2392 : : E_HImode) != 0)
2393 : : return -1;
2394 : : return 6;
2395 : :
2396 : 0 : case E_V8HImode:
2397 : 0 : if (pattern583 (x1,
2398 : : E_V8HImode,
2399 : : E_HImode) != 0)
2400 : : return -1;
2401 : : return 7;
2402 : :
2403 : 0 : case E_V8SImode:
2404 : 0 : if (pattern583 (x1,
2405 : : E_V8SImode,
2406 : : E_SImode) != 0)
2407 : : return -1;
2408 : : return 8;
2409 : :
2410 : 0 : case E_V4SImode:
2411 : 0 : if (pattern583 (x1,
2412 : : E_V4SImode,
2413 : : E_SImode) != 0)
2414 : : return -1;
2415 : : return 9;
2416 : :
2417 : 0 : case E_V4DImode:
2418 : 0 : if (pattern583 (x1,
2419 : : E_V4DImode,
2420 : : E_DImode) != 0)
2421 : : return -1;
2422 : : return 10;
2423 : :
2424 : 0 : case E_V2DImode:
2425 : 0 : if (pattern583 (x1,
2426 : : E_V2DImode,
2427 : : E_DImode) != 0)
2428 : : return -1;
2429 : : return 11;
2430 : :
2431 : : default:
2432 : : return -1;
2433 : : }
2434 : : }
2435 : :
2436 : : int
2437 : 587414 : pattern607 (rtx x1, machine_mode i1)
2438 : : {
2439 : 587414 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2440 : 587414 : int res ATTRIBUTE_UNUSED;
2441 : 587414 : if (!register_operand (operands[0], i1)
2442 : 562111 : || GET_MODE (x1) != i1
2443 : 562111 : || !nonimmediate_operand (operands[1], i1)
2444 : 1124337 : || !x86_64_general_operand (operands[2], i1))
2445 : 183904 : return -1;
2446 : : return 0;
2447 : : }
2448 : :
2449 : : int
2450 : 658 : pattern613 (rtx x1, machine_mode i1)
2451 : : {
2452 : 658 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2453 : 658 : rtx x2;
2454 : 658 : int res ATTRIBUTE_UNUSED;
2455 : 658 : if (!memory_operand (operands[0], i1)
2456 : 658 : || GET_MODE (x1) != i1)
2457 : : return -1;
2458 : 626 : x2 = XVECEXP (x1, 0, 0);
2459 : 626 : if (GET_MODE (x2) != i1
2460 : 626 : || !register_operand (operands[1], i1))
2461 : 23 : return -1;
2462 : : return 0;
2463 : : }
2464 : :
2465 : : int
2466 : 1636 : pattern620 (rtx x1)
2467 : : {
2468 : 1636 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2469 : 1636 : rtx x2, x3, x4;
2470 : 1636 : int res ATTRIBUTE_UNUSED;
2471 : 1636 : x2 = XEXP (x1, 0);
2472 : 1636 : x3 = XVECEXP (x2, 0, 0);
2473 : 1636 : operands[1] = x3;
2474 : 1636 : x4 = XEXP (x1, 2);
2475 : 1636 : operands[3] = x4;
2476 : 1636 : switch (GET_MODE (operands[0]))
2477 : : {
2478 : 792 : case E_V16QImode:
2479 : 792 : return pattern619 (x1,
2480 : : E_V16QImode,
2481 : : E_HImode,
2482 : 792 : E_V16HFmode); /* [-1, 0] */
2483 : :
2484 : 792 : case E_V32QImode:
2485 : 792 : if (pattern619 (x1,
2486 : : E_V32QImode,
2487 : : E_SImode,
2488 : : E_V32HFmode) != 0)
2489 : : return -1;
2490 : : return 1;
2491 : :
2492 : : default:
2493 : : return -1;
2494 : : }
2495 : : }
2496 : :
2497 : : int
2498 : 14583 : pattern626 (rtx x1)
2499 : : {
2500 : 14583 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2501 : 14583 : rtx x2, x3;
2502 : 14583 : int res ATTRIBUTE_UNUSED;
2503 : 14583 : x2 = XEXP (x1, 1);
2504 : 14583 : switch (GET_CODE (x2))
2505 : : {
2506 : 4556 : case CONST_INT:
2507 : 4556 : case CONST_DOUBLE:
2508 : 4556 : case CONST_VECTOR:
2509 : 4556 : operands[4] = x2;
2510 : 4556 : x3 = XEXP (x1, 2);
2511 : 4556 : switch (GET_CODE (x3))
2512 : : {
2513 : 3694 : case REG:
2514 : 3694 : case SUBREG:
2515 : 3694 : operands[5] = x3;
2516 : 3694 : switch (GET_MODE (operands[0]))
2517 : : {
2518 : : case E_V32HFmode:
2519 : : return 0;
2520 : :
2521 : 438 : case E_V16HFmode:
2522 : 438 : return 1;
2523 : :
2524 : 318 : case E_V8HFmode:
2525 : 318 : return 2;
2526 : :
2527 : 289 : case E_V16SFmode:
2528 : 289 : return 3;
2529 : :
2530 : 424 : case E_V8SFmode:
2531 : 424 : return 4;
2532 : :
2533 : 343 : case E_V4SFmode:
2534 : 343 : return 5;
2535 : :
2536 : 165 : case E_V8DFmode:
2537 : 165 : return 6;
2538 : :
2539 : 444 : case E_V4DFmode:
2540 : 444 : return 7;
2541 : :
2542 : 343 : case E_V2DFmode:
2543 : 343 : return 8;
2544 : :
2545 : 279 : case E_V32BFmode:
2546 : 279 : return 9;
2547 : :
2548 : 279 : case E_V16BFmode:
2549 : 279 : return 10;
2550 : :
2551 : 279 : case E_V8BFmode:
2552 : 279 : return 11;
2553 : :
2554 : : default:
2555 : : return -1;
2556 : : }
2557 : :
2558 : 670 : case CONST_INT:
2559 : 670 : if (XWINT (x3, 0) != 1L)
2560 : : return -1;
2561 : 526 : switch (GET_MODE (operands[0]))
2562 : : {
2563 : : case E_V4SFmode:
2564 : : return 12;
2565 : :
2566 : 263 : case E_V2DFmode:
2567 : 263 : return 13;
2568 : :
2569 : : default:
2570 : : return -1;
2571 : : }
2572 : :
2573 : : default:
2574 : : return -1;
2575 : : }
2576 : :
2577 : 9890 : case REG:
2578 : 9890 : case SUBREG:
2579 : 9890 : case MEM:
2580 : 9890 : res = pattern625 (x1);
2581 : 9890 : if (res >= 0)
2582 : 9133 : return res + 14; /* [14, 28] */
2583 : : return -1;
2584 : :
2585 : : default:
2586 : : return -1;
2587 : : }
2588 : : }
2589 : :
2590 : : int
2591 : 275 : pattern643 (rtx x1, machine_mode i1, machine_mode i2)
2592 : : {
2593 : 275 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2594 : 275 : rtx x2;
2595 : 275 : int res ATTRIBUTE_UNUSED;
2596 : 275 : if (!register_operand (operands[0], i2)
2597 : 255 : || GET_MODE (x1) != i2
2598 : 255 : || !register_operand (operands[1], i2)
2599 : 500 : || !vector_operand (operands[2], i2))
2600 : 58 : return -1;
2601 : 217 : x2 = XVECEXP (x1, 0, 2);
2602 : 217 : if (GET_MODE (x2) != i2
2603 : 217 : || !register_operand (operands[3], i1)
2604 : 425 : || !const0_operand (operands[4], i1))
2605 : 9 : return -1;
2606 : : return 0;
2607 : : }
2608 : :
2609 : : int
2610 : 309 : pattern649 (rtx x1, machine_mode i1)
2611 : : {
2612 : 309 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2613 : 309 : rtx x2;
2614 : 309 : int res ATTRIBUTE_UNUSED;
2615 : 309 : if (!register_operand (operands[0], i1)
2616 : 289 : || GET_MODE (x1) != i1
2617 : 289 : || !vector_operand (operands[1], i1)
2618 : 598 : || !register_operand (operands[2], i1))
2619 : 90 : return -1;
2620 : 219 : x2 = XVECEXP (x1, 0, 2);
2621 : 219 : if (GET_MODE (x2) != i1
2622 : 219 : || !register_operand (operands[3], i1)
2623 : 438 : || !vector_all_ones_operand (operands[4], i1))
2624 : 201 : return -1;
2625 : : return 0;
2626 : : }
2627 : :
2628 : : int
2629 : 1009 : pattern653 (rtx x1, machine_mode i1)
2630 : : {
2631 : 1009 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2632 : 1009 : int res ATTRIBUTE_UNUSED;
2633 : 1009 : if (!register_operand (operands[0], i1)
2634 : 898 : || GET_MODE (x1) != i1
2635 : 898 : || !vector_operand (operands[1], i1)
2636 : 849 : || !vector_operand (operands[2], i1)
2637 : 1827 : || !vector_operand (operands[3], i1))
2638 : 206 : return -1;
2639 : : return 0;
2640 : : }
2641 : :
2642 : : int
2643 : 1401 : pattern655 (rtx x1, int i1, machine_mode i2)
2644 : : {
2645 : 1401 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2646 : 1401 : rtx x2;
2647 : 1401 : int res ATTRIBUTE_UNUSED;
2648 : 1401 : if (GET_CODE (x1) != VEC_SELECT
2649 : 1049 : || GET_MODE (x1) != i2)
2650 : : return -1;
2651 : 1049 : x2 = XEXP (x1, 1);
2652 : 1049 : if (GET_CODE (x2) != PARALLEL
2653 : 1049 : || XVECLEN (x2, 0) != i1)
2654 : 0 : return -1;
2655 : : return 0;
2656 : : }
2657 : :
2658 : : int
2659 : 3720 : pattern659 (rtx x1, int i1, int i2, int i3)
2660 : : {
2661 : 3720 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2662 : 3720 : rtx x2, x3, x4, x5;
2663 : 3720 : int res ATTRIBUTE_UNUSED;
2664 : 3720 : x2 = XVECEXP (x1, 0, 0);
2665 : 3720 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2666 : : return -1;
2667 : 3413 : x3 = XVECEXP (x1, 0, 1);
2668 : 3413 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
2669 : : return -1;
2670 : 3205 : x4 = XVECEXP (x1, 0, 2);
2671 : 3205 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
2672 : : return -1;
2673 : 3188 : x5 = XVECEXP (x1, 0, 3);
2674 : 3188 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
2675 : 0 : return -1;
2676 : : return 0;
2677 : : }
2678 : :
2679 : : int
2680 : 4857 : pattern666 (rtx x1)
2681 : : {
2682 : 4857 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2683 : 4857 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2684 : 4857 : rtx x10, x11;
2685 : 4857 : int res ATTRIBUTE_UNUSED;
2686 : 4857 : x2 = XEXP (x1, 0);
2687 : 4857 : x3 = XEXP (x2, 0);
2688 : 4857 : x4 = XEXP (x3, 0);
2689 : 4857 : switch (GET_CODE (x4))
2690 : : {
2691 : 20 : case VEC_CONCAT:
2692 : 20 : return pattern664 (x1); /* [-1, 5] */
2693 : :
2694 : 0 : case VEC_MERGE:
2695 : 0 : if (GET_MODE (x4) != E_V4SImode)
2696 : : return -1;
2697 : 0 : x5 = XEXP (x4, 0);
2698 : 0 : if (GET_CODE (x5) != VEC_DUPLICATE
2699 : 0 : || GET_MODE (x5) != E_V4SImode)
2700 : : return -1;
2701 : 0 : x6 = XEXP (x4, 1);
2702 : 0 : if (GET_CODE (x6) != CONST_VECTOR
2703 : 0 : || XVECLEN (x6, 0) != 4
2704 : 0 : || GET_MODE (x6) != E_V4SImode)
2705 : : return -1;
2706 : 0 : x7 = XVECEXP (x6, 0, 0);
2707 : 0 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2708 : : return -1;
2709 : 0 : x8 = XVECEXP (x6, 0, 1);
2710 : 0 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2711 : : return -1;
2712 : 0 : x9 = XVECEXP (x6, 0, 2);
2713 : 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2714 : : return -1;
2715 : 0 : x10 = XVECEXP (x6, 0, 3);
2716 : 0 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2717 : : return -1;
2718 : 0 : x11 = XEXP (x4, 2);
2719 : 0 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2720 : : return -1;
2721 : 0 : res = pattern665 (x1);
2722 : 0 : if (res >= 0)
2723 : 0 : return res + 6; /* [6, 8] */
2724 : : return -1;
2725 : :
2726 : : default:
2727 : : return -1;
2728 : : }
2729 : : }
2730 : :
2731 : : int
2732 : 91626 : pattern680 (rtx x1)
2733 : : {
2734 : 91626 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2735 : 91626 : int res ATTRIBUTE_UNUSED;
2736 : 91626 : if (GET_CODE (x1) != REG
2737 : 91626 : || REGNO (x1) != 17
2738 : 182034 : || GET_MODE (x1) != E_CCmode)
2739 : : return -1;
2740 : 90408 : switch (GET_MODE (operands[0]))
2741 : : {
2742 : : case E_DImode:
2743 : : return 0;
2744 : :
2745 : 2168 : case E_TImode:
2746 : 2168 : return 1;
2747 : :
2748 : 508 : case E_QImode:
2749 : 508 : return 2;
2750 : :
2751 : 4268 : case E_HImode:
2752 : 4268 : return 3;
2753 : :
2754 : 14447 : case E_SImode:
2755 : 14447 : return 4;
2756 : :
2757 : 2278 : case E_SFmode:
2758 : 2278 : return 5;
2759 : :
2760 : 4234 : case E_DFmode:
2761 : 4234 : return 6;
2762 : :
2763 : 43895 : case E_XFmode:
2764 : 43895 : return 7;
2765 : :
2766 : : default:
2767 : : return -1;
2768 : : }
2769 : : }
2770 : :
2771 : : int
2772 : 1711699 : pattern691 (rtx x1)
2773 : : {
2774 : 1711699 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2775 : 1711699 : rtx x2, x3, x4, x5;
2776 : 1711699 : int res ATTRIBUTE_UNUSED;
2777 : 1711699 : switch (GET_CODE (x1))
2778 : : {
2779 : 18347 : case UNSPEC:
2780 : 18347 : if (XVECLEN (x1, 0) != 1
2781 : 18346 : || XINT (x1, 1) != 38)
2782 : : return -1;
2783 : 1494 : x2 = XVECEXP (x1, 0, 0);
2784 : 1494 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2785 : 0 : return -1;
2786 : : return 0;
2787 : :
2788 : 1693352 : case SET:
2789 : 1693352 : x3 = XEXP (x1, 1);
2790 : 1693352 : if (GET_CODE (x3) != PLUS
2791 : 1690956 : || GET_MODE (x3) != E_SImode)
2792 : : return -1;
2793 : 1690918 : x4 = XEXP (x3, 0);
2794 : 1690918 : if (GET_CODE (x4) != REG
2795 : 1690918 : || REGNO (x4) != 7
2796 : 3381836 : || GET_MODE (x4) != E_SImode)
2797 : : return -1;
2798 : 1690918 : x5 = XEXP (x1, 0);
2799 : 1690918 : if (GET_CODE (x5) != REG
2800 : 1690918 : || REGNO (x5) != 7
2801 : 3381836 : || GET_MODE (x5) != E_SImode)
2802 : 0 : return -1;
2803 : : return 1;
2804 : :
2805 : : default:
2806 : : return -1;
2807 : : }
2808 : : }
2809 : :
2810 : : int
2811 : 119579 : pattern698 (rtx x1)
2812 : : {
2813 : 119579 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2814 : 119579 : rtx x2, x3, x4, x5, x6;
2815 : 119579 : int res ATTRIBUTE_UNUSED;
2816 : 119579 : x2 = XEXP (x1, 0);
2817 : 119579 : x3 = XEXP (x2, 0);
2818 : 119579 : x4 = XEXP (x3, 0);
2819 : 119579 : operands[1] = x4;
2820 : 119579 : if (!const_int_operand (operands[2], E_QImode))
2821 : : return -1;
2822 : 119061 : x5 = XEXP (x1, 1);
2823 : 119061 : switch (GET_CODE (x5))
2824 : : {
2825 : 104809 : case ZERO_EXTEND:
2826 : 104809 : x6 = XEXP (x5, 0);
2827 : 104809 : operands[3] = x6;
2828 : 104809 : switch (GET_MODE (operands[0]))
2829 : : {
2830 : 494 : case E_DImode:
2831 : 494 : return pattern696 (x1,
2832 : : E_SImode,
2833 : 494 : E_DImode); /* [-1, 0] */
2834 : :
2835 : 104315 : case E_TImode:
2836 : 104315 : if (pattern696 (x1,
2837 : : E_DImode,
2838 : : E_TImode) != 0)
2839 : : return -1;
2840 : : return 1;
2841 : :
2842 : : default:
2843 : : return -1;
2844 : : }
2845 : :
2846 : 8043 : case CONST_INT:
2847 : 8043 : case CONST_WIDE_INT:
2848 : 8043 : operands[3] = x5;
2849 : 8043 : switch (GET_MODE (operands[0]))
2850 : : {
2851 : 539 : case E_DImode:
2852 : 539 : if (pattern697 (x1,
2853 : : E_DImode,
2854 : : E_SImode) != 0)
2855 : : return -1;
2856 : : return 2;
2857 : :
2858 : 7499 : case E_TImode:
2859 : 7499 : if (pattern697 (x1,
2860 : : E_TImode,
2861 : : E_DImode) != 0)
2862 : : return -1;
2863 : : return 3;
2864 : :
2865 : : default:
2866 : : return -1;
2867 : : }
2868 : :
2869 : : default:
2870 : : return -1;
2871 : : }
2872 : : }
2873 : :
2874 : : int
2875 : 290 : pattern713 (rtx x1, machine_mode i1)
2876 : : {
2877 : 290 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2878 : 290 : int res ATTRIBUTE_UNUSED;
2879 : 290 : if (!register_operand (operands[0], i1)
2880 : 290 : || GET_MODE (x1) != i1
2881 : 290 : || !register_operand (operands[1], i1)
2882 : 540 : || !register_mmxmem_operand (operands[2], i1))
2883 : 56 : return -1;
2884 : : return 0;
2885 : : }
2886 : :
2887 : : int
2888 : 2421 : pattern716 (rtx x1)
2889 : : {
2890 : 2421 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2891 : 2421 : rtx x2, x3, x4;
2892 : 2421 : int res ATTRIBUTE_UNUSED;
2893 : 2421 : x2 = XVECEXP (x1, 0, 2);
2894 : 2421 : x3 = XEXP (x2, 0);
2895 : 2421 : operands[3] = x3;
2896 : 2421 : x4 = XEXP (x2, 1);
2897 : 2421 : operands[4] = x4;
2898 : 2421 : switch (GET_MODE (operands[0]))
2899 : : {
2900 : 43 : case E_SFmode:
2901 : 43 : return pattern715 (x1,
2902 : 43 : E_SFmode); /* [-1, 0] */
2903 : :
2904 : 0 : case E_DFmode:
2905 : 0 : if (pattern715 (x1,
2906 : : E_DFmode) != 0)
2907 : : return -1;
2908 : : return 1;
2909 : :
2910 : : default:
2911 : : return -1;
2912 : : }
2913 : : }
2914 : :
2915 : : int
2916 : 906 : pattern724 (rtx x1, machine_mode i1)
2917 : : {
2918 : 906 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2919 : 906 : rtx x2;
2920 : 906 : int res ATTRIBUTE_UNUSED;
2921 : 906 : if (!nonimmediate_operand (operands[0], i1)
2922 : 906 : || GET_MODE (x1) != i1)
2923 : : return -1;
2924 : 906 : x2 = XEXP (x1, 0);
2925 : 906 : if (GET_MODE (x2) != i1
2926 : 906 : || !nonimmediate_operand (operands[1], i1)
2927 : 1357 : || !general_operand (operands[2], i1))
2928 : 515 : return -1;
2929 : : return 0;
2930 : : }
2931 : :
2932 : : int
2933 : 68548 : pattern727 ()
2934 : : {
2935 : 68548 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2936 : 68548 : int res ATTRIBUTE_UNUSED;
2937 : 68548 : switch (GET_MODE (operands[0]))
2938 : : {
2939 : 55353 : case E_XFmode:
2940 : 55353 : if (!register_operand (operands[0], E_XFmode)
2941 : 55353 : || !binary_fp_operator (operands[3], E_XFmode))
2942 : 1004 : return -1;
2943 : : return 0;
2944 : :
2945 : 11335 : case E_DFmode:
2946 : 11335 : if (!register_operand (operands[0], E_DFmode)
2947 : 11335 : || !binary_fp_operator (operands[3], E_DFmode))
2948 : 50 : return -1;
2949 : : return 1;
2950 : :
2951 : : default:
2952 : : return -1;
2953 : : }
2954 : : }
2955 : :
2956 : : int
2957 : 5352 : pattern736 (rtx x1)
2958 : : {
2959 : 5352 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2960 : 5352 : rtx x2, x3, x4;
2961 : 5352 : int res ATTRIBUTE_UNUSED;
2962 : 5352 : x2 = XEXP (x1, 0);
2963 : 5352 : x3 = XEXP (x2, 0);
2964 : 5352 : operands[1] = x3;
2965 : 5352 : x4 = XEXP (x1, 1);
2966 : 5352 : if (!rtx_equal_p (x4, operands[1]))
2967 : : return -1;
2968 : 2679 : switch (GET_MODE (x1))
2969 : : {
2970 : 1114 : case E_SImode:
2971 : 1114 : if (GET_MODE (x2) != E_SImode
2972 : 1114 : || !nonimmediate_operand (operands[1], E_SImode))
2973 : 21 : return -1;
2974 : : return 0;
2975 : :
2976 : 1559 : case E_DImode:
2977 : 1559 : if (GET_MODE (x2) != E_DImode
2978 : 1559 : || !nonimmediate_operand (operands[1], E_DImode))
2979 : 16 : return -1;
2980 : : return 1;
2981 : :
2982 : : default:
2983 : : return -1;
2984 : : }
2985 : : }
2986 : :
2987 : : int
2988 : 1352 : pattern748 (rtx x1, machine_mode i1)
2989 : : {
2990 : 1352 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2991 : 1352 : int res ATTRIBUTE_UNUSED;
2992 : 1352 : if (!register_operand (operands[0], i1)
2993 : 1352 : || GET_MODE (x1) != i1)
2994 : : return -1;
2995 : 1339 : switch (GET_MODE (operands[1]))
2996 : : {
2997 : 0 : case E_HFmode:
2998 : 0 : if (!nonimmediate_operand (operands[1], E_HFmode))
2999 : : return -1;
3000 : : return 0;
3001 : :
3002 : 156 : case E_SFmode:
3003 : 156 : if (!nonimmediate_operand (operands[1], E_SFmode))
3004 : : return -1;
3005 : : return 1;
3006 : :
3007 : 1183 : case E_DFmode:
3008 : 1183 : if (!nonimmediate_operand (operands[1], E_DFmode))
3009 : : return -1;
3010 : : return 2;
3011 : :
3012 : : default:
3013 : : return -1;
3014 : : }
3015 : : }
3016 : :
3017 : : int
3018 : 363 : pattern756 (rtx x1, machine_mode i1)
3019 : : {
3020 : 363 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3021 : 363 : int res ATTRIBUTE_UNUSED;
3022 : 363 : if (!register_operand (operands[0], i1)
3023 : 363 : || GET_MODE (x1) != i1)
3024 : : return -1;
3025 : 338 : switch (GET_MODE (operands[1]))
3026 : : {
3027 : 108 : case E_V8HFmode:
3028 : 108 : if (!vector_operand (operands[1], E_V8HFmode))
3029 : : return -1;
3030 : : return 0;
3031 : :
3032 : 115 : case E_V4SFmode:
3033 : 115 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3034 : : return -1;
3035 : : return 1;
3036 : :
3037 : 115 : case E_V4DFmode:
3038 : 115 : if (!nonimmediate_operand (operands[1], E_V4DFmode))
3039 : : return -1;
3040 : : return 2;
3041 : :
3042 : : default:
3043 : : return -1;
3044 : : }
3045 : : }
3046 : :
3047 : : int
3048 : 542 : pattern766 (rtx x1, machine_mode i1, machine_mode i2)
3049 : : {
3050 : 542 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3051 : 542 : int res ATTRIBUTE_UNUSED;
3052 : 542 : if (!register_operand (operands[0], i1)
3053 : 540 : || GET_MODE (x1) != i1
3054 : 540 : || !register_operand (operands[2], i2)
3055 : 1005 : || !memory_operand (operands[1], i1))
3056 : 83 : return -1;
3057 : : return 0;
3058 : : }
3059 : :
3060 : : int
3061 : 128 : pattern773 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3062 : : {
3063 : 128 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3064 : 128 : rtx x2, x3;
3065 : 128 : int res ATTRIBUTE_UNUSED;
3066 : 128 : if (!register_operand (operands[0], i3)
3067 : 128 : || GET_MODE (x1) != i3)
3068 : : return -1;
3069 : 119 : x2 = XEXP (x1, 0);
3070 : 119 : if (GET_MODE (x2) != i2
3071 : 119 : || !vector_operand (operands[2], i1))
3072 : 0 : return -1;
3073 : 119 : x3 = XEXP (x1, 1);
3074 : 119 : if (GET_MODE (x3) != i2
3075 : 119 : || !register_operand (operands[1], i1))
3076 : 5 : return -1;
3077 : : return 0;
3078 : : }
3079 : :
3080 : : int
3081 : 763 : pattern785 (rtx x1, machine_mode i1, machine_mode i2)
3082 : : {
3083 : 763 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3084 : 763 : rtx x2;
3085 : 763 : int res ATTRIBUTE_UNUSED;
3086 : 763 : if (!register_operand (operands[0], i1)
3087 : 763 : || GET_MODE (x1) != i1)
3088 : : return -1;
3089 : 741 : x2 = XEXP (x1, 0);
3090 : 741 : if (GET_MODE (x2) != i2
3091 : 737 : || !nonimmediate_operand (operands[1], i1)
3092 : 626 : || !const0_operand (operands[2], i1)
3093 : 1114 : || !movq_parallel (operands[3], E_VOIDmode))
3094 : 472 : return -1;
3095 : : return 0;
3096 : : }
3097 : :
3098 : : int
3099 : 326 : pattern794 (rtx x1, machine_mode i1)
3100 : : {
3101 : 326 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3102 : 326 : int res ATTRIBUTE_UNUSED;
3103 : 326 : if (!register_operand (operands[0], i1)
3104 : 326 : || GET_MODE (x1) != i1
3105 : 326 : || !nonimmediate_operand (operands[3], i1)
3106 : 326 : || !register_operand (operands[1], i1)
3107 : 598 : || !nonimmediate_operand (operands[2], i1))
3108 : 87 : return -1;
3109 : : return 0;
3110 : : }
3111 : :
3112 : : int
3113 : 8866584 : pattern797 (rtx x1)
3114 : : {
3115 : 8866584 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3116 : 8866584 : rtx x2, x3, x4, x5, x6, x7, x8;
3117 : 8866584 : int res ATTRIBUTE_UNUSED;
3118 : 8866584 : x2 = XVECEXP (x1, 0, 0);
3119 : 8866584 : x3 = XEXP (x2, 1);
3120 : 8866584 : x4 = XEXP (x3, 1);
3121 : 8866584 : switch (GET_CODE (x4))
3122 : : {
3123 : 655518 : case SUBREG:
3124 : 655518 : if (maybe_ne (SUBREG_BYTE (x4), 0)
3125 : 655518 : || GET_MODE (x4) != E_QImode)
3126 : : return -1;
3127 : 655465 : x5 = XEXP (x4, 0);
3128 : 655465 : if (GET_CODE (x5) != AND)
3129 : : return -1;
3130 : 31891 : x6 = XVECEXP (x1, 0, 1);
3131 : 31891 : if (GET_CODE (x6) != CLOBBER)
3132 : : return -1;
3133 : 27872 : x7 = XEXP (x6, 0);
3134 : 27872 : if (GET_CODE (x7) != REG
3135 : 27872 : || REGNO (x7) != 17
3136 : 55744 : || GET_MODE (x7) != E_CCmode)
3137 : : return -1;
3138 : 27872 : return pattern795 (x3); /* [-1, 1] */
3139 : :
3140 : 8092827 : case CONST_INT:
3141 : 8092827 : operands[2] = x4;
3142 : 8092827 : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
3143 : : return -1;
3144 : 8092752 : x6 = XVECEXP (x1, 0, 1);
3145 : 8092752 : if (GET_CODE (x6) != UNSPEC
3146 : 6499 : || XVECLEN (x6, 0) != 1
3147 : 6499 : || XINT (x6, 1) != 175)
3148 : : return -1;
3149 : 6499 : x8 = XVECEXP (x6, 0, 0);
3150 : 6499 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3151 : : return -1;
3152 : 6499 : res = pattern796 (x3);
3153 : 6499 : if (res >= 0)
3154 : 5851 : return res + 2; /* [2, 5] */
3155 : : return -1;
3156 : :
3157 : : default:
3158 : : return -1;
3159 : : }
3160 : : }
3161 : :
3162 : : int
3163 : 12273 : pattern809 (rtx x1, int *pnum_clobbers)
3164 : : {
3165 : 12273 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3166 : 12273 : rtx x2, x3, x4, x5, x6, x7;
3167 : 12273 : int res ATTRIBUTE_UNUSED;
3168 : 12273 : x2 = XVECEXP (x1, 0, 1);
3169 : 12273 : x3 = XEXP (x2, 0);
3170 : 12273 : operands[2] = x3;
3171 : 12273 : if (!memory_operand (operands[2], E_HImode))
3172 : : return -1;
3173 : 12273 : x4 = XVECEXP (x1, 0, 2);
3174 : 12273 : x5 = XEXP (x4, 0);
3175 : 12273 : operands[3] = x5;
3176 : 12273 : if (!memory_operand (operands[3], E_HImode))
3177 : : return -1;
3178 : 12273 : switch (GET_MODE (operands[0]))
3179 : : {
3180 : 0 : case E_DImode:
3181 : 0 : if (pnum_clobbers == NULL
3182 : 0 : || !nonimmediate_operand (operands[0], E_DImode))
3183 : 0 : return -1;
3184 : 0 : x6 = XVECEXP (x1, 0, 0);
3185 : 0 : x7 = XEXP (x6, 1);
3186 : 0 : if (GET_MODE (x7) != E_DImode)
3187 : : return -1;
3188 : : return 0;
3189 : :
3190 : 7225 : case E_HImode:
3191 : 7225 : if (!nonimmediate_operand (operands[0], E_HImode))
3192 : : return -1;
3193 : 7225 : x6 = XVECEXP (x1, 0, 0);
3194 : 7225 : x7 = XEXP (x6, 1);
3195 : 7225 : if (GET_MODE (x7) != E_HImode)
3196 : : return -1;
3197 : : return 1;
3198 : :
3199 : 5048 : case E_SImode:
3200 : 5048 : if (!nonimmediate_operand (operands[0], E_SImode))
3201 : : return -1;
3202 : 5048 : x6 = XVECEXP (x1, 0, 0);
3203 : 5048 : x7 = XEXP (x6, 1);
3204 : 5048 : if (GET_MODE (x7) != E_SImode)
3205 : : return -1;
3206 : : return 2;
3207 : :
3208 : : default:
3209 : : return -1;
3210 : : }
3211 : : }
3212 : :
3213 : : int
3214 : 302 : pattern823 (rtx x1, int i1, int i2, int i3, int i4)
3215 : : {
3216 : 302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3217 : 302 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3218 : 302 : int res ATTRIBUTE_UNUSED;
3219 : 302 : x2 = XVECEXP (x1, 0, 0);
3220 : 302 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3221 : : return -1;
3222 : 167 : x3 = XVECEXP (x1, 0, 1);
3223 : 167 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3224 : : return -1;
3225 : 167 : x4 = XVECEXP (x1, 0, 2);
3226 : 167 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3227 : : return -1;
3228 : 167 : x5 = XVECEXP (x1, 0, 3);
3229 : 167 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3230 : : return -1;
3231 : 167 : x6 = XVECEXP (x1, 0, 4);
3232 : 167 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3233 : : return -1;
3234 : 167 : x7 = XVECEXP (x1, 0, 5);
3235 : 167 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3236 : : return -1;
3237 : 167 : x8 = XVECEXP (x1, 0, 6);
3238 : 167 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3239 : : return -1;
3240 : 167 : x9 = XVECEXP (x1, 0, 7);
3241 : 167 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3242 : 167 : || pattern822 (x1,
3243 : : i1,
3244 : : i2,
3245 : : i3,
3246 : : i4) != 0)
3247 : 0 : return -1;
3248 : : return 0;
3249 : : }
3250 : :
3251 : : int
3252 : 319861 : pattern833 (rtx x1, machine_mode i1, machine_mode i2)
3253 : : {
3254 : 319861 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3255 : 319861 : int res ATTRIBUTE_UNUSED;
3256 : 319861 : if (!register_operand (operands[0], i1)
3257 : 297647 : || GET_MODE (x1) != i1
3258 : 297647 : || !register_operand (operands[1], i1)
3259 : 600634 : || !nonmemory_operand (operands[2], i2))
3260 : 39379 : return -1;
3261 : : return 0;
3262 : : }
3263 : :
3264 : : int
3265 : 1039 : pattern838 (rtx x1, machine_mode i1, machine_mode i2)
3266 : : {
3267 : 1039 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3268 : 1039 : rtx x2, x3, x4, x5;
3269 : 1039 : int res ATTRIBUTE_UNUSED;
3270 : 1039 : if (!register_operand (operands[0], i2)
3271 : 1039 : || GET_MODE (x1) != i2)
3272 : : return -1;
3273 : 668 : x2 = XEXP (x1, 0);
3274 : 668 : if (GET_MODE (x2) != i2)
3275 : : return -1;
3276 : 668 : x3 = XEXP (x2, 0);
3277 : 668 : if (GET_MODE (x3) != i1
3278 : 668 : || !register_operand (operands[1], i2)
3279 : 1288 : || !register_mmxmem_operand (operands[2], i2))
3280 : 80 : return -1;
3281 : 588 : x4 = XEXP (x1, 1);
3282 : 588 : if (GET_MODE (x4) != i2)
3283 : : return -1;
3284 : 588 : x5 = XEXP (x4, 0);
3285 : 588 : if (GET_MODE (x5) != i1)
3286 : : return -1;
3287 : : return 0;
3288 : : }
3289 : :
3290 : : int
3291 : 4954 : pattern843 (rtx x1, machine_mode i1)
3292 : : {
3293 : 4954 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3294 : 4954 : rtx x2;
3295 : 4954 : int res ATTRIBUTE_UNUSED;
3296 : 4954 : if (!memory_operand (operands[0], i1)
3297 : 4954 : || GET_MODE (x1) != i1)
3298 : : return -1;
3299 : 478 : x2 = XVECEXP (x1, 0, 0);
3300 : 478 : if (GET_MODE (x2) != i1
3301 : 478 : || !nonmemory_operand (operands[1], i1))
3302 : 478 : return -1;
3303 : : return 0;
3304 : : }
3305 : :
3306 : : int
3307 : 2290 : pattern848 (rtx x1, machine_mode i1, machine_mode i2)
3308 : : {
3309 : 2290 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3310 : 2290 : rtx x2;
3311 : 2290 : int res ATTRIBUTE_UNUSED;
3312 : 2290 : if (!register_operand (operands[0], i1)
3313 : 2290 : || GET_MODE (x1) != i1)
3314 : : return -1;
3315 : 2172 : x2 = XEXP (x1, 0);
3316 : 2172 : if (GET_MODE (x2) != i1
3317 : 2172 : || !nonimmediate_operand (operands[2], i2)
3318 : 4207 : || !register_operand (operands[1], i1))
3319 : 631 : return -1;
3320 : : return 0;
3321 : : }
3322 : :
3323 : : int
3324 : 15733 : pattern856 (rtx x1, machine_mode i1)
3325 : : {
3326 : 15733 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3327 : 15733 : rtx x2;
3328 : 15733 : int res ATTRIBUTE_UNUSED;
3329 : 15733 : if (!register_operand (operands[0], i1)
3330 : 15733 : || GET_MODE (x1) != i1)
3331 : : return -1;
3332 : 15733 : x2 = XEXP (x1, 1);
3333 : 15733 : if (GET_MODE (x2) != i1
3334 : 15733 : || !nonimmediate_operand (operands[1], i1))
3335 : 3534 : return -1;
3336 : : return 0;
3337 : : }
3338 : :
3339 : : int
3340 : 2490 : pattern862 (rtx x1)
3341 : : {
3342 : 2490 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3343 : 2490 : rtx x2, x3;
3344 : 2490 : int res ATTRIBUTE_UNUSED;
3345 : 2490 : x2 = XVECEXP (x1, 0, 0);
3346 : 2490 : x3 = XVECEXP (x2, 0, 0);
3347 : 2490 : operands[1] = x3;
3348 : 2490 : if (!const48_operand (operands[2], E_SImode))
3349 : : return -1;
3350 : 2490 : switch (GET_MODE (operands[0]))
3351 : : {
3352 : 796 : case E_SImode:
3353 : 796 : return pattern861 (x1,
3354 : 796 : E_SImode); /* [-1, 2] */
3355 : :
3356 : 784 : case E_DImode:
3357 : 784 : res = pattern861 (x1,
3358 : : E_DImode);
3359 : 784 : if (res >= 0)
3360 : 736 : return res + 3; /* [3, 5] */
3361 : : return -1;
3362 : :
3363 : : default:
3364 : : return -1;
3365 : : }
3366 : : }
3367 : :
3368 : : int
3369 : 19 : pattern869 (rtx x1, machine_mode i1, machine_mode i2)
3370 : : {
3371 : 19 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3372 : 19 : rtx x2, x3;
3373 : 19 : int res ATTRIBUTE_UNUSED;
3374 : 19 : if (!register_operand (operands[0], i1)
3375 : 19 : || GET_MODE (x1) != i1)
3376 : : return -1;
3377 : 19 : x2 = XEXP (x1, 0);
3378 : 19 : if (GET_MODE (x2) != i1)
3379 : : return -1;
3380 : 19 : x3 = XEXP (x2, 0);
3381 : 19 : if (GET_MODE (x3) != i2
3382 : 19 : || !nonimmediate_operand (operands[1], i2)
3383 : 37 : || !register_operand (operands[2], i1))
3384 : 2 : return -1;
3385 : : return 0;
3386 : : }
3387 : :
3388 : : int
3389 : 901 : pattern879 (rtx x1, machine_mode i1)
3390 : : {
3391 : 901 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3392 : 901 : rtx x2;
3393 : 901 : int res ATTRIBUTE_UNUSED;
3394 : 901 : if (!register_operand (operands[0], i1)
3395 : 901 : || GET_MODE (x1) != i1)
3396 : : return -1;
3397 : 861 : x2 = XEXP (x1, 0);
3398 : 861 : if (GET_MODE (x2) != i1
3399 : 861 : || !nonimm_or_0_operand (operands[2], i1)
3400 : 1706 : || !register_operand (operands[3], E_QImode))
3401 : 58 : return -1;
3402 : 803 : switch (GET_MODE (operands[1]))
3403 : : {
3404 : 376 : case E_V4SImode:
3405 : 376 : if (!nonimmediate_operand (operands[1], E_V4SImode))
3406 : : return -1;
3407 : : return 0;
3408 : :
3409 : 427 : case E_V4DImode:
3410 : 427 : if (!nonimmediate_operand (operands[1], E_V4DImode))
3411 : : return -1;
3412 : : return 1;
3413 : :
3414 : : default:
3415 : : return -1;
3416 : : }
3417 : : }
3418 : :
3419 : : int
3420 : 2100 : pattern889 (rtx x1, machine_mode i1, machine_mode i2)
3421 : : {
3422 : 2100 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3423 : 2100 : rtx x2, x3;
3424 : 2100 : int res ATTRIBUTE_UNUSED;
3425 : 2100 : if (!register_operand (operands[0], i1)
3426 : 2100 : || GET_MODE (x1) != i1)
3427 : : return -1;
3428 : 2034 : x2 = XVECEXP (x1, 0, 0);
3429 : 2034 : if (GET_MODE (x2) != i1)
3430 : : return -1;
3431 : 2034 : x3 = XEXP (x2, 0);
3432 : 2034 : if (GET_MODE (x3) != i1
3433 : 2034 : || !register_operand (operands[1], i1)
3434 : 2014 : || !register_operand (operands[2], i1)
3435 : 1998 : || !nonimm_or_0_operand (operands[3], i1)
3436 : 4026 : || !register_operand (operands[4], i2))
3437 : 42 : return -1;
3438 : : return 0;
3439 : : }
3440 : :
3441 : : int
3442 : 2763 : pattern895 (rtx x1, machine_mode i1)
3443 : : {
3444 : 2763 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3445 : 2763 : int res ATTRIBUTE_UNUSED;
3446 : 2763 : if (!register_operand (operands[0], i1)
3447 : 2310 : || GET_MODE (x1) != i1
3448 : 2310 : || !nonimmediate_operand (operands[1], i1)
3449 : 5043 : || !nonimm_or_0_operand (operands[2], i1))
3450 : 763 : return -1;
3451 : : return 0;
3452 : : }
3453 : :
3454 : : int
3455 : 960 : pattern899 (rtx x1)
3456 : : {
3457 : 960 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3458 : 960 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3459 : 960 : rtx x10, x11, x12, x13, x14, x15, x16;
3460 : 960 : int res ATTRIBUTE_UNUSED;
3461 : 960 : x2 = XEXP (x1, 0);
3462 : 960 : x3 = XEXP (x2, 0);
3463 : 960 : if (GET_MODE (x3) != E_V8QImode)
3464 : : return -1;
3465 : 960 : x4 = XEXP (x2, 1);
3466 : 960 : if (GET_CODE (x4) != VEC_SELECT
3467 : 760 : || GET_MODE (x4) != E_V8QImode)
3468 : : return -1;
3469 : 760 : x5 = XEXP (x4, 1);
3470 : 760 : if (GET_CODE (x5) != PARALLEL
3471 : 760 : || XVECLEN (x5, 0) != 8)
3472 : : return -1;
3473 : 760 : x6 = XVECEXP (x5, 0, 0);
3474 : 760 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3475 : : return -1;
3476 : 760 : x7 = XVECEXP (x5, 0, 1);
3477 : 760 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3478 : : return -1;
3479 : 760 : x8 = XVECEXP (x5, 0, 2);
3480 : 760 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3481 : : return -1;
3482 : 760 : x9 = XVECEXP (x5, 0, 3);
3483 : 760 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3484 : : return -1;
3485 : 760 : x10 = XVECEXP (x5, 0, 4);
3486 : 760 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3487 : : return -1;
3488 : 760 : x11 = XVECEXP (x5, 0, 5);
3489 : 760 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3490 : : return -1;
3491 : 760 : x12 = XVECEXP (x5, 0, 6);
3492 : 760 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3493 : : return -1;
3494 : 760 : x13 = XVECEXP (x5, 0, 7);
3495 : 760 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3496 : 760 : || !register_operand (operands[0], E_V16QImode)
3497 : 760 : || GET_MODE (x1) != E_V16QImode
3498 : 760 : || GET_MODE (x2) != E_V8QImode
3499 : 1520 : || !nonimmediate_operand (operands[1], E_V8HFmode))
3500 : 0 : return -1;
3501 : 760 : x14 = XEXP (x4, 0);
3502 : 760 : operands[2] = x14;
3503 : 760 : if (!nonimm_or_0_operand (operands[2], E_V16QImode))
3504 : : return -1;
3505 : 760 : x15 = XEXP (x2, 2);
3506 : 760 : operands[3] = x15;
3507 : 760 : x16 = XEXP (x1, 1);
3508 : 760 : operands[4] = x16;
3509 : 760 : if (!const0_operand (operands[4], E_V8QImode))
3510 : : return -1;
3511 : : return 0;
3512 : : }
3513 : :
3514 : : int
3515 : 4240636 : pattern914 (rtx x1)
3516 : : {
3517 : 4240636 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3518 : 4240636 : rtx x2, x3, x4;
3519 : 4240636 : int res ATTRIBUTE_UNUSED;
3520 : 4240636 : x2 = XEXP (x1, 1);
3521 : 4240636 : x3 = XEXP (x2, 0);
3522 : 4240636 : operands[1] = x3;
3523 : 4240636 : x4 = XEXP (x2, 1);
3524 : 4240636 : switch (GET_CODE (x4))
3525 : : {
3526 : : case CONST_INT:
3527 : : case CONST_WIDE_INT:
3528 : : case CONST_POLY_INT:
3529 : : case CONST_FIXED:
3530 : : case CONST_DOUBLE:
3531 : : case CONST_VECTOR:
3532 : : case CONST:
3533 : : case REG:
3534 : : case SUBREG:
3535 : : case LABEL_REF:
3536 : : case SYMBOL_REF:
3537 : : case HIGH:
3538 : : return 0;
3539 : :
3540 : 1247 : case AND:
3541 : 1247 : if (GET_MODE (x4) != E_QImode)
3542 : : return -1;
3543 : 1247 : res = pattern328 (x1);
3544 : 1247 : if (res >= 0)
3545 : 786 : return res + 1; /* [1, 3] */
3546 : : return -1;
3547 : :
3548 : 4122 : case PLUS:
3549 : 4122 : if (GET_MODE (x4) != E_QImode)
3550 : : return -1;
3551 : 4122 : res = pattern330 (x1);
3552 : 4122 : if (res >= 0)
3553 : 1187 : return res + 4; /* [4, 5] */
3554 : : return -1;
3555 : :
3556 : 2527 : case MINUS:
3557 : 2527 : if (GET_MODE (x4) != E_QImode)
3558 : : return -1;
3559 : 2527 : res = pattern331 (x1);
3560 : 2527 : if (res >= 0)
3561 : 1447 : return res + 6; /* [6, 7] */
3562 : : return -1;
3563 : :
3564 : : default:
3565 : : return -1;
3566 : : }
3567 : : }
3568 : :
3569 : : int
3570 : 8361 : pattern930 (rtx x1, rtx_code i1)
3571 : : {
3572 : 8361 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3573 : 8361 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3574 : 8361 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3575 : 8361 : rtx x18;
3576 : 8361 : int res ATTRIBUTE_UNUSED;
3577 : 8361 : x2 = XVECEXP (x1, 0, 0);
3578 : 8361 : x3 = XEXP (x2, 1);
3579 : 8361 : x4 = XEXP (x3, 0);
3580 : 8361 : x5 = XEXP (x4, 0);
3581 : 8361 : if (GET_CODE (x5) != SUBREG
3582 : 1694 : || maybe_ne (SUBREG_BYTE (x5), 0)
3583 : 10055 : || GET_MODE (x5) != E_QImode)
3584 : : return -1;
3585 : 1694 : x6 = XEXP (x5, 0);
3586 : 1694 : switch (GET_CODE (x6))
3587 : : {
3588 : 845 : case ASHIFTRT:
3589 : 845 : case LSHIFTRT:
3590 : 845 : case SIGN_EXTRACT:
3591 : 845 : case ZERO_EXTRACT:
3592 : 845 : operands[3] = x6;
3593 : 845 : x7 = XVECEXP (x1, 0, 1);
3594 : 845 : if (GET_CODE (x7) != SET)
3595 : : return -1;
3596 : 493 : x8 = XEXP (x7, 1);
3597 : 493 : if (GET_CODE (x8) != SUBREG
3598 : 493 : || maybe_ne (SUBREG_BYTE (x8), 0))
3599 : : return -1;
3600 : 0 : x9 = XEXP (x8, 0);
3601 : 0 : if (GET_CODE (x9) != i1
3602 : 0 : || GET_MODE (x9) != E_QImode)
3603 : : return -1;
3604 : 0 : x10 = XEXP (x9, 0);
3605 : 0 : if (GET_CODE (x10) != SUBREG
3606 : 0 : || maybe_ne (SUBREG_BYTE (x10), 0)
3607 : 0 : || GET_MODE (x10) != E_QImode)
3608 : : return -1;
3609 : 0 : x11 = XEXP (x10, 0);
3610 : 0 : if (GET_CODE (x11) != ZERO_EXTRACT)
3611 : : return -1;
3612 : 0 : x12 = XEXP (x11, 1);
3613 : 0 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3614 : : return -1;
3615 : 0 : x13 = XEXP (x11, 2);
3616 : 0 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3617 : : return -1;
3618 : 0 : x14 = XEXP (x7, 0);
3619 : 0 : if (GET_CODE (x14) != ZERO_EXTRACT)
3620 : : return -1;
3621 : 0 : x15 = XEXP (x14, 1);
3622 : 0 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3623 : : return -1;
3624 : 0 : x16 = XEXP (x14, 2);
3625 : 0 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3626 : : return -1;
3627 : 0 : x17 = XEXP (x2, 0);
3628 : 0 : operands[4] = x17;
3629 : 0 : if (!flags_reg_operand (operands[4], E_VOIDmode))
3630 : : return -1;
3631 : 0 : operands[5] = x3;
3632 : 0 : if (!compare_operator (operands[5], E_VOIDmode)
3633 : 0 : || GET_MODE (x4) != E_QImode)
3634 : : return -1;
3635 : 0 : x18 = XEXP (x6, 0);
3636 : 0 : operands[1] = x18;
3637 : 0 : if (!int248_register_operand (operands[1], E_VOIDmode))
3638 : : return -1;
3639 : 0 : return pattern571 (x7); /* [-1, 2] */
3640 : :
3641 : : default:
3642 : : return -1;
3643 : : }
3644 : : }
3645 : :
3646 : : int
3647 : 699 : pattern956 (rtx x1)
3648 : : {
3649 : 699 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3650 : 699 : rtx x2, x3, x4, x5, x6, x7;
3651 : 699 : int res ATTRIBUTE_UNUSED;
3652 : 699 : x2 = XEXP (x1, 0);
3653 : 699 : x3 = XEXP (x2, 1);
3654 : 699 : if (XVECLEN (x3, 0) != 1)
3655 : : return -1;
3656 : 691 : x4 = XVECEXP (x3, 0, 0);
3657 : 691 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3658 : : return -1;
3659 : 305 : x5 = XEXP (x1, 1);
3660 : 305 : x6 = XEXP (x5, 1);
3661 : 305 : if (XVECLEN (x6, 0) != 1)
3662 : : return -1;
3663 : 305 : x7 = XVECEXP (x6, 0, 0);
3664 : 305 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3665 : 120 : return -1;
3666 : : return 0;
3667 : : }
3668 : :
3669 : : int
3670 : 722 : pattern959 (rtx x1)
3671 : : {
3672 : 722 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3673 : 722 : int res ATTRIBUTE_UNUSED;
3674 : 722 : if (!nonimmediate_operand (operands[0], E_BFmode)
3675 : 722 : || GET_MODE (x1) != E_BFmode)
3676 : : return -1;
3677 : 719 : switch (GET_MODE (operands[1]))
3678 : : {
3679 : 2 : case E_V32BFmode:
3680 : 2 : if (!nonimmediate_operand (operands[1], E_V32BFmode))
3681 : : return -1;
3682 : : return 0;
3683 : :
3684 : 90 : case E_V16BFmode:
3685 : 90 : if (!nonimmediate_operand (operands[1], E_V16BFmode))
3686 : : return -1;
3687 : : return 1;
3688 : :
3689 : 627 : case E_V8BFmode:
3690 : 627 : if (!nonimmediate_operand (operands[1], E_V8BFmode))
3691 : : return -1;
3692 : : return 2;
3693 : :
3694 : : default:
3695 : : return -1;
3696 : : }
3697 : : }
3698 : :
3699 : : int
3700 : 65016 : pattern962 (rtx x1)
3701 : : {
3702 : 65016 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3703 : 65016 : rtx x2, x3, x4, x5;
3704 : 65016 : int res ATTRIBUTE_UNUSED;
3705 : 65016 : x2 = XEXP (x1, 0);
3706 : 65016 : x3 = XEXP (x2, 0);
3707 : 65016 : if (GET_MODE (x3) != E_DImode)
3708 : : return -1;
3709 : 65016 : x4 = XEXP (x3, 0);
3710 : 65016 : operands[1] = x4;
3711 : 65016 : if (!nonimmediate_operand (operands[1], E_SImode))
3712 : : return -1;
3713 : 49719 : x5 = XEXP (x1, 1);
3714 : 49719 : return pattern246 (x5,
3715 : : E_SImode,
3716 : 49719 : E_DImode); /* [-1, 1] */
3717 : : }
3718 : :
3719 : : int
3720 : 441 : pattern966 (rtx x1)
3721 : : {
3722 : 441 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3723 : 441 : int res ATTRIBUTE_UNUSED;
3724 : 441 : switch (GET_MODE (x1))
3725 : : {
3726 : 98 : case E_HImode:
3727 : 98 : switch (GET_MODE (operands[1]))
3728 : : {
3729 : 22 : case E_V16SImode:
3730 : 22 : if (!nonimmediate_operand (operands[1], E_V16SImode)
3731 : 19 : || !nonimmediate_operand (operands[2], E_V16SImode)
3732 : 38 : || !const_0_to_7_operand (operands[3], E_SImode))
3733 : 6 : return -1;
3734 : : return 0;
3735 : :
3736 : 18 : case E_V16HFmode:
3737 : 18 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
3738 : 16 : || !nonimmediate_operand (operands[2], E_V16HFmode)
3739 : 34 : || !const_0_to_31_operand (operands[3], E_SImode))
3740 : 2 : return -1;
3741 : : return 1;
3742 : :
3743 : 22 : case E_V16SFmode:
3744 : 22 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
3745 : 20 : || !nonimmediate_operand (operands[2], E_V16SFmode)
3746 : 42 : || !const_0_to_31_operand (operands[3], E_SImode))
3747 : 2 : return -1;
3748 : : return 2;
3749 : :
3750 : 18 : case E_V16QImode:
3751 : 18 : if (!nonimmediate_operand (operands[1], E_V16QImode)
3752 : 16 : || !nonimmediate_operand (operands[2], E_V16QImode)
3753 : 30 : || !const_0_to_7_operand (operands[3], E_SImode))
3754 : 6 : return -1;
3755 : : return 3;
3756 : :
3757 : 18 : case E_V16HImode:
3758 : 18 : if (!nonimmediate_operand (operands[1], E_V16HImode)
3759 : 16 : || !nonimmediate_operand (operands[2], E_V16HImode)
3760 : 30 : || !const_0_to_7_operand (operands[3], E_SImode))
3761 : 6 : return -1;
3762 : : return 4;
3763 : :
3764 : : default:
3765 : : return -1;
3766 : : }
3767 : :
3768 : 322 : case E_QImode:
3769 : 322 : switch (GET_MODE (operands[1]))
3770 : : {
3771 : 24 : case E_V8SImode:
3772 : 24 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3773 : 21 : || !nonimmediate_operand (operands[2], E_V8SImode)
3774 : 43 : || !const_0_to_7_operand (operands[3], E_SImode))
3775 : 5 : return -1;
3776 : : return 5;
3777 : :
3778 : 24 : case E_V4SImode:
3779 : 24 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3780 : 21 : || !nonimmediate_operand (operands[2], E_V4SImode)
3781 : 43 : || !const_0_to_7_operand (operands[3], E_SImode))
3782 : 5 : return -1;
3783 : : return 6;
3784 : :
3785 : 54 : case E_V8DImode:
3786 : 54 : if (!nonimmediate_operand (operands[1], E_V8DImode)
3787 : 46 : || !nonimmediate_operand (operands[2], E_V8DImode)
3788 : 98 : || !const_0_to_7_operand (operands[3], E_SImode))
3789 : 10 : return -1;
3790 : : return 7;
3791 : :
3792 : 23 : case E_V4DImode:
3793 : 23 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3794 : 20 : || !nonimmediate_operand (operands[2], E_V4DImode)
3795 : 41 : || !const_0_to_7_operand (operands[3], E_SImode))
3796 : 5 : return -1;
3797 : : return 8;
3798 : :
3799 : 23 : case E_V2DImode:
3800 : 23 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3801 : 20 : || !nonimmediate_operand (operands[2], E_V2DImode)
3802 : 41 : || !const_0_to_7_operand (operands[3], E_SImode))
3803 : 5 : return -1;
3804 : : return 9;
3805 : :
3806 : 31 : case E_V8HFmode:
3807 : 31 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
3808 : 31 : || !nonimmediate_operand (operands[2], E_V8HFmode)
3809 : 62 : || !const_0_to_31_operand (operands[3], E_SImode))
3810 : 0 : return -1;
3811 : : return 10;
3812 : :
3813 : 21 : case E_V8SFmode:
3814 : 21 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
3815 : 18 : || !nonimmediate_operand (operands[2], E_V8SFmode)
3816 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3817 : 3 : return -1;
3818 : : return 11;
3819 : :
3820 : 21 : case E_V4SFmode:
3821 : 21 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
3822 : 18 : || !nonimmediate_operand (operands[2], E_V4SFmode)
3823 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3824 : 3 : return -1;
3825 : : return 12;
3826 : :
3827 : 33 : case E_V8DFmode:
3828 : 33 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
3829 : 30 : || !nonimmediate_operand (operands[2], E_V8DFmode)
3830 : 63 : || !const_0_to_31_operand (operands[3], E_SImode))
3831 : 3 : return -1;
3832 : : return 13;
3833 : :
3834 : 21 : case E_V4DFmode:
3835 : 21 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
3836 : 18 : || !nonimmediate_operand (operands[2], E_V4DFmode)
3837 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3838 : 3 : return -1;
3839 : : return 14;
3840 : :
3841 : 21 : case E_V2DFmode:
3842 : 21 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
3843 : 18 : || !nonimmediate_operand (operands[2], E_V2DFmode)
3844 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3845 : 3 : return -1;
3846 : : return 15;
3847 : :
3848 : 26 : case E_V8HImode:
3849 : 26 : if (!nonimmediate_operand (operands[1], E_V8HImode)
3850 : 26 : || !nonimmediate_operand (operands[2], E_V8HImode)
3851 : 50 : || !const_0_to_7_operand (operands[3], E_SImode))
3852 : 2 : return -1;
3853 : : return 16;
3854 : :
3855 : : default:
3856 : : return -1;
3857 : : }
3858 : :
3859 : 21 : case E_SImode:
3860 : 21 : switch (GET_MODE (operands[1]))
3861 : : {
3862 : 7 : case E_V32HFmode:
3863 : 7 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
3864 : 6 : || !nonimmediate_operand (operands[2], E_V32HFmode)
3865 : 13 : || !const_0_to_31_operand (operands[3], E_SImode))
3866 : 1 : return -1;
3867 : : return 17;
3868 : :
3869 : 7 : case E_V32QImode:
3870 : 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
3871 : 6 : || !nonimmediate_operand (operands[2], E_V32QImode)
3872 : 13 : || !const_0_to_7_operand (operands[3], E_SImode))
3873 : 1 : return -1;
3874 : : return 18;
3875 : :
3876 : 7 : case E_V32HImode:
3877 : 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
3878 : 6 : || !nonimmediate_operand (operands[2], E_V32HImode)
3879 : 13 : || !const_0_to_7_operand (operands[3], E_SImode))
3880 : 1 : return -1;
3881 : : return 19;
3882 : :
3883 : : default:
3884 : : return -1;
3885 : : }
3886 : :
3887 : 0 : case E_DImode:
3888 : 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
3889 : 0 : || !nonimmediate_operand (operands[2], E_V64QImode)
3890 : 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3891 : 0 : return -1;
3892 : : return 20;
3893 : :
3894 : : default:
3895 : : return -1;
3896 : : }
3897 : : }
3898 : :
3899 : : int
3900 : 845 : pattern1038 (rtx x1, machine_mode i1)
3901 : : {
3902 : 845 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3903 : 845 : rtx x2, x3;
3904 : 845 : int res ATTRIBUTE_UNUSED;
3905 : 845 : if (!register_operand (operands[0], i1)
3906 : 845 : || GET_MODE (x1) != i1)
3907 : : return -1;
3908 : 844 : x2 = XEXP (x1, 0);
3909 : 844 : if (GET_MODE (x2) != i1)
3910 : : return -1;
3911 : 844 : x3 = XEXP (x2, 0);
3912 : 844 : if (GET_MODE (x3) != i1
3913 : 844 : || !nonimmediate_operand (operands[1], i1)
3914 : 844 : || !nonimmediate_operand (operands[2], i1)
3915 : 1640 : || !nonimmediate_operand (operands[3], i1))
3916 : 48 : return -1;
3917 : : return 0;
3918 : : }
3919 : :
3920 : : int
3921 : 0 : pattern1041 (rtx x1, machine_mode i1, machine_mode i2)
3922 : : {
3923 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3924 : 0 : rtx x2;
3925 : 0 : int res ATTRIBUTE_UNUSED;
3926 : 0 : if (!register_operand (operands[0], i2)
3927 : 0 : || GET_MODE (x1) != i2)
3928 : : return -1;
3929 : 0 : x2 = XEXP (x1, 0);
3930 : 0 : if (GET_MODE (x2) != i2
3931 : 0 : || !register_operand (operands[1], i2)
3932 : 0 : || !vector_operand (operands[2], i1))
3933 : 0 : return -1;
3934 : : return 0;
3935 : : }
3936 : :
3937 : : int
3938 : 7849 : pattern1045 (rtx x1)
3939 : : {
3940 : 7849 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3941 : 7849 : rtx x2, x3, x4, x5, x6, x7;
3942 : 7849 : int res ATTRIBUTE_UNUSED;
3943 : 7849 : x2 = XEXP (x1, 1);
3944 : 7849 : x3 = XEXP (x2, 0);
3945 : 7849 : x4 = XEXP (x3, 0);
3946 : 7849 : if (GET_CODE (x4) != ASHIFT)
3947 : : return -1;
3948 : 2159 : x5 = XEXP (x4, 0);
3949 : 2159 : if (GET_CODE (x5) != ZERO_EXTEND)
3950 : : return -1;
3951 : 1693 : x6 = XEXP (x3, 1);
3952 : 1693 : if (GET_CODE (x6) != ZERO_EXTEND)
3953 : : return -1;
3954 : 1693 : x7 = XEXP (x1, 0);
3955 : 1693 : operands[0] = x7;
3956 : 1693 : return pattern347 (x2); /* [-1, 3] */
3957 : : }
3958 : :
3959 : : int
3960 : 3991 : pattern1051 (rtx x1, machine_mode i1, machine_mode i2)
3961 : : {
3962 : 3991 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3963 : 3991 : rtx x2;
3964 : 3991 : int res ATTRIBUTE_UNUSED;
3965 : 3991 : if (!sse_reg_operand (operands[0], i1)
3966 : 3991 : || GET_MODE (x1) != i1)
3967 : : return -1;
3968 : 3117 : x2 = XEXP (x1, 0);
3969 : 3117 : if (GET_MODE (x2) != i1
3970 : 3117 : || !sse_reg_operand (operands[2], i2)
3971 : 3177 : || !sse_reg_operand (operands[1], i1))
3972 : 3057 : return -1;
3973 : : return 0;
3974 : : }
3975 : :
3976 : : int
3977 : 92 : pattern1056 (rtx x1, machine_mode i1, machine_mode i2)
3978 : : {
3979 : 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3980 : 92 : rtx x2;
3981 : 92 : int res ATTRIBUTE_UNUSED;
3982 : 92 : if (!memory_operand (operands[0], i2)
3983 : 92 : || GET_MODE (x1) != i2)
3984 : : return -1;
3985 : 88 : x2 = XVECEXP (x1, 0, 0);
3986 : 88 : if (GET_MODE (x2) != i2
3987 : 88 : || !register_operand (operands[1], i1))
3988 : 0 : return -1;
3989 : : return 0;
3990 : : }
3991 : :
3992 : : int
3993 : 812 : pattern1061 (rtx x1)
3994 : : {
3995 : 812 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3996 : 812 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3997 : 812 : rtx x10;
3998 : 812 : int res ATTRIBUTE_UNUSED;
3999 : 812 : x2 = XEXP (x1, 1);
4000 : 812 : x3 = XEXP (x2, 0);
4001 : 812 : x4 = XEXP (x3, 0);
4002 : 812 : x5 = XEXP (x4, 0);
4003 : 812 : operands[1] = x5;
4004 : 812 : if (!int248_register_operand (operands[1], E_VOIDmode))
4005 : : return -1;
4006 : 565 : x6 = XEXP (x2, 1);
4007 : 565 : x7 = XEXP (x6, 0);
4008 : 565 : x8 = XEXP (x7, 0);
4009 : 565 : operands[2] = x8;
4010 : 565 : if (!int248_register_operand (operands[2], E_VOIDmode))
4011 : : return -1;
4012 : 371 : x9 = XEXP (x1, 0);
4013 : 371 : switch (GET_CODE (x9))
4014 : : {
4015 : 43 : case STRICT_LOW_PART:
4016 : 43 : x10 = XEXP (x9, 0);
4017 : 43 : operands[0] = x10;
4018 : 43 : if (!register_operand (operands[0], E_QImode))
4019 : : return -1;
4020 : 43 : return pattern1060 (); /* [-1, 2] */
4021 : :
4022 : 272 : case REG:
4023 : 272 : case SUBREG:
4024 : 272 : operands[0] = x9;
4025 : 272 : if (!register_operand (operands[0], E_QImode))
4026 : : return -1;
4027 : 272 : res = pattern1060 ();
4028 : 272 : if (res >= 0)
4029 : 53 : return res + 3; /* [3, 5] */
4030 : : return -1;
4031 : :
4032 : : default:
4033 : : return -1;
4034 : : }
4035 : : }
4036 : :
4037 : : int
4038 : 187 : pattern1078 (rtx x1)
4039 : : {
4040 : 187 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4041 : 187 : int res ATTRIBUTE_UNUSED;
4042 : 187 : switch (GET_MODE (x1))
4043 : : {
4044 : 0 : case E_DImode:
4045 : 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
4046 : 0 : || !nonimmediate_operand (operands[2], E_V64QImode))
4047 : 0 : return -1;
4048 : : return 0;
4049 : :
4050 : 44 : case E_HImode:
4051 : 44 : switch (GET_MODE (operands[1]))
4052 : : {
4053 : 14 : case E_V16QImode:
4054 : 14 : if (!nonimmediate_operand (operands[1], E_V16QImode)
4055 : 14 : || !nonimmediate_operand (operands[2], E_V16QImode))
4056 : 2 : return -1;
4057 : : return 1;
4058 : :
4059 : 16 : case E_V16HImode:
4060 : 16 : if (!nonimmediate_operand (operands[1], E_V16HImode)
4061 : 16 : || !nonimmediate_operand (operands[2], E_V16HImode))
4062 : 2 : return -1;
4063 : : return 2;
4064 : :
4065 : 14 : case E_V16SImode:
4066 : 14 : if (!nonimmediate_operand (operands[1], E_V16SImode)
4067 : 14 : || !nonimmediate_operand (operands[2], E_V16SImode))
4068 : 2 : return -1;
4069 : : return 3;
4070 : :
4071 : : default:
4072 : : return -1;
4073 : : }
4074 : :
4075 : 14 : case E_SImode:
4076 : 14 : switch (GET_MODE (operands[1]))
4077 : : {
4078 : 7 : case E_V32QImode:
4079 : 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
4080 : 7 : || !nonimmediate_operand (operands[2], E_V32QImode))
4081 : 1 : return -1;
4082 : : return 4;
4083 : :
4084 : 7 : case E_V32HImode:
4085 : 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4086 : 7 : || !nonimmediate_operand (operands[2], E_V32HImode))
4087 : 1 : return -1;
4088 : : return 5;
4089 : :
4090 : : default:
4091 : : return -1;
4092 : : }
4093 : :
4094 : 129 : case E_QImode:
4095 : 129 : switch (GET_MODE (operands[1]))
4096 : : {
4097 : 24 : case E_V8HImode:
4098 : 24 : if (!nonimmediate_operand (operands[1], E_V8HImode)
4099 : 24 : || !nonimmediate_operand (operands[2], E_V8HImode))
4100 : 0 : return -1;
4101 : : return 6;
4102 : :
4103 : 21 : case E_V8SImode:
4104 : 21 : if (!nonimmediate_operand (operands[1], E_V8SImode)
4105 : 21 : || !nonimmediate_operand (operands[2], E_V8SImode))
4106 : 3 : return -1;
4107 : : return 7;
4108 : :
4109 : 21 : case E_V4SImode:
4110 : 21 : if (!nonimmediate_operand (operands[1], E_V4SImode)
4111 : 21 : || !nonimmediate_operand (operands[2], E_V4SImode))
4112 : 3 : return -1;
4113 : : return 8;
4114 : :
4115 : 21 : case E_V8DImode:
4116 : 21 : if (!nonimmediate_operand (operands[1], E_V8DImode)
4117 : 21 : || !nonimmediate_operand (operands[2], E_V8DImode))
4118 : 3 : return -1;
4119 : : return 9;
4120 : :
4121 : 21 : case E_V4DImode:
4122 : 21 : if (!nonimmediate_operand (operands[1], E_V4DImode)
4123 : 21 : || !nonimmediate_operand (operands[2], E_V4DImode))
4124 : 3 : return -1;
4125 : : return 10;
4126 : :
4127 : 21 : case E_V2DImode:
4128 : 21 : if (!nonimmediate_operand (operands[1], E_V2DImode)
4129 : 21 : || !nonimmediate_operand (operands[2], E_V2DImode))
4130 : 3 : return -1;
4131 : : return 11;
4132 : :
4133 : : default:
4134 : : return -1;
4135 : : }
4136 : :
4137 : : default:
4138 : : return -1;
4139 : : }
4140 : : }
4141 : :
4142 : : int
4143 : 1278 : pattern1112 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4144 : : {
4145 : 1278 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4146 : 1278 : rtx x2, x3, x4, x5, x6;
4147 : 1278 : int res ATTRIBUTE_UNUSED;
4148 : 1278 : if (!register_operand (operands[0], i2)
4149 : 1278 : || GET_MODE (x1) != i2)
4150 : : return -1;
4151 : 1246 : x2 = XEXP (x1, 0);
4152 : 1246 : if (GET_MODE (x2) != i2)
4153 : : return -1;
4154 : 1246 : x3 = XEXP (x2, 0);
4155 : 1246 : if (GET_MODE (x3) != i3)
4156 : : return -1;
4157 : 1246 : x4 = XEXP (x3, 0);
4158 : 1246 : if (GET_MODE (x4) != i3)
4159 : : return -1;
4160 : 1246 : x5 = XEXP (x4, 0);
4161 : 1246 : if (GET_MODE (x5) != i3
4162 : 1246 : || !vector_operand (operands[1], i2))
4163 : 0 : return -1;
4164 : 1246 : x6 = XEXP (x4, 1);
4165 : 1246 : if (GET_MODE (x6) != i3
4166 : 1246 : || !vector_operand (operands[2], i2)
4167 : 1246 : || !nonimm_or_0_operand (operands[3], i2)
4168 : 2462 : || !register_operand (operands[4], i1))
4169 : 118 : return -1;
4170 : : return 0;
4171 : : }
4172 : :
4173 : : int
4174 : 6299 : pattern1126 (rtx x1, machine_mode i1)
4175 : : {
4176 : 6299 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4177 : 6299 : int res ATTRIBUTE_UNUSED;
4178 : 6299 : if (!register_operand (operands[0], i1)
4179 : 6286 : || GET_MODE (x1) != i1
4180 : 6286 : || !register_operand (operands[1], i1)
4181 : 6145 : || !register_operand (operands[2], i1)
4182 : 12286 : || !bcst_vector_operand (operands[3], i1))
4183 : 333 : return -1;
4184 : : return 0;
4185 : : }
4186 : :
4187 : : int
4188 : 8334 : pattern1130 (rtx x1, machine_mode i1, machine_mode i2)
4189 : : {
4190 : 8334 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4191 : 8334 : rtx x2;
4192 : 8334 : int res ATTRIBUTE_UNUSED;
4193 : 8334 : if (!nonimmediate_operand (operands[0], i1)
4194 : 8334 : || GET_MODE (x1) != i1)
4195 : : return -1;
4196 : 8330 : x2 = XEXP (x1, 0);
4197 : 8330 : if (GET_MODE (x2) != i2
4198 : 8330 : || !nonimmediate_operand (operands[1], i1))
4199 : 2924 : return -1;
4200 : : return 0;
4201 : : }
4202 : :
4203 : : int
4204 : 0 : pattern1139 (rtx x1)
4205 : : {
4206 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4207 : 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4208 : 0 : rtx x10;
4209 : 0 : int res ATTRIBUTE_UNUSED;
4210 : 0 : x2 = XVECEXP (x1, 0, 0);
4211 : 0 : x3 = XEXP (x2, 1);
4212 : 0 : x4 = XVECEXP (x3, 0, 0);
4213 : 0 : x5 = XEXP (x4, 0);
4214 : 0 : operands[5] = x5;
4215 : 0 : x6 = XVECEXP (x3, 0, 1);
4216 : 0 : operands[2] = x6;
4217 : 0 : if (!register_operand (operands[2], E_QImode))
4218 : : return -1;
4219 : 0 : x7 = XVECEXP (x3, 0, 2);
4220 : 0 : operands[3] = x7;
4221 : 0 : x8 = XVECEXP (x3, 0, 3);
4222 : 0 : operands[4] = x8;
4223 : 0 : x9 = XVECEXP (x1, 0, 1);
4224 : 0 : x10 = XEXP (x9, 0);
4225 : 0 : operands[1] = x10;
4226 : 0 : switch (GET_MODE (operands[0]))
4227 : : {
4228 : 0 : case E_SImode:
4229 : 0 : return pattern1138 (x3,
4230 : 0 : E_SImode); /* [-1, 0] */
4231 : :
4232 : 0 : case E_DImode:
4233 : 0 : if (pattern1138 (x3,
4234 : : E_DImode) != 0)
4235 : : return -1;
4236 : : return 1;
4237 : :
4238 : : default:
4239 : : return -1;
4240 : : }
4241 : : }
4242 : :
4243 : : int
4244 : 625 : pattern1151 (rtx x1)
4245 : : {
4246 : 625 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4247 : 625 : rtx x2, x3, x4, x5, x6, x7;
4248 : 625 : int res ATTRIBUTE_UNUSED;
4249 : 625 : x2 = XEXP (x1, 0);
4250 : 625 : x3 = XEXP (x2, 0);
4251 : 625 : x4 = XEXP (x3, 1);
4252 : 625 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4253 : : return -1;
4254 : 563 : x5 = XEXP (x3, 0);
4255 : 563 : operands[3] = x5;
4256 : 563 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
4257 : : return -1;
4258 : 412 : x6 = XEXP (x2, 1);
4259 : 412 : operands[1] = x6;
4260 : 412 : x7 = XEXP (x1, 1);
4261 : 412 : operands[2] = x7;
4262 : 412 : switch (GET_MODE (operands[0]))
4263 : : {
4264 : 0 : case E_QImode:
4265 : 0 : return pattern1149 (x1,
4266 : 0 : E_QImode); /* [-1, 0] */
4267 : :
4268 : 0 : case E_HImode:
4269 : 0 : if (pattern1149 (x1,
4270 : : E_HImode) != 0)
4271 : : return -1;
4272 : : return 1;
4273 : :
4274 : 218 : case E_SImode:
4275 : 218 : if (pattern1150 (x1,
4276 : : E_SImode) != 0)
4277 : : return -1;
4278 : : return 2;
4279 : :
4280 : 194 : case E_DImode:
4281 : 194 : if (pattern1150 (x1,
4282 : : E_DImode) != 0)
4283 : : return -1;
4284 : : return 3;
4285 : :
4286 : : default:
4287 : : return -1;
4288 : : }
4289 : : }
4290 : :
4291 : : int
4292 : 1375372 : pattern1166 (rtx x1)
4293 : : {
4294 : 1375372 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4295 : 1375372 : rtx x2, x3, x4;
4296 : 1375372 : int res ATTRIBUTE_UNUSED;
4297 : 1375372 : x2 = XEXP (x1, 1);
4298 : 1375372 : x3 = XEXP (x2, 1);
4299 : 1375372 : operands[2] = x3;
4300 : 1375372 : x4 = XEXP (x1, 0);
4301 : 1375372 : switch (GET_CODE (x4))
4302 : : {
4303 : 2915 : case STRICT_LOW_PART:
4304 : 2915 : return pattern542 (x1); /* [-1, 1] */
4305 : :
4306 : 1372457 : case REG:
4307 : 1372457 : case SUBREG:
4308 : 1372457 : case MEM:
4309 : 1372457 : operands[0] = x4;
4310 : 1372457 : switch (GET_MODE (operands[0]))
4311 : : {
4312 : 473647 : case E_DImode:
4313 : 473647 : if (GET_MODE (x2) != E_DImode)
4314 : : return -1;
4315 : : return 2;
4316 : :
4317 : 4770 : case E_TImode:
4318 : 4770 : if (pattern549 (x2,
4319 : : E_TImode) != 0)
4320 : : return -1;
4321 : : return 3;
4322 : :
4323 : 53694 : case E_HImode:
4324 : 53694 : if (GET_MODE (x2) != E_HImode
4325 : 53694 : || !const_int_operand (operands[2], E_HImode))
4326 : 23713 : return -1;
4327 : : return 4;
4328 : :
4329 : 594796 : case E_SImode:
4330 : 594796 : if (GET_MODE (x2) != E_SImode
4331 : 594796 : || !const_int_operand (operands[2], E_SImode))
4332 : 389450 : return -1;
4333 : : return 5;
4334 : :
4335 : : default:
4336 : : return -1;
4337 : : }
4338 : :
4339 : : default:
4340 : : return -1;
4341 : : }
4342 : : }
4343 : :
4344 : : int
4345 : 9688 : pattern1182 (rtx x1, machine_mode i1)
4346 : : {
4347 : 9688 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4348 : 9688 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4349 : 9688 : rtx x10, x11, x12;
4350 : 9688 : int res ATTRIBUTE_UNUSED;
4351 : 9688 : x2 = XVECEXP (x1, 0, 0);
4352 : 9688 : x3 = XEXP (x2, 1);
4353 : 9688 : if (GET_MODE (x3) != i1)
4354 : : return -1;
4355 : 9619 : x4 = XEXP (x3, 0);
4356 : 9619 : if (GET_CODE (x4) != MINUS
4357 : 8 : || GET_MODE (x4) != i1)
4358 : : return -1;
4359 : 8 : x5 = XEXP (x4, 1);
4360 : 8 : if (!ix86_carry_flag_operator (x5, i1))
4361 : : return -1;
4362 : 8 : operands[4] = x5;
4363 : 8 : x6 = XEXP (x5, 1);
4364 : 8 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4365 : : return -1;
4366 : 8 : x7 = XVECEXP (x1, 0, 1);
4367 : 8 : if (GET_CODE (x7) != CLOBBER)
4368 : : return -1;
4369 : 8 : x8 = XEXP (x7, 0);
4370 : 8 : if (GET_CODE (x8) != REG
4371 : 8 : || REGNO (x8) != 17
4372 : 16 : || GET_MODE (x8) != E_CCmode)
4373 : : return -1;
4374 : 8 : x9 = XEXP (x5, 0);
4375 : 8 : operands[3] = x9;
4376 : 8 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4377 : : return -1;
4378 : 8 : x10 = XEXP (x3, 1);
4379 : 8 : operands[2] = x10;
4380 : 8 : if (!memory_operand (operands[2], i1))
4381 : : return -1;
4382 : 8 : x11 = XEXP (x4, 0);
4383 : 8 : if (!rtx_equal_p (x11, operands[0]))
4384 : : return -1;
4385 : 8 : x12 = XEXP (x2, 0);
4386 : 8 : return pattern1180 (x12,
4387 : 8 : i1); /* [-1, 1] */
4388 : : }
4389 : :
4390 : : int
4391 : 506 : pattern1193 (rtx x1, machine_mode i1)
4392 : : {
4393 : 506 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4394 : 506 : rtx x2, x3;
4395 : 506 : int res ATTRIBUTE_UNUSED;
4396 : 506 : if (!nonimmediate_operand (operands[0], i1)
4397 : 506 : || GET_MODE (x1) != i1)
4398 : : return -1;
4399 : 506 : x2 = XEXP (x1, 0);
4400 : 506 : if (GET_MODE (x2) != i1)
4401 : : return -1;
4402 : 506 : x3 = XEXP (x2, 0);
4403 : 506 : if (GET_MODE (x3) != i1
4404 : 506 : || !nonimmediate_operand (operands[1], i1)
4405 : 809 : || !x86_64_immediate_operand (operands[2], i1))
4406 : 491 : return -1;
4407 : : return 0;
4408 : : }
4409 : :
4410 : : int
4411 : 1007 : pattern1202 (rtx x1)
4412 : : {
4413 : 1007 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4414 : 1007 : rtx x2, x3, x4, x5;
4415 : 1007 : int res ATTRIBUTE_UNUSED;
4416 : 1007 : x2 = XEXP (x1, 0);
4417 : 1007 : x3 = XEXP (x2, 1);
4418 : 1007 : switch (GET_CODE (x3))
4419 : : {
4420 : 824 : case REG:
4421 : 824 : case SUBREG:
4422 : 824 : case MEM:
4423 : 824 : x4 = XEXP (x2, 2);
4424 : 824 : operands[4] = x4;
4425 : 824 : switch (GET_MODE (operands[0]))
4426 : : {
4427 : : case E_V8HFmode:
4428 : : return 0;
4429 : :
4430 : : case E_V4SFmode:
4431 : : return 1;
4432 : :
4433 : : case E_V2DFmode:
4434 : : return 2;
4435 : :
4436 : : default:
4437 : : return -1;
4438 : : }
4439 : :
4440 : 183 : case CONST_INT:
4441 : 183 : case CONST_DOUBLE:
4442 : 183 : case CONST_VECTOR:
4443 : 183 : operands[4] = x3;
4444 : 183 : x4 = XEXP (x2, 2);
4445 : 183 : operands[5] = x4;
4446 : 183 : x5 = XEXP (x1, 1);
4447 : 183 : if (!rtx_equal_p (x5, operands[1]))
4448 : : return -1;
4449 : 183 : switch (GET_MODE (operands[0]))
4450 : : {
4451 : : case E_V8HFmode:
4452 : : return 3;
4453 : :
4454 : : case E_V4SFmode:
4455 : : return 4;
4456 : :
4457 : : case E_V2DFmode:
4458 : : return 5;
4459 : :
4460 : : default:
4461 : : return -1;
4462 : : }
4463 : :
4464 : : default:
4465 : : return -1;
4466 : : }
4467 : : }
4468 : :
4469 : : int
4470 : 37 : pattern1216 (rtx x1, int i1, int i2, int i3, int i4, int i5)
4471 : : {
4472 : 37 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4473 : 37 : rtx x2, x3, x4, x5, x6;
4474 : 37 : int res ATTRIBUTE_UNUSED;
4475 : 37 : x2 = XVECEXP (x1, 0, 3);
4476 : 37 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
4477 : : return -1;
4478 : 37 : x3 = XVECEXP (x1, 0, 4);
4479 : 37 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4480 : : return -1;
4481 : 37 : x4 = XVECEXP (x1, 0, 5);
4482 : 37 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4483 : : return -1;
4484 : 37 : x5 = XVECEXP (x1, 0, 6);
4485 : 37 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4486 : : return -1;
4487 : 37 : x6 = XVECEXP (x1, 0, 7);
4488 : 37 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4489 : 0 : return -1;
4490 : : return 0;
4491 : : }
4492 : :
4493 : : int
4494 : 145155 : pattern1222 (rtx x1, machine_mode i1)
4495 : : {
4496 : 145155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4497 : 145155 : rtx x2, x3, x4;
4498 : 145155 : int res ATTRIBUTE_UNUSED;
4499 : 145155 : x2 = XEXP (x1, 1);
4500 : 145155 : x3 = XEXP (x2, 1);
4501 : 145155 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4502 : 145155 : || GET_MODE (x3) != E_QImode)
4503 : : return -1;
4504 : 145155 : x4 = XEXP (x1, 0);
4505 : 145155 : operands[0] = x4;
4506 : 145155 : return pattern1221 (x2,
4507 : 145155 : i1); /* [-1, 2] */
4508 : : }
4509 : :
4510 : : int
4511 : 8 : pattern1226 (rtx x1)
4512 : : {
4513 : 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4514 : 8 : rtx x2, x3, x4, x5, x6, x7;
4515 : 8 : int res ATTRIBUTE_UNUSED;
4516 : 8 : x2 = XVECEXP (x1, 0, 1);
4517 : 8 : x3 = XEXP (x2, 0);
4518 : 8 : operands[0] = x3;
4519 : 8 : x4 = XVECEXP (x1, 0, 0);
4520 : 8 : x5 = XEXP (x4, 1);
4521 : 8 : x6 = XEXP (x5, 0);
4522 : 8 : switch (GET_MODE (x6))
4523 : : {
4524 : 6 : case E_SImode:
4525 : 6 : x7 = XEXP (x6, 0);
4526 : 6 : if (GET_MODE (x7) != E_SImode
4527 : 6 : || !nonimmediate_operand (operands[1], E_SImode)
4528 : 12 : || !scratch_operand (operands[0], E_SImode))
4529 : 0 : return -1;
4530 : : return 0;
4531 : :
4532 : 2 : case E_DImode:
4533 : 2 : x7 = XEXP (x6, 0);
4534 : 2 : if (GET_MODE (x7) != E_DImode
4535 : 2 : || !nonimmediate_operand (operands[1], E_DImode)
4536 : 4 : || !scratch_operand (operands[0], E_DImode))
4537 : 0 : return -1;
4538 : : return 1;
4539 : :
4540 : : default:
4541 : : return -1;
4542 : : }
4543 : : }
4544 : :
4545 : : int
4546 : 504 : pattern1234 (rtx x1, machine_mode i1)
4547 : : {
4548 : 504 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4549 : 504 : rtx x2, x3;
4550 : 504 : int res ATTRIBUTE_UNUSED;
4551 : 504 : if (!register_operand (operands[0], i1)
4552 : 504 : || GET_MODE (x1) != i1)
4553 : : return -1;
4554 : 494 : x2 = XEXP (x1, 0);
4555 : 494 : if (GET_MODE (x2) != i1)
4556 : : return -1;
4557 : 494 : x3 = XEXP (x2, 0);
4558 : 494 : if (GET_MODE (x3) != i1
4559 : 494 : || !nonimmediate_operand (operands[1], i1))
4560 : 2 : return -1;
4561 : : return 0;
4562 : : }
4563 : :
4564 : : int
4565 : 2993094 : pattern1239 (rtx x1, machine_mode i1)
4566 : : {
4567 : 2993094 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4568 : 2993094 : int res ATTRIBUTE_UNUSED;
4569 : 2993094 : if (!mask_reg_operand (operands[0], i1)
4570 : 452 : || GET_MODE (x1) != i1
4571 : 452 : || !mask_reg_operand (operands[1], i1)
4572 : 2993546 : || !mask_reg_operand (operands[2], i1))
4573 : 2992642 : return -1;
4574 : : return 0;
4575 : : }
4576 : :
4577 : : int
4578 : 118421 : pattern1246 (rtx x1, machine_mode i1)
4579 : : {
4580 : 118421 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4581 : 118421 : rtx x2, x3, x4, x5, x6;
4582 : 118421 : int res ATTRIBUTE_UNUSED;
4583 : 118421 : if (peep2_current_count < 4
4584 : 109885 : || GET_CODE (x1) != SET)
4585 : : return -1;
4586 : 103880 : x2 = XEXP (x1, 1);
4587 : 103880 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4588 : : return -1;
4589 : 53788 : x3 = XEXP (x1, 0);
4590 : 53788 : operands[3] = x3;
4591 : 53788 : if (!memory_operand (operands[3], i1))
4592 : : return -1;
4593 : 46354 : x4 = PATTERN (peep2_next_insn (3));
4594 : 46354 : if (GET_CODE (x4) != SET)
4595 : : return -1;
4596 : 44145 : x5 = XEXP (x4, 1);
4597 : 44145 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4598 : : return -1;
4599 : 26961 : x6 = XEXP (x4, 0);
4600 : 26961 : operands[4] = x6;
4601 : 26961 : if (!memory_operand (operands[4], i1))
4602 : : return -1;
4603 : : return 0;
4604 : : }
4605 : :
4606 : : int
4607 : 4938 : pattern1256 (rtx x1, machine_mode i1)
4608 : : {
4609 : 4938 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4610 : 4938 : rtx x2;
4611 : 4938 : int res ATTRIBUTE_UNUSED;
4612 : 4938 : if (!nonimmediate_operand (operands[0], i1)
4613 : 4938 : || GET_MODE (x1) != i1)
4614 : : return -1;
4615 : 4938 : x2 = XEXP (x1, 0);
4616 : 4938 : if (GET_MODE (x2) != i1
4617 : 4938 : || !nonimmediate_operand (operands[1], i1)
4618 : 4058 : || !ix86_carry_flag_operator (operands[4], i1)
4619 : 8996 : || !x86_64_general_operand (operands[2], i1))
4620 : 1779 : return -1;
4621 : : return 0;
4622 : : }
4623 : :
4624 : : int
4625 : 1103 : pattern1265 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4626 : : {
4627 : 1103 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4628 : 1103 : rtx x2, x3;
4629 : 1103 : int res ATTRIBUTE_UNUSED;
4630 : 1103 : if (!register_operand (operands[0], i1)
4631 : 1103 : || GET_MODE (x1) != i1)
4632 : : return -1;
4633 : 1073 : x2 = XEXP (x1, 0);
4634 : 1073 : if (GET_MODE (x2) != i1
4635 : 1073 : || !register_operand (operands[1], i1))
4636 : 0 : return -1;
4637 : 1073 : x3 = XEXP (x2, 1);
4638 : 1073 : if (GET_MODE (x3) != i1
4639 : 1073 : || !nonimmediate_operand (operands[2], i2)
4640 : 1073 : || !nonimm_or_0_operand (operands[4], i1)
4641 : 2132 : || !register_operand (operands[5], i3))
4642 : 74 : return -1;
4643 : : return 0;
4644 : : }
4645 : :
4646 : : int
4647 : 3069 : pattern1273 (rtx x1)
4648 : : {
4649 : 3069 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4650 : 3069 : rtx x2;
4651 : 3069 : int res ATTRIBUTE_UNUSED;
4652 : 3069 : if (!const_0_to_7_operand (operands[5], E_SImode))
4653 : : return -1;
4654 : 2917 : switch (GET_MODE (operands[0]))
4655 : : {
4656 : 94 : case E_V16QImode:
4657 : 94 : if (!register_operand (operands[0], E_V16QImode)
4658 : 94 : || GET_MODE (x1) != E_V16QImode)
4659 : : return -1;
4660 : 94 : x2 = XEXP (x1, 2);
4661 : 94 : if (GET_MODE (x2) != E_HImode)
4662 : : return -1;
4663 : : return 0;
4664 : :
4665 : 116 : case E_V8HImode:
4666 : 116 : if (!register_operand (operands[0], E_V8HImode)
4667 : 116 : || GET_MODE (x1) != E_V8HImode)
4668 : : return -1;
4669 : 116 : x2 = XEXP (x1, 2);
4670 : 116 : if (GET_MODE (x2) != E_QImode)
4671 : : return -1;
4672 : : return 1;
4673 : :
4674 : 675 : case E_V4SImode:
4675 : 675 : if (!register_operand (operands[0], E_V4SImode)
4676 : 675 : || GET_MODE (x1) != E_V4SImode)
4677 : : return -1;
4678 : 667 : x2 = XEXP (x1, 2);
4679 : 667 : if (GET_MODE (x2) != E_QImode)
4680 : : return -1;
4681 : : return 2;
4682 : :
4683 : 67 : case E_V2DImode:
4684 : 67 : if (!register_operand (operands[0], E_V2DImode)
4685 : 67 : || GET_MODE (x1) != E_V2DImode)
4686 : : return -1;
4687 : 67 : x2 = XEXP (x1, 2);
4688 : 67 : if (GET_MODE (x2) != E_QImode)
4689 : : return -1;
4690 : : return 3;
4691 : :
4692 : 88 : case E_V32QImode:
4693 : 88 : if (!register_operand (operands[0], E_V32QImode)
4694 : 88 : || GET_MODE (x1) != E_V32QImode)
4695 : : return -1;
4696 : 88 : x2 = XEXP (x1, 2);
4697 : 88 : if (GET_MODE (x2) != E_SImode)
4698 : : return -1;
4699 : : return 4;
4700 : :
4701 : 105 : case E_V16HImode:
4702 : 105 : if (!register_operand (operands[0], E_V16HImode)
4703 : 105 : || GET_MODE (x1) != E_V16HImode)
4704 : : return -1;
4705 : 105 : x2 = XEXP (x1, 2);
4706 : 105 : if (GET_MODE (x2) != E_HImode)
4707 : : return -1;
4708 : : return 5;
4709 : :
4710 : 631 : case E_V8SImode:
4711 : 631 : if (!register_operand (operands[0], E_V8SImode)
4712 : 631 : || GET_MODE (x1) != E_V8SImode)
4713 : : return -1;
4714 : 631 : x2 = XEXP (x1, 2);
4715 : 631 : if (GET_MODE (x2) != E_QImode)
4716 : : return -1;
4717 : : return 6;
4718 : :
4719 : 75 : case E_V4DImode:
4720 : 75 : if (!register_operand (operands[0], E_V4DImode)
4721 : 75 : || GET_MODE (x1) != E_V4DImode)
4722 : : return -1;
4723 : 75 : x2 = XEXP (x1, 2);
4724 : 75 : if (GET_MODE (x2) != E_QImode)
4725 : : return -1;
4726 : : return 7;
4727 : :
4728 : : default:
4729 : : return -1;
4730 : : }
4731 : : }
4732 : :
4733 : : int
4734 : 7780 : pattern1304 (rtx x1)
4735 : : {
4736 : 7780 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4737 : 7780 : rtx x2, x3, x4, x5, x6, x7;
4738 : 7780 : int res ATTRIBUTE_UNUSED;
4739 : 7780 : x2 = XEXP (x1, 1);
4740 : 7780 : x3 = XEXP (x2, 2);
4741 : 7780 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4742 : 7780 : || GET_MODE (x3) != E_QImode)
4743 : : return -1;
4744 : 7780 : x4 = XEXP (x3, 0);
4745 : 7780 : if (GET_CODE (x4) != AND)
4746 : : return -1;
4747 : 985 : x5 = XEXP (x1, 0);
4748 : 985 : operands[0] = x5;
4749 : 985 : x6 = XEXP (x4, 0);
4750 : 985 : operands[2] = x6;
4751 : 985 : x7 = XEXP (x4, 1);
4752 : 985 : operands[3] = x7;
4753 : 985 : if (!const_int_operand (operands[3], E_VOIDmode))
4754 : : return -1;
4755 : 985 : switch (GET_MODE (operands[0]))
4756 : : {
4757 : 637 : case E_SImode:
4758 : 637 : return pattern1303 (x2,
4759 : 637 : E_SImode); /* [-1, 0] */
4760 : :
4761 : 250 : case E_DImode:
4762 : 250 : if (pattern1303 (x2,
4763 : : E_DImode) != 0)
4764 : : return -1;
4765 : : return 1;
4766 : :
4767 : : default:
4768 : : return -1;
4769 : : }
4770 : : }
4771 : :
4772 : : int
4773 : 632 : pattern1314 (rtx x1)
4774 : : {
4775 : 632 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4776 : 632 : rtx x2, x3, x4, x5, x6, x7;
4777 : 632 : int res ATTRIBUTE_UNUSED;
4778 : 632 : x2 = XEXP (x1, 0);
4779 : 632 : x3 = XEXP (x2, 1);
4780 : 632 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4781 : 632 : || GET_MODE (x3) != E_QImode)
4782 : : return -1;
4783 : 632 : x4 = XEXP (x3, 0);
4784 : 632 : if (GET_CODE (x4) != AND)
4785 : : return -1;
4786 : 158 : x5 = XEXP (x4, 0);
4787 : 158 : operands[1] = x5;
4788 : 158 : if (!int248_register_operand (operands[1], E_VOIDmode))
4789 : : return -1;
4790 : 153 : x6 = XEXP (x4, 1);
4791 : 153 : operands[2] = x6;
4792 : 153 : if (!const_int_operand (operands[2], E_VOIDmode))
4793 : : return -1;
4794 : 153 : x7 = XEXP (x1, 1);
4795 : 153 : operands[3] = x7;
4796 : 153 : switch (GET_MODE (operands[0]))
4797 : : {
4798 : 60 : case E_SImode:
4799 : 60 : return pattern361 (x1,
4800 : 60 : E_SImode); /* [-1, 0] */
4801 : :
4802 : 65 : case E_DImode:
4803 : 65 : if (pattern361 (x1,
4804 : : E_DImode) != 0)
4805 : : return -1;
4806 : : return 1;
4807 : :
4808 : : default:
4809 : : return -1;
4810 : : }
4811 : : }
4812 : :
4813 : : int
4814 : 0 : pattern1330 (rtx x1)
4815 : : {
4816 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4817 : 0 : rtx x2, x3, x4, x5, x6;
4818 : 0 : int res ATTRIBUTE_UNUSED;
4819 : 0 : x2 = XEXP (x1, 1);
4820 : 0 : if (GET_CODE (x2) != CALL)
4821 : : return -1;
4822 : 0 : x3 = XEXP (x2, 0);
4823 : 0 : if (GET_CODE (x3) != MEM
4824 : 0 : || GET_MODE (x3) != E_QImode)
4825 : : return -1;
4826 : 0 : x4 = XEXP (x1, 0);
4827 : 0 : operands[2] = x4;
4828 : 0 : x5 = XEXP (x2, 1);
4829 : 0 : operands[3] = x5;
4830 : 0 : x6 = XEXP (x3, 0);
4831 : 0 : if (!rtx_equal_p (x6, operands[0]))
4832 : : return -1;
4833 : : return 0;
4834 : : }
4835 : :
4836 : : int
4837 : 224250 : pattern1335 (rtx x1, machine_mode i1)
4838 : : {
4839 : 224250 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4840 : 224250 : rtx x2, x3, x4, x5, x6, x7, x8;
4841 : 224250 : int res ATTRIBUTE_UNUSED;
4842 : 224250 : x2 = XVECEXP (x1, 0, 0);
4843 : 224250 : x3 = XEXP (x2, 0);
4844 : 224250 : if (GET_CODE (x3) != REG
4845 : 224250 : || REGNO (x3) != 17)
4846 : : return -1;
4847 : 8060 : x4 = XVECEXP (x1, 0, 1);
4848 : 8060 : if (GET_CODE (x4) != SET)
4849 : : return -1;
4850 : 7043 : x5 = XEXP (x2, 1);
4851 : 7043 : operands[5] = x5;
4852 : 7043 : x6 = XEXP (x4, 1);
4853 : 7043 : operands[6] = x6;
4854 : 7043 : x7 = XEXP (x4, 0);
4855 : 7043 : if (!rtx_equal_p (x7, operands[0]))
4856 : : return -1;
4857 : 6839 : x8 = PATTERN (peep2_next_insn (2));
4858 : 6839 : return pattern1334 (x8,
4859 : 6839 : i1); /* [-1, 0] */
4860 : : }
4861 : :
4862 : : int
4863 : 14 : pattern1345 (rtx x1, machine_mode i1)
4864 : : {
4865 : 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4866 : 14 : rtx x2;
4867 : 14 : int res ATTRIBUTE_UNUSED;
4868 : 14 : if (!register_operand (operands[0], i1)
4869 : 14 : || GET_MODE (x1) != i1)
4870 : : return -1;
4871 : 14 : x2 = XEXP (x1, 0);
4872 : 14 : if (GET_MODE (x2) != i1
4873 : 14 : || !nonimmediate_operand (operands[1], i1))
4874 : 0 : return -1;
4875 : : return 0;
4876 : : }
4877 : :
4878 : : int
4879 : 765 : pattern1350 (rtx x1)
4880 : : {
4881 : 765 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4882 : 765 : rtx x2, x3, x4, x5, x6, x7, x8;
4883 : 765 : int res ATTRIBUTE_UNUSED;
4884 : 765 : if (!register_operand (operands[0], E_DImode))
4885 : : return -1;
4886 : 550 : x2 = XEXP (x1, 0);
4887 : 550 : x3 = XEXP (x2, 0);
4888 : 550 : operands[1] = x3;
4889 : 550 : if (!nonimmediate_operand (operands[1], E_DImode))
4890 : : return -1;
4891 : 550 : x4 = XEXP (x1, 1);
4892 : 550 : if (GET_MODE (x4) != E_DImode)
4893 : : return -1;
4894 : 550 : x5 = XEXP (x4, 0);
4895 : 550 : if (GET_MODE (x5) != E_TImode)
4896 : : return -1;
4897 : 550 : x6 = XEXP (x5, 0);
4898 : 550 : if (GET_MODE (x6) != E_TImode)
4899 : : return -1;
4900 : 550 : x7 = XEXP (x6, 0);
4901 : 550 : operands[2] = x7;
4902 : 550 : if (!register_operand (operands[2], E_DImode))
4903 : : return -1;
4904 : 550 : x8 = XEXP (x5, 1);
4905 : 550 : operands[4] = x8;
4906 : 550 : if (!const_0_to_255_operand (operands[4], E_QImode))
4907 : : return -1;
4908 : : return 0;
4909 : : }
4910 : :
4911 : : int
4912 : 853 : pattern1360 (rtx x1, machine_mode i1)
4913 : : {
4914 : 853 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4915 : 853 : rtx x2, x3;
4916 : 853 : int res ATTRIBUTE_UNUSED;
4917 : 853 : if (!register_operand (operands[0], i1)
4918 : 853 : || GET_MODE (x1) != i1)
4919 : : return -1;
4920 : 816 : x2 = XEXP (x1, 0);
4921 : 816 : if (GET_MODE (x2) != i1)
4922 : : return -1;
4923 : 816 : x3 = XEXP (x2, 0);
4924 : 816 : if (GET_MODE (x3) != i1
4925 : 816 : || !nonimmediate_operand (operands[1], i1)
4926 : 798 : || !nonimm_or_0_operand (operands[3], i1)
4927 : 1610 : || !register_operand (operands[2], i1))
4928 : 43 : return -1;
4929 : : return 0;
4930 : : }
4931 : :
4932 : : int
4933 : 279 : pattern1370 (rtx x1, machine_mode i1, machine_mode i2)
4934 : : {
4935 : 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4936 : 279 : rtx x2, x3;
4937 : 279 : int res ATTRIBUTE_UNUSED;
4938 : 279 : if (!register_operand (operands[0], i2)
4939 : 279 : || GET_MODE (x1) != i2)
4940 : : return -1;
4941 : 273 : x2 = XEXP (x1, 0);
4942 : 273 : if (GET_MODE (x2) != i2
4943 : 273 : || !nonimmediate_operand (operands[1], i2))
4944 : 0 : return -1;
4945 : 273 : x3 = XEXP (x2, 2);
4946 : 273 : return pattern1369 (x3,
4947 : : i1,
4948 : 273 : i2); /* [-1, 0] */
4949 : : }
4950 : :
4951 : : int
4952 : 279 : pattern1380 (rtx x1, machine_mode i1, machine_mode i2)
4953 : : {
4954 : 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4955 : 279 : rtx x2, x3, x4;
4956 : 279 : int res ATTRIBUTE_UNUSED;
4957 : 279 : if (!register_operand (operands[0], i2)
4958 : 279 : || GET_MODE (x1) != i2)
4959 : : return -1;
4960 : 273 : x2 = XEXP (x1, 0);
4961 : 273 : if (GET_MODE (x2) != i2)
4962 : : return -1;
4963 : 273 : x3 = XEXP (x2, 0);
4964 : 273 : if (GET_MODE (x3) != i2
4965 : 273 : || !nonimmediate_operand (operands[1], i2))
4966 : 0 : return -1;
4967 : 273 : x4 = XEXP (x2, 2);
4968 : 273 : return pattern1369 (x4,
4969 : : i1,
4970 : 273 : i2); /* [-1, 0] */
4971 : : }
4972 : :
4973 : : int
4974 : 1561 : pattern1389 (rtx x1)
4975 : : {
4976 : 1561 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4977 : 1561 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4978 : 1561 : rtx x10, x11;
4979 : 1561 : int res ATTRIBUTE_UNUSED;
4980 : 1561 : x2 = XVECEXP (x1, 0, 0);
4981 : 1561 : x3 = XEXP (x2, 0);
4982 : 1561 : x4 = XEXP (x3, 1);
4983 : 1561 : switch (GET_CODE (x4))
4984 : : {
4985 : 1126 : case REG:
4986 : 1126 : case SUBREG:
4987 : 1126 : case MEM:
4988 : 1126 : x5 = XEXP (x3, 2);
4989 : 1126 : operands[4] = x5;
4990 : 1126 : x6 = XVECEXP (x1, 0, 1);
4991 : 1126 : operands[5] = x6;
4992 : 1126 : switch (GET_MODE (operands[0]))
4993 : : {
4994 : 572 : case E_V8HFmode:
4995 : 572 : return pattern1388 (x1,
4996 : 572 : E_V8HFmode); /* [-1, 0] */
4997 : :
4998 : 277 : case E_V4SFmode:
4999 : 277 : if (pattern1388 (x1,
5000 : : E_V4SFmode) != 0)
5001 : : return -1;
5002 : : return 1;
5003 : :
5004 : 277 : case E_V2DFmode:
5005 : 277 : if (pattern1388 (x1,
5006 : : E_V2DFmode) != 0)
5007 : : return -1;
5008 : : return 2;
5009 : :
5010 : : default:
5011 : : return -1;
5012 : : }
5013 : :
5014 : 435 : case CONST_INT:
5015 : 435 : case CONST_DOUBLE:
5016 : 435 : case CONST_VECTOR:
5017 : 435 : operands[4] = x4;
5018 : 435 : x7 = XEXP (x3, 0);
5019 : 435 : x8 = XEXP (x7, 0);
5020 : 435 : x9 = XEXP (x8, 0);
5021 : 435 : operands[2] = x9;
5022 : 435 : x10 = XEXP (x7, 1);
5023 : 435 : operands[1] = x10;
5024 : 435 : x5 = XEXP (x3, 2);
5025 : 435 : operands[5] = x5;
5026 : 435 : x6 = XVECEXP (x1, 0, 1);
5027 : 435 : operands[6] = x6;
5028 : 435 : x11 = XEXP (x2, 1);
5029 : 435 : if (!rtx_equal_p (x11, operands[1]))
5030 : : return -1;
5031 : 435 : switch (GET_MODE (operands[0]))
5032 : : {
5033 : : case E_V8HFmode:
5034 : : return 3;
5035 : :
5036 : : case E_V4SFmode:
5037 : : return 4;
5038 : :
5039 : : case E_V2DFmode:
5040 : : return 5;
5041 : :
5042 : : default:
5043 : : return -1;
5044 : : }
5045 : :
5046 : : default:
5047 : : return -1;
5048 : : }
5049 : : }
5050 : :
5051 : : int
5052 : 8777873 : pattern1412 (rtx x1, machine_mode i1)
5053 : : {
5054 : 8777873 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5055 : 8777873 : int res ATTRIBUTE_UNUSED;
5056 : 8777873 : if (!register_operand (operands[0], i1)
5057 : 8352290 : || GET_MODE (x1) != i1
5058 : 8352290 : || !register_operand (operands[1], i1)
5059 : 17117374 : || !x86_64_nonmemory_operand (operands[2], i1))
5060 : 518577 : return -1;
5061 : : return 0;
5062 : : }
5063 : :
5064 : : int
5065 : 591 : pattern1416 (rtx x1, rtx_code i1)
5066 : : {
5067 : 591 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5068 : 591 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5069 : 591 : int res ATTRIBUTE_UNUSED;
5070 : 591 : x2 = XVECEXP (x1, 0, 1);
5071 : 591 : x3 = XEXP (x2, 1);
5072 : 591 : if (GET_MODE (x3) != E_DImode)
5073 : : return -1;
5074 : 525 : x4 = XEXP (x3, 0);
5075 : 525 : if (GET_CODE (x4) != i1
5076 : 89 : || GET_MODE (x4) != E_SImode)
5077 : : return -1;
5078 : 65 : x5 = XVECEXP (x1, 0, 0);
5079 : 65 : x6 = XEXP (x5, 1);
5080 : 65 : x7 = XEXP (x6, 0);
5081 : 65 : if (GET_MODE (x7) != E_SImode
5082 : 65 : || !nonimmediate_operand (operands[1], E_SImode)
5083 : 65 : || !x86_64_general_operand (operands[2], E_SImode)
5084 : 130 : || !register_operand (operands[0], E_DImode))
5085 : 0 : return -1;
5086 : 65 : x8 = XEXP (x4, 0);
5087 : 65 : if (!rtx_equal_p (x8, operands[1]))
5088 : : return -1;
5089 : 65 : x9 = XEXP (x4, 1);
5090 : 65 : if (!rtx_equal_p (x9, operands[2]))
5091 : : return -1;
5092 : : return 0;
5093 : : }
5094 : :
5095 : : int
5096 : 5317 : pattern1435 (rtx x1, machine_mode i1)
5097 : : {
5098 : 5317 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5099 : 5317 : rtx x2, x3;
5100 : 5317 : int res ATTRIBUTE_UNUSED;
5101 : 5317 : if (!register_operand (operands[0], i1)
5102 : 5317 : || !addsub_vm_operator (operands[6], i1))
5103 : 1115 : return -1;
5104 : 4202 : x2 = XEXP (x1, 0);
5105 : 4202 : if (GET_MODE (x2) != i1
5106 : 4202 : || !vector_operand (operands[1], i1)
5107 : 4636 : || !vector_operand (operands[2], i1))
5108 : 3768 : return -1;
5109 : 434 : x3 = XEXP (x1, 1);
5110 : 434 : if (GET_MODE (x3) != i1
5111 : 434 : || !register_operand (operands[3], i1)
5112 : 860 : || !vector_operand (operands[4], i1))
5113 : 8 : return -1;
5114 : : return 0;
5115 : : }
5116 : :
5117 : : int
5118 : 533 : pattern1443 (rtx x1, machine_mode i1)
5119 : : {
5120 : 533 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5121 : 533 : rtx x2, x3;
5122 : 533 : int res ATTRIBUTE_UNUSED;
5123 : 533 : if (!register_operand (operands[0], i1)
5124 : 533 : || GET_MODE (x1) != i1
5125 : 1066 : || !register_operand (operands[1], i1))
5126 : 324 : return -1;
5127 : 209 : x2 = XEXP (x1, 2);
5128 : 209 : x3 = XEXP (x2, 0);
5129 : 209 : if (GET_MODE (x3) != i1
5130 : 209 : || !register_operand (operands[2], i1))
5131 : 90 : return -1;
5132 : : return 0;
5133 : : }
5134 : :
5135 : : int
5136 : 130 : pattern1448 (rtx x1, machine_mode i1, machine_mode i2)
5137 : : {
5138 : 130 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5139 : 130 : rtx x2, x3, x4;
5140 : 130 : int res ATTRIBUTE_UNUSED;
5141 : 130 : if (!register_operand (operands[0], i1)
5142 : 130 : || GET_MODE (x1) != i1)
5143 : : return -1;
5144 : 116 : x2 = XEXP (x1, 0);
5145 : 116 : if (GET_MODE (x2) != i1)
5146 : : return -1;
5147 : 116 : x3 = XEXP (x2, 0);
5148 : 116 : if (GET_MODE (x3) != i1)
5149 : : return -1;
5150 : 116 : x4 = XEXP (x3, 0);
5151 : 116 : if (GET_MODE (x4) != i2
5152 : 116 : || !nonimm_or_0_operand (operands[3], i1)
5153 : 230 : || !register_operand (operands[2], i1))
5154 : 2 : return -1;
5155 : : return 0;
5156 : : }
5157 : :
5158 : : int
5159 : 0 : pattern1459 (rtx x1, machine_mode i1, machine_mode i2)
5160 : : {
5161 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5162 : 0 : int res ATTRIBUTE_UNUSED;
5163 : 0 : if (!const0_operand (operands[2], i1)
5164 : 0 : || GET_MODE (x1) != i2
5165 : 0 : || !nonimmediate_operand (operands[3], i1)
5166 : 0 : || !const0_operand (operands[4], i1))
5167 : 0 : return -1;
5168 : : return 0;
5169 : : }
5170 : :
5171 : : int
5172 : 1605 : pattern1464 (rtx x1, machine_mode i1)
5173 : : {
5174 : 1605 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5175 : 1605 : rtx x2, x3;
5176 : 1605 : int res ATTRIBUTE_UNUSED;
5177 : 1605 : if (!register_operand (operands[0], i1)
5178 : 1605 : || GET_MODE (x1) != i1)
5179 : : return -1;
5180 : 1568 : x2 = XVECEXP (x1, 0, 0);
5181 : 1568 : if (GET_MODE (x2) != i1)
5182 : : return -1;
5183 : 1568 : x3 = XEXP (x2, 0);
5184 : 1568 : if (GET_MODE (x3) != i1
5185 : 1568 : || !nonimm_or_0_operand (operands[2], i1)
5186 : 3133 : || !register_operand (operands[3], E_QImode))
5187 : 15 : return -1;
5188 : 1553 : switch (GET_MODE (operands[1]))
5189 : : {
5190 : 423 : case E_V8HFmode:
5191 : 423 : if (!register_operand (operands[1], E_V8HFmode))
5192 : : return -1;
5193 : : return 0;
5194 : :
5195 : 368 : case E_V8SFmode:
5196 : 368 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
5197 : : return -1;
5198 : : return 1;
5199 : :
5200 : 762 : case E_V8DFmode:
5201 : 762 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
5202 : : return -1;
5203 : : return 2;
5204 : :
5205 : : default:
5206 : : return -1;
5207 : : }
5208 : : }
5209 : :
5210 : : int
5211 : 84 : pattern1476 (rtx x1)
5212 : : {
5213 : 84 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5214 : 84 : rtx x2, x3, x4, x5, x6;
5215 : 84 : int res ATTRIBUTE_UNUSED;
5216 : 84 : x2 = XEXP (x1, 1);
5217 : 84 : x3 = XEXP (x2, 0);
5218 : 84 : x4 = XEXP (x3, 0);
5219 : 84 : operands[1] = x4;
5220 : 84 : if (!int248_register_operand (operands[1], E_VOIDmode))
5221 : : return -1;
5222 : 84 : x5 = XEXP (x3, 1);
5223 : 84 : operands[2] = x5;
5224 : 84 : if (!int248_register_operand (operands[2], E_VOIDmode))
5225 : : return -1;
5226 : 84 : x6 = XEXP (x1, 0);
5227 : 84 : switch (GET_MODE (x6))
5228 : : {
5229 : 12 : case E_HImode:
5230 : 12 : if (!extract_high_operator (operands[3], E_HImode))
5231 : : return -1;
5232 : : return 0;
5233 : :
5234 : 42 : case E_SImode:
5235 : 42 : if (!extract_high_operator (operands[3], E_SImode))
5236 : : return -1;
5237 : : return 1;
5238 : :
5239 : 30 : case E_DImode:
5240 : 30 : if (!extract_high_operator (operands[3], E_DImode))
5241 : : return -1;
5242 : : return 2;
5243 : :
5244 : : default:
5245 : : return -1;
5246 : : }
5247 : : }
5248 : :
5249 : : int
5250 : 7161 : pattern1491 (rtx x1, machine_mode i1)
5251 : : {
5252 : 7161 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5253 : 7161 : rtx x2;
5254 : 7161 : int res ATTRIBUTE_UNUSED;
5255 : 7161 : if (!mask_reg_operand (operands[0], i1)
5256 : 7161 : || GET_MODE (x1) != i1)
5257 : : return -1;
5258 : 0 : x2 = XEXP (x1, 0);
5259 : 0 : if (GET_MODE (x2) != i1
5260 : 0 : || !mask_reg_operand (operands[1], i1)
5261 : 0 : || !mask_reg_operand (operands[2], i1))
5262 : 0 : return -1;
5263 : : return 0;
5264 : : }
5265 : :
5266 : : int
5267 : 4538 : pattern1496 (rtx x1)
5268 : : {
5269 : 4538 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5270 : 4538 : rtx x2, x3, x4, x5, x6;
5271 : 4538 : int res ATTRIBUTE_UNUSED;
5272 : 4538 : x2 = XVECEXP (x1, 0, 2);
5273 : 4538 : if (GET_CODE (x2) != CLOBBER)
5274 : : return -1;
5275 : 4538 : x3 = XEXP (x2, 0);
5276 : 4538 : if (GET_CODE (x3) != REG
5277 : 4538 : || REGNO (x3) != 17
5278 : 9076 : || GET_MODE (x3) != E_CCmode)
5279 : : return -1;
5280 : 4538 : x4 = XVECEXP (x1, 0, 0);
5281 : 4538 : x5 = XEXP (x4, 1);
5282 : 4538 : x6 = XVECEXP (x5, 0, 0);
5283 : 4538 : operands[1] = x6;
5284 : 4538 : return 0;
5285 : : }
5286 : :
5287 : : int
5288 : 155 : pattern1503 (rtx x1, machine_mode i1, machine_mode i2)
5289 : : {
5290 : 155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5291 : 155 : rtx x2;
5292 : 155 : int res ATTRIBUTE_UNUSED;
5293 : 155 : if (!register_operand (operands[0], i2)
5294 : 155 : || GET_MODE (x1) != i2)
5295 : : return -1;
5296 : 139 : x2 = XEXP (x1, 0);
5297 : 139 : if (GET_MODE (x2) != i2
5298 : 139 : || !register_operand (operands[1], i2)
5299 : 127 : || !register_operand (operands[2], i2)
5300 : 266 : || !nonimmediate_operand (operands[3], i1))
5301 : 24 : return -1;
5302 : : return 0;
5303 : : }
5304 : :
5305 : : int
5306 : 276757 : pattern1510 (rtx x1, machine_mode i1)
5307 : : {
5308 : 276757 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5309 : 276757 : int res ATTRIBUTE_UNUSED;
5310 : 276757 : if (!nonimmediate_operand (operands[0], i1)
5311 : 276574 : || GET_MODE (x1) != i1
5312 : 276574 : || !nonimmediate_operand (operands[1], i1)
5313 : 550955 : || !nonmemory_operand (operands[2], E_QImode))
5314 : 6597 : return -1;
5315 : : return 0;
5316 : : }
5317 : :
5318 : : int
5319 : 8419 : pattern1518 (rtx x1)
5320 : : {
5321 : 8419 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5322 : 8419 : rtx x2;
5323 : 8419 : int res ATTRIBUTE_UNUSED;
5324 : 8419 : if (maybe_ne (SUBREG_BYTE (x1), 0)
5325 : 8419 : || GET_MODE (x1) != E_QImode
5326 : 16838 : || !nonimmediate_operand (operands[0], E_SImode))
5327 : 0 : return -1;
5328 : 8419 : x2 = XEXP (x1, 0);
5329 : 8419 : return pattern1220 (x2); /* [-1, 2] */
5330 : : }
5331 : :
5332 : : int
5333 : 1860 : pattern1524 (rtx x1, machine_mode i1)
5334 : : {
5335 : 1860 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5336 : 1860 : rtx x2, x3;
5337 : 1860 : int res ATTRIBUTE_UNUSED;
5338 : 1860 : if (!register_operand (operands[0], i1)
5339 : 1860 : || GET_MODE (x1) != i1)
5340 : : return -1;
5341 : 1856 : x2 = XVECEXP (x1, 0, 0);
5342 : 1856 : if (GET_MODE (x2) != i1)
5343 : : return -1;
5344 : 1856 : x3 = XEXP (x2, 0);
5345 : 1856 : if (GET_MODE (x3) != i1
5346 : 1856 : || !register_operand (operands[4], i1))
5347 : 0 : return -1;
5348 : : return 0;
5349 : : }
5350 : :
5351 : : int
5352 : 52 : pattern1531 (rtx x1, machine_mode i1)
5353 : : {
5354 : 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5355 : 52 : rtx x2, x3, x4;
5356 : 52 : int res ATTRIBUTE_UNUSED;
5357 : 52 : if (!register_operand (operands[0], i1)
5358 : 52 : || GET_MODE (x1) != i1)
5359 : : return -1;
5360 : 43 : x2 = XEXP (x1, 0);
5361 : 43 : if (GET_MODE (x2) != i1)
5362 : : return -1;
5363 : 43 : x3 = XEXP (x2, 0);
5364 : 43 : if (GET_MODE (x3) != i1)
5365 : : return -1;
5366 : 43 : x4 = XEXP (x3, 0);
5367 : 43 : if (GET_MODE (x4) != i1
5368 : 43 : || !nonimmediate_operand (operands[2], i1)
5369 : 43 : || !nonimmediate_operand (operands[1], i1)
5370 : 43 : || !nonimmediate_operand (operands[3], i1)
5371 : 86 : || !const0_operand (operands[4], i1))
5372 : 0 : return -1;
5373 : : return 0;
5374 : : }
5375 : :
5376 : : int
5377 : 190 : pattern1542 (rtx x1, machine_mode i1)
5378 : : {
5379 : 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5380 : 190 : rtx x2, x3, x4, x5, x6, x7;
5381 : 190 : int res ATTRIBUTE_UNUSED;
5382 : 190 : x2 = XEXP (x1, 0);
5383 : 190 : if (GET_CODE (x2) != VEC_SELECT
5384 : 190 : || GET_MODE (x2) != i1)
5385 : : return -1;
5386 : 190 : x3 = XEXP (x2, 1);
5387 : 190 : if (GET_CODE (x3) != PARALLEL
5388 : 190 : || XVECLEN (x3, 0) != 1)
5389 : : return -1;
5390 : 190 : x4 = XVECEXP (x3, 0, 0);
5391 : 190 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5392 : : return -1;
5393 : 190 : x5 = XEXP (x1, 1);
5394 : 190 : if (GET_CODE (x5) != VEC_SELECT
5395 : 190 : || GET_MODE (x5) != i1)
5396 : : return -1;
5397 : 190 : x6 = XEXP (x5, 1);
5398 : 190 : if (GET_CODE (x6) != PARALLEL
5399 : 190 : || XVECLEN (x6, 0) != 1)
5400 : : return -1;
5401 : 190 : x7 = XVECEXP (x6, 0, 0);
5402 : 190 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5403 : 0 : return -1;
5404 : : return 0;
5405 : : }
5406 : :
5407 : : int
5408 : 35 : pattern1554 (rtx x1, machine_mode i1)
5409 : : {
5410 : 35 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5411 : 35 : rtx x2, x3;
5412 : 35 : int res ATTRIBUTE_UNUSED;
5413 : 35 : if (!nonimmediate_operand (operands[0], i1)
5414 : 35 : || GET_MODE (x1) != i1)
5415 : : return -1;
5416 : 35 : x2 = XEXP (x1, 0);
5417 : 35 : if (GET_MODE (x2) != i1
5418 : 35 : || !nonimmediate_operand (operands[1], i1))
5419 : 0 : return -1;
5420 : 35 : x3 = XEXP (x2, 1);
5421 : 35 : if (GET_MODE (x3) != i1
5422 : 35 : || !x86_64_general_operand (operands[2], i1))
5423 : 0 : return -1;
5424 : : return 0;
5425 : : }
5426 : :
5427 : : int
5428 : 0 : pattern1562 (rtx x1, machine_mode i1)
5429 : : {
5430 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5431 : 0 : rtx x2, x3, x4, x5;
5432 : 0 : int res ATTRIBUTE_UNUSED;
5433 : 0 : x2 = XVECEXP (x1, 0, 0);
5434 : 0 : x3 = XEXP (x2, 0);
5435 : 0 : if (GET_MODE (x3) != i1
5436 : 0 : || !register_operand (operands[2], i1))
5437 : 0 : return -1;
5438 : 0 : switch (GET_MODE (operands[1]))
5439 : : {
5440 : 0 : case E_SImode:
5441 : 0 : if (!register_operand (operands[1], E_SImode)
5442 : 0 : || !register_operand (operands[0], E_SImode))
5443 : 0 : return -1;
5444 : 0 : x4 = XVECEXP (x1, 0, 1);
5445 : 0 : x5 = XEXP (x4, 1);
5446 : 0 : if (GET_MODE (x5) != E_SImode)
5447 : : return -1;
5448 : : return 0;
5449 : :
5450 : 0 : case E_DImode:
5451 : 0 : if (!register_operand (operands[1], E_DImode)
5452 : 0 : || !register_operand (operands[0], E_DImode))
5453 : 0 : return -1;
5454 : 0 : x4 = XVECEXP (x1, 0, 1);
5455 : 0 : x5 = XEXP (x4, 1);
5456 : 0 : if (GET_MODE (x5) != E_DImode)
5457 : : return -1;
5458 : : return 1;
5459 : :
5460 : : default:
5461 : : return -1;
5462 : : }
5463 : : }
5464 : :
5465 : : int
5466 : 976 : pattern1576 (machine_mode i1, machine_mode i2)
5467 : : {
5468 : 976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5469 : 976 : int res ATTRIBUTE_UNUSED;
5470 : 976 : if (!register_operand (operands[2], i2)
5471 : 968 : || !register_operand (operands[3], i2)
5472 : 968 : || !const0_operand (operands[4], i2)
5473 : 1944 : || !register_operand (operands[5], i1))
5474 : 24 : return -1;
5475 : : return 0;
5476 : : }
5477 : :
5478 : : int
5479 : 1223 : pattern1582 (rtx x1, machine_mode i1, machine_mode i2)
5480 : : {
5481 : 1223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5482 : 1223 : rtx x2, x3, x4;
5483 : 1223 : int res ATTRIBUTE_UNUSED;
5484 : 1223 : if (!register_operand (operands[0], i2)
5485 : 1223 : || GET_MODE (x1) != i2)
5486 : : return -1;
5487 : 1200 : x2 = XVECEXP (x1, 0, 0);
5488 : 1200 : if (GET_MODE (x2) != i2)
5489 : : return -1;
5490 : 1200 : x3 = XEXP (x2, 0);
5491 : 1200 : if (GET_MODE (x3) != i2
5492 : 1200 : || !register_operand (operands[2], i2))
5493 : 10 : return -1;
5494 : 1190 : x4 = XEXP (x3, 2);
5495 : 1190 : if (GET_MODE (x4) != i2
5496 : 1190 : || !register_operand (operands[4], i1))
5497 : 0 : return -1;
5498 : : return 0;
5499 : : }
5500 : :
5501 : : int
5502 : 839 : pattern1591 (rtx x1, machine_mode i1)
5503 : : {
5504 : 839 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5505 : 839 : rtx x2, x3, x4;
5506 : 839 : int res ATTRIBUTE_UNUSED;
5507 : 839 : if (!vsib_mem_operator (operands[5], i1)
5508 : 839 : || !register_operand (operands[6], E_QImode))
5509 : 456 : return -1;
5510 : 383 : x2 = XEXP (x1, 1);
5511 : 383 : if (GET_MODE (x2) != i1
5512 : 383 : || !register_operand (operands[3], i1))
5513 : 56 : return -1;
5514 : 327 : x3 = XEXP (x1, 0);
5515 : 327 : x4 = XEXP (x3, 0);
5516 : 327 : switch (GET_MODE (x4))
5517 : : {
5518 : 23 : case E_SImode:
5519 : 23 : return pattern1590 (
5520 : 23 : E_SImode); /* [-1, 1] */
5521 : :
5522 : 304 : case E_DImode:
5523 : 304 : res = pattern1590 (
5524 : : E_DImode);
5525 : 304 : if (res >= 0)
5526 : 148 : return res + 2; /* [2, 3] */
5527 : : return -1;
5528 : :
5529 : : default:
5530 : : return -1;
5531 : : }
5532 : : }
5533 : :
5534 : : int
5535 : 127 : pattern1602 (rtx x1, machine_mode i1, machine_mode i2)
5536 : : {
5537 : 127 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5538 : 127 : rtx x2, x3;
5539 : 127 : int res ATTRIBUTE_UNUSED;
5540 : 127 : if (!register_operand (operands[0], i2)
5541 : 124 : || GET_MODE (x1) != i2
5542 : 124 : || !register_operand (operands[6], E_QImode)
5543 : 157 : || !vsib_mem_operator (operands[5], i1))
5544 : 97 : return -1;
5545 : 30 : x2 = XVECEXP (x1, 0, 2);
5546 : 30 : x3 = XEXP (x2, 0);
5547 : 30 : switch (GET_MODE (x3))
5548 : : {
5549 : 0 : case E_SImode:
5550 : 0 : return pattern1601 (
5551 : 0 : E_SImode); /* [-1, 1] */
5552 : :
5553 : 30 : case E_DImode:
5554 : 30 : res = pattern1601 (
5555 : : E_DImode);
5556 : 30 : if (res >= 0)
5557 : 18 : return res + 2; /* [2, 3] */
5558 : : return -1;
5559 : :
5560 : : default:
5561 : : return -1;
5562 : : }
5563 : : }
5564 : :
5565 : : int
5566 : 46222 : pattern1613 (rtx x1, machine_mode i1)
5567 : : {
5568 : 46222 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5569 : 46222 : rtx x2;
5570 : 46222 : int res ATTRIBUTE_UNUSED;
5571 : 46222 : if (!nonimmediate_operand (operands[0], i1)
5572 : 46222 : || GET_MODE (x1) != i1)
5573 : : return -1;
5574 : 46222 : x2 = XEXP (x1, 0);
5575 : 46222 : if (GET_MODE (x2) != i1
5576 : 46222 : || !ix86_carry_flag_operator (operands[4], i1)
5577 : 46222 : || !nonimmediate_operand (operands[1], i1)
5578 : 92412 : || !x86_64_general_operand (operands[2], i1))
5579 : 38 : return -1;
5580 : : return 0;
5581 : : }
5582 : :
5583 : : int
5584 : 2091 : pattern1620 (rtx x1)
5585 : : {
5586 : 2091 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5587 : 2091 : rtx x2, x3, x4, x5;
5588 : 2091 : int res ATTRIBUTE_UNUSED;
5589 : 2091 : x2 = XEXP (x1, 0);
5590 : 2091 : if (GET_CODE (x2) != STRICT_LOW_PART)
5591 : : return -1;
5592 : 125 : x3 = XEXP (x2, 0);
5593 : 125 : operands[0] = x3;
5594 : 125 : if (!register_operand (operands[0], E_QImode))
5595 : : return -1;
5596 : 125 : x4 = XEXP (x1, 1);
5597 : 125 : x5 = XEXP (x4, 1);
5598 : 125 : operands[1] = x5;
5599 : 125 : if (!nonimmediate_operand (operands[1], E_QImode))
5600 : : return -1;
5601 : 80 : return pattern1511 (); /* [-1, 2] */
5602 : : }
5603 : :
5604 : : int
5605 : 29 : pattern1630 (rtx x1, machine_mode i1, machine_mode i2)
5606 : : {
5607 : 29 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5608 : 29 : rtx x2, x3;
5609 : 29 : int res ATTRIBUTE_UNUSED;
5610 : 29 : if (!register_operand (operands[0], i1)
5611 : 29 : || GET_MODE (x1) != i1)
5612 : : return -1;
5613 : 23 : x2 = XEXP (x1, 0);
5614 : 23 : if (GET_MODE (x2) != i1)
5615 : : return -1;
5616 : 23 : x3 = XEXP (x2, 0);
5617 : 23 : if (GET_MODE (x3) != i1
5618 : 23 : || !register_operand (operands[1], i1)
5619 : 23 : || !register_operand (operands[2], i1)
5620 : 23 : || !nonimmediate_operand (operands[3], i2)
5621 : 46 : || !const0_operand (operands[5], i1))
5622 : 0 : return -1;
5623 : : return 0;
5624 : : }
5625 : :
5626 : : int
5627 : 327 : pattern1640 (rtx x1, machine_mode i1, machine_mode i2)
5628 : : {
5629 : 327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5630 : 327 : rtx x2, x3, x4;
5631 : 327 : int res ATTRIBUTE_UNUSED;
5632 : 327 : if (!register_operand (operands[0], i2)
5633 : 327 : || GET_MODE (x1) != i2)
5634 : : return -1;
5635 : 311 : x2 = XVECEXP (x1, 0, 0);
5636 : 311 : if (GET_MODE (x2) != i2)
5637 : : return -1;
5638 : 311 : x3 = XEXP (x2, 0);
5639 : 311 : if (GET_MODE (x3) != i2
5640 : 311 : || !register_operand (operands[1], i2)
5641 : 617 : || !register_operand (operands[2], i2))
5642 : 9 : return -1;
5643 : 302 : x4 = XVECEXP (x3, 0, 2);
5644 : 302 : if (GET_MODE (x4) != i2
5645 : 302 : || !register_operand (operands[3], i2)
5646 : 302 : || !const0_operand (operands[4], i2)
5647 : 604 : || !register_operand (operands[5], i1))
5648 : 8 : return -1;
5649 : : return 0;
5650 : : }
5651 : :
5652 : : int
5653 : 155 : pattern1650 (rtx x1, machine_mode i1, machine_mode i2)
5654 : : {
5655 : 155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5656 : 155 : rtx x2, x3;
5657 : 155 : int res ATTRIBUTE_UNUSED;
5658 : 155 : if (!register_operand (operands[0], i2)
5659 : 151 : || GET_MODE (x1) != i2
5660 : 151 : || !register_operand (operands[1], i2)
5661 : 151 : || !register_operand (operands[7], E_QImode)
5662 : 270 : || !vsib_mem_operator (operands[6], i1))
5663 : 40 : return -1;
5664 : 115 : x2 = XVECEXP (x1, 0, 2);
5665 : 115 : x3 = XEXP (x2, 0);
5666 : 115 : switch (GET_MODE (x3))
5667 : : {
5668 : 0 : case E_SImode:
5669 : 0 : return pattern1649 (
5670 : 0 : E_SImode); /* [-1, 1] */
5671 : :
5672 : 115 : case E_DImode:
5673 : 115 : res = pattern1649 (
5674 : : E_DImode);
5675 : 115 : if (res >= 0)
5676 : 75 : return res + 2; /* [2, 3] */
5677 : : return -1;
5678 : :
5679 : : default:
5680 : : return -1;
5681 : : }
5682 : : }
5683 : :
5684 : : int
5685 : 469 : pattern1662 (rtx x1)
5686 : : {
5687 : 469 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5688 : 469 : rtx x2, x3, x4, x5, x6, x7;
5689 : 469 : int res ATTRIBUTE_UNUSED;
5690 : 469 : x2 = XVECEXP (x1, 0, 2);
5691 : 469 : if (XWINT (x2, 0) != 2L)
5692 : : return -1;
5693 : 447 : x3 = XVECEXP (x1, 0, 3);
5694 : 447 : if (XWINT (x3, 0) != 2L)
5695 : : return -1;
5696 : 447 : x4 = XVECEXP (x1, 0, 4);
5697 : 447 : if (XWINT (x4, 0) != 4L)
5698 : : return -1;
5699 : 447 : x5 = XVECEXP (x1, 0, 5);
5700 : 447 : if (XWINT (x5, 0) != 4L)
5701 : : return -1;
5702 : 447 : x6 = XVECEXP (x1, 0, 6);
5703 : 447 : if (XWINT (x6, 0) != 6L)
5704 : : return -1;
5705 : 447 : x7 = XVECEXP (x1, 0, 7);
5706 : 447 : if (XWINT (x7, 0) != 6L)
5707 : 0 : return -1;
5708 : : return 0;
5709 : : }
5710 : :
5711 : : int
5712 : 62861 : pattern1673 (rtx x1, rtx_code i1)
5713 : : {
5714 : 62861 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5715 : 62861 : rtx x2, x3, x4;
5716 : 62861 : int res ATTRIBUTE_UNUSED;
5717 : 62861 : if (GET_CODE (x1) != i1)
5718 : : return -1;
5719 : 51049 : x2 = XEXP (x1, 0);
5720 : 51049 : if (GET_CODE (x2) != MINUS)
5721 : : return -1;
5722 : 43782 : x3 = XEXP (x2, 1);
5723 : 43782 : switch (GET_CODE (x3))
5724 : : {
5725 : 39071 : case LTU:
5726 : 39071 : case UNLT:
5727 : 39071 : operands[5] = x3;
5728 : 39071 : x4 = XEXP (x3, 1);
5729 : 39071 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5730 : : return -1;
5731 : : return 0;
5732 : :
5733 : : default:
5734 : : return -1;
5735 : : }
5736 : : }
5737 : :
5738 : : int
5739 : 5749 : pattern1682 (rtx x1)
5740 : : {
5741 : 5749 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5742 : 5749 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5743 : 5749 : int res ATTRIBUTE_UNUSED;
5744 : 5749 : x2 = XEXP (x1, 0);
5745 : 5749 : x3 = XEXP (x2, 0);
5746 : 5749 : x4 = XEXP (x3, 2);
5747 : 5749 : if (maybe_ne (SUBREG_BYTE (x4), 0)
5748 : 5749 : || GET_MODE (x4) != E_QImode)
5749 : : return -1;
5750 : 5749 : x5 = XEXP (x4, 0);
5751 : 5749 : if (GET_CODE (x5) != AND)
5752 : : return -1;
5753 : 515 : x6 = XEXP (x5, 0);
5754 : 515 : operands[2] = x6;
5755 : 515 : x7 = XEXP (x5, 1);
5756 : 515 : operands[3] = x7;
5757 : 515 : if (!const_int_operand (operands[3], E_VOIDmode))
5758 : : return -1;
5759 : 515 : x8 = XEXP (x1, 1);
5760 : 515 : x9 = XEXP (x8, 0);
5761 : 515 : operands[4] = x9;
5762 : 515 : switch (GET_MODE (x3))
5763 : : {
5764 : 366 : case E_SImode:
5765 : 366 : return pattern1681 (x5,
5766 : 366 : E_SImode); /* [-1, 2] */
5767 : :
5768 : 149 : case E_DImode:
5769 : 149 : res = pattern1681 (x5,
5770 : : E_DImode);
5771 : 149 : if (res >= 0)
5772 : 64 : return res + 3; /* [3, 5] */
5773 : : return -1;
5774 : :
5775 : : default:
5776 : : return -1;
5777 : : }
5778 : : }
5779 : :
5780 : : int
5781 : 187 : pattern1693 (rtx x1, machine_mode i1, machine_mode i2)
5782 : : {
5783 : 187 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5784 : 187 : rtx x2, x3;
5785 : 187 : int res ATTRIBUTE_UNUSED;
5786 : 187 : if (!register_operand (operands[0], i2)
5787 : 187 : || GET_MODE (x1) != i2)
5788 : : return -1;
5789 : 179 : x2 = XVECEXP (x1, 0, 0);
5790 : 179 : if (GET_MODE (x2) != i2)
5791 : : return -1;
5792 : 179 : x3 = XEXP (x2, 0);
5793 : 179 : if (GET_MODE (x3) != i2
5794 : 179 : || !register_operand (operands[1], i2)
5795 : 177 : || !register_operand (operands[2], i2)
5796 : 356 : || !register_operand (operands[3], i1))
5797 : 2 : return -1;
5798 : : return 0;
5799 : : }
5800 : :
5801 : : int
5802 : 4852 : pattern1702 ()
5803 : : {
5804 : 4852 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5805 : 4852 : int res ATTRIBUTE_UNUSED;
5806 : 4852 : if (!const_0_to_3_operand (operands[2], E_VOIDmode)
5807 : 4611 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
5808 : 4566 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
5809 : 4540 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
5810 : 4538 : || !const_4_to_7_operand (operands[6], E_VOIDmode)
5811 : 4334 : || !const_4_to_7_operand (operands[7], E_VOIDmode)
5812 : 4334 : || !const_4_to_7_operand (operands[8], E_VOIDmode)
5813 : 9185 : || !const_4_to_7_operand (operands[9], E_VOIDmode))
5814 : 519 : return -1;
5815 : : return 0;
5816 : : }
5817 : :
5818 : : int
5819 : 855 : pattern1712 (machine_mode i1)
5820 : : {
5821 : 855 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5822 : 855 : int res ATTRIBUTE_UNUSED;
5823 : 855 : if (!vsib_address_operand (operands[3], i1))
5824 : : return -1;
5825 : 851 : switch (GET_MODE (operands[2]))
5826 : : {
5827 : 442 : case E_V8SImode:
5828 : 442 : if (!register_operand (operands[2], E_V8SImode))
5829 : : return -1;
5830 : : return 0;
5831 : :
5832 : 409 : case E_V8DImode:
5833 : 409 : if (!register_operand (operands[2], E_V8DImode))
5834 : : return -1;
5835 : : return 1;
5836 : :
5837 : : default:
5838 : : return -1;
5839 : : }
5840 : : }
5841 : :
5842 : : int
5843 : 3047 : pattern1720 (rtx x1)
5844 : : {
5845 : 3047 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5846 : 3047 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5847 : 3047 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
5848 : 3047 : rtx x18, x19, x20, x21, x22, x23;
5849 : 3047 : int res ATTRIBUTE_UNUSED;
5850 : 3047 : if (!register_operand (operands[0], E_SImode))
5851 : : return -1;
5852 : 3043 : x2 = XVECEXP (x1, 0, 0);
5853 : 3043 : x3 = XEXP (x2, 1);
5854 : 3043 : x4 = XVECEXP (x3, 0, 0);
5855 : 3043 : operands[2] = x4;
5856 : 3043 : if (!register_operand (operands[2], E_V16QImode))
5857 : : return -1;
5858 : 3017 : x5 = XVECEXP (x3, 0, 1);
5859 : 3017 : operands[3] = x5;
5860 : 3017 : if (!register_operand (operands[3], E_SImode))
5861 : : return -1;
5862 : 2991 : x6 = XVECEXP (x3, 0, 2);
5863 : 2991 : operands[4] = x6;
5864 : 2991 : if (!nonimmediate_operand (operands[4], E_V16QImode))
5865 : : return -1;
5866 : 2991 : x7 = XVECEXP (x3, 0, 3);
5867 : 2991 : operands[5] = x7;
5868 : 2991 : if (!register_operand (operands[5], E_SImode))
5869 : : return -1;
5870 : 2975 : x8 = XVECEXP (x3, 0, 4);
5871 : 2975 : operands[6] = x8;
5872 : 2975 : if (!const_0_to_255_operand (operands[6], E_SImode))
5873 : : return -1;
5874 : 2975 : x9 = XVECEXP (x1, 0, 1);
5875 : 2975 : x10 = XEXP (x9, 0);
5876 : 2975 : operands[1] = x10;
5877 : 2975 : if (!register_operand (operands[1], E_V16QImode))
5878 : : return -1;
5879 : 2935 : x11 = XEXP (x9, 1);
5880 : 2935 : x12 = XVECEXP (x11, 0, 0);
5881 : 2935 : if (!rtx_equal_p (x12, operands[2]))
5882 : : return -1;
5883 : 2903 : x13 = XVECEXP (x11, 0, 1);
5884 : 2903 : if (!rtx_equal_p (x13, operands[3]))
5885 : : return -1;
5886 : 2883 : x14 = XVECEXP (x11, 0, 2);
5887 : 2883 : if (!rtx_equal_p (x14, operands[4]))
5888 : : return -1;
5889 : 2851 : x15 = XVECEXP (x11, 0, 3);
5890 : 2851 : if (!rtx_equal_p (x15, operands[5]))
5891 : : return -1;
5892 : 2835 : x16 = XVECEXP (x11, 0, 4);
5893 : 2835 : if (!rtx_equal_p (x16, operands[6]))
5894 : : return -1;
5895 : 2835 : x17 = XVECEXP (x1, 0, 2);
5896 : 2835 : x18 = XEXP (x17, 1);
5897 : 2835 : x19 = XVECEXP (x18, 0, 0);
5898 : 2835 : if (!rtx_equal_p (x19, operands[2]))
5899 : : return -1;
5900 : 2755 : x20 = XVECEXP (x18, 0, 1);
5901 : 2755 : if (!rtx_equal_p (x20, operands[3]))
5902 : : return -1;
5903 : 2675 : x21 = XVECEXP (x18, 0, 2);
5904 : 2675 : if (!rtx_equal_p (x21, operands[4]))
5905 : : return -1;
5906 : 2595 : x22 = XVECEXP (x18, 0, 3);
5907 : 2595 : if (!rtx_equal_p (x22, operands[5]))
5908 : : return -1;
5909 : 2515 : x23 = XVECEXP (x18, 0, 4);
5910 : 2515 : if (!rtx_equal_p (x23, operands[6]))
5911 : : return -1;
5912 : : return 0;
5913 : : }
5914 : :
5915 : : int
5916 : 1118 : pattern1748 (rtx x1, machine_mode i1, machine_mode i2)
5917 : : {
5918 : 1118 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5919 : 1118 : rtx x2, x3;
5920 : 1118 : int res ATTRIBUTE_UNUSED;
5921 : 1118 : if (!register_operand (operands[0], i1)
5922 : 1118 : || GET_MODE (x1) != i1)
5923 : : return -1;
5924 : 970 : x2 = XEXP (x1, 0);
5925 : 970 : if (GET_MODE (x2) != i1)
5926 : : return -1;
5927 : 970 : x3 = XEXP (x2, 0);
5928 : 970 : if (GET_MODE (x3) != i2
5929 : 970 : || !register_operand (operands[1], i1)
5930 : 968 : || !nonimmediate_operand (operands[2], i1)
5931 : 1822 : || !nonimm_or_0_operand (operands[11], i1))
5932 : 181 : return -1;
5933 : : return 0;
5934 : : }
5935 : :
5936 : : int
5937 : 0 : pattern1757 (rtx x1, machine_mode i1)
5938 : : {
5939 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5940 : 0 : rtx x2;
5941 : 0 : int res ATTRIBUTE_UNUSED;
5942 : 0 : if (!register_operand (operands[0], i1))
5943 : : return -1;
5944 : 0 : operands[2] = x1;
5945 : 0 : x2 = PATTERN (peep2_next_insn (1));
5946 : 0 : return pattern1756 (x2,
5947 : 0 : i1); /* [-1, 0] */
5948 : : }
5949 : :
5950 : : int
5951 : 778 : pattern1764 (machine_mode i1)
5952 : : {
5953 : 778 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5954 : 778 : int res ATTRIBUTE_UNUSED;
5955 : 778 : if (!vsib_address_operand (operands[0], i1))
5956 : : return -1;
5957 : 760 : switch (GET_MODE (operands[2]))
5958 : : {
5959 : 277 : case E_V16SImode:
5960 : 277 : if (!register_operand (operands[2], E_V16SImode)
5961 : 262 : || !register_operand (operands[6], E_HImode)
5962 : 204 : || !register_operand (operands[3], E_V16SImode)
5963 : 473 : || !scratch_operand (operands[1], E_HImode))
5964 : 81 : return -1;
5965 : : return 0;
5966 : :
5967 : 483 : case E_V8DImode:
5968 : 483 : if (pattern1763 (
5969 : : E_QImode,
5970 : : E_V8SImode,
5971 : : E_V8DImode) != 0)
5972 : : return -1;
5973 : : return 1;
5974 : :
5975 : : default:
5976 : : return -1;
5977 : : }
5978 : : }
5979 : :
5980 : : int
5981 : 24127 : pattern1773 (rtx x1, machine_mode i1)
5982 : : {
5983 : 24127 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5984 : 24127 : int res ATTRIBUTE_UNUSED;
5985 : 24127 : if (!register_operand (operands[1], i1)
5986 : 24127 : || !register_operand (operands[0], i1)
5987 : 24127 : || GET_MODE (x1) != i1
5988 : 24127 : || !register_operand (operands[3], i1)
5989 : 48254 : || !register_operand (operands[4], i1))
5990 : 4667 : return -1;
5991 : : return 0;
5992 : : }
5993 : :
5994 : : int
5995 : 4857 : pattern1778 (rtx x1, machine_mode i1, machine_mode i2, rtx_code i3)
5996 : : {
5997 : 4857 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5998 : 4857 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5999 : 4857 : rtx x10, x11, x12, x13, x14, x15;
6000 : 4857 : int res ATTRIBUTE_UNUSED;
6001 : 4857 : if (GET_CODE (x1) != MULT
6002 : 4857 : || GET_MODE (x1) != i2)
6003 : : return -1;
6004 : 4857 : x2 = XEXP (x1, 0);
6005 : 4857 : if (GET_CODE (x2) != i3
6006 : 4857 : || GET_MODE (x2) != i2)
6007 : : return -1;
6008 : 4857 : x3 = XEXP (x2, 0);
6009 : 4857 : if (GET_CODE (x3) != VEC_SELECT
6010 : 4857 : || GET_MODE (x3) != i1)
6011 : : return -1;
6012 : 4857 : x4 = XEXP (x3, 1);
6013 : 4857 : if (GET_CODE (x4) != PARALLEL
6014 : 4857 : || XVECLEN (x4, 0) != 4)
6015 : : return -1;
6016 : 4857 : x5 = XVECEXP (x4, 0, 0);
6017 : 4857 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6018 : : return -1;
6019 : 4857 : x6 = XVECEXP (x4, 0, 1);
6020 : 4857 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6021 : : return -1;
6022 : 4857 : x7 = XVECEXP (x4, 0, 2);
6023 : 4857 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6024 : : return -1;
6025 : 4857 : x8 = XVECEXP (x4, 0, 3);
6026 : 4857 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6027 : : return -1;
6028 : 4857 : x9 = XEXP (x1, 1);
6029 : 4857 : if (GET_CODE (x9) != SIGN_EXTEND
6030 : 4857 : || GET_MODE (x9) != i2)
6031 : : return -1;
6032 : 4857 : x10 = XEXP (x9, 0);
6033 : 4857 : if (GET_CODE (x10) != VEC_SELECT
6034 : 4857 : || GET_MODE (x10) != i1)
6035 : : return -1;
6036 : 4857 : x11 = XEXP (x10, 1);
6037 : 4857 : if (GET_CODE (x11) != PARALLEL
6038 : 4857 : || XVECLEN (x11, 0) != 4)
6039 : : return -1;
6040 : 4857 : x12 = XVECEXP (x11, 0, 0);
6041 : 4857 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6042 : : return -1;
6043 : 4857 : x13 = XVECEXP (x11, 0, 1);
6044 : 4857 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6045 : : return -1;
6046 : 4857 : x14 = XVECEXP (x11, 0, 2);
6047 : 4857 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6048 : : return -1;
6049 : 4857 : x15 = XVECEXP (x11, 0, 3);
6050 : 4857 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6051 : 0 : return -1;
6052 : : return 0;
6053 : : }
6054 : :
6055 : : int
6056 : 384 : pattern1801 ()
6057 : : {
6058 : 384 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6059 : 384 : int res ATTRIBUTE_UNUSED;
6060 : 384 : if (!const_0_to_3_operand (operands[2], E_VOIDmode)
6061 : 384 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
6062 : 384 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
6063 : 384 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
6064 : 384 : || !const_4_to_7_operand (operands[6], E_VOIDmode)
6065 : 384 : || !const_4_to_7_operand (operands[7], E_VOIDmode)
6066 : 384 : || !const_4_to_7_operand (operands[8], E_VOIDmode)
6067 : 768 : || !const_4_to_7_operand (operands[9], E_VOIDmode))
6068 : 0 : return -1;
6069 : : return 0;
6070 : : }
6071 : :
6072 : : int
6073 : 0 : pattern1813 (machine_mode i1)
6074 : : {
6075 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6076 : 0 : int res ATTRIBUTE_UNUSED;
6077 : 0 : if (!register_operand (operands[4], i1)
6078 : 0 : || !register_operand (operands[5], i1)
6079 : 0 : || !register_operand (operands[6], i1)
6080 : 0 : || !register_operand (operands[0], i1)
6081 : 0 : || !register_operand (operands[1], i1)
6082 : 0 : || !register_operand (operands[2], i1))
6083 : 0 : return -1;
6084 : : return 0;
6085 : : }
6086 : :
6087 : : int
6088 : 652 : pattern1817 (rtx x1, machine_mode i1, machine_mode i2)
6089 : : {
6090 : 652 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6091 : 652 : int res ATTRIBUTE_UNUSED;
6092 : 652 : if (!register_operand (operands[7], i1)
6093 : 616 : || !register_operand (operands[3], i2)
6094 : 1247 : || !scratch_operand (operands[2], i1))
6095 : 57 : return -1;
6096 : 595 : switch (GET_MODE (x1))
6097 : : {
6098 : 0 : case E_SImode:
6099 : 0 : if (!vsib_address_operand (operands[4], E_SImode))
6100 : : return -1;
6101 : : return 0;
6102 : :
6103 : 595 : case E_DImode:
6104 : 595 : if (!vsib_address_operand (operands[4], E_DImode))
6105 : : return -1;
6106 : : return 1;
6107 : :
6108 : : default:
6109 : : return -1;
6110 : : }
6111 : : }
6112 : :
6113 : : int
6114 : 119 : pattern1826 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6115 : : {
6116 : 119 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6117 : 119 : rtx x2, x3, x4;
6118 : 119 : int res ATTRIBUTE_UNUSED;
6119 : 119 : if (!register_operand (operands[0], i1)
6120 : 119 : || GET_MODE (x1) != i1)
6121 : : return -1;
6122 : 111 : x2 = XEXP (x1, 0);
6123 : 111 : if (GET_MODE (x2) != i3
6124 : 111 : || !vsib_mem_operator (operands[6], i2)
6125 : 222 : || !register_operand (operands[4], i1))
6126 : 81 : return -1;
6127 : 30 : x3 = XVECEXP (x2, 0, 1);
6128 : 30 : x4 = XEXP (x3, 0);
6129 : 30 : switch (GET_MODE (x4))
6130 : : {
6131 : 0 : case E_SImode:
6132 : 0 : if (!vsib_address_operand (operands[2], E_SImode))
6133 : : return -1;
6134 : : return 0;
6135 : :
6136 : 30 : case E_DImode:
6137 : 30 : if (!vsib_address_operand (operands[2], E_DImode))
6138 : : return -1;
6139 : : return 1;
6140 : :
6141 : : default:
6142 : : return -1;
6143 : : }
6144 : : }
6145 : :
6146 : : int
6147 : 577 : pattern1834 (rtx x1, machine_mode i1, machine_mode i2)
6148 : : {
6149 : 577 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6150 : 577 : int res ATTRIBUTE_UNUSED;
6151 : 577 : if (!register_operand (operands[2], i1)
6152 : 577 : || !register_operand (operands[4], i2))
6153 : 36 : return -1;
6154 : 541 : return pattern1833 (x1,
6155 : 541 : i1); /* [-1, 1] */
6156 : : }
6157 : :
6158 : : int
6159 : 1337 : pattern1840 (rtx x1, machine_mode i1)
6160 : : {
6161 : 1337 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6162 : 1337 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6163 : 1337 : int res ATTRIBUTE_UNUSED;
6164 : 1337 : operands[5] = x1;
6165 : 1337 : if (!register_operand (operands[5], i1))
6166 : : return -1;
6167 : 74 : x2 = PATTERN (peep2_next_insn (3));
6168 : 74 : x3 = XEXP (x2, 1);
6169 : 74 : if (!rtx_equal_p (x3, operands[5]))
6170 : : return -1;
6171 : 9 : x4 = XEXP (x2, 0);
6172 : 9 : if (!rtx_equal_p (x4, operands[1]))
6173 : : return -1;
6174 : 7 : x5 = PATTERN (peep2_next_insn (4));
6175 : 7 : if (GET_CODE (x5) != SET)
6176 : : return -1;
6177 : 7 : x6 = XEXP (x5, 1);
6178 : 7 : if (GET_CODE (x6) != COMPARE)
6179 : : return -1;
6180 : 0 : x7 = XEXP (x6, 1);
6181 : 0 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6182 : : return -1;
6183 : 0 : x8 = XEXP (x5, 0);
6184 : 0 : if (GET_CODE (x8) != REG
6185 : 0 : || REGNO (x8) != 17)
6186 : : return -1;
6187 : 0 : x9 = XEXP (x6, 0);
6188 : 0 : if (!rtx_equal_p (x9, operands[5]))
6189 : : return -1;
6190 : : return 0;
6191 : : }
6192 : :
6193 : : int
6194 : 15543 : pattern1849 (rtx x1, machine_mode i1, machine_mode i2)
6195 : : {
6196 : 15543 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6197 : 15543 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6198 : 15543 : rtx x10;
6199 : 15543 : int res ATTRIBUTE_UNUSED;
6200 : 15543 : x2 = XVECEXP (x1, 0, 0);
6201 : 15543 : x3 = XEXP (x2, 1);
6202 : 15543 : x4 = XEXP (x3, 0);
6203 : 15543 : x5 = XEXP (x4, 0);
6204 : 15543 : if (GET_MODE (x5) != i1)
6205 : : return -1;
6206 : 15543 : x6 = XEXP (x5, 0);
6207 : 15543 : if (GET_MODE (x6) != i1
6208 : 15543 : || !ix86_carry_flag_operator (operands[5], i1)
6209 : 15543 : || !nonimmediate_operand (operands[1], i1)
6210 : 31086 : || !x86_64_immediate_operand (operands[2], i1))
6211 : 14648 : return -1;
6212 : 895 : x7 = XEXP (x3, 1);
6213 : 895 : if (GET_MODE (x7) != i2
6214 : 895 : || !ix86_carry_flag_operator (operands[4], i2)
6215 : 895 : || !const_scalar_int_operand (operands[6], i2)
6216 : 1788 : || !nonimmediate_operand (operands[0], i1))
6217 : 2 : return -1;
6218 : 893 : x8 = XVECEXP (x1, 0, 1);
6219 : 893 : x9 = XEXP (x8, 1);
6220 : 893 : if (GET_MODE (x9) != i1)
6221 : : return -1;
6222 : 893 : x10 = XEXP (x9, 0);
6223 : 893 : if (GET_MODE (x10) != i1)
6224 : : return -1;
6225 : : return 0;
6226 : : }
6227 : :
6228 : : int
6229 : 871 : pattern1858 (rtx x1, int i1)
6230 : : {
6231 : 871 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6232 : 871 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6233 : 871 : int res ATTRIBUTE_UNUSED;
6234 : 871 : if (XVECLEN (x1, 0) != i1)
6235 : : return -1;
6236 : 871 : x2 = XVECEXP (x1, 0, 0);
6237 : 871 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6238 : : return -1;
6239 : 871 : x3 = XVECEXP (x1, 0, 1);
6240 : 871 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6241 : : return -1;
6242 : 871 : x4 = XVECEXP (x1, 0, 2);
6243 : 871 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6244 : : return -1;
6245 : 871 : x5 = XVECEXP (x1, 0, 3);
6246 : 871 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6247 : : return -1;
6248 : 871 : x6 = XVECEXP (x1, 0, 4);
6249 : 871 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
6250 : : return -1;
6251 : 871 : x7 = XVECEXP (x1, 0, 5);
6252 : 871 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
6253 : : return -1;
6254 : 871 : x8 = XVECEXP (x1, 0, 6);
6255 : 871 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
6256 : : return -1;
6257 : 871 : x9 = XVECEXP (x1, 0, 7);
6258 : 871 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
6259 : 0 : return -1;
6260 : : return 0;
6261 : : }
6262 : :
6263 : : int
6264 : 499 : pattern1868 (rtx x1, machine_mode i1)
6265 : : {
6266 : 499 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6267 : 499 : rtx x2;
6268 : 499 : int res ATTRIBUTE_UNUSED;
6269 : 499 : if (!x86_64_immediate_operand (operands[2], i1)
6270 : 499 : || !nonimmediate_operand (operands[0], i1)
6271 : 998 : || GET_MODE (x1) != i1)
6272 : 0 : return -1;
6273 : 499 : x2 = XEXP (x1, 0);
6274 : 499 : if (GET_MODE (x2) != i1)
6275 : : return -1;
6276 : : return 0;
6277 : : }
6278 : :
6279 : : int
6280 : 968 : pattern1872 (rtx x1, machine_mode i1, machine_mode i2)
6281 : : {
6282 : 968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6283 : 968 : rtx x2, x3, x4, x5, x6, x7;
6284 : 968 : int res ATTRIBUTE_UNUSED;
6285 : 968 : x2 = XVECEXP (x1, 0, 0);
6286 : 968 : x3 = XEXP (x2, 1);
6287 : 968 : x4 = XEXP (x3, 0);
6288 : 968 : x5 = XEXP (x4, 0);
6289 : 968 : if (GET_MODE (x5) != i2)
6290 : : return -1;
6291 : 968 : x6 = XEXP (x5, 0);
6292 : 968 : if (GET_MODE (x6) != i2
6293 : 968 : || !nonimmediate_operand (operands[1], i1)
6294 : 1936 : || !ix86_carry_flag_operator (operands[4], i2))
6295 : 0 : return -1;
6296 : 968 : x7 = XEXP (x4, 1);
6297 : 968 : if (GET_MODE (x7) != i2
6298 : 968 : || !x86_64_sext_operand (operands[2], i1)
6299 : 1936 : || pattern1870 (x1,
6300 : : i1,
6301 : : i2) != 0)
6302 : 0 : return -1;
6303 : : return 0;
6304 : : }
6305 : :
6306 : : int
6307 : 812 : pattern1880 (rtx x1)
6308 : : {
6309 : 812 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6310 : 812 : rtx x2, x3, x4, x5;
6311 : 812 : int res ATTRIBUTE_UNUSED;
6312 : 812 : x2 = XVECEXP (x1, 0, 24);
6313 : 812 : if (XWINT (x2, 0) != 24L)
6314 : : return -1;
6315 : 812 : x3 = XVECEXP (x1, 0, 25);
6316 : 812 : if (XWINT (x3, 0) != 25L)
6317 : : return -1;
6318 : 812 : x4 = XVECEXP (x1, 0, 26);
6319 : 812 : if (XWINT (x4, 0) != 26L)
6320 : : return -1;
6321 : 812 : x5 = XVECEXP (x1, 0, 27);
6322 : 812 : if (XWINT (x5, 0) != 27L)
6323 : 0 : return -1;
6324 : : return 0;
6325 : : }
6326 : :
6327 : : int
6328 : 429 : pattern1882 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6329 : : {
6330 : 429 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6331 : 429 : rtx x2, x3, x4, x5;
6332 : 429 : int res ATTRIBUTE_UNUSED;
6333 : 429 : if (!register_operand (operands[0], i1)
6334 : 429 : || GET_MODE (x1) != i1)
6335 : : return -1;
6336 : 411 : x2 = XEXP (x1, 0);
6337 : 411 : if (GET_MODE (x2) != i1)
6338 : : return -1;
6339 : 411 : x3 = XEXP (x2, 0);
6340 : 411 : if (GET_MODE (x3) != i1)
6341 : : return -1;
6342 : 411 : x4 = XEXP (x3, 0);
6343 : 411 : if (GET_MODE (x4) != i3
6344 : 411 : || !register_operand (operands[1], i2))
6345 : 0 : return -1;
6346 : 411 : x5 = XEXP (x3, 1);
6347 : 411 : if (GET_MODE (x5) != i3
6348 : 411 : || !vector_operand (operands[2], i2)
6349 : 822 : || !nonimm_or_0_operand (operands[3], i1))
6350 : 12 : return -1;
6351 : : return 0;
6352 : : }
6353 : :
6354 : : int
6355 : 3169117 : recog_6 (rtx x1 ATTRIBUTE_UNUSED,
6356 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6357 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6358 : : {
6359 : 3169117 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6360 : 3169117 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6361 : 3169117 : rtx x10, x11, x12;
6362 : 3169117 : int res ATTRIBUTE_UNUSED;
6363 : 3169117 : if (pattern55 (x1,
6364 : : E_CCFPmode) != 0)
6365 : : return -1;
6366 : 3138478 : x2 = XEXP (x1, 1);
6367 : 3138478 : x3 = XVECEXP (x2, 0, 0);
6368 : 3138478 : if (GET_MODE (x3) != E_CCFPmode)
6369 : : return -1;
6370 : 3138478 : switch (GET_CODE (x3))
6371 : : {
6372 : 3138218 : case COMPARE:
6373 : 3138218 : x4 = XEXP (x3, 0);
6374 : 3138218 : switch (GET_CODE (x4))
6375 : : {
6376 : 2811153 : case REG:
6377 : 2811153 : case SUBREG:
6378 : 2811153 : operands[0] = x4;
6379 : 2811153 : x5 = XEXP (x3, 1);
6380 : 2811153 : operands[1] = x5;
6381 : 2811153 : switch (GET_MODE (operands[0]))
6382 : : {
6383 : 641754 : case E_XFmode:
6384 : 641754 : if (!register_operand (operands[0], E_XFmode)
6385 : 641754 : || !register_operand (operands[1], E_XFmode)
6386 : 1172239 : || !
6387 : : #line 2034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6388 : : (TARGET_80387 && TARGET_CMOVE))
6389 : : return -1;
6390 : : return 53; /* *cmpiuxf_i387 */
6391 : :
6392 : : case E_SFmode:
6393 : : if (!register_operand (operands[0], E_SFmode)
6394 : : || !register_ssemem_operand (operands[1], E_SFmode)
6395 : : || !
6396 : : #line 2074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6397 : : ((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
6398 : : || (TARGET_80387 && TARGET_CMOVE)))
6399 : : return -1;
6400 : : return 61; /* *cmpiusf */
6401 : :
6402 : : case E_DFmode:
6403 : : if (!register_operand (operands[0], E_DFmode)
6404 : : || !register_ssemem_operand (operands[1], E_DFmode)
6405 : : || !
6406 : : #line 2074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6407 : : ((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
6408 : : || (TARGET_80387 && TARGET_CMOVE)))
6409 : : return -1;
6410 : : return 63; /* *cmpiudf */
6411 : :
6412 : : case E_HFmode:
6413 : : if (!register_operand (operands[0], E_HFmode)
6414 : : || !nonimmediate_operand (operands[1], E_HFmode)
6415 : : || !
6416 : : #line 2111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6417 : : (TARGET_AVX512FP16))
6418 : : return -1;
6419 : : return 65; /* *cmpiuhf */
6420 : :
6421 : : default:
6422 : : return -1;
6423 : : }
6424 : :
6425 : : case VEC_SELECT:
6426 : : if (pattern589 (x3) != 0)
6427 : : return -1;
6428 : : x6 = XEXP (x4, 0);
6429 : : operands[0] = x6;
6430 : : x5 = XEXP (x3, 1);
6431 : : x7 = XEXP (x5, 0);
6432 : : operands[1] = x7;
6433 : : switch (GET_MODE (x4))
6434 : : {
6435 : : case E_HFmode:
6436 : : if (!register_operand (operands[0], E_V8HFmode)
6437 : : || GET_MODE (x5) != E_HFmode
6438 : : || !nonimmediate_operand (operands[1], E_V8HFmode)
6439 : : || !(
6440 : : #line 4930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6441 : : (SSE_FLOAT_MODE_P (HFmode) || HFmode == E_HFmode) &&
6442 : : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6443 : : (TARGET_AVX512FP16)))
6444 : : return -1;
6445 : : return 3670; /* avx512fp16_ucomi */
6446 : :
6447 : : case E_SFmode:
6448 : : if (!register_operand (operands[0], E_V4SFmode)
6449 : : || GET_MODE (x5) != E_SFmode
6450 : : || !nonimmediate_operand (operands[1], E_V4SFmode)
6451 : : || !
6452 : : #line 4930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6453 : : (SSE_FLOAT_MODE_P (SFmode) || SFmode == E_HFmode))
6454 : : return -1;
6455 : : return 3674; /* sse_ucomi */
6456 : :
6457 : : case E_DFmode:
6458 : : if (!register_operand (operands[0], E_V2DFmode)
6459 : : || GET_MODE (x5) != E_DFmode
6460 : : || !nonimmediate_operand (operands[1], E_V2DFmode)
6461 : : || !
6462 : : #line 4930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6463 : : (SSE_FLOAT_MODE_P (DFmode) || DFmode == E_HFmode))
6464 : : return -1;
6465 : : return 3678; /* sse2_ucomi */
6466 : :
6467 : : default:
6468 : : return -1;
6469 : : }
6470 : :
6471 : : default:
6472 : : return -1;
6473 : : }
6474 : :
6475 : : case UNSPEC:
6476 : : switch (XVECLEN (x3, 0))
6477 : : {
6478 : : case 1:
6479 : : if (XINT (x3, 1) != 45)
6480 : : return -1;
6481 : : x8 = XVECEXP (x3, 0, 0);
6482 : : if (GET_CODE (x8) != COMPARE
6483 : : || GET_MODE (x8) != E_CCFPmode)
6484 : : return -1;
6485 : : x9 = XEXP (x8, 0);
6486 : : operands[0] = x9;
6487 : : x10 = XEXP (x8, 1);
6488 : : operands[1] = x10;
6489 : : switch (GET_MODE (operands[0]))
6490 : : {
6491 : : case E_SFmode:
6492 : : if (!register_operand (operands[0], E_SFmode)
6493 : : || !nonimmediate_operand (operands[1], E_SFmode)
6494 : : || !
6495 : : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6496 : : (TARGET_AVX10_2))
6497 : : return -1;
6498 : : return 55; /* *cmpxusf */
6499 : :
6500 : : case E_DFmode:
6501 : : if (!register_operand (operands[0], E_DFmode)
6502 : : || !nonimmediate_operand (operands[1], E_DFmode)
6503 : : || !
6504 : : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6505 : : (TARGET_AVX10_2))
6506 : : return -1;
6507 : : return 57; /* *cmpxudf */
6508 : :
6509 : : case E_HFmode:
6510 : : if (!register_operand (operands[0], E_HFmode)
6511 : : || !nonimmediate_operand (operands[1], E_HFmode)
6512 : : || !
6513 : : #line 2063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6514 : : (TARGET_AVX10_2))
6515 : : return -1;
6516 : : return 59; /* *cmpxuhf */
6517 : :
6518 : : default:
6519 : : return -1;
6520 : : }
6521 : :
6522 : : case 2:
6523 : : if (XINT (x3, 1) != 62
6524 : : || pattern830 (x3) != 0)
6525 : : return -1;
6526 : : x8 = XVECEXP (x3, 0, 0);
6527 : : x9 = XEXP (x8, 0);
6528 : : operands[0] = x9;
6529 : : x11 = XVECEXP (x3, 0, 1);
6530 : : x12 = XEXP (x11, 0);
6531 : : operands[1] = x12;
6532 : : switch (GET_MODE (x8))
6533 : : {
6534 : : case E_HFmode:
6535 : : if (!register_operand (operands[0], E_V8HFmode)
6536 : : || GET_MODE (x11) != E_HFmode
6537 : : || !nonimmediate_operand (operands[1], E_V8HFmode)
6538 : : || !(
6539 : : #line 4915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6540 : : (TARGET_AVX10_2) &&
6541 : : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6542 : : (TARGET_AVX512FP16)))
6543 : : return -1;
6544 : : return 3658; /* avx10_2_ucomxhf */
6545 : :
6546 : : case E_SFmode:
6547 : : if (!register_operand (operands[0], E_V4SFmode)
6548 : : || GET_MODE (x11) != E_SFmode
6549 : : || !nonimmediate_operand (operands[1], E_V4SFmode)
6550 : : || !
6551 : : #line 4915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6552 : : (TARGET_AVX10_2))
6553 : : return -1;
6554 : : return 3662; /* avx10_2_ucomxsf */
6555 : :
6556 : : case E_DFmode:
6557 : : if (!register_operand (operands[0], E_V2DFmode)
6558 : : || GET_MODE (x11) != E_DFmode
6559 : : || !nonimmediate_operand (operands[1], E_V2DFmode)
6560 : : || !
6561 : : #line 4915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6562 : : (TARGET_AVX10_2))
6563 : : return -1;
6564 : : return 3666; /* avx10_2_ucomxdf */
6565 : :
6566 : : default:
6567 : : return -1;
6568 : : }
6569 : :
6570 : : default:
6571 : : return -1;
6572 : : }
6573 : :
6574 : : default:
6575 : : return -1;
6576 : : }
6577 : : }
6578 : :
6579 : : int
6580 : : recog_16 (rtx x1 ATTRIBUTE_UNUSED,
6581 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6582 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6583 : : {
6584 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6585 : : rtx x2, x3, x4;
6586 : : int res ATTRIBUTE_UNUSED;
6587 : : x2 = XEXP (x1, 0);
6588 : : operands[0] = x2;
6589 : : x3 = XEXP (x1, 1);
6590 : : operands[1] = x3;
6591 : : switch (GET_MODE (operands[0]))
6592 : : {
6593 : : case E_V1TImode:
6594 : : if (push_operand (operands[0], E_V1TImode)
6595 : : && register_operand (operands[1], E_V1TImode))
6596 : : {
6597 : : if ((
6598 : : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6599 : : (TARGET_64BIT && TARGET_STV) &&
6600 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6601 : : (Pmode == SImode)))
6602 : : return 69; /* *pushv1ti2 */
6603 : : if ((
6604 : : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6605 : : (TARGET_64BIT && TARGET_STV) &&
6606 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6607 : : (Pmode == DImode)))
6608 : : return 70; /* *pushv1ti2 */
6609 : : }
6610 : : break;
6611 : :
6612 : : case E_DImode:
6613 : : if (push_operand (operands[0], E_DImode)
6614 : : && general_no_elim_operand (operands[1], E_DImode))
6615 : : {
6616 : : if (
6617 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6618 : : (!TARGET_64BIT))
6619 : : return 71; /* *pushdi2 */
6620 : : if (
6621 : : #line 2211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6622 : : (TARGET_64BIT))
6623 : : return 73; /* *pushdi2_rex64 */
6624 : : }
6625 : : if (nonimmediate_operand (operands[0], E_DImode)
6626 : : && pop_operand (operands[1], E_DImode)
6627 : : &&
6628 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6629 : : (word_mode == DImode))
6630 : : return 81; /* *popdi1 */
6631 : : if (pnum_clobbers != NULL
6632 : : && const0_operand (operands[1], E_DImode))
6633 : : {
6634 : : if (register_operand (operands[0], E_DImode)
6635 : : && (
6636 : : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6637 : : (reload_completed) &&
6638 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6639 : : (TARGET_64BIT)))
6640 : : {
6641 : : *pnum_clobbers = 1;
6642 : : return 89; /* *movdi_xor */
6643 : : }
6644 : : if (memory_operand (operands[0], E_DImode)
6645 : : && (
6646 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6647 : : (reload_completed) &&
6648 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6649 : : (TARGET_64BIT)))
6650 : : {
6651 : : *pnum_clobbers = 1;
6652 : : return 92; /* *movdi_and */
6653 : : }
6654 : : }
6655 : : if (nonimmediate_operand (operands[0], E_DImode))
6656 : : {
6657 : : if (pnum_clobbers != NULL
6658 : : && constm1_operand (operands[1], E_DImode)
6659 : : && (
6660 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6661 : : (reload_completed) &&
6662 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6663 : : (TARGET_64BIT)))
6664 : : {
6665 : : *pnum_clobbers = 1;
6666 : : return 95; /* *movdi_or */
6667 : : }
6668 : : if (general_operand (operands[1], E_DImode)
6669 : : &&
6670 : : #line 2599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6671 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6672 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6673 : : return 99; /* *movdi_internal */
6674 : : }
6675 : : break;
6676 : :
6677 : : case E_TImode:
6678 : : if (push_operand (operands[0], E_TImode)
6679 : : && general_no_elim_operand (operands[1], E_TImode)
6680 : : &&
6681 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6682 : : (TARGET_64BIT))
6683 : : return 72; /* *pushti2 */
6684 : : if (nonimmediate_operand (operands[0], E_TImode)
6685 : : && general_operand (operands[1], E_TImode)
6686 : : &&
6687 : : #line 2515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6688 : : ((TARGET_64BIT
6689 : : && !(MEM_P (operands[0]) && MEM_P (operands[1])))
6690 : : || (TARGET_SSE
6691 : : && nonimmediate_or_sse_const_operand (operands[1], TImode)
6692 : : && (register_operand (operands[0], TImode)
6693 : : || register_operand (operands[1], TImode)))))
6694 : : return 98; /* *movti_internal */
6695 : : break;
6696 : :
6697 : : case E_SImode:
6698 : : res = recog_15 (x1, insn, pnum_clobbers);
6699 : : if (res >= 0)
6700 : : return res;
6701 : : break;
6702 : :
6703 : : case E_QImode:
6704 : : if (push_operand (operands[0], E_QImode)
6705 : : && nonmemory_no_elim_operand (operands[1], E_QImode))
6706 : : return 76; /* *pushqi2 */
6707 : : if (nonimmediate_operand (operands[0], E_QImode)
6708 : : && general_operand (operands[1], E_QImode)
6709 : : &&
6710 : : #line 3161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6711 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6712 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6713 : : return 102; /* *movqi_internal */
6714 : : break;
6715 : :
6716 : : case E_HImode:
6717 : : if (push_operand (operands[0], E_HImode)
6718 : : && nonmemory_no_elim_operand (operands[1], E_HImode))
6719 : : return 77; /* *pushhi2 */
6720 : : if (pnum_clobbers != NULL
6721 : : && memory_operand (operands[0], E_HImode)
6722 : : && const0_operand (operands[1], E_HImode)
6723 : : &&
6724 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6725 : : (reload_completed))
6726 : : {
6727 : : *pnum_clobbers = 1;
6728 : : return 90; /* *movhi_and */
6729 : : }
6730 : : if (nonimmediate_operand (operands[0], E_HImode))
6731 : : {
6732 : : if (pnum_clobbers != NULL
6733 : : && constm1_operand (operands[1], E_HImode)
6734 : : &&
6735 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6736 : : (reload_completed))
6737 : : {
6738 : : *pnum_clobbers = 1;
6739 : : return 93; /* *movhi_or */
6740 : : }
6741 : : if (general_operand (operands[1], E_HImode)
6742 : : &&
6743 : : #line 2998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6744 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6745 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6746 : : return 101; /* *movhi_internal */
6747 : : }
6748 : : break;
6749 : :
6750 : : case E_TFmode:
6751 : : if (push_operand (operands[0], E_TFmode)
6752 : : && general_no_elim_operand (operands[1], E_TFmode)
6753 : : &&
6754 : : #line 3776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6755 : : (TARGET_64BIT || TARGET_SSE))
6756 : : return 156; /* *pushtf */
6757 : : if (nonimmediate_operand (operands[0], E_TFmode)
6758 : : && general_operand (operands[1], E_TFmode)
6759 : : &&
6760 : : #line 4045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6761 : : ((TARGET_64BIT || TARGET_SSE)
6762 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))
6763 : : && (lra_in_progress || reload_completed
6764 : : || !CONST_DOUBLE_P (operands[1])
6765 : : || (standard_sse_constant_p (operands[1], TFmode) == 1
6766 : : && !memory_operand (operands[0], TFmode))
6767 : : || (!TARGET_MEMORY_MISMATCH_STALL
6768 : : && memory_operand (operands[0], TFmode)))))
6769 : : return 171; /* *movtf_internal */
6770 : : break;
6771 : :
6772 : : case E_XFmode:
6773 : : if (push_operand (operands[0], E_XFmode)
6774 : : && general_no_elim_operand (operands[1], E_XFmode))
6775 : : return 157; /* *pushxf */
6776 : : if (nonimmediate_operand (operands[0], E_XFmode)
6777 : : && general_operand (operands[1], E_XFmode)
6778 : : &&
6779 : : #line 4105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6780 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6781 : : && (lra_in_progress || reload_completed
6782 : : || !CONST_DOUBLE_P (operands[1])
6783 : : || ((optimize_function_for_size_p (cfun)
6784 : : || (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC))
6785 : : && standard_80387_constant_p (operands[1]) > 0
6786 : : && !memory_operand (operands[0], XFmode))
6787 : : || (!TARGET_MEMORY_MISMATCH_STALL
6788 : : && memory_operand (operands[0], XFmode))
6789 : : || !TARGET_HARD_XF_REGS)))
6790 : : return 172; /* *movxf_internal */
6791 : : break;
6792 : :
6793 : : case E_DFmode:
6794 : : if (push_operand (operands[0], E_DFmode)
6795 : : && general_no_elim_operand (operands[1], E_DFmode))
6796 : : return 158; /* *pushdf */
6797 : : if (nonimmediate_operand (operands[0], E_DFmode)
6798 : : && general_operand (operands[1], E_DFmode)
6799 : : &&
6800 : : #line 4177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6801 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6802 : : && (lra_in_progress || reload_completed
6803 : : || !CONST_DOUBLE_P (operands[1])
6804 : : || ((optimize_function_for_size_p (cfun)
6805 : : || (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC))
6806 : : && IS_STACK_MODE (DFmode)
6807 : : && standard_80387_constant_p (operands[1]) > 0
6808 : : && !memory_operand (operands[0], DFmode))
6809 : : || (TARGET_SSE2 && TARGET_SSE_MATH
6810 : : && standard_sse_constant_p (operands[1], DFmode) == 1
6811 : : && !memory_operand (operands[0], DFmode))
6812 : : || ((TARGET_64BIT || !TARGET_MEMORY_MISMATCH_STALL)
6813 : : && memory_operand (operands[0], DFmode))
6814 : : || !TARGET_HARD_DF_REGS)))
6815 : : return 173; /* *movdf_internal */
6816 : : break;
6817 : :
6818 : : case E_HFmode:
6819 : : if (push_operand (operands[0], E_HFmode))
6820 : : {
6821 : : if (nonmemory_no_elim_operand (operands[1], E_HFmode)
6822 : : &&
6823 : : #line 3872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6824 : : (TARGET_64BIT))
6825 : : return 159; /* *pushhf_rex64 */
6826 : : if (general_no_elim_operand (operands[1], E_HFmode)
6827 : : &&
6828 : : #line 3885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6829 : : (!TARGET_64BIT))
6830 : : return 161; /* *pushhf */
6831 : : }
6832 : : if (nonimmediate_operand (operands[0], E_HFmode)
6833 : : && general_operand (operands[1], E_HFmode)
6834 : : &&
6835 : : #line 4489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6836 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6837 : : && (lra_in_progress
6838 : : || reload_completed
6839 : : || !CONST_DOUBLE_P (operands[1])
6840 : : || (TARGET_SSE2
6841 : : && standard_sse_constant_p (operands[1], HFmode) == 1)
6842 : : || memory_operand (operands[0], HFmode))))
6843 : : return 175; /* *movhf_internal */
6844 : : break;
6845 : :
6846 : : case E_BFmode:
6847 : : if (push_operand (operands[0], E_BFmode))
6848 : : {
6849 : : if (nonmemory_no_elim_operand (operands[1], E_BFmode)
6850 : : &&
6851 : : #line 3872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6852 : : (TARGET_64BIT))
6853 : : return 160; /* *pushbf_rex64 */
6854 : : if (general_no_elim_operand (operands[1], E_BFmode)
6855 : : &&
6856 : : #line 3885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6857 : : (!TARGET_64BIT))
6858 : : return 162; /* *pushbf */
6859 : : }
6860 : : if (nonimmediate_operand (operands[0], E_BFmode)
6861 : : && general_operand (operands[1], E_BFmode)
6862 : : &&
6863 : : #line 4489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6864 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6865 : : && (lra_in_progress
6866 : : || reload_completed
6867 : : || !CONST_DOUBLE_P (operands[1])
6868 : : || (TARGET_SSE2
6869 : : && standard_sse_constant_p (operands[1], BFmode) == 1)
6870 : : || memory_operand (operands[0], BFmode))))
6871 : : return 176; /* *movbf_internal */
6872 : : break;
6873 : :
6874 : : case E_SFmode:
6875 : : if (push_operand (operands[0], E_SFmode))
6876 : : {
6877 : : if (nonmemory_no_elim_operand (operands[1], E_SFmode)
6878 : : &&
6879 : : #line 3960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6880 : : (TARGET_64BIT))
6881 : : return 169; /* *pushsf_rex64 */
6882 : : if (general_no_elim_operand (operands[1], E_SFmode)
6883 : : &&
6884 : : #line 3974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6885 : : (!TARGET_64BIT))
6886 : : return 170; /* *pushsf */
6887 : : }
6888 : : if (nonimmediate_operand (operands[0], E_SFmode)
6889 : : && general_operand (operands[1], E_SFmode)
6890 : : &&
6891 : : #line 4354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6892 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6893 : : && (lra_in_progress || reload_completed
6894 : : || !CONST_DOUBLE_P (operands[1])
6895 : : || ((optimize_function_for_size_p (cfun)
6896 : : || (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC))
6897 : : && IS_STACK_MODE (SFmode)
6898 : : && standard_80387_constant_p (operands[1]) > 0)
6899 : : || (TARGET_SSE && TARGET_SSE_MATH
6900 : : && standard_sse_constant_p (operands[1], SFmode) == 1)
6901 : : || memory_operand (operands[0], SFmode)
6902 : : || !TARGET_HARD_SF_REGS)))
6903 : : return 174; /* *movsf_internal */
6904 : : break;
6905 : :
6906 : : case E_V8QImode:
6907 : : if (nonimmediate_operand (operands[0], E_V8QImode)
6908 : : && nonimm_or_0_operand (operands[1], E_V8QImode)
6909 : : &&
6910 : : #line 191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6911 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
6912 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))
6913 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6914 : : return 2027; /* *movv8qi_internal */
6915 : : if (memory_operand (operands[0], E_V8QImode)
6916 : : && x86_64_const_vector_operand (operands[1], E_V8QImode)
6917 : : &&
6918 : : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6919 : : (TARGET_64BIT))
6920 : : return 2051; /* *movv8qi_imm */
6921 : : break;
6922 : :
6923 : : case E_V4HImode:
6924 : : if (nonimmediate_operand (operands[0], E_V4HImode)
6925 : : && nonimm_or_0_operand (operands[1], E_V4HImode)
6926 : : &&
6927 : : #line 191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6928 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
6929 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))
6930 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6931 : : return 2028; /* *movv4hi_internal */
6932 : : if (memory_operand (operands[0], E_V4HImode)
6933 : : && x86_64_const_vector_operand (operands[1], E_V4HImode)
6934 : : &&
6935 : : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6936 : : (TARGET_64BIT))
6937 : : return 2052; /* *movv4hi_imm */
6938 : : break;
6939 : :
6940 : : case E_V2SImode:
6941 : : if (nonimmediate_operand (operands[0], E_V2SImode)
6942 : : && nonimm_or_0_operand (operands[1], E_V2SImode)
6943 : : &&
6944 : : #line 191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6945 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
6946 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))
6947 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6948 : : return 2029; /* *movv2si_internal */
6949 : : if (memory_operand (operands[0], E_V2SImode)
6950 : : && x86_64_const_vector_operand (operands[1], E_V2SImode)
6951 : : &&
6952 : : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6953 : : (TARGET_64BIT))
6954 : : return 2055; /* *movv2si_imm */
6955 : : break;
6956 : :
6957 : : case E_V1DImode:
6958 : : if (nonimmediate_operand (operands[0], E_V1DImode)
6959 : : && nonimm_or_0_operand (operands[1], E_V1DImode)
6960 : : &&
6961 : : #line 191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6962 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
6963 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))
6964 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6965 : : return 2030; /* *movv1di_internal */
6966 : : if (memory_operand (operands[0], E_V1DImode)
6967 : : && x86_64_const_vector_operand (operands[1], E_V1DImode)
6968 : : &&
6969 : : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6970 : : (TARGET_64BIT))
6971 : : return 2057; /* *movv1di_imm */
6972 : : break;
6973 : :
6974 : : case E_V2SFmode:
6975 : : if (nonimmediate_operand (operands[0], E_V2SFmode)
6976 : : && nonimm_or_0_operand (operands[1], E_V2SFmode)
6977 : : &&
6978 : : #line 191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6979 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
6980 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))
6981 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6982 : : return 2031; /* *movv2sf_internal */
6983 : : if (memory_operand (operands[0], E_V2SFmode)
6984 : : && x86_64_const_vector_operand (operands[1], E_V2SFmode)
6985 : : &&
6986 : : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6987 : : (TARGET_64BIT))
6988 : : return 2056; /* *movv2sf_imm */
6989 : : break;
6990 : :
6991 : : case E_V4HFmode:
6992 : : if (nonimmediate_operand (operands[0], E_V4HFmode)
6993 : : && nonimm_or_0_operand (operands[1], E_V4HFmode)
6994 : : &&
6995 : : #line 191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6996 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
6997 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))
6998 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6999 : : return 2032; /* *movv4hf_internal */
7000 : : if (memory_operand (operands[0], E_V4HFmode)
7001 : : && x86_64_const_vector_operand (operands[1], E_V4HFmode)
7002 : : &&
7003 : : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7004 : : (TARGET_64BIT))
7005 : : return 2053; /* *movv4hf_imm */
7006 : : break;
7007 : :
7008 : : case E_V4BFmode:
7009 : : if (nonimmediate_operand (operands[0], E_V4BFmode)
7010 : : && nonimm_or_0_operand (operands[1], E_V4BFmode)
7011 : : &&
7012 : : #line 191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7013 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7014 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))
7015 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
7016 : : return 2033; /* *movv4bf_internal */
7017 : : if (memory_operand (operands[0], E_V4BFmode)
7018 : : && x86_64_const_vector_operand (operands[1], E_V4BFmode)
7019 : : &&
7020 : : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7021 : : (TARGET_64BIT))
7022 : : return 2054; /* *movv4bf_imm */
7023 : : break;
7024 : :
7025 : : case E_V4QImode:
7026 : : if (nonimmediate_operand (operands[0], E_V4QImode)
7027 : : && nonimm_or_0_operand (operands[1], E_V4QImode)
7028 : : &&
7029 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7030 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
7031 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
7032 : : return 2034; /* *movv4qi_internal */
7033 : : if (push_operand (operands[0], E_V4QImode)
7034 : : && nonmemory_no_elim_operand (operands[1], E_V4QImode)
7035 : : &&
7036 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7037 : : (TARGET_64BIT))
7038 : : return 2039; /* *pushv4qi2_rex64 */
7039 : : if (memory_operand (operands[0], E_V4QImode)
7040 : : && x86_64_const_vector_operand (operands[1], E_V4QImode))
7041 : : return 2046; /* *movv4qi_imm */
7042 : : break;
7043 : :
7044 : : case E_V2HImode:
7045 : : if (nonimmediate_operand (operands[0], E_V2HImode)
7046 : : && nonimm_or_0_operand (operands[1], E_V2HImode)
7047 : : &&
7048 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7049 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
7050 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
7051 : : return 2035; /* *movv2hi_internal */
7052 : : if (push_operand (operands[0], E_V2HImode)
7053 : : && nonmemory_no_elim_operand (operands[1], E_V2HImode)
7054 : : &&
7055 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7056 : : (TARGET_64BIT))
7057 : : return 2040; /* *pushv2hi2_rex64 */
7058 : : if (memory_operand (operands[0], E_V2HImode)
7059 : : && x86_64_const_vector_operand (operands[1], E_V2HImode))
7060 : : return 2047; /* *movv2hi_imm */
7061 : : break;
7062 : :
7063 : : case E_V1SImode:
7064 : : if (nonimmediate_operand (operands[0], E_V1SImode)
7065 : : && nonimm_or_0_operand (operands[1], E_V1SImode)
7066 : : &&
7067 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7068 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
7069 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
7070 : : return 2036; /* *movv1si_internal */
7071 : : if (push_operand (operands[0], E_V1SImode)
7072 : : && nonmemory_no_elim_operand (operands[1], E_V1SImode)
7073 : : &&
7074 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7075 : : (TARGET_64BIT))
7076 : : return 2041; /* *pushv1si2_rex64 */
7077 : : if (memory_operand (operands[0], E_V1SImode)
7078 : : && x86_64_const_vector_operand (operands[1], E_V1SImode))
7079 : : return 2048; /* *movv1si_imm */
7080 : : break;
7081 : :
7082 : : case E_V2HFmode:
7083 : : if (nonimmediate_operand (operands[0], E_V2HFmode)
7084 : : && nonimm_or_0_operand (operands[1], E_V2HFmode)
7085 : : &&
7086 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7087 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
7088 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
7089 : : return 2037; /* *movv2hf_internal */
7090 : : if (push_operand (operands[0], E_V2HFmode)
7091 : : && nonmemory_no_elim_operand (operands[1], E_V2HFmode)
7092 : : &&
7093 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7094 : : (TARGET_64BIT))
7095 : : return 2042; /* *pushv2hf2_rex64 */
7096 : : if (memory_operand (operands[0], E_V2HFmode)
7097 : : && x86_64_const_vector_operand (operands[1], E_V2HFmode))
7098 : : return 2049; /* *movv2hf_imm */
7099 : : break;
7100 : :
7101 : : case E_V2BFmode:
7102 : : if (nonimmediate_operand (operands[0], E_V2BFmode)
7103 : : && nonimm_or_0_operand (operands[1], E_V2BFmode)
7104 : : &&
7105 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7106 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
7107 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
7108 : : return 2038; /* *movv2bf_internal */
7109 : : if (push_operand (operands[0], E_V2BFmode)
7110 : : && nonmemory_no_elim_operand (operands[1], E_V2BFmode)
7111 : : &&
7112 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7113 : : (TARGET_64BIT))
7114 : : return 2043; /* *pushv2bf2_rex64 */
7115 : : if (memory_operand (operands[0], E_V2BFmode)
7116 : : && x86_64_const_vector_operand (operands[1], E_V2BFmode))
7117 : : return 2050; /* *movv2bf_imm */
7118 : : break;
7119 : :
7120 : : case E_V2QImode:
7121 : : if (nonimmediate_operand (operands[0], E_V2QImode)
7122 : : && nonimm_or_0_operand (operands[1], E_V2QImode)
7123 : : &&
7124 : : #line 458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7125 : : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
7126 : : && ix86_hardreg_mov_ok (operands[0], operands[1])))
7127 : : return 2044; /* *movv2qi_internal */
7128 : : if (memory_operand (operands[0], E_V2QImode)
7129 : : && x86_64_const_vector_operand (operands[1], E_V2QImode))
7130 : : return 2045; /* *movv2qi_imm */
7131 : : if (push_operand (operands[0], E_V2QImode)
7132 : : && nonmemory_no_elim_operand (operands[1], E_V2QImode))
7133 : : return 2058; /* *pushv2qi2 */
7134 : : break;
7135 : :
7136 : : case E_P2QImode:
7137 : : if (nonimmediate_operand (operands[0], E_P2QImode)
7138 : : && nonimmediate_operand (operands[1], E_P2QImode)
7139 : : &&
7140 : : #line 31102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7141 : : (TARGET_AVX512VP2INTERSECT
7142 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
7143 : : return 10302; /* *movp2qi_internal */
7144 : : break;
7145 : :
7146 : : case E_P2HImode:
7147 : : if (nonimmediate_operand (operands[0], E_P2HImode)
7148 : : && nonimmediate_operand (operands[1], E_P2HImode)
7149 : : &&
7150 : : #line 31102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7151 : : (TARGET_AVX512VP2INTERSECT
7152 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
7153 : : return 10303; /* *movp2hi_internal */
7154 : : break;
7155 : :
7156 : : default:
7157 : : break;
7158 : : }
7159 : : if (GET_CODE (x2) != MEM)
7160 : : return -1;
7161 : : x4 = XEXP (x2, 0);
7162 : : operands[0] = x4;
7163 : : if (!x86_64_movabs_operand (operands[0], E_DImode))
7164 : : return -1;
7165 : : operands[1] = x3;
7166 : : switch (GET_MODE (x2))
7167 : : {
7168 : : case E_QImode:
7169 : : if (!nonmemory_operand (operands[1], E_QImode)
7170 : : || !
7171 : : #line 3312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7172 : : (TARGET_LP64 && ix86_check_movabs (insn, 0)))
7173 : : return -1;
7174 : : return 103; /* *movabsqi_1 */
7175 : :
7176 : : case E_HImode:
7177 : : if (!nonmemory_operand (operands[1], E_HImode)
7178 : : || !
7179 : : #line 3312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7180 : : (TARGET_LP64 && ix86_check_movabs (insn, 0)))
7181 : : return -1;
7182 : : return 104; /* *movabshi_1 */
7183 : :
7184 : : case E_SImode:
7185 : : if (!nonmemory_operand (operands[1], E_SImode)
7186 : : || !
7187 : : #line 3312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7188 : : (TARGET_LP64 && ix86_check_movabs (insn, 0)))
7189 : : return -1;
7190 : : return 105; /* *movabssi_1 */
7191 : :
7192 : : case E_DImode:
7193 : : if (!nonmemory_operand (operands[1], E_DImode)
7194 : : || !
7195 : : #line 3312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7196 : : (TARGET_LP64 && ix86_check_movabs (insn, 0)))
7197 : : return -1;
7198 : : return 106; /* *movabsdi_1 */
7199 : :
7200 : : default:
7201 : : return -1;
7202 : : }
7203 : : }
7204 : :
7205 : : int
7206 : : recog_35 (rtx x1 ATTRIBUTE_UNUSED,
7207 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7208 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7209 : : {
7210 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7211 : : rtx x2, x3, x4, x5, x6;
7212 : : int res ATTRIBUTE_UNUSED;
7213 : : x2 = XEXP (x1, 0);
7214 : : operands[0] = x2;
7215 : : x3 = XEXP (x1, 1);
7216 : : x4 = XEXP (x3, 0);
7217 : : switch (GET_CODE (x4))
7218 : : {
7219 : : case REG:
7220 : : case SUBREG:
7221 : : case MEM:
7222 : : operands[1] = x4;
7223 : : switch (GET_MODE (operands[0]))
7224 : : {
7225 : : case E_SFmode:
7226 : : switch (pattern416 (x3,
7227 : : E_SFmode))
7228 : : {
7229 : : case 0:
7230 : : if (!
7231 : : #line 6071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7232 : : (TARGET_80387
7233 : : && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
7234 : : || TARGET_MIX_SSE_I387)))
7235 : : return -1;
7236 : : return 243; /* floathisf2 */
7237 : :
7238 : : case 1:
7239 : : if (!
7240 : : #line 6101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7241 : : ((TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode))
7242 : : || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
7243 : : return -1;
7244 : : return 248; /* *floatsisf2 */
7245 : :
7246 : : case 2:
7247 : : if ((
7248 : : #line 6101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7249 : : ((TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode))
7250 : : || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)) &&
7251 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7252 : : (TARGET_64BIT)))
7253 : : return 249; /* *floatdisf2 */
7254 : : if (!
7255 : : #line 6154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7256 : : (!TARGET_64BIT
7257 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)))
7258 : : return -1;
7259 : : return 256; /* *floatdisf2_i387 */
7260 : :
7261 : : default:
7262 : : return -1;
7263 : : }
7264 : :
7265 : : case E_DFmode:
7266 : : switch (pattern416 (x3,
7267 : : E_DFmode))
7268 : : {
7269 : : case 0:
7270 : : if (!
7271 : : #line 6071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7272 : : (TARGET_80387
7273 : : && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
7274 : : || TARGET_MIX_SSE_I387)))
7275 : : return -1;
7276 : : return 244; /* floathidf2 */
7277 : :
7278 : : case 1:
7279 : : if (!
7280 : : #line 6101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7281 : : ((TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode))
7282 : : || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
7283 : : return -1;
7284 : : return 250; /* *floatsidf2 */
7285 : :
7286 : : case 2:
7287 : : if ((
7288 : : #line 6101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7289 : : ((TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode))
7290 : : || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)) &&
7291 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7292 : : (TARGET_64BIT)))
7293 : : return 251; /* *floatdidf2 */
7294 : : if (!
7295 : : #line 6154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7296 : : (!TARGET_64BIT
7297 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)))
7298 : : return -1;
7299 : : return 257; /* *floatdidf2_i387 */
7300 : :
7301 : : default:
7302 : : return -1;
7303 : : }
7304 : :
7305 : : case E_XFmode:
7306 : : switch (pattern416 (x3,
7307 : : E_XFmode))
7308 : : {
7309 : : case 0:
7310 : : if (!
7311 : : #line 6071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7312 : : (TARGET_80387
7313 : : && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
7314 : : || TARGET_MIX_SSE_I387)))
7315 : : return -1;
7316 : : return 245; /* floathixf2 */
7317 : :
7318 : : case 1:
7319 : : if (!
7320 : : #line 6083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7321 : : (TARGET_80387))
7322 : : return -1;
7323 : : return 246; /* floatsixf2 */
7324 : :
7325 : : case 2:
7326 : : if (!
7327 : : #line 6083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7328 : : (TARGET_80387))
7329 : : return -1;
7330 : : return 247; /* floatdixf2 */
7331 : :
7332 : : default:
7333 : : return -1;
7334 : : }
7335 : :
7336 : : case E_HFmode:
7337 : : switch (pattern251 (x3,
7338 : : E_HFmode))
7339 : : {
7340 : : case 0:
7341 : : if (!
7342 : : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7343 : : (TARGET_AVX512FP16))
7344 : : return -1;
7345 : : return 252; /* floatsihf2 */
7346 : :
7347 : : case 1:
7348 : : if (!(
7349 : : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7350 : : (TARGET_AVX512FP16) &&
7351 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7352 : : (TARGET_64BIT)))
7353 : : return -1;
7354 : : return 254; /* floatdihf2 */
7355 : :
7356 : : default:
7357 : : return -1;
7358 : : }
7359 : :
7360 : : default:
7361 : : return -1;
7362 : : }
7363 : :
7364 : : case SIGN_EXTEND:
7365 : : if (GET_MODE (x4) != E_V2SImode)
7366 : : return -1;
7367 : : x5 = XEXP (x4, 0);
7368 : : if (GET_CODE (x5) != TRUNCATE
7369 : : || GET_MODE (x5) != E_V2HImode
7370 : : || !register_operand (operands[0], E_V2SFmode)
7371 : : || GET_MODE (x3) != E_V2SFmode)
7372 : : return -1;
7373 : : x6 = XEXP (x5, 0);
7374 : : operands[1] = x6;
7375 : : if (!nonimmediate_operand (operands[1], E_V2SImode)
7376 : : || !
7377 : : #line 1647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7378 : : (TARGET_3DNOW_A))
7379 : : return -1;
7380 : : return 2094; /* mmx_pi2fw */
7381 : :
7382 : : default:
7383 : : return -1;
7384 : : }
7385 : : }
7386 : :
7387 : : int
7388 : : recog_42 (rtx x1 ATTRIBUTE_UNUSED,
7389 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7390 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7391 : : {
7392 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7393 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7394 : : rtx x10, x11, x12, x13;
7395 : : int res ATTRIBUTE_UNUSED;
7396 : : x2 = XEXP (x1, 1);
7397 : : x3 = XEXP (x2, 0);
7398 : : switch (GET_CODE (x3))
7399 : : {
7400 : : case XOR:
7401 : : if (pnum_clobbers == NULL)
7402 : : return -1;
7403 : : x4 = XEXP (x1, 0);
7404 : : operands[0] = x4;
7405 : : x5 = XEXP (x3, 0);
7406 : : operands[1] = x5;
7407 : : x6 = XEXP (x3, 1);
7408 : : operands[2] = x6;
7409 : : switch (GET_MODE (operands[0]))
7410 : : {
7411 : : case E_HImode:
7412 : : if (pattern724 (x2,
7413 : : E_HImode) != 0
7414 : : || !
7415 : : #line 13744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7416 : : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
7417 : : return -1;
7418 : : *pnum_clobbers = 1;
7419 : : return 839; /* *notxorhi_1 */
7420 : :
7421 : : case E_QImode:
7422 : : if (pattern724 (x2,
7423 : : E_QImode) != 0
7424 : : || !
7425 : : #line 13944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7426 : : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
7427 : : return -1;
7428 : : *pnum_clobbers = 1;
7429 : : return 875; /* *notxorqi_1 */
7430 : :
7431 : : default:
7432 : : return -1;
7433 : : }
7434 : :
7435 : : case REG:
7436 : : case SUBREG:
7437 : : case MEM:
7438 : : switch (pattern39 (x1))
7439 : : {
7440 : : case 0:
7441 : : switch (GET_MODE (operands[0]))
7442 : : {
7443 : : case E_TImode:
7444 : : if (!nonimmediate_operand (operands[0], E_TImode)
7445 : : || GET_MODE (x2) != E_TImode
7446 : : || !nonimmediate_operand (operands[1], E_TImode)
7447 : : || !(
7448 : : #line 15122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7449 : : (ix86_unary_operator_ok (NOT, TImode, operands, TARGET_APX_NDD)) &&
7450 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7451 : : (TARGET_64BIT)))
7452 : : return -1;
7453 : : return 1035; /* *one_cmplti2_doubleword */
7454 : :
7455 : : case E_HImode:
7456 : : if (!nonimmediate_operand (operands[0], E_HImode)
7457 : : || GET_MODE (x2) != E_HImode
7458 : : || !nonimmediate_operand (operands[1], E_HImode)
7459 : : || !
7460 : : #line 15135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7461 : : (ix86_unary_operator_ok (NOT, HImode, operands, TARGET_APX_NDD)))
7462 : : return -1;
7463 : : return 1036; /* *one_cmplhi2_1 */
7464 : :
7465 : : case E_QImode:
7466 : : if (!nonimmediate_operand (operands[0], E_QImode)
7467 : : || GET_MODE (x2) != E_QImode
7468 : : || !nonimmediate_operand (operands[1], E_QImode)
7469 : : || !
7470 : : #line 15179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7471 : : (ix86_unary_operator_ok (NOT, QImode, operands, TARGET_APX_NDD)))
7472 : : return -1;
7473 : : return 1045; /* *one_cmplqi2_1 */
7474 : :
7475 : : case E_V4QImode:
7476 : : if (!register_operand (operands[0], E_V4QImode)
7477 : : || GET_MODE (x2) != E_V4QImode
7478 : : || !register_operand (operands[1], E_V4QImode))
7479 : : return -1;
7480 : : return 2276; /* one_cmplv4qi2 */
7481 : :
7482 : : case E_V2QImode:
7483 : : if (!register_operand (operands[0], E_V2QImode)
7484 : : || GET_MODE (x2) != E_V2QImode
7485 : : || !register_operand (operands[1], E_V2QImode))
7486 : : return -1;
7487 : : return 2277; /* one_cmplv2qi2 */
7488 : :
7489 : : case E_V2HImode:
7490 : : if (!register_operand (operands[0], E_V2HImode)
7491 : : || GET_MODE (x2) != E_V2HImode
7492 : : || !register_operand (operands[1], E_V2HImode))
7493 : : return -1;
7494 : : return 2278; /* one_cmplv2hi2 */
7495 : :
7496 : : default:
7497 : : return -1;
7498 : : }
7499 : :
7500 : : case 1:
7501 : : if (!
7502 : : #line 15205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7503 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7504 : : return -1;
7505 : : return 1046; /* *one_cmplqi_1_slp */
7506 : :
7507 : : case 2:
7508 : : if (!
7509 : : #line 15205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7510 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7511 : : return -1;
7512 : : return 1047; /* *one_cmplhi_1_slp */
7513 : :
7514 : : default:
7515 : : return -1;
7516 : : }
7517 : :
7518 : : case ASHIFTRT:
7519 : : case LSHIFTRT:
7520 : : case SIGN_EXTRACT:
7521 : : case ZERO_EXTRACT:
7522 : : operands[2] = x3;
7523 : : switch (pattern83 (x1))
7524 : : {
7525 : : case 0:
7526 : : return 1053; /* *one_cmplqi_exthi_1 */
7527 : :
7528 : : case 1:
7529 : : return 1054; /* *one_cmplqi_extsi_1 */
7530 : :
7531 : : case 2:
7532 : : if (
7533 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7534 : : (TARGET_64BIT))
7535 : : return 1055; /* *one_cmplqi_extdi_1 */
7536 : : break;
7537 : :
7538 : : default:
7539 : : break;
7540 : : }
7541 : : if (pnum_clobbers == NULL
7542 : : || GET_CODE (x3) != ZERO_EXTRACT
7543 : : || GET_MODE (x3) != E_DImode)
7544 : : return -1;
7545 : : x6 = XEXP (x3, 1);
7546 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
7547 : : return -1;
7548 : : x4 = XEXP (x1, 0);
7549 : : if (GET_CODE (x4) != ZERO_EXTRACT
7550 : : || GET_MODE (x4) != E_DImode)
7551 : : return -1;
7552 : : x7 = XEXP (x4, 1);
7553 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
7554 : : return -1;
7555 : : x8 = XEXP (x4, 0);
7556 : : operands[0] = x8;
7557 : : if (!nonimmediate_operand (operands[0], E_DImode))
7558 : : return -1;
7559 : : x9 = XEXP (x4, 2);
7560 : : operands[1] = x9;
7561 : : if (!const_0_to_63_operand (operands[1], E_QImode)
7562 : : || GET_MODE (x2) != E_DImode)
7563 : : return -1;
7564 : : x5 = XEXP (x3, 0);
7565 : : if (!rtx_equal_p (x5, operands[0]))
7566 : : return -1;
7567 : : x10 = XEXP (x3, 2);
7568 : : if (!rtx_equal_p (x10, operands[1])
7569 : : || !
7570 : : #line 19193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7571 : : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
7572 : : return -1;
7573 : : *pnum_clobbers = 1;
7574 : : return 1419; /* *btcq_imm */
7575 : :
7576 : : case UNSPEC:
7577 : : if (XVECLEN (x3, 0) != 3)
7578 : : return -1;
7579 : : x4 = XEXP (x1, 0);
7580 : : operands[0] = x4;
7581 : : x11 = XVECEXP (x3, 0, 0);
7582 : : operands[1] = x11;
7583 : : x12 = XVECEXP (x3, 0, 1);
7584 : : operands[2] = x12;
7585 : : x13 = XVECEXP (x3, 0, 2);
7586 : : operands[3] = x13;
7587 : : switch (XINT (x3, 1))
7588 : : {
7589 : : case 60:
7590 : : switch (GET_MODE (operands[0]))
7591 : : {
7592 : : case E_HImode:
7593 : : switch (pattern954 (x2))
7594 : : {
7595 : : case 0:
7596 : : if (!
7597 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7598 : : (TARGET_AVX512F && GET_MODE_NUNITS (V16SImode) >= 8
7599 : : && ix86_pre_reload_split ()))
7600 : : return -1;
7601 : : return 3398; /* *avx512f_cmpv16si3 */
7602 : :
7603 : : case 1:
7604 : : if (!(
7605 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7606 : : (TARGET_AVX512F && GET_MODE_NUNITS (V16HFmode) >= 8
7607 : : && ix86_pre_reload_split ()) &&
7608 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7609 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
7610 : : return -1;
7611 : : return 3405; /* *avx512vl_cmpv16hf3 */
7612 : :
7613 : : case 2:
7614 : : if (!
7615 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7616 : : (TARGET_AVX512F && GET_MODE_NUNITS (V16SFmode) >= 8
7617 : : && ix86_pre_reload_split ()))
7618 : : return -1;
7619 : : return 3407; /* *avx512f_cmpv16sf3 */
7620 : :
7621 : : case 3:
7622 : : if (!(
7623 : : #line 4624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7624 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
7625 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7626 : : (TARGET_AVX512VL)))
7627 : : return -1;
7628 : : return 3472; /* *avx512vl_cmpv16qi3 */
7629 : :
7630 : : case 4:
7631 : : if (!(
7632 : : #line 4624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7633 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
7634 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7635 : : (TARGET_AVX512VL)))
7636 : : return -1;
7637 : : return 3478; /* *avx512vl_cmpv16hi3 */
7638 : :
7639 : : default:
7640 : : return -1;
7641 : : }
7642 : :
7643 : : case E_QImode:
7644 : : switch (pattern955 (x2))
7645 : : {
7646 : : case 0:
7647 : : if (!(
7648 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7649 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8SImode) >= 8
7650 : : && ix86_pre_reload_split ()) &&
7651 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7652 : : (TARGET_AVX512VL)))
7653 : : return -1;
7654 : : return 3399; /* *avx512vl_cmpv8si3 */
7655 : :
7656 : : case 1:
7657 : : if (!(
7658 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7659 : : (TARGET_AVX512F && GET_MODE_NUNITS (V4SImode) >= 8
7660 : : && ix86_pre_reload_split ()) &&
7661 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7662 : : (TARGET_AVX512VL)))
7663 : : return -1;
7664 : : return 3400; /* *avx512vl_cmpv4si3 */
7665 : :
7666 : : case 2:
7667 : : if (!
7668 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7669 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8DImode) >= 8
7670 : : && ix86_pre_reload_split ()))
7671 : : return -1;
7672 : : return 3401; /* *avx512f_cmpv8di3 */
7673 : :
7674 : : case 3:
7675 : : if (!(
7676 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7677 : : (TARGET_AVX512F && GET_MODE_NUNITS (V4DImode) >= 8
7678 : : && ix86_pre_reload_split ()) &&
7679 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7680 : : (TARGET_AVX512VL)))
7681 : : return -1;
7682 : : return 3402; /* *avx512vl_cmpv4di3 */
7683 : :
7684 : : case 4:
7685 : : if (!(
7686 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7687 : : (TARGET_AVX512F && GET_MODE_NUNITS (V2DImode) >= 8
7688 : : && ix86_pre_reload_split ()) &&
7689 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7690 : : (TARGET_AVX512VL)))
7691 : : return -1;
7692 : : return 3403; /* *avx512vl_cmpv2di3 */
7693 : :
7694 : : case 5:
7695 : : if (!(
7696 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7697 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8HFmode) >= 8
7698 : : && ix86_pre_reload_split ()) &&
7699 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7700 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
7701 : : return -1;
7702 : : return 3406; /* *avx512fp16_cmpv8hf3 */
7703 : :
7704 : : case 6:
7705 : : if (!(
7706 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7707 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8SFmode) >= 8
7708 : : && ix86_pre_reload_split ()) &&
7709 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7710 : : (TARGET_AVX512VL)))
7711 : : return -1;
7712 : : return 3408; /* *avx512vl_cmpv8sf3 */
7713 : :
7714 : : case 7:
7715 : : if (!(
7716 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7717 : : (TARGET_AVX512F && GET_MODE_NUNITS (V4SFmode) >= 8
7718 : : && ix86_pre_reload_split ()) &&
7719 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7720 : : (TARGET_AVX512VL)))
7721 : : return -1;
7722 : : return 3409; /* *avx512vl_cmpv4sf3 */
7723 : :
7724 : : case 8:
7725 : : if (!
7726 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7727 : : (TARGET_AVX512F && GET_MODE_NUNITS (V8DFmode) >= 8
7728 : : && ix86_pre_reload_split ()))
7729 : : return -1;
7730 : : return 3410; /* *avx512f_cmpv8df3 */
7731 : :
7732 : : case 9:
7733 : : if (!(
7734 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7735 : : (TARGET_AVX512F && GET_MODE_NUNITS (V4DFmode) >= 8
7736 : : && ix86_pre_reload_split ()) &&
7737 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7738 : : (TARGET_AVX512VL)))
7739 : : return -1;
7740 : : return 3411; /* *avx512vl_cmpv4df3 */
7741 : :
7742 : : case 10:
7743 : : if (!(
7744 : : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7745 : : (TARGET_AVX512F && GET_MODE_NUNITS (V2DFmode) >= 8
7746 : : && ix86_pre_reload_split ()) &&
7747 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7748 : : (TARGET_AVX512VL)))
7749 : : return -1;
7750 : : return 3412; /* *avx512vl_cmpv2df3 */
7751 : :
7752 : : case 11:
7753 : : if (!(
7754 : : #line 4624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7755 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
7756 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7757 : : (TARGET_AVX512VL)))
7758 : : return -1;
7759 : : return 3480; /* *avx512vl_cmpv8hi3 */
7760 : :
7761 : : default:
7762 : : return -1;
7763 : : }
7764 : :
7765 : : default:
7766 : : return -1;
7767 : : }
7768 : :
7769 : : case 158:
7770 : : if (!const_0_to_7_operand (operands[3], E_SImode))
7771 : : return -1;
7772 : : switch (GET_MODE (operands[0]))
7773 : : {
7774 : : case E_HImode:
7775 : : switch (pattern1067 (x2))
7776 : : {
7777 : : case 0:
7778 : : if (!(
7779 : : #line 4624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7780 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
7781 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7782 : : (TARGET_AVX512VL)))
7783 : : return -1;
7784 : : return 3473; /* *avx512vl_cmpv16qi3 */
7785 : :
7786 : : case 1:
7787 : : if (!(
7788 : : #line 4624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7789 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
7790 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7791 : : (TARGET_AVX512VL)))
7792 : : return -1;
7793 : : return 3479; /* *avx512vl_cmpv16hi3 */
7794 : :
7795 : : case 2:
7796 : : if (!
7797 : : #line 4822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7798 : : (TARGET_AVX512F && ix86_pre_reload_split ()
7799 : : && GET_MODE_NUNITS (V16SImode) >= 8))
7800 : : return -1;
7801 : : return 3626; /* *avx512f_ucmpv16si3 */
7802 : :
7803 : : default:
7804 : : return -1;
7805 : : }
7806 : :
7807 : : case E_QImode:
7808 : : switch (pattern1068 (x2))
7809 : : {
7810 : : case 0:
7811 : : if (!(
7812 : : #line 4624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7813 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
7814 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7815 : : (TARGET_AVX512VL)))
7816 : : return -1;
7817 : : return 3481; /* *avx512vl_cmpv8hi3 */
7818 : :
7819 : : case 1:
7820 : : if (!(
7821 : : #line 4822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7822 : : (TARGET_AVX512F && ix86_pre_reload_split ()
7823 : : && GET_MODE_NUNITS (V8SImode) >= 8) &&
7824 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7825 : : (TARGET_AVX512VL)))
7826 : : return -1;
7827 : : return 3627; /* *avx512vl_ucmpv8si3 */
7828 : :
7829 : : case 2:
7830 : : if (!(
7831 : : #line 4822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7832 : : (TARGET_AVX512F && ix86_pre_reload_split ()
7833 : : && GET_MODE_NUNITS (V4SImode) >= 8) &&
7834 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7835 : : (TARGET_AVX512VL)))
7836 : : return -1;
7837 : : return 3628; /* *avx512vl_ucmpv4si3 */
7838 : :
7839 : : case 3:
7840 : : if (!
7841 : : #line 4822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7842 : : (TARGET_AVX512F && ix86_pre_reload_split ()
7843 : : && GET_MODE_NUNITS (V8DImode) >= 8))
7844 : : return -1;
7845 : : return 3629; /* *avx512f_ucmpv8di3 */
7846 : :
7847 : : case 4:
7848 : : if (!(
7849 : : #line 4822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7850 : : (TARGET_AVX512F && ix86_pre_reload_split ()
7851 : : && GET_MODE_NUNITS (V4DImode) >= 8) &&
7852 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7853 : : (TARGET_AVX512VL)))
7854 : : return -1;
7855 : : return 3630; /* *avx512vl_ucmpv4di3 */
7856 : :
7857 : : case 5:
7858 : : if (!(
7859 : : #line 4822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7860 : : (TARGET_AVX512F && ix86_pre_reload_split ()
7861 : : && GET_MODE_NUNITS (V2DImode) >= 8) &&
7862 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7863 : : (TARGET_AVX512VL)))
7864 : : return -1;
7865 : : return 3631; /* *avx512vl_ucmpv2di3 */
7866 : :
7867 : : default:
7868 : : return -1;
7869 : : }
7870 : :
7871 : : default:
7872 : : return -1;
7873 : : }
7874 : :
7875 : : default:
7876 : : return -1;
7877 : : }
7878 : :
7879 : : default:
7880 : : return -1;
7881 : : }
7882 : : }
7883 : :
7884 : : int
7885 : : recog_60 (rtx x1 ATTRIBUTE_UNUSED,
7886 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7887 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7888 : : {
7889 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7890 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7891 : : rtx x10, x11, x12, x13;
7892 : : int res ATTRIBUTE_UNUSED;
7893 : : x2 = XEXP (x1, 0);
7894 : : operands[0] = x2;
7895 : : x3 = XEXP (x1, 1);
7896 : : x4 = XEXP (x3, 0);
7897 : : switch (GET_CODE (x4))
7898 : : {
7899 : : case REG:
7900 : : case SUBREG:
7901 : : case MEM:
7902 : : operands[1] = x4;
7903 : : x5 = XEXP (x3, 1);
7904 : : operands[2] = x5;
7905 : : switch (GET_MODE (operands[0]))
7906 : : {
7907 : : case E_HImode:
7908 : : if (!register_operand (operands[0], E_HImode)
7909 : : || GET_MODE (x3) != E_HImode
7910 : : || !nonimmediate_operand (operands[1], E_HImode)
7911 : : || !general_operand (operands[2], E_HImode))
7912 : : return -1;
7913 : : if ((
7914 : : #line 10767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7915 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
7916 : : && TARGET_APX_NF) &&
7917 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7918 : : (TARGET_HIMODE_MATH)))
7919 : : return 594; /* *mulhi3_1_nf */
7920 : : if (pnum_clobbers == NULL
7921 : : || !(
7922 : : #line 10767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7923 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
7924 : : && true) &&
7925 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7926 : : (TARGET_HIMODE_MATH)))
7927 : : return -1;
7928 : : *pnum_clobbers = 1;
7929 : : return 595; /* *mulhi3_1 */
7930 : :
7931 : : case E_QImode:
7932 : : if (pattern3 (x3,
7933 : : E_QImode) != 0)
7934 : : return -1;
7935 : : if (
7936 : : #line 10854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7937 : : (TARGET_QIMODE_MATH
7938 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
7939 : : && TARGET_APX_NF))
7940 : : return 606; /* *mulqi3_1_nf */
7941 : : if (pnum_clobbers == NULL
7942 : : || !
7943 : : #line 10854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7944 : : (TARGET_QIMODE_MATH
7945 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
7946 : : && true))
7947 : : return -1;
7948 : : *pnum_clobbers = 1;
7949 : : return 607; /* *mulqi3_1 */
7950 : :
7951 : : case E_HFmode:
7952 : : if (pattern3 (x3,
7953 : : E_HFmode) != 0
7954 : : || !
7955 : : #line 23620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7956 : : (TARGET_AVX512FP16
7957 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7958 : : return -1;
7959 : : return 1684; /* *mulhf */
7960 : :
7961 : : case E_V2SImode:
7962 : : if (pattern5 (x3,
7963 : : E_V2SImode) != 0
7964 : : || !
7965 : : #line 3375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7966 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7967 : : return -1;
7968 : : return 2169; /* mulv2si3 */
7969 : :
7970 : : case E_V4HImode:
7971 : : if (pattern6 (x3,
7972 : : E_V4HImode) != 0
7973 : : || !
7974 : : #line 3404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7975 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7976 : : && ix86_binary_operator_ok (MULT, V4HImode, operands)))
7977 : : return -1;
7978 : : return 2170; /* *mmx_mulv4hi3 */
7979 : :
7980 : : case E_V2HImode:
7981 : : if (pattern5 (x3,
7982 : : E_V2HImode) != 0
7983 : : || !
7984 : : #line 3419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7985 : : (TARGET_SSE2))
7986 : : return -1;
7987 : : return 2171; /* mulv2hi3 */
7988 : :
7989 : : default:
7990 : : return -1;
7991 : : }
7992 : :
7993 : : case ZERO_EXTEND:
7994 : : x5 = XEXP (x3, 1);
7995 : : if (GET_CODE (x5) != ZERO_EXTEND)
7996 : : return -1;
7997 : : x6 = XEXP (x4, 0);
7998 : : switch (GET_CODE (x6))
7999 : : {
8000 : : case REG:
8001 : : case SUBREG:
8002 : : operands[1] = x6;
8003 : : x7 = XEXP (x5, 0);
8004 : : operands[2] = x7;
8005 : : switch (GET_MODE (operands[0]))
8006 : : {
8007 : : case E_TImode:
8008 : : if (pnum_clobbers == NULL
8009 : : || pattern841 (x3,
8010 : : E_DImode,
8011 : : E_TImode) != 0
8012 : : || !(
8013 : : #line 11157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8014 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
8015 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8016 : : (TARGET_64BIT)))
8017 : : return -1;
8018 : : *pnum_clobbers = 1;
8019 : : return 622; /* *umulditi3_1 */
8020 : :
8021 : : case E_HImode:
8022 : : if (pattern841 (x3,
8023 : : E_QImode,
8024 : : E_HImode) != 0)
8025 : : return -1;
8026 : : if (
8027 : : #line 11223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8028 : : (TARGET_QIMODE_MATH
8029 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8030 : : && TARGET_APX_NF))
8031 : : return 629; /* *umulqihi3_1_nf */
8032 : : if (pnum_clobbers == NULL
8033 : : || !
8034 : : #line 11223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8035 : : (TARGET_QIMODE_MATH
8036 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8037 : : && true))
8038 : : return -1;
8039 : : *pnum_clobbers = 1;
8040 : : return 630; /* *umulqihi3_1 */
8041 : :
8042 : : default:
8043 : : return -1;
8044 : : }
8045 : :
8046 : : case VEC_SELECT:
8047 : : if (GET_MODE (x6) != E_V1SImode)
8048 : : return -1;
8049 : : x8 = XEXP (x6, 1);
8050 : : if (GET_CODE (x8) != PARALLEL
8051 : : || XVECLEN (x8, 0) != 1)
8052 : : return -1;
8053 : : x9 = XVECEXP (x8, 0, 0);
8054 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8055 : : return -1;
8056 : : x7 = XEXP (x5, 0);
8057 : : if (GET_CODE (x7) != VEC_SELECT
8058 : : || GET_MODE (x7) != E_V1SImode)
8059 : : return -1;
8060 : : x10 = XEXP (x7, 1);
8061 : : if (GET_CODE (x10) != PARALLEL
8062 : : || XVECLEN (x10, 0) != 1)
8063 : : return -1;
8064 : : x11 = XVECEXP (x10, 0, 0);
8065 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8066 : : || !register_operand (operands[0], E_V1DImode)
8067 : : || GET_MODE (x3) != E_V1DImode
8068 : : || GET_MODE (x4) != E_V1DImode)
8069 : : return -1;
8070 : : x12 = XEXP (x6, 0);
8071 : : operands[1] = x12;
8072 : : if (!register_mmxmem_operand (operands[1], E_V2SImode)
8073 : : || GET_MODE (x5) != E_V1DImode)
8074 : : return -1;
8075 : : x13 = XEXP (x7, 0);
8076 : : operands[2] = x13;
8077 : : if (!register_mmxmem_operand (operands[2], E_V2SImode)
8078 : : || !
8079 : : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8080 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8081 : : && TARGET_SSE2
8082 : : && ix86_binary_operator_ok (MULT, V2SImode, operands)))
8083 : : return -1;
8084 : : return 2178; /* *sse2_umulv1siv1di3 */
8085 : :
8086 : : default:
8087 : : return -1;
8088 : : }
8089 : :
8090 : : case SIGN_EXTEND:
8091 : : x5 = XEXP (x3, 1);
8092 : : if (GET_CODE (x5) != SIGN_EXTEND)
8093 : : return -1;
8094 : : x6 = XEXP (x4, 0);
8095 : : operands[1] = x6;
8096 : : x7 = XEXP (x5, 0);
8097 : : operands[2] = x7;
8098 : : switch (GET_MODE (operands[0]))
8099 : : {
8100 : : case E_TImode:
8101 : : if (pattern841 (x3,
8102 : : E_DImode,
8103 : : E_TImode) != 0)
8104 : : return -1;
8105 : : if ((
8106 : : #line 11203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8107 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
8108 : : && TARGET_APX_NF) &&
8109 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8110 : : (TARGET_64BIT)))
8111 : : return 625; /* *mulditi3_1_nf */
8112 : : if (pnum_clobbers == NULL
8113 : : || !(
8114 : : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8115 : : (TARGET_64BIT) && (
8116 : : #line 11203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8117 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
8118 : : && true) &&
8119 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8120 : : (TARGET_64BIT))))
8121 : : return -1;
8122 : : *pnum_clobbers = 1;
8123 : : return 626; /* *mulditi3_1 */
8124 : :
8125 : : case E_HImode:
8126 : : if (pattern841 (x3,
8127 : : E_QImode,
8128 : : E_HImode) != 0)
8129 : : return -1;
8130 : : if (
8131 : : #line 11223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8132 : : (TARGET_QIMODE_MATH
8133 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8134 : : && TARGET_APX_NF))
8135 : : return 627; /* *mulqihi3_1_nf */
8136 : : if (pnum_clobbers == NULL
8137 : : || !
8138 : : #line 11223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8139 : : (TARGET_QIMODE_MATH
8140 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8141 : : && true))
8142 : : return -1;
8143 : : *pnum_clobbers = 1;
8144 : : return 628; /* *mulqihi3_1 */
8145 : :
8146 : : default:
8147 : : return -1;
8148 : : }
8149 : :
8150 : : default:
8151 : : return -1;
8152 : : }
8153 : : }
8154 : :
8155 : : int
8156 : : recog_68 (rtx x1 ATTRIBUTE_UNUSED,
8157 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8158 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8159 : : {
8160 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8161 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8162 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
8163 : : rtx x18, x19;
8164 : : int res ATTRIBUTE_UNUSED;
8165 : : x2 = XEXP (x1, 0);
8166 : : operands[0] = x2;
8167 : : x3 = XEXP (x1, 1);
8168 : : x4 = XEXP (x3, 0);
8169 : : switch (GET_CODE (x4))
8170 : : {
8171 : : case REG:
8172 : : case SUBREG:
8173 : : case MEM:
8174 : : switch (pattern44 (x3))
8175 : : {
8176 : : case 0:
8177 : : if (!
8178 : : #line 3346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8179 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8180 : : && ix86_binary_operator_ok (SS_PLUS, V8QImode, operands)))
8181 : : return -1;
8182 : : return 2149; /* *mmx_ssaddv8qi3 */
8183 : :
8184 : : case 1:
8185 : : if (!
8186 : : #line 3346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8187 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8188 : : && ix86_binary_operator_ok (SS_PLUS, V4HImode, operands)))
8189 : : return -1;
8190 : : return 2153; /* *mmx_ssaddv4hi3 */
8191 : :
8192 : : case 2:
8193 : : if (!
8194 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8195 : : (TARGET_SSE2))
8196 : : return -1;
8197 : : return 2157; /* ssaddv4qi3 */
8198 : :
8199 : : case 3:
8200 : : if (!
8201 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8202 : : (TARGET_SSE2))
8203 : : return -1;
8204 : : return 2161; /* ssaddv2qi3 */
8205 : :
8206 : : case 4:
8207 : : if (!
8208 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8209 : : (TARGET_SSE2))
8210 : : return -1;
8211 : : return 2165; /* ssaddv2hi3 */
8212 : :
8213 : : default:
8214 : : return -1;
8215 : : }
8216 : :
8217 : : case VEC_SELECT:
8218 : : if (pattern101 (x3) != 0
8219 : : || !
8220 : : #line 22659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8221 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8222 : : return -1;
8223 : : return 8549; /* ssse3_phaddswv4hi3 */
8224 : :
8225 : : case MULT:
8226 : : if (GET_MODE (x4) != E_V4HImode)
8227 : : return -1;
8228 : : x5 = XEXP (x4, 0);
8229 : : if (GET_CODE (x5) != ZERO_EXTEND
8230 : : || GET_MODE (x5) != E_V4HImode)
8231 : : return -1;
8232 : : x6 = XEXP (x5, 0);
8233 : : if (GET_CODE (x6) != VEC_SELECT
8234 : : || GET_MODE (x6) != E_V4QImode)
8235 : : return -1;
8236 : : x7 = XEXP (x6, 1);
8237 : : if (GET_CODE (x7) != PARALLEL
8238 : : || XVECLEN (x7, 0) != 4
8239 : : || pattern1071 (x7,
8240 : : 6,
8241 : : 4,
8242 : : 2,
8243 : : 0) != 0)
8244 : : return -1;
8245 : : x8 = XEXP (x4, 1);
8246 : : if (pattern1253 (x8,
8247 : : E_V4QImode,
8248 : : E_V4HImode) != 0)
8249 : : return -1;
8250 : : x9 = XEXP (x8, 0);
8251 : : x10 = XEXP (x9, 1);
8252 : : if (pattern1609 (x10,
8253 : : 6,
8254 : : 4,
8255 : : 2,
8256 : : 0) != 0)
8257 : : return -1;
8258 : : x11 = XEXP (x3, 1);
8259 : : if (pattern1778 (x11,
8260 : : E_V4QImode,
8261 : : E_V4HImode,
8262 : : ZERO_EXTEND) != 0
8263 : : || !register_operand (operands[0], E_V4HImode)
8264 : : || GET_MODE (x3) != E_V4HImode)
8265 : : return -1;
8266 : : x12 = XEXP (x6, 0);
8267 : : operands[1] = x12;
8268 : : if (!register_operand (operands[1], E_V8QImode))
8269 : : return -1;
8270 : : x13 = XEXP (x9, 0);
8271 : : operands[2] = x13;
8272 : : if (!register_mmxmem_operand (operands[2], E_V8QImode))
8273 : : return -1;
8274 : : x14 = XEXP (x11, 0);
8275 : : x15 = XEXP (x14, 0);
8276 : : x16 = XEXP (x15, 0);
8277 : : if (!rtx_equal_p (x16, operands[1]))
8278 : : return -1;
8279 : : x17 = XEXP (x11, 1);
8280 : : x18 = XEXP (x17, 0);
8281 : : x19 = XEXP (x18, 0);
8282 : : if (!rtx_equal_p (x19, operands[2])
8283 : : || !
8284 : : #line 22943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8285 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8286 : : return -1;
8287 : : return 8568; /* ssse3_pmaddubsw */
8288 : :
8289 : : default:
8290 : : return -1;
8291 : : }
8292 : : }
8293 : :
8294 : : int
8295 : : recog_72 (rtx x1 ATTRIBUTE_UNUSED,
8296 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8297 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8298 : : {
8299 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8300 : : rtx x2, x3, x4, x5;
8301 : : int res ATTRIBUTE_UNUSED;
8302 : : x2 = XEXP (x1, 1);
8303 : : if (GET_MODE (x2) != E_DImode)
8304 : : return -1;
8305 : : x3 = XEXP (x2, 0);
8306 : : x4 = XEXP (x3, 0);
8307 : : operands[1] = x4;
8308 : : if (!nonimmediate_operand (operands[1], E_SImode))
8309 : : return -1;
8310 : : x5 = XEXP (x3, 1);
8311 : : operands[2] = x5;
8312 : : switch (GET_CODE (operands[2]))
8313 : : {
8314 : : case CONST_INT:
8315 : : if (pnum_clobbers == NULL
8316 : : || !const_int_operand (operands[2], E_QImode)
8317 : : || !
8318 : : #line 17403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8319 : : (TARGET_64BIT && INTVAL (operands[2]) == 31
8320 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
8321 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
8322 : : return -1;
8323 : : *pnum_clobbers = 1;
8324 : : return 1174; /* *ashrsi3_cvt_zext */
8325 : :
8326 : : case REG:
8327 : : case SUBREG:
8328 : : if (!register_operand (operands[2], E_SImode)
8329 : : || !
8330 : : #line 17582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8331 : : (TARGET_64BIT && TARGET_BMI2))
8332 : : return -1;
8333 : : return 1189; /* *bmi2_ashrsi3_1_zext */
8334 : :
8335 : : default:
8336 : : return -1;
8337 : : }
8338 : : }
8339 : :
8340 : : int
8341 : : recog_73 (rtx x1 ATTRIBUTE_UNUSED,
8342 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8343 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8344 : : {
8345 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8346 : : rtx x2, x3, x4, x5, x6;
8347 : : int res ATTRIBUTE_UNUSED;
8348 : : x2 = XEXP (x1, 1);
8349 : : x3 = XEXP (x2, 0);
8350 : : switch (XVECLEN (x3, 0))
8351 : : {
8352 : : case 1:
8353 : : if (!register_operand (operands[0], E_DImode)
8354 : : || GET_MODE (x2) != E_DImode
8355 : : || GET_MODE (x3) != E_SImode)
8356 : : return -1;
8357 : : switch (XINT (x3, 1))
8358 : : {
8359 : : case 20:
8360 : : x4 = XVECEXP (x3, 0, 0);
8361 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8362 : : || !
8363 : : #line 23363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8364 : : (TARGET_X32))
8365 : : return -1;
8366 : : return 1666; /* *load_tp_x32_zext */
8367 : :
8368 : : case 50:
8369 : : x4 = XVECEXP (x3, 0, 0);
8370 : : switch (GET_CODE (x4))
8371 : : {
8372 : : case REG:
8373 : : case SUBREG:
8374 : : operands[1] = x4;
8375 : : switch (GET_MODE (operands[1]))
8376 : : {
8377 : : case E_V8SFmode:
8378 : : if (register_operand (operands[1], E_V8SFmode)
8379 : : && (
8380 : : #line 21988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8381 : : (TARGET_64BIT && TARGET_SSE) &&
8382 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8383 : : (TARGET_AVX)))
8384 : : return 8466; /* *avx_movmskps256_uext */
8385 : : break;
8386 : :
8387 : : case E_V4SFmode:
8388 : : if (register_operand (operands[1], E_V4SFmode)
8389 : : &&
8390 : : #line 21988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8391 : : (TARGET_64BIT && TARGET_SSE))
8392 : : return 8468; /* *sse_movmskps_uext */
8393 : : break;
8394 : :
8395 : : case E_V4DFmode:
8396 : : if (register_operand (operands[1], E_V4DFmode)
8397 : : && (
8398 : : #line 21988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8399 : : (TARGET_64BIT && TARGET_SSE) &&
8400 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8401 : : (TARGET_AVX)))
8402 : : return 8470; /* *avx_movmskpd256_uext */
8403 : : break;
8404 : :
8405 : : case E_V2DFmode:
8406 : : if (register_operand (operands[1], E_V2DFmode)
8407 : : && (
8408 : : #line 21988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8409 : : (TARGET_64BIT && TARGET_SSE) &&
8410 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8411 : : (TARGET_SSE2)))
8412 : : return 8472; /* *sse2_movmskpd_uext */
8413 : : break;
8414 : :
8415 : : case E_V32QImode:
8416 : : if (register_operand (operands[1], E_V32QImode)
8417 : : && (
8418 : : #line 22143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8419 : : (TARGET_64BIT && TARGET_SSE2) &&
8420 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8421 : : (TARGET_AVX2)))
8422 : : return 8511; /* *avx2_pmovmskb_zext */
8423 : : break;
8424 : :
8425 : : case E_V16QImode:
8426 : : if (register_operand (operands[1], E_V16QImode)
8427 : : &&
8428 : : #line 22143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8429 : : (TARGET_64BIT && TARGET_SSE2))
8430 : : return 8512; /* *sse2_pmovmskb_zext */
8431 : : break;
8432 : :
8433 : : default:
8434 : : break;
8435 : : }
8436 : : if (GET_CODE (x4) != SUBREG)
8437 : : return -1;
8438 : : switch (pattern1077 (x4))
8439 : : {
8440 : : case 0:
8441 : : if (!(
8442 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8443 : : (TARGET_64BIT && TARGET_SSE) &&
8444 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8445 : : (TARGET_AVX)))
8446 : : return -1;
8447 : : return 8490; /* *avx_movmskps256_uext_lt_avx512 */
8448 : :
8449 : : case 1:
8450 : : if (!
8451 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8452 : : (TARGET_64BIT && TARGET_SSE))
8453 : : return -1;
8454 : : return 8492; /* *sse_movmskps_uext_lt_avx512 */
8455 : :
8456 : : case 2:
8457 : : if (!(
8458 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8459 : : (TARGET_64BIT && TARGET_SSE) &&
8460 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8461 : : (TARGET_AVX)))
8462 : : return -1;
8463 : : return 8494; /* *avx_movmskpd256_uext_lt_avx512 */
8464 : :
8465 : : case 3:
8466 : : if (!(
8467 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8468 : : (TARGET_64BIT && TARGET_SSE) &&
8469 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8470 : : (TARGET_SSE2)))
8471 : : return -1;
8472 : : return 8496; /* *sse2_movmskpd_uext_lt_avx512 */
8473 : :
8474 : : case 4:
8475 : : if (!(
8476 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8477 : : (TARGET_64BIT && TARGET_SSE) &&
8478 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8479 : : (TARGET_AVX)))
8480 : : return -1;
8481 : : return 8502; /* *avx_movmskps256_uext_shift */
8482 : :
8483 : : case 5:
8484 : : if (!
8485 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8486 : : (TARGET_64BIT && TARGET_SSE))
8487 : : return -1;
8488 : : return 8504; /* *sse_movmskps_uext_shift */
8489 : :
8490 : : case 6:
8491 : : if (!(
8492 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8493 : : (TARGET_64BIT && TARGET_SSE) &&
8494 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8495 : : (TARGET_AVX)))
8496 : : return -1;
8497 : : return 8506; /* *avx_movmskpd256_uext_shift */
8498 : :
8499 : : case 7:
8500 : : if (!(
8501 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8502 : : (TARGET_64BIT && TARGET_SSE) &&
8503 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8504 : : (TARGET_SSE2)))
8505 : : return -1;
8506 : : return 8508; /* *sse2_movmskpd_uext_shift */
8507 : :
8508 : : default:
8509 : : return -1;
8510 : : }
8511 : :
8512 : : case LT:
8513 : : switch (pattern963 (x4))
8514 : : {
8515 : : case 0:
8516 : : if (!(
8517 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8518 : : (TARGET_64BIT && TARGET_SSE) &&
8519 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8520 : : (TARGET_AVX)))
8521 : : return -1;
8522 : : return 8482; /* *avx_movmskps256_uext_lt */
8523 : :
8524 : : case 1:
8525 : : if (!
8526 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8527 : : (TARGET_64BIT && TARGET_SSE))
8528 : : return -1;
8529 : : return 8484; /* *sse_movmskps_uext_lt */
8530 : :
8531 : : case 2:
8532 : : if (!(
8533 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8534 : : (TARGET_64BIT && TARGET_SSE) &&
8535 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8536 : : (TARGET_AVX)))
8537 : : return -1;
8538 : : return 8486; /* *avx_movmskpd256_uext_lt */
8539 : :
8540 : : case 3:
8541 : : if (!(
8542 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8543 : : (TARGET_64BIT && TARGET_SSE) &&
8544 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8545 : : (TARGET_SSE2)))
8546 : : return -1;
8547 : : return 8488; /* *sse2_movmskpd_uext_lt */
8548 : :
8549 : : case 4:
8550 : : if (!(
8551 : : #line 22305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8552 : : (TARGET_64BIT && TARGET_SSE2) &&
8553 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8554 : : (TARGET_AVX2)))
8555 : : return -1;
8556 : : return 8519; /* *avx2_pmovmskb_zext_lt */
8557 : :
8558 : : case 5:
8559 : : if (!
8560 : : #line 22305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8561 : : (TARGET_64BIT && TARGET_SSE2))
8562 : : return -1;
8563 : : return 8520; /* *sse2_pmovmskb_zext_lt */
8564 : :
8565 : : default:
8566 : : return -1;
8567 : : }
8568 : :
8569 : : case VEC_MERGE:
8570 : : switch (pattern965 (x4))
8571 : : {
8572 : : case 0:
8573 : : if (!(
8574 : : #line 22334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8575 : : (TARGET_64BIT && TARGET_SSE2) &&
8576 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8577 : : (TARGET_AVX2)))
8578 : : return -1;
8579 : : return 8521; /* *avx2_pmovmskb_zext_lt_avx512 */
8580 : :
8581 : : case 1:
8582 : : if (!
8583 : : #line 22334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8584 : : (TARGET_64BIT && TARGET_SSE2))
8585 : : return -1;
8586 : : return 8522; /* *sse2_pmovmskb_zext_lt_avx512 */
8587 : :
8588 : : default:
8589 : : return -1;
8590 : : }
8591 : :
8592 : : default:
8593 : : return -1;
8594 : : }
8595 : :
8596 : : default:
8597 : : return -1;
8598 : : }
8599 : :
8600 : : case 2:
8601 : : x4 = XVECEXP (x3, 0, 0);
8602 : : operands[1] = x4;
8603 : : x5 = XVECEXP (x3, 0, 1);
8604 : : operands[2] = x5;
8605 : : switch (XINT (x3, 1))
8606 : : {
8607 : : case 96:
8608 : : if (GET_MODE (x3) != E_SImode
8609 : : || !register_operand (operands[0], E_DImode)
8610 : : || GET_MODE (x2) != E_DImode
8611 : : || !register_operand (operands[1], E_SImode)
8612 : : || !nonimmediate_operand (operands[2], E_DImode)
8613 : : || !
8614 : : #line 29463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8615 : : (TARGET_64BIT && TARGET_CRC32))
8616 : : return -1;
8617 : : return 1902; /* sse4_2_crc32di */
8618 : :
8619 : : case 159:
8620 : : switch (GET_MODE (operands[0]))
8621 : : {
8622 : : case E_DImode:
8623 : : switch (pattern855 (x2,
8624 : : E_DImode))
8625 : : {
8626 : : case 0:
8627 : : if (!(
8628 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8629 : : (TARGET_AVX512BW
8630 : : && (8
8631 : : > GET_MODE_SIZE (DImode))) &&
8632 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8633 : : (TARGET_AVX512BW)))
8634 : : return -1;
8635 : : return 8110; /* *avx512bw_testmv64qi3_zext */
8636 : :
8637 : : case 1:
8638 : : if (!(
8639 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8640 : : (TARGET_AVX512BW
8641 : : && (8
8642 : : > GET_MODE_SIZE (SImode))) && ((
8643 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8644 : : (TARGET_AVX512BW) &&
8645 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8646 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8647 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8648 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8649 : : return -1;
8650 : : return 8113; /* *avx512vl_testmv32qi3_zext */
8651 : :
8652 : : case 2:
8653 : : if (!(
8654 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8655 : : (TARGET_AVX512BW
8656 : : && (8
8657 : : > GET_MODE_SIZE (SImode))) &&
8658 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8659 : : (TARGET_AVX512BW)))
8660 : : return -1;
8661 : : return 8119; /* *avx512bw_testmv32hi3_zext */
8662 : :
8663 : : case 3:
8664 : : if (!(
8665 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8666 : : (TARGET_AVX512BW
8667 : : && (8
8668 : : > GET_MODE_SIZE (HImode))) && ((
8669 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8670 : : (TARGET_AVX512BW) &&
8671 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8672 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8673 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8674 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8675 : : return -1;
8676 : : return 8116; /* *avx512vl_testmv16qi3_zext */
8677 : :
8678 : : case 4:
8679 : : if (!(
8680 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8681 : : (TARGET_AVX512BW
8682 : : && (8
8683 : : > GET_MODE_SIZE (HImode))) && ((
8684 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8685 : : (TARGET_AVX512BW) &&
8686 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8687 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8688 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8689 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8690 : : return -1;
8691 : : return 8122; /* *avx512vl_testmv16hi3_zext */
8692 : :
8693 : : case 5:
8694 : : if (!(
8695 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8696 : : (TARGET_AVX512BW
8697 : : && (8
8698 : : > GET_MODE_SIZE (HImode))) &&
8699 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8700 : : (TARGET_AVX512BW)))
8701 : : return -1;
8702 : : return 8128; /* *avx512f_testmv16si3_zext */
8703 : :
8704 : : case 6:
8705 : : if (!(
8706 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8707 : : (TARGET_AVX512BW
8708 : : && (8
8709 : : > GET_MODE_SIZE (QImode))) && ((
8710 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8711 : : (TARGET_AVX512BW) &&
8712 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8713 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8714 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8715 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8716 : : return -1;
8717 : : return 8125; /* *avx512vl_testmv8hi3_zext */
8718 : :
8719 : : case 7:
8720 : : if (!(
8721 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8722 : : (TARGET_AVX512BW
8723 : : && (8
8724 : : > GET_MODE_SIZE (QImode))) && ((
8725 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8726 : : (TARGET_AVX512BW) &&
8727 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8728 : : (TARGET_AVX512VL)) &&
8729 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8730 : : (TARGET_AVX512VL))))
8731 : : return -1;
8732 : : return 8131; /* *avx512vl_testmv8si3_zext */
8733 : :
8734 : : case 8:
8735 : : if (!(
8736 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8737 : : (TARGET_AVX512BW
8738 : : && (8
8739 : : > GET_MODE_SIZE (QImode))) && ((
8740 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8741 : : (TARGET_AVX512BW) &&
8742 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8743 : : (TARGET_AVX512VL)) &&
8744 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8745 : : (TARGET_AVX512VL))))
8746 : : return -1;
8747 : : return 8134; /* *avx512vl_testmv4si3_zext */
8748 : :
8749 : : case 9:
8750 : : if (!(
8751 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8752 : : (TARGET_AVX512BW
8753 : : && (8
8754 : : > GET_MODE_SIZE (QImode))) &&
8755 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8756 : : (TARGET_AVX512BW)))
8757 : : return -1;
8758 : : return 8137; /* *avx512f_testmv8di3_zext */
8759 : :
8760 : : case 10:
8761 : : if (!(
8762 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8763 : : (TARGET_AVX512BW
8764 : : && (8
8765 : : > GET_MODE_SIZE (QImode))) && ((
8766 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8767 : : (TARGET_AVX512BW) &&
8768 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8769 : : (TARGET_AVX512VL)) &&
8770 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8771 : : (TARGET_AVX512VL))))
8772 : : return -1;
8773 : : return 8140; /* *avx512vl_testmv4di3_zext */
8774 : :
8775 : : case 11:
8776 : : if (!(
8777 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8778 : : (TARGET_AVX512BW
8779 : : && (8
8780 : : > GET_MODE_SIZE (QImode))) && ((
8781 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8782 : : (TARGET_AVX512BW) &&
8783 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8784 : : (TARGET_AVX512VL)) &&
8785 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8786 : : (TARGET_AVX512VL))))
8787 : : return -1;
8788 : : return 8143; /* *avx512vl_testmv2di3_zext */
8789 : :
8790 : : default:
8791 : : return -1;
8792 : : }
8793 : :
8794 : : case E_SImode:
8795 : : switch (pattern855 (x2,
8796 : : E_SImode))
8797 : : {
8798 : : case 0:
8799 : : if (!(
8800 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8801 : : (TARGET_AVX512BW
8802 : : && (4
8803 : : > GET_MODE_SIZE (DImode))) &&
8804 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8805 : : (TARGET_AVX512BW)))
8806 : : return -1;
8807 : : return 8111; /* *avx512bw_testmv64qi3_zext */
8808 : :
8809 : : case 1:
8810 : : if (!(
8811 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8812 : : (TARGET_AVX512BW
8813 : : && (4
8814 : : > GET_MODE_SIZE (SImode))) && ((
8815 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8816 : : (TARGET_AVX512BW) &&
8817 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8818 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8819 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8820 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8821 : : return -1;
8822 : : return 8114; /* *avx512vl_testmv32qi3_zext */
8823 : :
8824 : : case 2:
8825 : : if (!(
8826 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8827 : : (TARGET_AVX512BW
8828 : : && (4
8829 : : > GET_MODE_SIZE (SImode))) &&
8830 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8831 : : (TARGET_AVX512BW)))
8832 : : return -1;
8833 : : return 8120; /* *avx512bw_testmv32hi3_zext */
8834 : :
8835 : : case 3:
8836 : : if (!(
8837 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8838 : : (TARGET_AVX512BW
8839 : : && (4
8840 : : > GET_MODE_SIZE (HImode))) && ((
8841 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8842 : : (TARGET_AVX512BW) &&
8843 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8844 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8845 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8846 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8847 : : return -1;
8848 : : return 8117; /* *avx512vl_testmv16qi3_zext */
8849 : :
8850 : : case 4:
8851 : : if (!(
8852 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8853 : : (TARGET_AVX512BW
8854 : : && (4
8855 : : > GET_MODE_SIZE (HImode))) && ((
8856 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8857 : : (TARGET_AVX512BW) &&
8858 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8859 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8860 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8861 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8862 : : return -1;
8863 : : return 8123; /* *avx512vl_testmv16hi3_zext */
8864 : :
8865 : : case 5:
8866 : : if (!(
8867 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8868 : : (TARGET_AVX512BW
8869 : : && (4
8870 : : > GET_MODE_SIZE (HImode))) &&
8871 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8872 : : (TARGET_AVX512BW)))
8873 : : return -1;
8874 : : return 8129; /* *avx512f_testmv16si3_zext */
8875 : :
8876 : : case 6:
8877 : : if (!(
8878 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8879 : : (TARGET_AVX512BW
8880 : : && (4
8881 : : > GET_MODE_SIZE (QImode))) && ((
8882 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8883 : : (TARGET_AVX512BW) &&
8884 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8885 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8886 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8887 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8888 : : return -1;
8889 : : return 8126; /* *avx512vl_testmv8hi3_zext */
8890 : :
8891 : : case 7:
8892 : : if (!(
8893 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8894 : : (TARGET_AVX512BW
8895 : : && (4
8896 : : > GET_MODE_SIZE (QImode))) && ((
8897 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8898 : : (TARGET_AVX512BW) &&
8899 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8900 : : (TARGET_AVX512VL)) &&
8901 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8902 : : (TARGET_AVX512VL))))
8903 : : return -1;
8904 : : return 8132; /* *avx512vl_testmv8si3_zext */
8905 : :
8906 : : case 8:
8907 : : if (!(
8908 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8909 : : (TARGET_AVX512BW
8910 : : && (4
8911 : : > GET_MODE_SIZE (QImode))) && ((
8912 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8913 : : (TARGET_AVX512BW) &&
8914 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8915 : : (TARGET_AVX512VL)) &&
8916 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8917 : : (TARGET_AVX512VL))))
8918 : : return -1;
8919 : : return 8135; /* *avx512vl_testmv4si3_zext */
8920 : :
8921 : : case 9:
8922 : : if (!(
8923 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8924 : : (TARGET_AVX512BW
8925 : : && (4
8926 : : > GET_MODE_SIZE (QImode))) &&
8927 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8928 : : (TARGET_AVX512BW)))
8929 : : return -1;
8930 : : return 8138; /* *avx512f_testmv8di3_zext */
8931 : :
8932 : : case 10:
8933 : : if (!(
8934 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8935 : : (TARGET_AVX512BW
8936 : : && (4
8937 : : > GET_MODE_SIZE (QImode))) && ((
8938 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8939 : : (TARGET_AVX512BW) &&
8940 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8941 : : (TARGET_AVX512VL)) &&
8942 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8943 : : (TARGET_AVX512VL))))
8944 : : return -1;
8945 : : return 8141; /* *avx512vl_testmv4di3_zext */
8946 : :
8947 : : case 11:
8948 : : if (!(
8949 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8950 : : (TARGET_AVX512BW
8951 : : && (4
8952 : : > GET_MODE_SIZE (QImode))) && ((
8953 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8954 : : (TARGET_AVX512BW) &&
8955 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8956 : : (TARGET_AVX512VL)) &&
8957 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8958 : : (TARGET_AVX512VL))))
8959 : : return -1;
8960 : : return 8144; /* *avx512vl_testmv2di3_zext */
8961 : :
8962 : : default:
8963 : : return -1;
8964 : : }
8965 : :
8966 : : default:
8967 : : return -1;
8968 : : }
8969 : :
8970 : : case 160:
8971 : : switch (GET_MODE (operands[0]))
8972 : : {
8973 : : case E_DImode:
8974 : : switch (pattern855 (x2,
8975 : : E_DImode))
8976 : : {
8977 : : case 0:
8978 : : if (!(
8979 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8980 : : (TARGET_AVX512BW
8981 : : && (8
8982 : : > GET_MODE_SIZE (DImode))) &&
8983 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8984 : : (TARGET_AVX512BW)))
8985 : : return -1;
8986 : : return 8182; /* *avx512bw_testnmv64qi3_zext */
8987 : :
8988 : : case 1:
8989 : : if (!(
8990 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8991 : : (TARGET_AVX512BW
8992 : : && (8
8993 : : > GET_MODE_SIZE (SImode))) && ((
8994 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8995 : : (TARGET_AVX512BW) &&
8996 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8997 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8998 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8999 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9000 : : return -1;
9001 : : return 8185; /* *avx512vl_testnmv32qi3_zext */
9002 : :
9003 : : case 2:
9004 : : if (!(
9005 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9006 : : (TARGET_AVX512BW
9007 : : && (8
9008 : : > GET_MODE_SIZE (SImode))) &&
9009 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9010 : : (TARGET_AVX512BW)))
9011 : : return -1;
9012 : : return 8191; /* *avx512bw_testnmv32hi3_zext */
9013 : :
9014 : : case 3:
9015 : : if (!(
9016 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9017 : : (TARGET_AVX512BW
9018 : : && (8
9019 : : > GET_MODE_SIZE (HImode))) && ((
9020 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9021 : : (TARGET_AVX512BW) &&
9022 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9023 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9024 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9025 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9026 : : return -1;
9027 : : return 8188; /* *avx512vl_testnmv16qi3_zext */
9028 : :
9029 : : case 4:
9030 : : if (!(
9031 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9032 : : (TARGET_AVX512BW
9033 : : && (8
9034 : : > GET_MODE_SIZE (HImode))) && ((
9035 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9036 : : (TARGET_AVX512BW) &&
9037 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9038 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9039 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9040 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9041 : : return -1;
9042 : : return 8194; /* *avx512vl_testnmv16hi3_zext */
9043 : :
9044 : : case 5:
9045 : : if (!(
9046 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9047 : : (TARGET_AVX512BW
9048 : : && (8
9049 : : > GET_MODE_SIZE (HImode))) &&
9050 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9051 : : (TARGET_AVX512BW)))
9052 : : return -1;
9053 : : return 8200; /* *avx512f_testnmv16si3_zext */
9054 : :
9055 : : case 6:
9056 : : if (!(
9057 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9058 : : (TARGET_AVX512BW
9059 : : && (8
9060 : : > GET_MODE_SIZE (QImode))) && ((
9061 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9062 : : (TARGET_AVX512BW) &&
9063 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9064 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9065 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9066 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9067 : : return -1;
9068 : : return 8197; /* *avx512vl_testnmv8hi3_zext */
9069 : :
9070 : : case 7:
9071 : : if (!(
9072 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9073 : : (TARGET_AVX512BW
9074 : : && (8
9075 : : > GET_MODE_SIZE (QImode))) && ((
9076 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9077 : : (TARGET_AVX512BW) &&
9078 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9079 : : (TARGET_AVX512VL)) &&
9080 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9081 : : (TARGET_AVX512VL))))
9082 : : return -1;
9083 : : return 8203; /* *avx512vl_testnmv8si3_zext */
9084 : :
9085 : : case 8:
9086 : : if (!(
9087 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9088 : : (TARGET_AVX512BW
9089 : : && (8
9090 : : > GET_MODE_SIZE (QImode))) && ((
9091 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9092 : : (TARGET_AVX512BW) &&
9093 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9094 : : (TARGET_AVX512VL)) &&
9095 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9096 : : (TARGET_AVX512VL))))
9097 : : return -1;
9098 : : return 8206; /* *avx512vl_testnmv4si3_zext */
9099 : :
9100 : : case 9:
9101 : : if (!(
9102 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9103 : : (TARGET_AVX512BW
9104 : : && (8
9105 : : > GET_MODE_SIZE (QImode))) &&
9106 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9107 : : (TARGET_AVX512BW)))
9108 : : return -1;
9109 : : return 8209; /* *avx512f_testnmv8di3_zext */
9110 : :
9111 : : case 10:
9112 : : if (!(
9113 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9114 : : (TARGET_AVX512BW
9115 : : && (8
9116 : : > GET_MODE_SIZE (QImode))) && ((
9117 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9118 : : (TARGET_AVX512BW) &&
9119 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9120 : : (TARGET_AVX512VL)) &&
9121 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9122 : : (TARGET_AVX512VL))))
9123 : : return -1;
9124 : : return 8212; /* *avx512vl_testnmv4di3_zext */
9125 : :
9126 : : case 11:
9127 : : if (!(
9128 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9129 : : (TARGET_AVX512BW
9130 : : && (8
9131 : : > GET_MODE_SIZE (QImode))) && ((
9132 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9133 : : (TARGET_AVX512BW) &&
9134 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9135 : : (TARGET_AVX512VL)) &&
9136 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9137 : : (TARGET_AVX512VL))))
9138 : : return -1;
9139 : : return 8215; /* *avx512vl_testnmv2di3_zext */
9140 : :
9141 : : default:
9142 : : return -1;
9143 : : }
9144 : :
9145 : : case E_SImode:
9146 : : switch (pattern855 (x2,
9147 : : E_SImode))
9148 : : {
9149 : : case 0:
9150 : : if (!(
9151 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9152 : : (TARGET_AVX512BW
9153 : : && (4
9154 : : > GET_MODE_SIZE (DImode))) &&
9155 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9156 : : (TARGET_AVX512BW)))
9157 : : return -1;
9158 : : return 8183; /* *avx512bw_testnmv64qi3_zext */
9159 : :
9160 : : case 1:
9161 : : if (!(
9162 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9163 : : (TARGET_AVX512BW
9164 : : && (4
9165 : : > GET_MODE_SIZE (SImode))) && ((
9166 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9167 : : (TARGET_AVX512BW) &&
9168 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9169 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9170 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9171 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9172 : : return -1;
9173 : : return 8186; /* *avx512vl_testnmv32qi3_zext */
9174 : :
9175 : : case 2:
9176 : : if (!(
9177 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9178 : : (TARGET_AVX512BW
9179 : : && (4
9180 : : > GET_MODE_SIZE (SImode))) &&
9181 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9182 : : (TARGET_AVX512BW)))
9183 : : return -1;
9184 : : return 8192; /* *avx512bw_testnmv32hi3_zext */
9185 : :
9186 : : case 3:
9187 : : if (!(
9188 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9189 : : (TARGET_AVX512BW
9190 : : && (4
9191 : : > GET_MODE_SIZE (HImode))) && ((
9192 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9193 : : (TARGET_AVX512BW) &&
9194 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9195 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9196 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9197 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9198 : : return -1;
9199 : : return 8189; /* *avx512vl_testnmv16qi3_zext */
9200 : :
9201 : : case 4:
9202 : : if (!(
9203 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9204 : : (TARGET_AVX512BW
9205 : : && (4
9206 : : > GET_MODE_SIZE (HImode))) && ((
9207 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9208 : : (TARGET_AVX512BW) &&
9209 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9210 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9211 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9212 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9213 : : return -1;
9214 : : return 8195; /* *avx512vl_testnmv16hi3_zext */
9215 : :
9216 : : case 5:
9217 : : if (!(
9218 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9219 : : (TARGET_AVX512BW
9220 : : && (4
9221 : : > GET_MODE_SIZE (HImode))) &&
9222 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9223 : : (TARGET_AVX512BW)))
9224 : : return -1;
9225 : : return 8201; /* *avx512f_testnmv16si3_zext */
9226 : :
9227 : : case 6:
9228 : : if (!(
9229 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9230 : : (TARGET_AVX512BW
9231 : : && (4
9232 : : > GET_MODE_SIZE (QImode))) && ((
9233 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9234 : : (TARGET_AVX512BW) &&
9235 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9236 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9237 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9238 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9239 : : return -1;
9240 : : return 8198; /* *avx512vl_testnmv8hi3_zext */
9241 : :
9242 : : case 7:
9243 : : if (!(
9244 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9245 : : (TARGET_AVX512BW
9246 : : && (4
9247 : : > GET_MODE_SIZE (QImode))) && ((
9248 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9249 : : (TARGET_AVX512BW) &&
9250 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9251 : : (TARGET_AVX512VL)) &&
9252 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9253 : : (TARGET_AVX512VL))))
9254 : : return -1;
9255 : : return 8204; /* *avx512vl_testnmv8si3_zext */
9256 : :
9257 : : case 8:
9258 : : if (!(
9259 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9260 : : (TARGET_AVX512BW
9261 : : && (4
9262 : : > GET_MODE_SIZE (QImode))) && ((
9263 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9264 : : (TARGET_AVX512BW) &&
9265 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9266 : : (TARGET_AVX512VL)) &&
9267 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9268 : : (TARGET_AVX512VL))))
9269 : : return -1;
9270 : : return 8207; /* *avx512vl_testnmv4si3_zext */
9271 : :
9272 : : case 9:
9273 : : if (!(
9274 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9275 : : (TARGET_AVX512BW
9276 : : && (4
9277 : : > GET_MODE_SIZE (QImode))) &&
9278 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9279 : : (TARGET_AVX512BW)))
9280 : : return -1;
9281 : : return 8210; /* *avx512f_testnmv8di3_zext */
9282 : :
9283 : : case 10:
9284 : : if (!(
9285 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9286 : : (TARGET_AVX512BW
9287 : : && (4
9288 : : > GET_MODE_SIZE (QImode))) && ((
9289 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9290 : : (TARGET_AVX512BW) &&
9291 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9292 : : (TARGET_AVX512VL)) &&
9293 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9294 : : (TARGET_AVX512VL))))
9295 : : return -1;
9296 : : return 8213; /* *avx512vl_testnmv4di3_zext */
9297 : :
9298 : : case 11:
9299 : : if (!(
9300 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9301 : : (TARGET_AVX512BW
9302 : : && (4
9303 : : > GET_MODE_SIZE (QImode))) && ((
9304 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9305 : : (TARGET_AVX512BW) &&
9306 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9307 : : (TARGET_AVX512VL)) &&
9308 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9309 : : (TARGET_AVX512VL))))
9310 : : return -1;
9311 : : return 8216; /* *avx512vl_testnmv2di3_zext */
9312 : :
9313 : : default:
9314 : : return -1;
9315 : : }
9316 : :
9317 : : default:
9318 : : return -1;
9319 : : }
9320 : :
9321 : : default:
9322 : : return -1;
9323 : : }
9324 : :
9325 : : case 3:
9326 : : x4 = XVECEXP (x3, 0, 0);
9327 : : operands[1] = x4;
9328 : : x5 = XVECEXP (x3, 0, 1);
9329 : : operands[2] = x5;
9330 : : x6 = XVECEXP (x3, 0, 2);
9331 : : operands[3] = x6;
9332 : : switch (XINT (x3, 1))
9333 : : {
9334 : : case 60:
9335 : : switch (GET_MODE (operands[0]))
9336 : : {
9337 : : case E_SImode:
9338 : : switch (pattern967 (x2,
9339 : : E_SImode))
9340 : : {
9341 : : case 0:
9342 : : if (!
9343 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9344 : : (TARGET_AVX512F
9345 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9346 : : && (GET_MODE_NUNITS (V16SImode)
9347 : : < GET_MODE_PRECISION (SImode))))
9348 : : return -1;
9349 : : return 3309; /* *avx512f_cmpv16si3_zero_extendsi */
9350 : :
9351 : : case 1:
9352 : : if (!(
9353 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9354 : : (TARGET_AVX512F
9355 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9356 : : && (GET_MODE_NUNITS (V16HFmode)
9357 : : < GET_MODE_PRECISION (SImode))) &&
9358 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9359 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
9360 : : return -1;
9361 : : return 3330; /* *avx512vl_cmpv16hf3_zero_extendsi */
9362 : :
9363 : : case 2:
9364 : : if (!
9365 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9366 : : (TARGET_AVX512F
9367 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9368 : : && (GET_MODE_NUNITS (V16SFmode)
9369 : : < GET_MODE_PRECISION (SImode))))
9370 : : return -1;
9371 : : return 3336; /* *avx512f_cmpv16sf3_zero_extendsi */
9372 : :
9373 : : case 3:
9374 : : if (!(
9375 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9376 : : (TARGET_AVX512BW
9377 : : && (GET_MODE_NUNITS (V16QImode)
9378 : : < GET_MODE_PRECISION (SImode))) &&
9379 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9380 : : (TARGET_AVX512VL)))
9381 : : return -1;
9382 : : return 3438; /* *avx512vl_cmpv16qi3_zero_extendsi */
9383 : :
9384 : : case 4:
9385 : : if (!(
9386 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9387 : : (TARGET_AVX512BW
9388 : : && (GET_MODE_NUNITS (V16HImode)
9389 : : < GET_MODE_PRECISION (SImode))) &&
9390 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9391 : : (TARGET_AVX512VL)))
9392 : : return -1;
9393 : : return 3447; /* *avx512vl_cmpv16hi3_zero_extendsi */
9394 : :
9395 : : case 5:
9396 : : if (!(
9397 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9398 : : (TARGET_AVX512F
9399 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9400 : : && (GET_MODE_NUNITS (V8SImode)
9401 : : < GET_MODE_PRECISION (SImode))) &&
9402 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9403 : : (TARGET_AVX512VL)))
9404 : : return -1;
9405 : : return 3312; /* *avx512vl_cmpv8si3_zero_extendsi */
9406 : :
9407 : : case 6:
9408 : : if (!(
9409 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9410 : : (TARGET_AVX512F
9411 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9412 : : && (GET_MODE_NUNITS (V4SImode)
9413 : : < GET_MODE_PRECISION (SImode))) &&
9414 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9415 : : (TARGET_AVX512VL)))
9416 : : return -1;
9417 : : return 3315; /* *avx512vl_cmpv4si3_zero_extendsi */
9418 : :
9419 : : case 7:
9420 : : if (!
9421 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9422 : : (TARGET_AVX512F
9423 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9424 : : && (GET_MODE_NUNITS (V8DImode)
9425 : : < GET_MODE_PRECISION (SImode))))
9426 : : return -1;
9427 : : return 3318; /* *avx512f_cmpv8di3_zero_extendsi */
9428 : :
9429 : : case 8:
9430 : : if (!(
9431 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9432 : : (TARGET_AVX512F
9433 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9434 : : && (GET_MODE_NUNITS (V4DImode)
9435 : : < GET_MODE_PRECISION (SImode))) &&
9436 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9437 : : (TARGET_AVX512VL)))
9438 : : return -1;
9439 : : return 3321; /* *avx512vl_cmpv4di3_zero_extendsi */
9440 : :
9441 : : case 9:
9442 : : if (!(
9443 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9444 : : (TARGET_AVX512F
9445 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9446 : : && (GET_MODE_NUNITS (V2DImode)
9447 : : < GET_MODE_PRECISION (SImode))) &&
9448 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9449 : : (TARGET_AVX512VL)))
9450 : : return -1;
9451 : : return 3324; /* *avx512vl_cmpv2di3_zero_extendsi */
9452 : :
9453 : : case 10:
9454 : : if (!(
9455 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9456 : : (TARGET_AVX512F
9457 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9458 : : && (GET_MODE_NUNITS (V8HFmode)
9459 : : < GET_MODE_PRECISION (SImode))) &&
9460 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9461 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
9462 : : return -1;
9463 : : return 3333; /* *avx512fp16_cmpv8hf3_zero_extendsi */
9464 : :
9465 : : case 11:
9466 : : if (!(
9467 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9468 : : (TARGET_AVX512F
9469 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9470 : : && (GET_MODE_NUNITS (V8SFmode)
9471 : : < GET_MODE_PRECISION (SImode))) &&
9472 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9473 : : (TARGET_AVX512VL)))
9474 : : return -1;
9475 : : return 3339; /* *avx512vl_cmpv8sf3_zero_extendsi */
9476 : :
9477 : : case 12:
9478 : : if (!(
9479 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9480 : : (TARGET_AVX512F
9481 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9482 : : && (GET_MODE_NUNITS (V4SFmode)
9483 : : < GET_MODE_PRECISION (SImode))) &&
9484 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9485 : : (TARGET_AVX512VL)))
9486 : : return -1;
9487 : : return 3342; /* *avx512vl_cmpv4sf3_zero_extendsi */
9488 : :
9489 : : case 13:
9490 : : if (!
9491 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9492 : : (TARGET_AVX512F
9493 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9494 : : && (GET_MODE_NUNITS (V8DFmode)
9495 : : < GET_MODE_PRECISION (SImode))))
9496 : : return -1;
9497 : : return 3345; /* *avx512f_cmpv8df3_zero_extendsi */
9498 : :
9499 : : case 14:
9500 : : if (!(
9501 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9502 : : (TARGET_AVX512F
9503 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9504 : : && (GET_MODE_NUNITS (V4DFmode)
9505 : : < GET_MODE_PRECISION (SImode))) &&
9506 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9507 : : (TARGET_AVX512VL)))
9508 : : return -1;
9509 : : return 3348; /* *avx512vl_cmpv4df3_zero_extendsi */
9510 : :
9511 : : case 15:
9512 : : if (!(
9513 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9514 : : (TARGET_AVX512F
9515 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9516 : : && (GET_MODE_NUNITS (V2DFmode)
9517 : : < GET_MODE_PRECISION (SImode))) &&
9518 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9519 : : (TARGET_AVX512VL)))
9520 : : return -1;
9521 : : return 3351; /* *avx512vl_cmpv2df3_zero_extendsi */
9522 : :
9523 : : case 16:
9524 : : if (!(
9525 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9526 : : (TARGET_AVX512BW
9527 : : && (GET_MODE_NUNITS (V8HImode)
9528 : : < GET_MODE_PRECISION (SImode))) &&
9529 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9530 : : (TARGET_AVX512VL)))
9531 : : return -1;
9532 : : return 3450; /* *avx512vl_cmpv8hi3_zero_extendsi */
9533 : :
9534 : : case 17:
9535 : : if (!(
9536 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9537 : : (TARGET_AVX512F
9538 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9539 : : && (GET_MODE_NUNITS (V32HFmode)
9540 : : < GET_MODE_PRECISION (SImode))) &&
9541 : : #line 315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9542 : : (TARGET_AVX512FP16)))
9543 : : return -1;
9544 : : return 3327; /* *avx512bw_cmpv32hf3_zero_extendsi */
9545 : :
9546 : : case 18:
9547 : : if (!(
9548 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9549 : : (TARGET_AVX512BW
9550 : : && (GET_MODE_NUNITS (V32QImode)
9551 : : < GET_MODE_PRECISION (SImode))) &&
9552 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9553 : : (TARGET_AVX512VL)))
9554 : : return -1;
9555 : : return 3441; /* *avx512vl_cmpv32qi3_zero_extendsi */
9556 : :
9557 : : case 19:
9558 : : if (!
9559 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9560 : : (TARGET_AVX512BW
9561 : : && (GET_MODE_NUNITS (V32HImode)
9562 : : < GET_MODE_PRECISION (SImode))))
9563 : : return -1;
9564 : : return 3444; /* *avx512bw_cmpv32hi3_zero_extendsi */
9565 : :
9566 : : case 20:
9567 : : if (!
9568 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9569 : : (TARGET_AVX512BW
9570 : : && (GET_MODE_NUNITS (V64QImode)
9571 : : < GET_MODE_PRECISION (SImode))))
9572 : : return -1;
9573 : : return 3435; /* *avx512bw_cmpv64qi3_zero_extendsi */
9574 : :
9575 : : default:
9576 : : return -1;
9577 : : }
9578 : :
9579 : : case E_DImode:
9580 : : switch (pattern967 (x2,
9581 : : E_DImode))
9582 : : {
9583 : : case 0:
9584 : : if (!
9585 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9586 : : (TARGET_AVX512F
9587 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9588 : : && (GET_MODE_NUNITS (V16SImode)
9589 : : < GET_MODE_PRECISION (DImode))))
9590 : : return -1;
9591 : : return 3310; /* *avx512f_cmpv16si3_zero_extenddi */
9592 : :
9593 : : case 1:
9594 : : if (!(
9595 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9596 : : (TARGET_AVX512F
9597 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9598 : : && (GET_MODE_NUNITS (V16HFmode)
9599 : : < GET_MODE_PRECISION (DImode))) &&
9600 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9601 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
9602 : : return -1;
9603 : : return 3331; /* *avx512vl_cmpv16hf3_zero_extenddi */
9604 : :
9605 : : case 2:
9606 : : if (!
9607 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9608 : : (TARGET_AVX512F
9609 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9610 : : && (GET_MODE_NUNITS (V16SFmode)
9611 : : < GET_MODE_PRECISION (DImode))))
9612 : : return -1;
9613 : : return 3337; /* *avx512f_cmpv16sf3_zero_extenddi */
9614 : :
9615 : : case 3:
9616 : : if (!(
9617 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9618 : : (TARGET_AVX512BW
9619 : : && (GET_MODE_NUNITS (V16QImode)
9620 : : < GET_MODE_PRECISION (DImode))) &&
9621 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9622 : : (TARGET_AVX512VL)))
9623 : : return -1;
9624 : : return 3439; /* *avx512vl_cmpv16qi3_zero_extenddi */
9625 : :
9626 : : case 4:
9627 : : if (!(
9628 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9629 : : (TARGET_AVX512BW
9630 : : && (GET_MODE_NUNITS (V16HImode)
9631 : : < GET_MODE_PRECISION (DImode))) &&
9632 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9633 : : (TARGET_AVX512VL)))
9634 : : return -1;
9635 : : return 3448; /* *avx512vl_cmpv16hi3_zero_extenddi */
9636 : :
9637 : : case 5:
9638 : : if (!(
9639 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9640 : : (TARGET_AVX512F
9641 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9642 : : && (GET_MODE_NUNITS (V8SImode)
9643 : : < GET_MODE_PRECISION (DImode))) &&
9644 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9645 : : (TARGET_AVX512VL)))
9646 : : return -1;
9647 : : return 3313; /* *avx512vl_cmpv8si3_zero_extenddi */
9648 : :
9649 : : case 6:
9650 : : if (!(
9651 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9652 : : (TARGET_AVX512F
9653 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9654 : : && (GET_MODE_NUNITS (V4SImode)
9655 : : < GET_MODE_PRECISION (DImode))) &&
9656 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9657 : : (TARGET_AVX512VL)))
9658 : : return -1;
9659 : : return 3316; /* *avx512vl_cmpv4si3_zero_extenddi */
9660 : :
9661 : : case 7:
9662 : : if (!
9663 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9664 : : (TARGET_AVX512F
9665 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9666 : : && (GET_MODE_NUNITS (V8DImode)
9667 : : < GET_MODE_PRECISION (DImode))))
9668 : : return -1;
9669 : : return 3319; /* *avx512f_cmpv8di3_zero_extenddi */
9670 : :
9671 : : case 8:
9672 : : if (!(
9673 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9674 : : (TARGET_AVX512F
9675 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9676 : : && (GET_MODE_NUNITS (V4DImode)
9677 : : < GET_MODE_PRECISION (DImode))) &&
9678 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9679 : : (TARGET_AVX512VL)))
9680 : : return -1;
9681 : : return 3322; /* *avx512vl_cmpv4di3_zero_extenddi */
9682 : :
9683 : : case 9:
9684 : : if (!(
9685 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9686 : : (TARGET_AVX512F
9687 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9688 : : && (GET_MODE_NUNITS (V2DImode)
9689 : : < GET_MODE_PRECISION (DImode))) &&
9690 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9691 : : (TARGET_AVX512VL)))
9692 : : return -1;
9693 : : return 3325; /* *avx512vl_cmpv2di3_zero_extenddi */
9694 : :
9695 : : case 10:
9696 : : if (!(
9697 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9698 : : (TARGET_AVX512F
9699 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9700 : : && (GET_MODE_NUNITS (V8HFmode)
9701 : : < GET_MODE_PRECISION (DImode))) &&
9702 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9703 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
9704 : : return -1;
9705 : : return 3334; /* *avx512fp16_cmpv8hf3_zero_extenddi */
9706 : :
9707 : : case 11:
9708 : : if (!(
9709 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9710 : : (TARGET_AVX512F
9711 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9712 : : && (GET_MODE_NUNITS (V8SFmode)
9713 : : < GET_MODE_PRECISION (DImode))) &&
9714 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9715 : : (TARGET_AVX512VL)))
9716 : : return -1;
9717 : : return 3340; /* *avx512vl_cmpv8sf3_zero_extenddi */
9718 : :
9719 : : case 12:
9720 : : if (!(
9721 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9722 : : (TARGET_AVX512F
9723 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9724 : : && (GET_MODE_NUNITS (V4SFmode)
9725 : : < GET_MODE_PRECISION (DImode))) &&
9726 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9727 : : (TARGET_AVX512VL)))
9728 : : return -1;
9729 : : return 3343; /* *avx512vl_cmpv4sf3_zero_extenddi */
9730 : :
9731 : : case 13:
9732 : : if (!
9733 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9734 : : (TARGET_AVX512F
9735 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9736 : : && (GET_MODE_NUNITS (V8DFmode)
9737 : : < GET_MODE_PRECISION (DImode))))
9738 : : return -1;
9739 : : return 3346; /* *avx512f_cmpv8df3_zero_extenddi */
9740 : :
9741 : : case 14:
9742 : : if (!(
9743 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9744 : : (TARGET_AVX512F
9745 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9746 : : && (GET_MODE_NUNITS (V4DFmode)
9747 : : < GET_MODE_PRECISION (DImode))) &&
9748 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9749 : : (TARGET_AVX512VL)))
9750 : : return -1;
9751 : : return 3349; /* *avx512vl_cmpv4df3_zero_extenddi */
9752 : :
9753 : : case 15:
9754 : : if (!(
9755 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9756 : : (TARGET_AVX512F
9757 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9758 : : && (GET_MODE_NUNITS (V2DFmode)
9759 : : < GET_MODE_PRECISION (DImode))) &&
9760 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9761 : : (TARGET_AVX512VL)))
9762 : : return -1;
9763 : : return 3352; /* *avx512vl_cmpv2df3_zero_extenddi */
9764 : :
9765 : : case 16:
9766 : : if (!(
9767 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9768 : : (TARGET_AVX512BW
9769 : : && (GET_MODE_NUNITS (V8HImode)
9770 : : < GET_MODE_PRECISION (DImode))) &&
9771 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9772 : : (TARGET_AVX512VL)))
9773 : : return -1;
9774 : : return 3451; /* *avx512vl_cmpv8hi3_zero_extenddi */
9775 : :
9776 : : case 17:
9777 : : if (!(
9778 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9779 : : (TARGET_AVX512F
9780 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9781 : : && (GET_MODE_NUNITS (V32HFmode)
9782 : : < GET_MODE_PRECISION (DImode))) &&
9783 : : #line 315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9784 : : (TARGET_AVX512FP16)))
9785 : : return -1;
9786 : : return 3328; /* *avx512bw_cmpv32hf3_zero_extenddi */
9787 : :
9788 : : case 18:
9789 : : if (!(
9790 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9791 : : (TARGET_AVX512BW
9792 : : && (GET_MODE_NUNITS (V32QImode)
9793 : : < GET_MODE_PRECISION (DImode))) &&
9794 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9795 : : (TARGET_AVX512VL)))
9796 : : return -1;
9797 : : return 3442; /* *avx512vl_cmpv32qi3_zero_extenddi */
9798 : :
9799 : : case 19:
9800 : : if (!
9801 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9802 : : (TARGET_AVX512BW
9803 : : && (GET_MODE_NUNITS (V32HImode)
9804 : : < GET_MODE_PRECISION (DImode))))
9805 : : return -1;
9806 : : return 3445; /* *avx512bw_cmpv32hi3_zero_extenddi */
9807 : :
9808 : : case 20:
9809 : : if (!
9810 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9811 : : (TARGET_AVX512BW
9812 : : && (GET_MODE_NUNITS (V64QImode)
9813 : : < GET_MODE_PRECISION (DImode))))
9814 : : return -1;
9815 : : return 3436; /* *avx512bw_cmpv64qi3_zero_extenddi */
9816 : :
9817 : : default:
9818 : : return -1;
9819 : : }
9820 : :
9821 : : default:
9822 : : return -1;
9823 : : }
9824 : :
9825 : : case 158:
9826 : : if (!const_0_to_7_operand (operands[3], E_SImode))
9827 : : return -1;
9828 : : switch (GET_MODE (operands[0]))
9829 : : {
9830 : : case E_SImode:
9831 : : switch (pattern1079 (x2,
9832 : : E_SImode))
9833 : : {
9834 : : case 0:
9835 : : if (!
9836 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9837 : : (TARGET_AVX512BW
9838 : : && (GET_MODE_NUNITS (V64QImode)
9839 : : < GET_MODE_PRECISION (SImode))))
9840 : : return -1;
9841 : : return 3519; /* *avx512bw_ucmpv64qi3_zero_extendsi */
9842 : :
9843 : : case 1:
9844 : : if (!(
9845 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9846 : : (TARGET_AVX512BW
9847 : : && (GET_MODE_NUNITS (V16QImode)
9848 : : < GET_MODE_PRECISION (SImode))) &&
9849 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9850 : : (TARGET_AVX512VL)))
9851 : : return -1;
9852 : : return 3522; /* *avx512vl_ucmpv16qi3_zero_extendsi */
9853 : :
9854 : : case 2:
9855 : : if (!(
9856 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9857 : : (TARGET_AVX512BW
9858 : : && (GET_MODE_NUNITS (V16HImode)
9859 : : < GET_MODE_PRECISION (SImode))) &&
9860 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9861 : : (TARGET_AVX512VL)))
9862 : : return -1;
9863 : : return 3531; /* *avx512vl_ucmpv16hi3_zero_extendsi */
9864 : :
9865 : : case 3:
9866 : : if (!
9867 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9868 : : (TARGET_AVX512F
9869 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9870 : : && (GET_MODE_NUNITS (V16SImode)
9871 : : < GET_MODE_PRECISION (SImode))))
9872 : : return -1;
9873 : : return 3596; /* *avx512f_ucmpv16si3_zero_extendsi */
9874 : :
9875 : : case 4:
9876 : : if (!(
9877 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9878 : : (TARGET_AVX512BW
9879 : : && (GET_MODE_NUNITS (V32QImode)
9880 : : < GET_MODE_PRECISION (SImode))) &&
9881 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9882 : : (TARGET_AVX512VL)))
9883 : : return -1;
9884 : : return 3525; /* *avx512vl_ucmpv32qi3_zero_extendsi */
9885 : :
9886 : : case 5:
9887 : : if (!
9888 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9889 : : (TARGET_AVX512BW
9890 : : && (GET_MODE_NUNITS (V32HImode)
9891 : : < GET_MODE_PRECISION (SImode))))
9892 : : return -1;
9893 : : return 3528; /* *avx512bw_ucmpv32hi3_zero_extendsi */
9894 : :
9895 : : case 6:
9896 : : if (!(
9897 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9898 : : (TARGET_AVX512BW
9899 : : && (GET_MODE_NUNITS (V8HImode)
9900 : : < GET_MODE_PRECISION (SImode))) &&
9901 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9902 : : (TARGET_AVX512VL)))
9903 : : return -1;
9904 : : return 3534; /* *avx512vl_ucmpv8hi3_zero_extendsi */
9905 : :
9906 : : case 7:
9907 : : if (!(
9908 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9909 : : (TARGET_AVX512F
9910 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9911 : : && (GET_MODE_NUNITS (V8SImode)
9912 : : < GET_MODE_PRECISION (SImode))) &&
9913 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9914 : : (TARGET_AVX512VL)))
9915 : : return -1;
9916 : : return 3597; /* *avx512vl_ucmpv8si3_zero_extendsi */
9917 : :
9918 : : case 8:
9919 : : if (!(
9920 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9921 : : (TARGET_AVX512F
9922 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9923 : : && (GET_MODE_NUNITS (V4SImode)
9924 : : < GET_MODE_PRECISION (SImode))) &&
9925 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9926 : : (TARGET_AVX512VL)))
9927 : : return -1;
9928 : : return 3598; /* *avx512vl_ucmpv4si3_zero_extendsi */
9929 : :
9930 : : case 9:
9931 : : if (!
9932 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9933 : : (TARGET_AVX512F
9934 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9935 : : && (GET_MODE_NUNITS (V8DImode)
9936 : : < GET_MODE_PRECISION (SImode))))
9937 : : return -1;
9938 : : return 3599; /* *avx512f_ucmpv8di3_zero_extendsi */
9939 : :
9940 : : case 10:
9941 : : if (!(
9942 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9943 : : (TARGET_AVX512F
9944 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9945 : : && (GET_MODE_NUNITS (V4DImode)
9946 : : < GET_MODE_PRECISION (SImode))) &&
9947 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9948 : : (TARGET_AVX512VL)))
9949 : : return -1;
9950 : : return 3600; /* *avx512vl_ucmpv4di3_zero_extendsi */
9951 : :
9952 : : case 11:
9953 : : if (!(
9954 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9955 : : (TARGET_AVX512F
9956 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9957 : : && (GET_MODE_NUNITS (V2DImode)
9958 : : < GET_MODE_PRECISION (SImode))) &&
9959 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9960 : : (TARGET_AVX512VL)))
9961 : : return -1;
9962 : : return 3601; /* *avx512vl_ucmpv2di3_zero_extendsi */
9963 : :
9964 : : default:
9965 : : return -1;
9966 : : }
9967 : :
9968 : : case E_DImode:
9969 : : switch (pattern1079 (x2,
9970 : : E_DImode))
9971 : : {
9972 : : case 0:
9973 : : if (!
9974 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9975 : : (TARGET_AVX512BW
9976 : : && (GET_MODE_NUNITS (V64QImode)
9977 : : < GET_MODE_PRECISION (DImode))))
9978 : : return -1;
9979 : : return 3520; /* *avx512bw_ucmpv64qi3_zero_extenddi */
9980 : :
9981 : : case 1:
9982 : : if (!(
9983 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9984 : : (TARGET_AVX512BW
9985 : : && (GET_MODE_NUNITS (V16QImode)
9986 : : < GET_MODE_PRECISION (DImode))) &&
9987 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9988 : : (TARGET_AVX512VL)))
9989 : : return -1;
9990 : : return 3523; /* *avx512vl_ucmpv16qi3_zero_extenddi */
9991 : :
9992 : : case 2:
9993 : : if (!(
9994 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9995 : : (TARGET_AVX512BW
9996 : : && (GET_MODE_NUNITS (V16HImode)
9997 : : < GET_MODE_PRECISION (DImode))) &&
9998 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9999 : : (TARGET_AVX512VL)))
10000 : : return -1;
10001 : : return 3532; /* *avx512vl_ucmpv16hi3_zero_extenddi */
10002 : :
10003 : : case 3:
10004 : : if (!
10005 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10006 : : (TARGET_AVX512F
10007 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10008 : : && (GET_MODE_NUNITS (V16SImode)
10009 : : < GET_MODE_PRECISION (DImode))))
10010 : : return -1;
10011 : : return 3602; /* *avx512f_ucmpv16si3_zero_extenddi */
10012 : :
10013 : : case 4:
10014 : : if (!(
10015 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10016 : : (TARGET_AVX512BW
10017 : : && (GET_MODE_NUNITS (V32QImode)
10018 : : < GET_MODE_PRECISION (DImode))) &&
10019 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10020 : : (TARGET_AVX512VL)))
10021 : : return -1;
10022 : : return 3526; /* *avx512vl_ucmpv32qi3_zero_extenddi */
10023 : :
10024 : : case 5:
10025 : : if (!
10026 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10027 : : (TARGET_AVX512BW
10028 : : && (GET_MODE_NUNITS (V32HImode)
10029 : : < GET_MODE_PRECISION (DImode))))
10030 : : return -1;
10031 : : return 3529; /* *avx512bw_ucmpv32hi3_zero_extenddi */
10032 : :
10033 : : case 6:
10034 : : if (!(
10035 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10036 : : (TARGET_AVX512BW
10037 : : && (GET_MODE_NUNITS (V8HImode)
10038 : : < GET_MODE_PRECISION (DImode))) &&
10039 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10040 : : (TARGET_AVX512VL)))
10041 : : return -1;
10042 : : return 3535; /* *avx512vl_ucmpv8hi3_zero_extenddi */
10043 : :
10044 : : case 7:
10045 : : if (!(
10046 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10047 : : (TARGET_AVX512F
10048 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10049 : : && (GET_MODE_NUNITS (V8SImode)
10050 : : < GET_MODE_PRECISION (DImode))) &&
10051 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10052 : : (TARGET_AVX512VL)))
10053 : : return -1;
10054 : : return 3603; /* *avx512vl_ucmpv8si3_zero_extenddi */
10055 : :
10056 : : case 8:
10057 : : if (!(
10058 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10059 : : (TARGET_AVX512F
10060 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10061 : : && (GET_MODE_NUNITS (V4SImode)
10062 : : < GET_MODE_PRECISION (DImode))) &&
10063 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10064 : : (TARGET_AVX512VL)))
10065 : : return -1;
10066 : : return 3604; /* *avx512vl_ucmpv4si3_zero_extenddi */
10067 : :
10068 : : case 9:
10069 : : if (!
10070 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10071 : : (TARGET_AVX512F
10072 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10073 : : && (GET_MODE_NUNITS (V8DImode)
10074 : : < GET_MODE_PRECISION (DImode))))
10075 : : return -1;
10076 : : return 3605; /* *avx512f_ucmpv8di3_zero_extenddi */
10077 : :
10078 : : case 10:
10079 : : if (!(
10080 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10081 : : (TARGET_AVX512F
10082 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10083 : : && (GET_MODE_NUNITS (V4DImode)
10084 : : < GET_MODE_PRECISION (DImode))) &&
10085 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10086 : : (TARGET_AVX512VL)))
10087 : : return -1;
10088 : : return 3606; /* *avx512vl_ucmpv4di3_zero_extenddi */
10089 : :
10090 : : case 11:
10091 : : if (!(
10092 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10093 : : (TARGET_AVX512F
10094 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10095 : : && (GET_MODE_NUNITS (V2DImode)
10096 : : < GET_MODE_PRECISION (DImode))) &&
10097 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10098 : : (TARGET_AVX512VL)))
10099 : : return -1;
10100 : : return 3607; /* *avx512vl_ucmpv2di3_zero_extenddi */
10101 : :
10102 : : default:
10103 : : return -1;
10104 : : }
10105 : :
10106 : : default:
10107 : : return -1;
10108 : : }
10109 : :
10110 : : default:
10111 : : return -1;
10112 : : }
10113 : :
10114 : : default:
10115 : : return -1;
10116 : : }
10117 : : }
10118 : :
10119 : : int
10120 : : recog_135 (rtx x1 ATTRIBUTE_UNUSED,
10121 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10122 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10123 : : {
10124 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10125 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10126 : : int res ATTRIBUTE_UNUSED;
10127 : : x2 = XEXP (x1, 1);
10128 : : x3 = XEXP (x2, 0);
10129 : : x4 = XVECEXP (x3, 0, 2);
10130 : : operands[3] = x4;
10131 : : x5 = XEXP (x2, 1);
10132 : : switch (GET_CODE (x5))
10133 : : {
10134 : : case REG:
10135 : : case SUBREG:
10136 : : x6 = XEXP (x2, 2);
10137 : : operands[4] = x6;
10138 : : switch (GET_MODE (operands[0]))
10139 : : {
10140 : : case E_V16SImode:
10141 : : if (pattern985 (x2,
10142 : : E_V16SImode) == 0)
10143 : : {
10144 : : x7 = XVECEXP (x3, 0, 1);
10145 : : operands[1] = x7;
10146 : : x8 = XVECEXP (x3, 0, 0);
10147 : : operands[2] = x8;
10148 : : if (nonimmediate_operand (operands[3], E_V16SImode)
10149 : : && register_operand (operands[4], E_HImode)
10150 : : && rtx_equal_p (x5, operands[2])
10151 : : &&
10152 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10153 : : (TARGET_AVX512F))
10154 : : return 9336; /* *avx512f_vpermi2varv16si3_mask */
10155 : : operands[2] = x7;
10156 : : operands[1] = x8;
10157 : : if (nonimmediate_operand (operands[3], E_V16SImode)
10158 : : && register_operand (operands[4], E_HImode)
10159 : : && rtx_equal_p (x5, operands[2])
10160 : : &&
10161 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10162 : : (TARGET_AVX512F))
10163 : : return 9402; /* avx512f_vpermt2varv16si3_mask */
10164 : : }
10165 : : break;
10166 : :
10167 : : case E_V8DImode:
10168 : : if (pattern985 (x2,
10169 : : E_V8DImode) == 0)
10170 : : {
10171 : : x7 = XVECEXP (x3, 0, 1);
10172 : : operands[1] = x7;
10173 : : x8 = XVECEXP (x3, 0, 0);
10174 : : operands[2] = x8;
10175 : : if (nonimmediate_operand (operands[3], E_V8DImode)
10176 : : && register_operand (operands[4], E_QImode)
10177 : : && rtx_equal_p (x5, operands[2])
10178 : : &&
10179 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10180 : : (TARGET_AVX512F))
10181 : : return 9337; /* *avx512f_vpermi2varv8di3_mask */
10182 : : operands[2] = x7;
10183 : : operands[1] = x8;
10184 : : if (nonimmediate_operand (operands[3], E_V8DImode)
10185 : : && register_operand (operands[4], E_QImode)
10186 : : && rtx_equal_p (x5, operands[2])
10187 : : &&
10188 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10189 : : (TARGET_AVX512F))
10190 : : return 9404; /* avx512f_vpermt2varv8di3_mask */
10191 : : }
10192 : : break;
10193 : :
10194 : : case E_V8SImode:
10195 : : if (pattern985 (x2,
10196 : : E_V8SImode) == 0)
10197 : : {
10198 : : x7 = XVECEXP (x3, 0, 1);
10199 : : operands[1] = x7;
10200 : : x8 = XVECEXP (x3, 0, 0);
10201 : : operands[2] = x8;
10202 : : if (nonimmediate_operand (operands[3], E_V8SImode)
10203 : : && register_operand (operands[4], E_QImode)
10204 : : && rtx_equal_p (x5, operands[2])
10205 : : && (
10206 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10207 : : (TARGET_AVX512F) &&
10208 : : #line 28289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10209 : : (TARGET_AVX512VL)))
10210 : : return 9338; /* *avx512vl_vpermi2varv8si3_mask */
10211 : : operands[2] = x7;
10212 : : operands[1] = x8;
10213 : : if (nonimmediate_operand (operands[3], E_V8SImode)
10214 : : && register_operand (operands[4], E_QImode)
10215 : : && rtx_equal_p (x5, operands[2])
10216 : : && (
10217 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10218 : : (TARGET_AVX512F) &&
10219 : : #line 28276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10220 : : (TARGET_AVX512VL)))
10221 : : return 9406; /* avx512vl_vpermt2varv8si3_mask */
10222 : : }
10223 : : break;
10224 : :
10225 : : case E_V4SImode:
10226 : : if (pattern985 (x2,
10227 : : E_V4SImode) == 0)
10228 : : {
10229 : : x7 = XVECEXP (x3, 0, 1);
10230 : : operands[1] = x7;
10231 : : x8 = XVECEXP (x3, 0, 0);
10232 : : operands[2] = x8;
10233 : : if (nonimmediate_operand (operands[3], E_V4SImode)
10234 : : && register_operand (operands[4], E_QImode)
10235 : : && rtx_equal_p (x5, operands[2])
10236 : : && (
10237 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10238 : : (TARGET_AVX512F) &&
10239 : : #line 28289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10240 : : (TARGET_AVX512VL)))
10241 : : return 9339; /* *avx512vl_vpermi2varv4si3_mask */
10242 : : operands[2] = x7;
10243 : : operands[1] = x8;
10244 : : if (nonimmediate_operand (operands[3], E_V4SImode)
10245 : : && register_operand (operands[4], E_QImode)
10246 : : && rtx_equal_p (x5, operands[2])
10247 : : && (
10248 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10249 : : (TARGET_AVX512F) &&
10250 : : #line 28278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10251 : : (TARGET_AVX512VL)))
10252 : : return 9410; /* avx512vl_vpermt2varv4si3_mask */
10253 : : }
10254 : : break;
10255 : :
10256 : : case E_V4DImode:
10257 : : if (pattern985 (x2,
10258 : : E_V4DImode) == 0)
10259 : : {
10260 : : x7 = XVECEXP (x3, 0, 1);
10261 : : operands[1] = x7;
10262 : : x8 = XVECEXP (x3, 0, 0);
10263 : : operands[2] = x8;
10264 : : if (nonimmediate_operand (operands[3], E_V4DImode)
10265 : : && register_operand (operands[4], E_QImode)
10266 : : && rtx_equal_p (x5, operands[2])
10267 : : && (
10268 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10269 : : (TARGET_AVX512F) &&
10270 : : #line 28290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10271 : : (TARGET_AVX512VL)))
10272 : : return 9340; /* *avx512vl_vpermi2varv4di3_mask */
10273 : : operands[2] = x7;
10274 : : operands[1] = x8;
10275 : : if (nonimmediate_operand (operands[3], E_V4DImode)
10276 : : && register_operand (operands[4], E_QImode)
10277 : : && rtx_equal_p (x5, operands[2])
10278 : : && (
10279 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10280 : : (TARGET_AVX512F) &&
10281 : : #line 28277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10282 : : (TARGET_AVX512VL)))
10283 : : return 9408; /* avx512vl_vpermt2varv4di3_mask */
10284 : : }
10285 : : break;
10286 : :
10287 : : case E_V2DImode:
10288 : : if (pattern985 (x2,
10289 : : E_V2DImode) == 0)
10290 : : {
10291 : : x7 = XVECEXP (x3, 0, 1);
10292 : : operands[1] = x7;
10293 : : x8 = XVECEXP (x3, 0, 0);
10294 : : operands[2] = x8;
10295 : : if (nonimmediate_operand (operands[3], E_V2DImode)
10296 : : && register_operand (operands[4], E_QImode)
10297 : : && rtx_equal_p (x5, operands[2])
10298 : : && (
10299 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10300 : : (TARGET_AVX512F) &&
10301 : : #line 28290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10302 : : (TARGET_AVX512VL)))
10303 : : return 9341; /* *avx512vl_vpermi2varv2di3_mask */
10304 : : operands[2] = x7;
10305 : : operands[1] = x8;
10306 : : if (nonimmediate_operand (operands[3], E_V2DImode)
10307 : : && register_operand (operands[4], E_QImode)
10308 : : && rtx_equal_p (x5, operands[2])
10309 : : && (
10310 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10311 : : (TARGET_AVX512F) &&
10312 : : #line 28279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10313 : : (TARGET_AVX512VL)))
10314 : : return 9412; /* avx512vl_vpermt2varv2di3_mask */
10315 : : }
10316 : : break;
10317 : :
10318 : : case E_V32HImode:
10319 : : if (pattern985 (x2,
10320 : : E_V32HImode) == 0)
10321 : : {
10322 : : x7 = XVECEXP (x3, 0, 1);
10323 : : operands[1] = x7;
10324 : : x8 = XVECEXP (x3, 0, 0);
10325 : : operands[2] = x8;
10326 : : if (nonimmediate_operand (operands[3], E_V32HImode)
10327 : : && register_operand (operands[4], E_SImode)
10328 : : && rtx_equal_p (x5, operands[2])
10329 : : && (
10330 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10331 : : (TARGET_AVX512F) &&
10332 : : #line 28291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10333 : : (TARGET_AVX512BW)))
10334 : : return 9342; /* *avx512bw_vpermi2varv32hi3_mask */
10335 : : operands[2] = x7;
10336 : : operands[1] = x8;
10337 : : if (nonimmediate_operand (operands[3], E_V32HImode)
10338 : : && register_operand (operands[4], E_SImode)
10339 : : && rtx_equal_p (x5, operands[2])
10340 : : && (
10341 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10342 : : (TARGET_AVX512F) &&
10343 : : #line 28280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10344 : : (TARGET_AVX512BW)))
10345 : : return 9414; /* avx512bw_vpermt2varv32hi3_mask */
10346 : : }
10347 : : break;
10348 : :
10349 : : case E_V16HImode:
10350 : : if (pattern985 (x2,
10351 : : E_V16HImode) == 0)
10352 : : {
10353 : : x7 = XVECEXP (x3, 0, 1);
10354 : : operands[1] = x7;
10355 : : x8 = XVECEXP (x3, 0, 0);
10356 : : operands[2] = x8;
10357 : : if (nonimmediate_operand (operands[3], E_V16HImode)
10358 : : && register_operand (operands[4], E_HImode)
10359 : : && rtx_equal_p (x5, operands[2])
10360 : : && (
10361 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10362 : : (TARGET_AVX512F) &&
10363 : : #line 28292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10364 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
10365 : : return 9343; /* *avx512vl_vpermi2varv16hi3_mask */
10366 : : operands[2] = x7;
10367 : : operands[1] = x8;
10368 : : if (nonimmediate_operand (operands[3], E_V16HImode)
10369 : : && register_operand (operands[4], E_HImode)
10370 : : && rtx_equal_p (x5, operands[2])
10371 : : && (
10372 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10373 : : (TARGET_AVX512F) &&
10374 : : #line 28281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10375 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
10376 : : return 9415; /* avx512vl_vpermt2varv16hi3_mask */
10377 : : }
10378 : : break;
10379 : :
10380 : : case E_V8HImode:
10381 : : if (pattern985 (x2,
10382 : : E_V8HImode) == 0)
10383 : : {
10384 : : x7 = XVECEXP (x3, 0, 1);
10385 : : operands[1] = x7;
10386 : : x8 = XVECEXP (x3, 0, 0);
10387 : : operands[2] = x8;
10388 : : if (nonimmediate_operand (operands[3], E_V8HImode)
10389 : : && register_operand (operands[4], E_QImode)
10390 : : && rtx_equal_p (x5, operands[2])
10391 : : && (
10392 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10393 : : (TARGET_AVX512F) &&
10394 : : #line 28293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10395 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
10396 : : return 9344; /* *avx512vl_vpermi2varv8hi3_mask */
10397 : : operands[2] = x7;
10398 : : operands[1] = x8;
10399 : : if (nonimmediate_operand (operands[3], E_V8HImode)
10400 : : && register_operand (operands[4], E_QImode)
10401 : : && rtx_equal_p (x5, operands[2])
10402 : : && (
10403 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10404 : : (TARGET_AVX512F) &&
10405 : : #line 28282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10406 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
10407 : : return 9416; /* avx512vl_vpermt2varv8hi3_mask */
10408 : : }
10409 : : break;
10410 : :
10411 : : case E_V64QImode:
10412 : : if (pattern985 (x2,
10413 : : E_V64QImode) == 0)
10414 : : {
10415 : : x7 = XVECEXP (x3, 0, 1);
10416 : : operands[1] = x7;
10417 : : x8 = XVECEXP (x3, 0, 0);
10418 : : operands[2] = x8;
10419 : : if (nonimmediate_operand (operands[3], E_V64QImode)
10420 : : && register_operand (operands[4], E_DImode)
10421 : : && rtx_equal_p (x5, operands[2])
10422 : : && (
10423 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10424 : : (TARGET_AVX512F) &&
10425 : : #line 28294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10426 : : (TARGET_AVX512VBMI)))
10427 : : return 9345; /* *avx512bw_vpermi2varv64qi3_mask */
10428 : : operands[2] = x7;
10429 : : operands[1] = x8;
10430 : : if (nonimmediate_operand (operands[3], E_V64QImode)
10431 : : && register_operand (operands[4], E_DImode)
10432 : : && rtx_equal_p (x5, operands[2])
10433 : : && (
10434 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10435 : : (TARGET_AVX512F) &&
10436 : : #line 28283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10437 : : (TARGET_AVX512VBMI)))
10438 : : return 9417; /* avx512bw_vpermt2varv64qi3_mask */
10439 : : }
10440 : : break;
10441 : :
10442 : : case E_V32QImode:
10443 : : if (pattern985 (x2,
10444 : : E_V32QImode) == 0)
10445 : : {
10446 : : x7 = XVECEXP (x3, 0, 1);
10447 : : operands[1] = x7;
10448 : : x8 = XVECEXP (x3, 0, 0);
10449 : : operands[2] = x8;
10450 : : if (nonimmediate_operand (operands[3], E_V32QImode)
10451 : : && register_operand (operands[4], E_SImode)
10452 : : && rtx_equal_p (x5, operands[2])
10453 : : && (
10454 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10455 : : (TARGET_AVX512F) &&
10456 : : #line 28295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10457 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
10458 : : return 9346; /* *avx512vl_vpermi2varv32qi3_mask */
10459 : : operands[2] = x7;
10460 : : operands[1] = x8;
10461 : : if (nonimmediate_operand (operands[3], E_V32QImode)
10462 : : && register_operand (operands[4], E_SImode)
10463 : : && rtx_equal_p (x5, operands[2])
10464 : : && (
10465 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10466 : : (TARGET_AVX512F) &&
10467 : : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10468 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
10469 : : return 9418; /* avx512vl_vpermt2varv32qi3_mask */
10470 : : }
10471 : : break;
10472 : :
10473 : : case E_V16QImode:
10474 : : if (pattern985 (x2,
10475 : : E_V16QImode) == 0)
10476 : : {
10477 : : x7 = XVECEXP (x3, 0, 1);
10478 : : operands[1] = x7;
10479 : : x8 = XVECEXP (x3, 0, 0);
10480 : : operands[2] = x8;
10481 : : if (nonimmediate_operand (operands[3], E_V16QImode)
10482 : : && register_operand (operands[4], E_HImode)
10483 : : && rtx_equal_p (x5, operands[2])
10484 : : && (
10485 : : #line 28324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10486 : : (TARGET_AVX512F) &&
10487 : : #line 28296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10488 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
10489 : : return 9347; /* *avx512vl_vpermi2varv16qi3_mask */
10490 : : operands[2] = x7;
10491 : : operands[1] = x8;
10492 : : if (nonimmediate_operand (operands[3], E_V16QImode)
10493 : : && register_operand (operands[4], E_HImode)
10494 : : && rtx_equal_p (x5, operands[2])
10495 : : && (
10496 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10497 : : (TARGET_AVX512F) &&
10498 : : #line 28285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10499 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
10500 : : return 9419; /* avx512vl_vpermt2varv16qi3_mask */
10501 : : }
10502 : : break;
10503 : :
10504 : : default:
10505 : : break;
10506 : : }
10507 : : if (GET_CODE (x5) == SUBREG
10508 : : && known_eq (SUBREG_BYTE (x5), 0))
10509 : : {
10510 : : x8 = XVECEXP (x3, 0, 0);
10511 : : operands[2] = x8;
10512 : : x7 = XVECEXP (x3, 0, 1);
10513 : : operands[1] = x7;
10514 : : x9 = XEXP (x5, 0);
10515 : : if (rtx_equal_p (x9, operands[2]))
10516 : : {
10517 : : switch (GET_MODE (operands[0]))
10518 : : {
10519 : : case E_V16SFmode:
10520 : : if (pattern1444 (x2,
10521 : : E_V16SFmode,
10522 : : E_V16SImode,
10523 : : E_HImode) == 0
10524 : : &&
10525 : : #line 28340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10526 : : (TARGET_AVX512F))
10527 : : return 9348; /* *avx512f_vpermi2varv16sf3_mask */
10528 : : break;
10529 : :
10530 : : case E_V8SFmode:
10531 : : if (pattern1444 (x2,
10532 : : E_V8SFmode,
10533 : : E_V8SImode,
10534 : : E_QImode) == 0
10535 : : && (
10536 : : #line 28340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10537 : : (TARGET_AVX512F) &&
10538 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10539 : : (TARGET_AVX512VL)))
10540 : : return 9349; /* *avx512vl_vpermi2varv8sf3_mask */
10541 : : break;
10542 : :
10543 : : case E_V4SFmode:
10544 : : if (pattern1444 (x2,
10545 : : E_V4SFmode,
10546 : : E_V4SImode,
10547 : : E_QImode) == 0
10548 : : && (
10549 : : #line 28340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10550 : : (TARGET_AVX512F) &&
10551 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10552 : : (TARGET_AVX512VL)))
10553 : : return 9350; /* *avx512vl_vpermi2varv4sf3_mask */
10554 : : break;
10555 : :
10556 : : case E_V8DFmode:
10557 : : if (pattern1444 (x2,
10558 : : E_V8DFmode,
10559 : : E_V8DImode,
10560 : : E_QImode) == 0
10561 : : &&
10562 : : #line 28340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10563 : : (TARGET_AVX512F))
10564 : : return 9351; /* *avx512f_vpermi2varv8df3_mask */
10565 : : break;
10566 : :
10567 : : case E_V4DFmode:
10568 : : if (pattern1444 (x2,
10569 : : E_V4DFmode,
10570 : : E_V4DImode,
10571 : : E_QImode) == 0
10572 : : && (
10573 : : #line 28340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10574 : : (TARGET_AVX512F) &&
10575 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10576 : : (TARGET_AVX512VL)))
10577 : : return 9352; /* *avx512vl_vpermi2varv4df3_mask */
10578 : : break;
10579 : :
10580 : : case E_V2DFmode:
10581 : : if (pattern1444 (x2,
10582 : : E_V2DFmode,
10583 : : E_V2DImode,
10584 : : E_QImode) == 0
10585 : : && (
10586 : : #line 28340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10587 : : (TARGET_AVX512F) &&
10588 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10589 : : (TARGET_AVX512VL)))
10590 : : return 9353; /* *avx512vl_vpermi2varv2df3_mask */
10591 : : break;
10592 : :
10593 : : default:
10594 : : break;
10595 : : }
10596 : : }
10597 : : }
10598 : : x8 = XVECEXP (x3, 0, 0);
10599 : : operands[1] = x8;
10600 : : x7 = XVECEXP (x3, 0, 1);
10601 : : operands[2] = x7;
10602 : : if (!rtx_equal_p (x5, operands[2]))
10603 : : return -1;
10604 : : switch (GET_MODE (operands[0]))
10605 : : {
10606 : : case E_V16SFmode:
10607 : : if (pattern1260 (x2,
10608 : : E_V16SFmode,
10609 : : E_V16SImode,
10610 : : E_HImode) != 0
10611 : : || !
10612 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10613 : : (TARGET_AVX512F))
10614 : : return -1;
10615 : : return 9403; /* avx512f_vpermt2varv16sf3_mask */
10616 : :
10617 : : case E_V8DFmode:
10618 : : if (pattern1260 (x2,
10619 : : E_V8DFmode,
10620 : : E_V8DImode,
10621 : : E_QImode) != 0
10622 : : || !
10623 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10624 : : (TARGET_AVX512F))
10625 : : return -1;
10626 : : return 9405; /* avx512f_vpermt2varv8df3_mask */
10627 : :
10628 : : case E_V8SFmode:
10629 : : if (pattern1260 (x2,
10630 : : E_V8SFmode,
10631 : : E_V8SImode,
10632 : : E_QImode) != 0
10633 : : || !(
10634 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10635 : : (TARGET_AVX512F) &&
10636 : : #line 28276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10637 : : (TARGET_AVX512VL)))
10638 : : return -1;
10639 : : return 9407; /* avx512vl_vpermt2varv8sf3_mask */
10640 : :
10641 : : case E_V4DFmode:
10642 : : if (pattern1260 (x2,
10643 : : E_V4DFmode,
10644 : : E_V4DImode,
10645 : : E_QImode) != 0
10646 : : || !(
10647 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10648 : : (TARGET_AVX512F) &&
10649 : : #line 28277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10650 : : (TARGET_AVX512VL)))
10651 : : return -1;
10652 : : return 9409; /* avx512vl_vpermt2varv4df3_mask */
10653 : :
10654 : : case E_V4SFmode:
10655 : : if (pattern1260 (x2,
10656 : : E_V4SFmode,
10657 : : E_V4SImode,
10658 : : E_QImode) != 0
10659 : : || !(
10660 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10661 : : (TARGET_AVX512F) &&
10662 : : #line 28278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10663 : : (TARGET_AVX512VL)))
10664 : : return -1;
10665 : : return 9411; /* avx512vl_vpermt2varv4sf3_mask */
10666 : :
10667 : : case E_V2DFmode:
10668 : : if (pattern1260 (x2,
10669 : : E_V2DFmode,
10670 : : E_V2DImode,
10671 : : E_QImode) != 0
10672 : : || !(
10673 : : #line 28400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10674 : : (TARGET_AVX512F) &&
10675 : : #line 28279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10676 : : (TARGET_AVX512VL)))
10677 : : return -1;
10678 : : return 9413; /* avx512vl_vpermt2varv2df3_mask */
10679 : :
10680 : : default:
10681 : : return -1;
10682 : : }
10683 : :
10684 : : case CONST_INT:
10685 : : case CONST_DOUBLE:
10686 : : case CONST_VECTOR:
10687 : : operands[4] = x5;
10688 : : x8 = XVECEXP (x3, 0, 0);
10689 : : operands[1] = x8;
10690 : : x7 = XVECEXP (x3, 0, 1);
10691 : : operands[2] = x7;
10692 : : x6 = XEXP (x2, 2);
10693 : : operands[5] = x6;
10694 : : switch (GET_MODE (operands[0]))
10695 : : {
10696 : : case E_V16SImode:
10697 : : if (pattern473 (x2,
10698 : : E_V16SImode,
10699 : : E_HImode) != 0
10700 : : || !
10701 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10702 : : (TARGET_AVX512F))
10703 : : return -1;
10704 : : return 9355; /* avx512f_vpermt2varv16si3_maskz_1 */
10705 : :
10706 : : case E_V16SFmode:
10707 : : if (pattern1261 (x2,
10708 : : E_V16SFmode,
10709 : : E_HImode,
10710 : : E_V16SImode) != 0
10711 : : || !
10712 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10713 : : (TARGET_AVX512F))
10714 : : return -1;
10715 : : return 9357; /* avx512f_vpermt2varv16sf3_maskz_1 */
10716 : :
10717 : : case E_V8DImode:
10718 : : if (pattern473 (x2,
10719 : : E_V8DImode,
10720 : : E_QImode) != 0
10721 : : || !
10722 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10723 : : (TARGET_AVX512F))
10724 : : return -1;
10725 : : return 9359; /* avx512f_vpermt2varv8di3_maskz_1 */
10726 : :
10727 : : case E_V8DFmode:
10728 : : if (pattern1261 (x2,
10729 : : E_V8DFmode,
10730 : : E_QImode,
10731 : : E_V8DImode) != 0
10732 : : || !
10733 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10734 : : (TARGET_AVX512F))
10735 : : return -1;
10736 : : return 9361; /* avx512f_vpermt2varv8df3_maskz_1 */
10737 : :
10738 : : case E_V8SImode:
10739 : : if (pattern473 (x2,
10740 : : E_V8SImode,
10741 : : E_QImode) != 0
10742 : : || !(
10743 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10744 : : (TARGET_AVX512F) &&
10745 : : #line 28276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10746 : : (TARGET_AVX512VL)))
10747 : : return -1;
10748 : : return 9363; /* avx512vl_vpermt2varv8si3_maskz_1 */
10749 : :
10750 : : case E_V8SFmode:
10751 : : if (pattern1261 (x2,
10752 : : E_V8SFmode,
10753 : : E_QImode,
10754 : : E_V8SImode) != 0
10755 : : || !(
10756 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10757 : : (TARGET_AVX512F) &&
10758 : : #line 28276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10759 : : (TARGET_AVX512VL)))
10760 : : return -1;
10761 : : return 9365; /* avx512vl_vpermt2varv8sf3_maskz_1 */
10762 : :
10763 : : case E_V4DImode:
10764 : : if (pattern473 (x2,
10765 : : E_V4DImode,
10766 : : E_QImode) != 0
10767 : : || !(
10768 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10769 : : (TARGET_AVX512F) &&
10770 : : #line 28277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10771 : : (TARGET_AVX512VL)))
10772 : : return -1;
10773 : : return 9367; /* avx512vl_vpermt2varv4di3_maskz_1 */
10774 : :
10775 : : case E_V4DFmode:
10776 : : if (pattern1261 (x2,
10777 : : E_V4DFmode,
10778 : : E_QImode,
10779 : : E_V4DImode) != 0
10780 : : || !(
10781 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10782 : : (TARGET_AVX512F) &&
10783 : : #line 28277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10784 : : (TARGET_AVX512VL)))
10785 : : return -1;
10786 : : return 9369; /* avx512vl_vpermt2varv4df3_maskz_1 */
10787 : :
10788 : : case E_V4SImode:
10789 : : if (pattern473 (x2,
10790 : : E_V4SImode,
10791 : : E_QImode) != 0
10792 : : || !(
10793 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10794 : : (TARGET_AVX512F) &&
10795 : : #line 28278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10796 : : (TARGET_AVX512VL)))
10797 : : return -1;
10798 : : return 9371; /* avx512vl_vpermt2varv4si3_maskz_1 */
10799 : :
10800 : : case E_V4SFmode:
10801 : : if (pattern1261 (x2,
10802 : : E_V4SFmode,
10803 : : E_QImode,
10804 : : E_V4SImode) != 0
10805 : : || !(
10806 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10807 : : (TARGET_AVX512F) &&
10808 : : #line 28278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10809 : : (TARGET_AVX512VL)))
10810 : : return -1;
10811 : : return 9373; /* avx512vl_vpermt2varv4sf3_maskz_1 */
10812 : :
10813 : : case E_V2DImode:
10814 : : if (pattern473 (x2,
10815 : : E_V2DImode,
10816 : : E_QImode) != 0
10817 : : || !(
10818 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10819 : : (TARGET_AVX512F) &&
10820 : : #line 28279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10821 : : (TARGET_AVX512VL)))
10822 : : return -1;
10823 : : return 9375; /* avx512vl_vpermt2varv2di3_maskz_1 */
10824 : :
10825 : : case E_V2DFmode:
10826 : : if (pattern1261 (x2,
10827 : : E_V2DFmode,
10828 : : E_QImode,
10829 : : E_V2DImode) != 0
10830 : : || !(
10831 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10832 : : (TARGET_AVX512F) &&
10833 : : #line 28279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10834 : : (TARGET_AVX512VL)))
10835 : : return -1;
10836 : : return 9377; /* avx512vl_vpermt2varv2df3_maskz_1 */
10837 : :
10838 : : case E_V32HImode:
10839 : : if (pattern473 (x2,
10840 : : E_V32HImode,
10841 : : E_SImode) != 0
10842 : : || !(
10843 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10844 : : (TARGET_AVX512F) &&
10845 : : #line 28280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10846 : : (TARGET_AVX512BW)))
10847 : : return -1;
10848 : : return 9379; /* avx512bw_vpermt2varv32hi3_maskz_1 */
10849 : :
10850 : : case E_V16HImode:
10851 : : if (pattern473 (x2,
10852 : : E_V16HImode,
10853 : : E_HImode) != 0
10854 : : || !(
10855 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10856 : : (TARGET_AVX512F) &&
10857 : : #line 28281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10858 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
10859 : : return -1;
10860 : : return 9381; /* avx512vl_vpermt2varv16hi3_maskz_1 */
10861 : :
10862 : : case E_V8HImode:
10863 : : if (pattern473 (x2,
10864 : : E_V8HImode,
10865 : : E_QImode) != 0
10866 : : || !(
10867 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10868 : : (TARGET_AVX512F) &&
10869 : : #line 28282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10870 : : (TARGET_AVX512BW && TARGET_AVX512VL)))
10871 : : return -1;
10872 : : return 9383; /* avx512vl_vpermt2varv8hi3_maskz_1 */
10873 : :
10874 : : case E_V64QImode:
10875 : : if (pattern473 (x2,
10876 : : E_V64QImode,
10877 : : E_DImode) != 0
10878 : : || !(
10879 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10880 : : (TARGET_AVX512F) &&
10881 : : #line 28283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10882 : : (TARGET_AVX512VBMI)))
10883 : : return -1;
10884 : : return 9385; /* avx512bw_vpermt2varv64qi3_maskz_1 */
10885 : :
10886 : : case E_V32QImode:
10887 : : if (pattern473 (x2,
10888 : : E_V32QImode,
10889 : : E_SImode) != 0
10890 : : || !(
10891 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10892 : : (TARGET_AVX512F) &&
10893 : : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10894 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
10895 : : return -1;
10896 : : return 9387; /* avx512vl_vpermt2varv32qi3_maskz_1 */
10897 : :
10898 : : case E_V16QImode:
10899 : : if (pattern473 (x2,
10900 : : E_V16QImode,
10901 : : E_HImode) != 0
10902 : : || !(
10903 : : #line 28367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10904 : : (TARGET_AVX512F) &&
10905 : : #line 28285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10906 : : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
10907 : : return -1;
10908 : : return 9389; /* avx512vl_vpermt2varv16qi3_maskz_1 */
10909 : :
10910 : : case E_V32HFmode:
10911 : : if (pattern1261 (x2,
10912 : : E_V32HFmode,
10913 : : E_SImode,
10914 : : E_V32HImode) != 0
10915 : : || !
10916 : : #line 28382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10917 : : (TARGET_AVX512BW))
10918 : : return -1;
10919 : : return 9391; /* avx512bw_vpermt2varv32hf3_maskz_1 */
10920 : :
10921 : : case E_V16HFmode:
10922 : : if (pattern1261 (x2,
10923 : : E_V16HFmode,
10924 : : E_HImode,
10925 : : E_V16HImode) != 0
10926 : : || !(
10927 : : #line 28382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10928 : : (TARGET_AVX512BW) &&
10929 : : #line 543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10930 : : (TARGET_AVX512VL)))
10931 : : return -1;
10932 : : return 9393; /* avx512vl_vpermt2varv16hf3_maskz_1 */
10933 : :
10934 : : case E_V8HFmode:
10935 : : if (pattern1261 (x2,
10936 : : E_V8HFmode,
10937 : : E_QImode,
10938 : : E_V8HImode) != 0
10939 : : || !(
10940 : : #line 28382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10941 : : (TARGET_AVX512BW) &&
10942 : : #line 543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10943 : : (TARGET_AVX512VL)))
10944 : : return -1;
10945 : : return 9395; /* avx512fp16_vpermt2varv8hf3_maskz_1 */
10946 : :
10947 : : case E_V32BFmode:
10948 : : if (pattern1261 (x2,
10949 : : E_V32BFmode,
10950 : : E_SImode,
10951 : : E_V32HImode) != 0
10952 : : || !
10953 : : #line 28382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10954 : : (TARGET_AVX512BW))
10955 : : return -1;
10956 : : return 9397; /* avx512bw_vpermt2varv32bf3_maskz_1 */
10957 : :
10958 : : case E_V16BFmode:
10959 : : if (pattern1261 (x2,
10960 : : E_V16BFmode,
10961 : : E_HImode,
10962 : : E_V16HImode) != 0
10963 : : || !(
10964 : : #line 28382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10965 : : (TARGET_AVX512BW) &&
10966 : : #line 544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10967 : : (TARGET_AVX512VL)))
10968 : : return -1;
10969 : : return 9399; /* avx512vl_vpermt2varv16bf3_maskz_1 */
10970 : :
10971 : : case E_V8BFmode:
10972 : : if (pattern1261 (x2,
10973 : : E_V8BFmode,
10974 : : E_QImode,
10975 : : E_V8HImode) != 0
10976 : : || !(
10977 : : #line 28382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10978 : : (TARGET_AVX512BW) &&
10979 : : #line 544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10980 : : (TARGET_AVX512VL)))
10981 : : return -1;
10982 : : return 9401; /* avx512vl_vpermt2varv8bf3_maskz_1 */
10983 : :
10984 : : default:
10985 : : return -1;
10986 : : }
10987 : :
10988 : : default:
10989 : : return -1;
10990 : : }
10991 : : }
10992 : :
10993 : : int
10994 : : recog_162 (rtx x1 ATTRIBUTE_UNUSED,
10995 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10996 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10997 : : {
10998 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10999 : : rtx x2, x3, x4;
11000 : : int res ATTRIBUTE_UNUSED;
11001 : : x2 = XEXP (x1, 1);
11002 : : x3 = XEXP (x2, 1);
11003 : : switch (GET_CODE (x3))
11004 : : {
11005 : : case CONST_INT:
11006 : : case CONST_DOUBLE:
11007 : : case CONST_VECTOR:
11008 : : operands[4] = x3;
11009 : : x4 = XEXP (x2, 2);
11010 : : switch (GET_CODE (x4))
11011 : : {
11012 : : case REG:
11013 : : case SUBREG:
11014 : : operands[5] = x4;
11015 : : switch (GET_MODE (operands[0]))
11016 : : {
11017 : : case E_V4SFmode:
11018 : : if (pattern1378 (x2,
11019 : : E_V4SFmode) != 0)
11020 : : return -1;
11021 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
11022 : : && nonimmediate_operand (operands[2], E_V4SFmode)
11023 : : && nonimmediate_operand (operands[3], E_V4SFmode)
11024 : : &&
11025 : : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11026 : : (TARGET_FMA || TARGET_FMA4))
11027 : : return 3974; /* *fma_fnmsub_v4sf */
11028 : : if (!bcst_vector_operand (operands[1], E_V4SFmode)
11029 : : || !bcst_vector_operand (operands[2], E_V4SFmode)
11030 : : || !bcst_vector_operand (operands[3], E_V4SFmode)
11031 : : || !(
11032 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11033 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11034 : : #line 5987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11035 : : (TARGET_AVX512VL)))
11036 : : return -1;
11037 : : return 4006; /* fma_fnmsub_v4sf_maskz_1 */
11038 : :
11039 : : case E_V2DFmode:
11040 : : if (pattern1378 (x2,
11041 : : E_V2DFmode) != 0)
11042 : : return -1;
11043 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
11044 : : && nonimmediate_operand (operands[2], E_V2DFmode)
11045 : : && nonimmediate_operand (operands[3], E_V2DFmode)
11046 : : &&
11047 : : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11048 : : (TARGET_FMA || TARGET_FMA4))
11049 : : return 3978; /* *fma_fnmsub_v2df */
11050 : : if (!bcst_vector_operand (operands[1], E_V2DFmode)
11051 : : || !bcst_vector_operand (operands[2], E_V2DFmode)
11052 : : || !bcst_vector_operand (operands[3], E_V2DFmode)
11053 : : || !(
11054 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11055 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11056 : : #line 5988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11057 : : (TARGET_AVX512VL)))
11058 : : return -1;
11059 : : return 4015; /* fma_fnmsub_v2df_maskz_1 */
11060 : :
11061 : : case E_V8SFmode:
11062 : : if (pattern1378 (x2,
11063 : : E_V8SFmode) != 0)
11064 : : return -1;
11065 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
11066 : : && nonimmediate_operand (operands[2], E_V8SFmode)
11067 : : && nonimmediate_operand (operands[3], E_V8SFmode)
11068 : : &&
11069 : : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11070 : : (TARGET_FMA || TARGET_FMA4))
11071 : : return 3982; /* *fma_fnmsub_v8sf */
11072 : : if (!bcst_vector_operand (operands[1], E_V8SFmode)
11073 : : || !bcst_vector_operand (operands[2], E_V8SFmode)
11074 : : || !bcst_vector_operand (operands[3], E_V8SFmode)
11075 : : || !(
11076 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11077 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11078 : : #line 5987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11079 : : (TARGET_AVX512VL)))
11080 : : return -1;
11081 : : return 4004; /* fma_fnmsub_v8sf_maskz_1 */
11082 : :
11083 : : case E_V4DFmode:
11084 : : if (pattern1378 (x2,
11085 : : E_V4DFmode) != 0)
11086 : : return -1;
11087 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
11088 : : && nonimmediate_operand (operands[2], E_V4DFmode)
11089 : : && nonimmediate_operand (operands[3], E_V4DFmode)
11090 : : &&
11091 : : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11092 : : (TARGET_FMA || TARGET_FMA4))
11093 : : return 3986; /* *fma_fnmsub_v4df */
11094 : : if (!bcst_vector_operand (operands[1], E_V4DFmode)
11095 : : || !bcst_vector_operand (operands[2], E_V4DFmode)
11096 : : || !bcst_vector_operand (operands[3], E_V4DFmode)
11097 : : || !(
11098 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11099 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11100 : : #line 5988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11101 : : (TARGET_AVX512VL)))
11102 : : return -1;
11103 : : return 4013; /* fma_fnmsub_v4df_maskz_1 */
11104 : :
11105 : : case E_V32HFmode:
11106 : : if (pattern1379 (x2,
11107 : : E_SImode,
11108 : : E_V32HFmode) != 0
11109 : : || !(
11110 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11111 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11112 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11113 : : (TARGET_AVX512FP16)))
11114 : : return -1;
11115 : : return 3990; /* fma_fnmsub_v32hf_maskz_1 */
11116 : :
11117 : : case E_V16HFmode:
11118 : : if (pattern1379 (x2,
11119 : : E_HImode,
11120 : : E_V16HFmode) != 0
11121 : : || !(
11122 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11123 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11124 : : #line 5984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11125 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11126 : : return -1;
11127 : : return 3994; /* fma_fnmsub_v16hf_maskz_1 */
11128 : :
11129 : : case E_V8HFmode:
11130 : : if (pattern1379 (x2,
11131 : : E_QImode,
11132 : : E_V8HFmode) != 0
11133 : : || !(
11134 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11135 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11136 : : #line 5985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11137 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11138 : : return -1;
11139 : : return 3996; /* fma_fnmsub_v8hf_maskz_1 */
11140 : :
11141 : : case E_V16SFmode:
11142 : : if (pattern1379 (x2,
11143 : : E_HImode,
11144 : : E_V16SFmode) != 0
11145 : : || !
11146 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11147 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11148 : : return -1;
11149 : : return 4000; /* fma_fnmsub_v16sf_maskz_1 */
11150 : :
11151 : : case E_V8DFmode:
11152 : : if (pattern1379 (x2,
11153 : : E_QImode,
11154 : : E_V8DFmode) != 0
11155 : : || !
11156 : : #line 6313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11157 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11158 : : return -1;
11159 : : return 4009; /* fma_fnmsub_v8df_maskz_1 */
11160 : :
11161 : : case E_V32BFmode:
11162 : : if (pattern1380 (x2,
11163 : : E_SImode,
11164 : : E_V32BFmode) != 0
11165 : : || !
11166 : : #line 32488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11167 : : (TARGET_AVX10_2))
11168 : : return -1;
11169 : : return 10637; /* avx10_2_fnmsubbf16_v32bf_maskz_1 */
11170 : :
11171 : : case E_V16BFmode:
11172 : : if (pattern1380 (x2,
11173 : : E_HImode,
11174 : : E_V16BFmode) != 0
11175 : : || !
11176 : : #line 32488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11177 : : (TARGET_AVX10_2))
11178 : : return -1;
11179 : : return 10639; /* avx10_2_fnmsubbf16_v16bf_maskz_1 */
11180 : :
11181 : : case E_V8BFmode:
11182 : : if (pattern1380 (x2,
11183 : : E_QImode,
11184 : : E_V8BFmode) != 0
11185 : : || !
11186 : : #line 32488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11187 : : (TARGET_AVX10_2))
11188 : : return -1;
11189 : : return 10641; /* avx10_2_fnmsubbf16_v8bf_maskz_1 */
11190 : :
11191 : : default:
11192 : : return -1;
11193 : : }
11194 : :
11195 : : case CONST_INT:
11196 : : if (XWINT (x4, 0) != 1L)
11197 : : return -1;
11198 : : switch (GET_MODE (operands[0]))
11199 : : {
11200 : : case E_V4SFmode:
11201 : : if (pattern1381 (x2,
11202 : : E_V4SFmode) != 0
11203 : : || !
11204 : : #line 7058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11205 : : (TARGET_FMA4))
11206 : : return -1;
11207 : : return 4276; /* *fma4i_vmfnmsub_v4sf */
11208 : :
11209 : : case E_V2DFmode:
11210 : : if (pattern1381 (x2,
11211 : : E_V2DFmode) != 0
11212 : : || !(
11213 : : #line 7058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11214 : : (TARGET_FMA4) &&
11215 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11216 : : (TARGET_SSE2)))
11217 : : return -1;
11218 : : return 4277; /* *fma4i_vmfnmsub_v2df */
11219 : :
11220 : : default:
11221 : : return -1;
11222 : : }
11223 : :
11224 : : default:
11225 : : return -1;
11226 : : }
11227 : :
11228 : : case REG:
11229 : : case SUBREG:
11230 : : case MEM:
11231 : : switch (pattern625 (x2))
11232 : : {
11233 : : case 0:
11234 : : if (pattern1281 (x2,
11235 : : E_V32HFmode,
11236 : : E_SImode) != 0)
11237 : : return -1;
11238 : : if (nonimmediate_operand (operands[1], E_V32HFmode)
11239 : : && vector_operand (operands[3], E_V32HFmode)
11240 : : && rtx_equal_p (x3, operands[1])
11241 : : && (
11242 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11243 : : (TARGET_AVX512F && 1) &&
11244 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11245 : : (TARGET_AVX512FP16)))
11246 : : return 4016; /* avx512bw_fnmsub_v32hf_mask */
11247 : : if (!vector_operand (operands[1], E_V32HFmode)
11248 : : || !nonimmediate_operand (operands[3], E_V32HFmode)
11249 : : || !rtx_equal_p (x3, operands[3])
11250 : : || !(
11251 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11252 : : (TARGET_AVX512F) &&
11253 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11254 : : (TARGET_AVX512FP16)))
11255 : : return -1;
11256 : : return 4028; /* avx512bw_fnmsub_v32hf_mask3 */
11257 : :
11258 : : case 1:
11259 : : if (pattern1281 (x2,
11260 : : E_V16HFmode,
11261 : : E_HImode) != 0)
11262 : : return -1;
11263 : : if (nonimmediate_operand (operands[1], E_V16HFmode)
11264 : : && vector_operand (operands[3], E_V16HFmode)
11265 : : && rtx_equal_p (x3, operands[1])
11266 : : && (
11267 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11268 : : (TARGET_AVX512F && 1) &&
11269 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11270 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11271 : : return 4018; /* avx512vl_fnmsub_v16hf_mask */
11272 : : if (!vector_operand (operands[1], E_V16HFmode)
11273 : : || !nonimmediate_operand (operands[3], E_V16HFmode)
11274 : : || !rtx_equal_p (x3, operands[3])
11275 : : || !(
11276 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11277 : : (TARGET_AVX512F) &&
11278 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11279 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11280 : : return -1;
11281 : : return 4030; /* avx512vl_fnmsub_v16hf_mask3 */
11282 : :
11283 : : case 2:
11284 : : if (pattern1281 (x2,
11285 : : E_V8HFmode,
11286 : : E_QImode) != 0)
11287 : : return -1;
11288 : : if (nonimmediate_operand (operands[1], E_V8HFmode)
11289 : : && vector_operand (operands[3], E_V8HFmode)
11290 : : && rtx_equal_p (x3, operands[1])
11291 : : && (
11292 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11293 : : (TARGET_AVX512F && 1) &&
11294 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11295 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11296 : : return 4019; /* avx512fp16_fnmsub_v8hf_mask */
11297 : : if (!vector_operand (operands[1], E_V8HFmode)
11298 : : || !nonimmediate_operand (operands[3], E_V8HFmode)
11299 : : || !rtx_equal_p (x3, operands[3])
11300 : : || !(
11301 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11302 : : (TARGET_AVX512F) &&
11303 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11304 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11305 : : return -1;
11306 : : return 4032; /* avx512fp16_fnmsub_v8hf_mask3 */
11307 : :
11308 : : case 3:
11309 : : if (pattern1281 (x2,
11310 : : E_V16SFmode,
11311 : : E_HImode) != 0)
11312 : : return -1;
11313 : : if (nonimmediate_operand (operands[1], E_V16SFmode)
11314 : : && vector_operand (operands[3], E_V16SFmode)
11315 : : && rtx_equal_p (x3, operands[1])
11316 : : &&
11317 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11318 : : (TARGET_AVX512F && 1))
11319 : : return 4020; /* avx512f_fnmsub_v16sf_mask */
11320 : : if (!vector_operand (operands[1], E_V16SFmode)
11321 : : || !nonimmediate_operand (operands[3], E_V16SFmode)
11322 : : || !rtx_equal_p (x3, operands[3])
11323 : : || !
11324 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11325 : : (TARGET_AVX512F))
11326 : : return -1;
11327 : : return 4034; /* avx512f_fnmsub_v16sf_mask3 */
11328 : :
11329 : : case 4:
11330 : : if (pattern1281 (x2,
11331 : : E_V8SFmode,
11332 : : E_QImode) != 0)
11333 : : return -1;
11334 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
11335 : : && vector_operand (operands[3], E_V8SFmode)
11336 : : && rtx_equal_p (x3, operands[1])
11337 : : && (
11338 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11339 : : (TARGET_AVX512F && 1) &&
11340 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11341 : : (TARGET_AVX512VL)))
11342 : : return 4022; /* avx512vl_fnmsub_v8sf_mask */
11343 : : if (!vector_operand (operands[1], E_V8SFmode)
11344 : : || !nonimmediate_operand (operands[3], E_V8SFmode)
11345 : : || !rtx_equal_p (x3, operands[3])
11346 : : || !(
11347 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11348 : : (TARGET_AVX512F) &&
11349 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11350 : : (TARGET_AVX512VL)))
11351 : : return -1;
11352 : : return 4036; /* avx512vl_fnmsub_v8sf_mask3 */
11353 : :
11354 : : case 5:
11355 : : if (pattern1281 (x2,
11356 : : E_V4SFmode,
11357 : : E_QImode) != 0)
11358 : : return -1;
11359 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
11360 : : && vector_operand (operands[3], E_V4SFmode)
11361 : : && rtx_equal_p (x3, operands[1])
11362 : : && (
11363 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11364 : : (TARGET_AVX512F && 1) &&
11365 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11366 : : (TARGET_AVX512VL)))
11367 : : return 4023; /* avx512vl_fnmsub_v4sf_mask */
11368 : : if (!vector_operand (operands[1], E_V4SFmode)
11369 : : || !nonimmediate_operand (operands[3], E_V4SFmode)
11370 : : || !rtx_equal_p (x3, operands[3])
11371 : : || !(
11372 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11373 : : (TARGET_AVX512F) &&
11374 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11375 : : (TARGET_AVX512VL)))
11376 : : return -1;
11377 : : return 4038; /* avx512vl_fnmsub_v4sf_mask3 */
11378 : :
11379 : : case 6:
11380 : : if (pattern1281 (x2,
11381 : : E_V8DFmode,
11382 : : E_QImode) != 0)
11383 : : return -1;
11384 : : if (nonimmediate_operand (operands[1], E_V8DFmode)
11385 : : && vector_operand (operands[3], E_V8DFmode)
11386 : : && rtx_equal_p (x3, operands[1])
11387 : : &&
11388 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11389 : : (TARGET_AVX512F && 1))
11390 : : return 4024; /* avx512f_fnmsub_v8df_mask */
11391 : : if (!vector_operand (operands[1], E_V8DFmode)
11392 : : || !nonimmediate_operand (operands[3], E_V8DFmode)
11393 : : || !rtx_equal_p (x3, operands[3])
11394 : : || !
11395 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11396 : : (TARGET_AVX512F))
11397 : : return -1;
11398 : : return 4040; /* avx512f_fnmsub_v8df_mask3 */
11399 : :
11400 : : case 7:
11401 : : if (pattern1281 (x2,
11402 : : E_V4DFmode,
11403 : : E_QImode) != 0)
11404 : : return -1;
11405 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
11406 : : && vector_operand (operands[3], E_V4DFmode)
11407 : : && rtx_equal_p (x3, operands[1])
11408 : : && (
11409 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11410 : : (TARGET_AVX512F && 1) &&
11411 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11412 : : (TARGET_AVX512VL)))
11413 : : return 4026; /* avx512vl_fnmsub_v4df_mask */
11414 : : if (!vector_operand (operands[1], E_V4DFmode)
11415 : : || !nonimmediate_operand (operands[3], E_V4DFmode)
11416 : : || !rtx_equal_p (x3, operands[3])
11417 : : || !(
11418 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11419 : : (TARGET_AVX512F) &&
11420 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11421 : : (TARGET_AVX512VL)))
11422 : : return -1;
11423 : : return 4042; /* avx512vl_fnmsub_v4df_mask3 */
11424 : :
11425 : : case 8:
11426 : : if (pattern1281 (x2,
11427 : : E_V2DFmode,
11428 : : E_QImode) != 0)
11429 : : return -1;
11430 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
11431 : : && vector_operand (operands[3], E_V2DFmode)
11432 : : && rtx_equal_p (x3, operands[1])
11433 : : && (
11434 : : #line 6358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11435 : : (TARGET_AVX512F && 1) &&
11436 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11437 : : (TARGET_AVX512VL)))
11438 : : return 4027; /* avx512vl_fnmsub_v2df_mask */
11439 : : if (!vector_operand (operands[1], E_V2DFmode)
11440 : : || !nonimmediate_operand (operands[3], E_V2DFmode)
11441 : : || !rtx_equal_p (x3, operands[3])
11442 : : || !(
11443 : : #line 6377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : : (TARGET_AVX512F) &&
11445 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11446 : : (TARGET_AVX512VL)))
11447 : : return -1;
11448 : : return 4044; /* avx512vl_fnmsub_v2df_mask3 */
11449 : :
11450 : : case 9:
11451 : : if (pattern1282 (x2,
11452 : : E_SImode,
11453 : : E_V32BFmode) != 0)
11454 : : return -1;
11455 : : if (rtx_equal_p (x3, operands[1])
11456 : : &&
11457 : : #line 32508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11458 : : (TARGET_AVX10_2))
11459 : : return 10642; /* avx10_2_fnmsubbf16_v32bf_mask */
11460 : : if (!rtx_equal_p (x3, operands[3])
11461 : : || !
11462 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11463 : : (TARGET_AVX10_2))
11464 : : return -1;
11465 : : return 10645; /* avx10_2_fnmsubbf16_v32bf_mask3 */
11466 : :
11467 : : case 10:
11468 : : if (pattern1282 (x2,
11469 : : E_HImode,
11470 : : E_V16BFmode) != 0)
11471 : : return -1;
11472 : : if (rtx_equal_p (x3, operands[1])
11473 : : &&
11474 : : #line 32508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11475 : : (TARGET_AVX10_2))
11476 : : return 10643; /* avx10_2_fnmsubbf16_v16bf_mask */
11477 : : if (!rtx_equal_p (x3, operands[3])
11478 : : || !
11479 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11480 : : (TARGET_AVX10_2))
11481 : : return -1;
11482 : : return 10646; /* avx10_2_fnmsubbf16_v16bf_mask3 */
11483 : :
11484 : : case 11:
11485 : : if (pattern1282 (x2,
11486 : : E_QImode,
11487 : : E_V8BFmode) != 0)
11488 : : return -1;
11489 : : if (rtx_equal_p (x3, operands[1])
11490 : : &&
11491 : : #line 32508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11492 : : (TARGET_AVX10_2))
11493 : : return 10644; /* avx10_2_fnmsubbf16_v8bf_mask */
11494 : : if (!rtx_equal_p (x3, operands[3])
11495 : : || !
11496 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11497 : : (TARGET_AVX10_2))
11498 : : return -1;
11499 : : return 10647; /* avx10_2_fnmsubbf16_v8bf_mask3 */
11500 : :
11501 : : case 12:
11502 : : if (pattern1382 (x2,
11503 : : E_V8HFmode) != 0
11504 : : || !(
11505 : : #line 6705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11506 : : (TARGET_FMA || TARGET_AVX512F) &&
11507 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11508 : : (TARGET_AVX512FP16)))
11509 : : return -1;
11510 : : return 4192; /* *fmai_fnmsub_v8hf */
11511 : :
11512 : : case 13:
11513 : : if (pattern1382 (x2,
11514 : : E_V4SFmode) != 0
11515 : : || !
11516 : : #line 6705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11517 : : (TARGET_FMA || TARGET_AVX512F))
11518 : : return -1;
11519 : : return 4194; /* *fmai_fnmsub_v4sf */
11520 : :
11521 : : case 14:
11522 : : if (pattern1382 (x2,
11523 : : E_V2DFmode) != 0
11524 : : || !(
11525 : : #line 6705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11526 : : (TARGET_FMA || TARGET_AVX512F) &&
11527 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11528 : : (TARGET_SSE2)))
11529 : : return -1;
11530 : : return 4196; /* *fmai_fnmsub_v2df */
11531 : :
11532 : : default:
11533 : : return -1;
11534 : : }
11535 : :
11536 : : default:
11537 : : return -1;
11538 : : }
11539 : : }
11540 : :
11541 : : int
11542 : : recog_169 (rtx x1 ATTRIBUTE_UNUSED,
11543 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11544 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11545 : : {
11546 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11547 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
11548 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
11549 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
11550 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
11551 : : rtx x34, x35, x36, x37, x38, x39, x40, x41;
11552 : : int res ATTRIBUTE_UNUSED;
11553 : : x2 = XEXP (x1, 1);
11554 : : x3 = XEXP (x2, 0);
11555 : : x4 = XEXP (x3, 0);
11556 : : x5 = XEXP (x4, 0);
11557 : : operands[1] = x5;
11558 : : x6 = XEXP (x3, 1);
11559 : : switch (XVECLEN (x6, 0))
11560 : : {
11561 : : case 16:
11562 : : x7 = XVECEXP (x6, 0, 0);
11563 : : if (GET_CODE (x7) != CONST_INT)
11564 : : return -1;
11565 : : x8 = XVECEXP (x6, 0, 1);
11566 : : if (GET_CODE (x8) == CONST_INT)
11567 : : {
11568 : : res = recog_164 (x1, insn, pnum_clobbers);
11569 : : if (res >= 0)
11570 : : return res;
11571 : : }
11572 : : operands[3] = x7;
11573 : : x9 = XEXP (x4, 1);
11574 : : operands[2] = x9;
11575 : : operands[4] = x8;
11576 : : x10 = XVECEXP (x6, 0, 2);
11577 : : operands[5] = x10;
11578 : : x11 = XVECEXP (x6, 0, 3);
11579 : : operands[6] = x11;
11580 : : x12 = XVECEXP (x6, 0, 4);
11581 : : operands[7] = x12;
11582 : : x13 = XVECEXP (x6, 0, 5);
11583 : : operands[8] = x13;
11584 : : x14 = XVECEXP (x6, 0, 6);
11585 : : operands[9] = x14;
11586 : : x15 = XVECEXP (x6, 0, 7);
11587 : : operands[10] = x15;
11588 : : x16 = XVECEXP (x6, 0, 8);
11589 : : operands[11] = x16;
11590 : : x17 = XVECEXP (x6, 0, 9);
11591 : : operands[12] = x17;
11592 : : x18 = XVECEXP (x6, 0, 10);
11593 : : operands[13] = x18;
11594 : : x19 = XVECEXP (x6, 0, 11);
11595 : : operands[14] = x19;
11596 : : x20 = XVECEXP (x6, 0, 12);
11597 : : operands[15] = x20;
11598 : : x21 = XVECEXP (x6, 0, 13);
11599 : : operands[16] = x21;
11600 : : x22 = XVECEXP (x6, 0, 14);
11601 : : operands[17] = x22;
11602 : : x23 = XVECEXP (x6, 0, 15);
11603 : : operands[18] = x23;
11604 : : x24 = XEXP (x2, 1);
11605 : : operands[19] = x24;
11606 : : x25 = XEXP (x2, 2);
11607 : : operands[20] = x25;
11608 : : if (!register_operand (operands[20], E_HImode))
11609 : : return -1;
11610 : : switch (GET_MODE (operands[0]))
11611 : : {
11612 : : case E_V16SFmode:
11613 : : if (pattern1635 (x2,
11614 : : E_V16SFmode,
11615 : : E_V32SFmode) != 0
11616 : : || !nonimm_or_0_operand (operands[19], E_V16SFmode))
11617 : : return -1;
11618 : : if (const_0_to_3_operand (operands[3], E_VOIDmode)
11619 : : && const_0_to_3_operand (operands[4], E_VOIDmode)
11620 : : && const_16_to_19_operand (operands[5], E_VOIDmode)
11621 : : && const_16_to_19_operand (operands[6], E_VOIDmode)
11622 : : && const_4_to_7_operand (operands[7], E_VOIDmode)
11623 : : && const_4_to_7_operand (operands[8], E_VOIDmode)
11624 : : && const_20_to_23_operand (operands[9], E_VOIDmode)
11625 : : && const_20_to_23_operand (operands[10], E_VOIDmode)
11626 : : && const_8_to_11_operand (operands[11], E_VOIDmode)
11627 : : && const_8_to_11_operand (operands[12], E_VOIDmode)
11628 : : && const_24_to_27_operand (operands[13], E_VOIDmode)
11629 : : && const_24_to_27_operand (operands[14], E_VOIDmode)
11630 : : && const_12_to_15_operand (operands[15], E_VOIDmode)
11631 : : && const_12_to_15_operand (operands[16], E_VOIDmode)
11632 : : && const_28_to_31_operand (operands[17], E_VOIDmode)
11633 : : && const_28_to_31_operand (operands[18], E_VOIDmode)
11634 : : && (
11635 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11636 : : (TARGET_AVX512F) &&
11637 : : #line 14316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11638 : : (TARGET_AVX512F
11639 : : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
11640 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
11641 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
11642 : : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)
11643 : : && INTVAL (operands[3]) == (INTVAL (operands[11]) - 8)
11644 : : && INTVAL (operands[4]) == (INTVAL (operands[12]) - 8)
11645 : : && INTVAL (operands[5]) == (INTVAL (operands[13]) - 8)
11646 : : && INTVAL (operands[6]) == (INTVAL (operands[14]) - 8)
11647 : : && INTVAL (operands[3]) == (INTVAL (operands[15]) - 12)
11648 : : && INTVAL (operands[4]) == (INTVAL (operands[16]) - 12)
11649 : : && INTVAL (operands[5]) == (INTVAL (operands[17]) - 12)
11650 : : && INTVAL (operands[6]) == (INTVAL (operands[18]) - 12)))))
11651 : : return 7143; /* avx512f_shufps512_1_mask */
11652 : : if (!const_0_to_15_operand (operands[3], E_VOIDmode)
11653 : : || pattern1864 () != 0
11654 : : || !(
11655 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11656 : : (TARGET_AVX512F) &&
11657 : : #line 20442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11658 : : (TARGET_AVX512F
11659 : : && (INTVAL (operands[3]) & 3) == 0
11660 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
11661 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
11662 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
11663 : : && (INTVAL (operands[7]) & 3) == 0
11664 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
11665 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
11666 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
11667 : : && (INTVAL (operands[11]) & 3) == 0
11668 : : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
11669 : : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
11670 : : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
11671 : : && (INTVAL (operands[15]) & 3) == 0
11672 : : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
11673 : : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
11674 : : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3)))
11675 : : return -1;
11676 : : return 8383; /* avx512f_shuf_f32x4_1_mask */
11677 : :
11678 : : case E_V16SImode:
11679 : : if (pattern1635 (x2,
11680 : : E_V16SImode,
11681 : : E_V32SImode) != 0
11682 : : || !const_0_to_15_operand (operands[3], E_VOIDmode)
11683 : : || pattern1864 () != 0
11684 : : || !nonimm_or_0_operand (operands[19], E_V16SImode)
11685 : : || !(
11686 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11687 : : (TARGET_AVX512F) &&
11688 : : #line 20442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11689 : : (TARGET_AVX512F
11690 : : && (INTVAL (operands[3]) & 3) == 0
11691 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
11692 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
11693 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
11694 : : && (INTVAL (operands[7]) & 3) == 0
11695 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
11696 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
11697 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
11698 : : && (INTVAL (operands[11]) & 3) == 0
11699 : : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
11700 : : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
11701 : : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
11702 : : && (INTVAL (operands[15]) & 3) == 0
11703 : : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
11704 : : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
11705 : : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3)))
11706 : : return -1;
11707 : : return 8385; /* avx512f_shuf_i32x4_1_mask */
11708 : :
11709 : : default:
11710 : : return -1;
11711 : : }
11712 : :
11713 : : case 8:
11714 : : x7 = XVECEXP (x6, 0, 0);
11715 : : if (GET_CODE (x7) != CONST_INT)
11716 : : return -1;
11717 : : x8 = XVECEXP (x6, 0, 1);
11718 : : if (GET_CODE (x8) == CONST_INT)
11719 : : {
11720 : : res = recog_165 (x1, insn, pnum_clobbers);
11721 : : if (res >= 0)
11722 : : return res;
11723 : : }
11724 : : operands[3] = x7;
11725 : : x9 = XEXP (x4, 1);
11726 : : operands[2] = x9;
11727 : : operands[4] = x8;
11728 : : x10 = XVECEXP (x6, 0, 2);
11729 : : operands[5] = x10;
11730 : : x11 = XVECEXP (x6, 0, 3);
11731 : : operands[6] = x11;
11732 : : x12 = XVECEXP (x6, 0, 4);
11733 : : operands[7] = x12;
11734 : : x13 = XVECEXP (x6, 0, 5);
11735 : : operands[8] = x13;
11736 : : x14 = XVECEXP (x6, 0, 6);
11737 : : operands[9] = x14;
11738 : : x15 = XVECEXP (x6, 0, 7);
11739 : : operands[10] = x15;
11740 : : x24 = XEXP (x2, 1);
11741 : : operands[11] = x24;
11742 : : x25 = XEXP (x2, 2);
11743 : : operands[12] = x25;
11744 : : if (!register_operand (operands[12], E_QImode))
11745 : : return -1;
11746 : : switch (GET_MODE (operands[0]))
11747 : : {
11748 : : case E_V8SFmode:
11749 : : if (pattern1748 (x2,
11750 : : E_V8SFmode,
11751 : : E_V16SFmode) != 0)
11752 : : return -1;
11753 : : if (const_0_to_3_operand (operands[3], E_VOIDmode)
11754 : : && const_0_to_3_operand (operands[4], E_VOIDmode)
11755 : : && const_8_to_11_operand (operands[5], E_VOIDmode)
11756 : : && const_8_to_11_operand (operands[6], E_VOIDmode)
11757 : : && const_4_to_7_operand (operands[7], E_VOIDmode)
11758 : : && const_4_to_7_operand (operands[8], E_VOIDmode)
11759 : : && const_12_to_15_operand (operands[9], E_VOIDmode)
11760 : : && const_12_to_15_operand (operands[10], E_VOIDmode)
11761 : : && (
11762 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11763 : : (TARGET_AVX512F) &&
11764 : : #line 11513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11765 : : (TARGET_AVX
11766 : : && TARGET_AVX512VL
11767 : : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
11768 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
11769 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
11770 : : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)))))
11771 : : return 5201; /* avx_shufps256_1_mask */
11772 : : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
11773 : : || pattern1839 () != 0
11774 : : || !(
11775 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11776 : : (TARGET_AVX512F) &&
11777 : : #line 20362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11778 : : (TARGET_AVX512VL
11779 : : && (INTVAL (operands[3]) & 3) == 0
11780 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
11781 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
11782 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
11783 : : && (INTVAL (operands[7]) & 3) == 0
11784 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
11785 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
11786 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3)))
11787 : : return -1;
11788 : : return 8381; /* avx512vl_shuf_f32x4_1_mask */
11789 : :
11790 : : case E_V8DFmode:
11791 : : if (pattern1748 (x2,
11792 : : E_V8DFmode,
11793 : : E_V16DFmode) != 0)
11794 : : return -1;
11795 : : if (const_0_to_1_operand (operands[3], E_VOIDmode)
11796 : : && const_8_to_9_operand (operands[4], E_VOIDmode)
11797 : : && const_2_to_3_operand (operands[5], E_VOIDmode)
11798 : : && const_10_to_11_operand (operands[6], E_VOIDmode)
11799 : : && const_4_to_5_operand (operands[7], E_VOIDmode)
11800 : : && const_12_to_13_operand (operands[8], E_VOIDmode)
11801 : : && const_6_to_7_operand (operands[9], E_VOIDmode)
11802 : : && const_14_to_15_operand (operands[10], E_VOIDmode)
11803 : : &&
11804 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11805 : : (TARGET_AVX512F))
11806 : : return 7145; /* avx512f_shufpd512_1_mask */
11807 : : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
11808 : : || pattern1839 () != 0
11809 : : || !(
11810 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11811 : : (TARGET_AVX512F) &&
11812 : : #line 20264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11813 : : (TARGET_AVX512F
11814 : : && (INTVAL (operands[3]) & 1) == 0
11815 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
11816 : : && (INTVAL (operands[5]) & 1) == 0
11817 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
11818 : : && (INTVAL (operands[7]) & 1) == 0
11819 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
11820 : : && (INTVAL (operands[9]) & 1) == 0
11821 : : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1)))
11822 : : return -1;
11823 : : return 8371; /* avx512f_shuf_f64x2_1_mask */
11824 : :
11825 : : case E_V8DImode:
11826 : : if (pattern1749 (x2,
11827 : : E_V8DImode,
11828 : : E_V16DImode) != 0
11829 : : || !(
11830 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11831 : : (TARGET_AVX512F) &&
11832 : : #line 20264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11833 : : (TARGET_AVX512F
11834 : : && (INTVAL (operands[3]) & 1) == 0
11835 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
11836 : : && (INTVAL (operands[5]) & 1) == 0
11837 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
11838 : : && (INTVAL (operands[7]) & 1) == 0
11839 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
11840 : : && (INTVAL (operands[9]) & 1) == 0
11841 : : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1)))
11842 : : return -1;
11843 : : return 8373; /* avx512f_shuf_i64x2_1_mask */
11844 : :
11845 : : case E_V8SImode:
11846 : : if (pattern1749 (x2,
11847 : : E_V8SImode,
11848 : : E_V16SImode) != 0
11849 : : || !(
11850 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11851 : : (TARGET_AVX512F) &&
11852 : : #line 20362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11853 : : (TARGET_AVX512VL
11854 : : && (INTVAL (operands[3]) & 3) == 0
11855 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
11856 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
11857 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
11858 : : && (INTVAL (operands[7]) & 3) == 0
11859 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
11860 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
11861 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3)))
11862 : : return -1;
11863 : : return 8379; /* avx512vl_shuf_i32x4_1_mask */
11864 : :
11865 : : default:
11866 : : return -1;
11867 : : }
11868 : :
11869 : : case 4:
11870 : : x7 = XVECEXP (x6, 0, 0);
11871 : : if (GET_CODE (x7) != CONST_INT)
11872 : : return -1;
11873 : : x8 = XVECEXP (x6, 0, 1);
11874 : : if (GET_CODE (x8) == CONST_INT)
11875 : : {
11876 : : res = recog_166 (x1, insn, pnum_clobbers);
11877 : : if (res >= 0)
11878 : : return res;
11879 : : }
11880 : : operands[3] = x7;
11881 : : x9 = XEXP (x4, 1);
11882 : : operands[2] = x9;
11883 : : operands[4] = x8;
11884 : : x10 = XVECEXP (x6, 0, 2);
11885 : : operands[5] = x10;
11886 : : x11 = XVECEXP (x6, 0, 3);
11887 : : operands[6] = x11;
11888 : : x24 = XEXP (x2, 1);
11889 : : operands[7] = x24;
11890 : : x25 = XEXP (x2, 2);
11891 : : operands[8] = x25;
11892 : : if (!register_operand (operands[8], E_QImode))
11893 : : return -1;
11894 : : switch (GET_MODE (operands[0]))
11895 : : {
11896 : : case E_V4SFmode:
11897 : : if (pattern1634 (x2,
11898 : : E_V4SFmode,
11899 : : E_V8SFmode) != 0
11900 : : || !
11901 : : #line 11566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11902 : : (TARGET_AVX512VL))
11903 : : return -1;
11904 : : return 5202; /* sse_shufps_v4sf_mask */
11905 : :
11906 : : case E_V4DFmode:
11907 : : if (pattern1635 (x2,
11908 : : E_V4DFmode,
11909 : : E_V8DFmode) != 0
11910 : : || !nonimm_or_0_operand (operands[7], E_V4DFmode))
11911 : : return -1;
11912 : : if (const_0_to_1_operand (operands[3], E_VOIDmode)
11913 : : && const_4_to_5_operand (operands[4], E_VOIDmode)
11914 : : && const_2_to_3_operand (operands[5], E_VOIDmode)
11915 : : && const_6_to_7_operand (operands[6], E_VOIDmode)
11916 : : && (
11917 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11918 : : (TARGET_AVX512F) &&
11919 : : #line 14430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11920 : : (TARGET_AVX && TARGET_AVX512VL)))
11921 : : return 7147; /* avx_shufpd256_1_mask */
11922 : : if (!const_0_to_3_operand (operands[3], E_VOIDmode)
11923 : : || !const_0_to_3_operand (operands[4], E_VOIDmode)
11924 : : || !const_4_to_7_operand (operands[5], E_VOIDmode)
11925 : : || !const_4_to_7_operand (operands[6], E_VOIDmode)
11926 : : || !(
11927 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11928 : : (TARGET_AVX512F) &&
11929 : : #line 20206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11930 : : (TARGET_AVX512VL
11931 : : && (INTVAL (operands[3]) & 1) == 0
11932 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
11933 : : && (INTVAL (operands[5]) & 1) == 0
11934 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1)))
11935 : : return -1;
11936 : : return 8369; /* avx512dq_shuf_f64x2_1_mask */
11937 : :
11938 : : case E_V4DImode:
11939 : : if (pattern1634 (x2,
11940 : : E_V4DImode,
11941 : : E_V8DImode) != 0
11942 : : || !(
11943 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11944 : : (TARGET_AVX512F) &&
11945 : : #line 20206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11946 : : (TARGET_AVX512VL
11947 : : && (INTVAL (operands[3]) & 1) == 0
11948 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
11949 : : && (INTVAL (operands[5]) & 1) == 0
11950 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1)))
11951 : : return -1;
11952 : : return 8367; /* avx512dq_shuf_i64x2_1_mask */
11953 : :
11954 : : default:
11955 : : return -1;
11956 : : }
11957 : :
11958 : : case 2:
11959 : : x7 = XVECEXP (x6, 0, 0);
11960 : : if (GET_CODE (x7) != CONST_INT)
11961 : : return -1;
11962 : : x8 = XVECEXP (x6, 0, 1);
11963 : : if (GET_CODE (x8) == CONST_INT)
11964 : : {
11965 : : res = recog_167 (x1, insn, pnum_clobbers);
11966 : : if (res >= 0)
11967 : : return res;
11968 : : }
11969 : : operands[3] = x7;
11970 : : if (!const_0_to_1_operand (operands[3], E_VOIDmode)
11971 : : || pattern1204 (x2,
11972 : : E_V2DFmode,
11973 : : E_V4DFmode) != 0)
11974 : : return -1;
11975 : : operands[4] = x8;
11976 : : if (!const_2_to_3_operand (operands[4], E_VOIDmode))
11977 : : return -1;
11978 : : x24 = XEXP (x2, 1);
11979 : : operands[5] = x24;
11980 : : if (!nonimm_or_0_operand (operands[5], E_V2DFmode))
11981 : : return -1;
11982 : : x25 = XEXP (x2, 2);
11983 : : operands[6] = x25;
11984 : : if (!register_operand (operands[6], E_QImode)
11985 : : || !
11986 : : #line 14472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11987 : : (TARGET_AVX512VL))
11988 : : return -1;
11989 : : return 7148; /* sse2_shufpd_v2df_mask */
11990 : :
11991 : : case 64:
11992 : : return recog_168 (x1, insn, pnum_clobbers);
11993 : :
11994 : : case 32:
11995 : : if (pattern880 (x6) != 0)
11996 : : return -1;
11997 : : x9 = XEXP (x4, 1);
11998 : : operands[2] = x9;
11999 : : x24 = XEXP (x2, 1);
12000 : : operands[3] = x24;
12001 : : x25 = XEXP (x2, 2);
12002 : : operands[4] = x25;
12003 : : if (!register_operand (operands[4], E_SImode))
12004 : : return -1;
12005 : : x7 = XVECEXP (x6, 0, 0);
12006 : : switch (XWINT (x7, 0))
12007 : : {
12008 : : case 8L:
12009 : : x8 = XVECEXP (x6, 0, 1);
12010 : : if (XWINT (x8, 0) != 40L)
12011 : : return -1;
12012 : : x10 = XVECEXP (x6, 0, 2);
12013 : : if (XWINT (x10, 0) != 9L)
12014 : : return -1;
12015 : : x11 = XVECEXP (x6, 0, 3);
12016 : : if (XWINT (x11, 0) != 41L)
12017 : : return -1;
12018 : : x12 = XVECEXP (x6, 0, 4);
12019 : : if (XWINT (x12, 0) != 10L)
12020 : : return -1;
12021 : : x13 = XVECEXP (x6, 0, 5);
12022 : : if (XWINT (x13, 0) != 42L)
12023 : : return -1;
12024 : : x14 = XVECEXP (x6, 0, 6);
12025 : : if (XWINT (x14, 0) != 11L)
12026 : : return -1;
12027 : : x15 = XVECEXP (x6, 0, 7);
12028 : : if (XWINT (x15, 0) != 43L
12029 : : || pattern1879 (x6) != 0)
12030 : : return -1;
12031 : : x26 = XVECEXP (x6, 0, 16);
12032 : : if (XWINT (x26, 0) != 24L)
12033 : : return -1;
12034 : : x27 = XVECEXP (x6, 0, 17);
12035 : : if (XWINT (x27, 0) != 56L)
12036 : : return -1;
12037 : : x28 = XVECEXP (x6, 0, 18);
12038 : : if (XWINT (x28, 0) != 25L)
12039 : : return -1;
12040 : : x29 = XVECEXP (x6, 0, 19);
12041 : : if (XWINT (x29, 0) != 57L)
12042 : : return -1;
12043 : : x30 = XVECEXP (x6, 0, 20);
12044 : : if (XWINT (x30, 0) != 26L)
12045 : : return -1;
12046 : : x31 = XVECEXP (x6, 0, 21);
12047 : : if (XWINT (x31, 0) != 58L)
12048 : : return -1;
12049 : : x32 = XVECEXP (x6, 0, 22);
12050 : : if (XWINT (x32, 0) != 27L)
12051 : : return -1;
12052 : : x33 = XVECEXP (x6, 0, 23);
12053 : : if (XWINT (x33, 0) != 59L
12054 : : || pattern1884 (x6) != 0
12055 : : || pattern1569 (x2,
12056 : : E_V32QImode,
12057 : : E_V64QImode) != 0
12058 : : || !(
12059 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12060 : : (TARGET_AVX512F) &&
12061 : : #line 19479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12062 : : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
12063 : : return -1;
12064 : : return 8275; /* avx2_interleave_highv32qi_mask */
12065 : :
12066 : : case 0L:
12067 : : x8 = XVECEXP (x6, 0, 1);
12068 : : if (XWINT (x8, 0) != 32L)
12069 : : return -1;
12070 : : x10 = XVECEXP (x6, 0, 2);
12071 : : if (XWINT (x10, 0) != 1L)
12072 : : return -1;
12073 : : x11 = XVECEXP (x6, 0, 3);
12074 : : if (XWINT (x11, 0) != 33L)
12075 : : return -1;
12076 : : x12 = XVECEXP (x6, 0, 4);
12077 : : if (XWINT (x12, 0) != 2L)
12078 : : return -1;
12079 : : x13 = XVECEXP (x6, 0, 5);
12080 : : if (XWINT (x13, 0) != 34L)
12081 : : return -1;
12082 : : x14 = XVECEXP (x6, 0, 6);
12083 : : if (XWINT (x14, 0) != 3L)
12084 : : return -1;
12085 : : x15 = XVECEXP (x6, 0, 7);
12086 : : if (XWINT (x15, 0) != 35L)
12087 : : return -1;
12088 : : x26 = XVECEXP (x6, 0, 16);
12089 : : if (XWINT (x26, 0) != 16L)
12090 : : return -1;
12091 : : x27 = XVECEXP (x6, 0, 17);
12092 : : if (XWINT (x27, 0) != 48L)
12093 : : return -1;
12094 : : x28 = XVECEXP (x6, 0, 18);
12095 : : if (XWINT (x28, 0) != 17L)
12096 : : return -1;
12097 : : x29 = XVECEXP (x6, 0, 19);
12098 : : if (XWINT (x29, 0) != 49L)
12099 : : return -1;
12100 : : x30 = XVECEXP (x6, 0, 20);
12101 : : if (XWINT (x30, 0) != 18L)
12102 : : return -1;
12103 : : x31 = XVECEXP (x6, 0, 21);
12104 : : if (XWINT (x31, 0) != 50L)
12105 : : return -1;
12106 : : x32 = XVECEXP (x6, 0, 22);
12107 : : if (XWINT (x32, 0) != 19L)
12108 : : return -1;
12109 : : x33 = XVECEXP (x6, 0, 23);
12110 : : if (XWINT (x33, 0) != 51L)
12111 : : return -1;
12112 : : x16 = XVECEXP (x6, 0, 8);
12113 : : switch (XWINT (x16, 0))
12114 : : {
12115 : : case 4L:
12116 : : x17 = XVECEXP (x6, 0, 9);
12117 : : if (XWINT (x17, 0) != 36L)
12118 : : return -1;
12119 : : x18 = XVECEXP (x6, 0, 10);
12120 : : if (XWINT (x18, 0) != 5L)
12121 : : return -1;
12122 : : x19 = XVECEXP (x6, 0, 11);
12123 : : if (XWINT (x19, 0) != 37L)
12124 : : return -1;
12125 : : x20 = XVECEXP (x6, 0, 12);
12126 : : if (XWINT (x20, 0) != 6L)
12127 : : return -1;
12128 : : x21 = XVECEXP (x6, 0, 13);
12129 : : if (XWINT (x21, 0) != 38L)
12130 : : return -1;
12131 : : x22 = XVECEXP (x6, 0, 14);
12132 : : if (XWINT (x22, 0) != 7L)
12133 : : return -1;
12134 : : x23 = XVECEXP (x6, 0, 15);
12135 : : if (XWINT (x23, 0) != 39L)
12136 : : return -1;
12137 : : x34 = XVECEXP (x6, 0, 24);
12138 : : if (XWINT (x34, 0) != 20L)
12139 : : return -1;
12140 : : x35 = XVECEXP (x6, 0, 25);
12141 : : if (XWINT (x35, 0) != 52L)
12142 : : return -1;
12143 : : x36 = XVECEXP (x6, 0, 26);
12144 : : if (XWINT (x36, 0) != 21L)
12145 : : return -1;
12146 : : x37 = XVECEXP (x6, 0, 27);
12147 : : if (XWINT (x37, 0) != 53L)
12148 : : return -1;
12149 : : x38 = XVECEXP (x6, 0, 28);
12150 : : if (XWINT (x38, 0) != 22L)
12151 : : return -1;
12152 : : x39 = XVECEXP (x6, 0, 29);
12153 : : if (XWINT (x39, 0) != 54L)
12154 : : return -1;
12155 : : x40 = XVECEXP (x6, 0, 30);
12156 : : if (XWINT (x40, 0) != 23L)
12157 : : return -1;
12158 : : x41 = XVECEXP (x6, 0, 31);
12159 : : if (XWINT (x41, 0) != 55L
12160 : : || pattern1569 (x2,
12161 : : E_V32QImode,
12162 : : E_V64QImode) != 0
12163 : : || !(
12164 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12165 : : (TARGET_AVX512F) &&
12166 : : #line 19575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12167 : : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
12168 : : return -1;
12169 : : return 8281; /* avx2_interleave_lowv32qi_mask */
12170 : :
12171 : : case 8L:
12172 : : x17 = XVECEXP (x6, 0, 9);
12173 : : if (XWINT (x17, 0) != 40L)
12174 : : return -1;
12175 : : x18 = XVECEXP (x6, 0, 10);
12176 : : if (XWINT (x18, 0) != 9L)
12177 : : return -1;
12178 : : x19 = XVECEXP (x6, 0, 11);
12179 : : if (XWINT (x19, 0) != 41L)
12180 : : return -1;
12181 : : x20 = XVECEXP (x6, 0, 12);
12182 : : if (XWINT (x20, 0) != 10L)
12183 : : return -1;
12184 : : x21 = XVECEXP (x6, 0, 13);
12185 : : if (XWINT (x21, 0) != 42L)
12186 : : return -1;
12187 : : x22 = XVECEXP (x6, 0, 14);
12188 : : if (XWINT (x22, 0) != 11L)
12189 : : return -1;
12190 : : x23 = XVECEXP (x6, 0, 15);
12191 : : if (XWINT (x23, 0) != 43L)
12192 : : return -1;
12193 : : x34 = XVECEXP (x6, 0, 24);
12194 : : if (XWINT (x34, 0) != 24L)
12195 : : return -1;
12196 : : x35 = XVECEXP (x6, 0, 25);
12197 : : if (XWINT (x35, 0) != 56L)
12198 : : return -1;
12199 : : x36 = XVECEXP (x6, 0, 26);
12200 : : if (XWINT (x36, 0) != 25L)
12201 : : return -1;
12202 : : x37 = XVECEXP (x6, 0, 27);
12203 : : if (XWINT (x37, 0) != 57L)
12204 : : return -1;
12205 : : x38 = XVECEXP (x6, 0, 28);
12206 : : if (XWINT (x38, 0) != 26L)
12207 : : return -1;
12208 : : x39 = XVECEXP (x6, 0, 29);
12209 : : if (XWINT (x39, 0) != 58L)
12210 : : return -1;
12211 : : x40 = XVECEXP (x6, 0, 30);
12212 : : if (XWINT (x40, 0) != 27L)
12213 : : return -1;
12214 : : x41 = XVECEXP (x6, 0, 31);
12215 : : if (XWINT (x41, 0) != 59L)
12216 : : return -1;
12217 : : switch (GET_MODE (operands[0]))
12218 : : {
12219 : : case E_V32HImode:
12220 : : if (pattern1569 (x2,
12221 : : E_V32HImode,
12222 : : E_V64HImode) != 0
12223 : : || !(
12224 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12225 : : (TARGET_AVX512F) &&
12226 : : #line 19695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12227 : : (TARGET_AVX512BW)))
12228 : : return -1;
12229 : : return 8303; /* avx512bw_interleave_lowv32hi_mask */
12230 : :
12231 : : case E_V32HFmode:
12232 : : if (pattern1569 (x2,
12233 : : E_V32HFmode,
12234 : : E_V64HFmode) != 0
12235 : : || !(
12236 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12237 : : (TARGET_AVX512F) &&
12238 : : #line 19695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12239 : : (TARGET_AVX512BW)))
12240 : : return -1;
12241 : : return 8305; /* avx512bw_interleave_lowv32hf_mask */
12242 : :
12243 : : case E_V32BFmode:
12244 : : if (pattern1569 (x2,
12245 : : E_V32BFmode,
12246 : : E_V64BFmode) != 0
12247 : : || !(
12248 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12249 : : (TARGET_AVX512F) &&
12250 : : #line 19695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12251 : : (TARGET_AVX512BW)))
12252 : : return -1;
12253 : : return 8307; /* avx512bw_interleave_lowv32bf_mask */
12254 : :
12255 : : default:
12256 : : return -1;
12257 : : }
12258 : :
12259 : : default:
12260 : : return -1;
12261 : : }
12262 : :
12263 : : case 4L:
12264 : : x8 = XVECEXP (x6, 0, 1);
12265 : : if (XWINT (x8, 0) != 36L)
12266 : : return -1;
12267 : : x10 = XVECEXP (x6, 0, 2);
12268 : : if (XWINT (x10, 0) != 5L)
12269 : : return -1;
12270 : : x11 = XVECEXP (x6, 0, 3);
12271 : : if (XWINT (x11, 0) != 37L)
12272 : : return -1;
12273 : : x12 = XVECEXP (x6, 0, 4);
12274 : : if (XWINT (x12, 0) != 6L)
12275 : : return -1;
12276 : : x13 = XVECEXP (x6, 0, 5);
12277 : : if (XWINT (x13, 0) != 38L)
12278 : : return -1;
12279 : : x14 = XVECEXP (x6, 0, 6);
12280 : : if (XWINT (x14, 0) != 7L)
12281 : : return -1;
12282 : : x15 = XVECEXP (x6, 0, 7);
12283 : : if (XWINT (x15, 0) != 39L
12284 : : || pattern1879 (x6) != 0)
12285 : : return -1;
12286 : : x26 = XVECEXP (x6, 0, 16);
12287 : : if (XWINT (x26, 0) != 20L)
12288 : : return -1;
12289 : : x27 = XVECEXP (x6, 0, 17);
12290 : : if (XWINT (x27, 0) != 52L)
12291 : : return -1;
12292 : : x28 = XVECEXP (x6, 0, 18);
12293 : : if (XWINT (x28, 0) != 21L)
12294 : : return -1;
12295 : : x29 = XVECEXP (x6, 0, 19);
12296 : : if (XWINT (x29, 0) != 53L)
12297 : : return -1;
12298 : : x30 = XVECEXP (x6, 0, 20);
12299 : : if (XWINT (x30, 0) != 22L)
12300 : : return -1;
12301 : : x31 = XVECEXP (x6, 0, 21);
12302 : : if (XWINT (x31, 0) != 54L)
12303 : : return -1;
12304 : : x32 = XVECEXP (x6, 0, 22);
12305 : : if (XWINT (x32, 0) != 23L)
12306 : : return -1;
12307 : : x33 = XVECEXP (x6, 0, 23);
12308 : : if (XWINT (x33, 0) != 55L
12309 : : || pattern1884 (x6) != 0)
12310 : : return -1;
12311 : : switch (GET_MODE (operands[0]))
12312 : : {
12313 : : case E_V32HImode:
12314 : : if (pattern1569 (x2,
12315 : : E_V32HImode,
12316 : : E_V64HImode) != 0
12317 : : || !(
12318 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12319 : : (TARGET_AVX512F) &&
12320 : : #line 19627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12321 : : (TARGET_AVX512BW)))
12322 : : return -1;
12323 : : return 8285; /* avx512bw_interleave_highv32hi_mask */
12324 : :
12325 : : case E_V32HFmode:
12326 : : if (pattern1569 (x2,
12327 : : E_V32HFmode,
12328 : : E_V64HFmode) != 0
12329 : : || !(
12330 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12331 : : (TARGET_AVX512F) &&
12332 : : #line 19627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12333 : : (TARGET_AVX512BW)))
12334 : : return -1;
12335 : : return 8287; /* avx512bw_interleave_highv32hf_mask */
12336 : :
12337 : : case E_V32BFmode:
12338 : : if (pattern1569 (x2,
12339 : : E_V32BFmode,
12340 : : E_V64BFmode) != 0
12341 : : || !(
12342 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12343 : : (TARGET_AVX512F) &&
12344 : : #line 19627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12345 : : (TARGET_AVX512BW)))
12346 : : return -1;
12347 : : return 8289; /* avx512bw_interleave_highv32bf_mask */
12348 : :
12349 : : default:
12350 : : return -1;
12351 : : }
12352 : :
12353 : : default:
12354 : : return -1;
12355 : : }
12356 : :
12357 : : default:
12358 : : return -1;
12359 : : }
12360 : : }
12361 : :
12362 : : int
12363 : : recog_196 (rtx x1 ATTRIBUTE_UNUSED,
12364 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12365 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12366 : : {
12367 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12368 : : rtx x2, x3, x4, x5;
12369 : : int res ATTRIBUTE_UNUSED;
12370 : : x2 = XEXP (x1, 1);
12371 : : switch (pattern150 (x2))
12372 : : {
12373 : : case 0:
12374 : : if (!(
12375 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12376 : : (TARGET_AVX512F) &&
12377 : : #line 24158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12378 : : (TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
12379 : : return -1;
12380 : : return 8709; /* avx2_zero_extendv16qiv16hi2_mask */
12381 : :
12382 : : case 1:
12383 : : if (!(
12384 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12385 : : (TARGET_AVX512F) &&
12386 : : #line 24212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12387 : : (TARGET_AVX512BW)))
12388 : : return -1;
12389 : : return 8717; /* avx512bw_zero_extendv32qiv32hi2_mask */
12390 : :
12391 : : case 2:
12392 : : if (!(
12393 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12394 : : (TARGET_AVX512F) &&
12395 : : #line 24282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12396 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
12397 : : return -1;
12398 : : return 8729; /* *sse4_1_zero_extendv8qiv8hi2_mask_1 */
12399 : :
12400 : : case 3:
12401 : : if (!
12402 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12403 : : (TARGET_AVX512F))
12404 : : return -1;
12405 : : return 8741; /* avx512f_zero_extendv16qiv16si2_mask */
12406 : :
12407 : : case 4:
12408 : : if (!
12409 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12410 : : (TARGET_AVX512F))
12411 : : return -1;
12412 : : return 8769; /* avx512f_zero_extendv16hiv16si2_mask */
12413 : :
12414 : : case 5:
12415 : : if (!(
12416 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12417 : : (TARGET_AVX512F) &&
12418 : : #line 24439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12419 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12420 : : return -1;
12421 : : return 8749; /* *avx2_zero_extendv8qiv8si2_mask_1 */
12422 : :
12423 : : case 6:
12424 : : if (!(
12425 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12426 : : (TARGET_AVX512F) &&
12427 : : #line 24603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12428 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12429 : : return -1;
12430 : : return 8777; /* avx2_zero_extendv8hiv8si2_mask */
12431 : :
12432 : : case 7:
12433 : : if (!(
12434 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12435 : : (TARGET_AVX512F) &&
12436 : : #line 24500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12437 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12438 : : return -1;
12439 : : return 8761; /* *sse4_1_zero_extendv4qiv4si2_mask_1 */
12440 : :
12441 : : case 8:
12442 : : if (!(
12443 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12444 : : (TARGET_AVX512F) &&
12445 : : #line 24673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12446 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12447 : : return -1;
12448 : : return 8789; /* *sse4_1_zero_extendv4hiv4si2_mask_1 */
12449 : :
12450 : : case 9:
12451 : : if (!
12452 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12453 : : (TARGET_AVX512F))
12454 : : return -1;
12455 : : return 8805; /* *avx512f_zero_extendv8qiv8di2_mask_1 */
12456 : :
12457 : : case 10:
12458 : : if (!
12459 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12460 : : (TARGET_AVX512F))
12461 : : return -1;
12462 : : return 8836; /* avx512f_zero_extendv8hiv8di2_mask */
12463 : :
12464 : : case 11:
12465 : : if (!
12466 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12467 : : (TARGET_AVX512F))
12468 : : return -1;
12469 : : return 8864; /* avx512f_zero_extendv8siv8di2_mask */
12470 : :
12471 : : case 12:
12472 : : if (!(
12473 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12474 : : (TARGET_AVX512F) &&
12475 : : #line 24862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12476 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12477 : : return -1;
12478 : : return 8817; /* *avx2_zero_extendv4qiv4di2_mask_1 */
12479 : :
12480 : : case 13:
12481 : : if (!(
12482 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12483 : : (TARGET_AVX512F) &&
12484 : : #line 25005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12485 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12486 : : return -1;
12487 : : return 8844; /* *avx2_zero_extendv4hiv4di2_mask_1 */
12488 : :
12489 : : case 14:
12490 : : if (!(
12491 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12492 : : (TARGET_AVX512F) &&
12493 : : #line 25163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12494 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12495 : : return -1;
12496 : : return 8870; /* avx2_zero_extendv4siv4di2_mask */
12497 : :
12498 : : case 15:
12499 : : if (!(
12500 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12501 : : (TARGET_AVX512F) &&
12502 : : #line 24924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12503 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12504 : : return -1;
12505 : : return 8829; /* *sse4_1_zero_extendv2qiv2di2_mask_1 */
12506 : :
12507 : : case 16:
12508 : : if (!(
12509 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12510 : : (TARGET_AVX512F) &&
12511 : : #line 25063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12512 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12513 : : return -1;
12514 : : return 8856; /* *sse4_1_zero_extendv2hiv2di2_mask_1 */
12515 : :
12516 : : case 17:
12517 : : if (!(
12518 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12519 : : (TARGET_AVX512F) &&
12520 : : #line 25229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12521 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12522 : : return -1;
12523 : : return 8880; /* *sse4_1_zero_extendv2siv2di2_mask_1 */
12524 : :
12525 : : case 18:
12526 : : x3 = XEXP (x2, 0);
12527 : : x4 = XEXP (x3, 0);
12528 : : x5 = XEXP (x4, 0);
12529 : : operands[1] = x5;
12530 : : switch (pattern882 (x2))
12531 : : {
12532 : : case 0:
12533 : : if ((
12534 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12535 : : (TARGET_AVX512F) &&
12536 : : #line 24270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12537 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
12538 : : return 8725; /* sse4_1_zero_extendv8qiv8hi2_mask */
12539 : : break;
12540 : :
12541 : : case 1:
12542 : : if ((
12543 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12544 : : (TARGET_AVX512F) &&
12545 : : #line 24428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12546 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12547 : : return 8745; /* avx2_zero_extendv8qiv8si2_mask */
12548 : : break;
12549 : :
12550 : : case 2:
12551 : : if (
12552 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12553 : : (TARGET_AVX512F))
12554 : : return 8801; /* avx512f_zero_extendv8qiv8di2_mask */
12555 : : break;
12556 : :
12557 : : case 3:
12558 : : if ((
12559 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12560 : : (TARGET_AVX512F) &&
12561 : : #line 24488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12562 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12563 : : return 8757; /* sse4_1_zero_extendv4qiv4si2_mask */
12564 : : break;
12565 : :
12566 : : case 4:
12567 : : if ((
12568 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12569 : : (TARGET_AVX512F) &&
12570 : : #line 24661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12571 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12572 : : return 8785; /* sse4_1_zero_extendv4hiv4si2_mask */
12573 : : break;
12574 : :
12575 : : case 5:
12576 : : if ((
12577 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12578 : : (TARGET_AVX512F) &&
12579 : : #line 24851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12580 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12581 : : return 8813; /* avx2_zero_extendv4qiv4di2_mask */
12582 : : break;
12583 : :
12584 : : case 6:
12585 : : if ((
12586 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12587 : : (TARGET_AVX512F) &&
12588 : : #line 24994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12589 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12590 : : return 8840; /* avx2_zero_extendv4hiv4di2_mask */
12591 : : break;
12592 : :
12593 : : case 7:
12594 : : if ((
12595 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12596 : : (TARGET_AVX512F) &&
12597 : : #line 24912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12598 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12599 : : return 8825; /* sse4_1_zero_extendv2qiv2di2_mask */
12600 : : break;
12601 : :
12602 : : case 8:
12603 : : if ((
12604 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12605 : : (TARGET_AVX512F) &&
12606 : : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12607 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12608 : : return 8852; /* sse4_1_zero_extendv2hiv2di2_mask */
12609 : : break;
12610 : :
12611 : : case 9:
12612 : : if ((
12613 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12614 : : (TARGET_AVX512F) &&
12615 : : #line 25217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12616 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12617 : : return 8876; /* sse4_1_zero_extendv2siv2di2_mask */
12618 : : break;
12619 : :
12620 : : default:
12621 : : break;
12622 : : }
12623 : : if (GET_CODE (x5) != SUBREG)
12624 : : return -1;
12625 : : switch (pattern885 (x2))
12626 : : {
12627 : : case 0:
12628 : : if (!(
12629 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12630 : : (TARGET_AVX512F) &&
12631 : : #line 24306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12632 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL
12633 : : && ix86_pre_reload_split ())))
12634 : : return -1;
12635 : : return 8733; /* *sse4_1_zero_extendv8qiv8hi2_mask_2 */
12636 : :
12637 : : case 1:
12638 : : if (!(
12639 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12640 : : (TARGET_AVX512F) &&
12641 : : #line 24458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12642 : : (TARGET_AVX2 && TARGET_AVX512VL
12643 : : && ix86_pre_reload_split ())))
12644 : : return -1;
12645 : : return 8753; /* *avx2_zero_extendv8qiv8si2_mask_2 */
12646 : :
12647 : : case 2:
12648 : : if (!(
12649 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12650 : : (TARGET_AVX512F) &&
12651 : : #line 24822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12652 : : (TARGET_AVX512F && ix86_pre_reload_split ())))
12653 : : return -1;
12654 : : return 8809; /* *avx512f_zero_extendv8qiv8di2_mask_2 */
12655 : :
12656 : : case 3:
12657 : : if (!(
12658 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12659 : : (TARGET_AVX512F) &&
12660 : : #line 24692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12661 : : (TARGET_SSE4_1 && TARGET_AVX512VL
12662 : : && ix86_pre_reload_split ())))
12663 : : return -1;
12664 : : return 8793; /* *sse4_1_zero_extendv4hiv4si2_mask_2 */
12665 : :
12666 : : case 4:
12667 : : if (!(
12668 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12669 : : (TARGET_AVX512F) &&
12670 : : #line 25022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12671 : : (TARGET_AVX2 && TARGET_AVX512VL
12672 : : && ix86_pre_reload_split ())))
12673 : : return -1;
12674 : : return 8848; /* *avx2_zero_extendv4hiv4di2_mask_2 */
12675 : :
12676 : : case 5:
12677 : : if (!(
12678 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12679 : : (TARGET_AVX512F) &&
12680 : : #line 25247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12681 : : (TARGET_SSE4_1 && TARGET_AVX512VL
12682 : : && ix86_pre_reload_split ())))
12683 : : return -1;
12684 : : return 8884; /* *sse4_1_zero_extendv2siv2di2_mask_2 */
12685 : :
12686 : : case 6:
12687 : : if (!(
12688 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12689 : : (TARGET_AVX512F) &&
12690 : : #line 24523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12691 : : (TARGET_SSE4_1 && TARGET_AVX512VL
12692 : : && ix86_pre_reload_split ())))
12693 : : return -1;
12694 : : return 8765; /* *sse4_1_zero_extendv4qiv4si2_mask_2 */
12695 : :
12696 : : case 7:
12697 : : if (!(
12698 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12699 : : (TARGET_AVX512F) &&
12700 : : #line 24883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12701 : : (TARGET_AVX2 && TARGET_AVX512VL
12702 : : && ix86_pre_reload_split ())))
12703 : : return -1;
12704 : : return 8821; /* *avx2_zero_extendv4qiv4di2_mask_2 */
12705 : :
12706 : : case 8:
12707 : : if (!(
12708 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12709 : : (TARGET_AVX512F) &&
12710 : : #line 25085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12711 : : (TARGET_SSE4_1 && TARGET_AVX512VL
12712 : : && ix86_pre_reload_split ())))
12713 : : return -1;
12714 : : return 8860; /* *sse4_1_zero_extendv2hiv2di2_mask_2 */
12715 : :
12716 : : default:
12717 : : return -1;
12718 : : }
12719 : :
12720 : : default:
12721 : : return -1;
12722 : : }
12723 : : }
12724 : :
12725 : : int
12726 : : recog_206 (rtx x1 ATTRIBUTE_UNUSED,
12727 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12728 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12729 : : {
12730 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12731 : : rtx x2, x3, x4, x5, x6, x7;
12732 : : int res ATTRIBUTE_UNUSED;
12733 : : x2 = XEXP (x1, 1);
12734 : : x3 = XEXP (x2, 0);
12735 : : x4 = XEXP (x3, 0);
12736 : : operands[1] = x4;
12737 : : x5 = XEXP (x3, 1);
12738 : : operands[2] = x5;
12739 : : x6 = XEXP (x2, 2);
12740 : : switch (GET_CODE (x6))
12741 : : {
12742 : : case CONST_INT:
12743 : : switch (pattern131 (x2))
12744 : : {
12745 : : case 0:
12746 : : if (!(
12747 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12748 : : (TARGET_SSE) &&
12749 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12750 : : (TARGET_AVX512FP16)))
12751 : : return -1;
12752 : : return 2848; /* avx512fp16_vmdivv8hf3 */
12753 : :
12754 : : case 1:
12755 : : if (!
12756 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12757 : : (TARGET_SSE))
12758 : : return -1;
12759 : : return 2856; /* sse_vmdivv4sf3 */
12760 : :
12761 : : case 2:
12762 : : if (!(
12763 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12764 : : (TARGET_SSE) &&
12765 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12766 : : (TARGET_SSE2)))
12767 : : return -1;
12768 : : return 2864; /* sse2_vmdivv2df3 */
12769 : :
12770 : : default:
12771 : : return -1;
12772 : : }
12773 : :
12774 : : case REG:
12775 : : case SUBREG:
12776 : : operands[4] = x6;
12777 : : x7 = XEXP (x2, 1);
12778 : : operands[3] = x7;
12779 : : switch (GET_MODE (operands[0]))
12780 : : {
12781 : : case E_V32HFmode:
12782 : : if (pattern994 (x2,
12783 : : E_V32HFmode,
12784 : : E_SImode) != 0
12785 : : || !(
12786 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12787 : : (TARGET_AVX512F) && (
12788 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12789 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
12790 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12791 : : (TARGET_AVX512FP16))))
12792 : : return -1;
12793 : : return 2870; /* avx512fp16_divv32hf3_mask */
12794 : :
12795 : : case E_V16HFmode:
12796 : : if (pattern994 (x2,
12797 : : E_V16HFmode,
12798 : : E_HImode) != 0
12799 : : || !(
12800 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12801 : : (TARGET_AVX512F) && (
12802 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12803 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
12804 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12805 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
12806 : : return -1;
12807 : : return 2873; /* avx512fp16_divv16hf3_mask */
12808 : :
12809 : : case E_V8HFmode:
12810 : : if (pattern994 (x2,
12811 : : E_V8HFmode,
12812 : : E_QImode) != 0
12813 : : || !(
12814 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12815 : : (TARGET_AVX512F) && (
12816 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12817 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
12818 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12819 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
12820 : : return -1;
12821 : : return 2875; /* avx512fp16_divv8hf3_mask */
12822 : :
12823 : : case E_V16SFmode:
12824 : : if (pattern994 (x2,
12825 : : E_V16SFmode,
12826 : : E_HImode) != 0
12827 : : || !(
12828 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12829 : : (TARGET_AVX512F) && (
12830 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12831 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
12832 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12833 : : (TARGET_AVX512F))))
12834 : : return -1;
12835 : : return 2878; /* avx512f_divv16sf3_mask */
12836 : :
12837 : : case E_V8SFmode:
12838 : : if (pattern994 (x2,
12839 : : E_V8SFmode,
12840 : : E_QImode) != 0
12841 : : || !(
12842 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12843 : : (TARGET_AVX512F) && (
12844 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12845 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
12846 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12847 : : (TARGET_AVX))))
12848 : : return -1;
12849 : : return 2881; /* avx_divv8sf3_mask */
12850 : :
12851 : : case E_V4SFmode:
12852 : : if (pattern994 (x2,
12853 : : E_V4SFmode,
12854 : : E_QImode) != 0
12855 : : || !(
12856 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12857 : : (TARGET_AVX512F) &&
12858 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12859 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1)))
12860 : : return -1;
12861 : : return 2883; /* sse_divv4sf3_mask */
12862 : :
12863 : : case E_V8DFmode:
12864 : : if (pattern994 (x2,
12865 : : E_V8DFmode,
12866 : : E_QImode) != 0
12867 : : || !(
12868 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12869 : : (TARGET_AVX512F) && (
12870 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12871 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
12872 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12873 : : (TARGET_AVX512F))))
12874 : : return -1;
12875 : : return 2886; /* avx512f_divv8df3_mask */
12876 : :
12877 : : case E_V4DFmode:
12878 : : if (pattern994 (x2,
12879 : : E_V4DFmode,
12880 : : E_QImode) != 0
12881 : : || !(
12882 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12883 : : (TARGET_AVX512F) && (
12884 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12885 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
12886 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12887 : : (TARGET_AVX))))
12888 : : return -1;
12889 : : return 2889; /* avx_divv4df3_mask */
12890 : :
12891 : : case E_V2DFmode:
12892 : : if (pattern994 (x2,
12893 : : E_V2DFmode,
12894 : : E_QImode) != 0
12895 : : || !(
12896 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12897 : : (TARGET_AVX512F) && (
12898 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12899 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
12900 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12901 : : (TARGET_SSE2))))
12902 : : return -1;
12903 : : return 2891; /* sse2_divv2df3_mask */
12904 : :
12905 : : case E_V32BFmode:
12906 : : if (pattern129 (x2,
12907 : : E_V32BFmode,
12908 : : E_SImode) != 0
12909 : : || !(
12910 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12911 : : (TARGET_AVX512F) &&
12912 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12913 : : (TARGET_AVX10_2)))
12914 : : return -1;
12915 : : return 10583; /* avx10_2_divbf16_v32bf_mask */
12916 : :
12917 : : case E_V16BFmode:
12918 : : if (pattern129 (x2,
12919 : : E_V16BFmode,
12920 : : E_HImode) != 0
12921 : : || !(
12922 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12923 : : (TARGET_AVX512F) &&
12924 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12925 : : (TARGET_AVX10_2)))
12926 : : return -1;
12927 : : return 10591; /* avx10_2_divbf16_v16bf_mask */
12928 : :
12929 : : case E_V8BFmode:
12930 : : if (pattern129 (x2,
12931 : : E_V8BFmode,
12932 : : E_QImode) != 0
12933 : : || !(
12934 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12935 : : (TARGET_AVX512F) &&
12936 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12937 : : (TARGET_AVX10_2)))
12938 : : return -1;
12939 : : return 10599; /* avx10_2_divbf16_v8bf_mask */
12940 : :
12941 : : default:
12942 : : return -1;
12943 : : }
12944 : :
12945 : : default:
12946 : : return -1;
12947 : : }
12948 : : }
12949 : :
12950 : : int
12951 : : recog_214 (rtx x1 ATTRIBUTE_UNUSED,
12952 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12953 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12954 : : {
12955 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12956 : : rtx x2, x3;
12957 : : int res ATTRIBUTE_UNUSED;
12958 : : x2 = XEXP (x1, 1);
12959 : : x3 = XVECEXP (x2, 0, 0);
12960 : : operands[1] = x3;
12961 : : switch (GET_MODE (operands[0]))
12962 : : {
12963 : : case E_V8HImode:
12964 : : if (!register_operand (operands[0], E_V8HImode)
12965 : : || GET_MODE (x2) != E_V8HImode
12966 : : || !vector_operand (operands[1], E_V8HFmode)
12967 : : || !(
12968 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12969 : : (TARGET_AVX512FP16) &&
12970 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12971 : : (TARGET_AVX512VL)))
12972 : : return -1;
12973 : : return 4520; /* unspec_avx512fp16_fix_truncv8hi2 */
12974 : :
12975 : : case E_V16HImode:
12976 : : if (!register_operand (operands[0], E_V16HImode)
12977 : : || GET_MODE (x2) != E_V16HImode
12978 : : || !vector_operand (operands[1], E_V16HFmode)
12979 : : || !(
12980 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12981 : : (TARGET_AVX512FP16) &&
12982 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12983 : : (TARGET_AVX512VL)))
12984 : : return -1;
12985 : : return 4528; /* unspec_avx512fp16_fix_truncv16hi2 */
12986 : :
12987 : : case E_V32HImode:
12988 : : if (!register_operand (operands[0], E_V32HImode)
12989 : : || GET_MODE (x2) != E_V32HImode
12990 : : || !vector_operand (operands[1], E_V32HFmode)
12991 : : || !
12992 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12993 : : (TARGET_AVX512FP16))
12994 : : return -1;
12995 : : return 4536; /* unspec_avx512fp16_fix_truncv32hi2 */
12996 : :
12997 : : case E_V8SImode:
12998 : : switch (pattern629 (x2,
12999 : : E_V8SImode))
13000 : : {
13001 : : case 0:
13002 : : if (!(
13003 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13004 : : (TARGET_AVX512FP16) &&
13005 : : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13006 : : (TARGET_AVX512VL)))
13007 : : return -1;
13008 : : return 4544; /* unspec_avx512fp16_fix_truncv8si2 */
13009 : :
13010 : : case 1:
13011 : : if (!
13012 : : #line 8824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13013 : : (TARGET_AVX && 1))
13014 : : return -1;
13015 : : return 4842; /* unspec_fix_truncv8sfv8si2 */
13016 : :
13017 : : case 2:
13018 : : if (!
13019 : : #line 9597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13020 : : (TARGET_AVX512F))
13021 : : return -1;
13022 : : return 4975; /* unspec_fix_truncv8dfv8si2 */
13023 : :
13024 : : default:
13025 : : return -1;
13026 : : }
13027 : :
13028 : : case E_V16SImode:
13029 : : switch (pattern630 (x2,
13030 : : E_V16SImode))
13031 : : {
13032 : : case 0:
13033 : : if (!
13034 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13035 : : (TARGET_AVX512FP16))
13036 : : return -1;
13037 : : return 4552; /* unspec_avx512fp16_fix_truncv16si2 */
13038 : :
13039 : : case 1:
13040 : : if (!
13041 : : #line 8804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13042 : : (TARGET_AVX512F))
13043 : : return -1;
13044 : : return 4826; /* unspec_fix_truncv16sfv16si2 */
13045 : :
13046 : : default:
13047 : : return -1;
13048 : : }
13049 : :
13050 : : case E_V8DImode:
13051 : : switch (pattern631 (x2))
13052 : : {
13053 : : case 0:
13054 : : if (!
13055 : : #line 7909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13056 : : (TARGET_AVX512FP16))
13057 : : return -1;
13058 : : return 4560; /* unspec_avx512fp16_fix_truncv8di2 */
13059 : :
13060 : : case 1:
13061 : : if (!
13062 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13063 : : (TARGET_AVX512DQ && 1))
13064 : : return -1;
13065 : : return 5004; /* unspec_fix_truncv8dfv8di2 */
13066 : :
13067 : : case 2:
13068 : : if (!
13069 : : #line 9769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13070 : : (TARGET_AVX512DQ && 1))
13071 : : return -1;
13072 : : return 5052; /* unspec_fix_truncv8sfv8di2 */
13073 : :
13074 : : default:
13075 : : return -1;
13076 : : }
13077 : :
13078 : : case E_V4SImode:
13079 : : if (!register_operand (operands[0], E_V4SImode)
13080 : : || GET_MODE (x2) != E_V4SImode)
13081 : : return -1;
13082 : : switch (GET_MODE (operands[1]))
13083 : : {
13084 : : case E_V8HFmode:
13085 : : if (!register_operand (operands[1], E_V8HFmode)
13086 : : || !
13087 : : #line 7947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13088 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13089 : : return -1;
13090 : : return 4616; /* unspec_avx512fp16_fix_truncv4si2 */
13091 : :
13092 : : case E_V4SFmode:
13093 : : if (!vector_operand (operands[1], E_V4SFmode)
13094 : : || !
13095 : : #line 8843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13096 : : (TARGET_SSE2 && 1))
13097 : : return -1;
13098 : : return 4846; /* unspec_fix_truncv4sfv4si2 */
13099 : :
13100 : : case E_V4DFmode:
13101 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13102 : : || !
13103 : : #line 9687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13104 : : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F)))
13105 : : return -1;
13106 : : return 4996; /* unspec_fix_truncv4dfv4si2 */
13107 : :
13108 : : case E_V2DFmode:
13109 : : if (!vector_operand (operands[1], E_V2DFmode)
13110 : : || !
13111 : : #line 9969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13112 : : (TARGET_SSE2 && 1))
13113 : : return -1;
13114 : : return 5092; /* unspec_sse2_cvttpd2dq */
13115 : :
13116 : : default:
13117 : : return -1;
13118 : : }
13119 : :
13120 : : case E_V4DImode:
13121 : : switch (pattern632 (x2))
13122 : : {
13123 : : case 0:
13124 : : if (!
13125 : : #line 7947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13126 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13127 : : return -1;
13128 : : return 4620; /* unspec_avx512fp16_fix_truncv4di2 */
13129 : :
13130 : : case 1:
13131 : : if (!(
13132 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13133 : : (TARGET_AVX512DQ && 1) &&
13134 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13135 : : (TARGET_AVX512VL)))
13136 : : return -1;
13137 : : return 5012; /* unspec_fix_truncv4dfv4di2 */
13138 : :
13139 : : case 2:
13140 : : if (!(
13141 : : #line 9769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13142 : : (TARGET_AVX512DQ && 1) &&
13143 : : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13144 : : (TARGET_AVX512VL)))
13145 : : return -1;
13146 : : return 5060; /* unspec_fix_truncv4sfv4di2 */
13147 : :
13148 : : default:
13149 : : return -1;
13150 : : }
13151 : :
13152 : : case E_V2DImode:
13153 : : switch (pattern633 (x2))
13154 : : {
13155 : : case 0:
13156 : : if (!
13157 : : #line 7997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13158 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13159 : : return -1;
13160 : : return 4640; /* unspec_avx512fp16_fix_truncv2di2 */
13161 : :
13162 : : case 1:
13163 : : if (!(
13164 : : #line 9726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13165 : : (TARGET_AVX512DQ && 1) &&
13166 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13167 : : (TARGET_AVX512VL)))
13168 : : return -1;
13169 : : return 5016; /* unspec_fix_truncv2dfv2di2 */
13170 : :
13171 : : case 2:
13172 : : if (!
13173 : : #line 9790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13174 : : (TARGET_AVX512DQ && TARGET_AVX512VL))
13175 : : return -1;
13176 : : return 5076; /* unspec_avx512dq_fix_truncv2sfv2di2 */
13177 : :
13178 : : default:
13179 : : return -1;
13180 : : }
13181 : :
13182 : : default:
13183 : : return -1;
13184 : : }
13185 : : }
13186 : :
13187 : : int
13188 : : recog_228 (rtx x1 ATTRIBUTE_UNUSED,
13189 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13190 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13191 : : {
13192 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13193 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13194 : : rtx x10, x11, x12, x13, x14;
13195 : : int res ATTRIBUTE_UNUSED;
13196 : : x2 = XEXP (x1, 1);
13197 : : x3 = XVECEXP (x2, 0, 0);
13198 : : x4 = XEXP (x3, 2);
13199 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13200 : : return -1;
13201 : : x5 = XEXP (x3, 0);
13202 : : x6 = XEXP (x5, 0);
13203 : : switch (GET_CODE (x6))
13204 : : {
13205 : : case SQRT:
13206 : : x7 = XEXP (x6, 0);
13207 : : operands[1] = x7;
13208 : : x8 = XEXP (x3, 1);
13209 : : operands[2] = x8;
13210 : : x9 = XVECEXP (x2, 0, 1);
13211 : : operands[3] = x9;
13212 : : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
13213 : : return -1;
13214 : : switch (GET_MODE (operands[0]))
13215 : : {
13216 : : case E_V8HFmode:
13217 : : if (pattern1392 (x2,
13218 : : E_V8HFmode,
13219 : : E_HFmode) != 0
13220 : : || !(
13221 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13222 : : (TARGET_AVX512F) && (
13223 : : #line 3104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13224 : : (TARGET_SSE) &&
13225 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13226 : : (TARGET_AVX512FP16))))
13227 : : return -1;
13228 : : return 2958; /* *avx512fp16_vmsqrtv8hf2_round */
13229 : :
13230 : : case E_V4SFmode:
13231 : : if (pattern1392 (x2,
13232 : : E_V4SFmode,
13233 : : E_SFmode) != 0
13234 : : || !(
13235 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13236 : : (TARGET_AVX512F) &&
13237 : : #line 3104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13238 : : (TARGET_SSE)))
13239 : : return -1;
13240 : : return 2962; /* *sse_vmsqrtv4sf2_round */
13241 : :
13242 : : case E_V2DFmode:
13243 : : if (pattern1392 (x2,
13244 : : E_V2DFmode,
13245 : : E_DFmode) != 0
13246 : : || !(
13247 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13248 : : (TARGET_AVX512F) && (
13249 : : #line 3104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13250 : : (TARGET_SSE) &&
13251 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13252 : : (TARGET_SSE2))))
13253 : : return -1;
13254 : : return 2966; /* *sse2_vmsqrtv2df2_round */
13255 : :
13256 : : default:
13257 : : return -1;
13258 : : }
13259 : :
13260 : : case FLOAT:
13261 : : switch (pattern888 (x2))
13262 : : {
13263 : : case 0:
13264 : : if (!(
13265 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13266 : : (TARGET_AVX512F) &&
13267 : : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13268 : : (TARGET_AVX512FP16)))
13269 : : return -1;
13270 : : return 4513; /* avx512fp16_vcvtsi2sh_round */
13271 : :
13272 : : case 1:
13273 : : if (!(
13274 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13275 : : (TARGET_AVX512F) && (
13276 : : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13277 : : (TARGET_AVX512FP16) &&
13278 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13279 : : (TARGET_64BIT))))
13280 : : return -1;
13281 : : return 4517; /* avx512fp16_vcvtsi2shq_round */
13282 : :
13283 : : case 2:
13284 : : if (!(
13285 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13286 : : (TARGET_AVX512F) &&
13287 : : #line 8558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13288 : : (TARGET_SSE)))
13289 : : return -1;
13290 : : return 4746; /* sse_cvtsi2ss_round */
13291 : :
13292 : : case 3:
13293 : : if (!(
13294 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13295 : : (TARGET_AVX512F) && (
13296 : : #line 8558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13297 : : (TARGET_SSE) &&
13298 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13299 : : (TARGET_64BIT))))
13300 : : return -1;
13301 : : return 4748; /* sse_cvtsi2ssq_round */
13302 : :
13303 : : case 4:
13304 : : if (!(
13305 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13306 : : (TARGET_AVX512F) &&
13307 : : #line 9041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13308 : : (TARGET_SSE2 && TARGET_64BIT)))
13309 : : return -1;
13310 : : return 4859; /* sse2_cvtsi2sdq_round */
13311 : :
13312 : : default:
13313 : : return -1;
13314 : : }
13315 : :
13316 : : case UNSIGNED_FLOAT:
13317 : : switch (pattern888 (x2))
13318 : : {
13319 : : case 0:
13320 : : if (!(
13321 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13322 : : (TARGET_AVX512F) &&
13323 : : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13324 : : (TARGET_AVX512FP16)))
13325 : : return -1;
13326 : : return 4515; /* avx512fp16_vcvtusi2sh_round */
13327 : :
13328 : : case 1:
13329 : : if (!(
13330 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13331 : : (TARGET_AVX512F) && (
13332 : : #line 7892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13333 : : (TARGET_AVX512FP16) &&
13334 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13335 : : (TARGET_64BIT))))
13336 : : return -1;
13337 : : return 4519; /* avx512fp16_vcvtusi2shq_round */
13338 : :
13339 : : case 2:
13340 : : if (!(
13341 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13342 : : (TARGET_AVX512F) &&
13343 : : #line 8654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13344 : : (TARGET_AVX512F && (V4SFmode == V4SFmode))))
13345 : : return -1;
13346 : : return 4764; /* cvtusi2ss32_round */
13347 : :
13348 : : case 3:
13349 : : if (!(
13350 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13351 : : (TARGET_AVX512F) &&
13352 : : #line 8668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13353 : : (TARGET_AVX512F && TARGET_64BIT)))
13354 : : return -1;
13355 : : return 4767; /* cvtusi2ss64_round */
13356 : :
13357 : : case 4:
13358 : : if (!(
13359 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13360 : : (TARGET_AVX512F) && (
13361 : : #line 8668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13362 : : (TARGET_AVX512F && TARGET_64BIT) &&
13363 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13364 : : (TARGET_SSE2))))
13365 : : return -1;
13366 : : return 4769; /* cvtusi2sd64_round */
13367 : :
13368 : : default:
13369 : : return -1;
13370 : : }
13371 : :
13372 : : case FLOAT_EXTEND:
13373 : : x7 = XEXP (x6, 0);
13374 : : if (pattern886 (x7,
13375 : : 1,
13376 : : E_HFmode) != 0)
13377 : : return -1;
13378 : : x10 = XEXP (x7, 0);
13379 : : operands[1] = x10;
13380 : : if (!register_operand (operands[1], E_V8HFmode))
13381 : : return -1;
13382 : : x8 = XEXP (x3, 1);
13383 : : operands[2] = x8;
13384 : : x9 = XVECEXP (x2, 0, 1);
13385 : : operands[3] = x9;
13386 : : if (!const48_operand (operands[3], E_SImode))
13387 : : return -1;
13388 : : switch (GET_MODE (operands[0]))
13389 : : {
13390 : : case E_V2DFmode:
13391 : : if (pattern1667 (x2,
13392 : : E_V2DFmode,
13393 : : E_DFmode) != 0
13394 : : || !(
13395 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13396 : : (TARGET_AVX512F) &&
13397 : : #line 8339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13398 : : (TARGET_AVX512FP16)))
13399 : : return -1;
13400 : : return 4719; /* avx512fp16_vcvtsh2sd_round */
13401 : :
13402 : : case E_V4SFmode:
13403 : : if (pattern1667 (x2,
13404 : : E_V4SFmode,
13405 : : E_SFmode) != 0
13406 : : || !(
13407 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13408 : : (TARGET_AVX512F) &&
13409 : : #line 8339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13410 : : (TARGET_AVX512FP16)))
13411 : : return -1;
13412 : : return 4723; /* avx512fp16_vcvtsh2ss_round */
13413 : :
13414 : : default:
13415 : : return -1;
13416 : : }
13417 : :
13418 : : case FLOAT_TRUNCATE:
13419 : : x9 = XVECEXP (x2, 0, 1);
13420 : : operands[3] = x9;
13421 : : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
13422 : : return -1;
13423 : : x7 = XEXP (x6, 0);
13424 : : switch (GET_CODE (x7))
13425 : : {
13426 : : case VEC_SELECT:
13427 : : x11 = XEXP (x7, 1);
13428 : : if (GET_CODE (x11) != PARALLEL
13429 : : || XVECLEN (x11, 0) != 1)
13430 : : return -1;
13431 : : x12 = XVECEXP (x11, 0, 0);
13432 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
13433 : : || pattern1393 (x2,
13434 : : E_HFmode,
13435 : : E_V8HFmode) != 0)
13436 : : return -1;
13437 : : x10 = XEXP (x7, 0);
13438 : : operands[1] = x10;
13439 : : x8 = XEXP (x3, 1);
13440 : : operands[2] = x8;
13441 : : if (!register_operand (operands[2], E_V8HFmode))
13442 : : return -1;
13443 : : switch (GET_MODE (x7))
13444 : : {
13445 : : case E_DFmode:
13446 : : if (!register_operand (operands[1], E_V2DFmode)
13447 : : || !(
13448 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13449 : : (TARGET_AVX512F) &&
13450 : : #line 8369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13451 : : (TARGET_AVX512FP16)))
13452 : : return -1;
13453 : : return 4730; /* avx512fp16_vcvtsd2sh_round */
13454 : :
13455 : : case E_SFmode:
13456 : : if (!register_operand (operands[1], E_V4SFmode)
13457 : : || !(
13458 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13459 : : (TARGET_AVX512F) &&
13460 : : #line 8369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13461 : : (TARGET_AVX512FP16)))
13462 : : return -1;
13463 : : return 4734; /* avx512fp16_vcvtss2sh_round */
13464 : :
13465 : : default:
13466 : : return -1;
13467 : : }
13468 : :
13469 : : case REG:
13470 : : case SUBREG:
13471 : : case MEM:
13472 : : operands[2] = x7;
13473 : : if (!nonimmediate_operand (operands[2], E_V2DFmode)
13474 : : || pattern1393 (x2,
13475 : : E_V2SFmode,
13476 : : E_V4SFmode) != 0)
13477 : : return -1;
13478 : : x8 = XEXP (x3, 1);
13479 : : operands[1] = x8;
13480 : : if (!register_operand (operands[1], E_V4SFmode)
13481 : : || !(
13482 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13483 : : (TARGET_AVX512F) &&
13484 : : #line 10040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13485 : : (TARGET_SSE2)))
13486 : : return -1;
13487 : : return 5098; /* sse2_cvtsd2ss_round */
13488 : :
13489 : : default:
13490 : : return -1;
13491 : : }
13492 : :
13493 : : case UNSPEC:
13494 : : if (XVECLEN (x6, 0) != 2
13495 : : || XINT (x6, 1) != 95)
13496 : : return -1;
13497 : : x13 = XVECEXP (x6, 0, 0);
13498 : : operands[2] = x13;
13499 : : x14 = XVECEXP (x6, 0, 1);
13500 : : operands[3] = x14;
13501 : : if (!const_0_to_255_operand (operands[3], E_SImode))
13502 : : return -1;
13503 : : x8 = XEXP (x3, 1);
13504 : : operands[1] = x8;
13505 : : x9 = XVECEXP (x2, 0, 1);
13506 : : operands[4] = x9;
13507 : : if (!const48_operand (operands[4], E_SImode))
13508 : : return -1;
13509 : : switch (GET_MODE (operands[0]))
13510 : : {
13511 : : case E_V8HFmode:
13512 : : if (pattern1572 (x2,
13513 : : E_V8HFmode,
13514 : : E_HFmode) != 0
13515 : : || !(
13516 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13517 : : (TARGET_AVX512F) && (
13518 : : #line 14287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13519 : : (TARGET_AVX512F) &&
13520 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13521 : : (TARGET_AVX512FP16))))
13522 : : return -1;
13523 : : return 7137; /* *avx512f_rndscalev8hf_round */
13524 : :
13525 : : case E_V4SFmode:
13526 : : if (pattern1572 (x2,
13527 : : E_V4SFmode,
13528 : : E_SFmode) != 0
13529 : : || !
13530 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13531 : : (TARGET_AVX512F))
13532 : : return -1;
13533 : : return 7139; /* *avx512f_rndscalev4sf_round */
13534 : :
13535 : : case E_V2DFmode:
13536 : : if (pattern1572 (x2,
13537 : : E_V2DFmode,
13538 : : E_DFmode) != 0
13539 : : || !(
13540 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13541 : : (TARGET_AVX512F) && (
13542 : : #line 14287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13543 : : (TARGET_AVX512F) &&
13544 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13545 : : (TARGET_SSE2))))
13546 : : return -1;
13547 : : return 7141; /* *avx512f_rndscalev2df_round */
13548 : :
13549 : : default:
13550 : : return -1;
13551 : : }
13552 : :
13553 : : default:
13554 : : return -1;
13555 : : }
13556 : : }
13557 : :
13558 : : int
13559 : : recog_230 (rtx x1 ATTRIBUTE_UNUSED,
13560 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13561 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13562 : : {
13563 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13564 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13565 : : rtx x10, x11, x12, x13, x14;
13566 : : int res ATTRIBUTE_UNUSED;
13567 : : x2 = XEXP (x1, 1);
13568 : : x3 = XVECEXP (x2, 0, 0);
13569 : : x4 = XEXP (x3, 0);
13570 : : switch (GET_CODE (x4))
13571 : : {
13572 : : case PLUS:
13573 : : switch (pattern637 (x2))
13574 : : {
13575 : : case 0:
13576 : : if (!(
13577 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13578 : : (TARGET_AVX512F) && (
13579 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13580 : : (TARGET_AVX512F) && (
13581 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13582 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
13583 : : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13584 : : || V32HFmode == V8DFmode
13585 : : || V32HFmode == V8DImode
13586 : : || V32HFmode == V16SImode
13587 : : || V32HFmode == V32HFmode)) &&
13588 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13589 : : (TARGET_AVX512FP16)))))
13590 : : return -1;
13591 : : return 2703; /* *addv32hf3_mask_round */
13592 : :
13593 : : case 1:
13594 : : if (!(
13595 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13596 : : (TARGET_AVX512F) && (
13597 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13598 : : (TARGET_AVX512F) && (
13599 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13600 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
13601 : : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
13602 : : || V16HFmode == V8DFmode
13603 : : || V16HFmode == V8DImode
13604 : : || V16HFmode == V16SImode
13605 : : || V16HFmode == V32HFmode)) &&
13606 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13607 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
13608 : : return -1;
13609 : : return 2711; /* *addv16hf3_mask_round */
13610 : :
13611 : : case 2:
13612 : : if (!(
13613 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13614 : : (TARGET_AVX512F) && (
13615 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13616 : : (TARGET_AVX512F) && (
13617 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13618 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
13619 : : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
13620 : : || V8HFmode == V8DFmode
13621 : : || V8HFmode == V8DImode
13622 : : || V8HFmode == V16SImode
13623 : : || V8HFmode == V32HFmode)) &&
13624 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13625 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
13626 : : return -1;
13627 : : return 2719; /* *addv8hf3_mask_round */
13628 : :
13629 : : case 3:
13630 : : if (!(
13631 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13632 : : (TARGET_AVX512F) && (
13633 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13634 : : (TARGET_AVX512F) && (
13635 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13636 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
13637 : : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13638 : : || V16SFmode == V8DFmode
13639 : : || V16SFmode == V8DImode
13640 : : || V16SFmode == V16SImode
13641 : : || V16SFmode == V32HFmode)) &&
13642 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13643 : : (TARGET_AVX512F)))))
13644 : : return -1;
13645 : : return 2727; /* *addv16sf3_mask_round */
13646 : :
13647 : : case 4:
13648 : : if (!(
13649 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13650 : : (TARGET_AVX512F) && (
13651 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13652 : : (TARGET_AVX512F) && (
13653 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13654 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
13655 : : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
13656 : : || V8SFmode == V8DFmode
13657 : : || V8SFmode == V8DImode
13658 : : || V8SFmode == V16SImode
13659 : : || V8SFmode == V32HFmode)) &&
13660 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13661 : : (TARGET_AVX)))))
13662 : : return -1;
13663 : : return 2735; /* *addv8sf3_mask_round */
13664 : :
13665 : : case 5:
13666 : : if (!(
13667 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13668 : : (TARGET_AVX512F) && (
13669 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13670 : : (TARGET_AVX512F) &&
13671 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13672 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
13673 : : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
13674 : : || V4SFmode == V8DFmode
13675 : : || V4SFmode == V8DImode
13676 : : || V4SFmode == V16SImode
13677 : : || V4SFmode == V32HFmode)))))
13678 : : return -1;
13679 : : return 2743; /* *addv4sf3_mask_round */
13680 : :
13681 : : case 6:
13682 : : if (!(
13683 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13684 : : (TARGET_AVX512F) && (
13685 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13686 : : (TARGET_AVX512F) && (
13687 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13688 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
13689 : : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13690 : : || V8DFmode == V8DFmode
13691 : : || V8DFmode == V8DImode
13692 : : || V8DFmode == V16SImode
13693 : : || V8DFmode == V32HFmode)) &&
13694 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13695 : : (TARGET_AVX512F)))))
13696 : : return -1;
13697 : : return 2751; /* *addv8df3_mask_round */
13698 : :
13699 : : case 7:
13700 : : if (!(
13701 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13702 : : (TARGET_AVX512F) && (
13703 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13704 : : (TARGET_AVX512F) && (
13705 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13706 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
13707 : : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
13708 : : || V4DFmode == V8DFmode
13709 : : || V4DFmode == V8DImode
13710 : : || V4DFmode == V16SImode
13711 : : || V4DFmode == V32HFmode)) &&
13712 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13713 : : (TARGET_AVX)))))
13714 : : return -1;
13715 : : return 2759; /* *addv4df3_mask_round */
13716 : :
13717 : : case 8:
13718 : : if (!(
13719 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13720 : : (TARGET_AVX512F) && (
13721 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13722 : : (TARGET_AVX512F) && (
13723 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13724 : : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
13725 : : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
13726 : : || V2DFmode == V8DFmode
13727 : : || V2DFmode == V8DImode
13728 : : || V2DFmode == V16SImode
13729 : : || V2DFmode == V32HFmode)) &&
13730 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13731 : : (TARGET_SSE2)))))
13732 : : return -1;
13733 : : return 2767; /* *addv2df3_mask_round */
13734 : :
13735 : : case 9:
13736 : : if (!(
13737 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13738 : : (TARGET_AVX512F) && (
13739 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13740 : : (TARGET_SSE) &&
13741 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13742 : : (TARGET_AVX512FP16))))
13743 : : return -1;
13744 : : return 2779; /* avx512fp16_vmaddv8hf3_round */
13745 : :
13746 : : case 10:
13747 : : if (!(
13748 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13749 : : (TARGET_AVX512F) &&
13750 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13751 : : (TARGET_SSE)))
13752 : : return -1;
13753 : : return 2787; /* sse_vmaddv4sf3_round */
13754 : :
13755 : : case 11:
13756 : : if (!(
13757 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13758 : : (TARGET_AVX512F) && (
13759 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13760 : : (TARGET_SSE) &&
13761 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13762 : : (TARGET_SSE2))))
13763 : : return -1;
13764 : : return 2795; /* sse2_vmaddv2df3_round */
13765 : :
13766 : : default:
13767 : : return -1;
13768 : : }
13769 : :
13770 : : case MINUS:
13771 : : switch (pattern637 (x2))
13772 : : {
13773 : : case 0:
13774 : : if (!(
13775 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13776 : : (TARGET_AVX512F) && (
13777 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13778 : : (TARGET_AVX512F) && (
13779 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13780 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
13781 : : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13782 : : || V32HFmode == V8DFmode
13783 : : || V32HFmode == V8DImode
13784 : : || V32HFmode == V16SImode
13785 : : || V32HFmode == V32HFmode)) &&
13786 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13787 : : (TARGET_AVX512FP16)))))
13788 : : return -1;
13789 : : return 2707; /* *subv32hf3_mask_round */
13790 : :
13791 : : case 1:
13792 : : if (!(
13793 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13794 : : (TARGET_AVX512F) && (
13795 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13796 : : (TARGET_AVX512F) && (
13797 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13798 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
13799 : : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
13800 : : || V16HFmode == V8DFmode
13801 : : || V16HFmode == V8DImode
13802 : : || V16HFmode == V16SImode
13803 : : || V16HFmode == V32HFmode)) &&
13804 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13805 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
13806 : : return -1;
13807 : : return 2715; /* *subv16hf3_mask_round */
13808 : :
13809 : : case 2:
13810 : : if (!(
13811 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13812 : : (TARGET_AVX512F) && (
13813 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13814 : : (TARGET_AVX512F) && (
13815 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13816 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
13817 : : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
13818 : : || V8HFmode == V8DFmode
13819 : : || V8HFmode == V8DImode
13820 : : || V8HFmode == V16SImode
13821 : : || V8HFmode == V32HFmode)) &&
13822 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13823 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
13824 : : return -1;
13825 : : return 2723; /* *subv8hf3_mask_round */
13826 : :
13827 : : case 3:
13828 : : if (!(
13829 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13830 : : (TARGET_AVX512F) && (
13831 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13832 : : (TARGET_AVX512F) && (
13833 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13834 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
13835 : : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13836 : : || V16SFmode == V8DFmode
13837 : : || V16SFmode == V8DImode
13838 : : || V16SFmode == V16SImode
13839 : : || V16SFmode == V32HFmode)) &&
13840 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13841 : : (TARGET_AVX512F)))))
13842 : : return -1;
13843 : : return 2731; /* *subv16sf3_mask_round */
13844 : :
13845 : : case 4:
13846 : : if (!(
13847 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13848 : : (TARGET_AVX512F) && (
13849 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13850 : : (TARGET_AVX512F) && (
13851 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13852 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
13853 : : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
13854 : : || V8SFmode == V8DFmode
13855 : : || V8SFmode == V8DImode
13856 : : || V8SFmode == V16SImode
13857 : : || V8SFmode == V32HFmode)) &&
13858 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13859 : : (TARGET_AVX)))))
13860 : : return -1;
13861 : : return 2739; /* *subv8sf3_mask_round */
13862 : :
13863 : : case 5:
13864 : : if (!(
13865 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13866 : : (TARGET_AVX512F) && (
13867 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13868 : : (TARGET_AVX512F) &&
13869 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13870 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
13871 : : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
13872 : : || V4SFmode == V8DFmode
13873 : : || V4SFmode == V8DImode
13874 : : || V4SFmode == V16SImode
13875 : : || V4SFmode == V32HFmode)))))
13876 : : return -1;
13877 : : return 2747; /* *subv4sf3_mask_round */
13878 : :
13879 : : case 6:
13880 : : if (!(
13881 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13882 : : (TARGET_AVX512F) && (
13883 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13884 : : (TARGET_AVX512F) && (
13885 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13886 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
13887 : : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13888 : : || V8DFmode == V8DFmode
13889 : : || V8DFmode == V8DImode
13890 : : || V8DFmode == V16SImode
13891 : : || V8DFmode == V32HFmode)) &&
13892 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13893 : : (TARGET_AVX512F)))))
13894 : : return -1;
13895 : : return 2755; /* *subv8df3_mask_round */
13896 : :
13897 : : case 7:
13898 : : if (!(
13899 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13900 : : (TARGET_AVX512F) && (
13901 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13902 : : (TARGET_AVX512F) && (
13903 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13904 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
13905 : : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
13906 : : || V4DFmode == V8DFmode
13907 : : || V4DFmode == V8DImode
13908 : : || V4DFmode == V16SImode
13909 : : || V4DFmode == V32HFmode)) &&
13910 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13911 : : (TARGET_AVX)))))
13912 : : return -1;
13913 : : return 2763; /* *subv4df3_mask_round */
13914 : :
13915 : : case 8:
13916 : : if (!(
13917 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13918 : : (TARGET_AVX512F) && (
13919 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13920 : : (TARGET_AVX512F) && (
13921 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13922 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
13923 : : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
13924 : : || V2DFmode == V8DFmode
13925 : : || V2DFmode == V8DImode
13926 : : || V2DFmode == V16SImode
13927 : : || V2DFmode == V32HFmode)) &&
13928 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13929 : : (TARGET_SSE2)))))
13930 : : return -1;
13931 : : return 2771; /* *subv2df3_mask_round */
13932 : :
13933 : : case 9:
13934 : : if (!(
13935 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13936 : : (TARGET_AVX512F) && (
13937 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13938 : : (TARGET_SSE) &&
13939 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13940 : : (TARGET_AVX512FP16))))
13941 : : return -1;
13942 : : return 2783; /* avx512fp16_vmsubv8hf3_round */
13943 : :
13944 : : case 10:
13945 : : if (!(
13946 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13947 : : (TARGET_AVX512F) &&
13948 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13949 : : (TARGET_SSE)))
13950 : : return -1;
13951 : : return 2791; /* sse_vmsubv4sf3_round */
13952 : :
13953 : : case 11:
13954 : : if (!(
13955 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13956 : : (TARGET_AVX512F) && (
13957 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13958 : : (TARGET_SSE) &&
13959 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13960 : : (TARGET_SSE2))))
13961 : : return -1;
13962 : : return 2799; /* sse2_vmsubv2df3_round */
13963 : :
13964 : : default:
13965 : : return -1;
13966 : : }
13967 : :
13968 : : case VEC_MERGE:
13969 : : return recog_225 (x1, insn, pnum_clobbers);
13970 : :
13971 : : case MULT:
13972 : : switch (pattern637 (x2))
13973 : : {
13974 : : case 0:
13975 : : if (!(
13976 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13977 : : (TARGET_AVX512F) && (
13978 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13979 : : (TARGET_AVX512F) && (
13980 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13981 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
13982 : : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13983 : : || V32HFmode == V8DFmode
13984 : : || V32HFmode == V8DImode
13985 : : || V32HFmode == V16SImode
13986 : : || V32HFmode == V32HFmode)) &&
13987 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13988 : : (TARGET_AVX512FP16)))))
13989 : : return -1;
13990 : : return 2805; /* *mulv32hf3_mask_round */
13991 : :
13992 : : case 1:
13993 : : if (!(
13994 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13995 : : (TARGET_AVX512F) && (
13996 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13997 : : (TARGET_AVX512F) && (
13998 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13999 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
14000 : : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
14001 : : || V16HFmode == V8DFmode
14002 : : || V16HFmode == V8DImode
14003 : : || V16HFmode == V16SImode
14004 : : || V16HFmode == V32HFmode)) &&
14005 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14006 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14007 : : return -1;
14008 : : return 2809; /* *mulv16hf3_mask_round */
14009 : :
14010 : : case 2:
14011 : : if (!(
14012 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14013 : : (TARGET_AVX512F) && (
14014 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14015 : : (TARGET_AVX512F) && (
14016 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14017 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
14018 : : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
14019 : : || V8HFmode == V8DFmode
14020 : : || V8HFmode == V8DImode
14021 : : || V8HFmode == V16SImode
14022 : : || V8HFmode == V32HFmode)) &&
14023 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14024 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14025 : : return -1;
14026 : : return 2813; /* *mulv8hf3_mask_round */
14027 : :
14028 : : case 3:
14029 : : if (!(
14030 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14031 : : (TARGET_AVX512F) && (
14032 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14033 : : (TARGET_AVX512F) && (
14034 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14035 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
14036 : : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14037 : : || V16SFmode == V8DFmode
14038 : : || V16SFmode == V8DImode
14039 : : || V16SFmode == V16SImode
14040 : : || V16SFmode == V32HFmode)) &&
14041 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14042 : : (TARGET_AVX512F)))))
14043 : : return -1;
14044 : : return 2817; /* *mulv16sf3_mask_round */
14045 : :
14046 : : case 4:
14047 : : if (!(
14048 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14049 : : (TARGET_AVX512F) && (
14050 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14051 : : (TARGET_AVX512F) && (
14052 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14053 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
14054 : : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
14055 : : || V8SFmode == V8DFmode
14056 : : || V8SFmode == V8DImode
14057 : : || V8SFmode == V16SImode
14058 : : || V8SFmode == V32HFmode)) &&
14059 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14060 : : (TARGET_AVX)))))
14061 : : return -1;
14062 : : return 2821; /* *mulv8sf3_mask_round */
14063 : :
14064 : : case 5:
14065 : : if (!(
14066 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14067 : : (TARGET_AVX512F) && (
14068 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14069 : : (TARGET_AVX512F) &&
14070 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14071 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
14072 : : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
14073 : : || V4SFmode == V8DFmode
14074 : : || V4SFmode == V8DImode
14075 : : || V4SFmode == V16SImode
14076 : : || V4SFmode == V32HFmode)))))
14077 : : return -1;
14078 : : return 2825; /* *mulv4sf3_mask_round */
14079 : :
14080 : : case 6:
14081 : : if (!(
14082 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14083 : : (TARGET_AVX512F) && (
14084 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14085 : : (TARGET_AVX512F) && (
14086 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14087 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
14088 : : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14089 : : || V8DFmode == V8DFmode
14090 : : || V8DFmode == V8DImode
14091 : : || V8DFmode == V16SImode
14092 : : || V8DFmode == V32HFmode)) &&
14093 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14094 : : (TARGET_AVX512F)))))
14095 : : return -1;
14096 : : return 2829; /* *mulv8df3_mask_round */
14097 : :
14098 : : case 7:
14099 : : if (!(
14100 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14101 : : (TARGET_AVX512F) && (
14102 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14103 : : (TARGET_AVX512F) && (
14104 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14105 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
14106 : : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
14107 : : || V4DFmode == V8DFmode
14108 : : || V4DFmode == V8DImode
14109 : : || V4DFmode == V16SImode
14110 : : || V4DFmode == V32HFmode)) &&
14111 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14112 : : (TARGET_AVX)))))
14113 : : return -1;
14114 : : return 2833; /* *mulv4df3_mask_round */
14115 : :
14116 : : case 8:
14117 : : if (!(
14118 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14119 : : (TARGET_AVX512F) && (
14120 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14121 : : (TARGET_AVX512F) && (
14122 : : #line 2752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14123 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
14124 : : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
14125 : : || V2DFmode == V8DFmode
14126 : : || V2DFmode == V8DImode
14127 : : || V2DFmode == V16SImode
14128 : : || V2DFmode == V32HFmode)) &&
14129 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14130 : : (TARGET_SSE2)))))
14131 : : return -1;
14132 : : return 2837; /* *mulv2df3_mask_round */
14133 : :
14134 : : case 9:
14135 : : if (!(
14136 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14137 : : (TARGET_AVX512F) && (
14138 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14139 : : (TARGET_SSE) &&
14140 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14141 : : (TARGET_AVX512FP16))))
14142 : : return -1;
14143 : : return 2845; /* avx512fp16_vmmulv8hf3_round */
14144 : :
14145 : : case 10:
14146 : : if (!(
14147 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14148 : : (TARGET_AVX512F) &&
14149 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14150 : : (TARGET_SSE)))
14151 : : return -1;
14152 : : return 2853; /* sse_vmmulv4sf3_round */
14153 : :
14154 : : case 11:
14155 : : if (!(
14156 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14157 : : (TARGET_AVX512F) && (
14158 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14159 : : (TARGET_SSE) &&
14160 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14161 : : (TARGET_SSE2))))
14162 : : return -1;
14163 : : return 2861; /* sse2_vmmulv2df3_round */
14164 : :
14165 : : default:
14166 : : return -1;
14167 : : }
14168 : :
14169 : : case DIV:
14170 : : x5 = XEXP (x4, 0);
14171 : : operands[1] = x5;
14172 : : x6 = XEXP (x4, 1);
14173 : : operands[2] = x6;
14174 : : x7 = XVECEXP (x2, 0, 1);
14175 : : if (!const_4_or_8_to_11_operand (x7, E_SImode))
14176 : : return -1;
14177 : : x8 = XEXP (x3, 2);
14178 : : switch (GET_CODE (x8))
14179 : : {
14180 : : case CONST_INT:
14181 : : switch (pattern636 (x2))
14182 : : {
14183 : : case 0:
14184 : : if (!(
14185 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14186 : : (TARGET_AVX512F) && (
14187 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14188 : : (TARGET_SSE) &&
14189 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14190 : : (TARGET_AVX512FP16))))
14191 : : return -1;
14192 : : return 2849; /* avx512fp16_vmdivv8hf3_round */
14193 : :
14194 : : case 1:
14195 : : if (!(
14196 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14197 : : (TARGET_AVX512F) &&
14198 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14199 : : (TARGET_SSE)))
14200 : : return -1;
14201 : : return 2857; /* sse_vmdivv4sf3_round */
14202 : :
14203 : : case 2:
14204 : : if (!(
14205 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14206 : : (TARGET_AVX512F) && (
14207 : : #line 2803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14208 : : (TARGET_SSE) &&
14209 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14210 : : (TARGET_SSE2))))
14211 : : return -1;
14212 : : return 2865; /* sse2_vmdivv2df3_round */
14213 : :
14214 : : default:
14215 : : return -1;
14216 : : }
14217 : :
14218 : : case REG:
14219 : : case SUBREG:
14220 : : switch (pattern638 (x2))
14221 : : {
14222 : : case 0:
14223 : : if (!(
14224 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14225 : : (TARGET_AVX512F) && (
14226 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14227 : : (TARGET_AVX512F) && (
14228 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14229 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14230 : : || V32HFmode == V8DFmode
14231 : : || V32HFmode == V8DImode
14232 : : || V32HFmode == V16SImode
14233 : : || V32HFmode == V32HFmode)) &&
14234 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14235 : : (TARGET_AVX512FP16)))))
14236 : : return -1;
14237 : : return 2871; /* avx512fp16_divv32hf3_mask_round */
14238 : :
14239 : : case 1:
14240 : : if (!(
14241 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14242 : : (TARGET_AVX512F) && (
14243 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14244 : : (TARGET_AVX512F) && (
14245 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14246 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14247 : : || V16SFmode == V8DFmode
14248 : : || V16SFmode == V8DImode
14249 : : || V16SFmode == V16SImode
14250 : : || V16SFmode == V32HFmode)) &&
14251 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14252 : : (TARGET_AVX512F)))))
14253 : : return -1;
14254 : : return 2879; /* avx512f_divv16sf3_mask_round */
14255 : :
14256 : : case 2:
14257 : : if (!(
14258 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14259 : : (TARGET_AVX512F) && (
14260 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14261 : : (TARGET_AVX512F) && (
14262 : : #line 2901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14263 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14264 : : || V8DFmode == V8DFmode
14265 : : || V8DFmode == V8DImode
14266 : : || V8DFmode == V16SImode
14267 : : || V8DFmode == V32HFmode)) &&
14268 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14269 : : (TARGET_AVX512F)))))
14270 : : return -1;
14271 : : return 2887; /* avx512f_divv8df3_mask_round */
14272 : :
14273 : : default:
14274 : : return -1;
14275 : : }
14276 : :
14277 : : default:
14278 : : return -1;
14279 : : }
14280 : :
14281 : : case SQRT:
14282 : : x5 = XEXP (x4, 0);
14283 : : operands[1] = x5;
14284 : : x9 = XEXP (x3, 1);
14285 : : operands[2] = x9;
14286 : : x7 = XVECEXP (x2, 0, 1);
14287 : : if (!const_4_or_8_to_11_operand (x7, E_SImode))
14288 : : return -1;
14289 : : x8 = XEXP (x3, 2);
14290 : : switch (GET_CODE (x8))
14291 : : {
14292 : : case REG:
14293 : : case SUBREG:
14294 : : operands[3] = x8;
14295 : : operands[4] = x7;
14296 : : switch (GET_MODE (operands[0]))
14297 : : {
14298 : : case E_V32HFmode:
14299 : : if (pattern1390 (x2,
14300 : : E_SImode,
14301 : : E_V32HFmode) != 0
14302 : : || !(
14303 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14304 : : (TARGET_AVX512F) && (
14305 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14306 : : (TARGET_AVX512F) && (
14307 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14308 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14309 : : || V32HFmode == V8DFmode
14310 : : || V32HFmode == V8DImode
14311 : : || V32HFmode == V16SImode
14312 : : || V32HFmode == V32HFmode)) &&
14313 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14314 : : (TARGET_AVX512FP16)))))
14315 : : return -1;
14316 : : return 2924; /* avx512fp16_sqrtv32hf2_mask_round */
14317 : :
14318 : : case E_V16SFmode:
14319 : : if (pattern1390 (x2,
14320 : : E_HImode,
14321 : : E_V16SFmode) != 0
14322 : : || !(
14323 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14324 : : (TARGET_AVX512F) && (
14325 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14326 : : (TARGET_AVX512F) && (
14327 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14328 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14329 : : || V16SFmode == V8DFmode
14330 : : || V16SFmode == V8DImode
14331 : : || V16SFmode == V16SImode
14332 : : || V16SFmode == V32HFmode)) &&
14333 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14334 : : (TARGET_AVX512F)))))
14335 : : return -1;
14336 : : return 2932; /* avx512f_sqrtv16sf2_mask_round */
14337 : :
14338 : : case E_V8DFmode:
14339 : : if (pattern1390 (x2,
14340 : : E_QImode,
14341 : : E_V8DFmode) != 0
14342 : : || !(
14343 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14344 : : (TARGET_AVX512F) && (
14345 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14346 : : (TARGET_AVX512F) && (
14347 : : #line 3067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14348 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14349 : : || V8DFmode == V8DFmode
14350 : : || V8DFmode == V8DImode
14351 : : || V8DFmode == V16SImode
14352 : : || V8DFmode == V32HFmode)) &&
14353 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14354 : : (TARGET_AVX512F)))))
14355 : : return -1;
14356 : : return 2940; /* avx512f_sqrtv8df2_mask_round */
14357 : :
14358 : : default:
14359 : : return -1;
14360 : : }
14361 : :
14362 : : case CONST_INT:
14363 : : if (XWINT (x8, 0) != 1L)
14364 : : return -1;
14365 : : operands[3] = x7;
14366 : : switch (GET_MODE (operands[0]))
14367 : : {
14368 : : case E_V8HFmode:
14369 : : if (pattern1391 (x2,
14370 : : E_V8HFmode) != 0
14371 : : || !(
14372 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14373 : : (TARGET_AVX512F) && (
14374 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14375 : : (TARGET_SSE) &&
14376 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14377 : : (TARGET_AVX512FP16))))
14378 : : return -1;
14379 : : return 2946; /* avx512fp16_vmsqrtv8hf2_round */
14380 : :
14381 : : case E_V4SFmode:
14382 : : if (pattern1391 (x2,
14383 : : E_V4SFmode) != 0
14384 : : || !(
14385 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14386 : : (TARGET_AVX512F) &&
14387 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14388 : : (TARGET_SSE)))
14389 : : return -1;
14390 : : return 2950; /* sse_vmsqrtv4sf2_round */
14391 : :
14392 : : case E_V2DFmode:
14393 : : if (pattern1391 (x2,
14394 : : E_V2DFmode) != 0
14395 : : || !(
14396 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14397 : : (TARGET_AVX512F) && (
14398 : : #line 3085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14399 : : (TARGET_SSE) &&
14400 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14401 : : (TARGET_SSE2))))
14402 : : return -1;
14403 : : return 2954; /* sse2_vmsqrtv2df2_round */
14404 : :
14405 : : default:
14406 : : return -1;
14407 : : }
14408 : :
14409 : : default:
14410 : : return -1;
14411 : : }
14412 : :
14413 : : case VEC_DUPLICATE:
14414 : : return recog_228 (x1, insn, pnum_clobbers);
14415 : :
14416 : : case SMAX:
14417 : : switch (pattern639 (x2))
14418 : : {
14419 : : case 0:
14420 : : if (!(
14421 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14422 : : (TARGET_AVX512F) && (
14423 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14424 : : (TARGET_AVX512F) && (
14425 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14426 : : (TARGET_SSE
14427 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
14428 : : && (64 == 64 || TARGET_AVX512VL)
14429 : : && (V32HFmode == V16SFmode
14430 : : || V32HFmode == V8DFmode
14431 : : || V32HFmode == V8DImode
14432 : : || V32HFmode == V16SImode
14433 : : || V32HFmode == V32HFmode)) &&
14434 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14435 : : (TARGET_AVX512FP16)))))
14436 : : return -1;
14437 : : return 3002; /* *smaxv32hf3_mask_round */
14438 : :
14439 : : case 1:
14440 : : if (!(
14441 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14442 : : (TARGET_AVX512F) && (
14443 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14444 : : (TARGET_AVX512F) && (
14445 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14446 : : (TARGET_SSE
14447 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
14448 : : && (64 == 64 || TARGET_AVX512VL)
14449 : : && (V16SFmode == V16SFmode
14450 : : || V16SFmode == V8DFmode
14451 : : || V16SFmode == V8DImode
14452 : : || V16SFmode == V16SImode
14453 : : || V16SFmode == V32HFmode)) &&
14454 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14455 : : (TARGET_AVX512F)))))
14456 : : return -1;
14457 : : return 3018; /* *smaxv16sf3_mask_round */
14458 : :
14459 : : case 2:
14460 : : if (!(
14461 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14462 : : (TARGET_AVX512F) && (
14463 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14464 : : (TARGET_AVX512F) && (
14465 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14466 : : (TARGET_SSE
14467 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
14468 : : && (64 == 64 || TARGET_AVX512VL)
14469 : : && (V8DFmode == V16SFmode
14470 : : || V8DFmode == V8DFmode
14471 : : || V8DFmode == V8DImode
14472 : : || V8DFmode == V16SImode
14473 : : || V8DFmode == V32HFmode)) &&
14474 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14475 : : (TARGET_AVX512F)))))
14476 : : return -1;
14477 : : return 3034; /* *smaxv8df3_mask_round */
14478 : :
14479 : : case 3:
14480 : : if (!(
14481 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14482 : : (TARGET_AVX512F) && (
14483 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14484 : : (TARGET_SSE) &&
14485 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14486 : : (TARGET_AVX512FP16))))
14487 : : return -1;
14488 : : return 3116; /* *avx512fp16_vmsmaxv8hf3_round */
14489 : :
14490 : : case 4:
14491 : : if (!(
14492 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14493 : : (TARGET_AVX512F) &&
14494 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14495 : : (TARGET_SSE)))
14496 : : return -1;
14497 : : return 3124; /* *sse_vmsmaxv4sf3_round */
14498 : :
14499 : : case 5:
14500 : : if (!(
14501 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14502 : : (TARGET_AVX512F) && (
14503 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14504 : : (TARGET_SSE) &&
14505 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14506 : : (TARGET_SSE2))))
14507 : : return -1;
14508 : : return 3132; /* *sse2_vmsmaxv2df3_round */
14509 : :
14510 : : default:
14511 : : return -1;
14512 : : }
14513 : :
14514 : : case SMIN:
14515 : : switch (pattern639 (x2))
14516 : : {
14517 : : case 0:
14518 : : if (!(
14519 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14520 : : (TARGET_AVX512F) && (
14521 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14522 : : (TARGET_AVX512F) && (
14523 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14524 : : (TARGET_SSE
14525 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
14526 : : && (64 == 64 || TARGET_AVX512VL)
14527 : : && (V32HFmode == V16SFmode
14528 : : || V32HFmode == V8DFmode
14529 : : || V32HFmode == V8DImode
14530 : : || V32HFmode == V16SImode
14531 : : || V32HFmode == V32HFmode)) &&
14532 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14533 : : (TARGET_AVX512FP16)))))
14534 : : return -1;
14535 : : return 3006; /* *sminv32hf3_mask_round */
14536 : :
14537 : : case 1:
14538 : : if (!(
14539 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14540 : : (TARGET_AVX512F) && (
14541 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14542 : : (TARGET_AVX512F) && (
14543 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14544 : : (TARGET_SSE
14545 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
14546 : : && (64 == 64 || TARGET_AVX512VL)
14547 : : && (V16SFmode == V16SFmode
14548 : : || V16SFmode == V8DFmode
14549 : : || V16SFmode == V8DImode
14550 : : || V16SFmode == V16SImode
14551 : : || V16SFmode == V32HFmode)) &&
14552 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14553 : : (TARGET_AVX512F)))))
14554 : : return -1;
14555 : : return 3022; /* *sminv16sf3_mask_round */
14556 : :
14557 : : case 2:
14558 : : if (!(
14559 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14560 : : (TARGET_AVX512F) && (
14561 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14562 : : (TARGET_AVX512F) && (
14563 : : #line 3308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14564 : : (TARGET_SSE
14565 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
14566 : : && (64 == 64 || TARGET_AVX512VL)
14567 : : && (V8DFmode == V16SFmode
14568 : : || V8DFmode == V8DFmode
14569 : : || V8DFmode == V8DImode
14570 : : || V8DFmode == V16SImode
14571 : : || V8DFmode == V32HFmode)) &&
14572 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14573 : : (TARGET_AVX512F)))))
14574 : : return -1;
14575 : : return 3038; /* *sminv8df3_mask_round */
14576 : :
14577 : : case 3:
14578 : : if (!(
14579 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14580 : : (TARGET_AVX512F) && (
14581 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14582 : : (TARGET_SSE) &&
14583 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14584 : : (TARGET_AVX512FP16))))
14585 : : return -1;
14586 : : return 3120; /* *avx512fp16_vmsminv8hf3_round */
14587 : :
14588 : : case 4:
14589 : : if (!(
14590 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14591 : : (TARGET_AVX512F) &&
14592 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14593 : : (TARGET_SSE)))
14594 : : return -1;
14595 : : return 3128; /* *sse_vmsminv4sf3_round */
14596 : :
14597 : : case 5:
14598 : : if (!(
14599 : : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14600 : : (TARGET_AVX512F) && (
14601 : : #line 3469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14602 : : (TARGET_SSE) &&
14603 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14604 : : (TARGET_SSE2))))
14605 : : return -1;
14606 : : return 3136; /* *sse2_vmsminv2df3_round */
14607 : :
14608 : : default:
14609 : : return -1;
14610 : : }
14611 : :
14612 : : case UNSPEC:
14613 : : return recog_227 (x1, insn, pnum_clobbers);
14614 : :
14615 : : case FMA:
14616 : : return recog_226 (x1, insn, pnum_clobbers);
14617 : :
14618 : : case FLOAT:
14619 : : x5 = XEXP (x4, 0);
14620 : : operands[1] = x5;
14621 : : x9 = XEXP (x3, 1);
14622 : : operands[2] = x9;
14623 : : x8 = XEXP (x3, 2);
14624 : : operands[3] = x8;
14625 : : x7 = XVECEXP (x2, 0, 1);
14626 : : operands[4] = x7;
14627 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
14628 : : return -1;
14629 : : switch (GET_MODE (operands[0]))
14630 : : {
14631 : : case E_V8HFmode:
14632 : : switch (pattern1293 (x2))
14633 : : {
14634 : : case 0:
14635 : : if (!(
14636 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14637 : : (TARGET_AVX512F) && (
14638 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14639 : : (TARGET_AVX512F) && (
14640 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14641 : : (TARGET_AVX512FP16) &&
14642 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14643 : : (TARGET_AVX512VL)))))
14644 : : return -1;
14645 : : return 4437; /* avx512fp16_vcvtw2ph_v8hi_mask_round */
14646 : :
14647 : : case 1:
14648 : : if (!(
14649 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14650 : : (TARGET_AVX512F) && (
14651 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14652 : : (TARGET_AVX512F) && (
14653 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14654 : : (TARGET_AVX512FP16) &&
14655 : : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14656 : : (TARGET_AVX512VL)))))
14657 : : return -1;
14658 : : return 4461; /* avx512fp16_vcvtdq2ph_v8si_mask_round */
14659 : :
14660 : : case 2:
14661 : : if (!(
14662 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14663 : : (TARGET_AVX512F) && (
14664 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14665 : : (TARGET_AVX512F) &&
14666 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14667 : : (TARGET_AVX512FP16))))
14668 : : return -1;
14669 : : return 4477; /* avx512fp16_vcvtqq2ph_v8di_mask_round */
14670 : :
14671 : : default:
14672 : : return -1;
14673 : : }
14674 : :
14675 : : case E_V16HFmode:
14676 : : switch (pattern1294 (x2))
14677 : : {
14678 : : case 0:
14679 : : if (!(
14680 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14681 : : (TARGET_AVX512F) && (
14682 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14683 : : (TARGET_AVX512F) && (
14684 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14685 : : (TARGET_AVX512FP16) &&
14686 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14687 : : (TARGET_AVX512VL)))))
14688 : : return -1;
14689 : : return 4445; /* avx512fp16_vcvtw2ph_v16hi_mask_round */
14690 : :
14691 : : case 1:
14692 : : if (!(
14693 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14694 : : (TARGET_AVX512F) && (
14695 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14696 : : (TARGET_AVX512F) &&
14697 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14698 : : (TARGET_AVX512FP16))))
14699 : : return -1;
14700 : : return 4469; /* avx512fp16_vcvtdq2ph_v16si_mask_round */
14701 : :
14702 : : default:
14703 : : return -1;
14704 : : }
14705 : :
14706 : : case E_V32HFmode:
14707 : : if (pattern640 (x2,
14708 : : E_SImode,
14709 : : E_V32HFmode,
14710 : : E_V32HImode) != 0
14711 : : || !(
14712 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14713 : : (TARGET_AVX512F) && (
14714 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14715 : : (TARGET_AVX512F) &&
14716 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14717 : : (TARGET_AVX512FP16))))
14718 : : return -1;
14719 : : return 4453; /* avx512fp16_vcvtw2ph_v32hi_mask_round */
14720 : :
14721 : : case E_V16SFmode:
14722 : : if (pattern640 (x2,
14723 : : E_HImode,
14724 : : E_V16SFmode,
14725 : : E_V16SImode) != 0
14726 : : || !(
14727 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14728 : : (TARGET_AVX512F) && (
14729 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14730 : : (TARGET_AVX512F) && (
14731 : : #line 8678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14732 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14733 : : || V16SFmode == V8DFmode
14734 : : || V16SFmode == V8DImode
14735 : : || V16SFmode == V16SImode
14736 : : || V16SFmode == V32HFmode)) &&
14737 : : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14738 : : (TARGET_AVX512F)))))
14739 : : return -1;
14740 : : return 4773; /* floatv16siv16sf2_mask_round */
14741 : :
14742 : : case E_V8DFmode:
14743 : : if (pattern1295 (x2,
14744 : : E_V8DFmode,
14745 : : E_V8DImode,
14746 : : E_QImode) != 0
14747 : : || !(
14748 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14749 : : (TARGET_AVX512F) && (
14750 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14751 : : (TARGET_AVX512F) &&
14752 : : #line 9211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14753 : : (TARGET_AVX512DQ))))
14754 : : return -1;
14755 : : return 4905; /* floatv8div8df2_mask_round */
14756 : :
14757 : : case E_V4DFmode:
14758 : : if (pattern1295 (x2,
14759 : : E_V4DFmode,
14760 : : E_V4DImode,
14761 : : E_QImode) != 0
14762 : : || !(
14763 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14764 : : (TARGET_AVX512F) && (
14765 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14766 : : (TARGET_AVX512F) && (
14767 : : #line 9211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14768 : : (TARGET_AVX512DQ) &&
14769 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14770 : : (TARGET_AVX512VL)))))
14771 : : return -1;
14772 : : return 4913; /* floatv4div4df2_mask_round */
14773 : :
14774 : : case E_V2DFmode:
14775 : : if (pattern1295 (x2,
14776 : : E_V2DFmode,
14777 : : E_V2DImode,
14778 : : E_QImode) != 0
14779 : : || !(
14780 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14781 : : (TARGET_AVX512F) && (
14782 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14783 : : (TARGET_AVX512F) && (
14784 : : #line 9211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14785 : : (TARGET_AVX512DQ) &&
14786 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14787 : : (TARGET_AVX512VL)))))
14788 : : return -1;
14789 : : return 4921; /* floatv2div2df2_mask_round */
14790 : :
14791 : : case E_V8SFmode:
14792 : : if (pattern1295 (x2,
14793 : : E_V8SFmode,
14794 : : E_V8DImode,
14795 : : E_QImode) != 0
14796 : : || !(
14797 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14798 : : (TARGET_AVX512F) && (
14799 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14800 : : (TARGET_AVX512F) &&
14801 : : #line 9225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14802 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14803 : : || V8DImode == V8DFmode
14804 : : || V8DImode == V8DImode
14805 : : || V8DImode == V16SImode
14806 : : || V8DImode == V32HFmode)))))
14807 : : return -1;
14808 : : return 4929; /* floatv8div8sf2_mask_round */
14809 : :
14810 : : default:
14811 : : return -1;
14812 : : }
14813 : :
14814 : : case UNSIGNED_FLOAT:
14815 : : x5 = XEXP (x4, 0);
14816 : : operands[1] = x5;
14817 : : x9 = XEXP (x3, 1);
14818 : : operands[2] = x9;
14819 : : x8 = XEXP (x3, 2);
14820 : : operands[3] = x8;
14821 : : x7 = XVECEXP (x2, 0, 1);
14822 : : operands[4] = x7;
14823 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
14824 : : return -1;
14825 : : switch (GET_MODE (operands[0]))
14826 : : {
14827 : : case E_V8HFmode:
14828 : : switch (pattern1293 (x2))
14829 : : {
14830 : : case 0:
14831 : : if (!(
14832 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14833 : : (TARGET_AVX512F) && (
14834 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14835 : : (TARGET_AVX512F) && (
14836 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14837 : : (TARGET_AVX512FP16) &&
14838 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14839 : : (TARGET_AVX512VL)))))
14840 : : return -1;
14841 : : return 4441; /* avx512fp16_vcvtuw2ph_v8hi_mask_round */
14842 : :
14843 : : case 1:
14844 : : if (!(
14845 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14846 : : (TARGET_AVX512F) && (
14847 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14848 : : (TARGET_AVX512F) && (
14849 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14850 : : (TARGET_AVX512FP16) &&
14851 : : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14852 : : (TARGET_AVX512VL)))))
14853 : : return -1;
14854 : : return 4465; /* avx512fp16_vcvtudq2ph_v8si_mask_round */
14855 : :
14856 : : case 2:
14857 : : if (!(
14858 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14859 : : (TARGET_AVX512F) && (
14860 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14861 : : (TARGET_AVX512F) &&
14862 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14863 : : (TARGET_AVX512FP16))))
14864 : : return -1;
14865 : : return 4481; /* avx512fp16_vcvtuqq2ph_v8di_mask_round */
14866 : :
14867 : : default:
14868 : : return -1;
14869 : : }
14870 : :
14871 : : case E_V16HFmode:
14872 : : switch (pattern1294 (x2))
14873 : : {
14874 : : case 0:
14875 : : if (!(
14876 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14877 : : (TARGET_AVX512F) && (
14878 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14879 : : (TARGET_AVX512F) && (
14880 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14881 : : (TARGET_AVX512FP16) &&
14882 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14883 : : (TARGET_AVX512VL)))))
14884 : : return -1;
14885 : : return 4449; /* avx512fp16_vcvtuw2ph_v16hi_mask_round */
14886 : :
14887 : : case 1:
14888 : : if (!(
14889 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14890 : : (TARGET_AVX512F) && (
14891 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14892 : : (TARGET_AVX512F) &&
14893 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14894 : : (TARGET_AVX512FP16))))
14895 : : return -1;
14896 : : return 4473; /* avx512fp16_vcvtudq2ph_v16si_mask_round */
14897 : :
14898 : : default:
14899 : : return -1;
14900 : : }
14901 : :
14902 : : case E_V32HFmode:
14903 : : if (pattern640 (x2,
14904 : : E_SImode,
14905 : : E_V32HFmode,
14906 : : E_V32HImode) != 0
14907 : : || !(
14908 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14909 : : (TARGET_AVX512F) && (
14910 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14911 : : (TARGET_AVX512F) &&
14912 : : #line 7700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14913 : : (TARGET_AVX512FP16))))
14914 : : return -1;
14915 : : return 4457; /* avx512fp16_vcvtuw2ph_v32hi_mask_round */
14916 : :
14917 : : case E_V16SFmode:
14918 : : if (pattern1295 (x2,
14919 : : E_V16SFmode,
14920 : : E_V16SImode,
14921 : : E_HImode) != 0
14922 : : || !
14923 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14924 : : (TARGET_AVX512F))
14925 : : return -1;
14926 : : return 4781; /* floatunsv16siv16sf2_mask_round */
14927 : :
14928 : : case E_V8SFmode:
14929 : : if (pattern1296 (x2,
14930 : : E_V8SFmode,
14931 : : E_QImode) != 0)
14932 : : return -1;
14933 : : switch (GET_MODE (operands[1]))
14934 : : {
14935 : : case E_V8SImode:
14936 : : if (!nonimmediate_operand (operands[1], E_V8SImode)
14937 : : || !(
14938 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14939 : : (TARGET_AVX512F) && (
14940 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14941 : : (TARGET_AVX512F) && (
14942 : : #line 8691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14943 : : (TARGET_AVX512F) &&
14944 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14945 : : (TARGET_AVX512VL)))))
14946 : : return -1;
14947 : : return 4785; /* floatunsv8siv8sf2_mask_round */
14948 : :
14949 : : case E_V8DImode:
14950 : : if (!nonimmediate_operand (operands[1], E_V8DImode)
14951 : : || !(
14952 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14953 : : (TARGET_AVX512F) && (
14954 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14955 : : (TARGET_AVX512F) &&
14956 : : #line 9225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14957 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14958 : : || V8DImode == V8DFmode
14959 : : || V8DImode == V8DImode
14960 : : || V8DImode == V16SImode
14961 : : || V8DImode == V32HFmode)))))
14962 : : return -1;
14963 : : return 4933; /* floatunsv8div8sf2_mask_round */
14964 : :
14965 : : default:
14966 : : return -1;
14967 : : }
14968 : :
14969 : : case E_V4SFmode:
14970 : : if (pattern1295 (x2,
14971 : : E_V4SFmode,
14972 : : E_V4SImode,
14973 : : E_QImode) != 0
14974 : : || !(
14975 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14976 : : (TARGET_AVX512F) && (
14977 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14978 : : (TARGET_AVX512F) && (
14979 : : #line 8691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14980 : : (TARGET_AVX512F) &&
14981 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14982 : : (TARGET_AVX512VL)))))
14983 : : return -1;
14984 : : return 4789; /* floatunsv4siv4sf2_mask_round */
14985 : :
14986 : : case E_V8DFmode:
14987 : : if (pattern1295 (x2,
14988 : : E_V8DFmode,
14989 : : E_V8DImode,
14990 : : E_QImode) != 0
14991 : : || !(
14992 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14993 : : (TARGET_AVX512F) && (
14994 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14995 : : (TARGET_AVX512F) &&
14996 : : #line 9211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14997 : : (TARGET_AVX512DQ))))
14998 : : return -1;
14999 : : return 4909; /* floatunsv8div8df2_mask_round */
15000 : :
15001 : : case E_V4DFmode:
15002 : : if (pattern1295 (x2,
15003 : : E_V4DFmode,
15004 : : E_V4DImode,
15005 : : E_QImode) != 0
15006 : : || !(
15007 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15008 : : (TARGET_AVX512F) && (
15009 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15010 : : (TARGET_AVX512F) && (
15011 : : #line 9211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15012 : : (TARGET_AVX512DQ) &&
15013 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15014 : : (TARGET_AVX512VL)))))
15015 : : return -1;
15016 : : return 4917; /* floatunsv4div4df2_mask_round */
15017 : :
15018 : : case E_V2DFmode:
15019 : : if (pattern1295 (x2,
15020 : : E_V2DFmode,
15021 : : E_V2DImode,
15022 : : E_QImode) != 0
15023 : : || !(
15024 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15025 : : (TARGET_AVX512F) && (
15026 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15027 : : (TARGET_AVX512F) && (
15028 : : #line 9211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15029 : : (TARGET_AVX512DQ) &&
15030 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15031 : : (TARGET_AVX512VL)))))
15032 : : return -1;
15033 : : return 4925; /* floatunsv2div2df2_mask_round */
15034 : :
15035 : : default:
15036 : : return -1;
15037 : : }
15038 : :
15039 : : case FIX:
15040 : : switch (pattern641 (x2))
15041 : : {
15042 : : case 0:
15043 : : if (!(
15044 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15045 : : (TARGET_AVX512F) && (
15046 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15047 : : (TARGET_AVX512F) && (
15048 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15049 : : (TARGET_AVX512FP16) &&
15050 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15051 : : (TARGET_AVX512VL)))))
15052 : : return -1;
15053 : : return 4571; /* avx512fp16_fix_truncv8hi2_mask_round */
15054 : :
15055 : : case 1:
15056 : : if (!(
15057 : : #line 263 "/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 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15062 : : (TARGET_AVX512FP16) &&
15063 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15064 : : (TARGET_AVX512VL)))))
15065 : : return -1;
15066 : : return 4579; /* avx512fp16_fix_truncv16hi2_mask_round */
15067 : :
15068 : : case 2:
15069 : : if (!(
15070 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15071 : : (TARGET_AVX512F) && (
15072 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15073 : : (TARGET_AVX512F) &&
15074 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15075 : : (TARGET_AVX512FP16))))
15076 : : return -1;
15077 : : return 4587; /* avx512fp16_fix_truncv32hi2_mask_round */
15078 : :
15079 : : case 3:
15080 : : if (!(
15081 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15082 : : (TARGET_AVX512F) && (
15083 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15084 : : (TARGET_AVX512F) && (
15085 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15086 : : (TARGET_AVX512FP16) &&
15087 : : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15088 : : (TARGET_AVX512VL)))))
15089 : : return -1;
15090 : : return 4595; /* avx512fp16_fix_truncv8si2_mask_round */
15091 : :
15092 : : case 4:
15093 : : if (!
15094 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15095 : : (TARGET_AVX512F))
15096 : : return -1;
15097 : : return 4986; /* fix_truncv8dfv8si2_mask_round */
15098 : :
15099 : : case 5:
15100 : : if (!(
15101 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15102 : : (TARGET_AVX512F) && (
15103 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15104 : : (TARGET_AVX512F) &&
15105 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15106 : : (TARGET_AVX512FP16))))
15107 : : return -1;
15108 : : return 4603; /* avx512fp16_fix_truncv16si2_mask_round */
15109 : :
15110 : : case 6:
15111 : : if (!
15112 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15113 : : (TARGET_AVX512F))
15114 : : return -1;
15115 : : return 4837; /* fix_truncv16sfv16si2_mask_round */
15116 : :
15117 : : case 7:
15118 : : if (!(
15119 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15120 : : (TARGET_AVX512F) && (
15121 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15122 : : (TARGET_AVX512F) &&
15123 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15124 : : (TARGET_AVX512FP16))))
15125 : : return -1;
15126 : : return 4611; /* avx512fp16_fix_truncv8di2_mask_round */
15127 : :
15128 : : case 8:
15129 : : if (!(
15130 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15131 : : (TARGET_AVX512F) && (
15132 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15133 : : (TARGET_AVX512F) &&
15134 : : #line 9736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15135 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
15136 : : || V8DFmode == V8DFmode
15137 : : || V8DFmode == V8DImode
15138 : : || V8DFmode == V16SImode
15139 : : || V8DFmode == V32HFmode)))))
15140 : : return -1;
15141 : : return 5023; /* fix_truncv8dfv8di2_mask_round */
15142 : :
15143 : : case 9:
15144 : : if (!(
15145 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15146 : : (TARGET_AVX512F) && (
15147 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15148 : : (TARGET_AVX512F) &&
15149 : : #line 9779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15150 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15151 : : || V8DImode == V8DFmode
15152 : : || V8DImode == V8DImode
15153 : : || V8DImode == V16SImode
15154 : : || V8DImode == V32HFmode)))))
15155 : : return -1;
15156 : : return 5067; /* fix_truncv8sfv8di2_mask_round */
15157 : :
15158 : : default:
15159 : : return -1;
15160 : : }
15161 : :
15162 : : case UNSIGNED_FIX:
15163 : : switch (pattern641 (x2))
15164 : : {
15165 : : case 0:
15166 : : if (!(
15167 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15168 : : (TARGET_AVX512F) && (
15169 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15170 : : (TARGET_AVX512F) && (
15171 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15172 : : (TARGET_AVX512FP16) &&
15173 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15174 : : (TARGET_AVX512VL)))))
15175 : : return -1;
15176 : : return 4575; /* avx512fp16_fixuns_truncv8hi2_mask_round */
15177 : :
15178 : : case 1:
15179 : : if (!(
15180 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15181 : : (TARGET_AVX512F) && (
15182 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15183 : : (TARGET_AVX512F) && (
15184 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15185 : : (TARGET_AVX512FP16) &&
15186 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15187 : : (TARGET_AVX512VL)))))
15188 : : return -1;
15189 : : return 4583; /* avx512fp16_fixuns_truncv16hi2_mask_round */
15190 : :
15191 : : case 2:
15192 : : if (!(
15193 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15194 : : (TARGET_AVX512F) && (
15195 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15196 : : (TARGET_AVX512F) &&
15197 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15198 : : (TARGET_AVX512FP16))))
15199 : : return -1;
15200 : : return 4591; /* avx512fp16_fixuns_truncv32hi2_mask_round */
15201 : :
15202 : : case 3:
15203 : : if (!(
15204 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15205 : : (TARGET_AVX512F) && (
15206 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15207 : : (TARGET_AVX512F) && (
15208 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15209 : : (TARGET_AVX512FP16) &&
15210 : : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15211 : : (TARGET_AVX512VL)))))
15212 : : return -1;
15213 : : return 4599; /* avx512fp16_fixuns_truncv8si2_mask_round */
15214 : :
15215 : : case 4:
15216 : : if (!
15217 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15218 : : (TARGET_AVX512F))
15219 : : return -1;
15220 : : return 4990; /* fixuns_truncv8dfv8si2_mask_round */
15221 : :
15222 : : case 5:
15223 : : if (!(
15224 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15225 : : (TARGET_AVX512F) && (
15226 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15227 : : (TARGET_AVX512F) &&
15228 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15229 : : (TARGET_AVX512FP16))))
15230 : : return -1;
15231 : : return 4607; /* avx512fp16_fixuns_truncv16si2_mask_round */
15232 : :
15233 : : case 6:
15234 : : if (!
15235 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15236 : : (TARGET_AVX512F))
15237 : : return -1;
15238 : : return 4841; /* fixuns_truncv16sfv16si2_mask_round */
15239 : :
15240 : : case 7:
15241 : : if (!(
15242 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15243 : : (TARGET_AVX512F) && (
15244 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15245 : : (TARGET_AVX512F) &&
15246 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15247 : : (TARGET_AVX512FP16))))
15248 : : return -1;
15249 : : return 4615; /* avx512fp16_fixuns_truncv8di2_mask_round */
15250 : :
15251 : : case 8:
15252 : : if (!(
15253 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15254 : : (TARGET_AVX512F) && (
15255 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15256 : : (TARGET_AVX512F) &&
15257 : : #line 9736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15258 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
15259 : : || V8DFmode == V8DFmode
15260 : : || V8DFmode == V8DImode
15261 : : || V8DFmode == V16SImode
15262 : : || V8DFmode == V32HFmode)))))
15263 : : return -1;
15264 : : return 5027; /* fixuns_truncv8dfv8di2_mask_round */
15265 : :
15266 : : case 9:
15267 : : if (!(
15268 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15269 : : (TARGET_AVX512F) && (
15270 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15271 : : (TARGET_AVX512F) &&
15272 : : #line 9779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15273 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15274 : : || V8DImode == V8DFmode
15275 : : || V8DImode == V8DImode
15276 : : || V8DImode == V16SImode
15277 : : || V8DImode == V32HFmode)))))
15278 : : return -1;
15279 : : return 5071; /* fixuns_truncv8sfv8di2_mask_round */
15280 : :
15281 : : default:
15282 : : return -1;
15283 : : }
15284 : :
15285 : : case FLOAT_EXTEND:
15286 : : x7 = XVECEXP (x2, 0, 1);
15287 : : if (!const48_operand (x7, E_SImode))
15288 : : return -1;
15289 : : x5 = XEXP (x4, 0);
15290 : : switch (GET_CODE (x5))
15291 : : {
15292 : : case REG:
15293 : : case SUBREG:
15294 : : operands[1] = x5;
15295 : : x9 = XEXP (x3, 1);
15296 : : operands[2] = x9;
15297 : : x8 = XEXP (x3, 2);
15298 : : operands[3] = x8;
15299 : : operands[4] = x7;
15300 : : switch (GET_MODE (operands[0]))
15301 : : {
15302 : : case E_V8DFmode:
15303 : : if (pattern1296 (x2,
15304 : : E_V8DFmode,
15305 : : E_QImode) != 0)
15306 : : return -1;
15307 : : switch (GET_MODE (operands[1]))
15308 : : {
15309 : : case E_V8HFmode:
15310 : : if (!register_operand (operands[1], E_V8HFmode)
15311 : : || !(
15312 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15313 : : (TARGET_AVX512F) && (
15314 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15315 : : (TARGET_AVX512F) &&
15316 : : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15317 : : (TARGET_AVX512FP16))))
15318 : : return -1;
15319 : : return 4675; /* avx512fp16_float_extend_phv8df2_mask_round */
15320 : :
15321 : : case E_V8SFmode:
15322 : : if (!register_operand (operands[1], E_V8SFmode)
15323 : : || !(
15324 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15325 : : (TARGET_AVX512F) && (
15326 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15327 : : (TARGET_AVX512F) && (
15328 : : #line 10257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15329 : : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
15330 : : || V8DFmode == V8DFmode
15331 : : || V8DFmode == V8DImode
15332 : : || V8DFmode == V16SImode
15333 : : || V8DFmode == V32HFmode)) &&
15334 : : #line 461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15335 : : (TARGET_AVX512F)))))
15336 : : return -1;
15337 : : return 5120; /* avx512f_cvtps2pd512_mask_round */
15338 : :
15339 : : default:
15340 : : return -1;
15341 : : }
15342 : :
15343 : : case E_V16SFmode:
15344 : : if (pattern640 (x2,
15345 : : E_HImode,
15346 : : E_V16SFmode,
15347 : : E_V16HFmode) != 0
15348 : : || !(
15349 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15350 : : (TARGET_AVX512F) && (
15351 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15352 : : (TARGET_AVX512F) &&
15353 : : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15354 : : (TARGET_AVX512FP16))))
15355 : : return -1;
15356 : : return 4679; /* avx512fp16_float_extend_phv16sf2_mask_round */
15357 : :
15358 : : case E_V8SFmode:
15359 : : if (pattern640 (x2,
15360 : : E_QImode,
15361 : : E_V8SFmode,
15362 : : E_V8HFmode) != 0
15363 : : || !(
15364 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15365 : : (TARGET_AVX512F) && (
15366 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15367 : : (TARGET_AVX512F) && (
15368 : : #line 8072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15369 : : (TARGET_AVX512FP16) &&
15370 : : #line 965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15371 : : (TARGET_AVX512VL)))))
15372 : : return -1;
15373 : : return 4683; /* avx512fp16_float_extend_phv8sf2_mask_round */
15374 : :
15375 : : default:
15376 : : return -1;
15377 : : }
15378 : :
15379 : : case VEC_SELECT:
15380 : : if (GET_MODE (x5) != E_V2SFmode)
15381 : : return -1;
15382 : : x10 = XEXP (x5, 1);
15383 : : if (GET_CODE (x10) != PARALLEL
15384 : : || XVECLEN (x10, 0) != 2)
15385 : : return -1;
15386 : : x11 = XVECEXP (x10, 0, 0);
15387 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
15388 : : return -1;
15389 : : x12 = XVECEXP (x10, 0, 1);
15390 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15391 : : return -1;
15392 : : x8 = XEXP (x3, 2);
15393 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
15394 : : || pattern1466 (x2) != 0)
15395 : : return -1;
15396 : : x13 = XEXP (x5, 0);
15397 : : operands[2] = x13;
15398 : : if (!register_operand (operands[2], E_V4SFmode))
15399 : : return -1;
15400 : : x9 = XEXP (x3, 1);
15401 : : operands[1] = x9;
15402 : : if (!register_operand (operands[1], E_V2DFmode))
15403 : : return -1;
15404 : : operands[3] = x7;
15405 : : if (!(
15406 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15407 : : (TARGET_AVX512F) &&
15408 : : #line 10084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15409 : : (TARGET_SSE2)))
15410 : : return -1;
15411 : : return 5103; /* sse2_cvtss2sd_round */
15412 : :
15413 : : default:
15414 : : return -1;
15415 : : }
15416 : :
15417 : : case FLOAT_TRUNCATE:
15418 : : x5 = XEXP (x4, 0);
15419 : : operands[1] = x5;
15420 : : x9 = XEXP (x3, 1);
15421 : : operands[2] = x9;
15422 : : x8 = XEXP (x3, 2);
15423 : : operands[3] = x8;
15424 : : x7 = XVECEXP (x2, 0, 1);
15425 : : operands[4] = x7;
15426 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
15427 : : return -1;
15428 : : switch (GET_MODE (operands[0]))
15429 : : {
15430 : : case E_V8HFmode:
15431 : : if (pattern1296 (x2,
15432 : : E_V8HFmode,
15433 : : E_QImode) != 0)
15434 : : return -1;
15435 : : switch (GET_MODE (operands[1]))
15436 : : {
15437 : : case E_V8DFmode:
15438 : : if (!register_operand (operands[1], E_V8DFmode)
15439 : : || !(
15440 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15441 : : (TARGET_AVX512F) && (
15442 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15443 : : (TARGET_AVX512F) &&
15444 : : #line 8166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15445 : : (TARGET_AVX512FP16))))
15446 : : return -1;
15447 : : return 4699; /* avx512fp16_vcvtpd2ph_v8df_mask_round */
15448 : :
15449 : : case E_V8SFmode:
15450 : : if (!register_operand (operands[1], E_V8SFmode)
15451 : : || !(
15452 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15453 : : (TARGET_AVX512F) && (
15454 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15455 : : (TARGET_AVX512F) && (
15456 : : #line 8166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15457 : : (TARGET_AVX512FP16) &&
15458 : : #line 965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15459 : : (TARGET_AVX512VL)))))
15460 : : return -1;
15461 : : return 4707; /* avx512fp16_vcvtps2ph_v8sf_mask_round */
15462 : :
15463 : : default:
15464 : : return -1;
15465 : : }
15466 : :
15467 : : case E_V16HFmode:
15468 : : if (pattern640 (x2,
15469 : : E_HImode,
15470 : : E_V16HFmode,
15471 : : E_V16SFmode) != 0
15472 : : || !(
15473 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15474 : : (TARGET_AVX512F) && (
15475 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15476 : : (TARGET_AVX512F) &&
15477 : : #line 8166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15478 : : (TARGET_AVX512FP16))))
15479 : : return -1;
15480 : : return 4703; /* avx512fp16_vcvtps2ph_v16sf_mask_round */
15481 : :
15482 : : case E_V8SFmode:
15483 : : if (pattern640 (x2,
15484 : : E_QImode,
15485 : : E_V8SFmode,
15486 : : E_V8DFmode) != 0
15487 : : || !
15488 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15489 : : (TARGET_AVX512F))
15490 : : return -1;
15491 : : return 5110; /* avx512f_cvtpd2ps512_mask_round */
15492 : :
15493 : : default:
15494 : : return -1;
15495 : : }
15496 : :
15497 : : case VEC_CONCAT:
15498 : : if (GET_MODE (x4) != E_V32HFmode)
15499 : : return -1;
15500 : : x5 = XEXP (x4, 0);
15501 : : if (GET_CODE (x5) != FLOAT_TRUNCATE
15502 : : || GET_MODE (x5) != E_V16HFmode)
15503 : : return -1;
15504 : : x6 = XEXP (x4, 1);
15505 : : if (GET_CODE (x6) != FLOAT_TRUNCATE
15506 : : || GET_MODE (x6) != E_V16HFmode
15507 : : || !register_operand (operands[0], E_V32HFmode)
15508 : : || GET_MODE (x2) != E_V32HFmode
15509 : : || GET_MODE (x3) != E_V32HFmode)
15510 : : return -1;
15511 : : x13 = XEXP (x5, 0);
15512 : : operands[2] = x13;
15513 : : if (!register_operand (operands[2], E_V16SFmode))
15514 : : return -1;
15515 : : x14 = XEXP (x6, 0);
15516 : : operands[1] = x14;
15517 : : if (!register_operand (operands[1], E_V16SFmode))
15518 : : return -1;
15519 : : x9 = XEXP (x3, 1);
15520 : : operands[3] = x9;
15521 : : if (!nonimm_or_0_operand (operands[3], E_V32HFmode))
15522 : : return -1;
15523 : : x8 = XEXP (x3, 2);
15524 : : operands[4] = x8;
15525 : : if (!register_operand (operands[4], E_SImode))
15526 : : return -1;
15527 : : x7 = XVECEXP (x2, 0, 1);
15528 : : operands[5] = x7;
15529 : : if (!const_4_or_8_to_11_operand (operands[5], E_SImode)
15530 : : || !(
15531 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15532 : : (TARGET_AVX512F) && (
15533 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15534 : : (TARGET_AVX512F) &&
15535 : : #line 31865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15536 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
15537 : : || V32HFmode == V8DFmode
15538 : : || V32HFmode == V8DImode
15539 : : || V32HFmode == V16SImode
15540 : : || V32HFmode == V32HFmode)))))
15541 : : return -1;
15542 : : return 10412; /* avx10_2_cvt2ps2phx_v32hf_mask_round */
15543 : :
15544 : : default:
15545 : : return -1;
15546 : : }
15547 : : }
15548 : :
15549 : : int
15550 : : recog_281 (rtx x1 ATTRIBUTE_UNUSED,
15551 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15552 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15553 : : {
15554 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15555 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15556 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
15557 : : rtx x18, x19, x20, x21;
15558 : : int res ATTRIBUTE_UNUSED;
15559 : : x2 = XEXP (x1, 1);
15560 : : x3 = XEXP (x2, 1);
15561 : : x4 = XVECEXP (x3, 0, 0);
15562 : : if (GET_CODE (x4) != CONST_INT)
15563 : : return -1;
15564 : : x5 = XVECEXP (x3, 0, 1);
15565 : : if (GET_CODE (x5) == CONST_INT)
15566 : : {
15567 : : res = recog_280 (x1, insn, pnum_clobbers);
15568 : : if (res >= 0)
15569 : : return res;
15570 : : }
15571 : : operands[3] = x4;
15572 : : x6 = XEXP (x2, 0);
15573 : : x7 = XEXP (x6, 1);
15574 : : operands[2] = x7;
15575 : : operands[4] = x5;
15576 : : x8 = XVECEXP (x3, 0, 2);
15577 : : operands[5] = x8;
15578 : : x9 = XVECEXP (x3, 0, 3);
15579 : : operands[6] = x9;
15580 : : x10 = XVECEXP (x3, 0, 4);
15581 : : operands[7] = x10;
15582 : : x11 = XVECEXP (x3, 0, 5);
15583 : : operands[8] = x11;
15584 : : x12 = XVECEXP (x3, 0, 6);
15585 : : operands[9] = x12;
15586 : : x13 = XVECEXP (x3, 0, 7);
15587 : : operands[10] = x13;
15588 : : x14 = XVECEXP (x3, 0, 8);
15589 : : operands[11] = x14;
15590 : : x15 = XVECEXP (x3, 0, 9);
15591 : : operands[12] = x15;
15592 : : x16 = XVECEXP (x3, 0, 10);
15593 : : operands[13] = x16;
15594 : : x17 = XVECEXP (x3, 0, 11);
15595 : : operands[14] = x17;
15596 : : x18 = XVECEXP (x3, 0, 12);
15597 : : operands[15] = x18;
15598 : : x19 = XVECEXP (x3, 0, 13);
15599 : : operands[16] = x19;
15600 : : x20 = XVECEXP (x3, 0, 14);
15601 : : operands[17] = x20;
15602 : : x21 = XVECEXP (x3, 0, 15);
15603 : : operands[18] = x21;
15604 : : switch (GET_MODE (operands[0]))
15605 : : {
15606 : : case E_V16SFmode:
15607 : : if (pattern1403 (x2,
15608 : : E_V16SFmode,
15609 : : E_V32SFmode) != 0)
15610 : : return -1;
15611 : : if (const_0_to_3_operand (operands[3], E_VOIDmode)
15612 : : && const_0_to_3_operand (operands[4], E_VOIDmode)
15613 : : && const_16_to_19_operand (operands[5], E_VOIDmode)
15614 : : && const_16_to_19_operand (operands[6], E_VOIDmode)
15615 : : && const_4_to_7_operand (operands[7], E_VOIDmode)
15616 : : && const_4_to_7_operand (operands[8], E_VOIDmode)
15617 : : && const_20_to_23_operand (operands[9], E_VOIDmode)
15618 : : && const_20_to_23_operand (operands[10], E_VOIDmode)
15619 : : && const_8_to_11_operand (operands[11], E_VOIDmode)
15620 : : && const_8_to_11_operand (operands[12], E_VOIDmode)
15621 : : && const_24_to_27_operand (operands[13], E_VOIDmode)
15622 : : && const_24_to_27_operand (operands[14], E_VOIDmode)
15623 : : && const_12_to_15_operand (operands[15], E_VOIDmode)
15624 : : && const_12_to_15_operand (operands[16], E_VOIDmode)
15625 : : && const_28_to_31_operand (operands[17], E_VOIDmode)
15626 : : && const_28_to_31_operand (operands[18], E_VOIDmode)
15627 : : &&
15628 : : #line 14316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15629 : : (TARGET_AVX512F
15630 : : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
15631 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
15632 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
15633 : : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)
15634 : : && INTVAL (operands[3]) == (INTVAL (operands[11]) - 8)
15635 : : && INTVAL (operands[4]) == (INTVAL (operands[12]) - 8)
15636 : : && INTVAL (operands[5]) == (INTVAL (operands[13]) - 8)
15637 : : && INTVAL (operands[6]) == (INTVAL (operands[14]) - 8)
15638 : : && INTVAL (operands[3]) == (INTVAL (operands[15]) - 12)
15639 : : && INTVAL (operands[4]) == (INTVAL (operands[16]) - 12)
15640 : : && INTVAL (operands[5]) == (INTVAL (operands[17]) - 12)
15641 : : && INTVAL (operands[6]) == (INTVAL (operands[18]) - 12))))
15642 : : return 7142; /* avx512f_shufps512_1 */
15643 : : if (!const_0_to_15_operand (operands[3], E_VOIDmode)
15644 : : || pattern1848 () != 0
15645 : : || !
15646 : : #line 20442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15647 : : (TARGET_AVX512F
15648 : : && (INTVAL (operands[3]) & 3) == 0
15649 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
15650 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
15651 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
15652 : : && (INTVAL (operands[7]) & 3) == 0
15653 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
15654 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
15655 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
15656 : : && (INTVAL (operands[11]) & 3) == 0
15657 : : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
15658 : : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
15659 : : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
15660 : : && (INTVAL (operands[15]) & 3) == 0
15661 : : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
15662 : : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
15663 : : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3))
15664 : : return -1;
15665 : : return 8382; /* avx512f_shuf_f32x4_1 */
15666 : :
15667 : : case E_V16SImode:
15668 : : if (pattern1403 (x2,
15669 : : E_V16SImode,
15670 : : E_V32SImode) != 0
15671 : : || !const_0_to_15_operand (operands[3], E_VOIDmode)
15672 : : || pattern1848 () != 0
15673 : : || !
15674 : : #line 20442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15675 : : (TARGET_AVX512F
15676 : : && (INTVAL (operands[3]) & 3) == 0
15677 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
15678 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
15679 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
15680 : : && (INTVAL (operands[7]) & 3) == 0
15681 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
15682 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
15683 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
15684 : : && (INTVAL (operands[11]) & 3) == 0
15685 : : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
15686 : : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
15687 : : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
15688 : : && (INTVAL (operands[15]) & 3) == 0
15689 : : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
15690 : : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
15691 : : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3))
15692 : : return -1;
15693 : : return 8384; /* avx512f_shuf_i32x4_1 */
15694 : :
15695 : : default:
15696 : : return -1;
15697 : : }
15698 : : }
15699 : :
15700 : : int
15701 : : recog_285 (rtx x1 ATTRIBUTE_UNUSED,
15702 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15703 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15704 : : {
15705 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15706 : : rtx x2, x3, x4, x5, x6;
15707 : : int res ATTRIBUTE_UNUSED;
15708 : : x2 = XEXP (x1, 1);
15709 : : x3 = XEXP (x2, 0);
15710 : : x4 = XEXP (x3, 1);
15711 : : switch (GET_CODE (x4))
15712 : : {
15713 : : case REG:
15714 : : case SUBREG:
15715 : : case MEM:
15716 : : x5 = XEXP (x2, 1);
15717 : : switch (XVECLEN (x5, 0))
15718 : : {
15719 : : case 4:
15720 : : res = recog_277 (x1, insn, pnum_clobbers);
15721 : : if (res >= 0)
15722 : : return res;
15723 : : break;
15724 : :
15725 : : case 8:
15726 : : res = recog_279 (x1, insn, pnum_clobbers);
15727 : : if (res >= 0)
15728 : : return res;
15729 : : break;
15730 : :
15731 : : case 16:
15732 : : res = recog_281 (x1, insn, pnum_clobbers);
15733 : : if (res >= 0)
15734 : : return res;
15735 : : break;
15736 : :
15737 : : case 2:
15738 : : res = recog_282 (x1, insn, pnum_clobbers);
15739 : : if (res >= 0)
15740 : : return res;
15741 : : break;
15742 : :
15743 : : case 64:
15744 : : res = recog_283 (x1, insn, pnum_clobbers);
15745 : : if (res >= 0)
15746 : : return res;
15747 : : break;
15748 : :
15749 : : case 32:
15750 : : res = recog_284 (x1, insn, pnum_clobbers);
15751 : : if (res >= 0)
15752 : : return res;
15753 : : break;
15754 : :
15755 : : default:
15756 : : break;
15757 : : }
15758 : : operands[2] = x4;
15759 : : if (XVECLEN (x5, 0) >= 1)
15760 : : {
15761 : : operands[3] = x5;
15762 : : x6 = XVECEXP (x5, 0, 0);
15763 : : operands[4] = x6;
15764 : : if (const_int_operand (operands[4], E_VOIDmode))
15765 : : {
15766 : : switch (GET_MODE (operands[0]))
15767 : : {
15768 : : case E_V8SImode:
15769 : : if (pattern1403 (x2,
15770 : : E_V8SImode,
15771 : : E_V16SImode) == 0
15772 : : &&
15773 : : #line 28467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15774 : : (TARGET_AVX
15775 : : && avx_vperm2f128_parallel (operands[3], V8SImode)))
15776 : : return 9423; /* *avx_vperm2f128v8si_nozero */
15777 : : break;
15778 : :
15779 : : case E_V8SFmode:
15780 : : if (pattern1403 (x2,
15781 : : E_V8SFmode,
15782 : : E_V16SFmode) == 0
15783 : : &&
15784 : : #line 28467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15785 : : (TARGET_AVX
15786 : : && avx_vperm2f128_parallel (operands[3], V8SFmode)))
15787 : : return 9424; /* *avx_vperm2f128v8sf_nozero */
15788 : : break;
15789 : :
15790 : : case E_V4DFmode:
15791 : : if (pattern1403 (x2,
15792 : : E_V4DFmode,
15793 : : E_V8DFmode) == 0
15794 : : &&
15795 : : #line 28467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15796 : : (TARGET_AVX
15797 : : && avx_vperm2f128_parallel (operands[3], V4DFmode)))
15798 : : return 9425; /* *avx_vperm2f128v4df_nozero */
15799 : : break;
15800 : :
15801 : : default:
15802 : : break;
15803 : : }
15804 : : }
15805 : : }
15806 : : break;
15807 : :
15808 : : case CONST_INT:
15809 : : case CONST_DOUBLE:
15810 : : case CONST_VECTOR:
15811 : : switch (pattern786 (x2))
15812 : : {
15813 : : case 0:
15814 : : if (
15815 : : #line 24173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15816 : : (TARGET_AVX2))
15817 : : return 8710; /* *avx2_zero_extendv16qiv16hi2_1 */
15818 : : break;
15819 : :
15820 : : case 1:
15821 : : if (
15822 : : #line 24226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15823 : : (TARGET_AVX512BW))
15824 : : return 8718; /* *avx512bw_zero_extendv32qiv32hi2_1 */
15825 : : break;
15826 : :
15827 : : case 2:
15828 : : if (
15829 : : #line 24322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15830 : : (TARGET_SSE4_1))
15831 : : return 8734; /* *sse4_1_zero_extendv8qiv8hi2_3 */
15832 : : break;
15833 : :
15834 : : case 3:
15835 : : if (
15836 : : #line 24570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15837 : : (TARGET_AVX512F))
15838 : : return 8770; /* avx512f_zero_extendv16hiv16si2_1 */
15839 : : break;
15840 : :
15841 : : case 4:
15842 : : if (
15843 : : #line 24624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15844 : : (TARGET_AVX2))
15845 : : return 8778; /* avx2_zero_extendv8hiv8si2_1 */
15846 : : break;
15847 : :
15848 : : case 5:
15849 : : if (
15850 : : #line 24729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15851 : : (TARGET_SSE4_1))
15852 : : return 8794; /* *sse4_1_zero_extendv4hiv4si2_3 */
15853 : : break;
15854 : :
15855 : : case 6:
15856 : : if (pmovzx_parallel (operands[3], E_VOIDmode)
15857 : : &&
15858 : : #line 25126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15859 : : (TARGET_AVX512F))
15860 : : return 8865; /* *avx512f_zero_extendv8siv8di2_1 */
15861 : : if (movq_parallel (operands[3], E_VOIDmode)
15862 : : && (
15863 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15864 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15865 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15866 : : (TARGET_AVX512F)))
15867 : : return 9601; /* *vec_concatv16si_0_1 */
15868 : : break;
15869 : :
15870 : : case 7:
15871 : : if (pmovzx_parallel (operands[3], E_VOIDmode)
15872 : : &&
15873 : : #line 25178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15874 : : (TARGET_AVX2))
15875 : : return 8871; /* *avx2_zero_extendv4siv4di2_1 */
15876 : : if (movq_parallel (operands[3], E_VOIDmode)
15877 : : && (
15878 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15879 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15880 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15881 : : (TARGET_AVX)))
15882 : : return 9602; /* *vec_concatv8si_0_1 */
15883 : : break;
15884 : :
15885 : : case 8:
15886 : : if (vector_operand (operands[1], E_V4SImode)
15887 : : && pmovzx_parallel (operands[3], E_VOIDmode)
15888 : : &&
15889 : : #line 25263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15890 : : (TARGET_SSE4_1))
15891 : : return 8885; /* *sse4_1_zero_extendv2siv2di2_3 */
15892 : : if (nonimmediate_operand (operands[1], E_V4SImode)
15893 : : && movq_parallel (operands[3], E_VOIDmode)
15894 : : &&
15895 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15896 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
15897 : : return 9603; /* *vec_concatv4si_0_1 */
15898 : : break;
15899 : :
15900 : : case 9:
15901 : : if ((
15902 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15903 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15904 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15905 : : (TARGET_AVX512F)))
15906 : : return 9604; /* *vec_concatv8di_0_1 */
15907 : : break;
15908 : :
15909 : : case 10:
15910 : : if ((
15911 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15912 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15913 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15914 : : (TARGET_AVX)))
15915 : : return 9605; /* *vec_concatv4di_0_1 */
15916 : : break;
15917 : :
15918 : : case 11:
15919 : : if (
15920 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15921 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
15922 : : return 9606; /* *vec_concatv2di_0_1 */
15923 : : break;
15924 : :
15925 : : case 12:
15926 : : if ((
15927 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15928 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15929 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15930 : : (TARGET_AVX512F)))
15931 : : return 9607; /* *vec_concatv32hf_0_1 */
15932 : : break;
15933 : :
15934 : : case 13:
15935 : : if ((
15936 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15937 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15938 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15939 : : (TARGET_AVX)))
15940 : : return 9608; /* *vec_concatv16hf_0_1 */
15941 : : break;
15942 : :
15943 : : case 14:
15944 : : if (
15945 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15946 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
15947 : : return 9609; /* *vec_concatv8hf_0_1 */
15948 : : break;
15949 : :
15950 : : case 15:
15951 : : if ((
15952 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15953 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15954 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15955 : : (TARGET_AVX512F)))
15956 : : return 9610; /* *vec_concatv32bf_0_1 */
15957 : : break;
15958 : :
15959 : : case 16:
15960 : : if ((
15961 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15962 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15963 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15964 : : (TARGET_AVX)))
15965 : : return 9611; /* *vec_concatv16bf_0_1 */
15966 : : break;
15967 : :
15968 : : case 17:
15969 : : if (
15970 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15971 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
15972 : : return 9612; /* *vec_concatv8bf_0_1 */
15973 : : break;
15974 : :
15975 : : case 18:
15976 : : if ((
15977 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15978 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15979 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15980 : : (TARGET_AVX512F)))
15981 : : return 9613; /* *vec_concatv16sf_0_1 */
15982 : : break;
15983 : :
15984 : : case 19:
15985 : : if ((
15986 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15987 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
15988 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15989 : : (TARGET_AVX)))
15990 : : return 9614; /* *vec_concatv8sf_0_1 */
15991 : : break;
15992 : :
15993 : : case 20:
15994 : : if (
15995 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15996 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
15997 : : return 9615; /* *vec_concatv4sf_0_1 */
15998 : : break;
15999 : :
16000 : : case 21:
16001 : : if ((
16002 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16003 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16004 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16005 : : (TARGET_AVX512F)))
16006 : : return 9616; /* *vec_concatv8df_0_1 */
16007 : : break;
16008 : :
16009 : : case 22:
16010 : : if ((
16011 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16012 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16013 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16014 : : (TARGET_AVX)))
16015 : : return 9617; /* *vec_concatv4df_0_1 */
16016 : : break;
16017 : :
16018 : : case 23:
16019 : : if ((
16020 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16021 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16022 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16023 : : (TARGET_SSE2)))
16024 : : return 9618; /* *vec_concatv2df_0_1 */
16025 : : break;
16026 : :
16027 : : default:
16028 : : break;
16029 : : }
16030 : : break;
16031 : :
16032 : : default:
16033 : : break;
16034 : : }
16035 : : x5 = XEXP (x2, 1);
16036 : : if (XVECLEN (x5, 0) < 1)
16037 : : return -1;
16038 : : switch (pattern788 (x2))
16039 : : {
16040 : : case 0:
16041 : : if (!
16042 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16043 : : (TARGET_AVX && ix86_pre_reload_split ()))
16044 : : return -1;
16045 : : return 9284; /* *avx_vbroadcastf128_v32qi_perm */
16046 : :
16047 : : case 1:
16048 : : if (!
16049 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16050 : : (TARGET_AVX && ix86_pre_reload_split ()))
16051 : : return -1;
16052 : : return 9285; /* *avx_vbroadcastf128_v16hi_perm */
16053 : :
16054 : : case 2:
16055 : : if (!
16056 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16057 : : (TARGET_AVX && ix86_pre_reload_split ()))
16058 : : return -1;
16059 : : return 9286; /* *avx_vbroadcastf128_v8si_perm */
16060 : :
16061 : : case 3:
16062 : : if (!
16063 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16064 : : (TARGET_AVX && ix86_pre_reload_split ()))
16065 : : return -1;
16066 : : return 9287; /* *avx_vbroadcastf128_v4di_perm */
16067 : :
16068 : : case 4:
16069 : : if (!
16070 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16071 : : (TARGET_AVX && ix86_pre_reload_split ()))
16072 : : return -1;
16073 : : return 9288; /* *avx_vbroadcastf128_v8sf_perm */
16074 : :
16075 : : case 5:
16076 : : if (!
16077 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16078 : : (TARGET_AVX && ix86_pre_reload_split ()))
16079 : : return -1;
16080 : : return 9289; /* *avx_vbroadcastf128_v4df_perm */
16081 : :
16082 : : case 6:
16083 : : if (!
16084 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16085 : : (TARGET_AVX && ix86_pre_reload_split ()))
16086 : : return -1;
16087 : : return 9290; /* *avx_vbroadcastf128_v16hf_perm */
16088 : :
16089 : : case 7:
16090 : : if (!
16091 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16092 : : (TARGET_AVX && ix86_pre_reload_split ()))
16093 : : return -1;
16094 : : return 9291; /* *avx_vbroadcastf128_v16bf_perm */
16095 : :
16096 : : default:
16097 : : return -1;
16098 : : }
16099 : : }
16100 : :
16101 : : int
16102 : : recog_303 (rtx x1 ATTRIBUTE_UNUSED,
16103 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16104 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16105 : : {
16106 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16107 : : rtx x2, x3, x4;
16108 : : int res ATTRIBUTE_UNUSED;
16109 : : x2 = XEXP (x1, 1);
16110 : : x3 = XEXP (x2, 0);
16111 : : x4 = XEXP (x3, 0);
16112 : : switch (GET_CODE (x4))
16113 : : {
16114 : : case REG:
16115 : : case SUBREG:
16116 : : case MEM:
16117 : : case NOT:
16118 : : switch (pattern520 (x2))
16119 : : {
16120 : : case 0:
16121 : : if (!(
16122 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16123 : : ((64 == 64 || TARGET_AVX512VL
16124 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16125 : : && ix86_pre_reload_split ()
16126 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16127 : : STRIP_UNARY (operands[4]))
16128 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16129 : : STRIP_UNARY (operands[4]))
16130 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16131 : : STRIP_UNARY (operands[3]))
16132 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16133 : : STRIP_UNARY (operands[3])))) &&
16134 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16135 : : (TARGET_AVX512F)))
16136 : : return -1;
16137 : : return 5463; /* *avx512bw_vpternlogv64qi_1 */
16138 : :
16139 : : case 1:
16140 : : if (!(
16141 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16142 : : ((32 == 64 || TARGET_AVX512VL
16143 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16144 : : && ix86_pre_reload_split ()
16145 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16146 : : STRIP_UNARY (operands[4]))
16147 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16148 : : STRIP_UNARY (operands[4]))
16149 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16150 : : STRIP_UNARY (operands[3]))
16151 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16152 : : STRIP_UNARY (operands[3])))) &&
16153 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16154 : : (TARGET_AVX)))
16155 : : return -1;
16156 : : return 5490; /* *avx512vl_vpternlogv32qi_1 */
16157 : :
16158 : : case 2:
16159 : : if (!
16160 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16161 : : ((16 == 64 || TARGET_AVX512VL
16162 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16163 : : && ix86_pre_reload_split ()
16164 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16165 : : STRIP_UNARY (operands[4]))
16166 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16167 : : STRIP_UNARY (operands[4]))
16168 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16169 : : STRIP_UNARY (operands[3]))
16170 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16171 : : STRIP_UNARY (operands[3])))))
16172 : : return -1;
16173 : : return 5517; /* *avx512vl_vpternlogv16qi_1 */
16174 : :
16175 : : case 3:
16176 : : if (!(
16177 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16178 : : ((64 == 64 || TARGET_AVX512VL
16179 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16180 : : && ix86_pre_reload_split ()
16181 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16182 : : STRIP_UNARY (operands[4]))
16183 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16184 : : STRIP_UNARY (operands[4]))
16185 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16186 : : STRIP_UNARY (operands[3]))
16187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16188 : : STRIP_UNARY (operands[3])))) &&
16189 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16190 : : (TARGET_AVX512F)))
16191 : : return -1;
16192 : : return 5544; /* *avx512bw_vpternlogv32hi_1 */
16193 : :
16194 : : case 4:
16195 : : if (!(
16196 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16197 : : ((32 == 64 || TARGET_AVX512VL
16198 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16199 : : && ix86_pre_reload_split ()
16200 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16201 : : STRIP_UNARY (operands[4]))
16202 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16203 : : STRIP_UNARY (operands[4]))
16204 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16205 : : STRIP_UNARY (operands[3]))
16206 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16207 : : STRIP_UNARY (operands[3])))) &&
16208 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16209 : : (TARGET_AVX)))
16210 : : return -1;
16211 : : return 5571; /* *avx512vl_vpternlogv16hi_1 */
16212 : :
16213 : : case 5:
16214 : : if (!
16215 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16216 : : ((16 == 64 || TARGET_AVX512VL
16217 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16218 : : && ix86_pre_reload_split ()
16219 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16220 : : STRIP_UNARY (operands[4]))
16221 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16222 : : STRIP_UNARY (operands[4]))
16223 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16224 : : STRIP_UNARY (operands[3]))
16225 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16226 : : STRIP_UNARY (operands[3])))))
16227 : : return -1;
16228 : : return 5598; /* *avx512vl_vpternlogv8hi_1 */
16229 : :
16230 : : case 6:
16231 : : if (!(
16232 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16233 : : ((64 == 64 || TARGET_AVX512VL
16234 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16235 : : && ix86_pre_reload_split ()
16236 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16237 : : STRIP_UNARY (operands[4]))
16238 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16239 : : STRIP_UNARY (operands[4]))
16240 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16241 : : STRIP_UNARY (operands[3]))
16242 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16243 : : STRIP_UNARY (operands[3])))) &&
16244 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16245 : : (TARGET_AVX512F)))
16246 : : return -1;
16247 : : return 5625; /* *avx512f_vpternlogv16si_1 */
16248 : :
16249 : : case 7:
16250 : : if (!(
16251 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16252 : : ((32 == 64 || TARGET_AVX512VL
16253 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16254 : : && ix86_pre_reload_split ()
16255 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16256 : : STRIP_UNARY (operands[4]))
16257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16258 : : STRIP_UNARY (operands[4]))
16259 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16260 : : STRIP_UNARY (operands[3]))
16261 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16262 : : STRIP_UNARY (operands[3])))) &&
16263 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16264 : : (TARGET_AVX)))
16265 : : return -1;
16266 : : return 5652; /* *avx512vl_vpternlogv8si_1 */
16267 : :
16268 : : case 8:
16269 : : if (!
16270 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16271 : : ((16 == 64 || TARGET_AVX512VL
16272 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16273 : : && ix86_pre_reload_split ()
16274 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16275 : : STRIP_UNARY (operands[4]))
16276 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16277 : : STRIP_UNARY (operands[4]))
16278 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16279 : : STRIP_UNARY (operands[3]))
16280 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16281 : : STRIP_UNARY (operands[3])))))
16282 : : return -1;
16283 : : return 5679; /* *avx512vl_vpternlogv4si_1 */
16284 : :
16285 : : case 9:
16286 : : if (!(
16287 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16288 : : ((64 == 64 || TARGET_AVX512VL
16289 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16290 : : && ix86_pre_reload_split ()
16291 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16292 : : STRIP_UNARY (operands[4]))
16293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16294 : : STRIP_UNARY (operands[4]))
16295 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16296 : : STRIP_UNARY (operands[3]))
16297 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16298 : : STRIP_UNARY (operands[3])))) &&
16299 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16300 : : (TARGET_AVX512F)))
16301 : : return -1;
16302 : : return 5706; /* *avx512f_vpternlogv8di_1 */
16303 : :
16304 : : case 10:
16305 : : if (!(
16306 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16307 : : ((32 == 64 || TARGET_AVX512VL
16308 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16309 : : && ix86_pre_reload_split ()
16310 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16311 : : STRIP_UNARY (operands[4]))
16312 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16313 : : STRIP_UNARY (operands[4]))
16314 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16315 : : STRIP_UNARY (operands[3]))
16316 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16317 : : STRIP_UNARY (operands[3])))) &&
16318 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16319 : : (TARGET_AVX)))
16320 : : return -1;
16321 : : return 5733; /* *avx512vl_vpternlogv4di_1 */
16322 : :
16323 : : case 11:
16324 : : if (!
16325 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16326 : : ((16 == 64 || TARGET_AVX512VL
16327 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16328 : : && ix86_pre_reload_split ()
16329 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16330 : : STRIP_UNARY (operands[4]))
16331 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16332 : : STRIP_UNARY (operands[4]))
16333 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16334 : : STRIP_UNARY (operands[3]))
16335 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16336 : : STRIP_UNARY (operands[3])))))
16337 : : return -1;
16338 : : return 5760; /* *avx512vl_vpternlogv2di_1 */
16339 : :
16340 : : case 12:
16341 : : if (!(
16342 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16343 : : ((64 == 64 || TARGET_AVX512VL
16344 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16345 : : && ix86_pre_reload_split ()
16346 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16347 : : STRIP_UNARY (operands[4]))
16348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16349 : : STRIP_UNARY (operands[4]))
16350 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16351 : : STRIP_UNARY (operands[3]))
16352 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16353 : : STRIP_UNARY (operands[3])))) &&
16354 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16355 : : (TARGET_AVX512F)))
16356 : : return -1;
16357 : : return 5466; /* *avx512bw_vpternlogv64qi_1 */
16358 : :
16359 : : case 13:
16360 : : if (!(
16361 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16362 : : ((32 == 64 || TARGET_AVX512VL
16363 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16364 : : && ix86_pre_reload_split ()
16365 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16366 : : STRIP_UNARY (operands[4]))
16367 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16368 : : STRIP_UNARY (operands[4]))
16369 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16370 : : STRIP_UNARY (operands[3]))
16371 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16372 : : STRIP_UNARY (operands[3])))) &&
16373 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16374 : : (TARGET_AVX)))
16375 : : return -1;
16376 : : return 5493; /* *avx512vl_vpternlogv32qi_1 */
16377 : :
16378 : : case 14:
16379 : : if (!
16380 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16381 : : ((16 == 64 || TARGET_AVX512VL
16382 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16383 : : && ix86_pre_reload_split ()
16384 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16385 : : STRIP_UNARY (operands[4]))
16386 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16387 : : STRIP_UNARY (operands[4]))
16388 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16389 : : STRIP_UNARY (operands[3]))
16390 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16391 : : STRIP_UNARY (operands[3])))))
16392 : : return -1;
16393 : : return 5520; /* *avx512vl_vpternlogv16qi_1 */
16394 : :
16395 : : case 15:
16396 : : if (!(
16397 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16398 : : ((64 == 64 || TARGET_AVX512VL
16399 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16400 : : && ix86_pre_reload_split ()
16401 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16402 : : STRIP_UNARY (operands[4]))
16403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16404 : : STRIP_UNARY (operands[4]))
16405 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16406 : : STRIP_UNARY (operands[3]))
16407 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16408 : : STRIP_UNARY (operands[3])))) &&
16409 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16410 : : (TARGET_AVX512F)))
16411 : : return -1;
16412 : : return 5547; /* *avx512bw_vpternlogv32hi_1 */
16413 : :
16414 : : case 16:
16415 : : if (!(
16416 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16417 : : ((32 == 64 || TARGET_AVX512VL
16418 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16419 : : && ix86_pre_reload_split ()
16420 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16421 : : STRIP_UNARY (operands[4]))
16422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16423 : : STRIP_UNARY (operands[4]))
16424 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16425 : : STRIP_UNARY (operands[3]))
16426 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16427 : : STRIP_UNARY (operands[3])))) &&
16428 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16429 : : (TARGET_AVX)))
16430 : : return -1;
16431 : : return 5574; /* *avx512vl_vpternlogv16hi_1 */
16432 : :
16433 : : case 17:
16434 : : if (!
16435 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16436 : : ((16 == 64 || TARGET_AVX512VL
16437 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16438 : : && ix86_pre_reload_split ()
16439 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16440 : : STRIP_UNARY (operands[4]))
16441 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16442 : : STRIP_UNARY (operands[4]))
16443 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16444 : : STRIP_UNARY (operands[3]))
16445 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16446 : : STRIP_UNARY (operands[3])))))
16447 : : return -1;
16448 : : return 5601; /* *avx512vl_vpternlogv8hi_1 */
16449 : :
16450 : : case 18:
16451 : : if (!(
16452 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16453 : : ((64 == 64 || TARGET_AVX512VL
16454 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16455 : : && ix86_pre_reload_split ()
16456 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16457 : : STRIP_UNARY (operands[4]))
16458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16459 : : STRIP_UNARY (operands[4]))
16460 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16461 : : STRIP_UNARY (operands[3]))
16462 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16463 : : STRIP_UNARY (operands[3])))) &&
16464 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16465 : : (TARGET_AVX512F)))
16466 : : return -1;
16467 : : return 5628; /* *avx512f_vpternlogv16si_1 */
16468 : :
16469 : : case 19:
16470 : : if (!(
16471 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16472 : : ((32 == 64 || TARGET_AVX512VL
16473 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16474 : : && ix86_pre_reload_split ()
16475 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16476 : : STRIP_UNARY (operands[4]))
16477 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16478 : : STRIP_UNARY (operands[4]))
16479 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16480 : : STRIP_UNARY (operands[3]))
16481 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16482 : : STRIP_UNARY (operands[3])))) &&
16483 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16484 : : (TARGET_AVX)))
16485 : : return -1;
16486 : : return 5655; /* *avx512vl_vpternlogv8si_1 */
16487 : :
16488 : : case 20:
16489 : : if (!
16490 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16491 : : ((16 == 64 || TARGET_AVX512VL
16492 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16493 : : && ix86_pre_reload_split ()
16494 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16495 : : STRIP_UNARY (operands[4]))
16496 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16497 : : STRIP_UNARY (operands[4]))
16498 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16499 : : STRIP_UNARY (operands[3]))
16500 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16501 : : STRIP_UNARY (operands[3])))))
16502 : : return -1;
16503 : : return 5682; /* *avx512vl_vpternlogv4si_1 */
16504 : :
16505 : : case 21:
16506 : : if (!(
16507 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16508 : : ((64 == 64 || TARGET_AVX512VL
16509 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16510 : : && ix86_pre_reload_split ()
16511 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16512 : : STRIP_UNARY (operands[4]))
16513 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16514 : : STRIP_UNARY (operands[4]))
16515 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16516 : : STRIP_UNARY (operands[3]))
16517 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16518 : : STRIP_UNARY (operands[3])))) &&
16519 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16520 : : (TARGET_AVX512F)))
16521 : : return -1;
16522 : : return 5709; /* *avx512f_vpternlogv8di_1 */
16523 : :
16524 : : case 22:
16525 : : if (!(
16526 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16527 : : ((32 == 64 || TARGET_AVX512VL
16528 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16529 : : && ix86_pre_reload_split ()
16530 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16531 : : STRIP_UNARY (operands[4]))
16532 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16533 : : STRIP_UNARY (operands[4]))
16534 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16535 : : STRIP_UNARY (operands[3]))
16536 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16537 : : STRIP_UNARY (operands[3])))) &&
16538 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16539 : : (TARGET_AVX)))
16540 : : return -1;
16541 : : return 5736; /* *avx512vl_vpternlogv4di_1 */
16542 : :
16543 : : case 23:
16544 : : if (!
16545 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16546 : : ((16 == 64 || TARGET_AVX512VL
16547 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16548 : : && ix86_pre_reload_split ()
16549 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16550 : : STRIP_UNARY (operands[4]))
16551 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16552 : : STRIP_UNARY (operands[4]))
16553 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16554 : : STRIP_UNARY (operands[3]))
16555 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16556 : : STRIP_UNARY (operands[3])))))
16557 : : return -1;
16558 : : return 5763; /* *avx512vl_vpternlogv2di_1 */
16559 : :
16560 : : case 24:
16561 : : if (!(
16562 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16563 : : ((64 == 64 || TARGET_AVX512VL
16564 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16565 : : && ix86_pre_reload_split ()
16566 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16567 : : STRIP_UNARY (operands[4]))
16568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16569 : : STRIP_UNARY (operands[4]))
16570 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16571 : : STRIP_UNARY (operands[3]))
16572 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16573 : : STRIP_UNARY (operands[3])))) &&
16574 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16575 : : (TARGET_AVX512F)))
16576 : : return -1;
16577 : : return 5469; /* *avx512bw_vpternlogv64qi_1 */
16578 : :
16579 : : case 25:
16580 : : if (!(
16581 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16582 : : ((32 == 64 || TARGET_AVX512VL
16583 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16584 : : && ix86_pre_reload_split ()
16585 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16586 : : STRIP_UNARY (operands[4]))
16587 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16588 : : STRIP_UNARY (operands[4]))
16589 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16590 : : STRIP_UNARY (operands[3]))
16591 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16592 : : STRIP_UNARY (operands[3])))) &&
16593 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16594 : : (TARGET_AVX)))
16595 : : return -1;
16596 : : return 5496; /* *avx512vl_vpternlogv32qi_1 */
16597 : :
16598 : : case 26:
16599 : : if (!
16600 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16601 : : ((16 == 64 || TARGET_AVX512VL
16602 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16603 : : && ix86_pre_reload_split ()
16604 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16605 : : STRIP_UNARY (operands[4]))
16606 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16607 : : STRIP_UNARY (operands[4]))
16608 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16609 : : STRIP_UNARY (operands[3]))
16610 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16611 : : STRIP_UNARY (operands[3])))))
16612 : : return -1;
16613 : : return 5523; /* *avx512vl_vpternlogv16qi_1 */
16614 : :
16615 : : case 27:
16616 : : if (!(
16617 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16618 : : ((64 == 64 || TARGET_AVX512VL
16619 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16620 : : && ix86_pre_reload_split ()
16621 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16622 : : STRIP_UNARY (operands[4]))
16623 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16624 : : STRIP_UNARY (operands[4]))
16625 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16626 : : STRIP_UNARY (operands[3]))
16627 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16628 : : STRIP_UNARY (operands[3])))) &&
16629 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16630 : : (TARGET_AVX512F)))
16631 : : return -1;
16632 : : return 5550; /* *avx512bw_vpternlogv32hi_1 */
16633 : :
16634 : : case 28:
16635 : : if (!(
16636 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16637 : : ((32 == 64 || TARGET_AVX512VL
16638 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16639 : : && ix86_pre_reload_split ()
16640 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16641 : : STRIP_UNARY (operands[4]))
16642 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16643 : : STRIP_UNARY (operands[4]))
16644 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16645 : : STRIP_UNARY (operands[3]))
16646 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16647 : : STRIP_UNARY (operands[3])))) &&
16648 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16649 : : (TARGET_AVX)))
16650 : : return -1;
16651 : : return 5577; /* *avx512vl_vpternlogv16hi_1 */
16652 : :
16653 : : case 29:
16654 : : if (!
16655 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16656 : : ((16 == 64 || TARGET_AVX512VL
16657 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16658 : : && ix86_pre_reload_split ()
16659 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16660 : : STRIP_UNARY (operands[4]))
16661 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16662 : : STRIP_UNARY (operands[4]))
16663 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16664 : : STRIP_UNARY (operands[3]))
16665 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16666 : : STRIP_UNARY (operands[3])))))
16667 : : return -1;
16668 : : return 5604; /* *avx512vl_vpternlogv8hi_1 */
16669 : :
16670 : : case 30:
16671 : : if (!(
16672 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16673 : : ((64 == 64 || TARGET_AVX512VL
16674 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16675 : : && ix86_pre_reload_split ()
16676 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16677 : : STRIP_UNARY (operands[4]))
16678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16679 : : STRIP_UNARY (operands[4]))
16680 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16681 : : STRIP_UNARY (operands[3]))
16682 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16683 : : STRIP_UNARY (operands[3])))) &&
16684 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16685 : : (TARGET_AVX512F)))
16686 : : return -1;
16687 : : return 5631; /* *avx512f_vpternlogv16si_1 */
16688 : :
16689 : : case 31:
16690 : : if (!(
16691 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16692 : : ((32 == 64 || TARGET_AVX512VL
16693 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16694 : : && ix86_pre_reload_split ()
16695 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16696 : : STRIP_UNARY (operands[4]))
16697 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16698 : : STRIP_UNARY (operands[4]))
16699 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16700 : : STRIP_UNARY (operands[3]))
16701 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16702 : : STRIP_UNARY (operands[3])))) &&
16703 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16704 : : (TARGET_AVX)))
16705 : : return -1;
16706 : : return 5658; /* *avx512vl_vpternlogv8si_1 */
16707 : :
16708 : : case 32:
16709 : : if (!
16710 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16711 : : ((16 == 64 || TARGET_AVX512VL
16712 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16713 : : && ix86_pre_reload_split ()
16714 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16715 : : STRIP_UNARY (operands[4]))
16716 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16717 : : STRIP_UNARY (operands[4]))
16718 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16719 : : STRIP_UNARY (operands[3]))
16720 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16721 : : STRIP_UNARY (operands[3])))))
16722 : : return -1;
16723 : : return 5685; /* *avx512vl_vpternlogv4si_1 */
16724 : :
16725 : : case 33:
16726 : : if (!(
16727 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16728 : : ((64 == 64 || TARGET_AVX512VL
16729 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16730 : : && ix86_pre_reload_split ()
16731 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16732 : : STRIP_UNARY (operands[4]))
16733 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16734 : : STRIP_UNARY (operands[4]))
16735 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16736 : : STRIP_UNARY (operands[3]))
16737 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16738 : : STRIP_UNARY (operands[3])))) &&
16739 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16740 : : (TARGET_AVX512F)))
16741 : : return -1;
16742 : : return 5712; /* *avx512f_vpternlogv8di_1 */
16743 : :
16744 : : case 34:
16745 : : if (!(
16746 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16747 : : ((32 == 64 || TARGET_AVX512VL
16748 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16749 : : && ix86_pre_reload_split ()
16750 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16751 : : STRIP_UNARY (operands[4]))
16752 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16753 : : STRIP_UNARY (operands[4]))
16754 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16755 : : STRIP_UNARY (operands[3]))
16756 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16757 : : STRIP_UNARY (operands[3])))) &&
16758 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16759 : : (TARGET_AVX)))
16760 : : return -1;
16761 : : return 5739; /* *avx512vl_vpternlogv4di_1 */
16762 : :
16763 : : case 35:
16764 : : if (!
16765 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16766 : : ((16 == 64 || TARGET_AVX512VL
16767 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16768 : : && ix86_pre_reload_split ()
16769 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16770 : : STRIP_UNARY (operands[4]))
16771 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16772 : : STRIP_UNARY (operands[4]))
16773 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16774 : : STRIP_UNARY (operands[3]))
16775 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16776 : : STRIP_UNARY (operands[3])))))
16777 : : return -1;
16778 : : return 5766; /* *avx512vl_vpternlogv2di_1 */
16779 : :
16780 : : case 36:
16781 : : if (!(
16782 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16783 : : ((64 == 64 || TARGET_AVX512VL
16784 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16785 : : && ix86_pre_reload_split ()) &&
16786 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16787 : : (TARGET_AVX512F)))
16788 : : return -1;
16789 : : return 6753; /* *avx512bw_vpternlogv64qi_3 */
16790 : :
16791 : : case 37:
16792 : : if (!(
16793 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16794 : : ((32 == 64 || TARGET_AVX512VL
16795 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16796 : : && ix86_pre_reload_split ()) &&
16797 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16798 : : (TARGET_AVX)))
16799 : : return -1;
16800 : : return 6762; /* *avx512vl_vpternlogv32qi_3 */
16801 : :
16802 : : case 38:
16803 : : if (!
16804 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16805 : : ((16 == 64 || TARGET_AVX512VL
16806 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16807 : : && ix86_pre_reload_split ()))
16808 : : return -1;
16809 : : return 6771; /* *avx512vl_vpternlogv16qi_3 */
16810 : :
16811 : : case 39:
16812 : : if (!(
16813 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16814 : : ((64 == 64 || TARGET_AVX512VL
16815 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16816 : : && ix86_pre_reload_split ()) &&
16817 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16818 : : (TARGET_AVX512F)))
16819 : : return -1;
16820 : : return 6780; /* *avx512bw_vpternlogv32hi_3 */
16821 : :
16822 : : case 40:
16823 : : if (!(
16824 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16825 : : ((32 == 64 || TARGET_AVX512VL
16826 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16827 : : && ix86_pre_reload_split ()) &&
16828 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16829 : : (TARGET_AVX)))
16830 : : return -1;
16831 : : return 6789; /* *avx512vl_vpternlogv16hi_3 */
16832 : :
16833 : : case 41:
16834 : : if (!
16835 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16836 : : ((16 == 64 || TARGET_AVX512VL
16837 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16838 : : && ix86_pre_reload_split ()))
16839 : : return -1;
16840 : : return 6798; /* *avx512vl_vpternlogv8hi_3 */
16841 : :
16842 : : case 42:
16843 : : if (!(
16844 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16845 : : ((64 == 64 || TARGET_AVX512VL
16846 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16847 : : && ix86_pre_reload_split ()) &&
16848 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16849 : : (TARGET_AVX512F)))
16850 : : return -1;
16851 : : return 6807; /* *avx512f_vpternlogv16si_3 */
16852 : :
16853 : : case 43:
16854 : : if (!(
16855 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16856 : : ((32 == 64 || TARGET_AVX512VL
16857 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16858 : : && ix86_pre_reload_split ()) &&
16859 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16860 : : (TARGET_AVX)))
16861 : : return -1;
16862 : : return 6816; /* *avx512vl_vpternlogv8si_3 */
16863 : :
16864 : : case 44:
16865 : : if (!
16866 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16867 : : ((16 == 64 || TARGET_AVX512VL
16868 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16869 : : && ix86_pre_reload_split ()))
16870 : : return -1;
16871 : : return 6825; /* *avx512vl_vpternlogv4si_3 */
16872 : :
16873 : : case 45:
16874 : : if (!(
16875 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16876 : : ((64 == 64 || TARGET_AVX512VL
16877 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16878 : : && ix86_pre_reload_split ()) &&
16879 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16880 : : (TARGET_AVX512F)))
16881 : : return -1;
16882 : : return 6834; /* *avx512f_vpternlogv8di_3 */
16883 : :
16884 : : case 46:
16885 : : if (!(
16886 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16887 : : ((32 == 64 || TARGET_AVX512VL
16888 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16889 : : && ix86_pre_reload_split ()) &&
16890 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16891 : : (TARGET_AVX)))
16892 : : return -1;
16893 : : return 6843; /* *avx512vl_vpternlogv4di_3 */
16894 : :
16895 : : case 47:
16896 : : if (!
16897 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16898 : : ((16 == 64 || TARGET_AVX512VL
16899 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16900 : : && ix86_pre_reload_split ()))
16901 : : return -1;
16902 : : return 6852; /* *avx512vl_vpternlogv2di_3 */
16903 : :
16904 : : default:
16905 : : return -1;
16906 : : }
16907 : :
16908 : : case AND:
16909 : : switch (pattern522 (x2))
16910 : : {
16911 : : case 0:
16912 : : if (!(
16913 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16914 : : ((64 == 64 || TARGET_AVX512VL
16915 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16916 : : && ix86_pre_reload_split ()
16917 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16918 : : STRIP_UNARY (operands[4]))
16919 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16920 : : STRIP_UNARY (operands[4]))
16921 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16922 : : STRIP_UNARY (operands[3]))
16923 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16924 : : STRIP_UNARY (operands[3])))) &&
16925 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16926 : : (TARGET_AVX512F)))
16927 : : return -1;
16928 : : return 6111; /* *avx512bw_vpternlogv64qi_2 */
16929 : :
16930 : : case 1:
16931 : : if (!(
16932 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16933 : : ((32 == 64 || TARGET_AVX512VL
16934 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16935 : : && ix86_pre_reload_split ()
16936 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16937 : : STRIP_UNARY (operands[4]))
16938 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16939 : : STRIP_UNARY (operands[4]))
16940 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16941 : : STRIP_UNARY (operands[3]))
16942 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16943 : : STRIP_UNARY (operands[3])))) &&
16944 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16945 : : (TARGET_AVX)))
16946 : : return -1;
16947 : : return 6138; /* *avx512vl_vpternlogv32qi_2 */
16948 : :
16949 : : case 2:
16950 : : if (!
16951 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16952 : : ((16 == 64 || TARGET_AVX512VL
16953 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16954 : : && ix86_pre_reload_split ()
16955 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16956 : : STRIP_UNARY (operands[4]))
16957 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16958 : : STRIP_UNARY (operands[4]))
16959 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16960 : : STRIP_UNARY (operands[3]))
16961 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16962 : : STRIP_UNARY (operands[3])))))
16963 : : return -1;
16964 : : return 6165; /* *avx512vl_vpternlogv16qi_2 */
16965 : :
16966 : : case 3:
16967 : : if (!(
16968 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16969 : : ((64 == 64 || TARGET_AVX512VL
16970 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16971 : : && ix86_pre_reload_split ()
16972 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16973 : : STRIP_UNARY (operands[4]))
16974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16975 : : STRIP_UNARY (operands[4]))
16976 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16977 : : STRIP_UNARY (operands[3]))
16978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16979 : : STRIP_UNARY (operands[3])))) &&
16980 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16981 : : (TARGET_AVX512F)))
16982 : : return -1;
16983 : : return 6192; /* *avx512bw_vpternlogv32hi_2 */
16984 : :
16985 : : case 4:
16986 : : if (!(
16987 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16988 : : ((32 == 64 || TARGET_AVX512VL
16989 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16990 : : && ix86_pre_reload_split ()
16991 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16992 : : STRIP_UNARY (operands[4]))
16993 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16994 : : STRIP_UNARY (operands[4]))
16995 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16996 : : STRIP_UNARY (operands[3]))
16997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16998 : : STRIP_UNARY (operands[3])))) &&
16999 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17000 : : (TARGET_AVX)))
17001 : : return -1;
17002 : : return 6219; /* *avx512vl_vpternlogv16hi_2 */
17003 : :
17004 : : case 5:
17005 : : if (!
17006 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17007 : : ((16 == 64 || TARGET_AVX512VL
17008 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17009 : : && ix86_pre_reload_split ()
17010 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17011 : : STRIP_UNARY (operands[4]))
17012 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17013 : : STRIP_UNARY (operands[4]))
17014 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17015 : : STRIP_UNARY (operands[3]))
17016 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17017 : : STRIP_UNARY (operands[3])))))
17018 : : return -1;
17019 : : return 6246; /* *avx512vl_vpternlogv8hi_2 */
17020 : :
17021 : : case 6:
17022 : : if (!(
17023 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17024 : : ((64 == 64 || TARGET_AVX512VL
17025 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17026 : : && ix86_pre_reload_split ()
17027 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17028 : : STRIP_UNARY (operands[4]))
17029 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17030 : : STRIP_UNARY (operands[4]))
17031 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17032 : : STRIP_UNARY (operands[3]))
17033 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17034 : : STRIP_UNARY (operands[3])))) &&
17035 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17036 : : (TARGET_AVX512F)))
17037 : : return -1;
17038 : : return 6273; /* *avx512f_vpternlogv16si_2 */
17039 : :
17040 : : case 7:
17041 : : if (!(
17042 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17043 : : ((32 == 64 || TARGET_AVX512VL
17044 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17045 : : && ix86_pre_reload_split ()
17046 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17047 : : STRIP_UNARY (operands[4]))
17048 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17049 : : STRIP_UNARY (operands[4]))
17050 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17051 : : STRIP_UNARY (operands[3]))
17052 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17053 : : STRIP_UNARY (operands[3])))) &&
17054 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17055 : : (TARGET_AVX)))
17056 : : return -1;
17057 : : return 6300; /* *avx512vl_vpternlogv8si_2 */
17058 : :
17059 : : case 8:
17060 : : if (!
17061 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17062 : : ((16 == 64 || TARGET_AVX512VL
17063 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17064 : : && ix86_pre_reload_split ()
17065 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17066 : : STRIP_UNARY (operands[4]))
17067 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17068 : : STRIP_UNARY (operands[4]))
17069 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17070 : : STRIP_UNARY (operands[3]))
17071 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17072 : : STRIP_UNARY (operands[3])))))
17073 : : return -1;
17074 : : return 6327; /* *avx512vl_vpternlogv4si_2 */
17075 : :
17076 : : case 9:
17077 : : if (!(
17078 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17079 : : ((64 == 64 || TARGET_AVX512VL
17080 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17081 : : && ix86_pre_reload_split ()
17082 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17083 : : STRIP_UNARY (operands[4]))
17084 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17085 : : STRIP_UNARY (operands[4]))
17086 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17087 : : STRIP_UNARY (operands[3]))
17088 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17089 : : STRIP_UNARY (operands[3])))) &&
17090 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17091 : : (TARGET_AVX512F)))
17092 : : return -1;
17093 : : return 6354; /* *avx512f_vpternlogv8di_2 */
17094 : :
17095 : : case 10:
17096 : : if (!(
17097 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17098 : : ((32 == 64 || TARGET_AVX512VL
17099 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17100 : : && ix86_pre_reload_split ()
17101 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17102 : : STRIP_UNARY (operands[4]))
17103 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17104 : : STRIP_UNARY (operands[4]))
17105 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17106 : : STRIP_UNARY (operands[3]))
17107 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17108 : : STRIP_UNARY (operands[3])))) &&
17109 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17110 : : (TARGET_AVX)))
17111 : : return -1;
17112 : : return 6381; /* *avx512vl_vpternlogv4di_2 */
17113 : :
17114 : : case 11:
17115 : : if (!
17116 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17117 : : ((16 == 64 || TARGET_AVX512VL
17118 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17119 : : && ix86_pre_reload_split ()
17120 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17121 : : STRIP_UNARY (operands[4]))
17122 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17123 : : STRIP_UNARY (operands[4]))
17124 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17125 : : STRIP_UNARY (operands[3]))
17126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17127 : : STRIP_UNARY (operands[3])))))
17128 : : return -1;
17129 : : return 6408; /* *avx512vl_vpternlogv2di_2 */
17130 : :
17131 : : default:
17132 : : return -1;
17133 : : }
17134 : :
17135 : : case IOR:
17136 : : switch (pattern522 (x2))
17137 : : {
17138 : : case 0:
17139 : : if (!(
17140 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17141 : : ((64 == 64 || TARGET_AVX512VL
17142 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17143 : : && ix86_pre_reload_split ()
17144 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17145 : : STRIP_UNARY (operands[4]))
17146 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17147 : : STRIP_UNARY (operands[4]))
17148 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17149 : : STRIP_UNARY (operands[3]))
17150 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17151 : : STRIP_UNARY (operands[3])))) &&
17152 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17153 : : (TARGET_AVX512F)))
17154 : : return -1;
17155 : : return 6114; /* *avx512bw_vpternlogv64qi_2 */
17156 : :
17157 : : case 1:
17158 : : if (!(
17159 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17160 : : ((32 == 64 || TARGET_AVX512VL
17161 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17162 : : && ix86_pre_reload_split ()
17163 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17164 : : STRIP_UNARY (operands[4]))
17165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17166 : : STRIP_UNARY (operands[4]))
17167 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17168 : : STRIP_UNARY (operands[3]))
17169 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17170 : : STRIP_UNARY (operands[3])))) &&
17171 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17172 : : (TARGET_AVX)))
17173 : : return -1;
17174 : : return 6141; /* *avx512vl_vpternlogv32qi_2 */
17175 : :
17176 : : case 2:
17177 : : if (!
17178 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17179 : : ((16 == 64 || TARGET_AVX512VL
17180 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17181 : : && ix86_pre_reload_split ()
17182 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17183 : : STRIP_UNARY (operands[4]))
17184 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17185 : : STRIP_UNARY (operands[4]))
17186 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17187 : : STRIP_UNARY (operands[3]))
17188 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17189 : : STRIP_UNARY (operands[3])))))
17190 : : return -1;
17191 : : return 6168; /* *avx512vl_vpternlogv16qi_2 */
17192 : :
17193 : : case 3:
17194 : : if (!(
17195 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17196 : : ((64 == 64 || TARGET_AVX512VL
17197 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17198 : : && ix86_pre_reload_split ()
17199 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17200 : : STRIP_UNARY (operands[4]))
17201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17202 : : STRIP_UNARY (operands[4]))
17203 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17204 : : STRIP_UNARY (operands[3]))
17205 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17206 : : STRIP_UNARY (operands[3])))) &&
17207 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17208 : : (TARGET_AVX512F)))
17209 : : return -1;
17210 : : return 6195; /* *avx512bw_vpternlogv32hi_2 */
17211 : :
17212 : : case 4:
17213 : : if (!(
17214 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17215 : : ((32 == 64 || TARGET_AVX512VL
17216 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17217 : : && ix86_pre_reload_split ()
17218 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17219 : : STRIP_UNARY (operands[4]))
17220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17221 : : STRIP_UNARY (operands[4]))
17222 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17223 : : STRIP_UNARY (operands[3]))
17224 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17225 : : STRIP_UNARY (operands[3])))) &&
17226 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17227 : : (TARGET_AVX)))
17228 : : return -1;
17229 : : return 6222; /* *avx512vl_vpternlogv16hi_2 */
17230 : :
17231 : : case 5:
17232 : : if (!
17233 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17234 : : ((16 == 64 || TARGET_AVX512VL
17235 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17236 : : && ix86_pre_reload_split ()
17237 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17238 : : STRIP_UNARY (operands[4]))
17239 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17240 : : STRIP_UNARY (operands[4]))
17241 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17242 : : STRIP_UNARY (operands[3]))
17243 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17244 : : STRIP_UNARY (operands[3])))))
17245 : : return -1;
17246 : : return 6249; /* *avx512vl_vpternlogv8hi_2 */
17247 : :
17248 : : case 6:
17249 : : if (!(
17250 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17251 : : ((64 == 64 || TARGET_AVX512VL
17252 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17253 : : && ix86_pre_reload_split ()
17254 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17255 : : STRIP_UNARY (operands[4]))
17256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17257 : : STRIP_UNARY (operands[4]))
17258 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17259 : : STRIP_UNARY (operands[3]))
17260 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17261 : : STRIP_UNARY (operands[3])))) &&
17262 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17263 : : (TARGET_AVX512F)))
17264 : : return -1;
17265 : : return 6276; /* *avx512f_vpternlogv16si_2 */
17266 : :
17267 : : case 7:
17268 : : if (!(
17269 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17270 : : ((32 == 64 || TARGET_AVX512VL
17271 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17272 : : && ix86_pre_reload_split ()
17273 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17274 : : STRIP_UNARY (operands[4]))
17275 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17276 : : STRIP_UNARY (operands[4]))
17277 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17278 : : STRIP_UNARY (operands[3]))
17279 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17280 : : STRIP_UNARY (operands[3])))) &&
17281 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17282 : : (TARGET_AVX)))
17283 : : return -1;
17284 : : return 6303; /* *avx512vl_vpternlogv8si_2 */
17285 : :
17286 : : case 8:
17287 : : if (!
17288 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17289 : : ((16 == 64 || TARGET_AVX512VL
17290 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17291 : : && ix86_pre_reload_split ()
17292 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17293 : : STRIP_UNARY (operands[4]))
17294 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17295 : : STRIP_UNARY (operands[4]))
17296 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17297 : : STRIP_UNARY (operands[3]))
17298 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17299 : : STRIP_UNARY (operands[3])))))
17300 : : return -1;
17301 : : return 6330; /* *avx512vl_vpternlogv4si_2 */
17302 : :
17303 : : case 9:
17304 : : if (!(
17305 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17306 : : ((64 == 64 || TARGET_AVX512VL
17307 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17308 : : && ix86_pre_reload_split ()
17309 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17310 : : STRIP_UNARY (operands[4]))
17311 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17312 : : STRIP_UNARY (operands[4]))
17313 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17314 : : STRIP_UNARY (operands[3]))
17315 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17316 : : STRIP_UNARY (operands[3])))) &&
17317 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17318 : : (TARGET_AVX512F)))
17319 : : return -1;
17320 : : return 6357; /* *avx512f_vpternlogv8di_2 */
17321 : :
17322 : : case 10:
17323 : : if (!(
17324 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17325 : : ((32 == 64 || TARGET_AVX512VL
17326 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17327 : : && ix86_pre_reload_split ()
17328 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17329 : : STRIP_UNARY (operands[4]))
17330 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17331 : : STRIP_UNARY (operands[4]))
17332 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17333 : : STRIP_UNARY (operands[3]))
17334 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17335 : : STRIP_UNARY (operands[3])))) &&
17336 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17337 : : (TARGET_AVX)))
17338 : : return -1;
17339 : : return 6384; /* *avx512vl_vpternlogv4di_2 */
17340 : :
17341 : : case 11:
17342 : : if (!
17343 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17344 : : ((16 == 64 || TARGET_AVX512VL
17345 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17346 : : && ix86_pre_reload_split ()
17347 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17348 : : STRIP_UNARY (operands[4]))
17349 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17350 : : STRIP_UNARY (operands[4]))
17351 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17352 : : STRIP_UNARY (operands[3]))
17353 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17354 : : STRIP_UNARY (operands[3])))))
17355 : : return -1;
17356 : : return 6411; /* *avx512vl_vpternlogv2di_2 */
17357 : :
17358 : : default:
17359 : : return -1;
17360 : : }
17361 : :
17362 : : case XOR:
17363 : : switch (pattern522 (x2))
17364 : : {
17365 : : case 0:
17366 : : if (!(
17367 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17368 : : ((64 == 64 || TARGET_AVX512VL
17369 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17370 : : && ix86_pre_reload_split ()
17371 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17372 : : STRIP_UNARY (operands[4]))
17373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17374 : : STRIP_UNARY (operands[4]))
17375 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17376 : : STRIP_UNARY (operands[3]))
17377 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17378 : : STRIP_UNARY (operands[3])))) &&
17379 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17380 : : (TARGET_AVX512F)))
17381 : : return -1;
17382 : : return 6117; /* *avx512bw_vpternlogv64qi_2 */
17383 : :
17384 : : case 1:
17385 : : if (!(
17386 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17387 : : ((32 == 64 || TARGET_AVX512VL
17388 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17389 : : && ix86_pre_reload_split ()
17390 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17391 : : STRIP_UNARY (operands[4]))
17392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17393 : : STRIP_UNARY (operands[4]))
17394 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17395 : : STRIP_UNARY (operands[3]))
17396 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17397 : : STRIP_UNARY (operands[3])))) &&
17398 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17399 : : (TARGET_AVX)))
17400 : : return -1;
17401 : : return 6144; /* *avx512vl_vpternlogv32qi_2 */
17402 : :
17403 : : case 2:
17404 : : if (!
17405 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17406 : : ((16 == 64 || TARGET_AVX512VL
17407 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17408 : : && ix86_pre_reload_split ()
17409 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17410 : : STRIP_UNARY (operands[4]))
17411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17412 : : STRIP_UNARY (operands[4]))
17413 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17414 : : STRIP_UNARY (operands[3]))
17415 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17416 : : STRIP_UNARY (operands[3])))))
17417 : : return -1;
17418 : : return 6171; /* *avx512vl_vpternlogv16qi_2 */
17419 : :
17420 : : case 3:
17421 : : if (!(
17422 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17423 : : ((64 == 64 || TARGET_AVX512VL
17424 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17425 : : && ix86_pre_reload_split ()
17426 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17427 : : STRIP_UNARY (operands[4]))
17428 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17429 : : STRIP_UNARY (operands[4]))
17430 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17431 : : STRIP_UNARY (operands[3]))
17432 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17433 : : STRIP_UNARY (operands[3])))) &&
17434 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17435 : : (TARGET_AVX512F)))
17436 : : return -1;
17437 : : return 6198; /* *avx512bw_vpternlogv32hi_2 */
17438 : :
17439 : : case 4:
17440 : : if (!(
17441 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17442 : : ((32 == 64 || TARGET_AVX512VL
17443 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17444 : : && ix86_pre_reload_split ()
17445 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17446 : : STRIP_UNARY (operands[4]))
17447 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17448 : : STRIP_UNARY (operands[4]))
17449 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17450 : : STRIP_UNARY (operands[3]))
17451 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17452 : : STRIP_UNARY (operands[3])))) &&
17453 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17454 : : (TARGET_AVX)))
17455 : : return -1;
17456 : : return 6225; /* *avx512vl_vpternlogv16hi_2 */
17457 : :
17458 : : case 5:
17459 : : if (!
17460 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17461 : : ((16 == 64 || TARGET_AVX512VL
17462 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17463 : : && ix86_pre_reload_split ()
17464 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17465 : : STRIP_UNARY (operands[4]))
17466 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17467 : : STRIP_UNARY (operands[4]))
17468 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17469 : : STRIP_UNARY (operands[3]))
17470 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17471 : : STRIP_UNARY (operands[3])))))
17472 : : return -1;
17473 : : return 6252; /* *avx512vl_vpternlogv8hi_2 */
17474 : :
17475 : : case 6:
17476 : : if (!(
17477 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17478 : : ((64 == 64 || TARGET_AVX512VL
17479 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17480 : : && ix86_pre_reload_split ()
17481 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17482 : : STRIP_UNARY (operands[4]))
17483 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17484 : : STRIP_UNARY (operands[4]))
17485 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17486 : : STRIP_UNARY (operands[3]))
17487 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17488 : : STRIP_UNARY (operands[3])))) &&
17489 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17490 : : (TARGET_AVX512F)))
17491 : : return -1;
17492 : : return 6279; /* *avx512f_vpternlogv16si_2 */
17493 : :
17494 : : case 7:
17495 : : if (!(
17496 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17497 : : ((32 == 64 || TARGET_AVX512VL
17498 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17499 : : && ix86_pre_reload_split ()
17500 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17501 : : STRIP_UNARY (operands[4]))
17502 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17503 : : STRIP_UNARY (operands[4]))
17504 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17505 : : STRIP_UNARY (operands[3]))
17506 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17507 : : STRIP_UNARY (operands[3])))) &&
17508 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17509 : : (TARGET_AVX)))
17510 : : return -1;
17511 : : return 6306; /* *avx512vl_vpternlogv8si_2 */
17512 : :
17513 : : case 8:
17514 : : if (!
17515 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17516 : : ((16 == 64 || TARGET_AVX512VL
17517 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17518 : : && ix86_pre_reload_split ()
17519 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17520 : : STRIP_UNARY (operands[4]))
17521 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17522 : : STRIP_UNARY (operands[4]))
17523 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17524 : : STRIP_UNARY (operands[3]))
17525 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17526 : : STRIP_UNARY (operands[3])))))
17527 : : return -1;
17528 : : return 6333; /* *avx512vl_vpternlogv4si_2 */
17529 : :
17530 : : case 9:
17531 : : if (!(
17532 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17533 : : ((64 == 64 || TARGET_AVX512VL
17534 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17535 : : && ix86_pre_reload_split ()
17536 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17537 : : STRIP_UNARY (operands[4]))
17538 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17539 : : STRIP_UNARY (operands[4]))
17540 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17541 : : STRIP_UNARY (operands[3]))
17542 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17543 : : STRIP_UNARY (operands[3])))) &&
17544 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17545 : : (TARGET_AVX512F)))
17546 : : return -1;
17547 : : return 6360; /* *avx512f_vpternlogv8di_2 */
17548 : :
17549 : : case 10:
17550 : : if (!(
17551 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17552 : : ((32 == 64 || TARGET_AVX512VL
17553 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17554 : : && ix86_pre_reload_split ()
17555 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17556 : : STRIP_UNARY (operands[4]))
17557 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17558 : : STRIP_UNARY (operands[4]))
17559 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17560 : : STRIP_UNARY (operands[3]))
17561 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17562 : : STRIP_UNARY (operands[3])))) &&
17563 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17564 : : (TARGET_AVX)))
17565 : : return -1;
17566 : : return 6387; /* *avx512vl_vpternlogv4di_2 */
17567 : :
17568 : : case 11:
17569 : : if (!
17570 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17571 : : ((16 == 64 || TARGET_AVX512VL
17572 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17573 : : && ix86_pre_reload_split ()
17574 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17575 : : STRIP_UNARY (operands[4]))
17576 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17577 : : STRIP_UNARY (operands[4]))
17578 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17579 : : STRIP_UNARY (operands[3]))
17580 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17581 : : STRIP_UNARY (operands[3])))))
17582 : : return -1;
17583 : : return 6414; /* *avx512vl_vpternlogv2di_2 */
17584 : :
17585 : : default:
17586 : : return -1;
17587 : : }
17588 : :
17589 : : default:
17590 : : return -1;
17591 : : }
17592 : : }
17593 : :
17594 : : int
17595 : : recog_313 (rtx x1 ATTRIBUTE_UNUSED,
17596 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17597 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17598 : : {
17599 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17600 : : rtx x2, x3, x4;
17601 : : int res ATTRIBUTE_UNUSED;
17602 : : x2 = XEXP (x1, 1);
17603 : : x3 = XEXP (x2, 0);
17604 : : switch (GET_CODE (x3))
17605 : : {
17606 : : case AND:
17607 : : x4 = XEXP (x3, 0);
17608 : : switch (GET_CODE (x4))
17609 : : {
17610 : : case REG:
17611 : : case SUBREG:
17612 : : case MEM:
17613 : : case NOT:
17614 : : switch (pattern524 (x2))
17615 : : {
17616 : : case 0:
17617 : : if (!(
17618 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17619 : : ((64 == 64 || TARGET_AVX512VL
17620 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17621 : : && ix86_pre_reload_split ()
17622 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17623 : : STRIP_UNARY (operands[4]))
17624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17625 : : STRIP_UNARY (operands[4]))
17626 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17627 : : STRIP_UNARY (operands[3]))
17628 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17629 : : STRIP_UNARY (operands[3])))) &&
17630 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17631 : : (TARGET_AVX512F)))
17632 : : return -1;
17633 : : return 5780; /* *avx512bw_vpternlogv32hf_1 */
17634 : :
17635 : : case 1:
17636 : : if (!(
17637 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17638 : : ((32 == 64 || TARGET_AVX512VL
17639 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17640 : : && ix86_pre_reload_split ()
17641 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17642 : : STRIP_UNARY (operands[4]))
17643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17644 : : STRIP_UNARY (operands[4]))
17645 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17646 : : STRIP_UNARY (operands[3]))
17647 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17648 : : STRIP_UNARY (operands[3])))) &&
17649 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17650 : : (TARGET_AVX)))
17651 : : return -1;
17652 : : return 5807; /* *avx512vl_vpternlogv16hf_1 */
17653 : :
17654 : : case 2:
17655 : : if (!
17656 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17657 : : ((16 == 64 || TARGET_AVX512VL
17658 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17659 : : && ix86_pre_reload_split ()
17660 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17661 : : STRIP_UNARY (operands[4]))
17662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17663 : : STRIP_UNARY (operands[4]))
17664 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17665 : : STRIP_UNARY (operands[3]))
17666 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17667 : : STRIP_UNARY (operands[3])))))
17668 : : return -1;
17669 : : return 5834; /* *avx512fp16_vpternlogv8hf_1 */
17670 : :
17671 : : case 3:
17672 : : if (!(
17673 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17674 : : ((64 == 64 || TARGET_AVX512VL
17675 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17676 : : && ix86_pre_reload_split ()
17677 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17678 : : STRIP_UNARY (operands[4]))
17679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17680 : : STRIP_UNARY (operands[4]))
17681 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17682 : : STRIP_UNARY (operands[3]))
17683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17684 : : STRIP_UNARY (operands[3])))) &&
17685 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17686 : : (TARGET_AVX512F)))
17687 : : return -1;
17688 : : return 5861; /* *avx512bw_vpternlogv32bf_1 */
17689 : :
17690 : : case 4:
17691 : : if (!(
17692 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17693 : : ((32 == 64 || TARGET_AVX512VL
17694 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17695 : : && ix86_pre_reload_split ()
17696 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17697 : : STRIP_UNARY (operands[4]))
17698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17699 : : STRIP_UNARY (operands[4]))
17700 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17701 : : STRIP_UNARY (operands[3]))
17702 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17703 : : STRIP_UNARY (operands[3])))) &&
17704 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17705 : : (TARGET_AVX)))
17706 : : return -1;
17707 : : return 5888; /* *avx512vl_vpternlogv16bf_1 */
17708 : :
17709 : : case 5:
17710 : : if (!
17711 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17712 : : ((16 == 64 || TARGET_AVX512VL
17713 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17714 : : && ix86_pre_reload_split ()
17715 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17716 : : STRIP_UNARY (operands[4]))
17717 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17718 : : STRIP_UNARY (operands[4]))
17719 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17720 : : STRIP_UNARY (operands[3]))
17721 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17722 : : STRIP_UNARY (operands[3])))))
17723 : : return -1;
17724 : : return 5915; /* *avx512vl_vpternlogv8bf_1 */
17725 : :
17726 : : case 6:
17727 : : if (!(
17728 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17729 : : ((64 == 64 || TARGET_AVX512VL
17730 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17731 : : && ix86_pre_reload_split ()
17732 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17733 : : STRIP_UNARY (operands[4]))
17734 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17735 : : STRIP_UNARY (operands[4]))
17736 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17737 : : STRIP_UNARY (operands[3]))
17738 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17739 : : STRIP_UNARY (operands[3])))) &&
17740 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17741 : : (TARGET_AVX512F)))
17742 : : return -1;
17743 : : return 5942; /* *avx512f_vpternlogv16sf_1 */
17744 : :
17745 : : case 7:
17746 : : if (!(
17747 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17748 : : ((32 == 64 || TARGET_AVX512VL
17749 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17750 : : && ix86_pre_reload_split ()
17751 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17752 : : STRIP_UNARY (operands[4]))
17753 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17754 : : STRIP_UNARY (operands[4]))
17755 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17756 : : STRIP_UNARY (operands[3]))
17757 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17758 : : STRIP_UNARY (operands[3])))) &&
17759 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17760 : : (TARGET_AVX)))
17761 : : return -1;
17762 : : return 5969; /* *avx512vl_vpternlogv8sf_1 */
17763 : :
17764 : : case 8:
17765 : : if (!
17766 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17767 : : ((16 == 64 || TARGET_AVX512VL
17768 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17769 : : && ix86_pre_reload_split ()
17770 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17771 : : STRIP_UNARY (operands[4]))
17772 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17773 : : STRIP_UNARY (operands[4]))
17774 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17775 : : STRIP_UNARY (operands[3]))
17776 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17777 : : STRIP_UNARY (operands[3])))))
17778 : : return -1;
17779 : : return 5996; /* *avx512vl_vpternlogv4sf_1 */
17780 : :
17781 : : case 9:
17782 : : if (!(
17783 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17784 : : ((64 == 64 || TARGET_AVX512VL
17785 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17786 : : && ix86_pre_reload_split ()
17787 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17788 : : STRIP_UNARY (operands[4]))
17789 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17790 : : STRIP_UNARY (operands[4]))
17791 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17792 : : STRIP_UNARY (operands[3]))
17793 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17794 : : STRIP_UNARY (operands[3])))) &&
17795 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17796 : : (TARGET_AVX512F)))
17797 : : return -1;
17798 : : return 6023; /* *avx512f_vpternlogv8df_1 */
17799 : :
17800 : : case 10:
17801 : : if (!(
17802 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17803 : : ((32 == 64 || TARGET_AVX512VL
17804 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17805 : : && ix86_pre_reload_split ()
17806 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17807 : : STRIP_UNARY (operands[4]))
17808 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17809 : : STRIP_UNARY (operands[4]))
17810 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17811 : : STRIP_UNARY (operands[3]))
17812 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17813 : : STRIP_UNARY (operands[3])))) &&
17814 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17815 : : (TARGET_AVX)))
17816 : : return -1;
17817 : : return 6050; /* *avx512vl_vpternlogv4df_1 */
17818 : :
17819 : : case 11:
17820 : : if (!(
17821 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17822 : : ((16 == 64 || TARGET_AVX512VL
17823 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17824 : : && ix86_pre_reload_split ()
17825 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17826 : : STRIP_UNARY (operands[4]))
17827 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17828 : : STRIP_UNARY (operands[4]))
17829 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17830 : : STRIP_UNARY (operands[3]))
17831 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17832 : : STRIP_UNARY (operands[3])))) &&
17833 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17834 : : (TARGET_SSE2)))
17835 : : return -1;
17836 : : return 6077; /* *avx512vl_vpternlogv2df_1 */
17837 : :
17838 : : case 12:
17839 : : if (!(
17840 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17841 : : ((64 == 64 || TARGET_AVX512VL
17842 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17843 : : && ix86_pre_reload_split ()
17844 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17845 : : STRIP_UNARY (operands[4]))
17846 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17847 : : STRIP_UNARY (operands[4]))
17848 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17849 : : STRIP_UNARY (operands[3]))
17850 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17851 : : STRIP_UNARY (operands[3])))) &&
17852 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17853 : : (TARGET_AVX512F)))
17854 : : return -1;
17855 : : return 5783; /* *avx512bw_vpternlogv32hf_1 */
17856 : :
17857 : : case 13:
17858 : : if (!(
17859 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17860 : : ((32 == 64 || TARGET_AVX512VL
17861 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17862 : : && ix86_pre_reload_split ()
17863 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17864 : : STRIP_UNARY (operands[4]))
17865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17866 : : STRIP_UNARY (operands[4]))
17867 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17868 : : STRIP_UNARY (operands[3]))
17869 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17870 : : STRIP_UNARY (operands[3])))) &&
17871 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17872 : : (TARGET_AVX)))
17873 : : return -1;
17874 : : return 5810; /* *avx512vl_vpternlogv16hf_1 */
17875 : :
17876 : : case 14:
17877 : : if (!
17878 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17879 : : ((16 == 64 || TARGET_AVX512VL
17880 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17881 : : && ix86_pre_reload_split ()
17882 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17883 : : STRIP_UNARY (operands[4]))
17884 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17885 : : STRIP_UNARY (operands[4]))
17886 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17887 : : STRIP_UNARY (operands[3]))
17888 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17889 : : STRIP_UNARY (operands[3])))))
17890 : : return -1;
17891 : : return 5837; /* *avx512fp16_vpternlogv8hf_1 */
17892 : :
17893 : : case 15:
17894 : : if (!(
17895 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17896 : : ((64 == 64 || TARGET_AVX512VL
17897 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17898 : : && ix86_pre_reload_split ()
17899 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17900 : : STRIP_UNARY (operands[4]))
17901 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17902 : : STRIP_UNARY (operands[4]))
17903 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17904 : : STRIP_UNARY (operands[3]))
17905 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17906 : : STRIP_UNARY (operands[3])))) &&
17907 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17908 : : (TARGET_AVX512F)))
17909 : : return -1;
17910 : : return 5864; /* *avx512bw_vpternlogv32bf_1 */
17911 : :
17912 : : case 16:
17913 : : if (!(
17914 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17915 : : ((32 == 64 || TARGET_AVX512VL
17916 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17917 : : && ix86_pre_reload_split ()
17918 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17919 : : STRIP_UNARY (operands[4]))
17920 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17921 : : STRIP_UNARY (operands[4]))
17922 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17923 : : STRIP_UNARY (operands[3]))
17924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17925 : : STRIP_UNARY (operands[3])))) &&
17926 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17927 : : (TARGET_AVX)))
17928 : : return -1;
17929 : : return 5891; /* *avx512vl_vpternlogv16bf_1 */
17930 : :
17931 : : case 17:
17932 : : if (!
17933 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17934 : : ((16 == 64 || TARGET_AVX512VL
17935 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17936 : : && ix86_pre_reload_split ()
17937 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17938 : : STRIP_UNARY (operands[4]))
17939 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17940 : : STRIP_UNARY (operands[4]))
17941 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17942 : : STRIP_UNARY (operands[3]))
17943 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17944 : : STRIP_UNARY (operands[3])))))
17945 : : return -1;
17946 : : return 5918; /* *avx512vl_vpternlogv8bf_1 */
17947 : :
17948 : : case 18:
17949 : : if (!(
17950 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17951 : : ((64 == 64 || TARGET_AVX512VL
17952 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17953 : : && ix86_pre_reload_split ()
17954 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17955 : : STRIP_UNARY (operands[4]))
17956 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17957 : : STRIP_UNARY (operands[4]))
17958 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17959 : : STRIP_UNARY (operands[3]))
17960 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17961 : : STRIP_UNARY (operands[3])))) &&
17962 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17963 : : (TARGET_AVX512F)))
17964 : : return -1;
17965 : : return 5945; /* *avx512f_vpternlogv16sf_1 */
17966 : :
17967 : : case 19:
17968 : : if (!(
17969 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17970 : : ((32 == 64 || TARGET_AVX512VL
17971 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17972 : : && ix86_pre_reload_split ()
17973 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17974 : : STRIP_UNARY (operands[4]))
17975 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17976 : : STRIP_UNARY (operands[4]))
17977 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17978 : : STRIP_UNARY (operands[3]))
17979 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17980 : : STRIP_UNARY (operands[3])))) &&
17981 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17982 : : (TARGET_AVX)))
17983 : : return -1;
17984 : : return 5972; /* *avx512vl_vpternlogv8sf_1 */
17985 : :
17986 : : case 20:
17987 : : if (!
17988 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17989 : : ((16 == 64 || TARGET_AVX512VL
17990 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17991 : : && ix86_pre_reload_split ()
17992 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17993 : : STRIP_UNARY (operands[4]))
17994 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17995 : : STRIP_UNARY (operands[4]))
17996 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17997 : : STRIP_UNARY (operands[3]))
17998 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17999 : : STRIP_UNARY (operands[3])))))
18000 : : return -1;
18001 : : return 5999; /* *avx512vl_vpternlogv4sf_1 */
18002 : :
18003 : : case 21:
18004 : : if (!(
18005 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18006 : : ((64 == 64 || TARGET_AVX512VL
18007 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18008 : : && ix86_pre_reload_split ()
18009 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18010 : : STRIP_UNARY (operands[4]))
18011 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18012 : : STRIP_UNARY (operands[4]))
18013 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18014 : : STRIP_UNARY (operands[3]))
18015 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18016 : : STRIP_UNARY (operands[3])))) &&
18017 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18018 : : (TARGET_AVX512F)))
18019 : : return -1;
18020 : : return 6026; /* *avx512f_vpternlogv8df_1 */
18021 : :
18022 : : case 22:
18023 : : if (!(
18024 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18025 : : ((32 == 64 || TARGET_AVX512VL
18026 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18027 : : && ix86_pre_reload_split ()
18028 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18029 : : STRIP_UNARY (operands[4]))
18030 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18031 : : STRIP_UNARY (operands[4]))
18032 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18033 : : STRIP_UNARY (operands[3]))
18034 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18035 : : STRIP_UNARY (operands[3])))) &&
18036 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18037 : : (TARGET_AVX)))
18038 : : return -1;
18039 : : return 6053; /* *avx512vl_vpternlogv4df_1 */
18040 : :
18041 : : case 23:
18042 : : if (!(
18043 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18044 : : ((16 == 64 || TARGET_AVX512VL
18045 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18046 : : && ix86_pre_reload_split ()
18047 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18048 : : STRIP_UNARY (operands[4]))
18049 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18050 : : STRIP_UNARY (operands[4]))
18051 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18052 : : STRIP_UNARY (operands[3]))
18053 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18054 : : STRIP_UNARY (operands[3])))) &&
18055 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18056 : : (TARGET_SSE2)))
18057 : : return -1;
18058 : : return 6080; /* *avx512vl_vpternlogv2df_1 */
18059 : :
18060 : : case 24:
18061 : : if (!(
18062 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18063 : : ((64 == 64 || TARGET_AVX512VL
18064 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18065 : : && ix86_pre_reload_split ()
18066 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18067 : : STRIP_UNARY (operands[4]))
18068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18069 : : STRIP_UNARY (operands[4]))
18070 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18071 : : STRIP_UNARY (operands[3]))
18072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18073 : : STRIP_UNARY (operands[3])))) &&
18074 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18075 : : (TARGET_AVX512F)))
18076 : : return -1;
18077 : : return 5786; /* *avx512bw_vpternlogv32hf_1 */
18078 : :
18079 : : case 25:
18080 : : if (!(
18081 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18082 : : ((32 == 64 || TARGET_AVX512VL
18083 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18084 : : && ix86_pre_reload_split ()
18085 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18086 : : STRIP_UNARY (operands[4]))
18087 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18088 : : STRIP_UNARY (operands[4]))
18089 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18090 : : STRIP_UNARY (operands[3]))
18091 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18092 : : STRIP_UNARY (operands[3])))) &&
18093 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18094 : : (TARGET_AVX)))
18095 : : return -1;
18096 : : return 5813; /* *avx512vl_vpternlogv16hf_1 */
18097 : :
18098 : : case 26:
18099 : : if (!
18100 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18101 : : ((16 == 64 || TARGET_AVX512VL
18102 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18103 : : && ix86_pre_reload_split ()
18104 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18105 : : STRIP_UNARY (operands[4]))
18106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18107 : : STRIP_UNARY (operands[4]))
18108 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18109 : : STRIP_UNARY (operands[3]))
18110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18111 : : STRIP_UNARY (operands[3])))))
18112 : : return -1;
18113 : : return 5840; /* *avx512fp16_vpternlogv8hf_1 */
18114 : :
18115 : : case 27:
18116 : : if (!(
18117 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18118 : : ((64 == 64 || TARGET_AVX512VL
18119 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18120 : : && ix86_pre_reload_split ()
18121 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18122 : : STRIP_UNARY (operands[4]))
18123 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18124 : : STRIP_UNARY (operands[4]))
18125 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18126 : : STRIP_UNARY (operands[3]))
18127 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18128 : : STRIP_UNARY (operands[3])))) &&
18129 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18130 : : (TARGET_AVX512F)))
18131 : : return -1;
18132 : : return 5867; /* *avx512bw_vpternlogv32bf_1 */
18133 : :
18134 : : case 28:
18135 : : if (!(
18136 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18137 : : ((32 == 64 || TARGET_AVX512VL
18138 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18139 : : && ix86_pre_reload_split ()
18140 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18141 : : STRIP_UNARY (operands[4]))
18142 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18143 : : STRIP_UNARY (operands[4]))
18144 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18145 : : STRIP_UNARY (operands[3]))
18146 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18147 : : STRIP_UNARY (operands[3])))) &&
18148 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18149 : : (TARGET_AVX)))
18150 : : return -1;
18151 : : return 5894; /* *avx512vl_vpternlogv16bf_1 */
18152 : :
18153 : : case 29:
18154 : : if (!
18155 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18156 : : ((16 == 64 || TARGET_AVX512VL
18157 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18158 : : && ix86_pre_reload_split ()
18159 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18160 : : STRIP_UNARY (operands[4]))
18161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18162 : : STRIP_UNARY (operands[4]))
18163 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18164 : : STRIP_UNARY (operands[3]))
18165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18166 : : STRIP_UNARY (operands[3])))))
18167 : : return -1;
18168 : : return 5921; /* *avx512vl_vpternlogv8bf_1 */
18169 : :
18170 : : case 30:
18171 : : if (!(
18172 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18173 : : ((64 == 64 || TARGET_AVX512VL
18174 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18175 : : && ix86_pre_reload_split ()
18176 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18177 : : STRIP_UNARY (operands[4]))
18178 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18179 : : STRIP_UNARY (operands[4]))
18180 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18181 : : STRIP_UNARY (operands[3]))
18182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18183 : : STRIP_UNARY (operands[3])))) &&
18184 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18185 : : (TARGET_AVX512F)))
18186 : : return -1;
18187 : : return 5948; /* *avx512f_vpternlogv16sf_1 */
18188 : :
18189 : : case 31:
18190 : : if (!(
18191 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18192 : : ((32 == 64 || TARGET_AVX512VL
18193 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18194 : : && ix86_pre_reload_split ()
18195 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18196 : : STRIP_UNARY (operands[4]))
18197 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18198 : : STRIP_UNARY (operands[4]))
18199 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18200 : : STRIP_UNARY (operands[3]))
18201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18202 : : STRIP_UNARY (operands[3])))) &&
18203 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18204 : : (TARGET_AVX)))
18205 : : return -1;
18206 : : return 5975; /* *avx512vl_vpternlogv8sf_1 */
18207 : :
18208 : : case 32:
18209 : : if (!
18210 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18211 : : ((16 == 64 || TARGET_AVX512VL
18212 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18213 : : && ix86_pre_reload_split ()
18214 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18215 : : STRIP_UNARY (operands[4]))
18216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18217 : : STRIP_UNARY (operands[4]))
18218 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18219 : : STRIP_UNARY (operands[3]))
18220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18221 : : STRIP_UNARY (operands[3])))))
18222 : : return -1;
18223 : : return 6002; /* *avx512vl_vpternlogv4sf_1 */
18224 : :
18225 : : case 33:
18226 : : if (!(
18227 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18228 : : ((64 == 64 || TARGET_AVX512VL
18229 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18230 : : && ix86_pre_reload_split ()
18231 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18232 : : STRIP_UNARY (operands[4]))
18233 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18234 : : STRIP_UNARY (operands[4]))
18235 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18236 : : STRIP_UNARY (operands[3]))
18237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18238 : : STRIP_UNARY (operands[3])))) &&
18239 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18240 : : (TARGET_AVX512F)))
18241 : : return -1;
18242 : : return 6029; /* *avx512f_vpternlogv8df_1 */
18243 : :
18244 : : case 34:
18245 : : if (!(
18246 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18247 : : ((32 == 64 || TARGET_AVX512VL
18248 : : || (TARGET_AVX512F && !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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18259 : : (TARGET_AVX)))
18260 : : return -1;
18261 : : return 6056; /* *avx512vl_vpternlogv4df_1 */
18262 : :
18263 : : case 35:
18264 : : if (!(
18265 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18266 : : ((16 == 64 || TARGET_AVX512VL
18267 : : || (TARGET_AVX512F && !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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18278 : : (TARGET_SSE2)))
18279 : : return -1;
18280 : : return 6083; /* *avx512vl_vpternlogv2df_1 */
18281 : :
18282 : : case 36:
18283 : : if (!(
18284 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18285 : : ((64 == 64 || TARGET_AVX512VL
18286 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18287 : : && ix86_pre_reload_split ()) &&
18288 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18289 : : (TARGET_AVX512F)))
18290 : : return -1;
18291 : : return 6860; /* *avx512bw_vpternlogv32hf_3 */
18292 : :
18293 : : case 37:
18294 : : if (!(
18295 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18296 : : ((32 == 64 || TARGET_AVX512VL
18297 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18298 : : && ix86_pre_reload_split ()) &&
18299 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18300 : : (TARGET_AVX)))
18301 : : return -1;
18302 : : return 6869; /* *avx512vl_vpternlogv16hf_3 */
18303 : :
18304 : : case 38:
18305 : : if (!
18306 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18307 : : ((16 == 64 || TARGET_AVX512VL
18308 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18309 : : && ix86_pre_reload_split ()))
18310 : : return -1;
18311 : : return 6878; /* *avx512fp16_vpternlogv8hf_3 */
18312 : :
18313 : : case 39:
18314 : : if (!(
18315 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18316 : : ((64 == 64 || TARGET_AVX512VL
18317 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18318 : : && ix86_pre_reload_split ()) &&
18319 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18320 : : (TARGET_AVX512F)))
18321 : : return -1;
18322 : : return 6887; /* *avx512bw_vpternlogv32bf_3 */
18323 : :
18324 : : case 40:
18325 : : if (!(
18326 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18327 : : ((32 == 64 || TARGET_AVX512VL
18328 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18329 : : && ix86_pre_reload_split ()) &&
18330 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18331 : : (TARGET_AVX)))
18332 : : return -1;
18333 : : return 6896; /* *avx512vl_vpternlogv16bf_3 */
18334 : :
18335 : : case 41:
18336 : : if (!
18337 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18338 : : ((16 == 64 || TARGET_AVX512VL
18339 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18340 : : && ix86_pre_reload_split ()))
18341 : : return -1;
18342 : : return 6905; /* *avx512vl_vpternlogv8bf_3 */
18343 : :
18344 : : case 42:
18345 : : if (!(
18346 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18347 : : ((64 == 64 || TARGET_AVX512VL
18348 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18349 : : && ix86_pre_reload_split ()) &&
18350 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18351 : : (TARGET_AVX512F)))
18352 : : return -1;
18353 : : return 6914; /* *avx512f_vpternlogv16sf_3 */
18354 : :
18355 : : case 43:
18356 : : if (!(
18357 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18358 : : ((32 == 64 || TARGET_AVX512VL
18359 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18360 : : && ix86_pre_reload_split ()) &&
18361 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18362 : : (TARGET_AVX)))
18363 : : return -1;
18364 : : return 6923; /* *avx512vl_vpternlogv8sf_3 */
18365 : :
18366 : : case 44:
18367 : : if (!
18368 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18369 : : ((16 == 64 || TARGET_AVX512VL
18370 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18371 : : && ix86_pre_reload_split ()))
18372 : : return -1;
18373 : : return 6932; /* *avx512vl_vpternlogv4sf_3 */
18374 : :
18375 : : case 45:
18376 : : if (!(
18377 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18378 : : ((64 == 64 || TARGET_AVX512VL
18379 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18380 : : && ix86_pre_reload_split ()) &&
18381 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18382 : : (TARGET_AVX512F)))
18383 : : return -1;
18384 : : return 6941; /* *avx512f_vpternlogv8df_3 */
18385 : :
18386 : : case 46:
18387 : : if (!(
18388 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18389 : : ((32 == 64 || TARGET_AVX512VL
18390 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18391 : : && ix86_pre_reload_split ()) &&
18392 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18393 : : (TARGET_AVX)))
18394 : : return -1;
18395 : : return 6950; /* *avx512vl_vpternlogv4df_3 */
18396 : :
18397 : : case 47:
18398 : : if (!(
18399 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18400 : : ((16 == 64 || TARGET_AVX512VL
18401 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18402 : : && ix86_pre_reload_split ()) &&
18403 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18404 : : (TARGET_SSE2)))
18405 : : return -1;
18406 : : return 6959; /* *avx512vl_vpternlogv2df_3 */
18407 : :
18408 : : default:
18409 : : return -1;
18410 : : }
18411 : :
18412 : : case AND:
18413 : : switch (pattern525 (x2))
18414 : : {
18415 : : case 0:
18416 : : if (!(
18417 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18418 : : ((64 == 64 || TARGET_AVX512VL
18419 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18420 : : && ix86_pre_reload_split ()
18421 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18422 : : STRIP_UNARY (operands[4]))
18423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18424 : : STRIP_UNARY (operands[4]))
18425 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18426 : : STRIP_UNARY (operands[3]))
18427 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18428 : : STRIP_UNARY (operands[3])))) &&
18429 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18430 : : (TARGET_AVX512F)))
18431 : : return -1;
18432 : : return 6428; /* *avx512bw_vpternlogv32hf_2 */
18433 : :
18434 : : case 1:
18435 : : if (!(
18436 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18437 : : ((32 == 64 || TARGET_AVX512VL
18438 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18439 : : && ix86_pre_reload_split ()
18440 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18441 : : STRIP_UNARY (operands[4]))
18442 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18443 : : STRIP_UNARY (operands[4]))
18444 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18445 : : STRIP_UNARY (operands[3]))
18446 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18447 : : STRIP_UNARY (operands[3])))) &&
18448 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18449 : : (TARGET_AVX)))
18450 : : return -1;
18451 : : return 6455; /* *avx512vl_vpternlogv16hf_2 */
18452 : :
18453 : : case 2:
18454 : : if (!
18455 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18456 : : ((16 == 64 || TARGET_AVX512VL
18457 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18458 : : && ix86_pre_reload_split ()
18459 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18460 : : STRIP_UNARY (operands[4]))
18461 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18462 : : STRIP_UNARY (operands[4]))
18463 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18464 : : STRIP_UNARY (operands[3]))
18465 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18466 : : STRIP_UNARY (operands[3])))))
18467 : : return -1;
18468 : : return 6482; /* *avx512fp16_vpternlogv8hf_2 */
18469 : :
18470 : : case 3:
18471 : : if (!(
18472 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18473 : : ((64 == 64 || TARGET_AVX512VL
18474 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18475 : : && ix86_pre_reload_split ()
18476 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18477 : : STRIP_UNARY (operands[4]))
18478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18479 : : STRIP_UNARY (operands[4]))
18480 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18481 : : STRIP_UNARY (operands[3]))
18482 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18483 : : STRIP_UNARY (operands[3])))) &&
18484 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18485 : : (TARGET_AVX512F)))
18486 : : return -1;
18487 : : return 6509; /* *avx512bw_vpternlogv32bf_2 */
18488 : :
18489 : : case 4:
18490 : : if (!(
18491 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18492 : : ((32 == 64 || TARGET_AVX512VL
18493 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18494 : : && ix86_pre_reload_split ()
18495 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18496 : : STRIP_UNARY (operands[4]))
18497 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18498 : : STRIP_UNARY (operands[4]))
18499 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18500 : : STRIP_UNARY (operands[3]))
18501 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18502 : : STRIP_UNARY (operands[3])))) &&
18503 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18504 : : (TARGET_AVX)))
18505 : : return -1;
18506 : : return 6536; /* *avx512vl_vpternlogv16bf_2 */
18507 : :
18508 : : case 5:
18509 : : if (!
18510 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18511 : : ((16 == 64 || TARGET_AVX512VL
18512 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18513 : : && ix86_pre_reload_split ()
18514 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18515 : : STRIP_UNARY (operands[4]))
18516 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18517 : : STRIP_UNARY (operands[4]))
18518 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18519 : : STRIP_UNARY (operands[3]))
18520 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18521 : : STRIP_UNARY (operands[3])))))
18522 : : return -1;
18523 : : return 6563; /* *avx512vl_vpternlogv8bf_2 */
18524 : :
18525 : : case 6:
18526 : : if (!(
18527 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18528 : : ((64 == 64 || TARGET_AVX512VL
18529 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18530 : : && ix86_pre_reload_split ()
18531 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18532 : : STRIP_UNARY (operands[4]))
18533 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18534 : : STRIP_UNARY (operands[4]))
18535 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18536 : : STRIP_UNARY (operands[3]))
18537 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18538 : : STRIP_UNARY (operands[3])))) &&
18539 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18540 : : (TARGET_AVX512F)))
18541 : : return -1;
18542 : : return 6590; /* *avx512f_vpternlogv16sf_2 */
18543 : :
18544 : : case 7:
18545 : : if (!(
18546 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18547 : : ((32 == 64 || TARGET_AVX512VL
18548 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18549 : : && ix86_pre_reload_split ()
18550 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18551 : : STRIP_UNARY (operands[4]))
18552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18553 : : STRIP_UNARY (operands[4]))
18554 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18555 : : STRIP_UNARY (operands[3]))
18556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18557 : : STRIP_UNARY (operands[3])))) &&
18558 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18559 : : (TARGET_AVX)))
18560 : : return -1;
18561 : : return 6617; /* *avx512vl_vpternlogv8sf_2 */
18562 : :
18563 : : case 8:
18564 : : if (!
18565 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18566 : : ((16 == 64 || TARGET_AVX512VL
18567 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18568 : : && ix86_pre_reload_split ()
18569 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18570 : : STRIP_UNARY (operands[4]))
18571 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18572 : : STRIP_UNARY (operands[4]))
18573 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18574 : : STRIP_UNARY (operands[3]))
18575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18576 : : STRIP_UNARY (operands[3])))))
18577 : : return -1;
18578 : : return 6644; /* *avx512vl_vpternlogv4sf_2 */
18579 : :
18580 : : case 9:
18581 : : if (!(
18582 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18583 : : ((64 == 64 || TARGET_AVX512VL
18584 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18585 : : && ix86_pre_reload_split ()
18586 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18587 : : STRIP_UNARY (operands[4]))
18588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18589 : : STRIP_UNARY (operands[4]))
18590 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18591 : : STRIP_UNARY (operands[3]))
18592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18593 : : STRIP_UNARY (operands[3])))) &&
18594 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18595 : : (TARGET_AVX512F)))
18596 : : return -1;
18597 : : return 6671; /* *avx512f_vpternlogv8df_2 */
18598 : :
18599 : : case 10:
18600 : : if (!(
18601 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18602 : : ((32 == 64 || TARGET_AVX512VL
18603 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18604 : : && ix86_pre_reload_split ()
18605 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18606 : : STRIP_UNARY (operands[4]))
18607 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18608 : : STRIP_UNARY (operands[4]))
18609 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18610 : : STRIP_UNARY (operands[3]))
18611 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18612 : : STRIP_UNARY (operands[3])))) &&
18613 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18614 : : (TARGET_AVX)))
18615 : : return -1;
18616 : : return 6698; /* *avx512vl_vpternlogv4df_2 */
18617 : :
18618 : : case 11:
18619 : : if (!(
18620 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18621 : : ((16 == 64 || TARGET_AVX512VL
18622 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18623 : : && ix86_pre_reload_split ()
18624 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18625 : : STRIP_UNARY (operands[4]))
18626 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18627 : : STRIP_UNARY (operands[4]))
18628 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18629 : : STRIP_UNARY (operands[3]))
18630 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18631 : : STRIP_UNARY (operands[3])))) &&
18632 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18633 : : (TARGET_SSE2)))
18634 : : return -1;
18635 : : return 6725; /* *avx512vl_vpternlogv2df_2 */
18636 : :
18637 : : default:
18638 : : return -1;
18639 : : }
18640 : :
18641 : : case IOR:
18642 : : switch (pattern525 (x2))
18643 : : {
18644 : : case 0:
18645 : : if (!(
18646 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18647 : : ((64 == 64 || TARGET_AVX512VL
18648 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18649 : : && ix86_pre_reload_split ()
18650 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18651 : : STRIP_UNARY (operands[4]))
18652 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18653 : : STRIP_UNARY (operands[4]))
18654 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18655 : : STRIP_UNARY (operands[3]))
18656 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18657 : : STRIP_UNARY (operands[3])))) &&
18658 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18659 : : (TARGET_AVX512F)))
18660 : : return -1;
18661 : : return 6431; /* *avx512bw_vpternlogv32hf_2 */
18662 : :
18663 : : case 1:
18664 : : if (!(
18665 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18666 : : ((32 == 64 || TARGET_AVX512VL
18667 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18668 : : && ix86_pre_reload_split ()
18669 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18670 : : STRIP_UNARY (operands[4]))
18671 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18672 : : STRIP_UNARY (operands[4]))
18673 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18674 : : STRIP_UNARY (operands[3]))
18675 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18676 : : STRIP_UNARY (operands[3])))) &&
18677 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18678 : : (TARGET_AVX)))
18679 : : return -1;
18680 : : return 6458; /* *avx512vl_vpternlogv16hf_2 */
18681 : :
18682 : : case 2:
18683 : : if (!
18684 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18685 : : ((16 == 64 || TARGET_AVX512VL
18686 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18687 : : && ix86_pre_reload_split ()
18688 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18689 : : STRIP_UNARY (operands[4]))
18690 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18691 : : STRIP_UNARY (operands[4]))
18692 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18693 : : STRIP_UNARY (operands[3]))
18694 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18695 : : STRIP_UNARY (operands[3])))))
18696 : : return -1;
18697 : : return 6485; /* *avx512fp16_vpternlogv8hf_2 */
18698 : :
18699 : : case 3:
18700 : : if (!(
18701 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18702 : : ((64 == 64 || TARGET_AVX512VL
18703 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18704 : : && ix86_pre_reload_split ()
18705 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18706 : : STRIP_UNARY (operands[4]))
18707 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18708 : : STRIP_UNARY (operands[4]))
18709 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18710 : : STRIP_UNARY (operands[3]))
18711 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18712 : : STRIP_UNARY (operands[3])))) &&
18713 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18714 : : (TARGET_AVX512F)))
18715 : : return -1;
18716 : : return 6512; /* *avx512bw_vpternlogv32bf_2 */
18717 : :
18718 : : case 4:
18719 : : if (!(
18720 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18721 : : ((32 == 64 || TARGET_AVX512VL
18722 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18723 : : && ix86_pre_reload_split ()
18724 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18725 : : STRIP_UNARY (operands[4]))
18726 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18727 : : STRIP_UNARY (operands[4]))
18728 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18729 : : STRIP_UNARY (operands[3]))
18730 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18731 : : STRIP_UNARY (operands[3])))) &&
18732 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18733 : : (TARGET_AVX)))
18734 : : return -1;
18735 : : return 6539; /* *avx512vl_vpternlogv16bf_2 */
18736 : :
18737 : : case 5:
18738 : : if (!
18739 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18740 : : ((16 == 64 || TARGET_AVX512VL
18741 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18742 : : && ix86_pre_reload_split ()
18743 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18744 : : STRIP_UNARY (operands[4]))
18745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18746 : : STRIP_UNARY (operands[4]))
18747 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18748 : : STRIP_UNARY (operands[3]))
18749 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18750 : : STRIP_UNARY (operands[3])))))
18751 : : return -1;
18752 : : return 6566; /* *avx512vl_vpternlogv8bf_2 */
18753 : :
18754 : : case 6:
18755 : : if (!(
18756 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18757 : : ((64 == 64 || TARGET_AVX512VL
18758 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18759 : : && ix86_pre_reload_split ()
18760 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18761 : : STRIP_UNARY (operands[4]))
18762 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18763 : : STRIP_UNARY (operands[4]))
18764 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18765 : : STRIP_UNARY (operands[3]))
18766 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18767 : : STRIP_UNARY (operands[3])))) &&
18768 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18769 : : (TARGET_AVX512F)))
18770 : : return -1;
18771 : : return 6593; /* *avx512f_vpternlogv16sf_2 */
18772 : :
18773 : : case 7:
18774 : : if (!(
18775 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18776 : : ((32 == 64 || TARGET_AVX512VL
18777 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18778 : : && ix86_pre_reload_split ()
18779 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18780 : : STRIP_UNARY (operands[4]))
18781 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18782 : : STRIP_UNARY (operands[4]))
18783 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18784 : : STRIP_UNARY (operands[3]))
18785 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18786 : : STRIP_UNARY (operands[3])))) &&
18787 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18788 : : (TARGET_AVX)))
18789 : : return -1;
18790 : : return 6620; /* *avx512vl_vpternlogv8sf_2 */
18791 : :
18792 : : case 8:
18793 : : if (!
18794 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18795 : : ((16 == 64 || TARGET_AVX512VL
18796 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18797 : : && ix86_pre_reload_split ()
18798 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18799 : : STRIP_UNARY (operands[4]))
18800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18801 : : STRIP_UNARY (operands[4]))
18802 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18803 : : STRIP_UNARY (operands[3]))
18804 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18805 : : STRIP_UNARY (operands[3])))))
18806 : : return -1;
18807 : : return 6647; /* *avx512vl_vpternlogv4sf_2 */
18808 : :
18809 : : case 9:
18810 : : if (!(
18811 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18812 : : ((64 == 64 || TARGET_AVX512VL
18813 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18814 : : && ix86_pre_reload_split ()
18815 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18816 : : STRIP_UNARY (operands[4]))
18817 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18818 : : STRIP_UNARY (operands[4]))
18819 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18820 : : STRIP_UNARY (operands[3]))
18821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18822 : : STRIP_UNARY (operands[3])))) &&
18823 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18824 : : (TARGET_AVX512F)))
18825 : : return -1;
18826 : : return 6674; /* *avx512f_vpternlogv8df_2 */
18827 : :
18828 : : case 10:
18829 : : if (!(
18830 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18831 : : ((32 == 64 || TARGET_AVX512VL
18832 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18833 : : && ix86_pre_reload_split ()
18834 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18835 : : STRIP_UNARY (operands[4]))
18836 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18837 : : STRIP_UNARY (operands[4]))
18838 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18839 : : STRIP_UNARY (operands[3]))
18840 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18841 : : STRIP_UNARY (operands[3])))) &&
18842 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18843 : : (TARGET_AVX)))
18844 : : return -1;
18845 : : return 6701; /* *avx512vl_vpternlogv4df_2 */
18846 : :
18847 : : case 11:
18848 : : if (!(
18849 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18850 : : ((16 == 64 || TARGET_AVX512VL
18851 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18852 : : && ix86_pre_reload_split ()
18853 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18854 : : STRIP_UNARY (operands[4]))
18855 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18856 : : STRIP_UNARY (operands[4]))
18857 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18858 : : STRIP_UNARY (operands[3]))
18859 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18860 : : STRIP_UNARY (operands[3])))) &&
18861 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18862 : : (TARGET_SSE2)))
18863 : : return -1;
18864 : : return 6728; /* *avx512vl_vpternlogv2df_2 */
18865 : :
18866 : : default:
18867 : : return -1;
18868 : : }
18869 : :
18870 : : case XOR:
18871 : : switch (pattern525 (x2))
18872 : : {
18873 : : case 0:
18874 : : if (!(
18875 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18876 : : ((64 == 64 || TARGET_AVX512VL
18877 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18878 : : && ix86_pre_reload_split ()
18879 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18880 : : STRIP_UNARY (operands[4]))
18881 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18882 : : STRIP_UNARY (operands[4]))
18883 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18884 : : STRIP_UNARY (operands[3]))
18885 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18886 : : STRIP_UNARY (operands[3])))) &&
18887 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18888 : : (TARGET_AVX512F)))
18889 : : return -1;
18890 : : return 6434; /* *avx512bw_vpternlogv32hf_2 */
18891 : :
18892 : : case 1:
18893 : : if (!(
18894 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18895 : : ((32 == 64 || TARGET_AVX512VL
18896 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18897 : : && ix86_pre_reload_split ()
18898 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18899 : : STRIP_UNARY (operands[4]))
18900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18901 : : STRIP_UNARY (operands[4]))
18902 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18903 : : STRIP_UNARY (operands[3]))
18904 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18905 : : STRIP_UNARY (operands[3])))) &&
18906 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18907 : : (TARGET_AVX)))
18908 : : return -1;
18909 : : return 6461; /* *avx512vl_vpternlogv16hf_2 */
18910 : :
18911 : : case 2:
18912 : : if (!
18913 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18914 : : ((16 == 64 || TARGET_AVX512VL
18915 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18916 : : && ix86_pre_reload_split ()
18917 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18918 : : STRIP_UNARY (operands[4]))
18919 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18920 : : STRIP_UNARY (operands[4]))
18921 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18922 : : STRIP_UNARY (operands[3]))
18923 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18924 : : STRIP_UNARY (operands[3])))))
18925 : : return -1;
18926 : : return 6488; /* *avx512fp16_vpternlogv8hf_2 */
18927 : :
18928 : : case 3:
18929 : : if (!(
18930 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18931 : : ((64 == 64 || TARGET_AVX512VL
18932 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18933 : : && ix86_pre_reload_split ()
18934 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18935 : : STRIP_UNARY (operands[4]))
18936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18937 : : STRIP_UNARY (operands[4]))
18938 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18939 : : STRIP_UNARY (operands[3]))
18940 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18941 : : STRIP_UNARY (operands[3])))) &&
18942 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18943 : : (TARGET_AVX512F)))
18944 : : return -1;
18945 : : return 6515; /* *avx512bw_vpternlogv32bf_2 */
18946 : :
18947 : : case 4:
18948 : : if (!(
18949 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18950 : : ((32 == 64 || TARGET_AVX512VL
18951 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18952 : : && ix86_pre_reload_split ()
18953 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18954 : : STRIP_UNARY (operands[4]))
18955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18956 : : STRIP_UNARY (operands[4]))
18957 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18958 : : STRIP_UNARY (operands[3]))
18959 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18960 : : STRIP_UNARY (operands[3])))) &&
18961 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18962 : : (TARGET_AVX)))
18963 : : return -1;
18964 : : return 6542; /* *avx512vl_vpternlogv16bf_2 */
18965 : :
18966 : : case 5:
18967 : : if (!
18968 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18969 : : ((16 == 64 || TARGET_AVX512VL
18970 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18971 : : && ix86_pre_reload_split ()
18972 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18973 : : STRIP_UNARY (operands[4]))
18974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18975 : : STRIP_UNARY (operands[4]))
18976 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18977 : : STRIP_UNARY (operands[3]))
18978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18979 : : STRIP_UNARY (operands[3])))))
18980 : : return -1;
18981 : : return 6569; /* *avx512vl_vpternlogv8bf_2 */
18982 : :
18983 : : case 6:
18984 : : if (!(
18985 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18986 : : ((64 == 64 || TARGET_AVX512VL
18987 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18988 : : && ix86_pre_reload_split ()
18989 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18990 : : STRIP_UNARY (operands[4]))
18991 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18992 : : STRIP_UNARY (operands[4]))
18993 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18994 : : STRIP_UNARY (operands[3]))
18995 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18996 : : STRIP_UNARY (operands[3])))) &&
18997 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18998 : : (TARGET_AVX512F)))
18999 : : return -1;
19000 : : return 6596; /* *avx512f_vpternlogv16sf_2 */
19001 : :
19002 : : case 7:
19003 : : if (!(
19004 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19005 : : ((32 == 64 || TARGET_AVX512VL
19006 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19007 : : && ix86_pre_reload_split ()
19008 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19009 : : STRIP_UNARY (operands[4]))
19010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19011 : : STRIP_UNARY (operands[4]))
19012 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19013 : : STRIP_UNARY (operands[3]))
19014 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19015 : : STRIP_UNARY (operands[3])))) &&
19016 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19017 : : (TARGET_AVX)))
19018 : : return -1;
19019 : : return 6623; /* *avx512vl_vpternlogv8sf_2 */
19020 : :
19021 : : case 8:
19022 : : if (!
19023 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19024 : : ((16 == 64 || TARGET_AVX512VL
19025 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19026 : : && ix86_pre_reload_split ()
19027 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19028 : : STRIP_UNARY (operands[4]))
19029 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19030 : : STRIP_UNARY (operands[4]))
19031 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19032 : : STRIP_UNARY (operands[3]))
19033 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19034 : : STRIP_UNARY (operands[3])))))
19035 : : return -1;
19036 : : return 6650; /* *avx512vl_vpternlogv4sf_2 */
19037 : :
19038 : : case 9:
19039 : : if (!(
19040 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19041 : : ((64 == 64 || TARGET_AVX512VL
19042 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19043 : : && ix86_pre_reload_split ()
19044 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19045 : : STRIP_UNARY (operands[4]))
19046 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19047 : : STRIP_UNARY (operands[4]))
19048 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19049 : : STRIP_UNARY (operands[3]))
19050 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19051 : : STRIP_UNARY (operands[3])))) &&
19052 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19053 : : (TARGET_AVX512F)))
19054 : : return -1;
19055 : : return 6677; /* *avx512f_vpternlogv8df_2 */
19056 : :
19057 : : case 10:
19058 : : if (!(
19059 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19060 : : ((32 == 64 || TARGET_AVX512VL
19061 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19062 : : && ix86_pre_reload_split ()
19063 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19064 : : STRIP_UNARY (operands[4]))
19065 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19066 : : STRIP_UNARY (operands[4]))
19067 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19068 : : STRIP_UNARY (operands[3]))
19069 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19070 : : STRIP_UNARY (operands[3])))) &&
19071 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19072 : : (TARGET_AVX)))
19073 : : return -1;
19074 : : return 6704; /* *avx512vl_vpternlogv4df_2 */
19075 : :
19076 : : case 11:
19077 : : if (!(
19078 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19079 : : ((16 == 64 || TARGET_AVX512VL
19080 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19081 : : && ix86_pre_reload_split ()
19082 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19083 : : STRIP_UNARY (operands[4]))
19084 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19085 : : STRIP_UNARY (operands[4]))
19086 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19087 : : STRIP_UNARY (operands[3]))
19088 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19089 : : STRIP_UNARY (operands[3])))) &&
19090 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19091 : : (TARGET_SSE2)))
19092 : : return -1;
19093 : : return 6731; /* *avx512vl_vpternlogv2df_2 */
19094 : :
19095 : : default:
19096 : : return -1;
19097 : : }
19098 : :
19099 : : default:
19100 : : return -1;
19101 : : }
19102 : :
19103 : : case IOR:
19104 : : x4 = XEXP (x3, 0);
19105 : : switch (GET_CODE (x4))
19106 : : {
19107 : : case REG:
19108 : : case SUBREG:
19109 : : case MEM:
19110 : : case NOT:
19111 : : switch (pattern524 (x2))
19112 : : {
19113 : : case 0:
19114 : : if (!(
19115 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19116 : : ((64 == 64 || TARGET_AVX512VL
19117 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19118 : : && ix86_pre_reload_split ()
19119 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19120 : : STRIP_UNARY (operands[4]))
19121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19122 : : STRIP_UNARY (operands[4]))
19123 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19124 : : STRIP_UNARY (operands[3]))
19125 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19126 : : STRIP_UNARY (operands[3])))) &&
19127 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19128 : : (TARGET_AVX512F)))
19129 : : return -1;
19130 : : return 5789; /* *avx512bw_vpternlogv32hf_1 */
19131 : :
19132 : : case 1:
19133 : : if (!(
19134 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19135 : : ((32 == 64 || TARGET_AVX512VL
19136 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19137 : : && ix86_pre_reload_split ()
19138 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19139 : : STRIP_UNARY (operands[4]))
19140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19141 : : STRIP_UNARY (operands[4]))
19142 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19143 : : STRIP_UNARY (operands[3]))
19144 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19145 : : STRIP_UNARY (operands[3])))) &&
19146 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19147 : : (TARGET_AVX)))
19148 : : return -1;
19149 : : return 5816; /* *avx512vl_vpternlogv16hf_1 */
19150 : :
19151 : : case 2:
19152 : : if (!
19153 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19154 : : ((16 == 64 || TARGET_AVX512VL
19155 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19156 : : && ix86_pre_reload_split ()
19157 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19158 : : STRIP_UNARY (operands[4]))
19159 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19160 : : STRIP_UNARY (operands[4]))
19161 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19162 : : STRIP_UNARY (operands[3]))
19163 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19164 : : STRIP_UNARY (operands[3])))))
19165 : : return -1;
19166 : : return 5843; /* *avx512fp16_vpternlogv8hf_1 */
19167 : :
19168 : : case 3:
19169 : : if (!(
19170 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19171 : : ((64 == 64 || TARGET_AVX512VL
19172 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19173 : : && ix86_pre_reload_split ()
19174 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19175 : : STRIP_UNARY (operands[4]))
19176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19177 : : STRIP_UNARY (operands[4]))
19178 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19179 : : STRIP_UNARY (operands[3]))
19180 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19181 : : STRIP_UNARY (operands[3])))) &&
19182 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19183 : : (TARGET_AVX512F)))
19184 : : return -1;
19185 : : return 5870; /* *avx512bw_vpternlogv32bf_1 */
19186 : :
19187 : : case 4:
19188 : : if (!(
19189 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19190 : : ((32 == 64 || TARGET_AVX512VL
19191 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19192 : : && ix86_pre_reload_split ()
19193 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19194 : : STRIP_UNARY (operands[4]))
19195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19196 : : STRIP_UNARY (operands[4]))
19197 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19198 : : STRIP_UNARY (operands[3]))
19199 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19200 : : STRIP_UNARY (operands[3])))) &&
19201 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19202 : : (TARGET_AVX)))
19203 : : return -1;
19204 : : return 5897; /* *avx512vl_vpternlogv16bf_1 */
19205 : :
19206 : : case 5:
19207 : : if (!
19208 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19209 : : ((16 == 64 || TARGET_AVX512VL
19210 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19211 : : && ix86_pre_reload_split ()
19212 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19213 : : STRIP_UNARY (operands[4]))
19214 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19215 : : STRIP_UNARY (operands[4]))
19216 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19217 : : STRIP_UNARY (operands[3]))
19218 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19219 : : STRIP_UNARY (operands[3])))))
19220 : : return -1;
19221 : : return 5924; /* *avx512vl_vpternlogv8bf_1 */
19222 : :
19223 : : case 6:
19224 : : if (!(
19225 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19226 : : ((64 == 64 || TARGET_AVX512VL
19227 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19228 : : && ix86_pre_reload_split ()
19229 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19230 : : STRIP_UNARY (operands[4]))
19231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19232 : : STRIP_UNARY (operands[4]))
19233 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19234 : : STRIP_UNARY (operands[3]))
19235 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19236 : : STRIP_UNARY (operands[3])))) &&
19237 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19238 : : (TARGET_AVX512F)))
19239 : : return -1;
19240 : : return 5951; /* *avx512f_vpternlogv16sf_1 */
19241 : :
19242 : : case 7:
19243 : : if (!(
19244 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19245 : : ((32 == 64 || TARGET_AVX512VL
19246 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19247 : : && ix86_pre_reload_split ()
19248 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19249 : : STRIP_UNARY (operands[4]))
19250 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19251 : : STRIP_UNARY (operands[4]))
19252 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19253 : : STRIP_UNARY (operands[3]))
19254 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19255 : : STRIP_UNARY (operands[3])))) &&
19256 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19257 : : (TARGET_AVX)))
19258 : : return -1;
19259 : : return 5978; /* *avx512vl_vpternlogv8sf_1 */
19260 : :
19261 : : case 8:
19262 : : if (!
19263 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19264 : : ((16 == 64 || TARGET_AVX512VL
19265 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19266 : : && ix86_pre_reload_split ()
19267 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19268 : : STRIP_UNARY (operands[4]))
19269 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19270 : : STRIP_UNARY (operands[4]))
19271 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19272 : : STRIP_UNARY (operands[3]))
19273 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19274 : : STRIP_UNARY (operands[3])))))
19275 : : return -1;
19276 : : return 6005; /* *avx512vl_vpternlogv4sf_1 */
19277 : :
19278 : : case 9:
19279 : : if (!(
19280 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19281 : : ((64 == 64 || TARGET_AVX512VL
19282 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19283 : : && ix86_pre_reload_split ()
19284 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19285 : : STRIP_UNARY (operands[4]))
19286 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19287 : : STRIP_UNARY (operands[4]))
19288 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19289 : : STRIP_UNARY (operands[3]))
19290 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19291 : : STRIP_UNARY (operands[3])))) &&
19292 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19293 : : (TARGET_AVX512F)))
19294 : : return -1;
19295 : : return 6032; /* *avx512f_vpternlogv8df_1 */
19296 : :
19297 : : case 10:
19298 : : if (!(
19299 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19300 : : ((32 == 64 || TARGET_AVX512VL
19301 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19302 : : && ix86_pre_reload_split ()
19303 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19304 : : STRIP_UNARY (operands[4]))
19305 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19306 : : STRIP_UNARY (operands[4]))
19307 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19308 : : STRIP_UNARY (operands[3]))
19309 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19310 : : STRIP_UNARY (operands[3])))) &&
19311 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19312 : : (TARGET_AVX)))
19313 : : return -1;
19314 : : return 6059; /* *avx512vl_vpternlogv4df_1 */
19315 : :
19316 : : case 11:
19317 : : if (!(
19318 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19319 : : ((16 == 64 || TARGET_AVX512VL
19320 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19321 : : && ix86_pre_reload_split ()
19322 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19323 : : STRIP_UNARY (operands[4]))
19324 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19325 : : STRIP_UNARY (operands[4]))
19326 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19327 : : STRIP_UNARY (operands[3]))
19328 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19329 : : STRIP_UNARY (operands[3])))) &&
19330 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19331 : : (TARGET_SSE2)))
19332 : : return -1;
19333 : : return 6086; /* *avx512vl_vpternlogv2df_1 */
19334 : :
19335 : : case 12:
19336 : : if (!(
19337 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19338 : : ((64 == 64 || TARGET_AVX512VL
19339 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19340 : : && ix86_pre_reload_split ()
19341 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19342 : : STRIP_UNARY (operands[4]))
19343 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19344 : : STRIP_UNARY (operands[4]))
19345 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19346 : : STRIP_UNARY (operands[3]))
19347 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19348 : : STRIP_UNARY (operands[3])))) &&
19349 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19350 : : (TARGET_AVX512F)))
19351 : : return -1;
19352 : : return 5792; /* *avx512bw_vpternlogv32hf_1 */
19353 : :
19354 : : case 13:
19355 : : if (!(
19356 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19357 : : ((32 == 64 || TARGET_AVX512VL
19358 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19359 : : && ix86_pre_reload_split ()
19360 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19361 : : STRIP_UNARY (operands[4]))
19362 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19363 : : STRIP_UNARY (operands[4]))
19364 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19365 : : STRIP_UNARY (operands[3]))
19366 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19367 : : STRIP_UNARY (operands[3])))) &&
19368 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19369 : : (TARGET_AVX)))
19370 : : return -1;
19371 : : return 5819; /* *avx512vl_vpternlogv16hf_1 */
19372 : :
19373 : : case 14:
19374 : : if (!
19375 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19376 : : ((16 == 64 || TARGET_AVX512VL
19377 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19378 : : && ix86_pre_reload_split ()
19379 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19380 : : STRIP_UNARY (operands[4]))
19381 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19382 : : STRIP_UNARY (operands[4]))
19383 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19384 : : STRIP_UNARY (operands[3]))
19385 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19386 : : STRIP_UNARY (operands[3])))))
19387 : : return -1;
19388 : : return 5846; /* *avx512fp16_vpternlogv8hf_1 */
19389 : :
19390 : : case 15:
19391 : : if (!(
19392 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19393 : : ((64 == 64 || TARGET_AVX512VL
19394 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19395 : : && ix86_pre_reload_split ()
19396 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19397 : : STRIP_UNARY (operands[4]))
19398 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19399 : : STRIP_UNARY (operands[4]))
19400 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19401 : : STRIP_UNARY (operands[3]))
19402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19403 : : STRIP_UNARY (operands[3])))) &&
19404 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19405 : : (TARGET_AVX512F)))
19406 : : return -1;
19407 : : return 5873; /* *avx512bw_vpternlogv32bf_1 */
19408 : :
19409 : : case 16:
19410 : : if (!(
19411 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19412 : : ((32 == 64 || TARGET_AVX512VL
19413 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19414 : : && ix86_pre_reload_split ()
19415 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19416 : : STRIP_UNARY (operands[4]))
19417 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19418 : : STRIP_UNARY (operands[4]))
19419 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19420 : : STRIP_UNARY (operands[3]))
19421 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19422 : : STRIP_UNARY (operands[3])))) &&
19423 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19424 : : (TARGET_AVX)))
19425 : : return -1;
19426 : : return 5900; /* *avx512vl_vpternlogv16bf_1 */
19427 : :
19428 : : case 17:
19429 : : if (!
19430 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19431 : : ((16 == 64 || TARGET_AVX512VL
19432 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19433 : : && ix86_pre_reload_split ()
19434 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19435 : : STRIP_UNARY (operands[4]))
19436 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19437 : : STRIP_UNARY (operands[4]))
19438 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19439 : : STRIP_UNARY (operands[3]))
19440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19441 : : STRIP_UNARY (operands[3])))))
19442 : : return -1;
19443 : : return 5927; /* *avx512vl_vpternlogv8bf_1 */
19444 : :
19445 : : case 18:
19446 : : if (!(
19447 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19448 : : ((64 == 64 || TARGET_AVX512VL
19449 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19450 : : && ix86_pre_reload_split ()
19451 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19452 : : STRIP_UNARY (operands[4]))
19453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19454 : : STRIP_UNARY (operands[4]))
19455 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19456 : : STRIP_UNARY (operands[3]))
19457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19458 : : STRIP_UNARY (operands[3])))) &&
19459 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19460 : : (TARGET_AVX512F)))
19461 : : return -1;
19462 : : return 5954; /* *avx512f_vpternlogv16sf_1 */
19463 : :
19464 : : case 19:
19465 : : if (!(
19466 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19467 : : ((32 == 64 || TARGET_AVX512VL
19468 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19469 : : && ix86_pre_reload_split ()
19470 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19471 : : STRIP_UNARY (operands[4]))
19472 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19473 : : STRIP_UNARY (operands[4]))
19474 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19475 : : STRIP_UNARY (operands[3]))
19476 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19477 : : STRIP_UNARY (operands[3])))) &&
19478 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19479 : : (TARGET_AVX)))
19480 : : return -1;
19481 : : return 5981; /* *avx512vl_vpternlogv8sf_1 */
19482 : :
19483 : : case 20:
19484 : : if (!
19485 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19486 : : ((16 == 64 || TARGET_AVX512VL
19487 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19488 : : && ix86_pre_reload_split ()
19489 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19490 : : STRIP_UNARY (operands[4]))
19491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19492 : : STRIP_UNARY (operands[4]))
19493 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19494 : : STRIP_UNARY (operands[3]))
19495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19496 : : STRIP_UNARY (operands[3])))))
19497 : : return -1;
19498 : : return 6008; /* *avx512vl_vpternlogv4sf_1 */
19499 : :
19500 : : case 21:
19501 : : if (!(
19502 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19503 : : ((64 == 64 || TARGET_AVX512VL
19504 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19505 : : && ix86_pre_reload_split ()
19506 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19507 : : STRIP_UNARY (operands[4]))
19508 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19509 : : STRIP_UNARY (operands[4]))
19510 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19511 : : STRIP_UNARY (operands[3]))
19512 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19513 : : STRIP_UNARY (operands[3])))) &&
19514 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19515 : : (TARGET_AVX512F)))
19516 : : return -1;
19517 : : return 6035; /* *avx512f_vpternlogv8df_1 */
19518 : :
19519 : : case 22:
19520 : : if (!(
19521 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19522 : : ((32 == 64 || TARGET_AVX512VL
19523 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19524 : : && ix86_pre_reload_split ()
19525 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19526 : : STRIP_UNARY (operands[4]))
19527 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19528 : : STRIP_UNARY (operands[4]))
19529 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19530 : : STRIP_UNARY (operands[3]))
19531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19532 : : STRIP_UNARY (operands[3])))) &&
19533 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19534 : : (TARGET_AVX)))
19535 : : return -1;
19536 : : return 6062; /* *avx512vl_vpternlogv4df_1 */
19537 : :
19538 : : case 23:
19539 : : if (!(
19540 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19541 : : ((16 == 64 || TARGET_AVX512VL
19542 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19543 : : && ix86_pre_reload_split ()
19544 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19545 : : STRIP_UNARY (operands[4]))
19546 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19547 : : STRIP_UNARY (operands[4]))
19548 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19549 : : STRIP_UNARY (operands[3]))
19550 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19551 : : STRIP_UNARY (operands[3])))) &&
19552 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19553 : : (TARGET_SSE2)))
19554 : : return -1;
19555 : : return 6089; /* *avx512vl_vpternlogv2df_1 */
19556 : :
19557 : : case 24:
19558 : : if (!(
19559 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19560 : : ((64 == 64 || TARGET_AVX512VL
19561 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19562 : : && ix86_pre_reload_split ()
19563 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19564 : : STRIP_UNARY (operands[4]))
19565 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19566 : : STRIP_UNARY (operands[4]))
19567 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19568 : : STRIP_UNARY (operands[3]))
19569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19570 : : STRIP_UNARY (operands[3])))) &&
19571 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19572 : : (TARGET_AVX512F)))
19573 : : return -1;
19574 : : return 5795; /* *avx512bw_vpternlogv32hf_1 */
19575 : :
19576 : : case 25:
19577 : : if (!(
19578 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19579 : : ((32 == 64 || TARGET_AVX512VL
19580 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19581 : : && ix86_pre_reload_split ()
19582 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19583 : : STRIP_UNARY (operands[4]))
19584 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19585 : : STRIP_UNARY (operands[4]))
19586 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19587 : : STRIP_UNARY (operands[3]))
19588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19589 : : STRIP_UNARY (operands[3])))) &&
19590 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19591 : : (TARGET_AVX)))
19592 : : return -1;
19593 : : return 5822; /* *avx512vl_vpternlogv16hf_1 */
19594 : :
19595 : : case 26:
19596 : : if (!
19597 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19598 : : ((16 == 64 || TARGET_AVX512VL
19599 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19600 : : && ix86_pre_reload_split ()
19601 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19602 : : STRIP_UNARY (operands[4]))
19603 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19604 : : STRIP_UNARY (operands[4]))
19605 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19606 : : STRIP_UNARY (operands[3]))
19607 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19608 : : STRIP_UNARY (operands[3])))))
19609 : : return -1;
19610 : : return 5849; /* *avx512fp16_vpternlogv8hf_1 */
19611 : :
19612 : : case 27:
19613 : : if (!(
19614 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19615 : : ((64 == 64 || TARGET_AVX512VL
19616 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19617 : : && ix86_pre_reload_split ()
19618 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19619 : : STRIP_UNARY (operands[4]))
19620 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19621 : : STRIP_UNARY (operands[4]))
19622 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19623 : : STRIP_UNARY (operands[3]))
19624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19625 : : STRIP_UNARY (operands[3])))) &&
19626 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19627 : : (TARGET_AVX512F)))
19628 : : return -1;
19629 : : return 5876; /* *avx512bw_vpternlogv32bf_1 */
19630 : :
19631 : : case 28:
19632 : : if (!(
19633 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19634 : : ((32 == 64 || TARGET_AVX512VL
19635 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19636 : : && ix86_pre_reload_split ()
19637 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19638 : : STRIP_UNARY (operands[4]))
19639 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19640 : : STRIP_UNARY (operands[4]))
19641 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19642 : : STRIP_UNARY (operands[3]))
19643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19644 : : STRIP_UNARY (operands[3])))) &&
19645 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19646 : : (TARGET_AVX)))
19647 : : return -1;
19648 : : return 5903; /* *avx512vl_vpternlogv16bf_1 */
19649 : :
19650 : : case 29:
19651 : : if (!
19652 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19653 : : ((16 == 64 || TARGET_AVX512VL
19654 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19655 : : && ix86_pre_reload_split ()
19656 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19657 : : STRIP_UNARY (operands[4]))
19658 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19659 : : STRIP_UNARY (operands[4]))
19660 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19661 : : STRIP_UNARY (operands[3]))
19662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19663 : : STRIP_UNARY (operands[3])))))
19664 : : return -1;
19665 : : return 5930; /* *avx512vl_vpternlogv8bf_1 */
19666 : :
19667 : : case 30:
19668 : : if (!(
19669 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19670 : : ((64 == 64 || TARGET_AVX512VL
19671 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19672 : : && ix86_pre_reload_split ()
19673 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19674 : : STRIP_UNARY (operands[4]))
19675 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19676 : : STRIP_UNARY (operands[4]))
19677 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19678 : : STRIP_UNARY (operands[3]))
19679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19680 : : STRIP_UNARY (operands[3])))) &&
19681 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19682 : : (TARGET_AVX512F)))
19683 : : return -1;
19684 : : return 5957; /* *avx512f_vpternlogv16sf_1 */
19685 : :
19686 : : case 31:
19687 : : if (!(
19688 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19689 : : ((32 == 64 || TARGET_AVX512VL
19690 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19691 : : && ix86_pre_reload_split ()
19692 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19693 : : STRIP_UNARY (operands[4]))
19694 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19695 : : STRIP_UNARY (operands[4]))
19696 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19697 : : STRIP_UNARY (operands[3]))
19698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19699 : : STRIP_UNARY (operands[3])))) &&
19700 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19701 : : (TARGET_AVX)))
19702 : : return -1;
19703 : : return 5984; /* *avx512vl_vpternlogv8sf_1 */
19704 : :
19705 : : case 32:
19706 : : if (!
19707 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19708 : : ((16 == 64 || TARGET_AVX512VL
19709 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19710 : : && ix86_pre_reload_split ()
19711 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19712 : : STRIP_UNARY (operands[4]))
19713 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19714 : : STRIP_UNARY (operands[4]))
19715 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19716 : : STRIP_UNARY (operands[3]))
19717 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19718 : : STRIP_UNARY (operands[3])))))
19719 : : return -1;
19720 : : return 6011; /* *avx512vl_vpternlogv4sf_1 */
19721 : :
19722 : : case 33:
19723 : : if (!(
19724 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19725 : : ((64 == 64 || TARGET_AVX512VL
19726 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19727 : : && ix86_pre_reload_split ()
19728 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19729 : : STRIP_UNARY (operands[4]))
19730 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19731 : : STRIP_UNARY (operands[4]))
19732 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19733 : : STRIP_UNARY (operands[3]))
19734 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19735 : : STRIP_UNARY (operands[3])))) &&
19736 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19737 : : (TARGET_AVX512F)))
19738 : : return -1;
19739 : : return 6038; /* *avx512f_vpternlogv8df_1 */
19740 : :
19741 : : case 34:
19742 : : if (!(
19743 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19744 : : ((32 == 64 || TARGET_AVX512VL
19745 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19746 : : && ix86_pre_reload_split ()
19747 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19748 : : STRIP_UNARY (operands[4]))
19749 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19750 : : STRIP_UNARY (operands[4]))
19751 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19752 : : STRIP_UNARY (operands[3]))
19753 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19754 : : STRIP_UNARY (operands[3])))) &&
19755 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19756 : : (TARGET_AVX)))
19757 : : return -1;
19758 : : return 6065; /* *avx512vl_vpternlogv4df_1 */
19759 : :
19760 : : case 35:
19761 : : if (!(
19762 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19763 : : ((16 == 64 || TARGET_AVX512VL
19764 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19765 : : && ix86_pre_reload_split ()
19766 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19767 : : STRIP_UNARY (operands[4]))
19768 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19769 : : STRIP_UNARY (operands[4]))
19770 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19771 : : STRIP_UNARY (operands[3]))
19772 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19773 : : STRIP_UNARY (operands[3])))) &&
19774 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19775 : : (TARGET_SSE2)))
19776 : : return -1;
19777 : : return 6092; /* *avx512vl_vpternlogv2df_1 */
19778 : :
19779 : : case 36:
19780 : : if (!(
19781 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19782 : : ((64 == 64 || TARGET_AVX512VL
19783 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19784 : : && ix86_pre_reload_split ()) &&
19785 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19786 : : (TARGET_AVX512F)))
19787 : : return -1;
19788 : : return 6863; /* *avx512bw_vpternlogv32hf_3 */
19789 : :
19790 : : case 37:
19791 : : if (!(
19792 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19793 : : ((32 == 64 || TARGET_AVX512VL
19794 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19795 : : && ix86_pre_reload_split ()) &&
19796 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19797 : : (TARGET_AVX)))
19798 : : return -1;
19799 : : return 6872; /* *avx512vl_vpternlogv16hf_3 */
19800 : :
19801 : : case 38:
19802 : : if (!
19803 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19804 : : ((16 == 64 || TARGET_AVX512VL
19805 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19806 : : && ix86_pre_reload_split ()))
19807 : : return -1;
19808 : : return 6881; /* *avx512fp16_vpternlogv8hf_3 */
19809 : :
19810 : : case 39:
19811 : : if (!(
19812 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19813 : : ((64 == 64 || TARGET_AVX512VL
19814 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19815 : : && ix86_pre_reload_split ()) &&
19816 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19817 : : (TARGET_AVX512F)))
19818 : : return -1;
19819 : : return 6890; /* *avx512bw_vpternlogv32bf_3 */
19820 : :
19821 : : case 40:
19822 : : if (!(
19823 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19824 : : ((32 == 64 || TARGET_AVX512VL
19825 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19826 : : && ix86_pre_reload_split ()) &&
19827 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19828 : : (TARGET_AVX)))
19829 : : return -1;
19830 : : return 6899; /* *avx512vl_vpternlogv16bf_3 */
19831 : :
19832 : : case 41:
19833 : : if (!
19834 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19835 : : ((16 == 64 || TARGET_AVX512VL
19836 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19837 : : && ix86_pre_reload_split ()))
19838 : : return -1;
19839 : : return 6908; /* *avx512vl_vpternlogv8bf_3 */
19840 : :
19841 : : case 42:
19842 : : if (!(
19843 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19844 : : ((64 == 64 || TARGET_AVX512VL
19845 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19846 : : && ix86_pre_reload_split ()) &&
19847 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19848 : : (TARGET_AVX512F)))
19849 : : return -1;
19850 : : return 6917; /* *avx512f_vpternlogv16sf_3 */
19851 : :
19852 : : case 43:
19853 : : if (!(
19854 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19855 : : ((32 == 64 || TARGET_AVX512VL
19856 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19857 : : && ix86_pre_reload_split ()) &&
19858 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19859 : : (TARGET_AVX)))
19860 : : return -1;
19861 : : return 6926; /* *avx512vl_vpternlogv8sf_3 */
19862 : :
19863 : : case 44:
19864 : : if (!
19865 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19866 : : ((16 == 64 || TARGET_AVX512VL
19867 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19868 : : && ix86_pre_reload_split ()))
19869 : : return -1;
19870 : : return 6935; /* *avx512vl_vpternlogv4sf_3 */
19871 : :
19872 : : case 45:
19873 : : if (!(
19874 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19875 : : ((64 == 64 || TARGET_AVX512VL
19876 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19877 : : && ix86_pre_reload_split ()) &&
19878 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19879 : : (TARGET_AVX512F)))
19880 : : return -1;
19881 : : return 6944; /* *avx512f_vpternlogv8df_3 */
19882 : :
19883 : : case 46:
19884 : : if (!(
19885 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19886 : : ((32 == 64 || TARGET_AVX512VL
19887 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19888 : : && ix86_pre_reload_split ()) &&
19889 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19890 : : (TARGET_AVX)))
19891 : : return -1;
19892 : : return 6953; /* *avx512vl_vpternlogv4df_3 */
19893 : :
19894 : : case 47:
19895 : : if (!(
19896 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19897 : : ((16 == 64 || TARGET_AVX512VL
19898 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19899 : : && ix86_pre_reload_split ()) &&
19900 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19901 : : (TARGET_SSE2)))
19902 : : return -1;
19903 : : return 6962; /* *avx512vl_vpternlogv2df_3 */
19904 : :
19905 : : default:
19906 : : return -1;
19907 : : }
19908 : :
19909 : : case AND:
19910 : : switch (pattern525 (x2))
19911 : : {
19912 : : case 0:
19913 : : if (!(
19914 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19915 : : ((64 == 64 || TARGET_AVX512VL
19916 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19917 : : && ix86_pre_reload_split ()
19918 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19919 : : STRIP_UNARY (operands[4]))
19920 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19921 : : STRIP_UNARY (operands[4]))
19922 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19923 : : STRIP_UNARY (operands[3]))
19924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19925 : : STRIP_UNARY (operands[3])))) &&
19926 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19927 : : (TARGET_AVX512F)))
19928 : : return -1;
19929 : : return 6437; /* *avx512bw_vpternlogv32hf_2 */
19930 : :
19931 : : case 1:
19932 : : if (!(
19933 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19934 : : ((32 == 64 || TARGET_AVX512VL
19935 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19936 : : && ix86_pre_reload_split ()
19937 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19938 : : STRIP_UNARY (operands[4]))
19939 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19940 : : STRIP_UNARY (operands[4]))
19941 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19942 : : STRIP_UNARY (operands[3]))
19943 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19944 : : STRIP_UNARY (operands[3])))) &&
19945 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19946 : : (TARGET_AVX)))
19947 : : return -1;
19948 : : return 6464; /* *avx512vl_vpternlogv16hf_2 */
19949 : :
19950 : : case 2:
19951 : : if (!
19952 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19953 : : ((16 == 64 || TARGET_AVX512VL
19954 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19955 : : && ix86_pre_reload_split ()
19956 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19957 : : STRIP_UNARY (operands[4]))
19958 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19959 : : STRIP_UNARY (operands[4]))
19960 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19961 : : STRIP_UNARY (operands[3]))
19962 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19963 : : STRIP_UNARY (operands[3])))))
19964 : : return -1;
19965 : : return 6491; /* *avx512fp16_vpternlogv8hf_2 */
19966 : :
19967 : : case 3:
19968 : : if (!(
19969 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19970 : : ((64 == 64 || TARGET_AVX512VL
19971 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19972 : : && ix86_pre_reload_split ()
19973 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19974 : : STRIP_UNARY (operands[4]))
19975 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19976 : : STRIP_UNARY (operands[4]))
19977 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19978 : : STRIP_UNARY (operands[3]))
19979 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19980 : : STRIP_UNARY (operands[3])))) &&
19981 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19982 : : (TARGET_AVX512F)))
19983 : : return -1;
19984 : : return 6518; /* *avx512bw_vpternlogv32bf_2 */
19985 : :
19986 : : case 4:
19987 : : if (!(
19988 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19989 : : ((32 == 64 || TARGET_AVX512VL
19990 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19991 : : && ix86_pre_reload_split ()
19992 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19993 : : STRIP_UNARY (operands[4]))
19994 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19995 : : STRIP_UNARY (operands[4]))
19996 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19997 : : STRIP_UNARY (operands[3]))
19998 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19999 : : STRIP_UNARY (operands[3])))) &&
20000 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20001 : : (TARGET_AVX)))
20002 : : return -1;
20003 : : return 6545; /* *avx512vl_vpternlogv16bf_2 */
20004 : :
20005 : : case 5:
20006 : : if (!
20007 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20008 : : ((16 == 64 || TARGET_AVX512VL
20009 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20010 : : && ix86_pre_reload_split ()
20011 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20012 : : STRIP_UNARY (operands[4]))
20013 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20014 : : STRIP_UNARY (operands[4]))
20015 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20016 : : STRIP_UNARY (operands[3]))
20017 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20018 : : STRIP_UNARY (operands[3])))))
20019 : : return -1;
20020 : : return 6572; /* *avx512vl_vpternlogv8bf_2 */
20021 : :
20022 : : case 6:
20023 : : if (!(
20024 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20025 : : ((64 == 64 || TARGET_AVX512VL
20026 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20027 : : && ix86_pre_reload_split ()
20028 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20029 : : STRIP_UNARY (operands[4]))
20030 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20031 : : STRIP_UNARY (operands[4]))
20032 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20033 : : STRIP_UNARY (operands[3]))
20034 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20035 : : STRIP_UNARY (operands[3])))) &&
20036 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20037 : : (TARGET_AVX512F)))
20038 : : return -1;
20039 : : return 6599; /* *avx512f_vpternlogv16sf_2 */
20040 : :
20041 : : case 7:
20042 : : if (!(
20043 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20044 : : ((32 == 64 || TARGET_AVX512VL
20045 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20046 : : && ix86_pre_reload_split ()
20047 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20048 : : STRIP_UNARY (operands[4]))
20049 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20050 : : STRIP_UNARY (operands[4]))
20051 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20052 : : STRIP_UNARY (operands[3]))
20053 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20054 : : STRIP_UNARY (operands[3])))) &&
20055 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20056 : : (TARGET_AVX)))
20057 : : return -1;
20058 : : return 6626; /* *avx512vl_vpternlogv8sf_2 */
20059 : :
20060 : : case 8:
20061 : : if (!
20062 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20063 : : ((16 == 64 || TARGET_AVX512VL
20064 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20065 : : && ix86_pre_reload_split ()
20066 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20067 : : STRIP_UNARY (operands[4]))
20068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20069 : : STRIP_UNARY (operands[4]))
20070 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20071 : : STRIP_UNARY (operands[3]))
20072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20073 : : STRIP_UNARY (operands[3])))))
20074 : : return -1;
20075 : : return 6653; /* *avx512vl_vpternlogv4sf_2 */
20076 : :
20077 : : case 9:
20078 : : if (!(
20079 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20080 : : ((64 == 64 || TARGET_AVX512VL
20081 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20082 : : && ix86_pre_reload_split ()
20083 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20084 : : STRIP_UNARY (operands[4]))
20085 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20086 : : STRIP_UNARY (operands[4]))
20087 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20088 : : STRIP_UNARY (operands[3]))
20089 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20090 : : STRIP_UNARY (operands[3])))) &&
20091 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20092 : : (TARGET_AVX512F)))
20093 : : return -1;
20094 : : return 6680; /* *avx512f_vpternlogv8df_2 */
20095 : :
20096 : : case 10:
20097 : : if (!(
20098 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20099 : : ((32 == 64 || TARGET_AVX512VL
20100 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20101 : : && ix86_pre_reload_split ()
20102 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20103 : : STRIP_UNARY (operands[4]))
20104 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20105 : : STRIP_UNARY (operands[4]))
20106 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20107 : : STRIP_UNARY (operands[3]))
20108 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20109 : : STRIP_UNARY (operands[3])))) &&
20110 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20111 : : (TARGET_AVX)))
20112 : : return -1;
20113 : : return 6707; /* *avx512vl_vpternlogv4df_2 */
20114 : :
20115 : : case 11:
20116 : : if (!(
20117 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20118 : : ((16 == 64 || TARGET_AVX512VL
20119 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20120 : : && ix86_pre_reload_split ()
20121 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20122 : : STRIP_UNARY (operands[4]))
20123 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20124 : : STRIP_UNARY (operands[4]))
20125 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20126 : : STRIP_UNARY (operands[3]))
20127 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20128 : : STRIP_UNARY (operands[3])))) &&
20129 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20130 : : (TARGET_SSE2)))
20131 : : return -1;
20132 : : return 6734; /* *avx512vl_vpternlogv2df_2 */
20133 : :
20134 : : default:
20135 : : return -1;
20136 : : }
20137 : :
20138 : : case IOR:
20139 : : switch (pattern525 (x2))
20140 : : {
20141 : : case 0:
20142 : : if (!(
20143 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20144 : : ((64 == 64 || TARGET_AVX512VL
20145 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20146 : : && ix86_pre_reload_split ()
20147 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20148 : : STRIP_UNARY (operands[4]))
20149 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20150 : : STRIP_UNARY (operands[4]))
20151 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20152 : : STRIP_UNARY (operands[3]))
20153 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20154 : : STRIP_UNARY (operands[3])))) &&
20155 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20156 : : (TARGET_AVX512F)))
20157 : : return -1;
20158 : : return 6440; /* *avx512bw_vpternlogv32hf_2 */
20159 : :
20160 : : case 1:
20161 : : if (!(
20162 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20163 : : ((32 == 64 || TARGET_AVX512VL
20164 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20165 : : && ix86_pre_reload_split ()
20166 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20167 : : STRIP_UNARY (operands[4]))
20168 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20169 : : STRIP_UNARY (operands[4]))
20170 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20171 : : STRIP_UNARY (operands[3]))
20172 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20173 : : STRIP_UNARY (operands[3])))) &&
20174 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20175 : : (TARGET_AVX)))
20176 : : return -1;
20177 : : return 6467; /* *avx512vl_vpternlogv16hf_2 */
20178 : :
20179 : : case 2:
20180 : : if (!
20181 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20182 : : ((16 == 64 || TARGET_AVX512VL
20183 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20184 : : && ix86_pre_reload_split ()
20185 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20186 : : STRIP_UNARY (operands[4]))
20187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20188 : : STRIP_UNARY (operands[4]))
20189 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20190 : : STRIP_UNARY (operands[3]))
20191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20192 : : STRIP_UNARY (operands[3])))))
20193 : : return -1;
20194 : : return 6494; /* *avx512fp16_vpternlogv8hf_2 */
20195 : :
20196 : : case 3:
20197 : : if (!(
20198 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20199 : : ((64 == 64 || TARGET_AVX512VL
20200 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20201 : : && ix86_pre_reload_split ()
20202 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20203 : : STRIP_UNARY (operands[4]))
20204 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20205 : : STRIP_UNARY (operands[4]))
20206 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20207 : : STRIP_UNARY (operands[3]))
20208 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20209 : : STRIP_UNARY (operands[3])))) &&
20210 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20211 : : (TARGET_AVX512F)))
20212 : : return -1;
20213 : : return 6521; /* *avx512bw_vpternlogv32bf_2 */
20214 : :
20215 : : case 4:
20216 : : if (!(
20217 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20218 : : ((32 == 64 || TARGET_AVX512VL
20219 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20220 : : && ix86_pre_reload_split ()
20221 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20222 : : STRIP_UNARY (operands[4]))
20223 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20224 : : STRIP_UNARY (operands[4]))
20225 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20226 : : STRIP_UNARY (operands[3]))
20227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20228 : : STRIP_UNARY (operands[3])))) &&
20229 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20230 : : (TARGET_AVX)))
20231 : : return -1;
20232 : : return 6548; /* *avx512vl_vpternlogv16bf_2 */
20233 : :
20234 : : case 5:
20235 : : if (!
20236 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20237 : : ((16 == 64 || TARGET_AVX512VL
20238 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20239 : : && ix86_pre_reload_split ()
20240 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20241 : : STRIP_UNARY (operands[4]))
20242 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20243 : : STRIP_UNARY (operands[4]))
20244 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20245 : : STRIP_UNARY (operands[3]))
20246 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20247 : : STRIP_UNARY (operands[3])))))
20248 : : return -1;
20249 : : return 6575; /* *avx512vl_vpternlogv8bf_2 */
20250 : :
20251 : : case 6:
20252 : : if (!(
20253 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20254 : : ((64 == 64 || TARGET_AVX512VL
20255 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20256 : : && ix86_pre_reload_split ()
20257 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20258 : : STRIP_UNARY (operands[4]))
20259 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20260 : : STRIP_UNARY (operands[4]))
20261 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20262 : : STRIP_UNARY (operands[3]))
20263 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20264 : : STRIP_UNARY (operands[3])))) &&
20265 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20266 : : (TARGET_AVX512F)))
20267 : : return -1;
20268 : : return 6602; /* *avx512f_vpternlogv16sf_2 */
20269 : :
20270 : : case 7:
20271 : : if (!(
20272 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20273 : : ((32 == 64 || TARGET_AVX512VL
20274 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20275 : : && ix86_pre_reload_split ()
20276 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20277 : : STRIP_UNARY (operands[4]))
20278 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20279 : : STRIP_UNARY (operands[4]))
20280 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20281 : : STRIP_UNARY (operands[3]))
20282 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20283 : : STRIP_UNARY (operands[3])))) &&
20284 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20285 : : (TARGET_AVX)))
20286 : : return -1;
20287 : : return 6629; /* *avx512vl_vpternlogv8sf_2 */
20288 : :
20289 : : case 8:
20290 : : if (!
20291 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20292 : : ((16 == 64 || TARGET_AVX512VL
20293 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20294 : : && ix86_pre_reload_split ()
20295 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20296 : : STRIP_UNARY (operands[4]))
20297 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20298 : : STRIP_UNARY (operands[4]))
20299 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20300 : : STRIP_UNARY (operands[3]))
20301 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20302 : : STRIP_UNARY (operands[3])))))
20303 : : return -1;
20304 : : return 6656; /* *avx512vl_vpternlogv4sf_2 */
20305 : :
20306 : : case 9:
20307 : : if (!(
20308 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20309 : : ((64 == 64 || TARGET_AVX512VL
20310 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20311 : : && ix86_pre_reload_split ()
20312 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20313 : : STRIP_UNARY (operands[4]))
20314 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20315 : : STRIP_UNARY (operands[4]))
20316 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20317 : : STRIP_UNARY (operands[3]))
20318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20319 : : STRIP_UNARY (operands[3])))) &&
20320 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20321 : : (TARGET_AVX512F)))
20322 : : return -1;
20323 : : return 6683; /* *avx512f_vpternlogv8df_2 */
20324 : :
20325 : : case 10:
20326 : : if (!(
20327 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20328 : : ((32 == 64 || TARGET_AVX512VL
20329 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20330 : : && ix86_pre_reload_split ()
20331 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20332 : : STRIP_UNARY (operands[4]))
20333 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20334 : : STRIP_UNARY (operands[4]))
20335 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20336 : : STRIP_UNARY (operands[3]))
20337 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20338 : : STRIP_UNARY (operands[3])))) &&
20339 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20340 : : (TARGET_AVX)))
20341 : : return -1;
20342 : : return 6710; /* *avx512vl_vpternlogv4df_2 */
20343 : :
20344 : : case 11:
20345 : : if (!(
20346 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20347 : : ((16 == 64 || TARGET_AVX512VL
20348 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20349 : : && ix86_pre_reload_split ()
20350 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20351 : : STRIP_UNARY (operands[4]))
20352 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20353 : : STRIP_UNARY (operands[4]))
20354 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20355 : : STRIP_UNARY (operands[3]))
20356 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20357 : : STRIP_UNARY (operands[3])))) &&
20358 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20359 : : (TARGET_SSE2)))
20360 : : return -1;
20361 : : return 6737; /* *avx512vl_vpternlogv2df_2 */
20362 : :
20363 : : default:
20364 : : return -1;
20365 : : }
20366 : :
20367 : : case XOR:
20368 : : switch (pattern525 (x2))
20369 : : {
20370 : : case 0:
20371 : : if (!(
20372 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20373 : : ((64 == 64 || TARGET_AVX512VL
20374 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20375 : : && ix86_pre_reload_split ()
20376 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20377 : : STRIP_UNARY (operands[4]))
20378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20379 : : STRIP_UNARY (operands[4]))
20380 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20381 : : STRIP_UNARY (operands[3]))
20382 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20383 : : STRIP_UNARY (operands[3])))) &&
20384 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20385 : : (TARGET_AVX512F)))
20386 : : return -1;
20387 : : return 6443; /* *avx512bw_vpternlogv32hf_2 */
20388 : :
20389 : : case 1:
20390 : : if (!(
20391 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20392 : : ((32 == 64 || TARGET_AVX512VL
20393 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20394 : : && ix86_pre_reload_split ()
20395 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20396 : : STRIP_UNARY (operands[4]))
20397 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20398 : : STRIP_UNARY (operands[4]))
20399 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20400 : : STRIP_UNARY (operands[3]))
20401 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20402 : : STRIP_UNARY (operands[3])))) &&
20403 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20404 : : (TARGET_AVX)))
20405 : : return -1;
20406 : : return 6470; /* *avx512vl_vpternlogv16hf_2 */
20407 : :
20408 : : case 2:
20409 : : if (!
20410 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20411 : : ((16 == 64 || TARGET_AVX512VL
20412 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20413 : : && ix86_pre_reload_split ()
20414 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20415 : : STRIP_UNARY (operands[4]))
20416 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20417 : : STRIP_UNARY (operands[4]))
20418 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20419 : : STRIP_UNARY (operands[3]))
20420 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20421 : : STRIP_UNARY (operands[3])))))
20422 : : return -1;
20423 : : return 6497; /* *avx512fp16_vpternlogv8hf_2 */
20424 : :
20425 : : case 3:
20426 : : if (!(
20427 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20428 : : ((64 == 64 || TARGET_AVX512VL
20429 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20430 : : && ix86_pre_reload_split ()
20431 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20432 : : STRIP_UNARY (operands[4]))
20433 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20434 : : STRIP_UNARY (operands[4]))
20435 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20436 : : STRIP_UNARY (operands[3]))
20437 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20438 : : STRIP_UNARY (operands[3])))) &&
20439 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20440 : : (TARGET_AVX512F)))
20441 : : return -1;
20442 : : return 6524; /* *avx512bw_vpternlogv32bf_2 */
20443 : :
20444 : : case 4:
20445 : : if (!(
20446 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20447 : : ((32 == 64 || TARGET_AVX512VL
20448 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20449 : : && ix86_pre_reload_split ()
20450 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20451 : : STRIP_UNARY (operands[4]))
20452 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20453 : : STRIP_UNARY (operands[4]))
20454 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20455 : : STRIP_UNARY (operands[3]))
20456 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20457 : : STRIP_UNARY (operands[3])))) &&
20458 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20459 : : (TARGET_AVX)))
20460 : : return -1;
20461 : : return 6551; /* *avx512vl_vpternlogv16bf_2 */
20462 : :
20463 : : case 5:
20464 : : if (!
20465 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20466 : : ((16 == 64 || TARGET_AVX512VL
20467 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20468 : : && ix86_pre_reload_split ()
20469 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20470 : : STRIP_UNARY (operands[4]))
20471 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20472 : : STRIP_UNARY (operands[4]))
20473 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20474 : : STRIP_UNARY (operands[3]))
20475 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20476 : : STRIP_UNARY (operands[3])))))
20477 : : return -1;
20478 : : return 6578; /* *avx512vl_vpternlogv8bf_2 */
20479 : :
20480 : : case 6:
20481 : : if (!(
20482 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20483 : : ((64 == 64 || TARGET_AVX512VL
20484 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20485 : : && ix86_pre_reload_split ()
20486 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20487 : : STRIP_UNARY (operands[4]))
20488 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20489 : : STRIP_UNARY (operands[4]))
20490 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20491 : : STRIP_UNARY (operands[3]))
20492 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20493 : : STRIP_UNARY (operands[3])))) &&
20494 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20495 : : (TARGET_AVX512F)))
20496 : : return -1;
20497 : : return 6605; /* *avx512f_vpternlogv16sf_2 */
20498 : :
20499 : : case 7:
20500 : : if (!(
20501 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20502 : : ((32 == 64 || TARGET_AVX512VL
20503 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20504 : : && ix86_pre_reload_split ()
20505 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20506 : : STRIP_UNARY (operands[4]))
20507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20508 : : STRIP_UNARY (operands[4]))
20509 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20510 : : STRIP_UNARY (operands[3]))
20511 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20512 : : STRIP_UNARY (operands[3])))) &&
20513 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20514 : : (TARGET_AVX)))
20515 : : return -1;
20516 : : return 6632; /* *avx512vl_vpternlogv8sf_2 */
20517 : :
20518 : : case 8:
20519 : : if (!
20520 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20521 : : ((16 == 64 || TARGET_AVX512VL
20522 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20523 : : && ix86_pre_reload_split ()
20524 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20525 : : STRIP_UNARY (operands[4]))
20526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20527 : : STRIP_UNARY (operands[4]))
20528 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20529 : : STRIP_UNARY (operands[3]))
20530 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20531 : : STRIP_UNARY (operands[3])))))
20532 : : return -1;
20533 : : return 6659; /* *avx512vl_vpternlogv4sf_2 */
20534 : :
20535 : : case 9:
20536 : : if (!(
20537 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20538 : : ((64 == 64 || TARGET_AVX512VL
20539 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20540 : : && ix86_pre_reload_split ()
20541 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20542 : : STRIP_UNARY (operands[4]))
20543 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20544 : : STRIP_UNARY (operands[4]))
20545 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20546 : : STRIP_UNARY (operands[3]))
20547 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20548 : : STRIP_UNARY (operands[3])))) &&
20549 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20550 : : (TARGET_AVX512F)))
20551 : : return -1;
20552 : : return 6686; /* *avx512f_vpternlogv8df_2 */
20553 : :
20554 : : case 10:
20555 : : if (!(
20556 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20557 : : ((32 == 64 || TARGET_AVX512VL
20558 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20559 : : && ix86_pre_reload_split ()
20560 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20561 : : STRIP_UNARY (operands[4]))
20562 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20563 : : STRIP_UNARY (operands[4]))
20564 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20565 : : STRIP_UNARY (operands[3]))
20566 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20567 : : STRIP_UNARY (operands[3])))) &&
20568 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20569 : : (TARGET_AVX)))
20570 : : return -1;
20571 : : return 6713; /* *avx512vl_vpternlogv4df_2 */
20572 : :
20573 : : case 11:
20574 : : if (!(
20575 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20576 : : ((16 == 64 || TARGET_AVX512VL
20577 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20578 : : && ix86_pre_reload_split ()
20579 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20580 : : STRIP_UNARY (operands[4]))
20581 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20582 : : STRIP_UNARY (operands[4]))
20583 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20584 : : STRIP_UNARY (operands[3]))
20585 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20586 : : STRIP_UNARY (operands[3])))) &&
20587 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20588 : : (TARGET_SSE2)))
20589 : : return -1;
20590 : : return 6740; /* *avx512vl_vpternlogv2df_2 */
20591 : :
20592 : : default:
20593 : : return -1;
20594 : : }
20595 : :
20596 : : default:
20597 : : return -1;
20598 : : }
20599 : :
20600 : : case XOR:
20601 : : return recog_312 (x1, insn, pnum_clobbers);
20602 : :
20603 : : default:
20604 : : return -1;
20605 : : }
20606 : : }
20607 : :
20608 : : int
20609 : : recog_375 (rtx x1 ATTRIBUTE_UNUSED,
20610 : : rtx_insn *insn ATTRIBUTE_UNUSED,
20611 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
20612 : : {
20613 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20614 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
20615 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
20616 : : int res ATTRIBUTE_UNUSED;
20617 : : x2 = XVECEXP (x1, 0, 0);
20618 : : x3 = XEXP (x2, 1);
20619 : : x4 = XEXP (x3, 0);
20620 : : switch (GET_CODE (x4))
20621 : : {
20622 : : case REG:
20623 : : case SUBREG:
20624 : : case MEM:
20625 : : operands[1] = x4;
20626 : : if (pattern333 (x1) != 0)
20627 : : return -1;
20628 : : switch (pattern1140 (x3))
20629 : : {
20630 : : case 0:
20631 : : if (!
20632 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20633 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
20634 : : return -1;
20635 : : return 182; /* zero_extendqisi2_and */
20636 : :
20637 : : case 1:
20638 : : if (!
20639 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20640 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
20641 : : return -1;
20642 : : return 183; /* zero_extendhisi2_and */
20643 : :
20644 : : case 2:
20645 : : if (!
20646 : : #line 4904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20647 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
20648 : : return -1;
20649 : : return 186; /* zero_extendqihi2_and */
20650 : :
20651 : : default:
20652 : : return -1;
20653 : : }
20654 : :
20655 : : case PLUS:
20656 : : return recog_373 (x1, insn, pnum_clobbers);
20657 : :
20658 : : case MINUS:
20659 : : return recog_374 (x1, insn, pnum_clobbers);
20660 : :
20661 : : case MULT:
20662 : : if (pattern334 (x1) != 0)
20663 : : return -1;
20664 : : switch (GET_MODE (operands[0]))
20665 : : {
20666 : : case E_SImode:
20667 : : if (!register_operand (operands[0], E_SImode)
20668 : : || GET_MODE (x3) != E_SImode
20669 : : || GET_MODE (x4) != E_HImode
20670 : : || !nonimmediate_operand (operands[1], E_HImode)
20671 : : || !immediate_operand (operands[2], E_HImode)
20672 : : || !
20673 : : #line 10806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20674 : : (TARGET_APX_ZU && true))
20675 : : return -1;
20676 : : return 601; /* *imulhisizu */
20677 : :
20678 : : case E_DImode:
20679 : : if (!register_operand (operands[0], E_DImode)
20680 : : || GET_MODE (x3) != E_DImode)
20681 : : return -1;
20682 : : switch (GET_MODE (x4))
20683 : : {
20684 : : case E_HImode:
20685 : : if (!nonimmediate_operand (operands[1], E_HImode)
20686 : : || !immediate_operand (operands[2], E_HImode)
20687 : : || !
20688 : : #line 10806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20689 : : (TARGET_APX_ZU && true))
20690 : : return -1;
20691 : : return 603; /* *imulhidizu */
20692 : :
20693 : : case E_SImode:
20694 : : if (!nonimmediate_operand (operands[1], E_SImode)
20695 : : || !x86_64_general_operand (operands[2], E_SImode)
20696 : : || !
20697 : : #line 10818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20698 : : (TARGET_64BIT
20699 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20700 : : && true))
20701 : : return -1;
20702 : : return 605; /* *mulsi3_1_zext */
20703 : :
20704 : : default:
20705 : : return -1;
20706 : : }
20707 : :
20708 : : default:
20709 : : return -1;
20710 : : }
20711 : :
20712 : : case DIV:
20713 : : if (pattern335 (x1, pnum_clobbers,
20714 : : MOD) != 0)
20715 : : return -1;
20716 : : x5 = XEXP (x4, 0);
20717 : : operands[2] = x5;
20718 : : if (!register_operand (operands[2], E_SImode))
20719 : : return -1;
20720 : : x6 = XEXP (x4, 1);
20721 : : operands[3] = x6;
20722 : : if (!nonimmediate_operand (operands[3], E_SImode))
20723 : : return -1;
20724 : : x7 = XVECEXP (x1, 0, 1);
20725 : : x8 = XEXP (x7, 0);
20726 : : operands[1] = x8;
20727 : : if (!register_operand (operands[1], E_SImode))
20728 : : return -1;
20729 : : x9 = XEXP (x7, 1);
20730 : : x10 = XEXP (x9, 0);
20731 : : if (!rtx_equal_p (x10, operands[2]))
20732 : : return -1;
20733 : : x11 = XEXP (x9, 1);
20734 : : if (!rtx_equal_p (x11, operands[3])
20735 : : || !
20736 : : #line 11847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20737 : : (TARGET_64BIT))
20738 : : return -1;
20739 : : *pnum_clobbers = 1;
20740 : : return 659; /* *divmodsi4_zext_1 */
20741 : :
20742 : : case UDIV:
20743 : : if (pattern335 (x1, pnum_clobbers,
20744 : : UMOD) != 0)
20745 : : return -1;
20746 : : x5 = XEXP (x4, 0);
20747 : : operands[2] = x5;
20748 : : if (!register_operand (operands[2], E_SImode))
20749 : : return -1;
20750 : : x6 = XEXP (x4, 1);
20751 : : operands[3] = x6;
20752 : : x7 = XVECEXP (x1, 0, 1);
20753 : : x8 = XEXP (x7, 0);
20754 : : operands[1] = x8;
20755 : : if (!register_operand (operands[1], E_SImode))
20756 : : return -1;
20757 : : x9 = XEXP (x7, 1);
20758 : : switch (pattern1611 (x9))
20759 : : {
20760 : : case 0:
20761 : : if (!
20762 : : #line 11882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20763 : : (TARGET_64BIT))
20764 : : return -1;
20765 : : *pnum_clobbers = 1;
20766 : : return 660; /* *udivmodsi4_zext_1 */
20767 : :
20768 : : case 1:
20769 : : if (!
20770 : : #line 11904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20771 : : (TARGET_64BIT
20772 : : && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
20773 : : return -1;
20774 : : *pnum_clobbers = 1;
20775 : : return 661; /* *udivmodsi4_pow2_zext_1 */
20776 : :
20777 : : default:
20778 : : return -1;
20779 : : }
20780 : :
20781 : : case MOD:
20782 : : if (pattern336 (x1, pnum_clobbers,
20783 : : DIV) != 0)
20784 : : return -1;
20785 : : x5 = XEXP (x4, 0);
20786 : : operands[2] = x5;
20787 : : if (!register_operand (operands[2], E_SImode))
20788 : : return -1;
20789 : : x6 = XEXP (x4, 1);
20790 : : operands[3] = x6;
20791 : : if (!nonimmediate_operand (operands[3], E_SImode))
20792 : : return -1;
20793 : : x7 = XVECEXP (x1, 0, 1);
20794 : : x8 = XEXP (x7, 0);
20795 : : operands[0] = x8;
20796 : : if (!register_operand (operands[0], E_SImode))
20797 : : return -1;
20798 : : x9 = XEXP (x7, 1);
20799 : : x10 = XEXP (x9, 0);
20800 : : if (!rtx_equal_p (x10, operands[2]))
20801 : : return -1;
20802 : : x11 = XEXP (x9, 1);
20803 : : if (!rtx_equal_p (x11, operands[3])
20804 : : || !
20805 : : #line 11930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20806 : : (TARGET_64BIT))
20807 : : return -1;
20808 : : *pnum_clobbers = 1;
20809 : : return 662; /* *divmodsi4_zext_2 */
20810 : :
20811 : : case UMOD:
20812 : : if (pattern336 (x1, pnum_clobbers,
20813 : : UDIV) != 0)
20814 : : return -1;
20815 : : x5 = XEXP (x4, 0);
20816 : : operands[2] = x5;
20817 : : if (!register_operand (operands[2], E_SImode))
20818 : : return -1;
20819 : : x6 = XEXP (x4, 1);
20820 : : operands[3] = x6;
20821 : : x7 = XVECEXP (x1, 0, 1);
20822 : : x8 = XEXP (x7, 0);
20823 : : operands[0] = x8;
20824 : : if (!register_operand (operands[0], E_SImode))
20825 : : return -1;
20826 : : x9 = XEXP (x7, 1);
20827 : : switch (pattern1611 (x9))
20828 : : {
20829 : : case 0:
20830 : : if (!
20831 : : #line 11966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20832 : : (TARGET_64BIT))
20833 : : return -1;
20834 : : *pnum_clobbers = 1;
20835 : : return 663; /* *udivmodsi4_zext_2 */
20836 : :
20837 : : case 1:
20838 : : if (!
20839 : : #line 11988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20840 : : (TARGET_64BIT
20841 : : && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
20842 : : return -1;
20843 : : *pnum_clobbers = 1;
20844 : : return 664; /* *udivmodsi4_pow2_zext_2 */
20845 : :
20846 : : default:
20847 : : return -1;
20848 : : }
20849 : :
20850 : : case AND:
20851 : : if (pattern333 (x1) != 0)
20852 : : return -1;
20853 : : x5 = XEXP (x4, 0);
20854 : : switch (GET_CODE (x5))
20855 : : {
20856 : : case REG:
20857 : : case SUBREG:
20858 : : case MEM:
20859 : : switch (pattern1028 (x3))
20860 : : {
20861 : : case 0:
20862 : : if (!
20863 : : #line 12785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20864 : : (TARGET_APX_NDD && true
20865 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20866 : : return -1;
20867 : : return 713; /* *andqi_1_zexthi */
20868 : :
20869 : : case 1:
20870 : : if (!
20871 : : #line 12785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20872 : : (TARGET_APX_NDD && true
20873 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20874 : : return -1;
20875 : : return 715; /* *andqi_1_zextsi */
20876 : :
20877 : : case 2:
20878 : : if (!
20879 : : #line 12799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20880 : : (TARGET_APX_NDD && true
20881 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20882 : : return -1;
20883 : : return 719; /* *andhi_1_zextsi */
20884 : :
20885 : : case 3:
20886 : : if (!
20887 : : #line 12785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20888 : : (TARGET_APX_NDD && true
20889 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20890 : : return -1;
20891 : : return 717; /* *andqi_1_zextdi */
20892 : :
20893 : : case 4:
20894 : : if (!
20895 : : #line 12799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20896 : : (TARGET_APX_NDD && true
20897 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20898 : : return -1;
20899 : : return 721; /* *andhi_1_zextdi */
20900 : :
20901 : : case 5:
20902 : : if (!
20903 : : #line 12815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20904 : : (TARGET_64BIT
20905 : : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
20906 : : return -1;
20907 : : return 722; /* *andsi_1_zext */
20908 : :
20909 : : default:
20910 : : return -1;
20911 : : }
20912 : :
20913 : : case PLUS:
20914 : : if (pattern679 (x5) != 0
20915 : : || !register_operand (operands[0], E_DImode)
20916 : : || GET_MODE (x3) != E_DImode
20917 : : || GET_MODE (x4) != E_SImode)
20918 : : return -1;
20919 : : x12 = XEXP (x5, 0);
20920 : : x13 = XEXP (x12, 1);
20921 : : operands[2] = x13;
20922 : : if (!register_operand (operands[2], E_QImode))
20923 : : return -1;
20924 : : x6 = XEXP (x4, 1);
20925 : : operands[1] = x6;
20926 : : if (!nonimmediate_operand (operands[1], E_SImode)
20927 : : || !
20928 : : #line 22254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20929 : : (TARGET_64BIT && TARGET_BMI2))
20930 : : return -1;
20931 : : return 1604; /* *bmi2_bzhi_zero_extendsidi_4 */
20932 : :
20933 : : default:
20934 : : return -1;
20935 : : }
20936 : :
20937 : : case IOR:
20938 : : if (pattern337 (x1) != 0)
20939 : : return -1;
20940 : : switch (pattern1028 (x3))
20941 : : {
20942 : : case 0:
20943 : : if (!
20944 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20945 : : (TARGET_APX_NDD && true
20946 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20947 : : return -1;
20948 : : return 848; /* *iorqi_1_zexthi */
20949 : :
20950 : : case 1:
20951 : : if (!
20952 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20953 : : (TARGET_APX_NDD && true
20954 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20955 : : return -1;
20956 : : return 852; /* *iorqi_1_zextsi */
20957 : :
20958 : : case 2:
20959 : : if (!
20960 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20961 : : (TARGET_APX_NDD && true
20962 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20963 : : return -1;
20964 : : return 860; /* *iorhi_1_zextsi */
20965 : :
20966 : : case 3:
20967 : : if (!
20968 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20969 : : (TARGET_APX_NDD && true
20970 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20971 : : return -1;
20972 : : return 856; /* *iorqi_1_zextdi */
20973 : :
20974 : : case 4:
20975 : : if (!
20976 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20977 : : (TARGET_APX_NDD && true
20978 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20979 : : return -1;
20980 : : return 864; /* *iorhi_1_zextdi */
20981 : :
20982 : : case 5:
20983 : : if (!
20984 : : #line 13882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20985 : : (TARGET_64BIT
20986 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
20987 : : return -1;
20988 : : return 867; /* *iorsi_1_zext */
20989 : :
20990 : : default:
20991 : : return -1;
20992 : : }
20993 : :
20994 : : case XOR:
20995 : : if (pattern333 (x1) != 0)
20996 : : return -1;
20997 : : x5 = XEXP (x4, 0);
20998 : : switch (GET_CODE (x5))
20999 : : {
21000 : : case REG:
21001 : : case SUBREG:
21002 : : case MEM:
21003 : : switch (pattern1028 (x3))
21004 : : {
21005 : : case 0:
21006 : : if (!
21007 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21008 : : (TARGET_APX_NDD && true
21009 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21010 : : return -1;
21011 : : return 850; /* *xorqi_1_zexthi */
21012 : :
21013 : : case 1:
21014 : : if (!
21015 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21016 : : (TARGET_APX_NDD && true
21017 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21018 : : return -1;
21019 : : return 854; /* *xorqi_1_zextsi */
21020 : :
21021 : : case 2:
21022 : : if (!
21023 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21024 : : (TARGET_APX_NDD && true
21025 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21026 : : return -1;
21027 : : return 862; /* *xorhi_1_zextsi */
21028 : :
21029 : : case 3:
21030 : : if (!
21031 : : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21032 : : (TARGET_APX_NDD && true
21033 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21034 : : return -1;
21035 : : return 858; /* *xorqi_1_zextdi */
21036 : :
21037 : : case 4:
21038 : : if (!
21039 : : #line 13866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21040 : : (TARGET_APX_NDD && true
21041 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21042 : : return -1;
21043 : : return 866; /* *xorhi_1_zextdi */
21044 : :
21045 : : case 5:
21046 : : if (!
21047 : : #line 13882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21048 : : (TARGET_64BIT
21049 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
21050 : : return -1;
21051 : : return 868; /* *xorsi_1_zext */
21052 : :
21053 : : default:
21054 : : return -1;
21055 : : }
21056 : :
21057 : : case MINUS:
21058 : : if (pattern1144 (x4) != 0
21059 : : || !register_operand (operands[0], E_DImode)
21060 : : || GET_MODE (x3) != E_DImode
21061 : : || GET_MODE (x4) != E_SImode)
21062 : : return -1;
21063 : : x14 = XEXP (x5, 1);
21064 : : x15 = XEXP (x14, 0);
21065 : : operands[1] = x15;
21066 : : if (!nonimmediate_operand (operands[1], E_SImode)
21067 : : || !
21068 : : #line 21487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21069 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
21070 : : return -1;
21071 : : return 1537; /* *bsru_2 */
21072 : :
21073 : : default:
21074 : : return -1;
21075 : : }
21076 : :
21077 : : case NEG:
21078 : : if (pattern338 (x1) != 0)
21079 : : return -1;
21080 : : switch (pattern340 (x3))
21081 : : {
21082 : : case 0:
21083 : : if (!
21084 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21085 : : (TARGET_APX_NDD && true))
21086 : : return -1;
21087 : : return 967; /* *negqi_1_zexthi */
21088 : :
21089 : : case 1:
21090 : : if (!
21091 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21092 : : (TARGET_APX_NDD && true))
21093 : : return -1;
21094 : : return 969; /* *negqi_1_zextsi */
21095 : :
21096 : : case 2:
21097 : : if (!
21098 : : #line 14507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21099 : : (TARGET_APX_NDD && true))
21100 : : return -1;
21101 : : return 973; /* *neghi_1_zextsi */
21102 : :
21103 : : case 3:
21104 : : if (!
21105 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21106 : : (TARGET_APX_NDD && true))
21107 : : return -1;
21108 : : return 971; /* *negqi_1_zextdi */
21109 : :
21110 : : case 4:
21111 : : if (!
21112 : : #line 14507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21113 : : (TARGET_APX_NDD && true))
21114 : : return -1;
21115 : : return 975; /* *neghi_1_zextdi */
21116 : :
21117 : : case 5:
21118 : : if (!
21119 : : #line 14518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21120 : : (TARGET_64BIT
21121 : : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
21122 : : return -1;
21123 : : return 976; /* *negsi_1_zext */
21124 : :
21125 : : default:
21126 : : return -1;
21127 : : }
21128 : :
21129 : : case ASHIFT:
21130 : : switch (pattern342 (x1))
21131 : : {
21132 : : case 0:
21133 : : if (!
21134 : : #line 16147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21135 : : (TARGET_APX_NDD && true))
21136 : : return -1;
21137 : : return 1098; /* *ashlqi3_1_zexthi */
21138 : :
21139 : : case 1:
21140 : : if (!
21141 : : #line 16147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21142 : : (TARGET_APX_NDD && true))
21143 : : return -1;
21144 : : return 1100; /* *ashlqi3_1_zextsi */
21145 : :
21146 : : case 2:
21147 : : if (!
21148 : : #line 16158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21149 : : (TARGET_APX_NDD && true))
21150 : : return -1;
21151 : : return 1104; /* *ashlhi3_1_zextsi */
21152 : :
21153 : : case 3:
21154 : : if (!
21155 : : #line 16147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21156 : : (TARGET_APX_NDD && true))
21157 : : return -1;
21158 : : return 1102; /* *ashlqi3_1_zextdi */
21159 : :
21160 : : case 4:
21161 : : if (!
21162 : : #line 16158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21163 : : (TARGET_APX_NDD && true))
21164 : : return -1;
21165 : : return 1106; /* *ashlhi3_1_zextdi */
21166 : :
21167 : : case 5:
21168 : : if (!
21169 : : #line 16170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21170 : : (TARGET_64BIT
21171 : : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
21172 : : return -1;
21173 : : return 1107; /* *ashlsi3_1_zext */
21174 : :
21175 : : default:
21176 : : return -1;
21177 : : }
21178 : :
21179 : : case ASHIFTRT:
21180 : : if (pattern334 (x1) != 0)
21181 : : return -1;
21182 : : switch (GET_MODE (operands[0]))
21183 : : {
21184 : : case E_DImode:
21185 : : if (!register_operand (operands[0], E_DImode)
21186 : : || GET_MODE (x3) != E_DImode)
21187 : : return -1;
21188 : : switch (GET_MODE (x4))
21189 : : {
21190 : : case E_SImode:
21191 : : if (!nonimmediate_operand (operands[1], E_SImode))
21192 : : return -1;
21193 : : if (const_int_operand (operands[2], E_QImode)
21194 : : &&
21195 : : #line 17403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21196 : : (TARGET_64BIT && INTVAL (operands[2]) == 31
21197 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
21198 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
21199 : : return 1174; /* *ashrsi3_cvt_zext */
21200 : : if (!nonmemory_operand (operands[2], E_QImode)
21201 : : || !
21202 : : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21203 : : (TARGET_64BIT
21204 : : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
21205 : : return -1;
21206 : : return 1211; /* *ashrsi3_1_zext */
21207 : :
21208 : : case E_QImode:
21209 : : if (!nonimmediate_operand (operands[1], E_QImode)
21210 : : || !nonmemory_operand (operands[2], E_QImode)
21211 : : || !
21212 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21213 : : (TARGET_APX_NDD && true))
21214 : : return -1;
21215 : : return 1201; /* *ashrqi3_1_zextdi */
21216 : :
21217 : : case E_HImode:
21218 : : if (!nonimmediate_operand (operands[1], E_HImode)
21219 : : || !nonmemory_operand (operands[2], E_QImode)
21220 : : || !
21221 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21222 : : (TARGET_APX_NDD && true))
21223 : : return -1;
21224 : : return 1209; /* *ashrhi3_1_zextdi */
21225 : :
21226 : : default:
21227 : : return -1;
21228 : : }
21229 : :
21230 : : case E_HImode:
21231 : : if (!register_operand (operands[0], E_HImode)
21232 : : || GET_MODE (x3) != E_HImode
21233 : : || GET_MODE (x4) != E_QImode
21234 : : || !nonimmediate_operand (operands[1], E_QImode)
21235 : : || !nonmemory_operand (operands[2], E_QImode)
21236 : : || !
21237 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21238 : : (TARGET_APX_NDD && true))
21239 : : return -1;
21240 : : return 1193; /* *ashrqi3_1_zexthi */
21241 : :
21242 : : case E_SImode:
21243 : : if (!register_operand (operands[0], E_SImode)
21244 : : || GET_MODE (x3) != E_SImode
21245 : : || !nonmemory_operand (operands[2], E_QImode))
21246 : : return -1;
21247 : : switch (GET_MODE (x4))
21248 : : {
21249 : : case E_QImode:
21250 : : if (!nonimmediate_operand (operands[1], E_QImode)
21251 : : || !
21252 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21253 : : (TARGET_APX_NDD && true))
21254 : : return -1;
21255 : : return 1197; /* *ashrqi3_1_zextsi */
21256 : :
21257 : : case E_HImode:
21258 : : if (!nonimmediate_operand (operands[1], E_HImode)
21259 : : || !
21260 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21261 : : (TARGET_APX_NDD && true))
21262 : : return -1;
21263 : : return 1205; /* *ashrhi3_1_zextsi */
21264 : :
21265 : : default:
21266 : : return -1;
21267 : : }
21268 : :
21269 : : default:
21270 : : return -1;
21271 : : }
21272 : :
21273 : : case LSHIFTRT:
21274 : : x16 = XEXP (x2, 0);
21275 : : operands[0] = x16;
21276 : : x5 = XEXP (x4, 0);
21277 : : operands[1] = x5;
21278 : : x6 = XEXP (x4, 1);
21279 : : operands[2] = x6;
21280 : : x7 = XVECEXP (x1, 0, 1);
21281 : : switch (GET_CODE (x7))
21282 : : {
21283 : : case CLOBBER:
21284 : : x8 = XEXP (x7, 0);
21285 : : if (GET_CODE (x8) != REG
21286 : : || REGNO (x8) != 17
21287 : : || GET_MODE (x8) != E_CCmode)
21288 : : return -1;
21289 : : switch (pattern341 (x3))
21290 : : {
21291 : : case 0:
21292 : : if (!
21293 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21294 : : (TARGET_APX_NDD && true))
21295 : : return -1;
21296 : : return 1191; /* *lshrqi3_1_zexthi */
21297 : :
21298 : : case 1:
21299 : : if (!
21300 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21301 : : (TARGET_APX_NDD && true))
21302 : : return -1;
21303 : : return 1195; /* *lshrqi3_1_zextsi */
21304 : :
21305 : : case 2:
21306 : : if (!
21307 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21308 : : (TARGET_APX_NDD && true))
21309 : : return -1;
21310 : : return 1203; /* *lshrhi3_1_zextsi */
21311 : :
21312 : : case 3:
21313 : : if (!
21314 : : #line 17592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21315 : : (TARGET_APX_NDD && true))
21316 : : return -1;
21317 : : return 1199; /* *lshrqi3_1_zextdi */
21318 : :
21319 : : case 4:
21320 : : if (!
21321 : : #line 17603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21322 : : (TARGET_APX_NDD && true))
21323 : : return -1;
21324 : : return 1207; /* *lshrhi3_1_zextdi */
21325 : :
21326 : : case 5:
21327 : : if (!
21328 : : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21329 : : (TARGET_64BIT
21330 : : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
21331 : : return -1;
21332 : : return 1210; /* *lshrsi3_1_zext */
21333 : :
21334 : : default:
21335 : : return -1;
21336 : : }
21337 : :
21338 : : case UNSPEC:
21339 : : if (XVECLEN (x7, 0) != 1
21340 : : || XINT (x7, 1) != 175)
21341 : : return -1;
21342 : : x17 = XVECEXP (x7, 0, 0);
21343 : : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
21344 : : || pattern1217 (x3,
21345 : : E_SImode,
21346 : : E_DImode) != 0
21347 : : || !const_0_to_31_operand (operands[2], E_VOIDmode)
21348 : : || !
21349 : : #line 2309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21350 : : (TARGET_AVX512BW))
21351 : : return -1;
21352 : : return 2626; /* *klshrsi3_1_zext */
21353 : :
21354 : : default:
21355 : : return -1;
21356 : : }
21357 : :
21358 : : case ROTATE:
21359 : : switch (pattern342 (x1))
21360 : : {
21361 : : case 0:
21362 : : if (!
21363 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21364 : : (TARGET_APX_NDD && true))
21365 : : return -1;
21366 : : return 1356; /* *rotlqi3_1_zexthi */
21367 : :
21368 : : case 1:
21369 : : if (!
21370 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21371 : : (TARGET_APX_NDD && true))
21372 : : return -1;
21373 : : return 1360; /* *rotlqi3_1_zextsi */
21374 : :
21375 : : case 2:
21376 : : if (!
21377 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21378 : : (TARGET_APX_NDD && true))
21379 : : return -1;
21380 : : return 1368; /* *rotlhi3_1_zextsi */
21381 : :
21382 : : case 3:
21383 : : if (!
21384 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21385 : : (TARGET_APX_NDD && true))
21386 : : return -1;
21387 : : return 1364; /* *rotlqi3_1_zextdi */
21388 : :
21389 : : case 4:
21390 : : if (!
21391 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21392 : : (TARGET_APX_NDD && true))
21393 : : return -1;
21394 : : return 1372; /* *rotlhi3_1_zextdi */
21395 : :
21396 : : case 5:
21397 : : if (!
21398 : : #line 18746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21399 : : (TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
21400 : : return -1;
21401 : : return 1375; /* *rotlsi3_1_zext */
21402 : :
21403 : : default:
21404 : : return -1;
21405 : : }
21406 : :
21407 : : case ROTATERT:
21408 : : switch (pattern342 (x1))
21409 : : {
21410 : : case 0:
21411 : : if (!
21412 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21413 : : (TARGET_APX_NDD && true))
21414 : : return -1;
21415 : : return 1358; /* *rotrqi3_1_zexthi */
21416 : :
21417 : : case 1:
21418 : : if (!
21419 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21420 : : (TARGET_APX_NDD && true))
21421 : : return -1;
21422 : : return 1362; /* *rotrqi3_1_zextsi */
21423 : :
21424 : : case 2:
21425 : : if (!
21426 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21427 : : (TARGET_APX_NDD && true))
21428 : : return -1;
21429 : : return 1370; /* *rotrhi3_1_zextsi */
21430 : :
21431 : : case 3:
21432 : : if (!
21433 : : #line 18723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21434 : : (TARGET_APX_NDD && true))
21435 : : return -1;
21436 : : return 1366; /* *rotrqi3_1_zextdi */
21437 : :
21438 : : case 4:
21439 : : if (!
21440 : : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21441 : : (TARGET_APX_NDD && true))
21442 : : return -1;
21443 : : return 1374; /* *rotrhi3_1_zextdi */
21444 : :
21445 : : case 5:
21446 : : if (!
21447 : : #line 18746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21448 : : (TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
21449 : : return -1;
21450 : : return 1376; /* *rotrsi3_1_zext */
21451 : :
21452 : : default:
21453 : : return -1;
21454 : : }
21455 : :
21456 : : case CTZ:
21457 : : if (GET_MODE (x4) != E_SImode)
21458 : : return -1;
21459 : : x16 = XEXP (x2, 0);
21460 : : operands[0] = x16;
21461 : : if (!register_operand (operands[0], E_DImode)
21462 : : || GET_MODE (x3) != E_DImode)
21463 : : return -1;
21464 : : switch (pattern918 (x1, pnum_clobbers))
21465 : : {
21466 : : case 0:
21467 : : if (!
21468 : : #line 21314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21469 : : (TARGET_64BIT))
21470 : : return -1;
21471 : : return 1525; /* *ctzsidi2_uext */
21472 : :
21473 : : case 1:
21474 : : if (!
21475 : : #line 21354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21476 : : (TARGET_64BIT))
21477 : : return -1;
21478 : : *pnum_clobbers = 1;
21479 : : return 1527; /* *ctzsidi2_uext_falsedep */
21480 : :
21481 : : default:
21482 : : return -1;
21483 : : }
21484 : :
21485 : : case CLZ:
21486 : : if (GET_MODE (x4) != E_SImode)
21487 : : return -1;
21488 : : x16 = XEXP (x2, 0);
21489 : : operands[0] = x16;
21490 : : if (!register_operand (operands[0], E_DImode)
21491 : : || GET_MODE (x3) != E_DImode)
21492 : : return -1;
21493 : : switch (pattern540 (x1, pnum_clobbers))
21494 : : {
21495 : : case 0:
21496 : : if (!nonimmediate_operand (operands[1], E_SImode)
21497 : : || !
21498 : : #line 21750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21499 : : (TARGET_LZCNT && TARGET_64BIT))
21500 : : return -1;
21501 : : return 1549; /* *clzsi2_lzcnt_zext_2 */
21502 : :
21503 : : case 1:
21504 : : x7 = XVECEXP (x1, 0, 1);
21505 : : x17 = XVECEXP (x7, 0, 0);
21506 : : switch (pattern1411 (x17))
21507 : : {
21508 : : case 0:
21509 : : if (!
21510 : : #line 21775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21511 : : (TARGET_LZCNT))
21512 : : return -1;
21513 : : *pnum_clobbers = 1;
21514 : : return 1550; /* *clzsi2_lzcnt_zext_2_falsedep */
21515 : :
21516 : : case 1:
21517 : : if (!(
21518 : : #line 21775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21519 : : (TARGET_LZCNT) &&
21520 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21521 : : (TARGET_64BIT)))
21522 : : return -1;
21523 : : *pnum_clobbers = 1;
21524 : : return 1551; /* *clzsi2_lzcnt_zext_2_falsedep */
21525 : :
21526 : : default:
21527 : : return -1;
21528 : : }
21529 : :
21530 : : default:
21531 : : return -1;
21532 : : }
21533 : :
21534 : : case POPCOUNT:
21535 : : x16 = XEXP (x2, 0);
21536 : : operands[0] = x16;
21537 : : switch (pattern540 (x1, pnum_clobbers))
21538 : : {
21539 : : case 0:
21540 : : switch (GET_MODE (operands[0]))
21541 : : {
21542 : : case E_DImode:
21543 : : if (pattern339 (x3,
21544 : : E_SImode,
21545 : : E_DImode) != 0
21546 : : || !
21547 : : #line 22587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21548 : : (TARGET_POPCNT && TARGET_64BIT))
21549 : : return -1;
21550 : : return 1640; /* *popcountsi2_zext_2 */
21551 : :
21552 : : case E_SImode:
21553 : : if (pattern339 (x3,
21554 : : E_HImode,
21555 : : E_SImode) != 0
21556 : : || !
21557 : : #line 22653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21558 : : (TARGET_POPCNT
21559 : : && ix86_pre_reload_split ()))
21560 : : return -1;
21561 : : return 1643; /* *popcounthi2_2 */
21562 : :
21563 : : default:
21564 : : return -1;
21565 : : }
21566 : :
21567 : : case 1:
21568 : : if (!register_operand (operands[0], E_DImode)
21569 : : || GET_MODE (x3) != E_DImode
21570 : : || GET_MODE (x4) != E_SImode
21571 : : || !nonimmediate_operand (operands[1], E_SImode))
21572 : : return -1;
21573 : : x7 = XVECEXP (x1, 0, 1);
21574 : : x17 = XVECEXP (x7, 0, 0);
21575 : : operands[2] = x17;
21576 : : if (!register_operand (operands[2], E_DImode)
21577 : : || !
21578 : : #line 22618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21579 : : (TARGET_POPCNT && TARGET_64BIT))
21580 : : return -1;
21581 : : *pnum_clobbers = 1;
21582 : : return 1641; /* *popcountsi2_zext_2_falsedep */
21583 : :
21584 : : default:
21585 : : return -1;
21586 : : }
21587 : :
21588 : : case NOT:
21589 : : if (GET_MODE (x4) != E_SImode)
21590 : : return -1;
21591 : : x7 = XVECEXP (x1, 0, 1);
21592 : : if (pattern373 (x7,
21593 : : 175,
21594 : : 0) != 0)
21595 : : return -1;
21596 : : x16 = XEXP (x2, 0);
21597 : : operands[0] = x16;
21598 : : if (!register_operand (operands[0], E_DImode)
21599 : : || GET_MODE (x3) != E_DImode)
21600 : : return -1;
21601 : : x5 = XEXP (x4, 0);
21602 : : operands[1] = x5;
21603 : : if (!register_operand (operands[1], E_SImode)
21604 : : || !
21605 : : #line 2232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21606 : : (TARGET_AVX512BW))
21607 : : return -1;
21608 : : return 2613; /* *knotsi_1_zext */
21609 : :
21610 : : case UNSPEC:
21611 : : return recog_372 (x1, insn, pnum_clobbers);
21612 : :
21613 : : default:
21614 : : return -1;
21615 : : }
21616 : : }
21617 : :
21618 : : int
21619 : : recog_398 (rtx x1 ATTRIBUTE_UNUSED,
21620 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21621 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21622 : : {
21623 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21624 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21625 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21626 : : rtx x18, x19;
21627 : : int res ATTRIBUTE_UNUSED;
21628 : : x2 = XVECEXP (x1, 0, 0);
21629 : : x3 = XEXP (x2, 1);
21630 : : x4 = XEXP (x3, 0);
21631 : : switch (GET_CODE (x4))
21632 : : {
21633 : : case NE:
21634 : : case EQ:
21635 : : if (bt_comparison_operator (x4, E_VOIDmode))
21636 : : {
21637 : : res = recog_397 (x1, insn, pnum_clobbers);
21638 : : if (res >= 0)
21639 : : return res;
21640 : : }
21641 : : if (GET_CODE (x4) != NE)
21642 : : return -1;
21643 : : x5 = XEXP (x4, 1);
21644 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21645 : : return -1;
21646 : : x6 = XEXP (x4, 0);
21647 : : switch (GET_CODE (x6))
21648 : : {
21649 : : case REG:
21650 : : case SUBREG:
21651 : : operands[2] = x6;
21652 : : if (!register_operand (operands[2], E_QImode))
21653 : : return -1;
21654 : : x7 = XEXP (x3, 1);
21655 : : if (GET_CODE (x7) != ZERO_EXTRACT)
21656 : : return -1;
21657 : : x8 = XEXP (x7, 1);
21658 : : if (GET_CODE (x8) != UMIN
21659 : : || GET_MODE (x8) != E_QImode)
21660 : : return -1;
21661 : : x9 = XEXP (x7, 2);
21662 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21663 : : return -1;
21664 : : x10 = XEXP (x3, 2);
21665 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
21666 : : || pattern333 (x1) != 0
21667 : : || GET_MODE (x4) != E_QImode)
21668 : : return -1;
21669 : : x11 = XEXP (x7, 0);
21670 : : operands[1] = x11;
21671 : : x12 = XEXP (x8, 1);
21672 : : operands[3] = x12;
21673 : : if (!const_int_operand (operands[3], E_QImode))
21674 : : return -1;
21675 : : x13 = XEXP (x8, 0);
21676 : : if (!rtx_equal_p (x13, operands[2]))
21677 : : return -1;
21678 : : switch (GET_MODE (operands[0]))
21679 : : {
21680 : : case E_SImode:
21681 : : if (pattern1419 (x3,
21682 : : E_SImode) != 0
21683 : : || !
21684 : : #line 22190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21685 : : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
21686 : : return -1;
21687 : : return 1596; /* *bmi2_bzhi_si3 */
21688 : :
21689 : : case E_DImode:
21690 : : if (pattern1419 (x3,
21691 : : E_DImode) != 0
21692 : : || !(
21693 : : #line 22190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21694 : : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21695 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21696 : : (TARGET_64BIT)))
21697 : : return -1;
21698 : : return 1597; /* *bmi2_bzhi_di3 */
21699 : :
21700 : : default:
21701 : : return -1;
21702 : : }
21703 : :
21704 : : case UNSPEC:
21705 : : if (XVECLEN (x6, 0) != 1
21706 : : || XINT (x6, 1) != 36)
21707 : : return -1;
21708 : : x14 = XVECEXP (x6, 0, 0);
21709 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21710 : : return -1;
21711 : : x7 = XEXP (x3, 1);
21712 : : if (GET_CODE (x7) != LABEL_REF)
21713 : : return -1;
21714 : : x10 = XEXP (x3, 2);
21715 : : if (GET_CODE (x10) != PC)
21716 : : return -1;
21717 : : x15 = XEXP (x2, 0);
21718 : : if (GET_CODE (x15) != PC)
21719 : : return -1;
21720 : : x16 = XVECEXP (x1, 0, 1);
21721 : : if (GET_CODE (x16) != SET)
21722 : : return -1;
21723 : : x17 = XEXP (x16, 1);
21724 : : if (pattern800 (x17,
21725 : : E_SImode,
21726 : : 46,
21727 : : 1,
21728 : : UNSPEC_VOLATILE) != 0)
21729 : : return -1;
21730 : : x11 = XEXP (x7, 0);
21731 : : operands[1] = x11;
21732 : : x18 = XEXP (x16, 0);
21733 : : operands[0] = x18;
21734 : : if (!register_operand (operands[0], E_SImode))
21735 : : return -1;
21736 : : x19 = XVECEXP (x17, 0, 0);
21737 : : if (!rtx_equal_p (x19, operands[0])
21738 : : || !
21739 : : #line 30046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21740 : : (TARGET_RTM))
21741 : : return -1;
21742 : : return 1977; /* xbegin_1 */
21743 : :
21744 : : default:
21745 : : return -1;
21746 : : }
21747 : :
21748 : : case LTU:
21749 : : case UNLT:
21750 : : operands[1] = x4;
21751 : : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
21752 : : return -1;
21753 : : x6 = XEXP (x4, 0);
21754 : : if (GET_CODE (x6) != REG
21755 : : || REGNO (x6) != 17)
21756 : : return -1;
21757 : : x5 = XEXP (x4, 1);
21758 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21759 : : return -1;
21760 : : x7 = XEXP (x3, 1);
21761 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
21762 : : return -1;
21763 : : x10 = XEXP (x3, 2);
21764 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
21765 : : || pattern333 (x1) != 0)
21766 : : return -1;
21767 : : switch (pattern1555 (x3))
21768 : : {
21769 : : case 0:
21770 : : return 1801; /* *x86_movsicc_0_m1 */
21771 : :
21772 : : case 1:
21773 : : if (!
21774 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21775 : : (TARGET_64BIT))
21776 : : return -1;
21777 : : return 1802; /* *x86_movdicc_0_m1 */
21778 : :
21779 : : default:
21780 : : return -1;
21781 : : }
21782 : :
21783 : : default:
21784 : : return -1;
21785 : : }
21786 : : }
21787 : :
21788 : : int
21789 : : recog_401 (rtx x1 ATTRIBUTE_UNUSED,
21790 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21791 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21792 : : {
21793 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21794 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21795 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21796 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
21797 : : int res ATTRIBUTE_UNUSED;
21798 : : x2 = XVECEXP (x1, 0, 0);
21799 : : x3 = XEXP (x2, 0);
21800 : : operands[0] = x3;
21801 : : x4 = XEXP (x2, 1);
21802 : : x5 = XEXP (x4, 0);
21803 : : x6 = XEXP (x5, 0);
21804 : : switch (GET_CODE (x6))
21805 : : {
21806 : : case ZERO_EXTEND:
21807 : : x7 = XEXP (x5, 1);
21808 : : if (GET_CODE (x7) != CONST_INT)
21809 : : return -1;
21810 : : x8 = XEXP (x4, 1);
21811 : : if (GET_CODE (x8) != ZERO_EXTEND)
21812 : : return -1;
21813 : : x9 = XEXP (x6, 0);
21814 : : switch (GET_CODE (x9))
21815 : : {
21816 : : case TRUNCATE:
21817 : : if (GET_MODE (x9) != E_QImode)
21818 : : return -1;
21819 : : x10 = XEXP (x9, 0);
21820 : : if (GET_CODE (x10) != MOD
21821 : : || GET_MODE (x10) != E_HImode
21822 : : || XWINT (x7, 0) != 8L)
21823 : : return -1;
21824 : : x11 = XEXP (x8, 0);
21825 : : if (GET_CODE (x11) != TRUNCATE
21826 : : || GET_MODE (x11) != E_QImode)
21827 : : return -1;
21828 : : x12 = XEXP (x11, 0);
21829 : : if (GET_CODE (x12) != DIV
21830 : : || GET_MODE (x12) != E_HImode)
21831 : : return -1;
21832 : : x13 = XVECEXP (x1, 0, 1);
21833 : : if (pattern222 (x13,
21834 : : E_CCmode,
21835 : : 17) != 0
21836 : : || !register_operand (operands[0], E_HImode)
21837 : : || GET_MODE (x4) != E_HImode
21838 : : || GET_MODE (x5) != E_HImode
21839 : : || GET_MODE (x6) != E_HImode)
21840 : : return -1;
21841 : : x14 = XEXP (x10, 0);
21842 : : operands[1] = x14;
21843 : : if (!register_operand (operands[1], E_HImode))
21844 : : return -1;
21845 : : x15 = XEXP (x10, 1);
21846 : : if (GET_MODE (x15) != E_HImode
21847 : : || GET_MODE (x8) != E_HImode)
21848 : : return -1;
21849 : : x16 = XEXP (x12, 1);
21850 : : if (GET_MODE (x16) != E_HImode)
21851 : : return -1;
21852 : : x17 = XEXP (x12, 0);
21853 : : if (!rtx_equal_p (x17, operands[1]))
21854 : : return -1;
21855 : : switch (GET_CODE (x15))
21856 : : {
21857 : : case SIGN_EXTEND:
21858 : : if (GET_CODE (x16) != SIGN_EXTEND)
21859 : : return -1;
21860 : : x18 = XEXP (x15, 0);
21861 : : operands[2] = x18;
21862 : : if (!nonimmediate_operand (operands[2], E_QImode))
21863 : : return -1;
21864 : : x19 = XEXP (x16, 0);
21865 : : if (!rtx_equal_p (x19, operands[2])
21866 : : || !
21867 : : #line 12180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21868 : : (TARGET_QIMODE_MATH
21869 : : && true))
21870 : : return -1;
21871 : : return 683; /* divmodhiqi3 */
21872 : :
21873 : : case ZERO_EXTEND:
21874 : : if (GET_CODE (x16) != ZERO_EXTEND)
21875 : : return -1;
21876 : : x18 = XEXP (x15, 0);
21877 : : operands[2] = x18;
21878 : : if (!nonimmediate_operand (operands[2], E_QImode))
21879 : : return -1;
21880 : : x19 = XEXP (x16, 0);
21881 : : if (!rtx_equal_p (x19, operands[2])
21882 : : || !
21883 : : #line 12180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21884 : : (TARGET_QIMODE_MATH
21885 : : && true))
21886 : : return -1;
21887 : : return 685; /* udivmodhiqi3 */
21888 : :
21889 : : default:
21890 : : return -1;
21891 : : }
21892 : :
21893 : : case REG:
21894 : : case SUBREG:
21895 : : operands[1] = x9;
21896 : : x13 = XVECEXP (x1, 0, 1);
21897 : : if (pattern373 (x13,
21898 : : 175,
21899 : : 0) != 0)
21900 : : return -1;
21901 : : x11 = XEXP (x8, 0);
21902 : : operands[2] = x11;
21903 : : switch (XWINT (x7, 0))
21904 : : {
21905 : : case 8L:
21906 : : if (pattern1556 (x4,
21907 : : E_QImode,
21908 : : E_HImode) != 0
21909 : : || !
21910 : : #line 2539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21911 : : (TARGET_AVX512F))
21912 : : return -1;
21913 : : return 2667; /* kunpckhi */
21914 : :
21915 : : case 16L:
21916 : : if (pattern1556 (x4,
21917 : : E_HImode,
21918 : : E_SImode) != 0
21919 : : || !
21920 : : #line 2553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21921 : : (TARGET_AVX512BW))
21922 : : return -1;
21923 : : return 2668; /* kunpcksi */
21924 : :
21925 : : case 32L:
21926 : : if (pattern1556 (x4,
21927 : : E_SImode,
21928 : : E_DImode) != 0
21929 : : || !
21930 : : #line 2565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21931 : : (TARGET_AVX512BW))
21932 : : return -1;
21933 : : return 2669; /* kunpckdi */
21934 : :
21935 : : default:
21936 : : return -1;
21937 : : }
21938 : :
21939 : : default:
21940 : : return -1;
21941 : : }
21942 : :
21943 : : case REG:
21944 : : case SUBREG:
21945 : : case MEM:
21946 : : x13 = XVECEXP (x1, 0, 1);
21947 : : if (pattern222 (x13,
21948 : : E_CCmode,
21949 : : 17) != 0)
21950 : : return -1;
21951 : : switch (pattern1037 (x4,
21952 : : LSHIFTRT))
21953 : : {
21954 : : case 0:
21955 : : x8 = XEXP (x4, 1);
21956 : : x11 = XEXP (x8, 0);
21957 : : x12 = XEXP (x11, 0);
21958 : : x17 = XEXP (x12, 0);
21959 : : operands[1] = x17;
21960 : : if (nonimmediate_operand (operands[0], E_DImode))
21961 : : {
21962 : : x7 = XEXP (x5, 1);
21963 : : x20 = XEXP (x7, 0);
21964 : : operands[2] = x20;
21965 : : if (rtx_equal_p (x6, operands[0]))
21966 : : {
21967 : : x21 = XEXP (x11, 1);
21968 : : x22 = XEXP (x21, 1);
21969 : : x23 = XEXP (x22, 0);
21970 : : if (rtx_equal_p (x23, operands[2])
21971 : : &&
21972 : : #line 15540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21973 : : (TARGET_64BIT && true))
21974 : : return 1067; /* x86_64_shld */
21975 : : }
21976 : : }
21977 : : operands[2] = x17;
21978 : : if (!register_operand (operands[0], E_DImode))
21979 : : return -1;
21980 : : operands[1] = x6;
21981 : : if (!nonimmediate_operand (operands[1], E_DImode))
21982 : : return -1;
21983 : : x7 = XEXP (x5, 1);
21984 : : x20 = XEXP (x7, 0);
21985 : : operands[3] = x20;
21986 : : x21 = XEXP (x11, 1);
21987 : : x22 = XEXP (x21, 1);
21988 : : x23 = XEXP (x22, 0);
21989 : : if (!rtx_equal_p (x23, operands[3])
21990 : : || !
21991 : : #line 15561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21992 : : (TARGET_APX_NDD && true))
21993 : : return -1;
21994 : : return 1069; /* x86_64_shld_ndd */
21995 : :
21996 : : case 1:
21997 : : if (!nonimmediate_operand (operands[0], E_SImode)
21998 : : || pattern1036 (x4,
21999 : : E_SImode,
22000 : : E_DImode) != 0)
22001 : : return -1;
22002 : : x8 = XEXP (x4, 1);
22003 : : x11 = XEXP (x8, 0);
22004 : : x12 = XEXP (x11, 0);
22005 : : x17 = XEXP (x12, 0);
22006 : : operands[1] = x17;
22007 : : x7 = XEXP (x5, 1);
22008 : : x20 = XEXP (x7, 0);
22009 : : operands[2] = x20;
22010 : : if (rtx_equal_p (x6, operands[0]))
22011 : : {
22012 : : x21 = XEXP (x11, 1);
22013 : : x22 = XEXP (x21, 1);
22014 : : x23 = XEXP (x22, 0);
22015 : : if (rtx_equal_p (x23, operands[2]))
22016 : : return 1079; /* x86_shld */
22017 : : }
22018 : : operands[2] = x17;
22019 : : operands[1] = x6;
22020 : : if (!nonimmediate_operand (operands[1], E_SImode))
22021 : : return -1;
22022 : : operands[3] = x20;
22023 : : x21 = XEXP (x11, 1);
22024 : : x22 = XEXP (x21, 1);
22025 : : x23 = XEXP (x22, 0);
22026 : : if (!rtx_equal_p (x23, operands[3])
22027 : : || !
22028 : : #line 15792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22029 : : (TARGET_APX_NDD && true))
22030 : : return -1;
22031 : : return 1081; /* x86_shld_ndd */
22032 : :
22033 : : case 2:
22034 : : x8 = XEXP (x4, 1);
22035 : : switch (GET_CODE (x8))
22036 : : {
22037 : : case SUBREG:
22038 : : switch (pattern1229 (x4,
22039 : : LSHIFTRT))
22040 : : {
22041 : : case 0:
22042 : : x7 = XEXP (x5, 1);
22043 : : operands[2] = x7;
22044 : : if (pattern1674 (x4) == 0
22045 : : &&
22046 : : #line 15576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22047 : : (TARGET_64BIT
22048 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
22049 : : && true))
22050 : : return 1071; /* x86_64_shld_1 */
22051 : : operands[3] = x7;
22052 : : if (pattern1675 (x4) != 0
22053 : : || !
22054 : : #line 15598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22055 : : (TARGET_APX_NDD
22056 : : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
22057 : : && true))
22058 : : return -1;
22059 : : return 1073; /* x86_64_shld_ndd_1 */
22060 : :
22061 : : case 1:
22062 : : x7 = XEXP (x5, 1);
22063 : : operands[2] = x7;
22064 : : if (pattern1676 (x4) == 0
22065 : : &&
22066 : : #line 15808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22067 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
22068 : : && true))
22069 : : return 1083; /* x86_shld_1 */
22070 : : operands[3] = x7;
22071 : : if (pattern1677 (x4) != 0
22072 : : || !
22073 : : #line 15830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22074 : : (TARGET_APX_NDD
22075 : : && INTVAL (operands[4]) == 32 - INTVAL (operands[3])
22076 : : && true))
22077 : : return -1;
22078 : : return 1085; /* x86_shld_ndd_1 */
22079 : :
22080 : : default:
22081 : : return -1;
22082 : : }
22083 : :
22084 : : case LSHIFTRT:
22085 : : switch (pattern1231 (x4))
22086 : : {
22087 : : case 0:
22088 : : if (!
22089 : : #line 15670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22090 : : (TARGET_64BIT
22091 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
22092 : : && ix86_pre_reload_split ()))
22093 : : return -1;
22094 : : return 1075; /* *x86_64_shld_shrd_1_nozext */
22095 : :
22096 : : case 1:
22097 : : if (!
22098 : : #line 15902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22099 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
22100 : : && ix86_pre_reload_split ()))
22101 : : return -1;
22102 : : return 1087; /* *x86_shld_shrd_1_nozext */
22103 : :
22104 : : case 2:
22105 : : x11 = XEXP (x8, 0);
22106 : : operands[1] = x11;
22107 : : if (nonimmediate_operand (operands[0], E_DImode))
22108 : : {
22109 : : x7 = XEXP (x5, 1);
22110 : : operands[2] = x7;
22111 : : if (rtx_equal_p (x6, operands[0]))
22112 : : {
22113 : : x24 = XEXP (x8, 1);
22114 : : x25 = XEXP (x24, 1);
22115 : : if (rtx_equal_p (x25, operands[2])
22116 : : &&
22117 : : #line 15723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22118 : : (TARGET_64BIT && ix86_pre_reload_split ()))
22119 : : return 1076; /* *x86_64_shld_2 */
22120 : : }
22121 : : }
22122 : : operands[2] = x11;
22123 : : if (!register_operand (operands[0], E_DImode))
22124 : : return -1;
22125 : : operands[1] = x6;
22126 : : if (!nonimmediate_operand (operands[1], E_DImode))
22127 : : return -1;
22128 : : x7 = XEXP (x5, 1);
22129 : : operands[3] = x7;
22130 : : x24 = XEXP (x8, 1);
22131 : : x25 = XEXP (x24, 1);
22132 : : if (!rtx_equal_p (x25, operands[3])
22133 : : || !
22134 : : #line 15744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22135 : : (TARGET_APX_NDD
22136 : : && ix86_pre_reload_split ()))
22137 : : return -1;
22138 : : return 1077; /* *x86_64_shld_ndd_2 */
22139 : :
22140 : : case 3:
22141 : : x11 = XEXP (x8, 0);
22142 : : operands[1] = x11;
22143 : : if (nonimmediate_operand (operands[0], E_SImode))
22144 : : {
22145 : : x7 = XEXP (x5, 1);
22146 : : operands[2] = x7;
22147 : : if (rtx_equal_p (x6, operands[0]))
22148 : : {
22149 : : x24 = XEXP (x8, 1);
22150 : : x25 = XEXP (x24, 1);
22151 : : if (rtx_equal_p (x25, operands[2])
22152 : : &&
22153 : : #line 15954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22154 : : (TARGET_64BIT && ix86_pre_reload_split ()))
22155 : : return 1088; /* *x86_shld_2 */
22156 : : }
22157 : : }
22158 : : operands[2] = x11;
22159 : : if (!register_operand (operands[0], E_SImode))
22160 : : return -1;
22161 : : operands[1] = x6;
22162 : : if (!nonimmediate_operand (operands[1], E_SImode))
22163 : : return -1;
22164 : : x7 = XEXP (x5, 1);
22165 : : operands[3] = x7;
22166 : : x24 = XEXP (x8, 1);
22167 : : x25 = XEXP (x24, 1);
22168 : : if (!rtx_equal_p (x25, operands[3])
22169 : : || !
22170 : : #line 15975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22171 : : (TARGET_APX_NDD
22172 : : && ix86_pre_reload_split ()))
22173 : : return -1;
22174 : : return 1089; /* *x86_shld_ndd_2 */
22175 : :
22176 : : default:
22177 : : return -1;
22178 : : }
22179 : :
22180 : : default:
22181 : : return -1;
22182 : : }
22183 : :
22184 : : default:
22185 : : return -1;
22186 : : }
22187 : :
22188 : : case CONST_INT:
22189 : : if (XWINT (x6, 0) != 1L)
22190 : : return -1;
22191 : : x13 = XVECEXP (x1, 0, 1);
22192 : : if (pattern222 (x13,
22193 : : E_CCmode,
22194 : : 17) != 0)
22195 : : return -1;
22196 : : switch (pattern362 (x4))
22197 : : {
22198 : : case 0:
22199 : : x7 = XEXP (x5, 1);
22200 : : operands[2] = x7;
22201 : : if (register_operand (operands[2], E_QImode))
22202 : : {
22203 : : switch (pattern927 (x4))
22204 : : {
22205 : : case 0:
22206 : : if (
22207 : : #line 18958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22208 : : (TARGET_USE_BT))
22209 : : return 1395; /* *btssi */
22210 : : break;
22211 : :
22212 : : case 1:
22213 : : if ((
22214 : : #line 18958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22215 : : (TARGET_USE_BT) &&
22216 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22217 : : (TARGET_64BIT)))
22218 : : return 1397; /* *btsdi */
22219 : : break;
22220 : :
22221 : : default:
22222 : : break;
22223 : : }
22224 : : }
22225 : : if (GET_CODE (x7) != SUBREG)
22226 : : return -1;
22227 : : switch (pattern1314 (x4))
22228 : : {
22229 : : case 0:
22230 : : if (!
22231 : : #line 18977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22232 : : (TARGET_USE_BT
22233 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
22234 : : == GET_MODE_BITSIZE (SImode)-1
22235 : : && ix86_pre_reload_split ()))
22236 : : return -1;
22237 : : return 1399; /* *btssi_mask */
22238 : :
22239 : : case 1:
22240 : : if (!(
22241 : : #line 18977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22242 : : (TARGET_USE_BT
22243 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
22244 : : == GET_MODE_BITSIZE (DImode)-1
22245 : : && ix86_pre_reload_split ()) &&
22246 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22247 : : (TARGET_64BIT)))
22248 : : return -1;
22249 : : return 1401; /* *btsdi_mask */
22250 : :
22251 : : default:
22252 : : return -1;
22253 : : }
22254 : :
22255 : : case 1:
22256 : : if (!
22257 : : #line 19005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22258 : : (TARGET_USE_BT
22259 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
22260 : : == GET_MODE_BITSIZE (SImode)-1
22261 : : && ix86_pre_reload_split ()))
22262 : : return -1;
22263 : : return 1403; /* *btssi_mask_1 */
22264 : :
22265 : : case 2:
22266 : : if (!(
22267 : : #line 19005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22268 : : (TARGET_USE_BT
22269 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
22270 : : == GET_MODE_BITSIZE (DImode)-1
22271 : : && ix86_pre_reload_split ()) &&
22272 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22273 : : (TARGET_64BIT)))
22274 : : return -1;
22275 : : return 1405; /* *btsdi_mask_1 */
22276 : :
22277 : : default:
22278 : : return -1;
22279 : : }
22280 : :
22281 : : default:
22282 : : return -1;
22283 : : }
22284 : : }
22285 : :
22286 : : int
22287 : : recog_413 (rtx x1 ATTRIBUTE_UNUSED,
22288 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22289 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22290 : : {
22291 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22292 : : rtx x2, x3, x4, x5, x6;
22293 : : int res ATTRIBUTE_UNUSED;
22294 : : x2 = XVECEXP (x1, 0, 0);
22295 : : x3 = XEXP (x2, 0);
22296 : : operands[0] = x3;
22297 : : x4 = XEXP (x2, 1);
22298 : : x5 = XEXP (x4, 0);
22299 : : operands[1] = x5;
22300 : : x6 = XVECEXP (x1, 0, 1);
22301 : : switch (GET_CODE (x6))
22302 : : {
22303 : : case CLOBBER:
22304 : : switch (pattern685 (x1))
22305 : : {
22306 : : case 0:
22307 : : return 1518; /* ctzsi2 */
22308 : :
22309 : : case 1:
22310 : : if (!
22311 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22312 : : (TARGET_64BIT))
22313 : : return -1;
22314 : : return 1519; /* ctzdi2 */
22315 : :
22316 : : default:
22317 : : return -1;
22318 : : }
22319 : :
22320 : : case UNSPEC:
22321 : : if (pnum_clobbers == NULL)
22322 : : return -1;
22323 : : switch (pattern686 (x1))
22324 : : {
22325 : : case 0:
22326 : : *pnum_clobbers = 1;
22327 : : return 1520; /* *ctzsi2_falsedep */
22328 : :
22329 : : case 1:
22330 : : if (!
22331 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22332 : : (TARGET_64BIT))
22333 : : return -1;
22334 : : *pnum_clobbers = 1;
22335 : : return 1521; /* *ctzdi2_falsedep */
22336 : :
22337 : : default:
22338 : : return -1;
22339 : : }
22340 : :
22341 : : default:
22342 : : return -1;
22343 : : }
22344 : : }
22345 : :
22346 : : int
22347 : : recog_415 (rtx x1 ATTRIBUTE_UNUSED,
22348 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22349 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22350 : : {
22351 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22352 : : rtx x2, x3, x4, x5, x6;
22353 : : int res ATTRIBUTE_UNUSED;
22354 : : x2 = XVECEXP (x1, 0, 0);
22355 : : x3 = XEXP (x2, 0);
22356 : : operands[0] = x3;
22357 : : x4 = XEXP (x2, 1);
22358 : : x5 = XEXP (x4, 0);
22359 : : operands[1] = x5;
22360 : : x6 = XVECEXP (x1, 0, 1);
22361 : : switch (GET_CODE (x6))
22362 : : {
22363 : : case CLOBBER:
22364 : : switch (pattern685 (x1))
22365 : : {
22366 : : case 0:
22367 : : if (!
22368 : : #line 21658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22369 : : (TARGET_LZCNT))
22370 : : return -1;
22371 : : return 1540; /* clzsi2_lzcnt */
22372 : :
22373 : : case 1:
22374 : : if (!(
22375 : : #line 21658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22376 : : (TARGET_LZCNT) &&
22377 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22378 : : (TARGET_64BIT)))
22379 : : return -1;
22380 : : return 1541; /* clzdi2_lzcnt */
22381 : :
22382 : : default:
22383 : : return -1;
22384 : : }
22385 : :
22386 : : case UNSPEC:
22387 : : switch (pattern686 (x1))
22388 : : {
22389 : : case 0:
22390 : : if (
22391 : : #line 21683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22392 : : (TARGET_APX_NF && TARGET_LZCNT))
22393 : : return 1542; /* *clzsi2_lzcnt_falsedep_nf */
22394 : : if (pnum_clobbers == NULL
22395 : : || !
22396 : : #line 21696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22397 : : (TARGET_LZCNT))
22398 : : return -1;
22399 : : *pnum_clobbers = 1;
22400 : : return 1544; /* *clzsi2_lzcnt_falsedep */
22401 : :
22402 : : case 1:
22403 : : if ((
22404 : : #line 21683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22405 : : (TARGET_APX_NF && TARGET_LZCNT) &&
22406 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22407 : : (TARGET_64BIT)))
22408 : : return 1543; /* *clzdi2_lzcnt_falsedep_nf */
22409 : : if (pnum_clobbers == NULL
22410 : : || !(
22411 : : #line 21696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22412 : : (TARGET_LZCNT) &&
22413 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22414 : : (TARGET_64BIT)))
22415 : : return -1;
22416 : : *pnum_clobbers = 1;
22417 : : return 1545; /* *clzdi2_lzcnt_falsedep */
22418 : :
22419 : : default:
22420 : : return -1;
22421 : : }
22422 : :
22423 : : default:
22424 : : return -1;
22425 : : }
22426 : : }
22427 : :
22428 : : int
22429 : : recog_418 (rtx x1 ATTRIBUTE_UNUSED,
22430 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22431 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22432 : : {
22433 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22434 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22435 : : rtx x10;
22436 : : int res ATTRIBUTE_UNUSED;
22437 : : x2 = XVECEXP (x1, 0, 0);
22438 : : x3 = XEXP (x2, 1);
22439 : : x4 = XEXP (x3, 0);
22440 : : if (GET_CODE (x4) != TRUNCATE)
22441 : : return -1;
22442 : : x5 = XEXP (x3, 1);
22443 : : if (GET_CODE (x5) != TRUNCATE)
22444 : : return -1;
22445 : : x6 = XVECEXP (x1, 0, 1);
22446 : : if (GET_CODE (x6) != USE)
22447 : : return -1;
22448 : : x7 = XEXP (x2, 0);
22449 : : operands[0] = x7;
22450 : : x8 = XEXP (x4, 0);
22451 : : operands[1] = x8;
22452 : : x9 = XEXP (x5, 0);
22453 : : operands[2] = x9;
22454 : : x10 = XEXP (x6, 0);
22455 : : operands[3] = x10;
22456 : : if (!nonimmediate_operand (operands[3], E_V16QImode))
22457 : : return -1;
22458 : : switch (GET_MODE (operands[0]))
22459 : : {
22460 : : case E_V4SImode:
22461 : : if (pattern1318 (x3,
22462 : : E_V2DImode,
22463 : : E_V2SImode,
22464 : : E_V4SImode) != 0
22465 : : || !
22466 : : #line 26538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22467 : : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
22468 : : return -1;
22469 : : return 8982; /* xop_pperm_pack_v2di_v4si */
22470 : :
22471 : : case E_V8HImode:
22472 : : if (pattern1318 (x3,
22473 : : E_V4SImode,
22474 : : E_V4HImode,
22475 : : E_V8HImode) != 0
22476 : : || !
22477 : : #line 26551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22478 : : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
22479 : : return -1;
22480 : : return 8983; /* xop_pperm_pack_v4si_v8hi */
22481 : :
22482 : : case E_V16QImode:
22483 : : if (pattern1318 (x3,
22484 : : E_V8HImode,
22485 : : E_V8QImode,
22486 : : E_V16QImode) != 0
22487 : : || !
22488 : : #line 26564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22489 : : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
22490 : : return -1;
22491 : : return 8984; /* xop_pperm_pack_v8hi_v16qi */
22492 : :
22493 : : default:
22494 : : return -1;
22495 : : }
22496 : : }
22497 : :
22498 : : int
22499 : : recog_423 (rtx x1 ATTRIBUTE_UNUSED,
22500 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22501 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22502 : : {
22503 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22504 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22505 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22506 : : int res ATTRIBUTE_UNUSED;
22507 : : x2 = XVECEXP (x1, 0, 0);
22508 : : x3 = XEXP (x2, 1);
22509 : : switch (XVECLEN (x3, 0))
22510 : : {
22511 : : case 1:
22512 : : x4 = XEXP (x2, 0);
22513 : : operands[0] = x4;
22514 : : x5 = XVECEXP (x3, 0, 0);
22515 : : operands[1] = x5;
22516 : : switch (XINT (x3, 1))
22517 : : {
22518 : : case 107:
22519 : : if (pattern529 (x1) != 0)
22520 : : return -1;
22521 : : x6 = XVECEXP (x1, 0, 2);
22522 : : if (GET_CODE (x6) != UNSPEC
22523 : : || XVECLEN (x6, 0) != 1
22524 : : || XINT (x6, 1) != 109
22525 : : || GET_MODE (x6) != E_DImode)
22526 : : return -1;
22527 : : x7 = XVECEXP (x6, 0, 0);
22528 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
22529 : : || !register_operand (operands[0], E_DImode)
22530 : : || !pop_operand (operands[1], E_TImode))
22531 : : return -1;
22532 : : x8 = XVECEXP (x1, 0, 1);
22533 : : x9 = XEXP (x8, 0);
22534 : : operands[2] = x9;
22535 : : if (!register_operand (operands[2], E_DImode)
22536 : : || !
22537 : : #line 3952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22538 : : (TARGET_APX_PUSH2POP2 && TARGET_APX_PPX))
22539 : : return -1;
22540 : : return 168; /* pop2p_di */
22541 : :
22542 : : case 98:
22543 : : switch (pattern807 (x1))
22544 : : {
22545 : : case 0:
22546 : : if (!
22547 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22548 : : (TARGET_BMI))
22549 : : return -1;
22550 : : return 1564; /* *tzcnt_si_falsedep */
22551 : :
22552 : : case 1:
22553 : : if (!((
22554 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22555 : : (TARGET_64BIT) &&
22556 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22557 : : (TARGET_BMI)) &&
22558 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22559 : : (TARGET_64BIT)))
22560 : : return -1;
22561 : : return 1566; /* *tzcnt_di_falsedep */
22562 : :
22563 : : default:
22564 : : return -1;
22565 : : }
22566 : :
22567 : : case 97:
22568 : : switch (pattern807 (x1))
22569 : : {
22570 : : case 0:
22571 : : if (!
22572 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22573 : : (TARGET_LZCNT))
22574 : : return -1;
22575 : : return 1565; /* *lzcnt_si_falsedep */
22576 : :
22577 : : case 1:
22578 : : if (!((
22579 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22580 : : (TARGET_64BIT) &&
22581 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22582 : : (TARGET_LZCNT)) &&
22583 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22584 : : (TARGET_64BIT)))
22585 : : return -1;
22586 : : return 1567; /* *lzcnt_di_falsedep */
22587 : :
22588 : : default:
22589 : : return -1;
22590 : : }
22591 : :
22592 : : case 75:
22593 : : if (pattern808 (x1) != 0
22594 : : || !
22595 : : #line 25413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22596 : : (TARGET_USE_FANCY_MATH_387
22597 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
22598 : : return -1;
22599 : : return 1746; /* frndintxf2_roundeven_i387 */
22600 : :
22601 : : case 76:
22602 : : if (pattern808 (x1) != 0
22603 : : || !
22604 : : #line 25413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22605 : : (TARGET_USE_FANCY_MATH_387
22606 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
22607 : : return -1;
22608 : : return 1747; /* frndintxf2_floor_i387 */
22609 : :
22610 : : case 77:
22611 : : if (pattern808 (x1) != 0
22612 : : || !
22613 : : #line 25413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22614 : : (TARGET_USE_FANCY_MATH_387
22615 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
22616 : : return -1;
22617 : : return 1748; /* frndintxf2_ceil_i387 */
22618 : :
22619 : : case 78:
22620 : : if (pattern808 (x1) != 0
22621 : : || !
22622 : : #line 25413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22623 : : (TARGET_USE_FANCY_MATH_387
22624 : : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
22625 : : return -1;
22626 : : return 1749; /* frndintxf2_trunc_i387 */
22627 : :
22628 : : case 79:
22629 : : switch (pattern810 (x1, pnum_clobbers))
22630 : : {
22631 : : case 0:
22632 : : if (!
22633 : : #line 25531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22634 : : (TARGET_USE_FANCY_MATH_387
22635 : : && flag_unsafe_math_optimizations))
22636 : : return -1;
22637 : : *pnum_clobbers = 1;
22638 : : return 1756; /* fistdi2_floor */
22639 : :
22640 : : case 1:
22641 : : if (!
22642 : : #line 25544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22643 : : (TARGET_USE_FANCY_MATH_387
22644 : : && flag_unsafe_math_optimizations))
22645 : : return -1;
22646 : : return 1758; /* fisthi2_floor */
22647 : :
22648 : : case 2:
22649 : : if (!
22650 : : #line 25544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22651 : : (TARGET_USE_FANCY_MATH_387
22652 : : && flag_unsafe_math_optimizations))
22653 : : return -1;
22654 : : return 1760; /* fistsi2_floor */
22655 : :
22656 : : default:
22657 : : return -1;
22658 : : }
22659 : :
22660 : : case 80:
22661 : : switch (pattern810 (x1, pnum_clobbers))
22662 : : {
22663 : : case 0:
22664 : : if (!
22665 : : #line 25531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22666 : : (TARGET_USE_FANCY_MATH_387
22667 : : && flag_unsafe_math_optimizations))
22668 : : return -1;
22669 : : *pnum_clobbers = 1;
22670 : : return 1757; /* fistdi2_ceil */
22671 : :
22672 : : case 1:
22673 : : if (!
22674 : : #line 25544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22675 : : (TARGET_USE_FANCY_MATH_387
22676 : : && flag_unsafe_math_optimizations))
22677 : : return -1;
22678 : : return 1759; /* fisthi2_ceil */
22679 : :
22680 : : case 2:
22681 : : if (!
22682 : : #line 25544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22683 : : (TARGET_USE_FANCY_MATH_387
22684 : : && flag_unsafe_math_optimizations))
22685 : : return -1;
22686 : : return 1761; /* fistsi2_ceil */
22687 : :
22688 : : default:
22689 : : return -1;
22690 : : }
22691 : :
22692 : : case 93:
22693 : : x8 = XVECEXP (x1, 0, 1);
22694 : : if (GET_CODE (x8) != SET)
22695 : : return -1;
22696 : : x10 = XEXP (x8, 1);
22697 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22698 : : return -1;
22699 : : x6 = XVECEXP (x1, 0, 2);
22700 : : if (pattern934 (x6,
22701 : : E_CCmode,
22702 : : 17) != 0)
22703 : : return -1;
22704 : : switch (pattern1137 (x1))
22705 : : {
22706 : : case 0:
22707 : : if (!(
22708 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22709 : : (ptr_mode == SImode) &&
22710 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22711 : : (word_mode == SImode)))
22712 : : return -1;
22713 : : return 1875; /* stack_protect_set_1_si_si */
22714 : :
22715 : : case 1:
22716 : : if (!(
22717 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22718 : : (ptr_mode == SImode) &&
22719 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22720 : : (word_mode == DImode)))
22721 : : return -1;
22722 : : return 1877; /* stack_protect_set_1_si_di */
22723 : :
22724 : : case 2:
22725 : : if (!(
22726 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22727 : : (ptr_mode == DImode) &&
22728 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22729 : : (word_mode == SImode)))
22730 : : return -1;
22731 : : return 1876; /* stack_protect_set_1_di_si */
22732 : :
22733 : : case 3:
22734 : : if (!(
22735 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22736 : : (ptr_mode == DImode) &&
22737 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22738 : : (word_mode == DImode)))
22739 : : return -1;
22740 : : return 1878; /* stack_protect_set_1_di_di */
22741 : :
22742 : : default:
22743 : : return -1;
22744 : : }
22745 : :
22746 : : case 288:
22747 : : if (GET_MODE (x3) != E_DImode)
22748 : : return -1;
22749 : : x8 = XVECEXP (x1, 0, 1);
22750 : : if (GET_CODE (x8) != CLOBBER)
22751 : : return -1;
22752 : : x6 = XVECEXP (x1, 0, 2);
22753 : : if (GET_CODE (x6) != CLOBBER
22754 : : || !nonimmediate_operand (operands[0], E_DImode)
22755 : : || !memory_operand (operands[1], E_DImode))
22756 : : return -1;
22757 : : x9 = XEXP (x8, 0);
22758 : : operands[2] = x9;
22759 : : if (!memory_operand (operands[2], E_DImode))
22760 : : return -1;
22761 : : x11 = XEXP (x6, 0);
22762 : : operands[3] = x11;
22763 : : if (!scratch_operand (operands[3], E_DFmode)
22764 : : || !
22765 : : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
22766 : : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
22767 : : return -1;
22768 : : return 10952; /* atomic_loaddi_fpu */
22769 : :
22770 : : case 289:
22771 : : if (GET_MODE (x3) != E_DImode)
22772 : : return -1;
22773 : : x8 = XVECEXP (x1, 0, 1);
22774 : : if (GET_CODE (x8) != CLOBBER)
22775 : : return -1;
22776 : : x6 = XVECEXP (x1, 0, 2);
22777 : : if (GET_CODE (x6) != CLOBBER
22778 : : || !memory_operand (operands[0], E_DImode)
22779 : : || !nonimmediate_operand (operands[1], E_DImode))
22780 : : return -1;
22781 : : x9 = XEXP (x8, 0);
22782 : : operands[2] = x9;
22783 : : if (!memory_operand (operands[2], E_DImode))
22784 : : return -1;
22785 : : x11 = XEXP (x6, 0);
22786 : : operands[3] = x11;
22787 : : if (!scratch_operand (operands[3], E_DFmode)
22788 : : || !
22789 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
22790 : : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
22791 : : return -1;
22792 : : return 10957; /* atomic_storedi_fpu */
22793 : :
22794 : : default:
22795 : : return -1;
22796 : : }
22797 : :
22798 : : case 2:
22799 : : x8 = XVECEXP (x1, 0, 1);
22800 : : if (GET_CODE (x8) != SET)
22801 : : return -1;
22802 : : x10 = XEXP (x8, 1);
22803 : : if (GET_CODE (x10) != UNSPEC
22804 : : || XVECLEN (x10, 0) != 2
22805 : : || GET_MODE (x10) != E_XFmode)
22806 : : return -1;
22807 : : x6 = XVECEXP (x1, 0, 2);
22808 : : if (GET_CODE (x6) != SET)
22809 : : return -1;
22810 : : x12 = XEXP (x6, 1);
22811 : : if (GET_CODE (x12) != UNSPEC
22812 : : || XVECLEN (x12, 0) != 2
22813 : : || XINT (x12, 1) != 91
22814 : : || GET_MODE (x12) != E_CCFPmode)
22815 : : return -1;
22816 : : x11 = XEXP (x6, 0);
22817 : : if (GET_CODE (x11) != REG
22818 : : || REGNO (x11) != 18
22819 : : || GET_MODE (x11) != E_CCFPmode)
22820 : : return -1;
22821 : : x4 = XEXP (x2, 0);
22822 : : operands[0] = x4;
22823 : : if (!register_operand (operands[0], E_XFmode)
22824 : : || GET_MODE (x3) != E_XFmode
22825 : : || pattern1409 (x1) != 0)
22826 : : return -1;
22827 : : x13 = XVECEXP (x12, 0, 0);
22828 : : if (!rtx_equal_p (x13, operands[2]))
22829 : : return -1;
22830 : : x14 = XVECEXP (x12, 0, 1);
22831 : : if (!rtx_equal_p (x14, operands[3]))
22832 : : return -1;
22833 : : switch (XINT (x3, 1))
22834 : : {
22835 : : case 87:
22836 : : if (XINT (x10, 1) != 88
22837 : : || !
22838 : : #line 24050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22839 : : (TARGET_USE_FANCY_MATH_387))
22840 : : return -1;
22841 : : return 1721; /* fpremxf4_i387 */
22842 : :
22843 : : case 89:
22844 : : if (XINT (x10, 1) != 90
22845 : : || !
22846 : : #line 24122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22847 : : (TARGET_USE_FANCY_MATH_387))
22848 : : return -1;
22849 : : return 1722; /* fprem1xf4_i387 */
22850 : :
22851 : : default:
22852 : : return -1;
22853 : : }
22854 : :
22855 : : case 4:
22856 : : if (XINT (x3, 1) != 24)
22857 : : return -1;
22858 : : x5 = XVECEXP (x3, 0, 0);
22859 : : if (GET_CODE (x5) != MEM
22860 : : || GET_MODE (x5) != E_BLKmode)
22861 : : return -1;
22862 : : x8 = XVECEXP (x1, 0, 1);
22863 : : if (GET_CODE (x8) != CLOBBER
22864 : : || pattern813 (x1) != 0)
22865 : : return -1;
22866 : : switch (pattern1139 (x1))
22867 : : {
22868 : : case 0:
22869 : : if (!(
22870 : : #line 26347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22871 : : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
22872 : : && ix86_check_no_addr_space (insn)) &&
22873 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22874 : : (Pmode == SImode)))
22875 : : return -1;
22876 : : return 1799; /* *strlenqi_1 */
22877 : :
22878 : : case 1:
22879 : : if (!(
22880 : : #line 26347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22881 : : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
22882 : : && ix86_check_no_addr_space (insn)) &&
22883 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22884 : : (Pmode == DImode)))
22885 : : return -1;
22886 : : return 1800; /* *strlenqi_1 */
22887 : :
22888 : : default:
22889 : : return -1;
22890 : : }
22891 : :
22892 : : case 5:
22893 : : if (XINT (x3, 1) != 132)
22894 : : return -1;
22895 : : if (GET_MODE (x3) == E_SImode
22896 : : && pattern692 (x1,
22897 : : 132,
22898 : : 5) == 0
22899 : : && pattern1720 (x1) == 0
22900 : : &&
22901 : : #line 25883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22902 : : (TARGET_SSE4_2
22903 : : && ix86_pre_reload_split ()))
22904 : : return 8930; /* sse4_2_pcmpestr */
22905 : : if (GET_MODE (x3) != E_CCmode
22906 : : || pattern693 (x1) != 0
22907 : : || !register_operand (operands[3], E_SImode))
22908 : : return -1;
22909 : : x15 = XVECEXP (x3, 0, 2);
22910 : : operands[4] = x15;
22911 : : if (!nonimmediate_operand (operands[4], E_V16QImode))
22912 : : return -1;
22913 : : x16 = XVECEXP (x3, 0, 3);
22914 : : operands[5] = x16;
22915 : : if (!register_operand (operands[5], E_SImode))
22916 : : return -1;
22917 : : x17 = XVECEXP (x3, 0, 4);
22918 : : operands[6] = x17;
22919 : : if (!const_0_to_255_operand (operands[6], E_SImode))
22920 : : return -1;
22921 : : x8 = XVECEXP (x1, 0, 1);
22922 : : x9 = XEXP (x8, 0);
22923 : : operands[0] = x9;
22924 : : if (!scratch_operand (operands[0], E_V16QImode))
22925 : : return -1;
22926 : : x6 = XVECEXP (x1, 0, 2);
22927 : : x11 = XEXP (x6, 0);
22928 : : operands[1] = x11;
22929 : : if (!scratch_operand (operands[1], E_SImode)
22930 : : || !
22931 : : #line 25986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22932 : : (TARGET_SSE4_2))
22933 : : return -1;
22934 : : return 8933; /* sse4_2_pcmpestr_cconly */
22935 : :
22936 : : case 3:
22937 : : if (XINT (x3, 1) != 133)
22938 : : return -1;
22939 : : if (GET_MODE (x3) == E_SImode
22940 : : && pattern692 (x1,
22941 : : 133,
22942 : : 3) == 0
22943 : : && pattern1721 (x1) == 0
22944 : : &&
22945 : : #line 26020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22946 : : (TARGET_SSE4_2
22947 : : && ix86_pre_reload_split ()))
22948 : : return 8934; /* sse4_2_pcmpistr */
22949 : : if (GET_MODE (x3) != E_CCmode
22950 : : || pattern693 (x1) != 0
22951 : : || !nonimmediate_operand (operands[3], E_V16QImode))
22952 : : return -1;
22953 : : x15 = XVECEXP (x3, 0, 2);
22954 : : operands[4] = x15;
22955 : : if (!const_0_to_255_operand (operands[4], E_SImode))
22956 : : return -1;
22957 : : x8 = XVECEXP (x1, 0, 1);
22958 : : x9 = XEXP (x8, 0);
22959 : : operands[0] = x9;
22960 : : if (!scratch_operand (operands[0], E_V16QImode))
22961 : : return -1;
22962 : : x6 = XVECEXP (x1, 0, 2);
22963 : : x11 = XEXP (x6, 0);
22964 : : operands[1] = x11;
22965 : : if (!scratch_operand (operands[1], E_SImode)
22966 : : || !
22967 : : #line 26111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22968 : : (TARGET_SSE4_2))
22969 : : return -1;
22970 : : return 8937; /* sse4_2_pcmpistr_cconly */
22971 : :
22972 : : default:
22973 : : return -1;
22974 : : }
22975 : : }
22976 : :
22977 : : rtx_insn *
22978 : : split_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
22979 : : {
22980 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22981 : : rtx x2;
22982 : : rtx_insn *res ATTRIBUTE_UNUSED;
22983 : : x2 = XEXP (x1, 0);
22984 : : operands[0] = x2;
22985 : : switch (GET_CODE (operands[0]))
22986 : : {
22987 : : case MEM:
22988 : : switch (GET_MODE (operands[0]))
22989 : : {
22990 : : case E_V1TImode:
22991 : : if (push_operand (operands[0], E_V1TImode)
22992 : : && register_operand (operands[1], E_V1TImode))
22993 : : {
22994 : : if (((
22995 : : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22996 : : (TARGET_64BIT && TARGET_STV) &&
22997 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22998 : : (Pmode == SImode)) &&
22999 : : #line 2182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23000 : : ( reload_completed)))
23001 : : return gen_split_3 (insn, operands);
23002 : : if (((
23003 : : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23004 : : (TARGET_64BIT && TARGET_STV) &&
23005 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23006 : : (Pmode == DImode)) &&
23007 : : #line 2182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23008 : : ( reload_completed)))
23009 : : return gen_split_4 (insn, operands);
23010 : : }
23011 : : break;
23012 : :
23013 : : case E_DImode:
23014 : : if (push_operand (operands[0], E_DImode))
23015 : : {
23016 : : if (general_gr_operand (operands[1], E_DImode)
23017 : : && (
23018 : : #line 2204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23019 : : (reload_completed) &&
23020 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23021 : : (!TARGET_64BIT)))
23022 : : return gen_split_5 (insn, operands);
23023 : : if (immediate_operand (operands[1], E_DImode)
23024 : : &&
23025 : : #line 2237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23026 : : (TARGET_64BIT && epilogue_completed
23027 : : && !symbolic_operand (operands[1], DImode)
23028 : : && !x86_64_immediate_operand (operands[1], DImode)))
23029 : : return gen_split_7 (insn, operands);
23030 : : if (sse_reg_operand (operands[1], E_DImode))
23031 : : {
23032 : : if ((
23033 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23034 : : (TARGET_SSE && reload_completed) &&
23035 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23036 : : (Pmode == SImode)))
23037 : : return gen_split_9 (insn, operands);
23038 : : if ((
23039 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23040 : : (TARGET_SSE && reload_completed) &&
23041 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23042 : : (Pmode == DImode)))
23043 : : return gen_split_12 (insn, operands);
23044 : : }
23045 : : }
23046 : : break;
23047 : :
23048 : : case E_TImode:
23049 : : if (push_operand (operands[0], E_TImode))
23050 : : {
23051 : : if (general_gr_operand (operands[1], E_TImode)
23052 : : && (
23053 : : #line 2204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23054 : : (reload_completed) &&
23055 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23056 : : (TARGET_64BIT)))
23057 : : return gen_split_6 (insn, operands);
23058 : : if (sse_reg_operand (operands[1], E_TImode))
23059 : : {
23060 : : if ((
23061 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23062 : : (TARGET_SSE && reload_completed) && (((
23063 : : #line 1203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23064 : : (TARGET_64BIT) &&
23065 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23066 : : (Pmode == SImode)) &&
23067 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23068 : : (Pmode == SImode)) &&
23069 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23070 : : (Pmode == SImode))))
23071 : : return gen_split_10 (insn, operands);
23072 : : if ((
23073 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23074 : : (TARGET_SSE && reload_completed) && (((
23075 : : #line 1203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23076 : : (TARGET_64BIT) &&
23077 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23078 : : (Pmode == DImode)) &&
23079 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23080 : : (Pmode == DImode)) &&
23081 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23082 : : (Pmode == DImode))))
23083 : : return gen_split_13 (insn, operands);
23084 : : }
23085 : : }
23086 : : break;
23087 : :
23088 : : case E_SImode:
23089 : : if (push_operand (operands[0], E_SImode)
23090 : : && sse_reg_operand (operands[1], E_SImode))
23091 : : {
23092 : : if ((
23093 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23094 : : (TARGET_SSE && reload_completed) &&
23095 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23096 : : (Pmode == SImode)))
23097 : : return gen_split_8 (insn, operands);
23098 : : if ((
23099 : : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23100 : : (TARGET_SSE && reload_completed) &&
23101 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23102 : : (Pmode == DImode)))
23103 : : return gen_split_11 (insn, operands);
23104 : : }
23105 : : break;
23106 : :
23107 : : case E_TFmode:
23108 : : if (push_operand (operands[0], E_TFmode)
23109 : : && sse_reg_operand (operands[1], E_TFmode))
23110 : : {
23111 : : if ((
23112 : : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23113 : : (TARGET_SSE && reload_completed) &&
23114 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23115 : : (Pmode == SImode)))
23116 : : return gen_split_37 (insn, operands);
23117 : : if ((
23118 : : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23119 : : (TARGET_SSE && reload_completed) &&
23120 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23121 : : (Pmode == DImode)))
23122 : : return gen_split_38 (insn, operands);
23123 : : }
23124 : : break;
23125 : :
23126 : : case E_XFmode:
23127 : : if (push_operand (operands[0], E_XFmode)
23128 : : && fp_register_operand (operands[1], E_XFmode))
23129 : : {
23130 : : if ((
23131 : : #line 3825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23132 : : (reload_completed) &&
23133 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23134 : : (Pmode == SImode)))
23135 : : return gen_split_39 (insn, operands);
23136 : : if ((
23137 : : #line 3825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23138 : : (reload_completed) &&
23139 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23140 : : (Pmode == DImode)))
23141 : : return gen_split_40 (insn, operands);
23142 : : }
23143 : : break;
23144 : :
23145 : : case E_DFmode:
23146 : : if (push_operand (operands[0], E_DFmode)
23147 : : && any_fp_register_operand (operands[1], E_DFmode))
23148 : : {
23149 : : if ((
23150 : : #line 3859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23151 : : (reload_completed) &&
23152 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23153 : : (Pmode == SImode)))
23154 : : return gen_split_41 (insn, operands);
23155 : : if ((
23156 : : #line 3859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23157 : : (reload_completed) &&
23158 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23159 : : (Pmode == DImode)))
23160 : : return gen_split_42 (insn, operands);
23161 : : }
23162 : : break;
23163 : :
23164 : : case E_SFmode:
23165 : : if (push_operand (operands[0], E_SFmode))
23166 : : {
23167 : : if (any_fp_register_operand (operands[1], E_SFmode))
23168 : : {
23169 : : if ((
23170 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23171 : : (reload_completed) &&
23172 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23173 : : (Pmode == SImode)))
23174 : : return gen_split_43 (insn, operands);
23175 : : if ((
23176 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23177 : : (reload_completed) &&
23178 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23179 : : (Pmode == DImode)))
23180 : : return gen_split_46 (insn, operands);
23181 : : }
23182 : : if (memory_operand (operands[1], E_SFmode)
23183 : : &&
23184 : : #line 4013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23185 : : (reload_completed
23186 : : && find_constant_src (insn)))
23187 : : return gen_split_49 (insn, operands);
23188 : : }
23189 : : break;
23190 : :
23191 : : case E_HFmode:
23192 : : if (push_operand (operands[0], E_HFmode)
23193 : : && any_fp_register_operand (operands[1], E_HFmode))
23194 : : {
23195 : : if ((
23196 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23197 : : (reload_completed) &&
23198 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23199 : : (Pmode == SImode)))
23200 : : return gen_split_44 (insn, operands);
23201 : : if ((
23202 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23203 : : (reload_completed) &&
23204 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23205 : : (Pmode == DImode)))
23206 : : return gen_split_47 (insn, operands);
23207 : : }
23208 : : break;
23209 : :
23210 : : case E_BFmode:
23211 : : if (push_operand (operands[0], E_BFmode)
23212 : : && any_fp_register_operand (operands[1], E_BFmode))
23213 : : {
23214 : : if ((
23215 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23216 : : (reload_completed) &&
23217 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23218 : : (Pmode == SImode)))
23219 : : return gen_split_45 (insn, operands);
23220 : : if ((
23221 : : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23222 : : (reload_completed) &&
23223 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23224 : : (Pmode == DImode)))
23225 : : return gen_split_48 (insn, operands);
23226 : : }
23227 : : break;
23228 : :
23229 : : default:
23230 : : break;
23231 : : }
23232 : : break;
23233 : :
23234 : : case REG:
23235 : : switch (GET_MODE (operands[0]))
23236 : : {
23237 : : case E_TImode:
23238 : : if (sse_reg_operand (operands[0], E_TImode)
23239 : : && general_reg_operand (operands[1], E_TImode)
23240 : : &&
23241 : : #line 2579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23242 : : (TARGET_64BIT && TARGET_SSE4_1
23243 : : && reload_completed))
23244 : : return gen_split_20 (insn, operands);
23245 : : if (general_reg_operand (operands[0], E_TImode)
23246 : : && sse_reg_operand (operands[1], E_TImode)
23247 : : && (
23248 : : #line 2770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23249 : : (TARGET_SSE4_1
23250 : : && reload_completed) &&
23251 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23252 : : (TARGET_64BIT)))
23253 : : return gen_split_22 (insn, operands);
23254 : : break;
23255 : :
23256 : : case E_DImode:
23257 : : if (general_reg_operand (operands[0], E_DImode)
23258 : : && sse_reg_operand (operands[1], E_DImode)
23259 : : && (
23260 : : #line 2770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23261 : : (TARGET_SSE4_1
23262 : : && reload_completed) &&
23263 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23264 : : (!TARGET_64BIT)))
23265 : : return gen_split_21 (insn, operands);
23266 : : break;
23267 : :
23268 : : default:
23269 : : break;
23270 : : }
23271 : : break;
23272 : :
23273 : : default:
23274 : : break;
23275 : : }
23276 : : switch (GET_MODE (operands[0]))
23277 : : {
23278 : : case E_DImode:
23279 : : if (nonimmediate_gr_operand (operands[0], E_DImode)
23280 : : && general_gr_operand (operands[1], E_DImode)
23281 : : && (
23282 : : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23283 : : (reload_completed) &&
23284 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23285 : : (!TARGET_64BIT)))
23286 : : return gen_split_23 (insn, operands);
23287 : : if (sse_reg_operand (operands[0], E_DImode)
23288 : : && general_reg_operand (operands[1], E_DImode)
23289 : : &&
23290 : : #line 2794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23291 : : (!TARGET_64BIT && TARGET_SSE4_1
23292 : : && reload_completed))
23293 : : return gen_split_25 (insn, operands);
23294 : : break;
23295 : :
23296 : : case E_TImode:
23297 : : if (nonimmediate_gr_operand (operands[0], E_TImode)
23298 : : && general_gr_operand (operands[1], E_TImode)
23299 : : && (
23300 : : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23301 : : (reload_completed) &&
23302 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23303 : : (TARGET_64BIT)))
23304 : : return gen_split_24 (insn, operands);
23305 : : break;
23306 : :
23307 : : default:
23308 : : break;
23309 : : }
23310 : : if (push_operand (operands[0], E_VOIDmode)
23311 : : && general_gr_operand (operands[1], E_VOIDmode)
23312 : : &&
23313 : : #line 4021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23314 : : (reload_completed
23315 : : && (GET_MODE (operands[0]) == TFmode
23316 : : || GET_MODE (operands[0]) == XFmode
23317 : : || GET_MODE (operands[0]) == DFmode)))
23318 : : return gen_split_50 (insn, operands);
23319 : : switch (GET_MODE (operands[0]))
23320 : : {
23321 : : case E_TFmode:
23322 : : if (nonimmediate_gr_operand (operands[0], E_TFmode)
23323 : : && general_gr_operand (operands[1], E_TFmode)
23324 : : &&
23325 : : #line 4094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23326 : : (reload_completed))
23327 : : return gen_split_51 (insn, operands);
23328 : : break;
23329 : :
23330 : : case E_XFmode:
23331 : : if (nonimmediate_gr_operand (operands[0], E_XFmode)
23332 : : && general_gr_operand (operands[1], E_XFmode)
23333 : : &&
23334 : : #line 4167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23335 : : (reload_completed))
23336 : : return gen_split_52 (insn, operands);
23337 : : break;
23338 : :
23339 : : case E_DFmode:
23340 : : if (nonimmediate_gr_operand (operands[0], E_DFmode)
23341 : : && general_gr_operand (operands[1], E_DFmode)
23342 : : &&
23343 : : #line 4345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23344 : : (!TARGET_64BIT && reload_completed))
23345 : : return gen_split_53 (insn, operands);
23346 : : break;
23347 : :
23348 : : default:
23349 : : break;
23350 : : }
23351 : : if (any_fp_register_operand (operands[0], E_VOIDmode)
23352 : : && memory_operand (operands[1], E_VOIDmode)
23353 : : &&
23354 : : #line 4613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23355 : : (reload_completed
23356 : : && (GET_MODE (operands[0]) == TFmode
23357 : : || GET_MODE (operands[0]) == XFmode
23358 : : || GET_MODE (operands[0]) == DFmode
23359 : : || GET_MODE (operands[0]) == SFmode)
23360 : : && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
23361 : : return gen_split_54 (insn, operands);
23362 : : if (fp_register_operand (operands[0], E_SFmode)
23363 : : && immediate_operand (operands[1], E_SFmode)
23364 : : &&
23365 : : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23366 : : (reload_completed
23367 : : && (standard_80387_constant_p (operands[1]) == 8
23368 : : || standard_80387_constant_p (operands[1]) == 9)))
23369 : : return gen_split_56 (insn, operands);
23370 : : if (fp_register_operand (operands[0], E_DFmode)
23371 : : && immediate_operand (operands[1], E_DFmode)
23372 : : &&
23373 : : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23374 : : (reload_completed
23375 : : && (standard_80387_constant_p (operands[1]) == 8
23376 : : || standard_80387_constant_p (operands[1]) == 9)))
23377 : : return gen_split_57 (insn, operands);
23378 : : if (!fp_register_operand (operands[0], E_XFmode)
23379 : : || !immediate_operand (operands[1], E_XFmode)
23380 : : || !
23381 : : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23382 : : (reload_completed
23383 : : && (standard_80387_constant_p (operands[1]) == 8
23384 : : || standard_80387_constant_p (operands[1]) == 9)))
23385 : : return NULL;
23386 : : return gen_split_58 (insn, operands);
23387 : : }
23388 : :
23389 : : rtx_insn *
23390 : : split_10 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
23391 : : {
23392 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23393 : : rtx x2, x3, x4, x5;
23394 : : rtx_insn *res ATTRIBUTE_UNUSED;
23395 : : x2 = XEXP (x1, 0);
23396 : : operands[0] = x2;
23397 : : x3 = XEXP (x1, 1);
23398 : : x4 = XEXP (x3, 0);
23399 : : operands[1] = x4;
23400 : : switch (GET_CODE (operands[1]))
23401 : : {
23402 : : case CONST_INT:
23403 : : switch (pattern567 (x3))
23404 : : {
23405 : : case 0:
23406 : : if (!
23407 : : #line 18308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23408 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
23409 : : == GET_MODE_BITSIZE (QImode) - 1))
23410 : : return NULL;
23411 : : return gen_split_693 (insn, operands);
23412 : :
23413 : : case 1:
23414 : : if (!
23415 : : #line 18308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23416 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
23417 : : == GET_MODE_BITSIZE (HImode) - 1))
23418 : : return NULL;
23419 : : return gen_split_695 (insn, operands);
23420 : :
23421 : : case 2:
23422 : : if (!
23423 : : #line 18308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23424 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
23425 : : == GET_MODE_BITSIZE (SImode) - 1))
23426 : : return NULL;
23427 : : return gen_split_697 (insn, operands);
23428 : :
23429 : : case 3:
23430 : : if (!(
23431 : : #line 18308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23432 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
23433 : : == GET_MODE_BITSIZE (DImode) - 1) &&
23434 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23435 : : (TARGET_64BIT)))
23436 : : return NULL;
23437 : : return gen_split_699 (insn, operands);
23438 : :
23439 : : case 4:
23440 : : if (!
23441 : : #line 18392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23442 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
23443 : : return NULL;
23444 : : return gen_split_725 (insn, operands);
23445 : :
23446 : : case 5:
23447 : : if (!
23448 : : #line 18392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23449 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
23450 : : return NULL;
23451 : : return gen_split_727 (insn, operands);
23452 : :
23453 : : case 6:
23454 : : if (!
23455 : : #line 18392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23456 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
23457 : : return NULL;
23458 : : return gen_split_729 (insn, operands);
23459 : :
23460 : : case 7:
23461 : : if (!(
23462 : : #line 18392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23463 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
23464 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23465 : : (TARGET_64BIT)))
23466 : : return NULL;
23467 : : return gen_split_731 (insn, operands);
23468 : :
23469 : : case 8:
23470 : : if (!
23471 : : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23472 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
23473 : : return NULL;
23474 : : return gen_split_757 (insn, operands);
23475 : :
23476 : : case 9:
23477 : : if (!
23478 : : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23479 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
23480 : : return NULL;
23481 : : return gen_split_759 (insn, operands);
23482 : :
23483 : : case 10:
23484 : : if (!
23485 : : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23486 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
23487 : : return NULL;
23488 : : return gen_split_761 (insn, operands);
23489 : :
23490 : : case 11:
23491 : : if (!(
23492 : : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23493 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
23494 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23495 : : (TARGET_64BIT)))
23496 : : return NULL;
23497 : : return gen_split_763 (insn, operands);
23498 : :
23499 : : case 12:
23500 : : if (!
23501 : : #line 18353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23502 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
23503 : : == GET_MODE_BITSIZE (QImode) - 1))
23504 : : return NULL;
23505 : : return gen_split_709 (insn, operands);
23506 : :
23507 : : case 13:
23508 : : if (!
23509 : : #line 18353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23510 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
23511 : : == GET_MODE_BITSIZE (HImode) - 1))
23512 : : return NULL;
23513 : : return gen_split_711 (insn, operands);
23514 : :
23515 : : case 14:
23516 : : if (!
23517 : : #line 18353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23518 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
23519 : : == GET_MODE_BITSIZE (SImode) - 1))
23520 : : return NULL;
23521 : : return gen_split_713 (insn, operands);
23522 : :
23523 : : case 15:
23524 : : if (!(
23525 : : #line 18353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23526 : : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
23527 : : == GET_MODE_BITSIZE (DImode) - 1) &&
23528 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23529 : : (TARGET_64BIT)))
23530 : : return NULL;
23531 : : return gen_split_715 (insn, operands);
23532 : :
23533 : : case 16:
23534 : : if (!
23535 : : #line 18424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23536 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
23537 : : return NULL;
23538 : : return gen_split_741 (insn, operands);
23539 : :
23540 : : case 17:
23541 : : if (!
23542 : : #line 18424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23543 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
23544 : : return NULL;
23545 : : return gen_split_743 (insn, operands);
23546 : :
23547 : : case 18:
23548 : : if (!
23549 : : #line 18424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23550 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
23551 : : return NULL;
23552 : : return gen_split_745 (insn, operands);
23553 : :
23554 : : case 19:
23555 : : if (!(
23556 : : #line 18424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23557 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
23558 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23559 : : (TARGET_64BIT)))
23560 : : return NULL;
23561 : : return gen_split_747 (insn, operands);
23562 : :
23563 : : case 20:
23564 : : if (!
23565 : : #line 18493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23566 : : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
23567 : : return NULL;
23568 : : return gen_split_773 (insn, operands);
23569 : :
23570 : : case 21:
23571 : : if (!
23572 : : #line 18493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23573 : : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
23574 : : return NULL;
23575 : : return gen_split_775 (insn, operands);
23576 : :
23577 : : case 22:
23578 : : if (!
23579 : : #line 18493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23580 : : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
23581 : : return NULL;
23582 : : return gen_split_777 (insn, operands);
23583 : :
23584 : : case 23:
23585 : : if (!(
23586 : : #line 18493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23587 : : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
23588 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23589 : : (TARGET_64BIT)))
23590 : : return NULL;
23591 : : return gen_split_779 (insn, operands);
23592 : :
23593 : : default:
23594 : : return NULL;
23595 : : }
23596 : :
23597 : : case REG:
23598 : : case SUBREG:
23599 : : x5 = XEXP (x3, 1);
23600 : : if (GET_CODE (x5) != CONST_INT)
23601 : : return NULL;
23602 : : switch (XWINT (x5, 0))
23603 : : {
23604 : : case 32L:
23605 : : if (!register_operand (operands[0], E_DImode)
23606 : : || GET_MODE (x3) != E_DImode
23607 : : || !register_operand (operands[1], E_DImode)
23608 : : || !(
23609 : : #line 18580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23610 : : (!TARGET_64BIT) &&
23611 : : #line 18582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23612 : : ( reload_completed)))
23613 : : return NULL;
23614 : : return gen_split_785 (insn, operands);
23615 : :
23616 : : case 64L:
23617 : : if (!register_operand (operands[0], E_TImode)
23618 : : || GET_MODE (x3) != E_TImode
23619 : : || !register_operand (operands[1], E_TImode)
23620 : : || !(
23621 : : #line 18598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23622 : : (TARGET_64BIT) &&
23623 : : #line 18600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23624 : : ( reload_completed)))
23625 : : return NULL;
23626 : : return gen_split_787 (insn, operands);
23627 : :
23628 : : default:
23629 : : return NULL;
23630 : : }
23631 : :
23632 : : default:
23633 : : return NULL;
23634 : : }
23635 : : }
23636 : :
23637 : : rtx_insn *
23638 : : split_13 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
23639 : : {
23640 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23641 : : rtx x2, x3, x4;
23642 : : rtx_insn *res ATTRIBUTE_UNUSED;
23643 : : x2 = XEXP (x1, 0);
23644 : : operands[0] = x2;
23645 : : x3 = XEXP (x1, 1);
23646 : : x4 = XEXP (x3, 0);
23647 : : operands[1] = x4;
23648 : : switch (GET_MODE (operands[0]))
23649 : : {
23650 : : case E_SFmode:
23651 : : if (GET_MODE (x3) != E_SFmode)
23652 : : return NULL;
23653 : : if (sse_reg_operand (operands[0], E_SFmode)
23654 : : && nonimmediate_operand (operands[1], E_SImode))
23655 : : {
23656 : : if (
23657 : : #line 6168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23658 : : (TARGET_SSE2
23659 : : && TARGET_USE_VECTOR_CONVERTS
23660 : : && optimize_function_for_speed_p (cfun)
23661 : : && reload_completed
23662 : : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
23663 : : && (!EXT_REX_SSE_REG_P (operands[0])
23664 : : || TARGET_AVX512VL)))
23665 : : return gen_split_85 (insn, operands);
23666 : : if (
23667 : : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23668 : : (!TARGET_AVX
23669 : : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
23670 : : && epilogue_completed
23671 : : && optimize_function_for_speed_p (cfun)
23672 : : && (!EXT_REX_SSE_REG_P (operands[0])
23673 : : || TARGET_AVX512VL)))
23674 : : return gen_split_93 (insn, operands);
23675 : : }
23676 : : if (register_operand (operands[0], E_SFmode)
23677 : : && register_operand (operands[1], E_DImode)
23678 : : &&
23679 : : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23680 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
23681 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
23682 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
23683 : : && can_create_pseudo_p ()))
23684 : : return gen_split_87 (insn, operands);
23685 : : if (!sse_reg_operand (operands[0], E_SFmode)
23686 : : || !nonimmediate_operand (operands[1], E_DImode)
23687 : : || !(
23688 : : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23689 : : (!TARGET_AVX
23690 : : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
23691 : : && epilogue_completed
23692 : : && optimize_function_for_speed_p (cfun)
23693 : : && (!EXT_REX_SSE_REG_P (operands[0])
23694 : : || TARGET_AVX512VL)) &&
23695 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23696 : : (TARGET_64BIT)))
23697 : : return NULL;
23698 : : return gen_split_94 (insn, operands);
23699 : :
23700 : : case E_DFmode:
23701 : : if (GET_MODE (x3) != E_DFmode)
23702 : : return NULL;
23703 : : if (sse_reg_operand (operands[0], E_DFmode)
23704 : : && nonimmediate_operand (operands[1], E_SImode))
23705 : : {
23706 : : if (
23707 : : #line 6168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23708 : : (TARGET_SSE2
23709 : : && TARGET_USE_VECTOR_CONVERTS
23710 : : && optimize_function_for_speed_p (cfun)
23711 : : && reload_completed
23712 : : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
23713 : : && (!EXT_REX_SSE_REG_P (operands[0])
23714 : : || TARGET_AVX512VL)))
23715 : : return gen_split_86 (insn, operands);
23716 : : if (
23717 : : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23718 : : (!TARGET_AVX
23719 : : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
23720 : : && epilogue_completed
23721 : : && optimize_function_for_speed_p (cfun)
23722 : : && (!EXT_REX_SSE_REG_P (operands[0])
23723 : : || TARGET_AVX512VL)))
23724 : : return gen_split_95 (insn, operands);
23725 : : }
23726 : : if (register_operand (operands[0], E_DFmode)
23727 : : && register_operand (operands[1], E_DImode)
23728 : : &&
23729 : : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23730 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
23731 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
23732 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
23733 : : && can_create_pseudo_p ()))
23734 : : return gen_split_88 (insn, operands);
23735 : : if (!sse_reg_operand (operands[0], E_DFmode)
23736 : : || !nonimmediate_operand (operands[1], E_DImode)
23737 : : || !(
23738 : : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23739 : : (!TARGET_AVX
23740 : : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
23741 : : && epilogue_completed
23742 : : && optimize_function_for_speed_p (cfun)
23743 : : && (!EXT_REX_SSE_REG_P (operands[0])
23744 : : || TARGET_AVX512VL)) &&
23745 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23746 : : (TARGET_64BIT)))
23747 : : return NULL;
23748 : : return gen_split_96 (insn, operands);
23749 : :
23750 : : case E_XFmode:
23751 : : if (!register_operand (operands[0], E_XFmode)
23752 : : || GET_MODE (x3) != E_XFmode
23753 : : || !register_operand (operands[1], E_DImode)
23754 : : || !
23755 : : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23756 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
23757 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
23758 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
23759 : : && can_create_pseudo_p ()))
23760 : : return NULL;
23761 : : return gen_split_89 (insn, operands);
23762 : :
23763 : : default:
23764 : : return NULL;
23765 : : }
23766 : : }
23767 : :
23768 : : rtx_insn *
23769 : : split_20 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
23770 : : {
23771 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23772 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23773 : : rtx_insn *res ATTRIBUTE_UNUSED;
23774 : : x2 = XVECEXP (x1, 0, 0);
23775 : : x3 = XEXP (x2, 1);
23776 : : x4 = XEXP (x3, 1);
23777 : : switch (GET_CODE (x4))
23778 : : {
23779 : : case CONST_INT:
23780 : : case CONST_WIDE_INT:
23781 : : case CONST_POLY_INT:
23782 : : case CONST_FIXED:
23783 : : case CONST_DOUBLE:
23784 : : case CONST_VECTOR:
23785 : : case CONST:
23786 : : case REG:
23787 : : case SUBREG:
23788 : : case MEM:
23789 : : case LABEL_REF:
23790 : : case SYMBOL_REF:
23791 : : case HIGH:
23792 : : operands[2] = x4;
23793 : : x5 = XEXP (x2, 0);
23794 : : switch (GET_CODE (x5))
23795 : : {
23796 : : case REG:
23797 : : case SUBREG:
23798 : : case MEM:
23799 : : operands[0] = x5;
23800 : : switch (GET_MODE (operands[0]))
23801 : : {
23802 : : case E_DImode:
23803 : : if (pattern549 (x3,
23804 : : E_DImode) == 0
23805 : : && ((
23806 : : #line 8060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23807 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
23808 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23809 : : (!TARGET_64BIT)) &&
23810 : : #line 8062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23811 : : ( reload_completed)))
23812 : : return gen_split_174 (insn, operands);
23813 : : break;
23814 : :
23815 : : case E_TImode:
23816 : : if (pattern549 (x3,
23817 : : E_TImode) == 0
23818 : : && ((
23819 : : #line 8060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23820 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
23821 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23822 : : (TARGET_64BIT)) &&
23823 : : #line 8062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23824 : : ( reload_completed)))
23825 : : return gen_split_175 (insn, operands);
23826 : : break;
23827 : :
23828 : : default:
23829 : : break;
23830 : : }
23831 : : break;
23832 : :
23833 : : case STRICT_LOW_PART:
23834 : : switch (pattern1310 (x2))
23835 : : {
23836 : : case 0:
23837 : : if ((
23838 : : #line 8180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23839 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23840 : : #line 8184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23841 : : ( reload_completed
23842 : : && !(rtx_equal_p (operands[0], operands[1])))))
23843 : : return gen_split_178 (insn, operands);
23844 : : break;
23845 : :
23846 : : case 1:
23847 : : if ((
23848 : : #line 8180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23849 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23850 : : #line 8184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23851 : : ( reload_completed
23852 : : && !(rtx_equal_p (operands[0], operands[1])))))
23853 : : return gen_split_179 (insn, operands);
23854 : : break;
23855 : :
23856 : : default:
23857 : : break;
23858 : : }
23859 : : break;
23860 : :
23861 : : default:
23862 : : break;
23863 : : }
23864 : : if (GET_CODE (x4) != SUBREG
23865 : : || maybe_ne (SUBREG_BYTE (x4), 0)
23866 : : || GET_MODE (x4) != E_QImode)
23867 : : return NULL;
23868 : : x6 = XEXP (x4, 0);
23869 : : switch (GET_CODE (x6))
23870 : : {
23871 : : case ASHIFTRT:
23872 : : case LSHIFTRT:
23873 : : case SIGN_EXTRACT:
23874 : : case ZERO_EXTRACT:
23875 : : operands[3] = x6;
23876 : : if (GET_CODE (x5) != STRICT_LOW_PART)
23877 : : return NULL;
23878 : : x7 = XEXP (x5, 0);
23879 : : operands[0] = x7;
23880 : : if (!register_operand (operands[0], E_QImode)
23881 : : || GET_MODE (x3) != E_QImode
23882 : : || !nonimmediate_operand (operands[1], E_QImode))
23883 : : return NULL;
23884 : : x8 = XEXP (x6, 0);
23885 : : operands[2] = x8;
23886 : : if (!int248_register_operand (operands[2], E_VOIDmode))
23887 : : return NULL;
23888 : : switch (pattern1754 ())
23889 : : {
23890 : : case 0:
23891 : : if (!(
23892 : : #line 8204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23893 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23894 : : #line 8208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23895 : : ( reload_completed
23896 : : && !rtx_equal_p (operands[0], operands[1]))))
23897 : : return NULL;
23898 : : return gen_split_180 (insn, operands);
23899 : :
23900 : : case 1:
23901 : : if (!(
23902 : : #line 8204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23903 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23904 : : #line 8208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23905 : : ( reload_completed
23906 : : && !rtx_equal_p (operands[0], operands[1]))))
23907 : : return NULL;
23908 : : return gen_split_181 (insn, operands);
23909 : :
23910 : : case 2:
23911 : : if (!((
23912 : : #line 8204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23913 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23914 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23915 : : (TARGET_64BIT)) &&
23916 : : #line 8208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23917 : : ( reload_completed
23918 : : && !rtx_equal_p (operands[0], operands[1]))))
23919 : : return NULL;
23920 : : return gen_split_182 (insn, operands);
23921 : :
23922 : : default:
23923 : : return NULL;
23924 : : }
23925 : :
23926 : : default:
23927 : : return NULL;
23928 : : }
23929 : :
23930 : : case ZERO_EXTEND:
23931 : : switch (pattern1153 (x2))
23932 : : {
23933 : : case 0:
23934 : : if (!((
23935 : : #line 8094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23936 : : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
23937 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23938 : : (!TARGET_64BIT)) &&
23939 : : #line 8096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23940 : : ( reload_completed)))
23941 : : return NULL;
23942 : : return gen_split_176 (insn, operands);
23943 : :
23944 : : case 1:
23945 : : if (!((
23946 : : #line 8094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23947 : : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
23948 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23949 : : (TARGET_64BIT)) &&
23950 : : #line 8096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23951 : : ( reload_completed)))
23952 : : return NULL;
23953 : : return gen_split_177 (insn, operands);
23954 : :
23955 : : default:
23956 : : return NULL;
23957 : : }
23958 : :
23959 : : case EQ:
23960 : : x9 = XEXP (x4, 1);
23961 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23962 : : return NULL;
23963 : : switch (pattern676 (x2))
23964 : : {
23965 : : case 0:
23966 : : if (!(
23967 : : #line 10470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23968 : : (ix86_unary_operator_ok (MINUS, QImode, operands)
23969 : : && ix86_pre_reload_split ()) &&
23970 : : #line 10473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23971 : : ( 1)))
23972 : : return NULL;
23973 : : return gen_split_236 (insn, operands);
23974 : :
23975 : : case 1:
23976 : : if (!(
23977 : : #line 10470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23978 : : (ix86_unary_operator_ok (MINUS, HImode, operands)
23979 : : && ix86_pre_reload_split ()) &&
23980 : : #line 10473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23981 : : ( 1)))
23982 : : return NULL;
23983 : : return gen_split_237 (insn, operands);
23984 : :
23985 : : case 2:
23986 : : if (!(
23987 : : #line 10470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23988 : : (ix86_unary_operator_ok (MINUS, SImode, operands)
23989 : : && ix86_pre_reload_split ()) &&
23990 : : #line 10473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23991 : : ( 1)))
23992 : : return NULL;
23993 : : return gen_split_238 (insn, operands);
23994 : :
23995 : : case 3:
23996 : : if (!((
23997 : : #line 10470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23998 : : (ix86_unary_operator_ok (MINUS, DImode, operands)
23999 : : && ix86_pre_reload_split ()) &&
24000 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24001 : : (TARGET_64BIT)) &&
24002 : : #line 10473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24003 : : ( 1)))
24004 : : return NULL;
24005 : : return gen_split_239 (insn, operands);
24006 : :
24007 : : default:
24008 : : return NULL;
24009 : : }
24010 : :
24011 : : case NE:
24012 : : x9 = XEXP (x4, 1);
24013 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24014 : : return NULL;
24015 : : switch (pattern676 (x2))
24016 : : {
24017 : : case 0:
24018 : : if (!(
24019 : : #line 10491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24020 : : (ix86_unary_operator_ok (MINUS, QImode, operands)
24021 : : && ix86_pre_reload_split ()) &&
24022 : : #line 10494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24023 : : ( 1)))
24024 : : return NULL;
24025 : : return gen_split_240 (insn, operands);
24026 : :
24027 : : case 1:
24028 : : if (!(
24029 : : #line 10491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24030 : : (ix86_unary_operator_ok (MINUS, HImode, operands)
24031 : : && ix86_pre_reload_split ()) &&
24032 : : #line 10494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24033 : : ( 1)))
24034 : : return NULL;
24035 : : return gen_split_241 (insn, operands);
24036 : :
24037 : : case 2:
24038 : : if (!(
24039 : : #line 10491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24040 : : (ix86_unary_operator_ok (MINUS, SImode, operands)
24041 : : && ix86_pre_reload_split ()) &&
24042 : : #line 10494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24043 : : ( 1)))
24044 : : return NULL;
24045 : : return gen_split_242 (insn, operands);
24046 : :
24047 : : case 3:
24048 : : if (!((
24049 : : #line 10491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24050 : : (ix86_unary_operator_ok (MINUS, DImode, operands)
24051 : : && ix86_pre_reload_split ()) &&
24052 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24053 : : (TARGET_64BIT)) &&
24054 : : #line 10494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24055 : : ( 1)))
24056 : : return NULL;
24057 : : return gen_split_243 (insn, operands);
24058 : :
24059 : : default:
24060 : : return NULL;
24061 : : }
24062 : :
24063 : : default:
24064 : : return NULL;
24065 : : }
24066 : : }
24067 : :
24068 : : rtx_insn *
24069 : : split_30 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24070 : : {
24071 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24072 : : rtx x2, x3, x4, x5, x6, x7;
24073 : : rtx_insn *res ATTRIBUTE_UNUSED;
24074 : : x2 = XVECEXP (x1, 0, 1);
24075 : : if (pattern222 (x2,
24076 : : E_CCmode,
24077 : : 17) != 0)
24078 : : return NULL;
24079 : : x3 = XVECEXP (x1, 0, 0);
24080 : : x4 = XEXP (x3, 1);
24081 : : x5 = XEXP (x4, 0);
24082 : : switch (GET_CODE (x5))
24083 : : {
24084 : : case CONST_INT:
24085 : : case CONST_WIDE_INT:
24086 : : case CONST_POLY_INT:
24087 : : case CONST_FIXED:
24088 : : case CONST_DOUBLE:
24089 : : case CONST_VECTOR:
24090 : : case CONST:
24091 : : case REG:
24092 : : case SUBREG:
24093 : : case MEM:
24094 : : case LABEL_REF:
24095 : : case SYMBOL_REF:
24096 : : case HIGH:
24097 : : switch (pattern914 (x3))
24098 : : {
24099 : : case 0:
24100 : : x6 = XEXP (x3, 0);
24101 : : operands[0] = x6;
24102 : : x7 = XEXP (x4, 1);
24103 : : switch (GET_CODE (x7))
24104 : : {
24105 : : case REG:
24106 : : case SUBREG:
24107 : : if (GET_CODE (x7) == SUBREG)
24108 : : {
24109 : : switch (pattern1407 (x4))
24110 : : {
24111 : : case 0:
24112 : : if (((
24113 : : #line 15342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24114 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
24115 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
24116 : : == (2 * 4 * BITS_PER_UNIT - 1)))
24117 : : && ix86_pre_reload_split ()) &&
24118 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24119 : : (!TARGET_64BIT)) &&
24120 : : #line 15347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24121 : : ( 1)))
24122 : : return gen_split_558 (insn, operands);
24123 : : break;
24124 : :
24125 : : case 1:
24126 : : if (((
24127 : : #line 15342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24128 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
24129 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
24130 : : == (2 * 8 * BITS_PER_UNIT - 1)))
24131 : : && ix86_pre_reload_split ()) &&
24132 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24133 : : (TARGET_64BIT)) &&
24134 : : #line 15347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24135 : : ( 1)))
24136 : : return gen_split_559 (insn, operands);
24137 : : break;
24138 : :
24139 : : default:
24140 : : break;
24141 : : }
24142 : : }
24143 : : operands[2] = x7;
24144 : : if (register_operand (operands[2], E_QImode)
24145 : : && register_operand (operands[0], E_SImode)
24146 : : && GET_MODE (x4) == E_SImode
24147 : : && nonimmediate_operand (operands[1], E_SImode)
24148 : : &&
24149 : : #line 16127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24150 : : (TARGET_BMI2 && reload_completed))
24151 : : return gen_split_578 (insn, operands);
24152 : : if (GET_CODE (x7) == SUBREG
24153 : : && known_eq (SUBREG_BYTE (x7), 0)
24154 : : && GET_MODE (x7) == E_QImode)
24155 : : {
24156 : : switch (pattern1221 (x4,
24157 : : E_SImode))
24158 : : {
24159 : : case 0:
24160 : : if ((
24161 : : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24162 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
24163 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
24164 : : == 4 * BITS_PER_UNIT - 1
24165 : : && ix86_pre_reload_split ()) &&
24166 : : #line 17980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24167 : : ( 1)))
24168 : : return gen_split_644 (insn, operands);
24169 : : break;
24170 : :
24171 : : case 1:
24172 : : if ((
24173 : : #line 18023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24174 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
24175 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24176 : : && ix86_pre_reload_split ()) &&
24177 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24178 : : ( 1)))
24179 : : return gen_split_656 (insn, operands);
24180 : : break;
24181 : :
24182 : : case 2:
24183 : : if ((
24184 : : #line 18069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24185 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
24186 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24187 : : && ix86_pre_reload_split ()) &&
24188 : : #line 18073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24189 : : ( 1)))
24190 : : return gen_split_668 (insn, operands);
24191 : : break;
24192 : :
24193 : : default:
24194 : : break;
24195 : : }
24196 : : }
24197 : : break;
24198 : :
24199 : : case CONST_INT:
24200 : : operands[2] = x7;
24201 : : if (const_0_to_3_operand (operands[2], E_VOIDmode))
24202 : : {
24203 : : switch (GET_MODE (operands[0]))
24204 : : {
24205 : : case E_QImode:
24206 : : if (general_reg_operand (operands[0], E_QImode)
24207 : : && GET_MODE (x4) == E_QImode
24208 : : && index_reg_operand (operands[1], E_QImode)
24209 : : &&
24210 : : #line 16422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24211 : : (reload_completed
24212 : : && REGNO (operands[0]) != REGNO (operands[1])))
24213 : : return gen_split_583 (insn, operands);
24214 : : break;
24215 : :
24216 : : case E_HImode:
24217 : : if (general_reg_operand (operands[0], E_HImode)
24218 : : && GET_MODE (x4) == E_HImode
24219 : : && index_reg_operand (operands[1], E_HImode)
24220 : : &&
24221 : : #line 16422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24222 : : (reload_completed
24223 : : && REGNO (operands[0]) != REGNO (operands[1])))
24224 : : return gen_split_584 (insn, operands);
24225 : : break;
24226 : :
24227 : : case E_SImode:
24228 : : if (general_reg_operand (operands[0], E_SImode)
24229 : : && GET_MODE (x4) == E_SImode
24230 : : && index_reg_operand (operands[1], E_SImode)
24231 : : &&
24232 : : #line 16422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24233 : : (reload_completed
24234 : : && REGNO (operands[0]) != REGNO (operands[1])))
24235 : : return gen_split_585 (insn, operands);
24236 : : break;
24237 : :
24238 : : default:
24239 : : break;
24240 : : }
24241 : : }
24242 : : break;
24243 : :
24244 : : default:
24245 : : break;
24246 : : }
24247 : : operands[2] = x7;
24248 : : res = split_23 (x1, insn);
24249 : : if (res != NULL_RTX)
24250 : : return res;
24251 : : if (GET_CODE (x7) != SUBREG)
24252 : : return NULL;
24253 : : switch (pattern1222 (x3,
24254 : : E_DImode))
24255 : : {
24256 : : case 0:
24257 : : if (!((
24258 : : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24259 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
24260 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
24261 : : == 8 * BITS_PER_UNIT - 1
24262 : : && ix86_pre_reload_split ()) &&
24263 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24264 : : (TARGET_64BIT)) &&
24265 : : #line 17980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24266 : : ( 1)))
24267 : : return NULL;
24268 : : return gen_split_647 (insn, operands);
24269 : :
24270 : : case 1:
24271 : : if (!((
24272 : : #line 18023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24273 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
24274 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24275 : : && ix86_pre_reload_split ()) &&
24276 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24277 : : (TARGET_64BIT)) &&
24278 : : #line 18027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24279 : : ( 1)))
24280 : : return NULL;
24281 : : return gen_split_659 (insn, operands);
24282 : :
24283 : : case 2:
24284 : : if (!((
24285 : : #line 18069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24286 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
24287 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24288 : : && ix86_pre_reload_split ()) &&
24289 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24290 : : (TARGET_64BIT)) &&
24291 : : #line 18073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24292 : : ( 1)))
24293 : : return NULL;
24294 : : return gen_split_671 (insn, operands);
24295 : :
24296 : : default:
24297 : : return NULL;
24298 : : }
24299 : :
24300 : : case 1:
24301 : : if (register_operand (operands[0], E_DImode)
24302 : : && register_operand (operands[1], E_DImode)
24303 : : && ((
24304 : : #line 15403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24305 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
24306 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
24307 : : == (2 * 4 * BITS_PER_UNIT - 1)))
24308 : : && ix86_pre_reload_split ()) &&
24309 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24310 : : (!TARGET_64BIT)) &&
24311 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24312 : : ( 1)))
24313 : : return gen_split_560 (insn, operands);
24314 : : if (!nonimmediate_operand (operands[0], E_DImode)
24315 : : || !nonimmediate_operand (operands[1], E_DImode)
24316 : : || !((
24317 : : #line 18000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24318 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
24319 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
24320 : : == 8 * BITS_PER_UNIT - 1
24321 : : && ix86_pre_reload_split ()) &&
24322 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24323 : : (TARGET_64BIT)) &&
24324 : : #line 18005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24325 : : ( 1)))
24326 : : return NULL;
24327 : : return gen_split_653 (insn, operands);
24328 : :
24329 : : case 2:
24330 : : if (!((
24331 : : #line 15403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24332 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
24333 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
24334 : : == (2 * 8 * BITS_PER_UNIT - 1)))
24335 : : && ix86_pre_reload_split ()) &&
24336 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24337 : : (TARGET_64BIT)) &&
24338 : : #line 15408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24339 : : ( 1)))
24340 : : return NULL;
24341 : : return gen_split_561 (insn, operands);
24342 : :
24343 : : case 3:
24344 : : if (!(
24345 : : #line 18000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24346 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
24347 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
24348 : : == 4 * BITS_PER_UNIT - 1
24349 : : && ix86_pre_reload_split ()) &&
24350 : : #line 18005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24351 : : ( 1)))
24352 : : return NULL;
24353 : : return gen_split_650 (insn, operands);
24354 : :
24355 : : case 4:
24356 : : if (!(
24357 : : #line 18047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24358 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
24359 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24360 : : && ix86_pre_reload_split ()) &&
24361 : : #line 18051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24362 : : ( 1)))
24363 : : return NULL;
24364 : : return gen_split_662 (insn, operands);
24365 : :
24366 : : case 5:
24367 : : if (!((
24368 : : #line 18047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24369 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
24370 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24371 : : && ix86_pre_reload_split ()) &&
24372 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24373 : : (TARGET_64BIT)) &&
24374 : : #line 18051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24375 : : ( 1)))
24376 : : return NULL;
24377 : : return gen_split_665 (insn, operands);
24378 : :
24379 : : case 6:
24380 : : if (!(
24381 : : #line 18099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24382 : : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
24383 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24384 : : && ix86_pre_reload_split ()) &&
24385 : : #line 18103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24386 : : ( 1)))
24387 : : return NULL;
24388 : : return gen_split_674 (insn, operands);
24389 : :
24390 : : case 7:
24391 : : if (!((
24392 : : #line 18099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24393 : : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
24394 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
24395 : : && ix86_pre_reload_split ()) &&
24396 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24397 : : (TARGET_64BIT)) &&
24398 : : #line 18103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24399 : : ( 1)))
24400 : : return NULL;
24401 : : return gen_split_677 (insn, operands);
24402 : :
24403 : : default:
24404 : : return NULL;
24405 : : }
24406 : :
24407 : : case SIGN_EXTEND:
24408 : : switch (pattern371 (x3))
24409 : : {
24410 : : case 0:
24411 : : if (!((
24412 : : #line 15504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24413 : : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
24414 : : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
24415 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24416 : : (!TARGET_64BIT)) &&
24417 : : #line 15507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24418 : : ( reload_completed)))
24419 : : return NULL;
24420 : : return gen_split_564 (insn, operands);
24421 : :
24422 : : case 1:
24423 : : if (!((
24424 : : #line 15504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24425 : : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
24426 : : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
24427 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24428 : : (TARGET_64BIT)) &&
24429 : : #line 15507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24430 : : ( reload_completed)))
24431 : : return NULL;
24432 : : return gen_split_566 (insn, operands);
24433 : :
24434 : : default:
24435 : : return NULL;
24436 : : }
24437 : :
24438 : : case ZERO_EXTEND:
24439 : : switch (pattern371 (x3))
24440 : : {
24441 : : case 0:
24442 : : if (!((
24443 : : #line 15504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24444 : : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
24445 : : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
24446 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24447 : : (!TARGET_64BIT)) &&
24448 : : #line 15507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24449 : : ( reload_completed)))
24450 : : return NULL;
24451 : : return gen_split_565 (insn, operands);
24452 : :
24453 : : case 1:
24454 : : if (!((
24455 : : #line 15504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24456 : : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
24457 : : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
24458 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24459 : : (TARGET_64BIT)) &&
24460 : : #line 15507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24461 : : ( reload_completed)))
24462 : : return NULL;
24463 : : return gen_split_567 (insn, operands);
24464 : :
24465 : : default:
24466 : : return NULL;
24467 : : }
24468 : :
24469 : : default:
24470 : : return NULL;
24471 : : }
24472 : : }
24473 : :
24474 : : rtx_insn *
24475 : : split_36 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24476 : : {
24477 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24478 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24479 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24480 : : rtx x18, x19, x20, x21;
24481 : : rtx_insn *res ATTRIBUTE_UNUSED;
24482 : : x2 = XVECEXP (x1, 0, 0);
24483 : : switch (GET_CODE (x2))
24484 : : {
24485 : : case SET:
24486 : : x3 = XEXP (x2, 1);
24487 : : switch (GET_CODE (x3))
24488 : : {
24489 : : case CONST_INT:
24490 : : case CONST_DOUBLE:
24491 : : case CONST_VECTOR:
24492 : : operands[1] = x3;
24493 : : if (pattern333 (x1) == 0)
24494 : : {
24495 : : switch (GET_MODE (operands[0]))
24496 : : {
24497 : : case E_HImode:
24498 : : if (memory_operand (operands[0], E_HImode)
24499 : : && const0_operand (operands[1], E_HImode)
24500 : : && (
24501 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24502 : : (reload_completed) &&
24503 : : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24504 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
24505 : : return gen_split_14 (insn, operands);
24506 : : if (nonimmediate_operand (operands[0], E_HImode)
24507 : : && constm1_operand (operands[1], E_HImode)
24508 : : && (
24509 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24510 : : (reload_completed) &&
24511 : : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24512 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
24513 : : return gen_split_17 (insn, operands);
24514 : : break;
24515 : :
24516 : : case E_SImode:
24517 : : if (memory_operand (operands[0], E_SImode)
24518 : : && const0_operand (operands[1], E_SImode)
24519 : : && (
24520 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24521 : : (reload_completed) &&
24522 : : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24523 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
24524 : : return gen_split_15 (insn, operands);
24525 : : if (nonimmediate_operand (operands[0], E_SImode)
24526 : : && constm1_operand (operands[1], E_SImode)
24527 : : && (
24528 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24529 : : (reload_completed) &&
24530 : : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24531 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
24532 : : return gen_split_18 (insn, operands);
24533 : : break;
24534 : :
24535 : : case E_DImode:
24536 : : if (memory_operand (operands[0], E_DImode)
24537 : : && const0_operand (operands[1], E_DImode)
24538 : : && ((
24539 : : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24540 : : (reload_completed) &&
24541 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24542 : : (TARGET_64BIT)) &&
24543 : : #line 2443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24544 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
24545 : : return gen_split_16 (insn, operands);
24546 : : if (nonimmediate_operand (operands[0], E_DImode)
24547 : : && constm1_operand (operands[1], E_DImode)
24548 : : && ((
24549 : : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24550 : : (reload_completed) &&
24551 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24552 : : (TARGET_64BIT)) &&
24553 : : #line 2458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24554 : : ( !(optimize_insn_for_size_p () && optimize_size > 1))))
24555 : : return gen_split_19 (insn, operands);
24556 : : break;
24557 : :
24558 : : default:
24559 : : break;
24560 : : }
24561 : : }
24562 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24563 : : return NULL;
24564 : : x4 = XEXP (x2, 0);
24565 : : if (GET_CODE (x4) != ZERO_EXTRACT
24566 : : || GET_MODE (x4) != E_HImode)
24567 : : return NULL;
24568 : : x5 = XEXP (x4, 1);
24569 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24570 : : return NULL;
24571 : : x6 = XVECEXP (x1, 0, 1);
24572 : : if (pattern222 (x6,
24573 : : E_CCmode,
24574 : : 17) != 0)
24575 : : return NULL;
24576 : : x7 = XEXP (x4, 0);
24577 : : operands[0] = x7;
24578 : : x8 = XEXP (x4, 2);
24579 : : operands[1] = x8;
24580 : : if (!register_operand (operands[1], E_QImode))
24581 : : return NULL;
24582 : : switch (GET_MODE (operands[0]))
24583 : : {
24584 : : case E_QImode:
24585 : : if (nonimmediate_operand (operands[0], E_QImode)
24586 : : && (
24587 : : #line 19116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24588 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
24589 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24590 : : ( MEM_P (operands[0]))))
24591 : : return gen_split_816 (insn, operands);
24592 : : if (!register_operand (operands[0], E_QImode)
24593 : : || !
24594 : : #line 19140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24595 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
24596 : : return NULL;
24597 : : return gen_split_818 (insn, operands);
24598 : :
24599 : : case E_HImode:
24600 : : if (nonimmediate_operand (operands[0], E_HImode)
24601 : : && (
24602 : : #line 19116 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24603 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
24604 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24605 : : ( MEM_P (operands[0]))))
24606 : : return gen_split_817 (insn, operands);
24607 : : if (!register_operand (operands[0], E_HImode)
24608 : : || !
24609 : : #line 19140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24610 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
24611 : : return NULL;
24612 : : return gen_split_819 (insn, operands);
24613 : :
24614 : : default:
24615 : : return NULL;
24616 : : }
24617 : :
24618 : : case ASHIFTRT:
24619 : : case LSHIFTRT:
24620 : : case SIGN_EXTRACT:
24621 : : case ZERO_EXTRACT:
24622 : : x6 = XVECEXP (x1, 0, 1);
24623 : : if (pattern222 (x6,
24624 : : E_CCmode,
24625 : : 17) != 0)
24626 : : return NULL;
24627 : : switch (GET_CODE (x3))
24628 : : {
24629 : : case SIGN_EXTRACT:
24630 : : res = split_15 (x1, insn);
24631 : : if (res != NULL_RTX)
24632 : : return res;
24633 : : break;
24634 : :
24635 : : case LSHIFTRT:
24636 : : res = split_16 (x1, insn);
24637 : : if (res != NULL_RTX)
24638 : : return res;
24639 : : break;
24640 : :
24641 : : case ASHIFTRT:
24642 : : res = split_17 (x1, insn);
24643 : : if (res != NULL_RTX)
24644 : : return res;
24645 : : break;
24646 : :
24647 : : case ZERO_EXTRACT:
24648 : : res = split_18 (x1, insn);
24649 : : if (res != NULL_RTX)
24650 : : return res;
24651 : : break;
24652 : :
24653 : : default:
24654 : : break;
24655 : : }
24656 : : x4 = XEXP (x2, 0);
24657 : : if (GET_CODE (x4) != ZERO_EXTRACT)
24658 : : return NULL;
24659 : : x5 = XEXP (x4, 1);
24660 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
24661 : : return NULL;
24662 : : x8 = XEXP (x4, 2);
24663 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
24664 : : return NULL;
24665 : : x7 = XEXP (x4, 0);
24666 : : operands[0] = x7;
24667 : : if (!int248_register_operand (operands[0], E_VOIDmode))
24668 : : return NULL;
24669 : : operands[3] = x3;
24670 : : x9 = XEXP (x3, 0);
24671 : : switch (GET_CODE (x9))
24672 : : {
24673 : : case AND:
24674 : : switch (pattern1476 (x2))
24675 : : {
24676 : : case 0:
24677 : : if (!(
24678 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24679 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24680 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24681 : : ( reload_completed
24682 : : && !(rtx_equal_p (operands[0], operands[1])
24683 : : || rtx_equal_p (operands[0], operands[2])))))
24684 : : return NULL;
24685 : : return gen_split_364 (insn, operands);
24686 : :
24687 : : case 1:
24688 : : if (!(
24689 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24690 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24691 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24692 : : ( reload_completed
24693 : : && !(rtx_equal_p (operands[0], operands[1])
24694 : : || rtx_equal_p (operands[0], operands[2])))))
24695 : : return NULL;
24696 : : return gen_split_367 (insn, operands);
24697 : :
24698 : : case 2:
24699 : : if (!((
24700 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24701 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24702 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24703 : : (TARGET_64BIT)) &&
24704 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24705 : : ( reload_completed
24706 : : && !(rtx_equal_p (operands[0], operands[1])
24707 : : || rtx_equal_p (operands[0], operands[2])))))
24708 : : return NULL;
24709 : : return gen_split_370 (insn, operands);
24710 : :
24711 : : default:
24712 : : return NULL;
24713 : : }
24714 : :
24715 : : case IOR:
24716 : : switch (pattern1476 (x2))
24717 : : {
24718 : : case 0:
24719 : : if (!(
24720 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24721 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24722 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24723 : : ( reload_completed
24724 : : && !(rtx_equal_p (operands[0], operands[1])
24725 : : || rtx_equal_p (operands[0], operands[2])))))
24726 : : return NULL;
24727 : : return gen_split_365 (insn, operands);
24728 : :
24729 : : case 1:
24730 : : if (!(
24731 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24732 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24733 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24734 : : ( reload_completed
24735 : : && !(rtx_equal_p (operands[0], operands[1])
24736 : : || rtx_equal_p (operands[0], operands[2])))))
24737 : : return NULL;
24738 : : return gen_split_368 (insn, operands);
24739 : :
24740 : : case 2:
24741 : : if (!((
24742 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24743 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24744 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24745 : : (TARGET_64BIT)) &&
24746 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24747 : : ( reload_completed
24748 : : && !(rtx_equal_p (operands[0], operands[1])
24749 : : || rtx_equal_p (operands[0], operands[2])))))
24750 : : return NULL;
24751 : : return gen_split_371 (insn, operands);
24752 : :
24753 : : default:
24754 : : return NULL;
24755 : : }
24756 : :
24757 : : case XOR:
24758 : : switch (pattern1476 (x2))
24759 : : {
24760 : : case 0:
24761 : : if (!(
24762 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24763 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24764 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24765 : : ( reload_completed
24766 : : && !(rtx_equal_p (operands[0], operands[1])
24767 : : || rtx_equal_p (operands[0], operands[2])))))
24768 : : return NULL;
24769 : : return gen_split_366 (insn, operands);
24770 : :
24771 : : case 1:
24772 : : if (!(
24773 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24774 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24775 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24776 : : ( reload_completed
24777 : : && !(rtx_equal_p (operands[0], operands[1])
24778 : : || rtx_equal_p (operands[0], operands[2])))))
24779 : : return NULL;
24780 : : return gen_split_369 (insn, operands);
24781 : :
24782 : : case 2:
24783 : : if (!((
24784 : : #line 13365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24785 : : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
24786 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24787 : : (TARGET_64BIT)) &&
24788 : : #line 13369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24789 : : ( reload_completed
24790 : : && !(rtx_equal_p (operands[0], operands[1])
24791 : : || rtx_equal_p (operands[0], operands[2])))))
24792 : : return NULL;
24793 : : return gen_split_372 (insn, operands);
24794 : :
24795 : : default:
24796 : : return NULL;
24797 : : }
24798 : :
24799 : : default:
24800 : : return NULL;
24801 : : }
24802 : :
24803 : : case ZERO_EXTEND:
24804 : : return split_32 (x1, insn);
24805 : :
24806 : : case FIX:
24807 : : x6 = XVECEXP (x1, 0, 1);
24808 : : if (pattern344 (x6) != 0)
24809 : : return NULL;
24810 : : x4 = XEXP (x2, 0);
24811 : : operands[0] = x4;
24812 : : x9 = XEXP (x3, 0);
24813 : : operands[1] = x9;
24814 : : if (!register_operand (operands[1], E_VOIDmode))
24815 : : return NULL;
24816 : : switch (pattern535 (x3))
24817 : : {
24818 : : case 0:
24819 : : if (!(
24820 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24821 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24822 : : && !TARGET_FISTTP
24823 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
24824 : : && (TARGET_64BIT || HImode != DImode))
24825 : : && ix86_pre_reload_split ()) &&
24826 : : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24827 : : ( 1)))
24828 : : return NULL;
24829 : : return gen_split_82 (insn, operands);
24830 : :
24831 : : case 1:
24832 : : if (!(
24833 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24834 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24835 : : && !TARGET_FISTTP
24836 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
24837 : : && (TARGET_64BIT || SImode != DImode))
24838 : : && ix86_pre_reload_split ()) &&
24839 : : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24840 : : ( 1)))
24841 : : return NULL;
24842 : : return gen_split_83 (insn, operands);
24843 : :
24844 : : case 2:
24845 : : if (!(
24846 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24847 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24848 : : && !TARGET_FISTTP
24849 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
24850 : : && (TARGET_64BIT || DImode != DImode))
24851 : : && ix86_pre_reload_split ()) &&
24852 : : #line 6008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24853 : : ( 1)))
24854 : : return NULL;
24855 : : return gen_split_84 (insn, operands);
24856 : :
24857 : : default:
24858 : : return NULL;
24859 : : }
24860 : :
24861 : : case MULT:
24862 : : if (pattern333 (x1) != 0)
24863 : : return NULL;
24864 : : x9 = XEXP (x3, 0);
24865 : : switch (GET_CODE (x9))
24866 : : {
24867 : : case REG:
24868 : : if (!rtx_equal_p (x9, operands[0]))
24869 : : return NULL;
24870 : : x10 = XEXP (x3, 1);
24871 : : operands[1] = x10;
24872 : : switch (GET_MODE (operands[0]))
24873 : : {
24874 : : case E_SImode:
24875 : : if (!general_reg_operand (operands[0], E_SImode)
24876 : : || GET_MODE (x3) != E_SImode
24877 : : || !const1248_operand (operands[1], E_SImode)
24878 : : || !
24879 : : #line 6429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24880 : : (reload_completed))
24881 : : return NULL;
24882 : : return gen_split_100 (insn, operands);
24883 : :
24884 : : case E_DImode:
24885 : : if (!general_reg_operand (operands[0], E_DImode)
24886 : : || GET_MODE (x3) != E_DImode
24887 : : || !const1248_operand (operands[1], E_DImode)
24888 : : || !(
24889 : : #line 6429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24890 : : (reload_completed) &&
24891 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24892 : : (TARGET_64BIT)))
24893 : : return NULL;
24894 : : return gen_split_101 (insn, operands);
24895 : :
24896 : : default:
24897 : : return NULL;
24898 : : }
24899 : :
24900 : : case ZERO_EXTEND:
24901 : : x10 = XEXP (x3, 1);
24902 : : if (GET_CODE (x10) != ZERO_EXTEND)
24903 : : return NULL;
24904 : : x11 = XEXP (x9, 0);
24905 : : operands[1] = x11;
24906 : : x12 = XEXP (x10, 0);
24907 : : operands[2] = x12;
24908 : : switch (GET_MODE (operands[0]))
24909 : : {
24910 : : case E_DImode:
24911 : : if (pattern547 (x3,
24912 : : E_SImode,
24913 : : E_DImode) != 0
24914 : : || !(
24915 : : #line 11184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24916 : : (TARGET_BMI2 && reload_completed
24917 : : && REGNO (operands[1]) == DX_REG) &&
24918 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24919 : : (!TARGET_64BIT)))
24920 : : return NULL;
24921 : : return gen_split_244 (insn, operands);
24922 : :
24923 : : case E_TImode:
24924 : : if (pattern547 (x3,
24925 : : E_DImode,
24926 : : E_TImode) != 0
24927 : : || !(
24928 : : #line 11184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24929 : : (TARGET_BMI2 && reload_completed
24930 : : && REGNO (operands[1]) == DX_REG) &&
24931 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24932 : : (TARGET_64BIT)))
24933 : : return NULL;
24934 : : return gen_split_245 (insn, operands);
24935 : :
24936 : : default:
24937 : : return NULL;
24938 : : }
24939 : :
24940 : : default:
24941 : : return NULL;
24942 : : }
24943 : :
24944 : : case PLUS:
24945 : : return split_29 (x1, insn);
24946 : :
24947 : : case SUBREG:
24948 : : return split_28 (x1, insn);
24949 : :
24950 : : case NE:
24951 : : case EQ:
24952 : : case GE:
24953 : : case GT:
24954 : : case LE:
24955 : : case LT:
24956 : : case LTGT:
24957 : : case GEU:
24958 : : case GTU:
24959 : : case LEU:
24960 : : case LTU:
24961 : : case UNORDERED:
24962 : : case ORDERED:
24963 : : case UNEQ:
24964 : : case UNGE:
24965 : : case UNGT:
24966 : : case UNLE:
24967 : : case UNLT:
24968 : : if (GET_CODE (x3) == EQ)
24969 : : {
24970 : : x9 = XEXP (x3, 0);
24971 : : switch (GET_CODE (x9))
24972 : : {
24973 : : case PLUS:
24974 : : switch (pattern703 (x1,
24975 : : PLUS))
24976 : : {
24977 : : case 0:
24978 : : if (((
24979 : : #line 7704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24980 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
24981 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24982 : : (!TARGET_64BIT)) &&
24983 : : #line 7706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24984 : : ( reload_completed)))
24985 : : return gen_split_152 (insn, operands);
24986 : : break;
24987 : :
24988 : : case 1:
24989 : : if (((
24990 : : #line 7704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24991 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
24992 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24993 : : (TARGET_64BIT)) &&
24994 : : #line 7706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24995 : : ( reload_completed)))
24996 : : return gen_split_153 (insn, operands);
24997 : : break;
24998 : :
24999 : : case 2:
25000 : : if (((
25001 : : #line 7750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25002 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
25003 : : && CONST_SCALAR_INT_P (operands[2])
25004 : : && rtx_equal_p (operands[2], operands[3])) &&
25005 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25006 : : (!TARGET_64BIT)) &&
25007 : : #line 7754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25008 : : ( reload_completed)))
25009 : : return gen_split_154 (insn, operands);
25010 : : break;
25011 : :
25012 : : case 3:
25013 : : if (((
25014 : : #line 7750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25015 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)
25016 : : && CONST_SCALAR_INT_P (operands[2])
25017 : : && rtx_equal_p (operands[2], operands[3])) &&
25018 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25019 : : (TARGET_64BIT)) &&
25020 : : #line 7754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25021 : : ( reload_completed)))
25022 : : return gen_split_155 (insn, operands);
25023 : : break;
25024 : :
25025 : : default:
25026 : : break;
25027 : : }
25028 : : break;
25029 : :
25030 : : case MINUS:
25031 : : switch (pattern703 (x1,
25032 : : MINUS))
25033 : : {
25034 : : case 0:
25035 : : if (((
25036 : : #line 8462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25037 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
25038 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25039 : : (!TARGET_64BIT)) &&
25040 : : #line 8464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25041 : : ( reload_completed)))
25042 : : return gen_split_192 (insn, operands);
25043 : : break;
25044 : :
25045 : : case 1:
25046 : : if (((
25047 : : #line 8462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25048 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
25049 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25050 : : (TARGET_64BIT)) &&
25051 : : #line 8464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25052 : : ( reload_completed)))
25053 : : return gen_split_193 (insn, operands);
25054 : : break;
25055 : :
25056 : : case 2:
25057 : : if (((
25058 : : #line 8506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25059 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
25060 : : && CONST_SCALAR_INT_P (operands[2])
25061 : : && rtx_equal_p (operands[2], operands[3])) &&
25062 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25063 : : (!TARGET_64BIT)) &&
25064 : : #line 8510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25065 : : ( reload_completed)))
25066 : : return gen_split_194 (insn, operands);
25067 : : break;
25068 : :
25069 : : case 3:
25070 : : if (((
25071 : : #line 8506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25072 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
25073 : : && CONST_SCALAR_INT_P (operands[2])
25074 : : && rtx_equal_p (operands[2], operands[3])) &&
25075 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25076 : : (TARGET_64BIT)) &&
25077 : : #line 8510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25078 : : ( reload_completed)))
25079 : : return gen_split_195 (insn, operands);
25080 : : break;
25081 : :
25082 : : default:
25083 : : break;
25084 : : }
25085 : : break;
25086 : :
25087 : : case ZERO_EXTRACT:
25088 : : switch (pattern672 (x1))
25089 : : {
25090 : : case 0:
25091 : : if ((
25092 : : #line 19537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25093 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25094 : : #line 19539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25095 : : ( 1)))
25096 : : return gen_split_848 (insn, operands);
25097 : : break;
25098 : :
25099 : : case 1:
25100 : : if (((
25101 : : #line 19537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25102 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25103 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25104 : : (TARGET_64BIT)) &&
25105 : : #line 19539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25106 : : ( 1)))
25107 : : return gen_split_849 (insn, operands);
25108 : : break;
25109 : :
25110 : : default:
25111 : : break;
25112 : : }
25113 : : break;
25114 : :
25115 : : default:
25116 : : break;
25117 : : }
25118 : : }
25119 : : operands[1] = x3;
25120 : : switch (pattern360 (x1))
25121 : : {
25122 : : case 0:
25123 : : if (!(
25124 : : #line 19650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25125 : : (!TARGET_PARTIAL_REG_STALL
25126 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
25127 : : #line 19653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25128 : : ( reload_completed)))
25129 : : return NULL;
25130 : : return gen_split_858 (insn, operands);
25131 : :
25132 : : case 1:
25133 : : if (!(
25134 : : #line 19650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25135 : : (!TARGET_PARTIAL_REG_STALL
25136 : : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
25137 : : #line 19653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25138 : : ( reload_completed)))
25139 : : return NULL;
25140 : : return gen_split_859 (insn, operands);
25141 : :
25142 : : default:
25143 : : return NULL;
25144 : : }
25145 : :
25146 : : case MINUS:
25147 : : x6 = XVECEXP (x1, 0, 1);
25148 : : if (pattern222 (x6,
25149 : : E_CCmode,
25150 : : 17) != 0)
25151 : : return NULL;
25152 : : x9 = XEXP (x3, 0);
25153 : : switch (GET_CODE (x9))
25154 : : {
25155 : : case CONST_INT:
25156 : : case CONST_WIDE_INT:
25157 : : case CONST_POLY_INT:
25158 : : case CONST_FIXED:
25159 : : case CONST_DOUBLE:
25160 : : case CONST_VECTOR:
25161 : : case CONST:
25162 : : case REG:
25163 : : case SUBREG:
25164 : : case MEM:
25165 : : case LABEL_REF:
25166 : : case SYMBOL_REF:
25167 : : case HIGH:
25168 : : operands[1] = x9;
25169 : : res = split_20 (x1, insn);
25170 : : if (res != NULL_RTX)
25171 : : return res;
25172 : : if (GET_CODE (x9) != SUBREG)
25173 : : return NULL;
25174 : : switch (pattern1035 (x2))
25175 : : {
25176 : : case 0:
25177 : : if (!(
25178 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25179 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25180 : : #line 8235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25181 : : ( reload_completed)))
25182 : : return NULL;
25183 : : return gen_split_183 (insn, operands);
25184 : :
25185 : : case 1:
25186 : : if (!(
25187 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25188 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25189 : : #line 8235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25190 : : ( reload_completed)))
25191 : : return NULL;
25192 : : return gen_split_184 (insn, operands);
25193 : :
25194 : : case 2:
25195 : : if (!((
25196 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25197 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25198 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25199 : : (TARGET_64BIT)) &&
25200 : : #line 8235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25201 : : ( reload_completed)))
25202 : : return NULL;
25203 : : return gen_split_185 (insn, operands);
25204 : :
25205 : : case 3:
25206 : : if (!
25207 : : #line 8318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25208 : : ( reload_completed))
25209 : : return NULL;
25210 : : return gen_split_186 (insn, operands);
25211 : :
25212 : : case 4:
25213 : : if (!
25214 : : #line 8318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25215 : : ( reload_completed))
25216 : : return NULL;
25217 : : return gen_split_187 (insn, operands);
25218 : :
25219 : : case 5:
25220 : : if (!(
25221 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25222 : : (TARGET_64BIT) &&
25223 : : #line 8318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25224 : : ( reload_completed)))
25225 : : return NULL;
25226 : : return gen_split_188 (insn, operands);
25227 : :
25228 : : default:
25229 : : return NULL;
25230 : : }
25231 : :
25232 : : case MINUS:
25233 : : x13 = XEXP (x9, 1);
25234 : : if (GET_CODE (x13) != EQ)
25235 : : return NULL;
25236 : : x14 = XEXP (x13, 1);
25237 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25238 : : return NULL;
25239 : : x4 = XEXP (x2, 0);
25240 : : operands[0] = x4;
25241 : : x11 = XEXP (x9, 0);
25242 : : operands[1] = x11;
25243 : : x15 = XEXP (x13, 0);
25244 : : operands[3] = x15;
25245 : : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
25246 : : return NULL;
25247 : : x10 = XEXP (x3, 1);
25248 : : operands[2] = x10;
25249 : : switch (GET_MODE (operands[0]))
25250 : : {
25251 : : case E_QImode:
25252 : : if (pattern1553 (x3,
25253 : : E_QImode) != 0
25254 : : || !(
25255 : : #line 10393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25256 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
25257 : : && ix86_pre_reload_split ()) &&
25258 : : #line 10396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25259 : : ( 1)))
25260 : : return NULL;
25261 : : return gen_split_224 (insn, operands);
25262 : :
25263 : : case E_HImode:
25264 : : if (pattern1553 (x3,
25265 : : E_HImode) != 0
25266 : : || !(
25267 : : #line 10393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25268 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
25269 : : && ix86_pre_reload_split ()) &&
25270 : : #line 10396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25271 : : ( 1)))
25272 : : return NULL;
25273 : : return gen_split_225 (insn, operands);
25274 : :
25275 : : case E_SImode:
25276 : : if (pattern1554 (x3,
25277 : : E_SImode) != 0
25278 : : || !(
25279 : : #line 10393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25280 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
25281 : : && ix86_pre_reload_split ()) &&
25282 : : #line 10396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25283 : : ( 1)))
25284 : : return NULL;
25285 : : return gen_split_226 (insn, operands);
25286 : :
25287 : : case E_DImode:
25288 : : if (pattern1554 (x3,
25289 : : E_DImode) != 0
25290 : : || !((
25291 : : #line 10393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25292 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
25293 : : && ix86_pre_reload_split ()) &&
25294 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25295 : : (TARGET_64BIT)) &&
25296 : : #line 10396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25297 : : ( 1)))
25298 : : return NULL;
25299 : : return gen_split_227 (insn, operands);
25300 : :
25301 : : default:
25302 : : return NULL;
25303 : : }
25304 : :
25305 : : default:
25306 : : return NULL;
25307 : : }
25308 : :
25309 : : case IF_THEN_ELSE:
25310 : : x9 = XEXP (x3, 0);
25311 : : if (!bt_comparison_operator (x9, E_VOIDmode))
25312 : : return NULL;
25313 : : x13 = XEXP (x9, 1);
25314 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25315 : : return NULL;
25316 : : switch (pattern678 (x1))
25317 : : {
25318 : : case 0:
25319 : : x11 = XEXP (x9, 0);
25320 : : operands[2] = x11;
25321 : : x10 = XEXP (x3, 1);
25322 : : if (GET_CODE (x10) != PLUS)
25323 : : return NULL;
25324 : : x16 = XEXP (x10, 1);
25325 : : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
25326 : : return NULL;
25327 : : x4 = XEXP (x2, 0);
25328 : : operands[0] = x4;
25329 : : operands[1] = x9;
25330 : : switch (pattern1564 (x3))
25331 : : {
25332 : : case 0:
25333 : : if (!(
25334 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25335 : : (TARGET_CMOVE) &&
25336 : : #line 8757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25337 : : ( reload_completed)))
25338 : : return NULL;
25339 : : return gen_split_196 (insn, operands);
25340 : :
25341 : : case 1:
25342 : : if (!(
25343 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25344 : : (TARGET_CMOVE) &&
25345 : : #line 8757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25346 : : ( reload_completed)))
25347 : : return NULL;
25348 : : return gen_split_197 (insn, operands);
25349 : :
25350 : : case 2:
25351 : : if (!((
25352 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25353 : : (TARGET_CMOVE) &&
25354 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25355 : : (TARGET_64BIT)) &&
25356 : : #line 8757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25357 : : ( reload_completed)))
25358 : : return NULL;
25359 : : return gen_split_198 (insn, operands);
25360 : :
25361 : : default:
25362 : : return NULL;
25363 : : }
25364 : :
25365 : : case 1:
25366 : : x11 = XEXP (x9, 0);
25367 : : x17 = XEXP (x11, 1);
25368 : : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
25369 : : return NULL;
25370 : : switch (pattern1324 (x2))
25371 : : {
25372 : : case 0:
25373 : : x18 = XEXP (x11, 2);
25374 : : operands[2] = x18;
25375 : : switch (pattern1680 (x3))
25376 : : {
25377 : : case 0:
25378 : : if ((
25379 : : #line 19342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25380 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25381 : : && (CONST_INT_P (operands[2])
25382 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
25383 : : && INTVAL (operands[2])
25384 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
25385 : : : !memory_operand (operands[1], SImode))
25386 : : && ix86_pre_reload_split ()) &&
25387 : : #line 19350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25388 : : ( 1)))
25389 : : return gen_split_826 (insn, operands);
25390 : : break;
25391 : :
25392 : : case 1:
25393 : : if (((
25394 : : #line 19342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25395 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25396 : : && (CONST_INT_P (operands[2])
25397 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
25398 : : && INTVAL (operands[2])
25399 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
25400 : : : !memory_operand (operands[1], DImode))
25401 : : && ix86_pre_reload_split ()) &&
25402 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25403 : : (TARGET_64BIT)) &&
25404 : : #line 19350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25405 : : ( 1)))
25406 : : return gen_split_827 (insn, operands);
25407 : : break;
25408 : :
25409 : : default:
25410 : : break;
25411 : : }
25412 : : if (GET_CODE (x18) != SUBREG)
25413 : : return NULL;
25414 : : switch (pattern1682 (x3))
25415 : : {
25416 : : case 0:
25417 : : if (!(
25418 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25419 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25420 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25421 : : == GET_MODE_BITSIZE (SImode)-1
25422 : : && ix86_pre_reload_split ()) &&
25423 : : #line 19423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25424 : : ( 1)))
25425 : : return NULL;
25426 : : return gen_split_830 (insn, operands);
25427 : :
25428 : : case 1:
25429 : : if (!(
25430 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25431 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25432 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25433 : : == GET_MODE_BITSIZE (SImode)-1
25434 : : && ix86_pre_reload_split ()) &&
25435 : : #line 19423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25436 : : ( 1)))
25437 : : return NULL;
25438 : : return gen_split_832 (insn, operands);
25439 : :
25440 : : case 2:
25441 : : if (!((
25442 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25443 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25444 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25445 : : == GET_MODE_BITSIZE (SImode)-1
25446 : : && ix86_pre_reload_split ()) &&
25447 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25448 : : (TARGET_64BIT)) &&
25449 : : #line 19423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25450 : : ( 1)))
25451 : : return NULL;
25452 : : return gen_split_834 (insn, operands);
25453 : :
25454 : : case 3:
25455 : : if (!((
25456 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25457 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25458 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25459 : : == GET_MODE_BITSIZE (DImode)-1
25460 : : && ix86_pre_reload_split ()) &&
25461 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25462 : : (TARGET_64BIT)) &&
25463 : : #line 19423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25464 : : ( 1)))
25465 : : return NULL;
25466 : : return gen_split_831 (insn, operands);
25467 : :
25468 : : case 4:
25469 : : if (!((
25470 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25471 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25472 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25473 : : == GET_MODE_BITSIZE (DImode)-1
25474 : : && ix86_pre_reload_split ()) &&
25475 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25476 : : (TARGET_64BIT)) &&
25477 : : #line 19423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25478 : : ( 1)))
25479 : : return NULL;
25480 : : return gen_split_833 (insn, operands);
25481 : :
25482 : : case 5:
25483 : : if (!((
25484 : : #line 19418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25485 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25486 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25487 : : == GET_MODE_BITSIZE (DImode)-1
25488 : : && ix86_pre_reload_split ()) &&
25489 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25490 : : (TARGET_64BIT)) &&
25491 : : #line 19423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25492 : : ( 1)))
25493 : : return NULL;
25494 : : return gen_split_835 (insn, operands);
25495 : :
25496 : : default:
25497 : : return NULL;
25498 : : }
25499 : :
25500 : : case 1:
25501 : : if (!(
25502 : : #line 19381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25503 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25504 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25505 : : == GET_MODE_BITSIZE (SImode)-1
25506 : : && ix86_pre_reload_split ()) &&
25507 : : #line 19386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25508 : : ( 1)))
25509 : : return NULL;
25510 : : return gen_split_828 (insn, operands);
25511 : :
25512 : : case 2:
25513 : : if (!((
25514 : : #line 19381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25515 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
25516 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25517 : : == GET_MODE_BITSIZE (DImode)-1
25518 : : && ix86_pre_reload_split ()) &&
25519 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25520 : : (TARGET_64BIT)) &&
25521 : : #line 19386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25522 : : ( 1)))
25523 : : return NULL;
25524 : : return gen_split_829 (insn, operands);
25525 : :
25526 : : default:
25527 : : return NULL;
25528 : : }
25529 : :
25530 : : default:
25531 : : return NULL;
25532 : : }
25533 : :
25534 : : case COMPARE:
25535 : : return split_27 (x1, insn);
25536 : :
25537 : : case AND:
25538 : : return split_25 (x1, insn);
25539 : :
25540 : : case IOR:
25541 : : return split_26 (x1, insn);
25542 : :
25543 : : case XOR:
25544 : : return split_24 (x1, insn);
25545 : :
25546 : : case NOT:
25547 : : x9 = XEXP (x3, 0);
25548 : : if (GET_CODE (x9) != XOR
25549 : : || pattern334 (x1) != 0)
25550 : : return NULL;
25551 : : switch (GET_MODE (operands[0]))
25552 : : {
25553 : : case E_HImode:
25554 : : if (pattern1315 (x3,
25555 : : E_HImode) != 0
25556 : : || !(
25557 : : #line 13744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25558 : : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)) &&
25559 : : #line 13746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25560 : : ( reload_completed)))
25561 : : return NULL;
25562 : : return gen_split_397 (insn, operands);
25563 : :
25564 : : case E_SImode:
25565 : : if (pattern1316 (x3,
25566 : : E_SImode) != 0
25567 : : || !(
25568 : : #line 13744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25569 : : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)) &&
25570 : : #line 13746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25571 : : ( reload_completed)))
25572 : : return NULL;
25573 : : return gen_split_398 (insn, operands);
25574 : :
25575 : : case E_DImode:
25576 : : if (pattern1316 (x3,
25577 : : E_DImode) != 0
25578 : : || !((
25579 : : #line 13744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25580 : : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
25581 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25582 : : (TARGET_64BIT)) &&
25583 : : #line 13746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25584 : : ( reload_completed)))
25585 : : return NULL;
25586 : : return gen_split_399 (insn, operands);
25587 : :
25588 : : case E_QImode:
25589 : : if (pattern1315 (x3,
25590 : : E_QImode) != 0
25591 : : || !(
25592 : : #line 13944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25593 : : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)) &&
25594 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25595 : : ( reload_completed)))
25596 : : return NULL;
25597 : : return gen_split_405 (insn, operands);
25598 : :
25599 : : default:
25600 : : return NULL;
25601 : : }
25602 : :
25603 : : case NEG:
25604 : : return split_31 (x1, insn);
25605 : :
25606 : : case ABS:
25607 : : return split_33 (x1, insn);
25608 : :
25609 : : case ASHIFT:
25610 : : return split_30 (x1, insn);
25611 : :
25612 : : case ROTATE:
25613 : : return split_35 (x1, insn);
25614 : :
25615 : : case ROTATERT:
25616 : : return split_34 (x1, insn);
25617 : :
25618 : : case CTZ:
25619 : : switch (pattern398 (x1))
25620 : : {
25621 : : case 0:
25622 : : if (!
25623 : : #line 21216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25624 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
25625 : : && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
25626 : : && epilogue_completed
25627 : : && optimize_function_for_speed_p (cfun)
25628 : : && !reg_mentioned_p (operands[0], operands[1])))
25629 : : return NULL;
25630 : : return gen_split_879 (insn, operands);
25631 : :
25632 : : case 1:
25633 : : if (!(
25634 : : #line 21216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25635 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
25636 : : && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
25637 : : && epilogue_completed
25638 : : && optimize_function_for_speed_p (cfun)
25639 : : && !reg_mentioned_p (operands[0], operands[1])) &&
25640 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25641 : : (TARGET_64BIT)))
25642 : : return NULL;
25643 : : return gen_split_880 (insn, operands);
25644 : :
25645 : : default:
25646 : : return NULL;
25647 : : }
25648 : :
25649 : : case SIGN_EXTEND:
25650 : : if (GET_MODE (x3) != E_DImode)
25651 : : return NULL;
25652 : : x6 = XVECEXP (x1, 0, 1);
25653 : : if (pattern344 (x6) != 0)
25654 : : return NULL;
25655 : : x4 = XEXP (x2, 0);
25656 : : operands[0] = x4;
25657 : : if (!register_operand (operands[0], E_DImode))
25658 : : return NULL;
25659 : : x9 = XEXP (x3, 0);
25660 : : if (GET_MODE (x9) != E_SImode)
25661 : : return NULL;
25662 : : switch (GET_CODE (x9))
25663 : : {
25664 : : case CTZ:
25665 : : x11 = XEXP (x9, 0);
25666 : : operands[1] = x11;
25667 : : if (!nonimmediate_operand (operands[1], E_SImode)
25668 : : || !
25669 : : #line 21324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25670 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
25671 : : && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
25672 : : && epilogue_completed
25673 : : && optimize_function_for_speed_p (cfun)
25674 : : && !reg_mentioned_p (operands[0], operands[1])))
25675 : : return NULL;
25676 : : return gen_split_882 (insn, operands);
25677 : :
25678 : : case XOR:
25679 : : x11 = XEXP (x9, 0);
25680 : : if (GET_CODE (x11) != MINUS
25681 : : || pattern1144 (x9) != 0)
25682 : : return NULL;
25683 : : x17 = XEXP (x11, 1);
25684 : : x19 = XEXP (x17, 0);
25685 : : operands[1] = x19;
25686 : : if (!nonimmediate_operand (operands[1], E_SImode)
25687 : : || !(
25688 : : #line 21487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25689 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) &&
25690 : : #line 21489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25691 : : ( 1)))
25692 : : return NULL;
25693 : : return gen_split_886 (insn, operands);
25694 : :
25695 : : default:
25696 : : return NULL;
25697 : : }
25698 : :
25699 : : case CLZ:
25700 : : switch (pattern398 (x1))
25701 : : {
25702 : : case 0:
25703 : : if (!(
25704 : : #line 21658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25705 : : (TARGET_LZCNT) &&
25706 : : #line 21660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25707 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25708 : : && optimize_function_for_speed_p (cfun)
25709 : : && !reg_mentioned_p (operands[0], operands[1]))))
25710 : : return NULL;
25711 : : return gen_split_896 (insn, operands);
25712 : :
25713 : : case 1:
25714 : : if (!((
25715 : : #line 21658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25716 : : (TARGET_LZCNT) &&
25717 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25718 : : (TARGET_64BIT)) &&
25719 : : #line 21660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25720 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25721 : : && optimize_function_for_speed_p (cfun)
25722 : : && !reg_mentioned_p (operands[0], operands[1]))))
25723 : : return NULL;
25724 : : return gen_split_897 (insn, operands);
25725 : :
25726 : : default:
25727 : : return NULL;
25728 : : }
25729 : :
25730 : : case UNSPEC:
25731 : : if (XVECLEN (x3, 0) != 1)
25732 : : return NULL;
25733 : : x6 = XVECEXP (x1, 0, 1);
25734 : : if (pattern222 (x6,
25735 : : E_CCmode,
25736 : : 17) != 0)
25737 : : return NULL;
25738 : : x4 = XEXP (x2, 0);
25739 : : operands[0] = x4;
25740 : : x20 = XVECEXP (x3, 0, 0);
25741 : : operands[1] = x20;
25742 : : switch (XINT (x3, 1))
25743 : : {
25744 : : case 98:
25745 : : switch (pattern1326 (x3))
25746 : : {
25747 : : case 0:
25748 : : if (!(
25749 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25750 : : (TARGET_BMI) &&
25751 : : #line 21822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25752 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25753 : : && optimize_function_for_speed_p (cfun)
25754 : : && !reg_mentioned_p (operands[0], operands[1]))))
25755 : : return NULL;
25756 : : return gen_split_904 (insn, operands);
25757 : :
25758 : : case 1:
25759 : : if (!((((
25760 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25761 : : (TARGET_64BIT) &&
25762 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25763 : : (TARGET_BMI)) &&
25764 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25765 : : (TARGET_64BIT)) &&
25766 : : #line 21782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25767 : : (TARGET_BMI)) &&
25768 : : #line 21822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25769 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25770 : : && optimize_function_for_speed_p (cfun)
25771 : : && !reg_mentioned_p (operands[0], operands[1]))))
25772 : : return NULL;
25773 : : return gen_split_906 (insn, operands);
25774 : :
25775 : : default:
25776 : : return NULL;
25777 : : }
25778 : :
25779 : : case 97:
25780 : : switch (pattern1326 (x3))
25781 : : {
25782 : : case 0:
25783 : : if (!(
25784 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25785 : : (TARGET_LZCNT) &&
25786 : : #line 21822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25787 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25788 : : && optimize_function_for_speed_p (cfun)
25789 : : && !reg_mentioned_p (operands[0], operands[1]))))
25790 : : return NULL;
25791 : : return gen_split_905 (insn, operands);
25792 : :
25793 : : case 1:
25794 : : if (!((((
25795 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25796 : : (TARGET_64BIT) &&
25797 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25798 : : (TARGET_LZCNT)) &&
25799 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25800 : : (TARGET_64BIT)) &&
25801 : : #line 21783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25802 : : (TARGET_LZCNT)) &&
25803 : : #line 21822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25804 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25805 : : && optimize_function_for_speed_p (cfun)
25806 : : && !reg_mentioned_p (operands[0], operands[1]))))
25807 : : return NULL;
25808 : : return gen_split_907 (insn, operands);
25809 : :
25810 : : default:
25811 : : return NULL;
25812 : : }
25813 : :
25814 : : default:
25815 : : return NULL;
25816 : : }
25817 : :
25818 : : case POPCOUNT:
25819 : : x6 = XVECEXP (x1, 0, 1);
25820 : : if (pattern344 (x6) != 0)
25821 : : return NULL;
25822 : : x4 = XEXP (x2, 0);
25823 : : operands[0] = x4;
25824 : : x9 = XEXP (x3, 0);
25825 : : switch (GET_CODE (x9))
25826 : : {
25827 : : case REG:
25828 : : case SUBREG:
25829 : : case MEM:
25830 : : operands[1] = x9;
25831 : : switch (pattern397 (x3))
25832 : : {
25833 : : case 0:
25834 : : if (!(
25835 : : #line 22465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25836 : : (TARGET_POPCNT) &&
25837 : : #line 22473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25838 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25839 : : && optimize_function_for_speed_p (cfun)
25840 : : && !reg_mentioned_p (operands[0], operands[1]))))
25841 : : return NULL;
25842 : : return gen_split_920 (insn, operands);
25843 : :
25844 : : case 1:
25845 : : if (!((
25846 : : #line 22465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25847 : : (TARGET_POPCNT) &&
25848 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25849 : : (TARGET_64BIT)) &&
25850 : : #line 22473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25851 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25852 : : && optimize_function_for_speed_p (cfun)
25853 : : && !reg_mentioned_p (operands[0], operands[1]))))
25854 : : return NULL;
25855 : : return gen_split_921 (insn, operands);
25856 : :
25857 : : default:
25858 : : return NULL;
25859 : : }
25860 : :
25861 : : case ZERO_EXTEND:
25862 : : if (pattern1163 (x3,
25863 : : E_HImode,
25864 : : E_SImode) != 0
25865 : : || !(
25866 : : #line 22635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25867 : : (TARGET_POPCNT
25868 : : && ix86_pre_reload_split ()) &&
25869 : : #line 22638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25870 : : ( 1)))
25871 : : return NULL;
25872 : : return gen_split_924 (insn, operands);
25873 : :
25874 : : default:
25875 : : return NULL;
25876 : : }
25877 : :
25878 : : default:
25879 : : return NULL;
25880 : : }
25881 : :
25882 : : case SIMPLE_RETURN:
25883 : : x6 = XVECEXP (x1, 0, 1);
25884 : : if (GET_CODE (x6) != USE)
25885 : : return NULL;
25886 : : x21 = XEXP (x6, 0);
25887 : : operands[0] = x21;
25888 : : if (!const_int_operand (operands[0], E_SImode)
25889 : : || !(
25890 : : #line 20810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25891 : : (reload_completed) &&
25892 : : #line 20812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25893 : : ( cfun->machine->function_return_type != indirect_branch_keep)))
25894 : : return NULL;
25895 : : return gen_split_874 (insn, operands);
25896 : :
25897 : : default:
25898 : : return NULL;
25899 : : }
25900 : : }
25901 : :
25902 : : rtx_insn *
25903 : : split_72 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25904 : : {
25905 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25906 : : rtx x2, x3, x4;
25907 : : rtx_insn *res ATTRIBUTE_UNUSED;
25908 : : x2 = XEXP (x1, 1);
25909 : : x3 = XEXP (x2, 0);
25910 : : x4 = XEXP (x3, 0);
25911 : : switch (GET_CODE (x4))
25912 : : {
25913 : : case REG:
25914 : : case SUBREG:
25915 : : case MEM:
25916 : : case NOT:
25917 : : switch (pattern520 (x2))
25918 : : {
25919 : : case 0:
25920 : : if (!((
25921 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25922 : : ((64 == 64 || TARGET_AVX512VL
25923 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
25924 : : && ix86_pre_reload_split ()
25925 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
25926 : : STRIP_UNARY (operands[4]))
25927 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
25928 : : STRIP_UNARY (operands[4]))
25929 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
25930 : : STRIP_UNARY (operands[3]))
25931 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
25932 : : STRIP_UNARY (operands[3])))) &&
25933 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25934 : : (TARGET_AVX512F)) &&
25935 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25936 : : ( 1)))
25937 : : return NULL;
25938 : : return gen_split_1702 (insn, operands);
25939 : :
25940 : : case 1:
25941 : : if (!((
25942 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25943 : : ((32 == 64 || TARGET_AVX512VL
25944 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
25945 : : && ix86_pre_reload_split ()
25946 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
25947 : : STRIP_UNARY (operands[4]))
25948 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
25949 : : STRIP_UNARY (operands[4]))
25950 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
25951 : : STRIP_UNARY (operands[3]))
25952 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
25953 : : STRIP_UNARY (operands[3])))) &&
25954 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25955 : : (TARGET_AVX)) &&
25956 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25957 : : ( 1)))
25958 : : return NULL;
25959 : : return gen_split_1729 (insn, operands);
25960 : :
25961 : : case 2:
25962 : : if (!(
25963 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25964 : : ((16 == 64 || TARGET_AVX512VL
25965 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
25966 : : && ix86_pre_reload_split ()
25967 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
25968 : : STRIP_UNARY (operands[4]))
25969 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
25970 : : STRIP_UNARY (operands[4]))
25971 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
25972 : : STRIP_UNARY (operands[3]))
25973 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
25974 : : STRIP_UNARY (operands[3])))) &&
25975 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25976 : : ( 1)))
25977 : : return NULL;
25978 : : return gen_split_1756 (insn, operands);
25979 : :
25980 : : case 3:
25981 : : if (!((
25982 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25983 : : ((64 == 64 || TARGET_AVX512VL
25984 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
25985 : : && ix86_pre_reload_split ()
25986 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
25987 : : STRIP_UNARY (operands[4]))
25988 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
25989 : : STRIP_UNARY (operands[4]))
25990 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
25991 : : STRIP_UNARY (operands[3]))
25992 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
25993 : : STRIP_UNARY (operands[3])))) &&
25994 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25995 : : (TARGET_AVX512F)) &&
25996 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25997 : : ( 1)))
25998 : : return NULL;
25999 : : return gen_split_1783 (insn, operands);
26000 : :
26001 : : case 4:
26002 : : if (!((
26003 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26004 : : ((32 == 64 || TARGET_AVX512VL
26005 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26006 : : && ix86_pre_reload_split ()
26007 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26008 : : STRIP_UNARY (operands[4]))
26009 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26010 : : STRIP_UNARY (operands[4]))
26011 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26012 : : STRIP_UNARY (operands[3]))
26013 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26014 : : STRIP_UNARY (operands[3])))) &&
26015 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26016 : : (TARGET_AVX)) &&
26017 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26018 : : ( 1)))
26019 : : return NULL;
26020 : : return gen_split_1810 (insn, operands);
26021 : :
26022 : : case 5:
26023 : : if (!(
26024 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26025 : : ((16 == 64 || TARGET_AVX512VL
26026 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26027 : : && ix86_pre_reload_split ()
26028 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26029 : : STRIP_UNARY (operands[4]))
26030 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26031 : : STRIP_UNARY (operands[4]))
26032 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26033 : : STRIP_UNARY (operands[3]))
26034 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26035 : : STRIP_UNARY (operands[3])))) &&
26036 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26037 : : ( 1)))
26038 : : return NULL;
26039 : : return gen_split_1837 (insn, operands);
26040 : :
26041 : : case 6:
26042 : : if (!((
26043 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26044 : : ((64 == 64 || TARGET_AVX512VL
26045 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26046 : : && ix86_pre_reload_split ()
26047 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26048 : : STRIP_UNARY (operands[4]))
26049 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26050 : : STRIP_UNARY (operands[4]))
26051 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26052 : : STRIP_UNARY (operands[3]))
26053 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26054 : : STRIP_UNARY (operands[3])))) &&
26055 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26056 : : (TARGET_AVX512F)) &&
26057 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26058 : : ( 1)))
26059 : : return NULL;
26060 : : return gen_split_1864 (insn, operands);
26061 : :
26062 : : case 7:
26063 : : if (!((
26064 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26065 : : ((32 == 64 || TARGET_AVX512VL
26066 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26067 : : && ix86_pre_reload_split ()
26068 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26069 : : STRIP_UNARY (operands[4]))
26070 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26071 : : STRIP_UNARY (operands[4]))
26072 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26073 : : STRIP_UNARY (operands[3]))
26074 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26075 : : STRIP_UNARY (operands[3])))) &&
26076 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26077 : : (TARGET_AVX)) &&
26078 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26079 : : ( 1)))
26080 : : return NULL;
26081 : : return gen_split_1891 (insn, operands);
26082 : :
26083 : : case 8:
26084 : : if (!(
26085 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26086 : : ((16 == 64 || TARGET_AVX512VL
26087 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26088 : : && ix86_pre_reload_split ()
26089 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26090 : : STRIP_UNARY (operands[4]))
26091 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26092 : : STRIP_UNARY (operands[4]))
26093 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26094 : : STRIP_UNARY (operands[3]))
26095 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26096 : : STRIP_UNARY (operands[3])))) &&
26097 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26098 : : ( 1)))
26099 : : return NULL;
26100 : : return gen_split_1918 (insn, operands);
26101 : :
26102 : : case 9:
26103 : : if (!((
26104 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26105 : : ((64 == 64 || TARGET_AVX512VL
26106 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26107 : : && ix86_pre_reload_split ()
26108 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26109 : : STRIP_UNARY (operands[4]))
26110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26111 : : STRIP_UNARY (operands[4]))
26112 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26113 : : STRIP_UNARY (operands[3]))
26114 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26115 : : STRIP_UNARY (operands[3])))) &&
26116 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26117 : : (TARGET_AVX512F)) &&
26118 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26119 : : ( 1)))
26120 : : return NULL;
26121 : : return gen_split_1945 (insn, operands);
26122 : :
26123 : : case 10:
26124 : : if (!((
26125 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26126 : : ((32 == 64 || TARGET_AVX512VL
26127 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26128 : : && ix86_pre_reload_split ()
26129 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26130 : : STRIP_UNARY (operands[4]))
26131 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26132 : : STRIP_UNARY (operands[4]))
26133 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26134 : : STRIP_UNARY (operands[3]))
26135 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26136 : : STRIP_UNARY (operands[3])))) &&
26137 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26138 : : (TARGET_AVX)) &&
26139 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26140 : : ( 1)))
26141 : : return NULL;
26142 : : return gen_split_1972 (insn, operands);
26143 : :
26144 : : case 11:
26145 : : if (!(
26146 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26147 : : ((16 == 64 || TARGET_AVX512VL
26148 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26149 : : && ix86_pre_reload_split ()
26150 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26151 : : STRIP_UNARY (operands[4]))
26152 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26153 : : STRIP_UNARY (operands[4]))
26154 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26155 : : STRIP_UNARY (operands[3]))
26156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26157 : : STRIP_UNARY (operands[3])))) &&
26158 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26159 : : ( 1)))
26160 : : return NULL;
26161 : : return gen_split_1999 (insn, operands);
26162 : :
26163 : : case 12:
26164 : : if (!((
26165 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26166 : : ((64 == 64 || TARGET_AVX512VL
26167 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26168 : : && ix86_pre_reload_split ()
26169 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26170 : : STRIP_UNARY (operands[4]))
26171 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26172 : : STRIP_UNARY (operands[4]))
26173 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26174 : : STRIP_UNARY (operands[3]))
26175 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26176 : : STRIP_UNARY (operands[3])))) &&
26177 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26178 : : (TARGET_AVX512F)) &&
26179 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26180 : : ( 1)))
26181 : : return NULL;
26182 : : return gen_split_1705 (insn, operands);
26183 : :
26184 : : case 13:
26185 : : if (!((
26186 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26187 : : ((32 == 64 || TARGET_AVX512VL
26188 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26189 : : && ix86_pre_reload_split ()
26190 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26191 : : STRIP_UNARY (operands[4]))
26192 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26193 : : STRIP_UNARY (operands[4]))
26194 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26195 : : STRIP_UNARY (operands[3]))
26196 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26197 : : STRIP_UNARY (operands[3])))) &&
26198 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26199 : : (TARGET_AVX)) &&
26200 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26201 : : ( 1)))
26202 : : return NULL;
26203 : : return gen_split_1732 (insn, operands);
26204 : :
26205 : : case 14:
26206 : : if (!(
26207 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26208 : : ((16 == 64 || TARGET_AVX512VL
26209 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26210 : : && ix86_pre_reload_split ()
26211 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26212 : : STRIP_UNARY (operands[4]))
26213 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26214 : : STRIP_UNARY (operands[4]))
26215 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26216 : : STRIP_UNARY (operands[3]))
26217 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26218 : : STRIP_UNARY (operands[3])))) &&
26219 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26220 : : ( 1)))
26221 : : return NULL;
26222 : : return gen_split_1759 (insn, operands);
26223 : :
26224 : : case 15:
26225 : : if (!((
26226 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26227 : : ((64 == 64 || TARGET_AVX512VL
26228 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26229 : : && ix86_pre_reload_split ()
26230 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26231 : : STRIP_UNARY (operands[4]))
26232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26233 : : STRIP_UNARY (operands[4]))
26234 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26235 : : STRIP_UNARY (operands[3]))
26236 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26237 : : STRIP_UNARY (operands[3])))) &&
26238 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26239 : : (TARGET_AVX512F)) &&
26240 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26241 : : ( 1)))
26242 : : return NULL;
26243 : : return gen_split_1786 (insn, operands);
26244 : :
26245 : : case 16:
26246 : : if (!((
26247 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26248 : : ((32 == 64 || TARGET_AVX512VL
26249 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26250 : : && ix86_pre_reload_split ()
26251 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26252 : : STRIP_UNARY (operands[4]))
26253 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26254 : : STRIP_UNARY (operands[4]))
26255 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26256 : : STRIP_UNARY (operands[3]))
26257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26258 : : STRIP_UNARY (operands[3])))) &&
26259 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26260 : : (TARGET_AVX)) &&
26261 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26262 : : ( 1)))
26263 : : return NULL;
26264 : : return gen_split_1813 (insn, operands);
26265 : :
26266 : : case 17:
26267 : : if (!(
26268 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26269 : : ((16 == 64 || TARGET_AVX512VL
26270 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26271 : : && ix86_pre_reload_split ()
26272 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26273 : : STRIP_UNARY (operands[4]))
26274 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26275 : : STRIP_UNARY (operands[4]))
26276 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26277 : : STRIP_UNARY (operands[3]))
26278 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26279 : : STRIP_UNARY (operands[3])))) &&
26280 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26281 : : ( 1)))
26282 : : return NULL;
26283 : : return gen_split_1840 (insn, operands);
26284 : :
26285 : : case 18:
26286 : : if (!((
26287 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26288 : : ((64 == 64 || TARGET_AVX512VL
26289 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26290 : : && ix86_pre_reload_split ()
26291 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26292 : : STRIP_UNARY (operands[4]))
26293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26294 : : STRIP_UNARY (operands[4]))
26295 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26296 : : STRIP_UNARY (operands[3]))
26297 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26298 : : STRIP_UNARY (operands[3])))) &&
26299 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26300 : : (TARGET_AVX512F)) &&
26301 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26302 : : ( 1)))
26303 : : return NULL;
26304 : : return gen_split_1867 (insn, operands);
26305 : :
26306 : : case 19:
26307 : : if (!((
26308 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26309 : : ((32 == 64 || TARGET_AVX512VL
26310 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26311 : : && ix86_pre_reload_split ()
26312 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26313 : : STRIP_UNARY (operands[4]))
26314 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26315 : : STRIP_UNARY (operands[4]))
26316 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26317 : : STRIP_UNARY (operands[3]))
26318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26319 : : STRIP_UNARY (operands[3])))) &&
26320 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26321 : : (TARGET_AVX)) &&
26322 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26323 : : ( 1)))
26324 : : return NULL;
26325 : : return gen_split_1894 (insn, operands);
26326 : :
26327 : : case 20:
26328 : : if (!(
26329 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26330 : : ((16 == 64 || TARGET_AVX512VL
26331 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26332 : : && ix86_pre_reload_split ()
26333 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26334 : : STRIP_UNARY (operands[4]))
26335 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26336 : : STRIP_UNARY (operands[4]))
26337 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26338 : : STRIP_UNARY (operands[3]))
26339 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26340 : : STRIP_UNARY (operands[3])))) &&
26341 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26342 : : ( 1)))
26343 : : return NULL;
26344 : : return gen_split_1921 (insn, operands);
26345 : :
26346 : : case 21:
26347 : : if (!((
26348 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26349 : : ((64 == 64 || TARGET_AVX512VL
26350 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26351 : : && ix86_pre_reload_split ()
26352 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26353 : : STRIP_UNARY (operands[4]))
26354 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26355 : : STRIP_UNARY (operands[4]))
26356 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26357 : : STRIP_UNARY (operands[3]))
26358 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26359 : : STRIP_UNARY (operands[3])))) &&
26360 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26361 : : (TARGET_AVX512F)) &&
26362 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26363 : : ( 1)))
26364 : : return NULL;
26365 : : return gen_split_1948 (insn, operands);
26366 : :
26367 : : case 22:
26368 : : if (!((
26369 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26370 : : ((32 == 64 || TARGET_AVX512VL
26371 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26372 : : && ix86_pre_reload_split ()
26373 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26374 : : STRIP_UNARY (operands[4]))
26375 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26376 : : STRIP_UNARY (operands[4]))
26377 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26378 : : STRIP_UNARY (operands[3]))
26379 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26380 : : STRIP_UNARY (operands[3])))) &&
26381 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26382 : : (TARGET_AVX)) &&
26383 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26384 : : ( 1)))
26385 : : return NULL;
26386 : : return gen_split_1975 (insn, operands);
26387 : :
26388 : : case 23:
26389 : : if (!(
26390 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26391 : : ((16 == 64 || TARGET_AVX512VL
26392 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26393 : : && ix86_pre_reload_split ()
26394 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26395 : : STRIP_UNARY (operands[4]))
26396 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26397 : : STRIP_UNARY (operands[4]))
26398 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26399 : : STRIP_UNARY (operands[3]))
26400 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26401 : : STRIP_UNARY (operands[3])))) &&
26402 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26403 : : ( 1)))
26404 : : return NULL;
26405 : : return gen_split_2002 (insn, operands);
26406 : :
26407 : : case 24:
26408 : : if (!((
26409 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26410 : : ((64 == 64 || TARGET_AVX512VL
26411 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26412 : : && ix86_pre_reload_split ()
26413 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26414 : : STRIP_UNARY (operands[4]))
26415 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26416 : : STRIP_UNARY (operands[4]))
26417 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26418 : : STRIP_UNARY (operands[3]))
26419 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26420 : : STRIP_UNARY (operands[3])))) &&
26421 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26422 : : (TARGET_AVX512F)) &&
26423 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26424 : : ( 1)))
26425 : : return NULL;
26426 : : return gen_split_1708 (insn, operands);
26427 : :
26428 : : case 25:
26429 : : if (!((
26430 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26431 : : ((32 == 64 || TARGET_AVX512VL
26432 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26433 : : && ix86_pre_reload_split ()
26434 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26435 : : STRIP_UNARY (operands[4]))
26436 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26437 : : STRIP_UNARY (operands[4]))
26438 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26439 : : STRIP_UNARY (operands[3]))
26440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26441 : : STRIP_UNARY (operands[3])))) &&
26442 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26443 : : (TARGET_AVX)) &&
26444 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26445 : : ( 1)))
26446 : : return NULL;
26447 : : return gen_split_1735 (insn, operands);
26448 : :
26449 : : case 26:
26450 : : if (!(
26451 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26452 : : ((16 == 64 || TARGET_AVX512VL
26453 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26454 : : && ix86_pre_reload_split ()
26455 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26456 : : STRIP_UNARY (operands[4]))
26457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26458 : : STRIP_UNARY (operands[4]))
26459 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26460 : : STRIP_UNARY (operands[3]))
26461 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26462 : : STRIP_UNARY (operands[3])))) &&
26463 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26464 : : ( 1)))
26465 : : return NULL;
26466 : : return gen_split_1762 (insn, operands);
26467 : :
26468 : : case 27:
26469 : : if (!((
26470 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26471 : : ((64 == 64 || TARGET_AVX512VL
26472 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26473 : : && ix86_pre_reload_split ()
26474 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26475 : : STRIP_UNARY (operands[4]))
26476 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26477 : : STRIP_UNARY (operands[4]))
26478 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26479 : : STRIP_UNARY (operands[3]))
26480 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26481 : : STRIP_UNARY (operands[3])))) &&
26482 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26483 : : (TARGET_AVX512F)) &&
26484 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26485 : : ( 1)))
26486 : : return NULL;
26487 : : return gen_split_1789 (insn, operands);
26488 : :
26489 : : case 28:
26490 : : if (!((
26491 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26492 : : ((32 == 64 || TARGET_AVX512VL
26493 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26494 : : && ix86_pre_reload_split ()
26495 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26496 : : STRIP_UNARY (operands[4]))
26497 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26498 : : STRIP_UNARY (operands[4]))
26499 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26500 : : STRIP_UNARY (operands[3]))
26501 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26502 : : STRIP_UNARY (operands[3])))) &&
26503 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26504 : : (TARGET_AVX)) &&
26505 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26506 : : ( 1)))
26507 : : return NULL;
26508 : : return gen_split_1816 (insn, operands);
26509 : :
26510 : : case 29:
26511 : : if (!(
26512 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26513 : : ((16 == 64 || TARGET_AVX512VL
26514 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26515 : : && ix86_pre_reload_split ()
26516 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26517 : : STRIP_UNARY (operands[4]))
26518 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26519 : : STRIP_UNARY (operands[4]))
26520 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26521 : : STRIP_UNARY (operands[3]))
26522 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26523 : : STRIP_UNARY (operands[3])))) &&
26524 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26525 : : ( 1)))
26526 : : return NULL;
26527 : : return gen_split_1843 (insn, operands);
26528 : :
26529 : : case 30:
26530 : : if (!((
26531 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26532 : : ((64 == 64 || TARGET_AVX512VL
26533 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26534 : : && ix86_pre_reload_split ()
26535 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26536 : : STRIP_UNARY (operands[4]))
26537 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26538 : : STRIP_UNARY (operands[4]))
26539 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26540 : : STRIP_UNARY (operands[3]))
26541 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26542 : : STRIP_UNARY (operands[3])))) &&
26543 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26544 : : (TARGET_AVX512F)) &&
26545 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26546 : : ( 1)))
26547 : : return NULL;
26548 : : return gen_split_1870 (insn, operands);
26549 : :
26550 : : case 31:
26551 : : if (!((
26552 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26553 : : ((32 == 64 || TARGET_AVX512VL
26554 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26555 : : && ix86_pre_reload_split ()
26556 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26557 : : STRIP_UNARY (operands[4]))
26558 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26559 : : STRIP_UNARY (operands[4]))
26560 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26561 : : STRIP_UNARY (operands[3]))
26562 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26563 : : STRIP_UNARY (operands[3])))) &&
26564 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26565 : : (TARGET_AVX)) &&
26566 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26567 : : ( 1)))
26568 : : return NULL;
26569 : : return gen_split_1897 (insn, operands);
26570 : :
26571 : : case 32:
26572 : : if (!(
26573 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26574 : : ((16 == 64 || TARGET_AVX512VL
26575 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26576 : : && ix86_pre_reload_split ()
26577 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26578 : : STRIP_UNARY (operands[4]))
26579 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26580 : : STRIP_UNARY (operands[4]))
26581 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26582 : : STRIP_UNARY (operands[3]))
26583 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26584 : : STRIP_UNARY (operands[3])))) &&
26585 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26586 : : ( 1)))
26587 : : return NULL;
26588 : : return gen_split_1924 (insn, operands);
26589 : :
26590 : : case 33:
26591 : : if (!((
26592 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26593 : : ((64 == 64 || TARGET_AVX512VL
26594 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26595 : : && ix86_pre_reload_split ()
26596 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26597 : : STRIP_UNARY (operands[4]))
26598 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26599 : : STRIP_UNARY (operands[4]))
26600 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26601 : : STRIP_UNARY (operands[3]))
26602 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26603 : : STRIP_UNARY (operands[3])))) &&
26604 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26605 : : (TARGET_AVX512F)) &&
26606 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26607 : : ( 1)))
26608 : : return NULL;
26609 : : return gen_split_1951 (insn, operands);
26610 : :
26611 : : case 34:
26612 : : if (!((
26613 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26614 : : ((32 == 64 || TARGET_AVX512VL
26615 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26616 : : && ix86_pre_reload_split ()
26617 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26618 : : STRIP_UNARY (operands[4]))
26619 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26620 : : STRIP_UNARY (operands[4]))
26621 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26622 : : STRIP_UNARY (operands[3]))
26623 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26624 : : STRIP_UNARY (operands[3])))) &&
26625 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26626 : : (TARGET_AVX)) &&
26627 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26628 : : ( 1)))
26629 : : return NULL;
26630 : : return gen_split_1978 (insn, operands);
26631 : :
26632 : : case 35:
26633 : : if (!(
26634 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26635 : : ((16 == 64 || TARGET_AVX512VL
26636 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26637 : : && ix86_pre_reload_split ()
26638 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26639 : : STRIP_UNARY (operands[4]))
26640 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26641 : : STRIP_UNARY (operands[4]))
26642 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26643 : : STRIP_UNARY (operands[3]))
26644 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26645 : : STRIP_UNARY (operands[3])))) &&
26646 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26647 : : ( 1)))
26648 : : return NULL;
26649 : : return gen_split_2005 (insn, operands);
26650 : :
26651 : : case 36:
26652 : : if (!((
26653 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26654 : : ((64 == 64 || TARGET_AVX512VL
26655 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26656 : : && ix86_pre_reload_split ()) &&
26657 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26658 : : (TARGET_AVX512F)) &&
26659 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26660 : : ( 1)))
26661 : : return NULL;
26662 : : return gen_split_2992 (insn, operands);
26663 : :
26664 : : case 37:
26665 : : if (!((
26666 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26667 : : ((32 == 64 || TARGET_AVX512VL
26668 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26669 : : && ix86_pre_reload_split ()) &&
26670 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26671 : : (TARGET_AVX)) &&
26672 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26673 : : ( 1)))
26674 : : return NULL;
26675 : : return gen_split_3001 (insn, operands);
26676 : :
26677 : : case 38:
26678 : : if (!(
26679 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26680 : : ((16 == 64 || TARGET_AVX512VL
26681 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26682 : : && ix86_pre_reload_split ()) &&
26683 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26684 : : ( 1)))
26685 : : return NULL;
26686 : : return gen_split_3010 (insn, operands);
26687 : :
26688 : : case 39:
26689 : : if (!((
26690 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26691 : : ((64 == 64 || TARGET_AVX512VL
26692 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26693 : : && ix86_pre_reload_split ()) &&
26694 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26695 : : (TARGET_AVX512F)) &&
26696 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26697 : : ( 1)))
26698 : : return NULL;
26699 : : return gen_split_3019 (insn, operands);
26700 : :
26701 : : case 40:
26702 : : if (!((
26703 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26704 : : ((32 == 64 || TARGET_AVX512VL
26705 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26706 : : && ix86_pre_reload_split ()) &&
26707 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26708 : : (TARGET_AVX)) &&
26709 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26710 : : ( 1)))
26711 : : return NULL;
26712 : : return gen_split_3028 (insn, operands);
26713 : :
26714 : : case 41:
26715 : : if (!(
26716 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26717 : : ((16 == 64 || TARGET_AVX512VL
26718 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26719 : : && ix86_pre_reload_split ()) &&
26720 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26721 : : ( 1)))
26722 : : return NULL;
26723 : : return gen_split_3037 (insn, operands);
26724 : :
26725 : : case 42:
26726 : : if (!((
26727 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26728 : : ((64 == 64 || TARGET_AVX512VL
26729 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26730 : : && ix86_pre_reload_split ()) &&
26731 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26732 : : (TARGET_AVX512F)) &&
26733 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26734 : : ( 1)))
26735 : : return NULL;
26736 : : return gen_split_3046 (insn, operands);
26737 : :
26738 : : case 43:
26739 : : if (!((
26740 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26741 : : ((32 == 64 || TARGET_AVX512VL
26742 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26743 : : && ix86_pre_reload_split ()) &&
26744 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26745 : : (TARGET_AVX)) &&
26746 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26747 : : ( 1)))
26748 : : return NULL;
26749 : : return gen_split_3055 (insn, operands);
26750 : :
26751 : : case 44:
26752 : : if (!(
26753 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26754 : : ((16 == 64 || TARGET_AVX512VL
26755 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26756 : : && ix86_pre_reload_split ()) &&
26757 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26758 : : ( 1)))
26759 : : return NULL;
26760 : : return gen_split_3064 (insn, operands);
26761 : :
26762 : : case 45:
26763 : : if (!((
26764 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26765 : : ((64 == 64 || TARGET_AVX512VL
26766 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26767 : : && ix86_pre_reload_split ()) &&
26768 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26769 : : (TARGET_AVX512F)) &&
26770 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26771 : : ( 1)))
26772 : : return NULL;
26773 : : return gen_split_3073 (insn, operands);
26774 : :
26775 : : case 46:
26776 : : if (!((
26777 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26778 : : ((32 == 64 || TARGET_AVX512VL
26779 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26780 : : && ix86_pre_reload_split ()) &&
26781 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26782 : : (TARGET_AVX)) &&
26783 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26784 : : ( 1)))
26785 : : return NULL;
26786 : : return gen_split_3082 (insn, operands);
26787 : :
26788 : : case 47:
26789 : : if (!(
26790 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26791 : : ((16 == 64 || TARGET_AVX512VL
26792 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26793 : : && ix86_pre_reload_split ()) &&
26794 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26795 : : ( 1)))
26796 : : return NULL;
26797 : : return gen_split_3091 (insn, operands);
26798 : :
26799 : : default:
26800 : : return NULL;
26801 : : }
26802 : :
26803 : : case AND:
26804 : : switch (pattern522 (x2))
26805 : : {
26806 : : case 0:
26807 : : if (!((
26808 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26809 : : ((64 == 64 || TARGET_AVX512VL
26810 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26811 : : && ix86_pre_reload_split ()
26812 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26813 : : STRIP_UNARY (operands[4]))
26814 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26815 : : STRIP_UNARY (operands[4]))
26816 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26817 : : STRIP_UNARY (operands[3]))
26818 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26819 : : STRIP_UNARY (operands[3])))) &&
26820 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26821 : : (TARGET_AVX512F)) &&
26822 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26823 : : ( 1)))
26824 : : return NULL;
26825 : : return gen_split_2350 (insn, operands);
26826 : :
26827 : : case 1:
26828 : : if (!((
26829 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26830 : : ((32 == 64 || TARGET_AVX512VL
26831 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26832 : : && ix86_pre_reload_split ()
26833 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26834 : : STRIP_UNARY (operands[4]))
26835 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26836 : : STRIP_UNARY (operands[4]))
26837 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26838 : : STRIP_UNARY (operands[3]))
26839 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26840 : : STRIP_UNARY (operands[3])))) &&
26841 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26842 : : (TARGET_AVX)) &&
26843 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26844 : : ( 1)))
26845 : : return NULL;
26846 : : return gen_split_2377 (insn, operands);
26847 : :
26848 : : case 2:
26849 : : if (!(
26850 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26851 : : ((16 == 64 || TARGET_AVX512VL
26852 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26853 : : && ix86_pre_reload_split ()
26854 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26855 : : STRIP_UNARY (operands[4]))
26856 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26857 : : STRIP_UNARY (operands[4]))
26858 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26859 : : STRIP_UNARY (operands[3]))
26860 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26861 : : STRIP_UNARY (operands[3])))) &&
26862 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26863 : : ( 1)))
26864 : : return NULL;
26865 : : return gen_split_2404 (insn, operands);
26866 : :
26867 : : case 3:
26868 : : if (!((
26869 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26870 : : ((64 == 64 || TARGET_AVX512VL
26871 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26872 : : && ix86_pre_reload_split ()
26873 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26874 : : STRIP_UNARY (operands[4]))
26875 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26876 : : STRIP_UNARY (operands[4]))
26877 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26878 : : STRIP_UNARY (operands[3]))
26879 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26880 : : STRIP_UNARY (operands[3])))) &&
26881 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26882 : : (TARGET_AVX512F)) &&
26883 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26884 : : ( 1)))
26885 : : return NULL;
26886 : : return gen_split_2431 (insn, operands);
26887 : :
26888 : : case 4:
26889 : : if (!((
26890 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26891 : : ((32 == 64 || TARGET_AVX512VL
26892 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26893 : : && ix86_pre_reload_split ()
26894 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26895 : : STRIP_UNARY (operands[4]))
26896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26897 : : STRIP_UNARY (operands[4]))
26898 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26899 : : STRIP_UNARY (operands[3]))
26900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26901 : : STRIP_UNARY (operands[3])))) &&
26902 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26903 : : (TARGET_AVX)) &&
26904 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26905 : : ( 1)))
26906 : : return NULL;
26907 : : return gen_split_2458 (insn, operands);
26908 : :
26909 : : case 5:
26910 : : if (!(
26911 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26912 : : ((16 == 64 || TARGET_AVX512VL
26913 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26914 : : && ix86_pre_reload_split ()
26915 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26916 : : STRIP_UNARY (operands[4]))
26917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26918 : : STRIP_UNARY (operands[4]))
26919 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26920 : : STRIP_UNARY (operands[3]))
26921 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26922 : : STRIP_UNARY (operands[3])))) &&
26923 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26924 : : ( 1)))
26925 : : return NULL;
26926 : : return gen_split_2485 (insn, operands);
26927 : :
26928 : : case 6:
26929 : : if (!((
26930 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26931 : : ((64 == 64 || TARGET_AVX512VL
26932 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26933 : : && ix86_pre_reload_split ()
26934 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26935 : : STRIP_UNARY (operands[4]))
26936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26937 : : STRIP_UNARY (operands[4]))
26938 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26939 : : STRIP_UNARY (operands[3]))
26940 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26941 : : STRIP_UNARY (operands[3])))) &&
26942 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26943 : : (TARGET_AVX512F)) &&
26944 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26945 : : ( 1)))
26946 : : return NULL;
26947 : : return gen_split_2512 (insn, operands);
26948 : :
26949 : : case 7:
26950 : : if (!((
26951 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26952 : : ((32 == 64 || TARGET_AVX512VL
26953 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26954 : : && ix86_pre_reload_split ()
26955 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26956 : : STRIP_UNARY (operands[4]))
26957 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26958 : : STRIP_UNARY (operands[4]))
26959 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26960 : : STRIP_UNARY (operands[3]))
26961 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26962 : : STRIP_UNARY (operands[3])))) &&
26963 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26964 : : (TARGET_AVX)) &&
26965 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26966 : : ( 1)))
26967 : : return NULL;
26968 : : return gen_split_2539 (insn, operands);
26969 : :
26970 : : case 8:
26971 : : if (!(
26972 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26973 : : ((16 == 64 || TARGET_AVX512VL
26974 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26975 : : && ix86_pre_reload_split ()
26976 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26977 : : STRIP_UNARY (operands[4]))
26978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26979 : : STRIP_UNARY (operands[4]))
26980 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26981 : : STRIP_UNARY (operands[3]))
26982 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26983 : : STRIP_UNARY (operands[3])))) &&
26984 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26985 : : ( 1)))
26986 : : return NULL;
26987 : : return gen_split_2566 (insn, operands);
26988 : :
26989 : : case 9:
26990 : : if (!((
26991 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26992 : : ((64 == 64 || TARGET_AVX512VL
26993 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26994 : : && ix86_pre_reload_split ()
26995 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26996 : : STRIP_UNARY (operands[4]))
26997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26998 : : STRIP_UNARY (operands[4]))
26999 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27000 : : STRIP_UNARY (operands[3]))
27001 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27002 : : STRIP_UNARY (operands[3])))) &&
27003 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27004 : : (TARGET_AVX512F)) &&
27005 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27006 : : ( 1)))
27007 : : return NULL;
27008 : : return gen_split_2593 (insn, operands);
27009 : :
27010 : : case 10:
27011 : : if (!((
27012 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27013 : : ((32 == 64 || TARGET_AVX512VL
27014 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27015 : : && ix86_pre_reload_split ()
27016 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27017 : : STRIP_UNARY (operands[4]))
27018 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27019 : : STRIP_UNARY (operands[4]))
27020 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27021 : : STRIP_UNARY (operands[3]))
27022 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27023 : : STRIP_UNARY (operands[3])))) &&
27024 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27025 : : (TARGET_AVX)) &&
27026 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27027 : : ( 1)))
27028 : : return NULL;
27029 : : return gen_split_2620 (insn, operands);
27030 : :
27031 : : case 11:
27032 : : if (!(
27033 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27034 : : ((16 == 64 || TARGET_AVX512VL
27035 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27036 : : && ix86_pre_reload_split ()
27037 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27038 : : STRIP_UNARY (operands[4]))
27039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27040 : : STRIP_UNARY (operands[4]))
27041 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27042 : : STRIP_UNARY (operands[3]))
27043 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27044 : : STRIP_UNARY (operands[3])))) &&
27045 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27046 : : ( 1)))
27047 : : return NULL;
27048 : : return gen_split_2647 (insn, operands);
27049 : :
27050 : : default:
27051 : : return NULL;
27052 : : }
27053 : :
27054 : : case IOR:
27055 : : switch (pattern522 (x2))
27056 : : {
27057 : : case 0:
27058 : : if (!((
27059 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27060 : : ((64 == 64 || TARGET_AVX512VL
27061 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27062 : : && ix86_pre_reload_split ()
27063 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27064 : : STRIP_UNARY (operands[4]))
27065 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27066 : : STRIP_UNARY (operands[4]))
27067 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27068 : : STRIP_UNARY (operands[3]))
27069 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27070 : : STRIP_UNARY (operands[3])))) &&
27071 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27072 : : (TARGET_AVX512F)) &&
27073 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27074 : : ( 1)))
27075 : : return NULL;
27076 : : return gen_split_2353 (insn, operands);
27077 : :
27078 : : case 1:
27079 : : if (!((
27080 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27081 : : ((32 == 64 || TARGET_AVX512VL
27082 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27083 : : && ix86_pre_reload_split ()
27084 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27085 : : STRIP_UNARY (operands[4]))
27086 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27087 : : STRIP_UNARY (operands[4]))
27088 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27089 : : STRIP_UNARY (operands[3]))
27090 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27091 : : STRIP_UNARY (operands[3])))) &&
27092 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27093 : : (TARGET_AVX)) &&
27094 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27095 : : ( 1)))
27096 : : return NULL;
27097 : : return gen_split_2380 (insn, operands);
27098 : :
27099 : : case 2:
27100 : : if (!(
27101 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27102 : : ((16 == 64 || TARGET_AVX512VL
27103 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27104 : : && ix86_pre_reload_split ()
27105 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27106 : : STRIP_UNARY (operands[4]))
27107 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27108 : : STRIP_UNARY (operands[4]))
27109 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27110 : : STRIP_UNARY (operands[3]))
27111 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27112 : : STRIP_UNARY (operands[3])))) &&
27113 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27114 : : ( 1)))
27115 : : return NULL;
27116 : : return gen_split_2407 (insn, operands);
27117 : :
27118 : : case 3:
27119 : : if (!((
27120 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27121 : : ((64 == 64 || TARGET_AVX512VL
27122 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27123 : : && ix86_pre_reload_split ()
27124 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27125 : : STRIP_UNARY (operands[4]))
27126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27127 : : STRIP_UNARY (operands[4]))
27128 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27129 : : STRIP_UNARY (operands[3]))
27130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27131 : : STRIP_UNARY (operands[3])))) &&
27132 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27133 : : (TARGET_AVX512F)) &&
27134 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27135 : : ( 1)))
27136 : : return NULL;
27137 : : return gen_split_2434 (insn, operands);
27138 : :
27139 : : case 4:
27140 : : if (!((
27141 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27142 : : ((32 == 64 || TARGET_AVX512VL
27143 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27144 : : && ix86_pre_reload_split ()
27145 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27146 : : STRIP_UNARY (operands[4]))
27147 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27148 : : STRIP_UNARY (operands[4]))
27149 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27150 : : STRIP_UNARY (operands[3]))
27151 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27152 : : STRIP_UNARY (operands[3])))) &&
27153 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27154 : : (TARGET_AVX)) &&
27155 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27156 : : ( 1)))
27157 : : return NULL;
27158 : : return gen_split_2461 (insn, operands);
27159 : :
27160 : : case 5:
27161 : : if (!(
27162 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27163 : : ((16 == 64 || TARGET_AVX512VL
27164 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27165 : : && ix86_pre_reload_split ()
27166 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27167 : : STRIP_UNARY (operands[4]))
27168 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27169 : : STRIP_UNARY (operands[4]))
27170 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27171 : : STRIP_UNARY (operands[3]))
27172 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27173 : : STRIP_UNARY (operands[3])))) &&
27174 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27175 : : ( 1)))
27176 : : return NULL;
27177 : : return gen_split_2488 (insn, operands);
27178 : :
27179 : : case 6:
27180 : : if (!((
27181 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27182 : : ((64 == 64 || TARGET_AVX512VL
27183 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27184 : : && ix86_pre_reload_split ()
27185 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27186 : : STRIP_UNARY (operands[4]))
27187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27188 : : STRIP_UNARY (operands[4]))
27189 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27190 : : STRIP_UNARY (operands[3]))
27191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27192 : : STRIP_UNARY (operands[3])))) &&
27193 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27194 : : (TARGET_AVX512F)) &&
27195 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27196 : : ( 1)))
27197 : : return NULL;
27198 : : return gen_split_2515 (insn, operands);
27199 : :
27200 : : case 7:
27201 : : if (!((
27202 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27203 : : ((32 == 64 || TARGET_AVX512VL
27204 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27205 : : && ix86_pre_reload_split ()
27206 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27207 : : STRIP_UNARY (operands[4]))
27208 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27209 : : STRIP_UNARY (operands[4]))
27210 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27211 : : STRIP_UNARY (operands[3]))
27212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27213 : : STRIP_UNARY (operands[3])))) &&
27214 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27215 : : (TARGET_AVX)) &&
27216 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27217 : : ( 1)))
27218 : : return NULL;
27219 : : return gen_split_2542 (insn, operands);
27220 : :
27221 : : case 8:
27222 : : if (!(
27223 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27224 : : ((16 == 64 || TARGET_AVX512VL
27225 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27226 : : && ix86_pre_reload_split ()
27227 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27228 : : STRIP_UNARY (operands[4]))
27229 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27230 : : STRIP_UNARY (operands[4]))
27231 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27232 : : STRIP_UNARY (operands[3]))
27233 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27234 : : STRIP_UNARY (operands[3])))) &&
27235 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27236 : : ( 1)))
27237 : : return NULL;
27238 : : return gen_split_2569 (insn, operands);
27239 : :
27240 : : case 9:
27241 : : if (!((
27242 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27243 : : ((64 == 64 || TARGET_AVX512VL
27244 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27245 : : && ix86_pre_reload_split ()
27246 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27247 : : STRIP_UNARY (operands[4]))
27248 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27249 : : STRIP_UNARY (operands[4]))
27250 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27251 : : STRIP_UNARY (operands[3]))
27252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27253 : : STRIP_UNARY (operands[3])))) &&
27254 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27255 : : (TARGET_AVX512F)) &&
27256 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27257 : : ( 1)))
27258 : : return NULL;
27259 : : return gen_split_2596 (insn, operands);
27260 : :
27261 : : case 10:
27262 : : if (!((
27263 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27264 : : ((32 == 64 || TARGET_AVX512VL
27265 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27266 : : && ix86_pre_reload_split ()
27267 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27268 : : STRIP_UNARY (operands[4]))
27269 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27270 : : STRIP_UNARY (operands[4]))
27271 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27272 : : STRIP_UNARY (operands[3]))
27273 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27274 : : STRIP_UNARY (operands[3])))) &&
27275 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27276 : : (TARGET_AVX)) &&
27277 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27278 : : ( 1)))
27279 : : return NULL;
27280 : : return gen_split_2623 (insn, operands);
27281 : :
27282 : : case 11:
27283 : : if (!(
27284 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27285 : : ((16 == 64 || TARGET_AVX512VL
27286 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27287 : : && ix86_pre_reload_split ()
27288 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27289 : : STRIP_UNARY (operands[4]))
27290 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27291 : : STRIP_UNARY (operands[4]))
27292 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27293 : : STRIP_UNARY (operands[3]))
27294 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27295 : : STRIP_UNARY (operands[3])))) &&
27296 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27297 : : ( 1)))
27298 : : return NULL;
27299 : : return gen_split_2650 (insn, operands);
27300 : :
27301 : : default:
27302 : : return NULL;
27303 : : }
27304 : :
27305 : : case XOR:
27306 : : switch (pattern522 (x2))
27307 : : {
27308 : : case 0:
27309 : : if (!((
27310 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27311 : : ((64 == 64 || TARGET_AVX512VL
27312 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27313 : : && ix86_pre_reload_split ()
27314 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27315 : : STRIP_UNARY (operands[4]))
27316 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27317 : : STRIP_UNARY (operands[4]))
27318 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27319 : : STRIP_UNARY (operands[3]))
27320 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27321 : : STRIP_UNARY (operands[3])))) &&
27322 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27323 : : (TARGET_AVX512F)) &&
27324 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27325 : : ( 1)))
27326 : : return NULL;
27327 : : return gen_split_2356 (insn, operands);
27328 : :
27329 : : case 1:
27330 : : if (!((
27331 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27332 : : ((32 == 64 || TARGET_AVX512VL
27333 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27334 : : && ix86_pre_reload_split ()
27335 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27336 : : STRIP_UNARY (operands[4]))
27337 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27338 : : STRIP_UNARY (operands[4]))
27339 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27340 : : STRIP_UNARY (operands[3]))
27341 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27342 : : STRIP_UNARY (operands[3])))) &&
27343 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27344 : : (TARGET_AVX)) &&
27345 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27346 : : ( 1)))
27347 : : return NULL;
27348 : : return gen_split_2383 (insn, operands);
27349 : :
27350 : : case 2:
27351 : : if (!(
27352 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27353 : : ((16 == 64 || TARGET_AVX512VL
27354 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27355 : : && ix86_pre_reload_split ()
27356 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27357 : : STRIP_UNARY (operands[4]))
27358 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27359 : : STRIP_UNARY (operands[4]))
27360 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27361 : : STRIP_UNARY (operands[3]))
27362 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27363 : : STRIP_UNARY (operands[3])))) &&
27364 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27365 : : ( 1)))
27366 : : return NULL;
27367 : : return gen_split_2410 (insn, operands);
27368 : :
27369 : : case 3:
27370 : : if (!((
27371 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27372 : : ((64 == 64 || TARGET_AVX512VL
27373 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27374 : : && ix86_pre_reload_split ()
27375 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27376 : : STRIP_UNARY (operands[4]))
27377 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27378 : : STRIP_UNARY (operands[4]))
27379 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27380 : : STRIP_UNARY (operands[3]))
27381 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27382 : : STRIP_UNARY (operands[3])))) &&
27383 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27384 : : (TARGET_AVX512F)) &&
27385 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27386 : : ( 1)))
27387 : : return NULL;
27388 : : return gen_split_2437 (insn, operands);
27389 : :
27390 : : case 4:
27391 : : if (!((
27392 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27393 : : ((32 == 64 || TARGET_AVX512VL
27394 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27395 : : && ix86_pre_reload_split ()
27396 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27397 : : STRIP_UNARY (operands[4]))
27398 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27399 : : STRIP_UNARY (operands[4]))
27400 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27401 : : STRIP_UNARY (operands[3]))
27402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27403 : : STRIP_UNARY (operands[3])))) &&
27404 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27405 : : (TARGET_AVX)) &&
27406 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27407 : : ( 1)))
27408 : : return NULL;
27409 : : return gen_split_2464 (insn, operands);
27410 : :
27411 : : case 5:
27412 : : if (!(
27413 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27414 : : ((16 == 64 || TARGET_AVX512VL
27415 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27416 : : && ix86_pre_reload_split ()
27417 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27418 : : STRIP_UNARY (operands[4]))
27419 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27420 : : STRIP_UNARY (operands[4]))
27421 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27422 : : STRIP_UNARY (operands[3]))
27423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27424 : : STRIP_UNARY (operands[3])))) &&
27425 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27426 : : ( 1)))
27427 : : return NULL;
27428 : : return gen_split_2491 (insn, operands);
27429 : :
27430 : : case 6:
27431 : : if (!((
27432 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27433 : : ((64 == 64 || TARGET_AVX512VL
27434 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27435 : : && ix86_pre_reload_split ()
27436 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27437 : : STRIP_UNARY (operands[4]))
27438 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27439 : : STRIP_UNARY (operands[4]))
27440 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27441 : : STRIP_UNARY (operands[3]))
27442 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27443 : : STRIP_UNARY (operands[3])))) &&
27444 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27445 : : (TARGET_AVX512F)) &&
27446 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27447 : : ( 1)))
27448 : : return NULL;
27449 : : return gen_split_2518 (insn, operands);
27450 : :
27451 : : case 7:
27452 : : if (!((
27453 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27454 : : ((32 == 64 || TARGET_AVX512VL
27455 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27456 : : && ix86_pre_reload_split ()
27457 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27458 : : STRIP_UNARY (operands[4]))
27459 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27460 : : STRIP_UNARY (operands[4]))
27461 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27462 : : STRIP_UNARY (operands[3]))
27463 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27464 : : STRIP_UNARY (operands[3])))) &&
27465 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27466 : : (TARGET_AVX)) &&
27467 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27468 : : ( 1)))
27469 : : return NULL;
27470 : : return gen_split_2545 (insn, operands);
27471 : :
27472 : : case 8:
27473 : : if (!(
27474 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27475 : : ((16 == 64 || TARGET_AVX512VL
27476 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27477 : : && ix86_pre_reload_split ()
27478 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27479 : : STRIP_UNARY (operands[4]))
27480 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27481 : : STRIP_UNARY (operands[4]))
27482 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27483 : : STRIP_UNARY (operands[3]))
27484 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27485 : : STRIP_UNARY (operands[3])))) &&
27486 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27487 : : ( 1)))
27488 : : return NULL;
27489 : : return gen_split_2572 (insn, operands);
27490 : :
27491 : : case 9:
27492 : : if (!((
27493 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27494 : : ((64 == 64 || TARGET_AVX512VL
27495 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27496 : : && ix86_pre_reload_split ()
27497 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27498 : : STRIP_UNARY (operands[4]))
27499 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27500 : : STRIP_UNARY (operands[4]))
27501 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27502 : : STRIP_UNARY (operands[3]))
27503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27504 : : STRIP_UNARY (operands[3])))) &&
27505 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27506 : : (TARGET_AVX512F)) &&
27507 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27508 : : ( 1)))
27509 : : return NULL;
27510 : : return gen_split_2599 (insn, operands);
27511 : :
27512 : : case 10:
27513 : : if (!((
27514 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27515 : : ((32 == 64 || TARGET_AVX512VL
27516 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27517 : : && ix86_pre_reload_split ()
27518 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27519 : : STRIP_UNARY (operands[4]))
27520 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27521 : : STRIP_UNARY (operands[4]))
27522 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27523 : : STRIP_UNARY (operands[3]))
27524 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27525 : : STRIP_UNARY (operands[3])))) &&
27526 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27527 : : (TARGET_AVX)) &&
27528 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27529 : : ( 1)))
27530 : : return NULL;
27531 : : return gen_split_2626 (insn, operands);
27532 : :
27533 : : case 11:
27534 : : if (!(
27535 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27536 : : ((16 == 64 || TARGET_AVX512VL
27537 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27538 : : && ix86_pre_reload_split ()
27539 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27540 : : STRIP_UNARY (operands[4]))
27541 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27542 : : STRIP_UNARY (operands[4]))
27543 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27544 : : STRIP_UNARY (operands[3]))
27545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27546 : : STRIP_UNARY (operands[3])))) &&
27547 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27548 : : ( 1)))
27549 : : return NULL;
27550 : : return gen_split_2653 (insn, operands);
27551 : :
27552 : : default:
27553 : : return NULL;
27554 : : }
27555 : :
27556 : : default:
27557 : : return NULL;
27558 : : }
27559 : : }
27560 : :
27561 : : rtx_insn *
27562 : : split_80 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27563 : : {
27564 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27565 : : rtx x2, x3, x4, x5, x6, x7;
27566 : : rtx_insn *res ATTRIBUTE_UNUSED;
27567 : : x2 = XEXP (x1, 1);
27568 : : x3 = XEXP (x2, 1);
27569 : : switch (GET_CODE (x3))
27570 : : {
27571 : : case VEC_SELECT:
27572 : : if (GET_MODE (x3) != E_DFmode)
27573 : : return NULL;
27574 : : x4 = XEXP (x3, 1);
27575 : : if (GET_CODE (x4) != PARALLEL
27576 : : || XVECLEN (x4, 0) != 1)
27577 : : return NULL;
27578 : : x5 = XVECEXP (x4, 0, 0);
27579 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
27580 : : || !memory_operand (operands[0], E_V2DFmode)
27581 : : || GET_MODE (x2) != E_V2DFmode
27582 : : || !register_operand (operands[1], E_DFmode))
27583 : : return NULL;
27584 : : x6 = XEXP (x3, 0);
27585 : : if (!rtx_equal_p (x6, operands[0])
27586 : : || !
27587 : : #line 14868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27588 : : (TARGET_SSE2 && reload_completed))
27589 : : return NULL;
27590 : : return gen_split_3208 (insn, operands);
27591 : :
27592 : : case UNSPEC:
27593 : : if (XVECLEN (x3, 0) != 1
27594 : : || XINT (x3, 1) != 148)
27595 : : return NULL;
27596 : : x7 = XVECEXP (x3, 0, 0);
27597 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
27598 : : return NULL;
27599 : : switch (GET_MODE (operands[0]))
27600 : : {
27601 : : case E_V8SImode:
27602 : : if (pattern1020 (x2,
27603 : : E_V4SImode,
27604 : : E_V8SImode) != 0
27605 : : || !(
27606 : : #line 28955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27607 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27608 : : #line 28957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27609 : : ( reload_completed)))
27610 : : return NULL;
27611 : : return gen_split_3807 (insn, operands);
27612 : :
27613 : : case E_V8SFmode:
27614 : : if (pattern1020 (x2,
27615 : : E_V4SFmode,
27616 : : E_V8SFmode) != 0
27617 : : || !(
27618 : : #line 28955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27619 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27620 : : #line 28957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27621 : : ( reload_completed)))
27622 : : return NULL;
27623 : : return gen_split_3808 (insn, operands);
27624 : :
27625 : : case E_V4DFmode:
27626 : : if (pattern1020 (x2,
27627 : : E_V2DFmode,
27628 : : E_V4DFmode) != 0
27629 : : || !(
27630 : : #line 28955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27631 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27632 : : #line 28957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27633 : : ( reload_completed)))
27634 : : return NULL;
27635 : : return gen_split_3809 (insn, operands);
27636 : :
27637 : : case E_V16SImode:
27638 : : if (pattern1020 (x2,
27639 : : E_V8SImode,
27640 : : E_V16SImode) != 0
27641 : : || !(
27642 : : #line 30297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27643 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27644 : : #line 30299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27645 : : ( reload_completed)))
27646 : : return NULL;
27647 : : return gen_split_3855 (insn, operands);
27648 : :
27649 : : case E_V16SFmode:
27650 : : if (pattern1020 (x2,
27651 : : E_V8SFmode,
27652 : : E_V16SFmode) != 0
27653 : : || !(
27654 : : #line 30297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27655 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27656 : : #line 30299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27657 : : ( reload_completed)))
27658 : : return NULL;
27659 : : return gen_split_3856 (insn, operands);
27660 : :
27661 : : case E_V8DFmode:
27662 : : if (pattern1020 (x2,
27663 : : E_V4DFmode,
27664 : : E_V8DFmode) != 0
27665 : : || !(
27666 : : #line 30297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27667 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
27668 : : #line 30299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27669 : : ( reload_completed)))
27670 : : return NULL;
27671 : : return gen_split_3857 (insn, operands);
27672 : :
27673 : : default:
27674 : : return NULL;
27675 : : }
27676 : :
27677 : : default:
27678 : : return NULL;
27679 : : }
27680 : : }
27681 : :
27682 : : rtx_insn *
27683 : : split_83 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27684 : : {
27685 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27686 : : rtx x2, x3, x4, x5, x6;
27687 : : rtx_insn *res ATTRIBUTE_UNUSED;
27688 : : x2 = XEXP (x1, 1);
27689 : : x3 = XEXP (x2, 1);
27690 : : if (GET_CODE (x3) != PARALLEL)
27691 : : return NULL;
27692 : : x4 = XEXP (x2, 0);
27693 : : switch (GET_CODE (x4))
27694 : : {
27695 : : case VEC_CONCAT:
27696 : : x5 = XEXP (x4, 0);
27697 : : switch (GET_CODE (x5))
27698 : : {
27699 : : case MINUS:
27700 : : switch (pattern707 (x2,
27701 : : PLUS))
27702 : : {
27703 : : case 0:
27704 : : if (pattern1659 (x4,
27705 : : E_V8SFmode,
27706 : : E_V16SFmode) != 0
27707 : : || !(
27708 : : #line 3592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27709 : : (TARGET_SSE3
27710 : : && can_create_pseudo_p ()
27711 : : && ((rtx_equal_p (operands[1], operands[3])
27712 : : && rtx_equal_p (operands[2], operands[4]))
27713 : : || (rtx_equal_p (operands[1], operands[4])
27714 : : && rtx_equal_p (operands[2], operands[3])))) &&
27715 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27716 : : (TARGET_AVX)))
27717 : : return NULL;
27718 : : return gen_split_1340 (insn, operands);
27719 : :
27720 : : case 1:
27721 : : if (pattern1659 (x4,
27722 : : E_V4SFmode,
27723 : : E_V8SFmode) != 0
27724 : : || !
27725 : : #line 3592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27726 : : (TARGET_SSE3
27727 : : && can_create_pseudo_p ()
27728 : : && ((rtx_equal_p (operands[1], operands[3])
27729 : : && rtx_equal_p (operands[2], operands[4]))
27730 : : || (rtx_equal_p (operands[1], operands[4])
27731 : : && rtx_equal_p (operands[2], operands[3])))))
27732 : : return NULL;
27733 : : return gen_split_1341 (insn, operands);
27734 : :
27735 : : case 2:
27736 : : if (pattern1659 (x4,
27737 : : E_V4DFmode,
27738 : : E_V8DFmode) != 0
27739 : : || !(
27740 : : #line 3592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27741 : : (TARGET_SSE3
27742 : : && can_create_pseudo_p ()
27743 : : && ((rtx_equal_p (operands[1], operands[3])
27744 : : && rtx_equal_p (operands[2], operands[4]))
27745 : : || (rtx_equal_p (operands[1], operands[4])
27746 : : && rtx_equal_p (operands[2], operands[3])))) &&
27747 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27748 : : (TARGET_AVX)))
27749 : : return NULL;
27750 : : return gen_split_1342 (insn, operands);
27751 : :
27752 : : case 3:
27753 : : if (pattern1659 (x4,
27754 : : E_V2DFmode,
27755 : : E_V4DFmode) != 0
27756 : : || !(
27757 : : #line 3592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27758 : : (TARGET_SSE3
27759 : : && can_create_pseudo_p ()
27760 : : && ((rtx_equal_p (operands[1], operands[3])
27761 : : && rtx_equal_p (operands[2], operands[4]))
27762 : : || (rtx_equal_p (operands[1], operands[4])
27763 : : && rtx_equal_p (operands[2], operands[3])))) &&
27764 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27765 : : (TARGET_SSE2)))
27766 : : return NULL;
27767 : : return gen_split_1343 (insn, operands);
27768 : :
27769 : : default:
27770 : : return NULL;
27771 : : }
27772 : :
27773 : : case PLUS:
27774 : : switch (pattern707 (x2,
27775 : : MINUS))
27776 : : {
27777 : : case 0:
27778 : : if (pattern1660 (x4,
27779 : : E_V8SFmode,
27780 : : E_V16SFmode) != 0
27781 : : || !(
27782 : : #line 3626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27783 : : (TARGET_SSE3
27784 : : && can_create_pseudo_p ()
27785 : : && ((rtx_equal_p (operands[1], operands[3])
27786 : : && rtx_equal_p (operands[2], operands[4]))
27787 : : || (rtx_equal_p (operands[1], operands[4])
27788 : : && rtx_equal_p (operands[2], operands[3])))) &&
27789 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27790 : : (TARGET_AVX)))
27791 : : return NULL;
27792 : : return gen_split_1344 (insn, operands);
27793 : :
27794 : : case 1:
27795 : : if (pattern1660 (x4,
27796 : : E_V4SFmode,
27797 : : E_V8SFmode) != 0
27798 : : || !
27799 : : #line 3626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27800 : : (TARGET_SSE3
27801 : : && can_create_pseudo_p ()
27802 : : && ((rtx_equal_p (operands[1], operands[3])
27803 : : && rtx_equal_p (operands[2], operands[4]))
27804 : : || (rtx_equal_p (operands[1], operands[4])
27805 : : && rtx_equal_p (operands[2], operands[3])))))
27806 : : return NULL;
27807 : : return gen_split_1345 (insn, operands);
27808 : :
27809 : : case 2:
27810 : : if (pattern1660 (x4,
27811 : : E_V4DFmode,
27812 : : E_V8DFmode) != 0
27813 : : || !(
27814 : : #line 3626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27815 : : (TARGET_SSE3
27816 : : && can_create_pseudo_p ()
27817 : : && ((rtx_equal_p (operands[1], operands[3])
27818 : : && rtx_equal_p (operands[2], operands[4]))
27819 : : || (rtx_equal_p (operands[1], operands[4])
27820 : : && rtx_equal_p (operands[2], operands[3])))) &&
27821 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27822 : : (TARGET_AVX)))
27823 : : return NULL;
27824 : : return gen_split_1346 (insn, operands);
27825 : :
27826 : : case 3:
27827 : : if (pattern1660 (x4,
27828 : : E_V2DFmode,
27829 : : E_V4DFmode) != 0
27830 : : || !(
27831 : : #line 3626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27832 : : (TARGET_SSE3
27833 : : && can_create_pseudo_p ()
27834 : : && ((rtx_equal_p (operands[1], operands[3])
27835 : : && rtx_equal_p (operands[2], operands[4]))
27836 : : || (rtx_equal_p (operands[1], operands[4])
27837 : : && rtx_equal_p (operands[2], operands[3])))) &&
27838 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27839 : : (TARGET_SSE2)))
27840 : : return NULL;
27841 : : return gen_split_1347 (insn, operands);
27842 : :
27843 : : default:
27844 : : return NULL;
27845 : : }
27846 : :
27847 : : case REG:
27848 : : case SUBREG:
27849 : : case MEM:
27850 : : operands[1] = x5;
27851 : : x6 = XEXP (x4, 1);
27852 : : switch (GET_CODE (x6))
27853 : : {
27854 : : case REG:
27855 : : case SUBREG:
27856 : : case MEM:
27857 : : res = split_62 (x1, insn);
27858 : : if (res != NULL_RTX)
27859 : : return res;
27860 : : break;
27861 : :
27862 : : case CONST_INT:
27863 : : case CONST_DOUBLE:
27864 : : case CONST_VECTOR:
27865 : : switch (pattern786 (x2))
27866 : : {
27867 : : case 0:
27868 : : if ((
27869 : : #line 24173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27870 : : (TARGET_AVX2) &&
27871 : : #line 24175 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27872 : : ( reload_completed)))
27873 : : return gen_split_3542 (insn, operands);
27874 : : break;
27875 : :
27876 : : case 1:
27877 : : if ((
27878 : : #line 24226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27879 : : (TARGET_AVX512BW) &&
27880 : : #line 24228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27881 : : ( reload_completed)))
27882 : : return gen_split_3546 (insn, operands);
27883 : : break;
27884 : :
27885 : : case 2:
27886 : : if ((
27887 : : #line 24322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27888 : : (TARGET_SSE4_1) &&
27889 : : #line 24324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27890 : : ( reload_completed)))
27891 : : return gen_split_3554 (insn, operands);
27892 : : break;
27893 : :
27894 : : case 3:
27895 : : if ((
27896 : : #line 24570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27897 : : (TARGET_AVX512F) &&
27898 : : #line 24572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27899 : : ( reload_completed)))
27900 : : return gen_split_3566 (insn, operands);
27901 : : break;
27902 : :
27903 : : case 4:
27904 : : if ((
27905 : : #line 24624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27906 : : (TARGET_AVX2) &&
27907 : : #line 24626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27908 : : ( reload_completed)))
27909 : : return gen_split_3570 (insn, operands);
27910 : : break;
27911 : :
27912 : : case 5:
27913 : : if ((
27914 : : #line 24729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27915 : : (TARGET_SSE4_1) &&
27916 : : #line 24731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27917 : : ( reload_completed)))
27918 : : return gen_split_3578 (insn, operands);
27919 : : break;
27920 : :
27921 : : case 6:
27922 : : if (pmovzx_parallel (operands[3], E_VOIDmode)
27923 : : && (
27924 : : #line 25126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27925 : : (TARGET_AVX512F) &&
27926 : : #line 25128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27927 : : ( reload_completed)))
27928 : : return gen_split_3601 (insn, operands);
27929 : : if (movq_parallel (operands[3], E_VOIDmode)
27930 : : && ((
27931 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27932 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27933 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27934 : : (TARGET_AVX512F)) &&
27935 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27936 : : ( 1)))
27937 : : return gen_split_3816 (insn, operands);
27938 : : break;
27939 : :
27940 : : case 7:
27941 : : if (pmovzx_parallel (operands[3], E_VOIDmode)
27942 : : && (
27943 : : #line 25178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27944 : : (TARGET_AVX2) &&
27945 : : #line 25180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27946 : : ( reload_completed)))
27947 : : return gen_split_3603 (insn, operands);
27948 : : if (movq_parallel (operands[3], E_VOIDmode)
27949 : : && ((
27950 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27951 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27952 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27953 : : (TARGET_AVX)) &&
27954 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27955 : : ( 1)))
27956 : : return gen_split_3817 (insn, operands);
27957 : : break;
27958 : :
27959 : : case 8:
27960 : : if (vector_operand (operands[1], E_V4SImode)
27961 : : && pmovzx_parallel (operands[3], E_VOIDmode)
27962 : : && (
27963 : : #line 25263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27964 : : (TARGET_SSE4_1) &&
27965 : : #line 25265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27966 : : ( reload_completed)))
27967 : : return gen_split_3609 (insn, operands);
27968 : : if (nonimmediate_operand (operands[1], E_V4SImode)
27969 : : && movq_parallel (operands[3], E_VOIDmode)
27970 : : && (
27971 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27972 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27973 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27974 : : ( 1)))
27975 : : return gen_split_3818 (insn, operands);
27976 : : break;
27977 : :
27978 : : case 9:
27979 : : if (((
27980 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27981 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27982 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27983 : : (TARGET_AVX512F)) &&
27984 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27985 : : ( 1)))
27986 : : return gen_split_3819 (insn, operands);
27987 : : break;
27988 : :
27989 : : case 10:
27990 : : if (((
27991 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27992 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27993 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27994 : : (TARGET_AVX)) &&
27995 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27996 : : ( 1)))
27997 : : return gen_split_3820 (insn, operands);
27998 : : break;
27999 : :
28000 : : case 11:
28001 : : if ((
28002 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28003 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28004 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28005 : : ( 1)))
28006 : : return gen_split_3821 (insn, operands);
28007 : : break;
28008 : :
28009 : : case 12:
28010 : : if (((
28011 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28012 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28013 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28014 : : (TARGET_AVX512F)) &&
28015 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28016 : : ( 1)))
28017 : : return gen_split_3822 (insn, operands);
28018 : : break;
28019 : :
28020 : : case 13:
28021 : : if (((
28022 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28023 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28024 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28025 : : (TARGET_AVX)) &&
28026 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28027 : : ( 1)))
28028 : : return gen_split_3823 (insn, operands);
28029 : : break;
28030 : :
28031 : : case 14:
28032 : : if ((
28033 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28034 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28035 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28036 : : ( 1)))
28037 : : return gen_split_3824 (insn, operands);
28038 : : break;
28039 : :
28040 : : case 15:
28041 : : if (((
28042 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28043 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28044 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28045 : : (TARGET_AVX512F)) &&
28046 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28047 : : ( 1)))
28048 : : return gen_split_3825 (insn, operands);
28049 : : break;
28050 : :
28051 : : case 16:
28052 : : if (((
28053 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28054 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28055 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28056 : : (TARGET_AVX)) &&
28057 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28058 : : ( 1)))
28059 : : return gen_split_3826 (insn, operands);
28060 : : break;
28061 : :
28062 : : case 17:
28063 : : if ((
28064 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28065 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28066 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28067 : : ( 1)))
28068 : : return gen_split_3827 (insn, operands);
28069 : : break;
28070 : :
28071 : : case 18:
28072 : : if (((
28073 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28074 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28075 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28076 : : (TARGET_AVX512F)) &&
28077 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28078 : : ( 1)))
28079 : : return gen_split_3828 (insn, operands);
28080 : : break;
28081 : :
28082 : : case 19:
28083 : : if (((
28084 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28085 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28086 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28087 : : (TARGET_AVX)) &&
28088 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28089 : : ( 1)))
28090 : : return gen_split_3829 (insn, operands);
28091 : : break;
28092 : :
28093 : : case 20:
28094 : : if ((
28095 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28096 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28097 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28098 : : ( 1)))
28099 : : return gen_split_3830 (insn, operands);
28100 : : break;
28101 : :
28102 : : case 21:
28103 : : if (((
28104 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28105 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28106 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28107 : : (TARGET_AVX512F)) &&
28108 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28109 : : ( 1)))
28110 : : return gen_split_3831 (insn, operands);
28111 : : break;
28112 : :
28113 : : case 22:
28114 : : if (((
28115 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28116 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28117 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28118 : : (TARGET_AVX)) &&
28119 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28120 : : ( 1)))
28121 : : return gen_split_3832 (insn, operands);
28122 : : break;
28123 : :
28124 : : case 23:
28125 : : if (((
28126 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28127 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28128 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28129 : : (TARGET_SSE2)) &&
28130 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28131 : : ( 1)))
28132 : : return gen_split_3833 (insn, operands);
28133 : : break;
28134 : :
28135 : : default:
28136 : : break;
28137 : : }
28138 : : break;
28139 : :
28140 : : default:
28141 : : break;
28142 : : }
28143 : : if (XVECLEN (x3, 0) >= 1)
28144 : : {
28145 : : switch (pattern788 (x2))
28146 : : {
28147 : : case 0:
28148 : : if ((
28149 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28150 : : (TARGET_AVX && ix86_pre_reload_split ()) &&
28151 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28152 : : ( 1)))
28153 : : return gen_split_3775 (insn, operands);
28154 : : break;
28155 : :
28156 : : case 1:
28157 : : if ((
28158 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28159 : : (TARGET_AVX && ix86_pre_reload_split ()) &&
28160 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28161 : : ( 1)))
28162 : : return gen_split_3776 (insn, operands);
28163 : : break;
28164 : :
28165 : : case 2:
28166 : : if ((
28167 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28168 : : (TARGET_AVX && ix86_pre_reload_split ()) &&
28169 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28170 : : ( 1)))
28171 : : return gen_split_3777 (insn, operands);
28172 : : break;
28173 : :
28174 : : case 3:
28175 : : if ((
28176 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28177 : : (TARGET_AVX && ix86_pre_reload_split ()) &&
28178 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28179 : : ( 1)))
28180 : : return gen_split_3778 (insn, operands);
28181 : : break;
28182 : :
28183 : : case 4:
28184 : : if ((
28185 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28186 : : (TARGET_AVX && ix86_pre_reload_split ()) &&
28187 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28188 : : ( 1)))
28189 : : return gen_split_3779 (insn, operands);
28190 : : break;
28191 : :
28192 : : case 5:
28193 : : if ((
28194 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28195 : : (TARGET_AVX && ix86_pre_reload_split ()) &&
28196 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28197 : : ( 1)))
28198 : : return gen_split_3780 (insn, operands);
28199 : : break;
28200 : :
28201 : : case 6:
28202 : : if ((
28203 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28204 : : (TARGET_AVX && ix86_pre_reload_split ()) &&
28205 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28206 : : ( 1)))
28207 : : return gen_split_3781 (insn, operands);
28208 : : break;
28209 : :
28210 : : case 7:
28211 : : if ((
28212 : : #line 28160 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28213 : : (TARGET_AVX && ix86_pre_reload_split ()) &&
28214 : : #line 28162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28215 : : ( 1)))
28216 : : return gen_split_3782 (insn, operands);
28217 : : break;
28218 : :
28219 : : default:
28220 : : break;
28221 : : }
28222 : : }
28223 : : if (XVECLEN (x3, 0) < 1)
28224 : : return NULL;
28225 : : operands[4] = x3;
28226 : : switch (pattern789 (x2))
28227 : : {
28228 : : case 0:
28229 : : if ((
28230 : : #line 24193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28231 : : (TARGET_AVX2) &&
28232 : : #line 24195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28233 : : ( reload_completed)))
28234 : : return gen_split_3543 (insn, operands);
28235 : : break;
28236 : :
28237 : : case 1:
28238 : : if ((
28239 : : #line 24193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28240 : : (TARGET_AVX2) &&
28241 : : #line 24195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28242 : : ( reload_completed)))
28243 : : return gen_split_3544 (insn, operands);
28244 : : break;
28245 : :
28246 : : case 2:
28247 : : if ((
28248 : : #line 24193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28249 : : (TARGET_AVX2) &&
28250 : : #line 24195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28251 : : ( reload_completed)))
28252 : : return gen_split_3545 (insn, operands);
28253 : : break;
28254 : :
28255 : : case 3:
28256 : : if ((
28257 : : #line 24246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28258 : : (TARGET_AVX512BW) &&
28259 : : #line 24248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28260 : : ( reload_completed)))
28261 : : return gen_split_3547 (insn, operands);
28262 : : break;
28263 : :
28264 : : case 4:
28265 : : if ((
28266 : : #line 24246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28267 : : (TARGET_AVX512BW) &&
28268 : : #line 24248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28269 : : ( reload_completed)))
28270 : : return gen_split_3548 (insn, operands);
28271 : : break;
28272 : :
28273 : : case 5:
28274 : : if ((
28275 : : #line 24246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28276 : : (TARGET_AVX512BW) &&
28277 : : #line 24248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28278 : : ( reload_completed)))
28279 : : return gen_split_3549 (insn, operands);
28280 : : break;
28281 : :
28282 : : case 6:
28283 : : if ((
28284 : : #line 24357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28285 : : (TARGET_SSE4_1) &&
28286 : : #line 24359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28287 : : ( reload_completed)))
28288 : : return gen_split_3555 (insn, operands);
28289 : : break;
28290 : :
28291 : : case 7:
28292 : : if ((
28293 : : #line 24357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28294 : : (TARGET_SSE4_1) &&
28295 : : #line 24359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28296 : : ( reload_completed)))
28297 : : return gen_split_3556 (insn, operands);
28298 : : break;
28299 : :
28300 : : case 8:
28301 : : if ((
28302 : : #line 24357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28303 : : (TARGET_SSE4_1) &&
28304 : : #line 24359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28305 : : ( reload_completed)))
28306 : : return gen_split_3557 (insn, operands);
28307 : : break;
28308 : :
28309 : : case 9:
28310 : : if ((
28311 : : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28312 : : (TARGET_AVX512F) &&
28313 : : #line 24592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28314 : : ( reload_completed)))
28315 : : return gen_split_3567 (insn, operands);
28316 : : break;
28317 : :
28318 : : case 10:
28319 : : if ((
28320 : : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28321 : : (TARGET_AVX512F) &&
28322 : : #line 24592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28323 : : ( reload_completed)))
28324 : : return gen_split_3568 (insn, operands);
28325 : : break;
28326 : :
28327 : : case 11:
28328 : : if ((
28329 : : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28330 : : (TARGET_AVX512F) &&
28331 : : #line 24592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28332 : : ( reload_completed)))
28333 : : return gen_split_3569 (insn, operands);
28334 : : break;
28335 : :
28336 : : case 12:
28337 : : if ((
28338 : : #line 24644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28339 : : (TARGET_AVX2) &&
28340 : : #line 24646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28341 : : ( reload_completed)))
28342 : : return gen_split_3571 (insn, operands);
28343 : : break;
28344 : :
28345 : : case 13:
28346 : : if ((
28347 : : #line 24644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28348 : : (TARGET_AVX2) &&
28349 : : #line 24646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28350 : : ( reload_completed)))
28351 : : return gen_split_3572 (insn, operands);
28352 : : break;
28353 : :
28354 : : case 14:
28355 : : if ((
28356 : : #line 24644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28357 : : (TARGET_AVX2) &&
28358 : : #line 24646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28359 : : ( reload_completed)))
28360 : : return gen_split_3573 (insn, operands);
28361 : : break;
28362 : :
28363 : : case 15:
28364 : : if ((
28365 : : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28366 : : (TARGET_SSE4_1) &&
28367 : : #line 24764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28368 : : ( reload_completed)))
28369 : : return gen_split_3579 (insn, operands);
28370 : : break;
28371 : :
28372 : : case 16:
28373 : : if ((
28374 : : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28375 : : (TARGET_SSE4_1) &&
28376 : : #line 24764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28377 : : ( reload_completed)))
28378 : : return gen_split_3580 (insn, operands);
28379 : : break;
28380 : :
28381 : : case 17:
28382 : : if ((
28383 : : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28384 : : (TARGET_SSE4_1) &&
28385 : : #line 24764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28386 : : ( reload_completed)))
28387 : : return gen_split_3581 (insn, operands);
28388 : : break;
28389 : :
28390 : : default:
28391 : : break;
28392 : : }
28393 : : operands[3] = x3;
28394 : : switch (pattern790 (x2))
28395 : : {
28396 : : case 0:
28397 : : if (!((
28398 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28399 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28400 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28401 : : (TARGET_AVX512F)) &&
28402 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28403 : : ( 1)))
28404 : : return NULL;
28405 : : return gen_split_3810 (insn, operands);
28406 : :
28407 : : case 1:
28408 : : if (!((
28409 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28410 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28411 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28412 : : (TARGET_AVX)) &&
28413 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28414 : : ( 1)))
28415 : : return NULL;
28416 : : return gen_split_3811 (insn, operands);
28417 : :
28418 : : case 2:
28419 : : if (!(
28420 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28421 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28422 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28423 : : ( 1)))
28424 : : return NULL;
28425 : : return gen_split_3812 (insn, operands);
28426 : :
28427 : : case 3:
28428 : : if (!((
28429 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28430 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28431 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28432 : : (TARGET_AVX512F)) &&
28433 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28434 : : ( 1)))
28435 : : return NULL;
28436 : : return gen_split_3813 (insn, operands);
28437 : :
28438 : : case 4:
28439 : : if (!((
28440 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28441 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28442 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28443 : : (TARGET_AVX)) &&
28444 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28445 : : ( 1)))
28446 : : return NULL;
28447 : : return gen_split_3814 (insn, operands);
28448 : :
28449 : : case 5:
28450 : : if (!(
28451 : : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28452 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
28453 : : #line 29204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28454 : : ( 1)))
28455 : : return NULL;
28456 : : return gen_split_3815 (insn, operands);
28457 : :
28458 : : default:
28459 : : return NULL;
28460 : : }
28461 : :
28462 : : case VEC_CONCAT:
28463 : : switch (pattern512 (x2))
28464 : : {
28465 : : case 0:
28466 : : if (!(
28467 : : #line 25145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28468 : : (TARGET_AVX512F) &&
28469 : : #line 25147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28470 : : ( reload_completed)))
28471 : : return NULL;
28472 : : return gen_split_3602 (insn, operands);
28473 : :
28474 : : case 1:
28475 : : if (!(
28476 : : #line 25197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28477 : : (TARGET_AVX2) &&
28478 : : #line 25199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28479 : : ( reload_completed)))
28480 : : return NULL;
28481 : : return gen_split_3604 (insn, operands);
28482 : :
28483 : : case 2:
28484 : : if (!(
28485 : : #line 25293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28486 : : (TARGET_SSE4_1) &&
28487 : : #line 25295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28488 : : ( reload_completed)))
28489 : : return NULL;
28490 : : return gen_split_3610 (insn, operands);
28491 : :
28492 : : default:
28493 : : return NULL;
28494 : : }
28495 : :
28496 : : default:
28497 : : return NULL;
28498 : : }
28499 : :
28500 : : case REG:
28501 : : case SUBREG:
28502 : : case MEM:
28503 : : operands[1] = x4;
28504 : : res = split_66 (x1, insn);
28505 : : if (res != NULL_RTX)
28506 : : return res;
28507 : : if (GET_CODE (x4) != SUBREG)
28508 : : return NULL;
28509 : : switch (pattern514 (x2))
28510 : : {
28511 : : case 0:
28512 : : if (!(
28513 : : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28514 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
28515 : : #line 15069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28516 : : ( 1)))
28517 : : return NULL;
28518 : : return gen_split_3210 (insn, operands);
28519 : :
28520 : : case 1:
28521 : : if (!(
28522 : : #line 15120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28523 : : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()) &&
28524 : : #line 15122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28525 : : ( 1)))
28526 : : return NULL;
28527 : : return gen_split_3212 (insn, operands);
28528 : :
28529 : : default:
28530 : : return NULL;
28531 : : }
28532 : :
28533 : : case UNSPEC:
28534 : : if (XVECLEN (x4, 0) != 2)
28535 : : return NULL;
28536 : : switch (pattern516 (x2))
28537 : : {
28538 : : case 0:
28539 : : if (!(
28540 : : #line 15042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28541 : : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
28542 : : #line 15044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28543 : : ( 1)))
28544 : : return NULL;
28545 : : return gen_split_3209 (insn, operands);
28546 : :
28547 : : case 1:
28548 : : if (!(
28549 : : #line 15304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28550 : : (TARGET_AVX512VL && TARGET_AVX512VBMI
28551 : : && ix86_pre_reload_split ()) &&
28552 : : #line 15307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28553 : : ( 1)))
28554 : : return NULL;
28555 : : return gen_split_3215 (insn, operands);
28556 : :
28557 : : case 2:
28558 : : if (!(
28559 : : #line 15099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28560 : : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()) &&
28561 : : #line 15101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28562 : : ( 1)))
28563 : : return NULL;
28564 : : return gen_split_3211 (insn, operands);
28565 : :
28566 : : case 3:
28567 : : if (!(
28568 : : #line 15151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28569 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
28570 : : #line 15153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28571 : : ( 1)))
28572 : : return NULL;
28573 : : return gen_split_3213 (insn, operands);
28574 : :
28575 : : case 4:
28576 : : if (!(
28577 : : #line 15223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28578 : : (TARGET_AVX512VBMI && ix86_pre_reload_split ()) &&
28579 : : #line 15225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28580 : : ( 1)))
28581 : : return NULL;
28582 : : return gen_split_3214 (insn, operands);
28583 : :
28584 : : case 5:
28585 : : if (!(
28586 : : #line 15323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28587 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
28588 : : #line 15325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28589 : : ( 1)))
28590 : : return NULL;
28591 : : return gen_split_3216 (insn, operands);
28592 : :
28593 : : default:
28594 : : return NULL;
28595 : : }
28596 : :
28597 : : default:
28598 : : return NULL;
28599 : : }
28600 : : }
28601 : :
28602 : : rtx_insn *
28603 : : peephole2_1 (rtx x1 ATTRIBUTE_UNUSED,
28604 : : rtx_insn *insn ATTRIBUTE_UNUSED,
28605 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
28606 : : {
28607 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28608 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
28609 : : rtx x10, x11;
28610 : : rtx_insn *res ATTRIBUTE_UNUSED;
28611 : : x2 = XEXP (x1, 0);
28612 : : if (GET_CODE (x2) != REG
28613 : : || REGNO (x2) != 17)
28614 : : return NULL;
28615 : : x3 = XEXP (x1, 1);
28616 : : x4 = XEXP (x3, 0);
28617 : : switch (GET_CODE (x4))
28618 : : {
28619 : : case NEG:
28620 : : if (GET_MODE (x4) != E_QImode)
28621 : : return NULL;
28622 : : x5 = XEXP (x4, 0);
28623 : : if (GET_CODE (x5) != LTU
28624 : : || GET_MODE (x5) != E_QImode)
28625 : : return NULL;
28626 : : x6 = XEXP (x5, 0);
28627 : : if (GET_CODE (x6) != REG
28628 : : || REGNO (x6) != 17
28629 : : || GET_MODE (x6) != E_CCCmode)
28630 : : return NULL;
28631 : : x7 = XEXP (x5, 1);
28632 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
28633 : : return NULL;
28634 : : x8 = XEXP (x3, 1);
28635 : : if (GET_CODE (x8) != GEU
28636 : : || GET_MODE (x8) != E_QImode)
28637 : : return NULL;
28638 : : x9 = XEXP (x8, 0);
28639 : : if (GET_CODE (x9) != REG
28640 : : || REGNO (x9) != 17
28641 : : || GET_MODE (x9) != E_CCCmode)
28642 : : return NULL;
28643 : : x10 = XEXP (x8, 1);
28644 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
28645 : : || GET_MODE (x2) != E_CCCmode
28646 : : || GET_MODE (x3) != E_CCCmode
28647 : : || !
28648 : : #line 2167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28649 : : (TARGET_SLOW_STC && !optimize_insn_for_size_p ()))
28650 : : return NULL;
28651 : : *pmatch_len_ = 0;
28652 : : return gen_peephole2_2 (insn, operands);
28653 : :
28654 : : case AND:
28655 : : x8 = XEXP (x3, 1);
28656 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
28657 : : || GET_MODE (x2) != E_CCZmode
28658 : : || GET_MODE (x3) != E_CCZmode)
28659 : : return NULL;
28660 : : x5 = XEXP (x4, 0);
28661 : : operands[0] = x5;
28662 : : x11 = XEXP (x4, 1);
28663 : : operands[1] = x11;
28664 : : if (!const_int_operand (operands[1], E_VOIDmode))
28665 : : return NULL;
28666 : : switch (GET_MODE (x4))
28667 : : {
28668 : : case E_HImode:
28669 : : if (!memory_operand (operands[0], E_HImode)
28670 : : || !
28671 : : #line 12571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28672 : : (!TARGET_PARTIAL_MEMORY_READ_STALL
28673 : : && !MEM_VOLATILE_P (operands[0])
28674 : : && offsettable_memref_p (operands[0])))
28675 : : return NULL;
28676 : : *pmatch_len_ = 0;
28677 : : return gen_peephole2_134 (insn, operands);
28678 : :
28679 : : case E_SImode:
28680 : : if (!memory_operand (operands[0], E_SImode)
28681 : : || !
28682 : : #line 12571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28683 : : (!TARGET_PARTIAL_MEMORY_READ_STALL
28684 : : && !MEM_VOLATILE_P (operands[0])
28685 : : && offsettable_memref_p (operands[0])))
28686 : : return NULL;
28687 : : *pmatch_len_ = 0;
28688 : : return gen_peephole2_135 (insn, operands);
28689 : :
28690 : : case E_DImode:
28691 : : if (!memory_operand (operands[0], E_DImode)
28692 : : || !(
28693 : : #line 12571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28694 : : (!TARGET_PARTIAL_MEMORY_READ_STALL
28695 : : && !MEM_VOLATILE_P (operands[0])
28696 : : && offsettable_memref_p (operands[0])) &&
28697 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28698 : : (TARGET_64BIT)))
28699 : : return NULL;
28700 : : *pmatch_len_ = 0;
28701 : : return gen_peephole2_136 (insn, operands);
28702 : :
28703 : : default:
28704 : : return NULL;
28705 : : }
28706 : :
28707 : : default:
28708 : : return NULL;
28709 : : }
28710 : : }
28711 : :
28712 : : rtx_insn *
28713 : : peephole2_2 (rtx x1 ATTRIBUTE_UNUSED,
28714 : : rtx_insn *insn ATTRIBUTE_UNUSED,
28715 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
28716 : : {
28717 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28718 : : rtx x2, x3, x4;
28719 : : rtx_insn *res ATTRIBUTE_UNUSED;
28720 : : x2 = XEXP (x1, 0);
28721 : : operands[0] = x2;
28722 : : x3 = XEXP (x1, 1);
28723 : : x4 = XEXP (x3, 0);
28724 : : operands[1] = x4;
28725 : : switch (GET_MODE (operands[0]))
28726 : : {
28727 : : case E_SImode:
28728 : : switch (pattern401 (x3,
28729 : : E_SImode))
28730 : : {
28731 : : case 0:
28732 : : if (!
28733 : : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28734 : : (TARGET_AVOID_VECTOR_DECODE
28735 : : && SSE_FLOAT_MODE_P (SFmode)
28736 : : && optimize_insn_for_speed_p ()))
28737 : : return NULL;
28738 : : *pmatch_len_ = 0;
28739 : : return gen_peephole2_56 (insn, operands);
28740 : :
28741 : : case 1:
28742 : : if (!
28743 : : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28744 : : (TARGET_AVOID_VECTOR_DECODE
28745 : : && SSE_FLOAT_MODE_P (DFmode)
28746 : : && optimize_insn_for_speed_p ()))
28747 : : return NULL;
28748 : : *pmatch_len_ = 0;
28749 : : return gen_peephole2_58 (insn, operands);
28750 : :
28751 : : default:
28752 : : return NULL;
28753 : : }
28754 : :
28755 : : case E_DImode:
28756 : : switch (pattern401 (x3,
28757 : : E_DImode))
28758 : : {
28759 : : case 0:
28760 : : if (!(
28761 : : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28762 : : (TARGET_AVOID_VECTOR_DECODE
28763 : : && SSE_FLOAT_MODE_P (SFmode)
28764 : : && optimize_insn_for_speed_p ()) &&
28765 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28766 : : (TARGET_64BIT)))
28767 : : return NULL;
28768 : : *pmatch_len_ = 0;
28769 : : return gen_peephole2_57 (insn, operands);
28770 : :
28771 : : case 1:
28772 : : if (!(
28773 : : #line 5974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28774 : : (TARGET_AVOID_VECTOR_DECODE
28775 : : && SSE_FLOAT_MODE_P (DFmode)
28776 : : && optimize_insn_for_speed_p ()) &&
28777 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28778 : : (TARGET_64BIT)))
28779 : : return NULL;
28780 : : *pmatch_len_ = 0;
28781 : : return gen_peephole2_59 (insn, operands);
28782 : :
28783 : : default:
28784 : : return NULL;
28785 : : }
28786 : :
28787 : : default:
28788 : : return NULL;
28789 : : }
28790 : : }
28791 : :
28792 : : rtx_insn *
28793 : : peephole2_3 (rtx x1 ATTRIBUTE_UNUSED,
28794 : : rtx_insn *insn ATTRIBUTE_UNUSED,
28795 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
28796 : : {
28797 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28798 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
28799 : : rtx x10;
28800 : : rtx_insn *res ATTRIBUTE_UNUSED;
28801 : : if (peep2_current_count < 2
28802 : : || peep2_current_count < 3)
28803 : : return NULL;
28804 : : x2 = XEXP (x1, 1);
28805 : : operands[1] = x2;
28806 : : if (!bt_comparison_operator (operands[1], E_QImode))
28807 : : return NULL;
28808 : : x3 = XEXP (x2, 0);
28809 : : if (GET_CODE (x3) != REG
28810 : : || REGNO (x3) != 17
28811 : : || GET_MODE (x3) != E_CCZmode)
28812 : : return NULL;
28813 : : x4 = XEXP (x2, 1);
28814 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
28815 : : return NULL;
28816 : : x5 = XEXP (x1, 0);
28817 : : operands[0] = x5;
28818 : : if (!nonimmediate_operand (operands[0], E_QImode))
28819 : : return NULL;
28820 : : x6 = PATTERN (peep2_next_insn (1));
28821 : : if (pattern1243 (x6,
28822 : : 0) != 0)
28823 : : return NULL;
28824 : : x7 = PATTERN (peep2_next_insn (2));
28825 : : x8 = XEXP (x7, 1);
28826 : : x9 = XEXP (x8, 0);
28827 : : operands[2] = x9;
28828 : : if (pattern1775 (x7) != 0)
28829 : : return NULL;
28830 : : x10 = XEXP (x8, 1);
28831 : : operands[3] = x10;
28832 : : if (!
28833 : : #line 19804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28834 : : (peep2_regno_dead_p (3, FLAGS_REG)))
28835 : : return NULL;
28836 : : *pmatch_len_ = 2;
28837 : : return gen_peephole2_182 (insn, operands);
28838 : : }
28839 : :
28840 : : rtx_insn *
28841 : : peephole2_4 (rtx x1 ATTRIBUTE_UNUSED,
28842 : : rtx_insn *insn ATTRIBUTE_UNUSED,
28843 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
28844 : : {
28845 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28846 : : rtx x2;
28847 : : rtx_insn *res ATTRIBUTE_UNUSED;
28848 : : switch (GET_MODE (operands[0]))
28849 : : {
28850 : : case E_DImode:
28851 : : if (register_operand (operands[0], E_DImode)
28852 : : && const_int_operand (operands[1], E_DImode)
28853 : : &&
28854 : : #line 2814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28855 : : (TARGET_64BIT
28856 : : && optimize_insn_for_size_p ()
28857 : : && LEGACY_INT_REG_P (operands[0])
28858 : : && !x86_64_immediate_operand (operands[1], DImode)
28859 : : && !x86_64_zext_immediate_operand (operands[1], DImode)
28860 : : && !((UINTVAL (operands[1]) >> ctz_hwi (UINTVAL (operands[1])))
28861 : : & ~HOST_WIDE_INT_C (0xffffffff))
28862 : : && peep2_regno_dead_p (0, FLAGS_REG)))
28863 : : {
28864 : : *pmatch_len_ = 0;
28865 : : res = gen_peephole2_4 (insn, operands);
28866 : : if (res != NULL_RTX)
28867 : : return res;
28868 : : }
28869 : : if (!general_reg_operand (operands[0], E_DImode))
28870 : : return NULL;
28871 : : if (const_int_operand (operands[1], E_DImode))
28872 : : {
28873 : : if ((
28874 : : #line 2963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28875 : : (optimize_insn_for_size_p () && optimize_size > 1
28876 : : && operands[1] != const0_rtx
28877 : : && (operands[1] != constm1_rtx
28878 : : || (DImode == DImode && LEGACY_INT_REG_P (operands[0])))
28879 : : && IN_RANGE (INTVAL (operands[1]), -128, 127)
28880 : : && !ix86_red_zone_used
28881 : : && REGNO (operands[0]) != SP_REG) &&
28882 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28883 : : (TARGET_64BIT)))
28884 : : {
28885 : : *pmatch_len_ = 0;
28886 : : res = gen_peephole2_7 (insn, operands);
28887 : : if (res != NULL_RTX)
28888 : : return res;
28889 : : }
28890 : : if (peep2_current_count >= 2)
28891 : : {
28892 : : x2 = PATTERN (peep2_next_insn (1));
28893 : : switch (pattern1053 (x2))
28894 : : {
28895 : : case 0:
28896 : : if ((
28897 : : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28898 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
28899 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28900 : : (TARGET_64BIT)))
28901 : : {
28902 : : *pmatch_len_ = 1;
28903 : : res = gen_peephole2_36 (insn, operands);
28904 : : if (res != NULL_RTX)
28905 : : return res;
28906 : : }
28907 : : break;
28908 : :
28909 : : case 1:
28910 : : if ((
28911 : : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28912 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
28913 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28914 : : (TARGET_64BIT)))
28915 : : {
28916 : : *pmatch_len_ = 1;
28917 : : res = gen_peephole2_38 (insn, operands);
28918 : : if (res != NULL_RTX)
28919 : : return res;
28920 : : }
28921 : : break;
28922 : :
28923 : : case 2:
28924 : : if ((
28925 : : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28926 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
28927 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28928 : : (TARGET_64BIT)))
28929 : : {
28930 : : *pmatch_len_ = 1;
28931 : : res = gen_peephole2_40 (insn, operands);
28932 : : if (res != NULL_RTX)
28933 : : return res;
28934 : : }
28935 : : break;
28936 : :
28937 : : default:
28938 : : break;
28939 : : }
28940 : : }
28941 : : }
28942 : : if (peep2_current_count < 2)
28943 : : return NULL;
28944 : : x2 = PATTERN (peep2_next_insn (1));
28945 : : if (pattern939 (x2,
28946 : : E_DImode) != 0
28947 : : || !(
28948 : : #line 3300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28949 : : (peep2_reg_dead_p (2, operands[0])
28950 : : && (const0_operand (operands[1], DImode)
28951 : : || (constm1_operand (operands[1], DImode)
28952 : : && (8 > 1 || TARGET_AVX512DQ)))) &&
28953 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28954 : : (TARGET_64BIT)))
28955 : : return NULL;
28956 : : *pmatch_len_ = 1;
28957 : : return gen_peephole2_14 (insn, operands);
28958 : :
28959 : : case E_HImode:
28960 : : if (!general_reg_operand (operands[0], E_HImode))
28961 : : return NULL;
28962 : : if (const_int_operand (operands[1], E_HImode)
28963 : : &&
28964 : : #line 2963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28965 : : (optimize_insn_for_size_p () && optimize_size > 1
28966 : : && operands[1] != const0_rtx
28967 : : && (operands[1] != constm1_rtx
28968 : : || (HImode == DImode && LEGACY_INT_REG_P (operands[0])))
28969 : : && IN_RANGE (INTVAL (operands[1]), -128, 127)
28970 : : && !ix86_red_zone_used
28971 : : && REGNO (operands[0]) != SP_REG))
28972 : : {
28973 : : *pmatch_len_ = 0;
28974 : : res = gen_peephole2_5 (insn, operands);
28975 : : if (res != NULL_RTX)
28976 : : return res;
28977 : : }
28978 : : if (peep2_current_count < 2)
28979 : : return NULL;
28980 : : x2 = PATTERN (peep2_next_insn (1));
28981 : : if (pattern939 (x2,
28982 : : E_HImode) != 0
28983 : : || !
28984 : : #line 3300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
28985 : : (peep2_reg_dead_p (2, operands[0])
28986 : : && (const0_operand (operands[1], HImode)
28987 : : || (constm1_operand (operands[1], HImode)
28988 : : && (2 > 1 || TARGET_AVX512DQ)))))
28989 : : return NULL;
28990 : : *pmatch_len_ = 1;
28991 : : return gen_peephole2_12 (insn, operands);
28992 : :
28993 : : case E_SImode:
28994 : : if (!general_reg_operand (operands[0], E_SImode))
28995 : : return NULL;
28996 : : if (const_int_operand (operands[1], E_SImode))
28997 : : {
28998 : : if (
28999 : : #line 2963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29000 : : (optimize_insn_for_size_p () && optimize_size > 1
29001 : : && operands[1] != const0_rtx
29002 : : && (operands[1] != constm1_rtx
29003 : : || (SImode == DImode && LEGACY_INT_REG_P (operands[0])))
29004 : : && IN_RANGE (INTVAL (operands[1]), -128, 127)
29005 : : && !ix86_red_zone_used
29006 : : && REGNO (operands[0]) != SP_REG))
29007 : : {
29008 : : *pmatch_len_ = 0;
29009 : : res = gen_peephole2_6 (insn, operands);
29010 : : if (res != NULL_RTX)
29011 : : return res;
29012 : : }
29013 : : if (peep2_current_count >= 2)
29014 : : {
29015 : : x2 = PATTERN (peep2_next_insn (1));
29016 : : switch (pattern1053 (x2))
29017 : : {
29018 : : case 0:
29019 : : if (
29020 : : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29021 : : (REGNO (operands[0]) == REGNO (operands[2])))
29022 : : {
29023 : : *pmatch_len_ = 1;
29024 : : res = gen_peephole2_35 (insn, operands);
29025 : : if (res != NULL_RTX)
29026 : : return res;
29027 : : }
29028 : : break;
29029 : :
29030 : : case 1:
29031 : : if (
29032 : : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29033 : : (REGNO (operands[0]) == REGNO (operands[2])))
29034 : : {
29035 : : *pmatch_len_ = 1;
29036 : : res = gen_peephole2_37 (insn, operands);
29037 : : if (res != NULL_RTX)
29038 : : return res;
29039 : : }
29040 : : break;
29041 : :
29042 : : case 2:
29043 : : if ((
29044 : : #line 3669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29045 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
29046 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29047 : : (TARGET_64BIT)))
29048 : : {
29049 : : *pmatch_len_ = 1;
29050 : : res = gen_peephole2_39 (insn, operands);
29051 : : if (res != NULL_RTX)
29052 : : return res;
29053 : : }
29054 : : break;
29055 : :
29056 : : default:
29057 : : break;
29058 : : }
29059 : : }
29060 : : }
29061 : : if (peep2_current_count < 2)
29062 : : return NULL;
29063 : : x2 = PATTERN (peep2_next_insn (1));
29064 : : if (pattern939 (x2,
29065 : : E_SImode) != 0
29066 : : || !
29067 : : #line 3300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29068 : : (peep2_reg_dead_p (2, operands[0])
29069 : : && (const0_operand (operands[1], SImode)
29070 : : || (constm1_operand (operands[1], SImode)
29071 : : && (4 > 1 || TARGET_AVX512DQ)))))
29072 : : return NULL;
29073 : : *pmatch_len_ = 1;
29074 : : return gen_peephole2_13 (insn, operands);
29075 : :
29076 : : case E_QImode:
29077 : : if (peep2_current_count < 2
29078 : : || !general_reg_operand (operands[0], E_QImode))
29079 : : return NULL;
29080 : : x2 = PATTERN (peep2_next_insn (1));
29081 : : if (pattern939 (x2,
29082 : : E_QImode) != 0
29083 : : || !
29084 : : #line 3300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29085 : : (peep2_reg_dead_p (2, operands[0])
29086 : : && (const0_operand (operands[1], QImode)
29087 : : || (constm1_operand (operands[1], QImode)
29088 : : && (1 > 1 || TARGET_AVX512DQ)))))
29089 : : return NULL;
29090 : : *pmatch_len_ = 1;
29091 : : return gen_peephole2_11 (insn, operands);
29092 : :
29093 : : default:
29094 : : return NULL;
29095 : : }
29096 : : }
29097 : :
29098 : : rtx_insn *
29099 : : peephole2_6 (rtx x1 ATTRIBUTE_UNUSED,
29100 : : rtx_insn *insn ATTRIBUTE_UNUSED,
29101 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
29102 : : {
29103 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
29104 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
29105 : : rtx x10, x11, x12, x13;
29106 : : rtx_insn *res ATTRIBUTE_UNUSED;
29107 : : x2 = XEXP (x1, 1);
29108 : : operands[1] = x2;
29109 : : x3 = XEXP (x1, 0);
29110 : : operands[0] = x3;
29111 : : switch (GET_CODE (operands[0]))
29112 : : {
29113 : : case REG:
29114 : : switch (GET_MODE (operands[0]))
29115 : : {
29116 : : case E_QImode:
29117 : : x4 = PATTERN (peep2_next_insn (1));
29118 : : switch (pattern708 (x4,
29119 : : E_QImode))
29120 : : {
29121 : : case 0:
29122 : : if (pattern1329 (x4,
29123 : : E_QImode) != 0
29124 : : || !
29125 : : #line 3402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29126 : : (peep2_reg_dead_p (3, operands[0])
29127 : : && optimize_insn_for_size_p ()))
29128 : : return NULL;
29129 : : *pmatch_len_ = 2;
29130 : : return gen_peephole2_15 (insn, operands);
29131 : :
29132 : : case 1:
29133 : : if (XVECLEN (x4, 0) != 2)
29134 : : return NULL;
29135 : : x5 = XVECEXP (x4, 0, 0);
29136 : : if (GET_CODE (x5) != SET)
29137 : : return NULL;
29138 : : x6 = XEXP (x5, 1);
29139 : : if (GET_CODE (x6) != NEG
29140 : : || pattern1333 (x4,
29141 : : E_QImode) != 0)
29142 : : return NULL;
29143 : : *pmatch_len_ = 2;
29144 : : return gen_peephole2_165 (insn, operands);
29145 : :
29146 : : default:
29147 : : return NULL;
29148 : : }
29149 : :
29150 : : case E_HImode:
29151 : : x4 = PATTERN (peep2_next_insn (1));
29152 : : switch (pattern708 (x4,
29153 : : E_HImode))
29154 : : {
29155 : : case 0:
29156 : : if (pattern1329 (x4,
29157 : : E_HImode) != 0
29158 : : || !
29159 : : #line 3402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29160 : : (peep2_reg_dead_p (3, operands[0])
29161 : : && optimize_insn_for_size_p ()))
29162 : : return NULL;
29163 : : *pmatch_len_ = 2;
29164 : : return gen_peephole2_16 (insn, operands);
29165 : :
29166 : : case 1:
29167 : : if (XVECLEN (x4, 0) != 2)
29168 : : return NULL;
29169 : : x5 = XVECEXP (x4, 0, 0);
29170 : : if (GET_CODE (x5) != SET)
29171 : : return NULL;
29172 : : x6 = XEXP (x5, 1);
29173 : : if (GET_CODE (x6) == NEG
29174 : : && pattern1333 (x4,
29175 : : E_HImode) == 0)
29176 : : {
29177 : : *pmatch_len_ = 2;
29178 : : res = gen_peephole2_166 (insn, operands);
29179 : : if (res != NULL_RTX)
29180 : : return res;
29181 : : }
29182 : : if (peep2_current_count < 4
29183 : : || pattern1335 (x4,
29184 : : E_HImode) != 0
29185 : : || !
29186 : : #line 26723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29187 : : (TARGET_CMOVE
29188 : : && REGNO (operands[2]) != REGNO (operands[0])
29189 : : && REGNO (operands[2]) != REGNO (operands[1])
29190 : : && peep2_reg_dead_p (1, operands[1])
29191 : : && peep2_reg_dead_p (4, operands[2])
29192 : : && !reg_overlap_mentioned_p (operands[0], operands[3])))
29193 : : return NULL;
29194 : : *pmatch_len_ = 3;
29195 : : return gen_peephole2_217 (insn, operands);
29196 : :
29197 : : default:
29198 : : return NULL;
29199 : : }
29200 : :
29201 : : case E_SImode:
29202 : : if (!general_reg_operand (operands[0], E_SImode)
29203 : : || !general_reg_operand (operands[1], E_SImode))
29204 : : return NULL;
29205 : : if (peep2_current_count >= 2)
29206 : : {
29207 : : x4 = PATTERN (peep2_next_insn (1));
29208 : : if (pattern1054 (x4,
29209 : : E_SImode) == 0
29210 : : &&
29211 : : #line 3402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29212 : : (peep2_reg_dead_p (3, operands[0])
29213 : : && optimize_insn_for_size_p ()))
29214 : : {
29215 : : *pmatch_len_ = 2;
29216 : : res = gen_peephole2_17 (insn, operands);
29217 : : if (res != NULL_RTX)
29218 : : return res;
29219 : : }
29220 : : }
29221 : : if (!
29222 : : #line 3435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29223 : : (optimize_size > 1
29224 : : && ((REGNO (operands[0]) == AX_REG)
29225 : : != (REGNO (operands[1]) == AX_REG))
29226 : : && optimize_insn_for_size_p ()
29227 : : && peep2_reg_dead_p (1, operands[1])))
29228 : : return NULL;
29229 : : *pmatch_len_ = 0;
29230 : : return gen_peephole2_27 (insn, operands);
29231 : :
29232 : : case E_DImode:
29233 : : if (!general_reg_operand (operands[0], E_DImode)
29234 : : || !general_reg_operand (operands[1], E_DImode))
29235 : : return NULL;
29236 : : if (peep2_current_count >= 2)
29237 : : {
29238 : : x4 = PATTERN (peep2_next_insn (1));
29239 : : if (pattern1054 (x4,
29240 : : E_DImode) == 0
29241 : : && (
29242 : : #line 3402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29243 : : (peep2_reg_dead_p (3, operands[0])
29244 : : && optimize_insn_for_size_p ()) &&
29245 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29246 : : (TARGET_64BIT)))
29247 : : {
29248 : : *pmatch_len_ = 2;
29249 : : res = gen_peephole2_18 (insn, operands);
29250 : : if (res != NULL_RTX)
29251 : : return res;
29252 : : }
29253 : : }
29254 : : if ((
29255 : : #line 3435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29256 : : (optimize_size > 1
29257 : : && ((REGNO (operands[0]) == AX_REG)
29258 : : != (REGNO (operands[1]) == AX_REG))
29259 : : && optimize_insn_for_size_p ()
29260 : : && peep2_reg_dead_p (1, operands[1])) &&
29261 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29262 : : (TARGET_64BIT)))
29263 : : {
29264 : : *pmatch_len_ = 0;
29265 : : res = gen_peephole2_28 (insn, operands);
29266 : : if (res != NULL_RTX)
29267 : : return res;
29268 : : }
29269 : : if (peep2_current_count < 2
29270 : : || peep2_current_count < 3
29271 : : || peep2_current_count < 4)
29272 : : return NULL;
29273 : : x4 = PATTERN (peep2_next_insn (1));
29274 : : if (GET_CODE (x4) != PARALLEL
29275 : : || XVECLEN (x4, 0) != 2)
29276 : : return NULL;
29277 : : x5 = XVECEXP (x4, 0, 0);
29278 : : if (GET_CODE (x5) != SET)
29279 : : return NULL;
29280 : : x6 = XEXP (x5, 1);
29281 : : if (GET_CODE (x6) != ASHIFTRT
29282 : : || GET_MODE (x6) != E_DImode)
29283 : : return NULL;
29284 : : x7 = XEXP (x6, 1);
29285 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
29286 : : || pattern1331 (x4) != 0)
29287 : : return NULL;
29288 : : x8 = PATTERN (peep2_next_insn (2));
29289 : : if (GET_CODE (x8) != SET)
29290 : : return NULL;
29291 : : x9 = XEXP (x8, 0);
29292 : : operands[2] = x9;
29293 : : if (!general_reg_operand (operands[2], E_DImode))
29294 : : return NULL;
29295 : : x10 = XEXP (x8, 1);
29296 : : if (!rtx_equal_p (x10, operands[1]))
29297 : : return NULL;
29298 : : x11 = PATTERN (peep2_next_insn (3));
29299 : : if (GET_CODE (x11) != SET)
29300 : : return NULL;
29301 : : x12 = XEXP (x11, 0);
29302 : : operands[3] = x12;
29303 : : if (!general_reg_operand (operands[3], E_DImode))
29304 : : return NULL;
29305 : : x13 = XEXP (x11, 1);
29306 : : if (!rtx_equal_p (x13, operands[0])
29307 : : || !
29308 : : #line 5127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29309 : : ((optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
29310 : : && REGNO (operands[2]) == AX_REG
29311 : : && REGNO (operands[3]) == DX_REG
29312 : : && peep2_reg_dead_p (4, operands[0])
29313 : : && !reg_mentioned_p (operands[0], operands[1])
29314 : : && !reg_mentioned_p (operands[2], operands[0])))
29315 : : return NULL;
29316 : : *pmatch_len_ = 3;
29317 : : return gen_peephole2_53 (insn, operands);
29318 : :
29319 : : default:
29320 : : return NULL;
29321 : : }
29322 : :
29323 : : case SUBREG:
29324 : : case MEM:
29325 : : if (peep2_current_count < 2
29326 : : || peep2_current_count < 3)
29327 : : return NULL;
29328 : : switch (GET_MODE (operands[0]))
29329 : : {
29330 : : case E_SImode:
29331 : : x4 = PATTERN (peep2_next_insn (1));
29332 : : switch (pattern940 (x4,
29333 : : E_SImode))
29334 : : {
29335 : : case 0:
29336 : : if (!(
29337 : : #line 5050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29338 : : (REGNO (operands[1]) != REGNO (operands[2])
29339 : : && INTVAL (operands[4]) == (4 * BITS_PER_UNIT - 1)
29340 : : && peep2_reg_dead_p (2, operands[1])
29341 : : && peep2_reg_dead_p (4, operands[2])
29342 : : && !reg_mentioned_p (operands[2], operands[3])) &&
29343 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29344 : : (!TARGET_64BIT)))
29345 : : return NULL;
29346 : : *pmatch_len_ = 3;
29347 : : return gen_peephole2_49 (insn, operands);
29348 : :
29349 : : case 1:
29350 : : if (!(
29351 : : #line 5068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29352 : : (/* cltd is shorter than sarl $31, %eax */
29353 : : !optimize_function_for_size_p (cfun)
29354 : : && REGNO (operands[1]) == AX_REG
29355 : : && REGNO (operands[2]) == DX_REG
29356 : : && INTVAL (operands[4]) == (4 * BITS_PER_UNIT - 1)
29357 : : && peep2_reg_dead_p (2, operands[1])
29358 : : && peep2_reg_dead_p (3, operands[2])
29359 : : && !reg_mentioned_p (operands[2], operands[3])) &&
29360 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29361 : : (!TARGET_64BIT)))
29362 : : return NULL;
29363 : : *pmatch_len_ = 2;
29364 : : return gen_peephole2_51 (insn, operands);
29365 : :
29366 : : default:
29367 : : return NULL;
29368 : : }
29369 : :
29370 : : case E_DImode:
29371 : : x4 = PATTERN (peep2_next_insn (1));
29372 : : switch (pattern940 (x4,
29373 : : E_DImode))
29374 : : {
29375 : : case 0:
29376 : : if (!(
29377 : : #line 5050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29378 : : (REGNO (operands[1]) != REGNO (operands[2])
29379 : : && INTVAL (operands[4]) == (8 * BITS_PER_UNIT - 1)
29380 : : && peep2_reg_dead_p (2, operands[1])
29381 : : && peep2_reg_dead_p (4, operands[2])
29382 : : && !reg_mentioned_p (operands[2], operands[3])) &&
29383 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29384 : : (TARGET_64BIT)))
29385 : : return NULL;
29386 : : *pmatch_len_ = 3;
29387 : : return gen_peephole2_50 (insn, operands);
29388 : :
29389 : : case 1:
29390 : : if (!(
29391 : : #line 5068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29392 : : (/* cltd is shorter than sarl $31, %eax */
29393 : : !optimize_function_for_size_p (cfun)
29394 : : && REGNO (operands[1]) == AX_REG
29395 : : && REGNO (operands[2]) == DX_REG
29396 : : && INTVAL (operands[4]) == (8 * BITS_PER_UNIT - 1)
29397 : : && peep2_reg_dead_p (2, operands[1])
29398 : : && peep2_reg_dead_p (3, operands[2])
29399 : : && !reg_mentioned_p (operands[2], operands[3])) &&
29400 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29401 : : (TARGET_64BIT)))
29402 : : return NULL;
29403 : : *pmatch_len_ = 2;
29404 : : return gen_peephole2_52 (insn, operands);
29405 : :
29406 : : default:
29407 : : return NULL;
29408 : : }
29409 : :
29410 : : default:
29411 : : return NULL;
29412 : : }
29413 : :
29414 : : default:
29415 : : return NULL;
29416 : : }
29417 : : }
29418 : :
29419 : : rtx_insn *
29420 : : peephole2_9 (rtx x1 ATTRIBUTE_UNUSED,
29421 : : rtx_insn *insn ATTRIBUTE_UNUSED,
29422 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
29423 : : {
29424 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
29425 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
29426 : : rtx x10, x11, x12;
29427 : : rtx_insn *res ATTRIBUTE_UNUSED;
29428 : : if (peep2_current_count < 2)
29429 : : return NULL;
29430 : : x2 = XEXP (x1, 1);
29431 : : if (GET_MODE (x2) != E_DFmode)
29432 : : return NULL;
29433 : : x3 = XEXP (x2, 1);
29434 : : if (GET_CODE (x3) != PARALLEL
29435 : : || XVECLEN (x3, 0) != 1)
29436 : : return NULL;
29437 : : x4 = XVECEXP (x3, 0, 0);
29438 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
29439 : : return NULL;
29440 : : x5 = XEXP (x1, 0);
29441 : : operands[0] = x5;
29442 : : if (!memory_operand (operands[0], E_DFmode))
29443 : : return NULL;
29444 : : x6 = XEXP (x2, 0);
29445 : : operands[1] = x6;
29446 : : if (!sse_reg_operand (operands[1], E_V2DFmode))
29447 : : return NULL;
29448 : : x7 = PATTERN (peep2_next_insn (1));
29449 : : if (GET_CODE (x7) != SET)
29450 : : return NULL;
29451 : : x8 = XEXP (x7, 1);
29452 : : if (GET_CODE (x8) != VEC_SELECT
29453 : : || GET_MODE (x8) != E_DFmode)
29454 : : return NULL;
29455 : : x9 = XEXP (x8, 1);
29456 : : if (GET_CODE (x9) != PARALLEL
29457 : : || XVECLEN (x9, 0) != 1)
29458 : : return NULL;
29459 : : x10 = XVECEXP (x9, 0, 0);
29460 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
29461 : : return NULL;
29462 : : x11 = XEXP (x7, 0);
29463 : : operands[2] = x11;
29464 : : if (!memory_operand (operands[2], E_DFmode))
29465 : : return NULL;
29466 : : x12 = XEXP (x8, 0);
29467 : : operands[3] = x12;
29468 : : if (!sse_reg_operand (operands[3], E_V2DFmode)
29469 : : || !
29470 : : #line 1981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29471 : : (TARGET_SSE2 && TARGET_SSE_UNALIGNED_STORE_OPTIMAL
29472 : : && ix86_operands_ok_for_move_multiple (operands, false, DFmode)))
29473 : : return NULL;
29474 : : *pmatch_len_ = 1;
29475 : : return gen_peephole2_428 (insn, operands);
29476 : : }
29477 : :
29478 : : rtx_insn *
29479 : : peephole2_11 (rtx x1 ATTRIBUTE_UNUSED,
29480 : : rtx_insn *insn ATTRIBUTE_UNUSED,
29481 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
29482 : : {
29483 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
29484 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
29485 : : rtx x10, x11, x12, x13, x14;
29486 : : rtx_insn *res ATTRIBUTE_UNUSED;
29487 : : x2 = PATTERN (peep2_next_insn (1));
29488 : : x3 = XEXP (x2, 1);
29489 : : if (GET_CODE (x3) != IOR
29490 : : || GET_MODE (x3) != E_SImode)
29491 : : return NULL;
29492 : : x4 = XEXP (x3, 0);
29493 : : if (GET_CODE (x4) != AND
29494 : : || GET_MODE (x4) != E_SImode)
29495 : : return NULL;
29496 : : x5 = XEXP (x4, 1);
29497 : : if (GET_CODE (x5) != CONST_INT
29498 : : || XWINT (x5, 0) != -65536L)
29499 : : return NULL;
29500 : : x6 = XEXP (x3, 1);
29501 : : if (GET_CODE (x6) != LSHIFTRT
29502 : : || GET_MODE (x6) != E_SImode)
29503 : : return NULL;
29504 : : x7 = XEXP (x6, 0);
29505 : : if (GET_CODE (x7) != BSWAP
29506 : : || GET_MODE (x7) != E_SImode)
29507 : : return NULL;
29508 : : x8 = XEXP (x6, 1);
29509 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
29510 : : return NULL;
29511 : : x9 = XEXP (x4, 0);
29512 : : if (!rtx_equal_p (x9, operands[0]))
29513 : : return NULL;
29514 : : x10 = XEXP (x7, 0);
29515 : : if (!rtx_equal_p (x10, operands[0]))
29516 : : return NULL;
29517 : : x11 = XEXP (x2, 0);
29518 : : if (!rtx_equal_p (x11, operands[0]))
29519 : : return NULL;
29520 : : x12 = PATTERN (peep2_next_insn (2));
29521 : : if (GET_CODE (x12) != SET)
29522 : : return NULL;
29523 : : x13 = XEXP (x12, 0);
29524 : : operands[2] = x13;
29525 : : if (!general_reg_operand (operands[2], E_SImode))
29526 : : return NULL;
29527 : : x14 = XEXP (x12, 1);
29528 : : if (!rtx_equal_p (x14, operands[0])
29529 : : || !
29530 : : #line 22825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29531 : : (!(TARGET_USE_XCHGB ||
29532 : : TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
29533 : : && peep2_regno_dead_p (0, FLAGS_REG)
29534 : : && peep2_reg_dead_p(3, operands[0])))
29535 : : return NULL;
29536 : : *pmatch_len_ = 2;
29537 : : return gen_peephole2_206 (insn, operands);
29538 : : }
29539 : :
29540 : : rtx_insn *
29541 : : peephole2_12 (rtx x1 ATTRIBUTE_UNUSED,
29542 : : rtx_insn *insn ATTRIBUTE_UNUSED,
29543 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
29544 : : {
29545 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
29546 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
29547 : : rtx x10, x11, x12, x13, x14;
29548 : : rtx_insn *res ATTRIBUTE_UNUSED;
29549 : : x2 = XEXP (x1, 1);
29550 : : operands[1] = x2;
29551 : : if (register_operand (operands[0], E_SImode))
29552 : : {
29553 : : res = peephole2_10 (x1, insn, pmatch_len_);
29554 : : if (res != NULL_RTX)
29555 : : return res;
29556 : : }
29557 : : if (peep2_current_count < 2
29558 : : || peep2_current_count < 3
29559 : : || !general_reg_operand (operands[0], E_SImode))
29560 : : return NULL;
29561 : : x3 = PATTERN (peep2_next_insn (1));
29562 : : if (GET_CODE (x3) == PARALLEL
29563 : : && XVECLEN (x3, 0) == 2)
29564 : : {
29565 : : x4 = XVECEXP (x3, 0, 0);
29566 : : if (GET_CODE (x4) == SET)
29567 : : {
29568 : : if (memory_operand (operands[1], E_SImode))
29569 : : {
29570 : : switch (pattern1183 (x3,
29571 : : E_SImode,
29572 : : E_DImode))
29573 : : {
29574 : : case 0:
29575 : : if (
29576 : : #line 8678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29577 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29578 : : && peep2_reg_dead_p (3, operands[0])
29579 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29580 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29581 : : {
29582 : : *pmatch_len_ = 2;
29583 : : res = gen_peephole2_70 (insn, operands);
29584 : : if (res != NULL_RTX)
29585 : : return res;
29586 : : }
29587 : : break;
29588 : :
29589 : : case 1:
29590 : : if (
29591 : : #line 8705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29592 : : (TARGET_APX_NDD
29593 : : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29594 : : && peep2_reg_dead_p (3, operands[0])
29595 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29596 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29597 : : {
29598 : : *pmatch_len_ = 2;
29599 : : res = gen_peephole2_74 (insn, operands);
29600 : : if (res != NULL_RTX)
29601 : : return res;
29602 : : }
29603 : : break;
29604 : :
29605 : : case 2:
29606 : : if (
29607 : : #line 9139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29608 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29609 : : && peep2_reg_dead_p (3, operands[0])
29610 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29611 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29612 : : {
29613 : : *pmatch_len_ = 2;
29614 : : res = gen_peephole2_90 (insn, operands);
29615 : : if (res != NULL_RTX)
29616 : : return res;
29617 : : }
29618 : : break;
29619 : :
29620 : : case 3:
29621 : : x5 = PATTERN (peep2_next_insn (2));
29622 : : x6 = XEXP (x5, 0);
29623 : : if (rtx_equal_p (x6, operands[1])
29624 : : &&
29625 : : #line 9195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29626 : : (TARGET_APX_NDD
29627 : : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29628 : : && peep2_reg_dead_p (3, operands[0])
29629 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29630 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29631 : : {
29632 : : *pmatch_len_ = 2;
29633 : : res = gen_peephole2_92 (insn, operands);
29634 : : if (res != NULL_RTX)
29635 : : return res;
29636 : : }
29637 : : if (rtx_equal_p (x6, operands[2])
29638 : : &&
29639 : : #line 9250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29640 : : (TARGET_APX_NDD
29641 : : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29642 : : && peep2_reg_dead_p (3, operands[0])
29643 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29644 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29645 : : {
29646 : : *pmatch_len_ = 2;
29647 : : res = gen_peephole2_94 (insn, operands);
29648 : : if (res != NULL_RTX)
29649 : : return res;
29650 : : }
29651 : : break;
29652 : :
29653 : : case 4:
29654 : : if (
29655 : : #line 9738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29656 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29657 : : && peep2_reg_dead_p (3, operands[0])
29658 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29659 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29660 : : {
29661 : : *pmatch_len_ = 2;
29662 : : res = gen_peephole2_106 (insn, operands);
29663 : : if (res != NULL_RTX)
29664 : : return res;
29665 : : }
29666 : : break;
29667 : :
29668 : : case 5:
29669 : : if (
29670 : : #line 9783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29671 : : (TARGET_APX_NDD
29672 : : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29673 : : && peep2_reg_dead_p (3, operands[0])
29674 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29675 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29676 : : {
29677 : : *pmatch_len_ = 2;
29678 : : res = gen_peephole2_108 (insn, operands);
29679 : : if (res != NULL_RTX)
29680 : : return res;
29681 : : }
29682 : : break;
29683 : :
29684 : : case 6:
29685 : : if (
29686 : : #line 10150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29687 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29688 : : && peep2_reg_dead_p (3, operands[0])
29689 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29690 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29691 : : {
29692 : : *pmatch_len_ = 2;
29693 : : res = gen_peephole2_120 (insn, operands);
29694 : : if (res != NULL_RTX)
29695 : : return res;
29696 : : }
29697 : : break;
29698 : :
29699 : : case 7:
29700 : : if (
29701 : : #line 8823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29702 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29703 : : && peep2_reg_dead_p (3, operands[0])
29704 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29705 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29706 : : {
29707 : : *pmatch_len_ = 2;
29708 : : res = gen_peephole2_82 (insn, operands);
29709 : : if (res != NULL_RTX)
29710 : : return res;
29711 : : }
29712 : : break;
29713 : :
29714 : : case 8:
29715 : : if (
29716 : : #line 8849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29717 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29718 : : && peep2_reg_dead_p (3, operands[0])
29719 : : && peep2_reg_dead_p (4, operands[5])
29720 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29721 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
29722 : : && !reg_overlap_mentioned_p (operands[5], operands[1])))
29723 : : {
29724 : : *pmatch_len_ = 3;
29725 : : res = gen_peephole2_86 (insn, operands);
29726 : : if (res != NULL_RTX)
29727 : : return res;
29728 : : }
29729 : : break;
29730 : :
29731 : : case 9:
29732 : : if (
29733 : : #line 9419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29734 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29735 : : && peep2_reg_dead_p (3, operands[0])
29736 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29737 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
29738 : : {
29739 : : *pmatch_len_ = 2;
29740 : : res = gen_peephole2_100 (insn, operands);
29741 : : if (res != NULL_RTX)
29742 : : return res;
29743 : : }
29744 : : break;
29745 : :
29746 : : case 10:
29747 : : if (
29748 : : #line 9445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29749 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
29750 : : && peep2_reg_dead_p (3, operands[0])
29751 : : && peep2_reg_dead_p (4, operands[5])
29752 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
29753 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
29754 : : && !reg_overlap_mentioned_p (operands[5], operands[1])))
29755 : : {
29756 : : *pmatch_len_ = 3;
29757 : : res = gen_peephole2_104 (insn, operands);
29758 : : if (res != NULL_RTX)
29759 : : return res;
29760 : : }
29761 : : break;
29762 : :
29763 : : default:
29764 : : break;
29765 : : }
29766 : : }
29767 : : if (peep2_current_count >= 4
29768 : : && pattern1185 (x3,
29769 : : E_SImode) == 0
29770 : : &&
29771 : : #line 14423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29772 : : (REGNO (operands[0]) != REGNO (operands[2])
29773 : : && !reg_mentioned_p (operands[0], operands[1])
29774 : : && !reg_mentioned_p (operands[2], operands[1])))
29775 : : {
29776 : : *pmatch_len_ = 3;
29777 : : res = gen_peephole2_161 (insn, operands);
29778 : : if (res != NULL_RTX)
29779 : : return res;
29780 : : }
29781 : : if (general_reg_operand (operands[1], E_SImode))
29782 : : {
29783 : : x7 = XEXP (x4, 1);
29784 : : if (GET_CODE (x7) == NEG
29785 : : && GET_MODE (x7) == E_SImode
29786 : : && pattern1331 (x3) == 0)
29787 : : {
29788 : : x5 = PATTERN (peep2_next_insn (2));
29789 : : if (GET_CODE (x5) == SET
29790 : : && pattern1332 (x5) == 0)
29791 : : {
29792 : : *pmatch_len_ = 2;
29793 : : res = gen_peephole2_167 (insn, operands);
29794 : : if (res != NULL_RTX)
29795 : : return res;
29796 : : }
29797 : : }
29798 : : }
29799 : : }
29800 : : }
29801 : : if (GET_CODE (x3) != SET)
29802 : : return NULL;
29803 : : if (register_operand (operands[1], E_SImode))
29804 : : {
29805 : : res = peephole2_11 (x1, insn, pmatch_len_);
29806 : : if (res != NULL_RTX)
29807 : : return res;
29808 : : }
29809 : : if (!immediate_operand (operands[1], E_SImode))
29810 : : return NULL;
29811 : : switch (pattern941 (x3,
29812 : : E_DImode,
29813 : : E_SImode))
29814 : : {
29815 : : case 0:
29816 : : if (!(
29817 : : #line 11248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29818 : : (REGNO (operands[3]) != AX_REG
29819 : : && REGNO (operands[0]) != REGNO (operands[2])
29820 : : && REGNO (operands[0]) != REGNO (operands[3])
29821 : : && (REGNO (operands[0]) == REGNO (operands[4])
29822 : : || REGNO (operands[0]) == DX_REG
29823 : : || peep2_reg_dead_p (3, operands[0]))) &&
29824 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29825 : : (!TARGET_64BIT)))
29826 : : return NULL;
29827 : : *pmatch_len_ = 2;
29828 : : return gen_peephole2_124 (insn, operands);
29829 : :
29830 : : case 1:
29831 : : if (!(
29832 : : #line 11270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29833 : : (REGNO (operands[3]) != DX_REG
29834 : : && REGNO (operands[0]) != REGNO (operands[2])
29835 : : && REGNO (operands[0]) != REGNO (operands[3])
29836 : : && (REGNO (operands[0]) == REGNO (operands[4])
29837 : : || REGNO (operands[0]) == REGNO (operands[5])
29838 : : || peep2_reg_dead_p (3, operands[0]))
29839 : : && (REGNO (operands[2]) == REGNO (operands[4])
29840 : : || REGNO (operands[2]) == REGNO (operands[5])
29841 : : || peep2_reg_dead_p (3, operands[2]))) &&
29842 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29843 : : (!TARGET_64BIT)))
29844 : : return NULL;
29845 : : *pmatch_len_ = 2;
29846 : : return gen_peephole2_126 (insn, operands);
29847 : :
29848 : : case 2:
29849 : : x5 = PATTERN (peep2_next_insn (2));
29850 : : x8 = XVECEXP (x5, 0, 1);
29851 : : x9 = XEXP (x8, 0);
29852 : : if (!rtx_equal_p (x9, operands[2]))
29853 : : return NULL;
29854 : : x10 = XVECEXP (x5, 0, 0);
29855 : : x11 = XEXP (x10, 1);
29856 : : switch (GET_CODE (x11))
29857 : : {
29858 : : case SMUL_HIGHPART:
29859 : : if (pattern1776 (x11) != 0
29860 : : || !
29861 : : #line 11409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29862 : : (REGNO (operands[3]) != AX_REG
29863 : : && REGNO (operands[0]) != REGNO (operands[2])
29864 : : && REGNO (operands[0]) != REGNO (operands[3])
29865 : : && (REGNO (operands[0]) == REGNO (operands[4])
29866 : : || peep2_reg_dead_p (3, operands[0]))))
29867 : : return NULL;
29868 : : *pmatch_len_ = 2;
29869 : : return gen_peephole2_128 (insn, operands);
29870 : :
29871 : : case UMUL_HIGHPART:
29872 : : if (pattern1776 (x11) != 0
29873 : : || !
29874 : : #line 11409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29875 : : (REGNO (operands[3]) != AX_REG
29876 : : && REGNO (operands[0]) != REGNO (operands[2])
29877 : : && REGNO (operands[0]) != REGNO (operands[3])
29878 : : && (REGNO (operands[0]) == REGNO (operands[4])
29879 : : || peep2_reg_dead_p (3, operands[0]))))
29880 : : return NULL;
29881 : : *pmatch_len_ = 2;
29882 : : return gen_peephole2_129 (insn, operands);
29883 : :
29884 : : case ZERO_EXTEND:
29885 : : if (GET_MODE (x11) != E_DImode
29886 : : || !general_reg_operand (operands[4], E_DImode))
29887 : : return NULL;
29888 : : x12 = XEXP (x11, 0);
29889 : : if (GET_MODE (x12) != E_SImode)
29890 : : return NULL;
29891 : : switch (GET_CODE (x12))
29892 : : {
29893 : : case SMUL_HIGHPART:
29894 : : x13 = XEXP (x12, 0);
29895 : : if (!rtx_equal_p (x13, operands[2]))
29896 : : return NULL;
29897 : : x14 = XEXP (x12, 1);
29898 : : if (!rtx_equal_p (x14, operands[0])
29899 : : || !
29900 : : #line 11430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29901 : : (TARGET_64BIT
29902 : : && REGNO (operands[3]) != AX_REG
29903 : : && REGNO (operands[0]) != REGNO (operands[2])
29904 : : && REGNO (operands[2]) != REGNO (operands[3])
29905 : : && REGNO (operands[0]) != REGNO (operands[3])
29906 : : && (REGNO (operands[0]) == REGNO (operands[4])
29907 : : || peep2_reg_dead_p (3, operands[0]))))
29908 : : return NULL;
29909 : : *pmatch_len_ = 2;
29910 : : return gen_peephole2_132 (insn, operands);
29911 : :
29912 : : case UMUL_HIGHPART:
29913 : : x13 = XEXP (x12, 0);
29914 : : if (!rtx_equal_p (x13, operands[2]))
29915 : : return NULL;
29916 : : x14 = XEXP (x12, 1);
29917 : : if (!rtx_equal_p (x14, operands[0])
29918 : : || !
29919 : : #line 11430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29920 : : (TARGET_64BIT
29921 : : && REGNO (operands[3]) != AX_REG
29922 : : && REGNO (operands[0]) != REGNO (operands[2])
29923 : : && REGNO (operands[2]) != REGNO (operands[3])
29924 : : && REGNO (operands[0]) != REGNO (operands[3])
29925 : : && (REGNO (operands[0]) == REGNO (operands[4])
29926 : : || peep2_reg_dead_p (3, operands[0]))))
29927 : : return NULL;
29928 : : *pmatch_len_ = 2;
29929 : : return gen_peephole2_133 (insn, operands);
29930 : :
29931 : : default:
29932 : : return NULL;
29933 : : }
29934 : :
29935 : : default:
29936 : : return NULL;
29937 : : }
29938 : :
29939 : : default:
29940 : : return NULL;
29941 : : }
29942 : : }
29943 : :
29944 : : rtx_insn *
29945 : : peephole2_21 (rtx x1 ATTRIBUTE_UNUSED,
29946 : : rtx_insn *insn ATTRIBUTE_UNUSED,
29947 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
29948 : : {
29949 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
29950 : : rtx x2, x3, x4, x5, x6;
29951 : : rtx_insn *res ATTRIBUTE_UNUSED;
29952 : : x2 = PATTERN (peep2_next_insn (1));
29953 : : if (GET_CODE (x2) != SET)
29954 : : return NULL;
29955 : : x3 = XEXP (x2, 1);
29956 : : if (!binary_fp_operator (x3, E_VOIDmode))
29957 : : return NULL;
29958 : : operands[2] = x3;
29959 : : x4 = XEXP (x2, 0);
29960 : : if (!rtx_equal_p (x4, operands[0]))
29961 : : return NULL;
29962 : : x5 = XEXP (x3, 0);
29963 : : switch (GET_CODE (x5))
29964 : : {
29965 : : case REG:
29966 : : if (!rtx_equal_p (x5, operands[0]))
29967 : : return NULL;
29968 : : x6 = XEXP (x3, 1);
29969 : : operands[3] = x6;
29970 : : if (!memory_operand (operands[3], E_VOIDmode)
29971 : : || !
29972 : : #line 27065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29973 : : (REGNO (operands[0]) != REGNO (operands[1])))
29974 : : return NULL;
29975 : : *pmatch_len_ = 1;
29976 : : return gen_peephole2_225 (insn, operands);
29977 : :
29978 : : case SUBREG:
29979 : : case MEM:
29980 : : operands[3] = x5;
29981 : : if (!memory_operand (operands[3], E_VOIDmode))
29982 : : return NULL;
29983 : : x6 = XEXP (x3, 1);
29984 : : if (!rtx_equal_p (x6, operands[0])
29985 : : || !
29986 : : #line 27087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
29987 : : (REGNO (operands[0]) != REGNO (operands[1])))
29988 : : return NULL;
29989 : : *pmatch_len_ = 1;
29990 : : return gen_peephole2_226 (insn, operands);
29991 : :
29992 : : default:
29993 : : return NULL;
29994 : : }
29995 : : }
29996 : :
29997 : : rtx_insn *
29998 : : peephole2_24 (rtx x1 ATTRIBUTE_UNUSED,
29999 : : rtx_insn *insn ATTRIBUTE_UNUSED,
30000 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
30001 : : {
30002 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30003 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
30004 : : rtx x10;
30005 : : rtx_insn *res ATTRIBUTE_UNUSED;
30006 : : x2 = XEXP (x1, 1);
30007 : : operands[1] = x2;
30008 : : if (memory_operand (operands[1], E_SImode)
30009 : : && register_operand (operands[0], E_SImode))
30010 : : {
30011 : : res = peephole2_23 (x1, insn, pmatch_len_);
30012 : : if (res != NULL_RTX)
30013 : : return res;
30014 : : }
30015 : : if (peep2_current_count < 3
30016 : : || peep2_current_count < 4
30017 : : || !general_reg_operand (operands[1], E_SImode)
30018 : : || !general_reg_operand (operands[0], E_SImode))
30019 : : return NULL;
30020 : : x3 = PATTERN (peep2_next_insn (1));
30021 : : if (GET_CODE (x3) != PARALLEL
30022 : : || XVECLEN (x3, 0) != 2)
30023 : : return NULL;
30024 : : x4 = XVECEXP (x3, 0, 0);
30025 : : if (GET_CODE (x4) != SET)
30026 : : return NULL;
30027 : : x5 = XEXP (x4, 0);
30028 : : if (GET_CODE (x5) != REG
30029 : : || REGNO (x5) != 17)
30030 : : return NULL;
30031 : : x6 = XVECEXP (x3, 0, 1);
30032 : : if (GET_CODE (x6) != SET)
30033 : : return NULL;
30034 : : x7 = XEXP (x4, 1);
30035 : : operands[5] = x7;
30036 : : x8 = XEXP (x6, 1);
30037 : : operands[6] = x8;
30038 : : x9 = XEXP (x6, 0);
30039 : : if (!rtx_equal_p (x9, operands[0]))
30040 : : return NULL;
30041 : : x10 = PATTERN (peep2_next_insn (2));
30042 : : if (GET_CODE (x10) != SET
30043 : : || pattern1334 (x10,
30044 : : E_SImode) != 0
30045 : : || !
30046 : : #line 26723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30047 : : (TARGET_CMOVE
30048 : : && REGNO (operands[2]) != REGNO (operands[0])
30049 : : && REGNO (operands[2]) != REGNO (operands[1])
30050 : : && peep2_reg_dead_p (1, operands[1])
30051 : : && peep2_reg_dead_p (4, operands[2])
30052 : : && !reg_overlap_mentioned_p (operands[0], operands[3])))
30053 : : return NULL;
30054 : : *pmatch_len_ = 3;
30055 : : return gen_peephole2_218 (insn, operands);
30056 : : }
30057 : :
30058 : : rtx_insn *
30059 : : peephole2_27 (rtx x1 ATTRIBUTE_UNUSED,
30060 : : rtx_insn *insn ATTRIBUTE_UNUSED,
30061 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
30062 : : {
30063 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30064 : : rtx x2, x3, x4, x5;
30065 : : rtx_insn *res ATTRIBUTE_UNUSED;
30066 : : if (peep2_current_count >= 2)
30067 : : {
30068 : : res = peephole2_24 (x1, insn, pmatch_len_);
30069 : : if (res != NULL_RTX)
30070 : : return res;
30071 : : }
30072 : : x2 = XEXP (x1, 1);
30073 : : operands[1] = x2;
30074 : : if (memory_operand (operands[1], E_SImode)
30075 : : && push_operand (operands[0], E_SImode)
30076 : : &&
30077 : : #line 28052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30078 : : (!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
30079 : : && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
30080 : : {
30081 : : *pmatch_len_ = 0;
30082 : : res = gen_peephole2_269 (insn, operands);
30083 : : if (res != NULL_RTX)
30084 : : return res;
30085 : : }
30086 : : if (peep2_current_count < 2)
30087 : : return NULL;
30088 : : if (general_reg_operand (operands[1], E_SImode))
30089 : : {
30090 : : x3 = PATTERN (peep2_next_insn (1));
30091 : : if (pattern404 (x3,
30092 : : E_SImode) == 0
30093 : : &&
30094 : : #line 28250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30095 : : (REGNO (operands[0]) != REGNO (operands[1])
30096 : : && (SImode != QImode
30097 : : || any_QIreg_operand (operands[1], QImode))))
30098 : : {
30099 : : *pmatch_len_ = 1;
30100 : : res = gen_peephole2_297 (insn, operands);
30101 : : if (res != NULL_RTX)
30102 : : return res;
30103 : : }
30104 : : }
30105 : : if (peep2_current_count >= 3)
30106 : : {
30107 : : res = peephole2_26 (x1, insn, pmatch_len_);
30108 : : if (res != NULL_RTX)
30109 : : return res;
30110 : : }
30111 : : if (mmx_reg_operand (operands[1], E_VOIDmode)
30112 : : && mmx_reg_operand (operands[0], E_VOIDmode))
30113 : : {
30114 : : x3 = PATTERN (peep2_next_insn (1));
30115 : : if (pattern586 (x3) == 0
30116 : : &&
30117 : : #line 28269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30118 : : (REGNO (operands[0]) != REGNO (operands[1])))
30119 : : {
30120 : : *pmatch_len_ = 1;
30121 : : res = gen_peephole2_299 (insn, operands);
30122 : : if (res != NULL_RTX)
30123 : : return res;
30124 : : }
30125 : : }
30126 : : if (sse_reg_operand (operands[1], E_VOIDmode)
30127 : : && sse_reg_operand (operands[0], E_VOIDmode))
30128 : : {
30129 : : x3 = PATTERN (peep2_next_insn (1));
30130 : : if (pattern586 (x3) == 0
30131 : : &&
30132 : : #line 28281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30133 : : (REGNO (operands[0]) != REGNO (operands[1])
30134 : : /* Punt if operands[1] is %[xy]mm16+ and AVX512BW is not enabled,
30135 : : as EVEX encoded vpadd[bw], vpmullw, vpmin[su][bw] and vpmax[su][bw]
30136 : : instructions require AVX512BW and AVX512VL, but with the original
30137 : : instructions it might require just AVX512VL.
30138 : : AVX512VL is implied from TARGET_HARD_REGNO_MODE_OK. */
30139 : : && (!EXT_REX_SSE_REGNO_P (REGNO (operands[1]))
30140 : : || TARGET_AVX512BW
30141 : : || GET_MODE_SIZE (GET_MODE_INNER (GET_MODE (operands[0]))) > 2
30142 : : || logic_operator (operands[3], VOIDmode))))
30143 : : {
30144 : : *pmatch_len_ = 1;
30145 : : res = gen_peephole2_300 (insn, operands);
30146 : : if (res != NULL_RTX)
30147 : : return res;
30148 : : }
30149 : : }
30150 : : if (peep2_current_count >= 3
30151 : : && peep2_current_count >= 4)
30152 : : {
30153 : : if (memory_operand (operands[1], E_QImode))
30154 : : {
30155 : : x3 = PATTERN (peep2_next_insn (1));
30156 : : if (pattern711 (x3,
30157 : : E_QImode) == 0
30158 : : &&
30159 : : #line 28441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30160 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30161 : : && REGNO (operands[4]) == REGNO (operands[0])
30162 : : && REGNO (operands[5]) == REGNO (operands[3])
30163 : : && peep2_reg_dead_p (4, operands[3])
30164 : : && ((REGNO (operands[0]) == REGNO (operands[3]))
30165 : : || peep2_reg_dead_p (2, operands[0]))
30166 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30167 : : && !reg_overlap_mentioned_p (operands[3], operands[1])
30168 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
30169 : : && (QImode != QImode
30170 : : || immediate_operand (operands[2], QImode)
30171 : : || any_QIreg_operand (operands[2], QImode))
30172 : : && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
30173 : : {
30174 : : *pmatch_len_ = 3;
30175 : : res = gen_peephole2_321 (insn, operands);
30176 : : if (res != NULL_RTX)
30177 : : return res;
30178 : : }
30179 : : }
30180 : : if (memory_operand (operands[1], E_HImode))
30181 : : {
30182 : : x3 = PATTERN (peep2_next_insn (1));
30183 : : if (pattern711 (x3,
30184 : : E_HImode) == 0
30185 : : &&
30186 : : #line 28441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30187 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30188 : : && REGNO (operands[4]) == REGNO (operands[0])
30189 : : && REGNO (operands[5]) == REGNO (operands[3])
30190 : : && peep2_reg_dead_p (4, operands[3])
30191 : : && ((REGNO (operands[0]) == REGNO (operands[3]))
30192 : : || peep2_reg_dead_p (2, operands[0]))
30193 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30194 : : && !reg_overlap_mentioned_p (operands[3], operands[1])
30195 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
30196 : : && (HImode != QImode
30197 : : || immediate_operand (operands[2], QImode)
30198 : : || any_QIreg_operand (operands[2], QImode))
30199 : : && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
30200 : : {
30201 : : *pmatch_len_ = 3;
30202 : : res = gen_peephole2_322 (insn, operands);
30203 : : if (res != NULL_RTX)
30204 : : return res;
30205 : : }
30206 : : }
30207 : : if (memory_operand (operands[1], E_SImode))
30208 : : {
30209 : : x3 = PATTERN (peep2_next_insn (1));
30210 : : if (pattern712 (x3,
30211 : : E_SImode) == 0
30212 : : &&
30213 : : #line 28441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30214 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30215 : : && REGNO (operands[4]) == REGNO (operands[0])
30216 : : && REGNO (operands[5]) == REGNO (operands[3])
30217 : : && peep2_reg_dead_p (4, operands[3])
30218 : : && ((REGNO (operands[0]) == REGNO (operands[3]))
30219 : : || peep2_reg_dead_p (2, operands[0]))
30220 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30221 : : && !reg_overlap_mentioned_p (operands[3], operands[1])
30222 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
30223 : : && (SImode != QImode
30224 : : || immediate_operand (operands[2], QImode)
30225 : : || any_QIreg_operand (operands[2], QImode))
30226 : : && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
30227 : : {
30228 : : *pmatch_len_ = 3;
30229 : : res = gen_peephole2_323 (insn, operands);
30230 : : if (res != NULL_RTX)
30231 : : return res;
30232 : : }
30233 : : }
30234 : : if (memory_operand (operands[1], E_DImode))
30235 : : {
30236 : : x3 = PATTERN (peep2_next_insn (1));
30237 : : if (pattern712 (x3,
30238 : : E_DImode) == 0
30239 : : && (
30240 : : #line 28441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30241 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30242 : : && REGNO (operands[4]) == REGNO (operands[0])
30243 : : && REGNO (operands[5]) == REGNO (operands[3])
30244 : : && peep2_reg_dead_p (4, operands[3])
30245 : : && ((REGNO (operands[0]) == REGNO (operands[3]))
30246 : : || peep2_reg_dead_p (2, operands[0]))
30247 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30248 : : && !reg_overlap_mentioned_p (operands[3], operands[1])
30249 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
30250 : : && (DImode != QImode
30251 : : || immediate_operand (operands[2], QImode)
30252 : : || any_QIreg_operand (operands[2], QImode))
30253 : : && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)) &&
30254 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30255 : : (TARGET_64BIT)))
30256 : : {
30257 : : *pmatch_len_ = 3;
30258 : : res = gen_peephole2_324 (insn, operands);
30259 : : if (res != NULL_RTX)
30260 : : return res;
30261 : : }
30262 : : }
30263 : : }
30264 : : if (!memory_operand (operands[1], E_VOIDmode)
30265 : : || !register_operand (operands[0], E_VOIDmode))
30266 : : return NULL;
30267 : : x3 = PATTERN (peep2_next_insn (1));
30268 : : if (GET_CODE (x3) != SET)
30269 : : return NULL;
30270 : : x4 = XEXP (x3, 0);
30271 : : operands[2] = x4;
30272 : : if (!memory_operand (operands[2], E_VOIDmode))
30273 : : return NULL;
30274 : : x5 = XEXP (x3, 1);
30275 : : if (!rtx_equal_p (x5, operands[0])
30276 : : || !
30277 : : #line 28874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30278 : : (!MEM_VOLATILE_P (operands[1])
30279 : : && !MEM_VOLATILE_P (operands[2])
30280 : : && rtx_equal_p (operands[1], operands[2])
30281 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
30282 : : return NULL;
30283 : : *pmatch_len_ = 1;
30284 : : return gen_peephole2_357 (insn, operands);
30285 : : }
30286 : :
30287 : : rtx_insn *
30288 : : peephole2_41 (rtx x1 ATTRIBUTE_UNUSED,
30289 : : rtx_insn *insn ATTRIBUTE_UNUSED,
30290 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
30291 : : {
30292 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30293 : : rtx x2, x3, x4, x5, x6, x7, x8;
30294 : : rtx_insn *res ATTRIBUTE_UNUSED;
30295 : : x2 = XVECEXP (x1, 0, 1);
30296 : : if (pattern222 (x2,
30297 : : E_CCmode,
30298 : : 17) != 0)
30299 : : return NULL;
30300 : : x3 = XVECEXP (x1, 0, 0);
30301 : : x4 = XEXP (x3, 1);
30302 : : switch (XWINT (x4, 0))
30303 : : {
30304 : : case 0L:
30305 : : res = peephole2_40 (x1, insn, pmatch_len_);
30306 : : if (res != NULL_RTX)
30307 : : return res;
30308 : : break;
30309 : :
30310 : : case 1L:
30311 : : x5 = XEXP (x3, 0);
30312 : : if (GET_CODE (x5) == ZERO_EXTRACT
30313 : : && pattern1055 (x5) == 0
30314 : : &&
30315 : : #line 19210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30316 : : (TARGET_64BIT && !TARGET_USE_BT))
30317 : : {
30318 : : *pmatch_len_ = 0;
30319 : : res = gen_peephole2_179 (insn, operands);
30320 : : if (res != NULL_RTX)
30321 : : return res;
30322 : : }
30323 : : break;
30324 : :
30325 : : default:
30326 : : break;
30327 : : }
30328 : : if (peep2_current_count < 2
30329 : : || peep2_current_count < 3)
30330 : : return NULL;
30331 : : x5 = XEXP (x3, 0);
30332 : : operands[0] = x5;
30333 : : x6 = PATTERN (peep2_next_insn (1));
30334 : : if (pattern405 (x6,
30335 : : UNSPEC_VOLATILE,
30336 : : 3) != 0)
30337 : : return NULL;
30338 : : x7 = XVECEXP (x6, 0, 1);
30339 : : if (GET_CODE (x7) != SET)
30340 : : return NULL;
30341 : : x8 = PATTERN (peep2_next_insn (2));
30342 : : if (pattern1523 (x8) != 0)
30343 : : return NULL;
30344 : : switch (GET_MODE (operands[0]))
30345 : : {
30346 : : case E_SImode:
30347 : : if (!register_operand (operands[0], E_SImode))
30348 : : return NULL;
30349 : : operands[1] = x4;
30350 : : switch (pattern1799 (x6,
30351 : : E_SImode))
30352 : : {
30353 : : case 0:
30354 : : if (
30355 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30356 : : (REGNO (operands[0]) == REGNO (operands[2])))
30357 : : {
30358 : : *pmatch_len_ = 2;
30359 : : res = gen_peephole2_433 (insn, operands);
30360 : : if (res != NULL_RTX)
30361 : : return res;
30362 : : }
30363 : : break;
30364 : :
30365 : : case 1:
30366 : : if (
30367 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30368 : : (REGNO (operands[0]) == REGNO (operands[2])))
30369 : : {
30370 : : *pmatch_len_ = 2;
30371 : : res = gen_peephole2_435 (insn, operands);
30372 : : if (res != NULL_RTX)
30373 : : return res;
30374 : : }
30375 : : break;
30376 : :
30377 : : case 2:
30378 : : if (
30379 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30380 : : (REGNO (operands[0]) == REGNO (operands[2])))
30381 : : {
30382 : : *pmatch_len_ = 2;
30383 : : res = gen_peephole2_437 (insn, operands);
30384 : : if (res != NULL_RTX)
30385 : : return res;
30386 : : }
30387 : : break;
30388 : :
30389 : : case 3:
30390 : : if ((
30391 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30392 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
30393 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30394 : : (TARGET_64BIT)))
30395 : : {
30396 : : *pmatch_len_ = 2;
30397 : : res = gen_peephole2_439 (insn, operands);
30398 : : if (res != NULL_RTX)
30399 : : return res;
30400 : : }
30401 : : break;
30402 : :
30403 : : default:
30404 : : break;
30405 : : }
30406 : : operands[2] = x4;
30407 : : if (pattern1756 (x6,
30408 : : E_SImode) != 0
30409 : : || !
30410 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30411 : : (peep2_reg_dead_p (3, operands[0])
30412 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
30413 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
30414 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
30415 : : return NULL;
30416 : : *pmatch_len_ = 2;
30417 : : return gen_peephole2_447 (insn, operands);
30418 : :
30419 : : case E_DImode:
30420 : : if (!register_operand (operands[0], E_DImode))
30421 : : return NULL;
30422 : : operands[1] = x4;
30423 : : switch (pattern1799 (x6,
30424 : : E_DImode))
30425 : : {
30426 : : case 0:
30427 : : if ((
30428 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30429 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
30430 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30431 : : (TARGET_64BIT)))
30432 : : {
30433 : : *pmatch_len_ = 2;
30434 : : res = gen_peephole2_434 (insn, operands);
30435 : : if (res != NULL_RTX)
30436 : : return res;
30437 : : }
30438 : : break;
30439 : :
30440 : : case 1:
30441 : : if ((
30442 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30443 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
30444 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30445 : : (TARGET_64BIT)))
30446 : : {
30447 : : *pmatch_len_ = 2;
30448 : : res = gen_peephole2_436 (insn, operands);
30449 : : if (res != NULL_RTX)
30450 : : return res;
30451 : : }
30452 : : break;
30453 : :
30454 : : case 2:
30455 : : if ((
30456 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30457 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
30458 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30459 : : (TARGET_64BIT)))
30460 : : {
30461 : : *pmatch_len_ = 2;
30462 : : res = gen_peephole2_438 (insn, operands);
30463 : : if (res != NULL_RTX)
30464 : : return res;
30465 : : }
30466 : : break;
30467 : :
30468 : : case 3:
30469 : : if ((
30470 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30471 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
30472 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30473 : : (TARGET_64BIT)))
30474 : : {
30475 : : *pmatch_len_ = 2;
30476 : : res = gen_peephole2_440 (insn, operands);
30477 : : if (res != NULL_RTX)
30478 : : return res;
30479 : : }
30480 : : break;
30481 : :
30482 : : default:
30483 : : break;
30484 : : }
30485 : : operands[2] = x4;
30486 : : if (pattern1756 (x6,
30487 : : E_DImode) != 0
30488 : : || !(
30489 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30490 : : (peep2_reg_dead_p (3, operands[0])
30491 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
30492 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
30493 : : && !reg_overlap_mentioned_p (operands[0], operands[1])) &&
30494 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30495 : : (TARGET_64BIT)))
30496 : : return NULL;
30497 : : *pmatch_len_ = 2;
30498 : : return gen_peephole2_448 (insn, operands);
30499 : :
30500 : : case E_QImode:
30501 : : if (pattern1757 (x4,
30502 : : E_QImode) != 0
30503 : : || !
30504 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30505 : : (peep2_reg_dead_p (3, operands[0])
30506 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
30507 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
30508 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
30509 : : return NULL;
30510 : : *pmatch_len_ = 2;
30511 : : return gen_peephole2_445 (insn, operands);
30512 : :
30513 : : case E_HImode:
30514 : : if (pattern1757 (x4,
30515 : : E_HImode) != 0
30516 : : || !
30517 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
30518 : : (peep2_reg_dead_p (3, operands[0])
30519 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
30520 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
30521 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
30522 : : return NULL;
30523 : : *pmatch_len_ = 2;
30524 : : return gen_peephole2_446 (insn, operands);
30525 : :
30526 : : default:
30527 : : return NULL;
30528 : : }
30529 : : }
30530 : :
30531 : : rtx_insn *
30532 : : peephole2_49 (rtx x1 ATTRIBUTE_UNUSED,
30533 : : rtx_insn *insn ATTRIBUTE_UNUSED,
30534 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
30535 : : {
30536 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30537 : : rtx x2, x3, x4, x5, x6, x7, x8;
30538 : : rtx_insn *res ATTRIBUTE_UNUSED;
30539 : : x2 = XVECEXP (x1, 0, 1);
30540 : : x3 = XEXP (x2, 0);
30541 : : if (GET_CODE (x3) != MEM
30542 : : || GET_MODE (x3) != E_BLKmode)
30543 : : return NULL;
30544 : : x4 = XEXP (x3, 0);
30545 : : if (GET_CODE (x4) != SCRATCH)
30546 : : return NULL;
30547 : : x5 = XVECEXP (x1, 0, 0);
30548 : : x6 = XEXP (x5, 1);
30549 : : x7 = XEXP (x6, 1);
30550 : : operands[1] = x7;
30551 : : x8 = XEXP (x6, 0);
30552 : : if (!rtx_equal_p (x8, operands[0]))
30553 : : return NULL;
30554 : : switch (GET_MODE (operands[0]))
30555 : : {
30556 : : case E_SImode:
30557 : : if (!register_operand (operands[0], E_SImode)
30558 : : || GET_MODE (x6) != E_SImode
30559 : : || !x86_64_nonmemory_operand (operands[1], E_SImode)
30560 : : || !(
30561 : : #line 27445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30562 : : (peep2_regno_dead_p (0, FLAGS_REG)) &&
30563 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30564 : : (Pmode == SImode)))
30565 : : return NULL;
30566 : : *pmatch_len_ = 0;
30567 : : return gen_peephole2_247 (insn, operands);
30568 : :
30569 : : case E_DImode:
30570 : : if (!register_operand (operands[0], E_DImode)
30571 : : || GET_MODE (x6) != E_DImode
30572 : : || !x86_64_nonmemory_operand (operands[1], E_DImode)
30573 : : || !(
30574 : : #line 27445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30575 : : (peep2_regno_dead_p (0, FLAGS_REG)) &&
30576 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30577 : : (Pmode == DImode)))
30578 : : return NULL;
30579 : : *pmatch_len_ = 0;
30580 : : return gen_peephole2_248 (insn, operands);
30581 : :
30582 : : default:
30583 : : return NULL;
30584 : : }
30585 : : }
30586 : :
30587 : : rtx_insn *
30588 : : peephole2_51 (rtx x1 ATTRIBUTE_UNUSED,
30589 : : rtx_insn *insn ATTRIBUTE_UNUSED,
30590 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
30591 : : {
30592 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30593 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
30594 : : rtx x10, x11, x12, x13, x14;
30595 : : rtx_insn *res ATTRIBUTE_UNUSED;
30596 : : if (peep2_current_count < 3)
30597 : : return NULL;
30598 : : x2 = XVECEXP (x1, 0, 0);
30599 : : x3 = XEXP (x2, 1);
30600 : : operands[2] = x3;
30601 : : x4 = XEXP (x2, 0);
30602 : : operands[0] = x4;
30603 : : x5 = XEXP (x3, 1);
30604 : : operands[1] = x5;
30605 : : x6 = XEXP (x3, 0);
30606 : : if (!rtx_equal_p (x6, operands[0]))
30607 : : return NULL;
30608 : : x7 = PATTERN (peep2_next_insn (1));
30609 : : if (GET_CODE (x7) != SET)
30610 : : return NULL;
30611 : : x8 = XEXP (x7, 1);
30612 : : if (!rtx_equal_p (x8, operands[0]))
30613 : : return NULL;
30614 : : x9 = XEXP (x7, 0);
30615 : : if (!rtx_equal_p (x9, operands[1]))
30616 : : return NULL;
30617 : : x10 = PATTERN (peep2_next_insn (2));
30618 : : if (GET_CODE (x10) != SET)
30619 : : return NULL;
30620 : : x11 = XEXP (x10, 1);
30621 : : if (GET_CODE (x11) != COMPARE)
30622 : : return NULL;
30623 : : x12 = XEXP (x11, 1);
30624 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
30625 : : return NULL;
30626 : : x13 = XEXP (x10, 0);
30627 : : if (GET_CODE (x13) != REG
30628 : : || REGNO (x13) != 17)
30629 : : return NULL;
30630 : : x14 = XEXP (x11, 0);
30631 : : if (!rtx_equal_p (x14, operands[0]))
30632 : : return NULL;
30633 : : switch (GET_MODE (operands[0]))
30634 : : {
30635 : : case E_QImode:
30636 : : if (!register_operand (operands[0], E_QImode)
30637 : : || !plusminuslogic_operator (operands[2], E_QImode)
30638 : : || !memory_operand (operands[1], E_QImode)
30639 : : || !
30640 : : #line 28476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30641 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30642 : : && COMMUTATIVE_ARITH_P (operands[2])
30643 : : && peep2_reg_dead_p (3, operands[0])
30644 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30645 : : && ix86_match_ccmode (peep2_next_insn (2),
30646 : : GET_CODE (operands[2]) == PLUS
30647 : : ? CCGOCmode : CCNOmode)))
30648 : : return NULL;
30649 : : *pmatch_len_ = 2;
30650 : : return gen_peephole2_325 (insn, operands);
30651 : :
30652 : : case E_HImode:
30653 : : if (!register_operand (operands[0], E_HImode)
30654 : : || !plusminuslogic_operator (operands[2], E_HImode)
30655 : : || !memory_operand (operands[1], E_HImode)
30656 : : || !
30657 : : #line 28476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30658 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30659 : : && COMMUTATIVE_ARITH_P (operands[2])
30660 : : && peep2_reg_dead_p (3, operands[0])
30661 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30662 : : && ix86_match_ccmode (peep2_next_insn (2),
30663 : : GET_CODE (operands[2]) == PLUS
30664 : : ? CCGOCmode : CCNOmode)))
30665 : : return NULL;
30666 : : *pmatch_len_ = 2;
30667 : : return gen_peephole2_326 (insn, operands);
30668 : :
30669 : : case E_SImode:
30670 : : if (!register_operand (operands[0], E_SImode)
30671 : : || !plusminuslogic_operator (operands[2], E_SImode)
30672 : : || !memory_operand (operands[1], E_SImode)
30673 : : || !
30674 : : #line 28476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30675 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30676 : : && COMMUTATIVE_ARITH_P (operands[2])
30677 : : && peep2_reg_dead_p (3, operands[0])
30678 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30679 : : && ix86_match_ccmode (peep2_next_insn (2),
30680 : : GET_CODE (operands[2]) == PLUS
30681 : : ? CCGOCmode : CCNOmode)))
30682 : : return NULL;
30683 : : *pmatch_len_ = 2;
30684 : : return gen_peephole2_327 (insn, operands);
30685 : :
30686 : : case E_DImode:
30687 : : if (!register_operand (operands[0], E_DImode)
30688 : : || !plusminuslogic_operator (operands[2], E_DImode)
30689 : : || !memory_operand (operands[1], E_DImode)
30690 : : || !(
30691 : : #line 28476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30692 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
30693 : : && COMMUTATIVE_ARITH_P (operands[2])
30694 : : && peep2_reg_dead_p (3, operands[0])
30695 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
30696 : : && ix86_match_ccmode (peep2_next_insn (2),
30697 : : GET_CODE (operands[2]) == PLUS
30698 : : ? CCGOCmode : CCNOmode)) &&
30699 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30700 : : (TARGET_64BIT)))
30701 : : return NULL;
30702 : : *pmatch_len_ = 2;
30703 : : return gen_peephole2_328 (insn, operands);
30704 : :
30705 : : default:
30706 : : return NULL;
30707 : : }
30708 : : }
|